1 /*-------------------------------------------------------------------------
2 This is an automatically generated file: do not edit
3 Generated by ubconfc at Fri Jun  4 04:17:56 PM IST 2021
4 @generated
5 -------------------------------------------------------------------------*/
6 
7 #include "WCsubst.h"
8 
9 /* Unicode general categories, listed in the same order as in the Unicode
10  * standard -- this must be the same order as in GHC.Unicode.
11  */
12 
13 enum {
14     NUMCAT_LU,  /* Letter, Uppercase */
15     NUMCAT_LL,  /* Letter, Lowercase */
16     NUMCAT_LT,  /* Letter, Titlecase */
17     NUMCAT_LM,  /* Letter, Modifier */
18     NUMCAT_LO,  /* Letter, Other */
19     NUMCAT_MN,  /* Mark, Non-Spacing */
20     NUMCAT_MC,  /* Mark, Spacing Combining */
21     NUMCAT_ME,  /* Mark, Enclosing */
22     NUMCAT_ND,  /* Number, Decimal */
23     NUMCAT_NL,  /* Number, Letter */
24     NUMCAT_NO,  /* Number, Other */
25     NUMCAT_PC,  /* Punctuation, Connector */
26     NUMCAT_PD,  /* Punctuation, Dash */
27     NUMCAT_PS,  /* Punctuation, Open */
28     NUMCAT_PE,  /* Punctuation, Close */
29     NUMCAT_PI,  /* Punctuation, Initial quote */
30     NUMCAT_PF,  /* Punctuation, Final quote */
31     NUMCAT_PO,  /* Punctuation, Other */
32     NUMCAT_SM,  /* Symbol, Math */
33     NUMCAT_SC,  /* Symbol, Currency */
34     NUMCAT_SK,  /* Symbol, Modifier */
35     NUMCAT_SO,  /* Symbol, Other */
36     NUMCAT_ZS,  /* Separator, Space */
37     NUMCAT_ZL,  /* Separator, Line */
38     NUMCAT_ZP,  /* Separator, Paragraph */
39     NUMCAT_CC,  /* Other, Control */
40     NUMCAT_CF,  /* Other, Format */
41     NUMCAT_CS,  /* Other, Surrogate */
42     NUMCAT_CO,  /* Other, Private Use */
43     NUMCAT_CN   /* Other, Not Assigned */
44 };
45 
46 struct _convrule_
47 {
48 	unsigned int category;
49 	unsigned int catnumber;
50 	int possible;
51 	int updist;
52 	int lowdist;
53 	int titledist;
54 };
55 
56 struct _charblock_
57 {
58 	int start;
59 	int length;
60 	const struct _convrule_ *rule;
61 };
62 
63 #define GENCAT_ZP 67108864
64 #define GENCAT_MC 8388608
65 #define GENCAT_NO 131072
66 #define GENCAT_SK 1024
67 #define GENCAT_CO 268435456
68 #define GENCAT_ME 4194304
69 #define GENCAT_ND 256
70 #define GENCAT_PO 4
71 #define GENCAT_LT 524288
72 #define GENCAT_PC 2048
73 #define GENCAT_SM 64
74 #define GENCAT_ZS 2
75 #define GENCAT_CC 1
76 #define GENCAT_LU 512
77 #define GENCAT_PD 128
78 #define GENCAT_SO 8192
79 #define GENCAT_PE 32
80 #define GENCAT_CS 134217728
81 #define GENCAT_PF 262144
82 #define GENCAT_CF 65536
83 #define GENCAT_PS 16
84 #define GENCAT_SC 8
85 #define GENCAT_LL 4096
86 #define GENCAT_ZL 33554432
87 #define GENCAT_LM 1048576
88 #define GENCAT_PI 32768
89 #define GENCAT_NL 16777216
90 #define GENCAT_MN 2097152
91 #define GENCAT_LO 16384
92 #define MAX_UNI_CHAR 1114109
93 #define NUM_BLOCKS 3396
94 #define NUM_CONVBLOCKS 1332
95 #define NUM_SPACEBLOCKS 7
96 #define NUM_LAT1BLOCKS 63
97 #define NUM_RULES 205
98 static const struct _convrule_ rule183={GENCAT_LU, NUMCAT_LU, 1, 0, -35332, 0};
99 static const struct _convrule_ rule171={GENCAT_SO, NUMCAT_SO, 1, -26, 0, -26};
100 static const struct _convrule_ rule182={GENCAT_LL, NUMCAT_LL, 1, -7264, 0, -7264};
101 static const struct _convrule_ rule188={GENCAT_LU, NUMCAT_LU, 1, 0, -42315, 0};
102 static const struct _convrule_ rule143={GENCAT_LL, NUMCAT_LL, 1, 8, 0, 8};
103 static const struct _convrule_ rule127={GENCAT_LU, NUMCAT_LU, 1, 0, 38864, 0};
104 static const struct _convrule_ rule90={GENCAT_LL, NUMCAT_LL, 1, 42258, 0, 42258};
105 static const struct _convrule_ rule20={GENCAT_LL, NUMCAT_LL, 0, 0, 0, 0};
106 static const struct _convrule_ rule76={GENCAT_LL, NUMCAT_LL, 1, 10743, 0, 10743};
107 static const struct _convrule_ rule61={GENCAT_LL, NUMCAT_LL, 1, 10783, 0, 10783};
108 static const struct _convrule_ rule132={GENCAT_LL, NUMCAT_LL, 1, -6242, 0, -6242};
109 static const struct _convrule_ rule37={GENCAT_LU, NUMCAT_LU, 1, 0, 211, 0};
110 static const struct _convrule_ rule197={GENCAT_LL, NUMCAT_LL, 1, -928, 0, -928};
111 static const struct _convrule_ rule80={GENCAT_LL, NUMCAT_LL, 1, -214, 0, -214};
112 static const struct _convrule_ rule75={GENCAT_LL, NUMCAT_LL, 1, -211, 0, -211};
113 static const struct _convrule_ rule123={GENCAT_LL, NUMCAT_LL, 1, -48, 0, -48};
114 static const struct _convrule_ rule52={GENCAT_LU, NUMCAT_LU, 1, 0, -56, 0};
115 static const struct _convrule_ rule149={GENCAT_LL, NUMCAT_LL, 1, 112, 0, 112};
116 static const struct _convrule_ rule71={GENCAT_LL, NUMCAT_LL, 1, -207, 0, -207};
117 static const struct _convrule_ rule125={GENCAT_LU, NUMCAT_LU, 1, 0, 7264, 0};
118 static const struct _convrule_ rule166={GENCAT_LU, NUMCAT_LU, 1, 0, 28, 0};
119 static const struct _convrule_ rule173={GENCAT_LU, NUMCAT_LU, 1, 0, -3814, 0};
120 static const struct _convrule_ rule45={GENCAT_LU, NUMCAT_LU, 1, 0, 219, 0};
121 static const struct _convrule_ rule7={GENCAT_PD, NUMCAT_PD, 0, 0, 0, 0};
122 static const struct _convrule_ rule202={GENCAT_LL, NUMCAT_LL, 1, -40, 0, -40};
123 static const struct _convrule_ rule99={GENCAT_LL, NUMCAT_LL, 1, -38, 0, -38};
124 static const struct _convrule_ rule97={GENCAT_LU, NUMCAT_LU, 1, 0, 64, 0};
125 static const struct _convrule_ rule1={GENCAT_ZS, NUMCAT_ZS, 0, 0, 0, 0};
126 static const struct _convrule_ rule89={GENCAT_LL, NUMCAT_LL, 1, 42261, 0, 42261};
127 static const struct _convrule_ rule29={GENCAT_LU, NUMCAT_LU, 1, 0, 210, 0};
128 static const struct _convrule_ rule35={GENCAT_LU, NUMCAT_LU, 1, 0, 207, 0};
129 static const struct _convrule_ rule168={GENCAT_NL, NUMCAT_NL, 1, 0, 16, 0};
130 static const struct _convrule_ rule13={GENCAT_SO, NUMCAT_SO, 0, 0, 0, 0};
131 static const struct _convrule_ rule163={GENCAT_LU, NUMCAT_LU, 1, 0, -7517, 0};
132 static const struct _convrule_ rule142={GENCAT_LU, NUMCAT_LU, 1, 0, -7615, 0};
133 static const struct _convrule_ rule137={GENCAT_LU, NUMCAT_LU, 1, 0, -3008, 0};
134 static const struct _convrule_ rule100={GENCAT_LL, NUMCAT_LL, 1, -37, 0, -37};
135 static const struct _convrule_ rule2={GENCAT_PO, NUMCAT_PO, 0, 0, 0, 0};
136 static const struct _convrule_ rule69={GENCAT_LL, NUMCAT_LL, 1, 42319, 0, 42319};
137 static const struct _convrule_ rule56={GENCAT_LU, NUMCAT_LU, 1, 0, 10792, 0};
138 static const struct _convrule_ rule25={GENCAT_LL, NUMCAT_LL, 1, -232, 0, -232};
139 static const struct _convrule_ rule43={GENCAT_LU, NUMCAT_LU, 1, 0, 218, 0};
140 static const struct _convrule_ rule179={GENCAT_LU, NUMCAT_LU, 1, 0, -10783, 0};
141 static const struct _convrule_ rule147={GENCAT_LL, NUMCAT_LL, 1, 100, 0, 100};
142 static const struct _convrule_ rule98={GENCAT_LU, NUMCAT_LU, 1, 0, 63, 0};
143 static const struct _convrule_ rule92={GENCAT_MN, NUMCAT_MN, 0, 0, 0, 0};
144 static const struct _convrule_ rule12={GENCAT_LL, NUMCAT_LL, 1, -32, 0, -32};
145 static const struct _convrule_ rule95={GENCAT_LU, NUMCAT_LU, 1, 0, 38, 0};
146 static const struct _convrule_ rule140={GENCAT_LL, NUMCAT_LL, 1, 35384, 0, 35384};
147 static const struct _convrule_ rule101={GENCAT_LL, NUMCAT_LL, 1, -31, 0, -31};
148 static const struct _convrule_ rule204={GENCAT_LL, NUMCAT_LL, 1, -34, 0, -34};
149 static const struct _convrule_ rule107={GENCAT_LU, NUMCAT_LU, 0, 0, 0, 0};
150 static const struct _convrule_ rule11={GENCAT_PC, NUMCAT_PC, 0, 0, 0, 0};
151 static const struct _convrule_ rule192={GENCAT_LU, NUMCAT_LU, 1, 0, -42261, 0};
152 static const struct _convrule_ rule190={GENCAT_LU, NUMCAT_LU, 1, 0, -42258, 0};
153 static const struct _convrule_ rule158={GENCAT_LU, NUMCAT_LU, 1, 0, -112, 0};
154 static const struct _convrule_ rule15={GENCAT_PI, NUMCAT_PI, 0, 0, 0, 0};
155 static const struct _convrule_ rule146={GENCAT_LL, NUMCAT_LL, 1, 86, 0, 86};
156 static const struct _convrule_ rule124={GENCAT_MC, NUMCAT_MC, 0, 0, 0, 0};
157 static const struct _convrule_ rule139={GENCAT_LL, NUMCAT_LL, 1, 3814, 0, 3814};
158 static const struct _convrule_ rule44={GENCAT_LU, NUMCAT_LU, 1, 0, 217, 0};
159 static const struct _convrule_ rule167={GENCAT_LL, NUMCAT_LL, 1, -28, 0, -28};
160 static const struct _convrule_ rule200={GENCAT_CO, NUMCAT_CO, 0, 0, 0, 0};
161 static const struct _convrule_ rule196={GENCAT_LU, NUMCAT_LU, 1, 0, -35384, 0};
162 static const struct _convrule_ rule116={GENCAT_LL, NUMCAT_LL, 1, -96, 0, -96};
163 static const struct _convrule_ rule185={GENCAT_LL, NUMCAT_LL, 1, 48, 0, 48};
164 static const struct _convrule_ rule51={GENCAT_LU, NUMCAT_LU, 1, 0, -97, 0};
165 static const struct _convrule_ rule39={GENCAT_LL, NUMCAT_LL, 1, 163, 0, 163};
166 static const struct _convrule_ rule201={GENCAT_LU, NUMCAT_LU, 1, 0, 40, 0};
167 static const struct _convrule_ rule128={GENCAT_NL, NUMCAT_NL, 0, 0, 0, 0};
168 static const struct _convrule_ rule126={GENCAT_LL, NUMCAT_LL, 1, 3008, 0, 0};
169 static const struct _convrule_ rule96={GENCAT_LU, NUMCAT_LU, 1, 0, 37, 0};
170 static const struct _convrule_ rule82={GENCAT_LL, NUMCAT_LL, 1, -218, 0, -218};
171 static const struct _convrule_ rule120={GENCAT_LU, NUMCAT_LU, 1, 0, 15, 0};
172 static const struct _convrule_ rule67={GENCAT_LL, NUMCAT_LL, 1, -202, 0, -202};
173 static const struct _convrule_ rule66={GENCAT_LL, NUMCAT_LL, 1, -205, 0, -205};
174 static const struct _convrule_ rule47={GENCAT_LU, NUMCAT_LU, 1, 0, 2, 1};
175 static const struct _convrule_ rule136={GENCAT_LL, NUMCAT_LL, 1, 35266, 0, 35266};
176 static const struct _convrule_ rule83={GENCAT_LL, NUMCAT_LL, 1, 42307, 0, 42307};
177 static const struct _convrule_ rule30={GENCAT_LU, NUMCAT_LU, 1, 0, 206, 0};
178 static const struct _convrule_ rule111={GENCAT_LL, NUMCAT_LL, 1, -86, 0, -86};
179 static const struct _convrule_ rule4={GENCAT_PS, NUMCAT_PS, 0, 0, 0, 0};
180 static const struct _convrule_ rule3={GENCAT_SC, NUMCAT_SC, 0, 0, 0, 0};
181 static const struct _convrule_ rule164={GENCAT_LU, NUMCAT_LU, 1, 0, -8383, 0};
182 static const struct _convrule_ rule122={GENCAT_LU, NUMCAT_LU, 1, 0, 48, 0};
183 static const struct _convrule_ rule14={GENCAT_LO, NUMCAT_LO, 0, 0, 0, 0};
184 static const struct _convrule_ rule18={GENCAT_LL, NUMCAT_LL, 1, 743, 0, 743};
185 static const struct _convrule_ rule161={GENCAT_ZL, NUMCAT_ZL, 0, 0, 0, 0};
186 static const struct _convrule_ rule156={GENCAT_LU, NUMCAT_LU, 1, 0, -86, 0};
187 static const struct _convrule_ rule186={GENCAT_LU, NUMCAT_LU, 1, 0, -42308, 0};
188 static const struct _convrule_ rule176={GENCAT_LL, NUMCAT_LL, 1, -10792, 0, -10792};
189 static const struct _convrule_ rule180={GENCAT_LU, NUMCAT_LU, 1, 0, -10782, 0};
190 static const struct _convrule_ rule198={GENCAT_LL, NUMCAT_LL, 1, -38864, 0, -38864};
191 static const struct _convrule_ rule153={GENCAT_LU, NUMCAT_LU, 1, 0, -74, 0};
192 static const struct _convrule_ rule24={GENCAT_LU, NUMCAT_LU, 1, 0, -199, 0};
193 static const struct _convrule_ rule157={GENCAT_LU, NUMCAT_LU, 1, 0, -100, 0};
194 static const struct _convrule_ rule138={GENCAT_LL, NUMCAT_LL, 1, 35332, 0, 35332};
195 static const struct _convrule_ rule155={GENCAT_LL, NUMCAT_LL, 1, -7205, 0, -7205};
196 static const struct _convrule_ rule152={GENCAT_LL, NUMCAT_LL, 1, 9, 0, 9};
197 static const struct _convrule_ rule27={GENCAT_LL, NUMCAT_LL, 1, -300, 0, -300};
198 static const struct _convrule_ rule187={GENCAT_LU, NUMCAT_LU, 1, 0, -42319, 0};
199 static const struct _convrule_ rule31={GENCAT_LU, NUMCAT_LU, 1, 0, 205, 0};
200 static const struct _convrule_ rule59={GENCAT_LU, NUMCAT_LU, 1, 0, 69, 0};
201 static const struct _convrule_ rule6={GENCAT_SM, NUMCAT_SM, 0, 0, 0, 0};
202 static const struct _convrule_ rule121={GENCAT_LL, NUMCAT_LL, 1, -15, 0, -15};
203 static const struct _convrule_ rule112={GENCAT_LL, NUMCAT_LL, 1, -80, 0, -80};
204 static const struct _convrule_ rule191={GENCAT_LU, NUMCAT_LU, 1, 0, -42282, 0};
205 static const struct _convrule_ rule133={GENCAT_LL, NUMCAT_LL, 1, -6243, 0, -6243};
206 static const struct _convrule_ rule130={GENCAT_LL, NUMCAT_LL, 1, -6253, 0, -6253};
207 static const struct _convrule_ rule165={GENCAT_LU, NUMCAT_LU, 1, 0, -8262, 0};
208 static const struct _convrule_ rule144={GENCAT_LU, NUMCAT_LU, 1, 0, -8, 0};
209 static const struct _convrule_ rule26={GENCAT_LU, NUMCAT_LU, 1, 0, -121, 0};
210 static const struct _convrule_ rule0={GENCAT_CC, NUMCAT_CC, 0, 0, 0, 0};
211 static const struct _convrule_ rule113={GENCAT_LL, NUMCAT_LL, 1, 7, 0, 7};
212 static const struct _convrule_ rule93={GENCAT_MN, NUMCAT_MN, 1, 84, 0, 84};
213 static const struct _convrule_ rule78={GENCAT_LL, NUMCAT_LL, 1, 10749, 0, 10749};
214 static const struct _convrule_ rule77={GENCAT_LL, NUMCAT_LL, 1, 42305, 0, 42305};
215 static const struct _convrule_ rule70={GENCAT_LL, NUMCAT_LL, 1, 42315, 0, 42315};
216 static const struct _convrule_ rule50={GENCAT_LL, NUMCAT_LL, 1, -79, 0, -79};
217 static const struct _convrule_ rule60={GENCAT_LU, NUMCAT_LU, 1, 0, 71, 0};
218 static const struct _convrule_ rule22={GENCAT_LU, NUMCAT_LU, 1, 0, 1, 0};
219 static const struct _convrule_ rule49={GENCAT_LL, NUMCAT_LL, 1, -2, 0, -1};
220 static const struct _convrule_ rule94={GENCAT_LU, NUMCAT_LU, 1, 0, 116, 0};
221 static const struct _convrule_ rule84={GENCAT_LL, NUMCAT_LL, 1, 42282, 0, 42282};
222 static const struct _convrule_ rule169={GENCAT_NL, NUMCAT_NL, 1, -16, 0, -16};
223 static const struct _convrule_ rule104={GENCAT_LU, NUMCAT_LU, 1, 0, 8, 0};
224 static const struct _convrule_ rule23={GENCAT_LL, NUMCAT_LL, 1, -1, 0, -1};
225 static const struct _convrule_ rule88={GENCAT_LL, NUMCAT_LL, 1, -219, 0, -219};
226 static const struct _convrule_ rule79={GENCAT_LL, NUMCAT_LL, 1, -213, 0, -213};
227 static const struct _convrule_ rule64={GENCAT_LL, NUMCAT_LL, 1, -210, 0, -210};
228 static const struct _convrule_ rule177={GENCAT_LU, NUMCAT_LU, 1, 0, -10780, 0};
229 static const struct _convrule_ rule87={GENCAT_LL, NUMCAT_LL, 1, -71, 0, -71};
230 static const struct _convrule_ rule85={GENCAT_LL, NUMCAT_LL, 1, -69, 0, -69};
231 static const struct _convrule_ rule32={GENCAT_LU, NUMCAT_LU, 1, 0, 79, 0};
232 static const struct _convrule_ rule195={GENCAT_LU, NUMCAT_LU, 1, 0, -42307, 0};
233 static const struct _convrule_ rule117={GENCAT_LU, NUMCAT_LU, 1, 0, -7, 0};
234 static const struct _convrule_ rule74={GENCAT_LL, NUMCAT_LL, 1, -209, 0, -209};
235 static const struct _convrule_ rule199={GENCAT_CS, NUMCAT_CS, 0, 0, 0, 0};
236 static const struct _convrule_ rule154={GENCAT_LT, NUMCAT_LT, 1, 0, -9, 0};
237 static const struct _convrule_ rule57={GENCAT_LL, NUMCAT_LL, 1, 10815, 0, 10815};
238 static const struct _convrule_ rule72={GENCAT_LL, NUMCAT_LL, 1, 42280, 0, 42280};
239 static const struct _convrule_ rule34={GENCAT_LU, NUMCAT_LU, 1, 0, 203, 0};
240 static const struct _convrule_ rule194={GENCAT_LU, NUMCAT_LU, 1, 0, -48, 0};
241 static const struct _convrule_ rule63={GENCAT_LL, NUMCAT_LL, 1, 10782, 0, 10782};
242 static const struct _convrule_ rule184={GENCAT_LU, NUMCAT_LU, 1, 0, -42280, 0};
243 static const struct _convrule_ rule159={GENCAT_LU, NUMCAT_LU, 1, 0, -128, 0};
244 static const struct _convrule_ rule102={GENCAT_LL, NUMCAT_LL, 1, -64, 0, -64};
245 static const struct _convrule_ rule17={GENCAT_NO, NUMCAT_NO, 0, 0, 0, 0};
246 static const struct _convrule_ rule91={GENCAT_LM, NUMCAT_LM, 0, 0, 0, 0};
247 static const struct _convrule_ rule46={GENCAT_LL, NUMCAT_LL, 1, 56, 0, 56};
248 static const struct _convrule_ rule145={GENCAT_LL, NUMCAT_LL, 1, 74, 0, 74};
249 static const struct _convrule_ rule42={GENCAT_LU, NUMCAT_LU, 1, 0, 214, 0};
250 static const struct _convrule_ rule162={GENCAT_ZP, NUMCAT_ZP, 0, 0, 0, 0};
251 static const struct _convrule_ rule103={GENCAT_LL, NUMCAT_LL, 1, -63, 0, -63};
252 static const struct _convrule_ rule36={GENCAT_LL, NUMCAT_LL, 1, 97, 0, 97};
253 static const struct _convrule_ rule151={GENCAT_LT, NUMCAT_LT, 1, 0, -8, 0};
254 static const struct _convrule_ rule148={GENCAT_LL, NUMCAT_LL, 1, 128, 0, 128};
255 static const struct _convrule_ rule81={GENCAT_LL, NUMCAT_LL, 1, 10727, 0, 10727};
256 static const struct _convrule_ rule62={GENCAT_LL, NUMCAT_LL, 1, 10780, 0, 10780};
257 static const struct _convrule_ rule41={GENCAT_LL, NUMCAT_LL, 1, 130, 0, 130};
258 static const struct _convrule_ rule203={GENCAT_LU, NUMCAT_LU, 1, 0, 34, 0};
259 static const struct _convrule_ rule134={GENCAT_LL, NUMCAT_LL, 1, -6236, 0, -6236};
260 static const struct _convrule_ rule68={GENCAT_LL, NUMCAT_LL, 1, -203, 0, -203};
261 static const struct _convrule_ rule65={GENCAT_LL, NUMCAT_LL, 1, -206, 0, -206};
262 static const struct _convrule_ rule48={GENCAT_LT, NUMCAT_LT, 1, -1, 1, 0};
263 static const struct _convrule_ rule19={GENCAT_PF, NUMCAT_PF, 0, 0, 0, 0};
264 static const struct _convrule_ rule33={GENCAT_LU, NUMCAT_LU, 1, 0, 202, 0};
265 static const struct _convrule_ rule105={GENCAT_LL, NUMCAT_LL, 1, -62, 0, -62};
266 static const struct _convrule_ rule8={GENCAT_ND, NUMCAT_ND, 0, 0, 0, 0};
267 static const struct _convrule_ rule193={GENCAT_LU, NUMCAT_LU, 1, 0, 928, 0};
268 static const struct _convrule_ rule53={GENCAT_LU, NUMCAT_LU, 1, 0, -130, 0};
269 static const struct _convrule_ rule28={GENCAT_LL, NUMCAT_LL, 1, 195, 0, 195};
270 static const struct _convrule_ rule172={GENCAT_LU, NUMCAT_LU, 1, 0, -10743, 0};
271 static const struct _convrule_ rule141={GENCAT_LL, NUMCAT_LL, 1, -59, 0, -59};
272 static const struct _convrule_ rule115={GENCAT_LU, NUMCAT_LU, 1, 0, -60, 0};
273 static const struct _convrule_ rule110={GENCAT_LL, NUMCAT_LL, 1, -8, 0, -8};
274 static const struct _convrule_ rule73={GENCAT_LL, NUMCAT_LL, 1, 42308, 0, 42308};
275 static const struct _convrule_ rule40={GENCAT_LU, NUMCAT_LU, 1, 0, 213, 0};
276 static const struct _convrule_ rule150={GENCAT_LL, NUMCAT_LL, 1, 126, 0, 126};
277 static const struct _convrule_ rule131={GENCAT_LL, NUMCAT_LL, 1, -6244, 0, -6244};
278 static const struct _convrule_ rule129={GENCAT_LL, NUMCAT_LL, 1, -6254, 0, -6254};
279 static const struct _convrule_ rule118={GENCAT_LU, NUMCAT_LU, 1, 0, 80, 0};
280 static const struct _convrule_ rule55={GENCAT_LU, NUMCAT_LU, 1, 0, -163, 0};
281 static const struct _convrule_ rule189={GENCAT_LU, NUMCAT_LU, 1, 0, -42305, 0};
282 static const struct _convrule_ rule175={GENCAT_LL, NUMCAT_LL, 1, -10795, 0, -10795};
283 static const struct _convrule_ rule58={GENCAT_LU, NUMCAT_LU, 1, 0, -195, 0};
284 static const struct _convrule_ rule54={GENCAT_LU, NUMCAT_LU, 1, 0, 10795, 0};
285 static const struct _convrule_ rule135={GENCAT_LL, NUMCAT_LL, 1, -6181, 0, -6181};
286 static const struct _convrule_ rule109={GENCAT_LL, NUMCAT_LL, 1, -54, 0, -54};
287 static const struct _convrule_ rule160={GENCAT_LU, NUMCAT_LU, 1, 0, -126, 0};
288 static const struct _convrule_ rule106={GENCAT_LL, NUMCAT_LL, 1, -57, 0, -57};
289 static const struct _convrule_ rule21={GENCAT_LL, NUMCAT_LL, 1, 121, 0, 121};
290 static const struct _convrule_ rule170={GENCAT_SO, NUMCAT_SO, 1, 0, 26, 0};
291 static const struct _convrule_ rule86={GENCAT_LL, NUMCAT_LL, 1, -217, 0, -217};
292 static const struct _convrule_ rule16={GENCAT_CF, NUMCAT_CF, 0, 0, 0, 0};
293 static const struct _convrule_ rule114={GENCAT_LL, NUMCAT_LL, 1, -116, 0, -116};
294 static const struct _convrule_ rule38={GENCAT_LU, NUMCAT_LU, 1, 0, 209, 0};
295 static const struct _convrule_ rule10={GENCAT_SK, NUMCAT_SK, 0, 0, 0, 0};
296 static const struct _convrule_ rule181={GENCAT_LU, NUMCAT_LU, 1, 0, -10815, 0};
297 static const struct _convrule_ rule5={GENCAT_PE, NUMCAT_PE, 0, 0, 0, 0};
298 static const struct _convrule_ rule178={GENCAT_LU, NUMCAT_LU, 1, 0, -10749, 0};
299 static const struct _convrule_ rule119={GENCAT_ME, NUMCAT_ME, 0, 0, 0, 0};
300 static const struct _convrule_ rule108={GENCAT_LL, NUMCAT_LL, 1, -47, 0, -47};
301 static const struct _convrule_ rule174={GENCAT_LU, NUMCAT_LU, 1, 0, -10727, 0};
302 static const struct _convrule_ rule9={GENCAT_LU, NUMCAT_LU, 1, 0, 32, 0};
303 static const struct _charblock_ allchars[]={
304 	{0, 32, &rule0},
305 	{32, 1, &rule1},
306 	{33, 3, &rule2},
307 	{36, 1, &rule3},
308 	{37, 3, &rule2},
309 	{40, 1, &rule4},
310 	{41, 1, &rule5},
311 	{42, 1, &rule2},
312 	{43, 1, &rule6},
313 	{44, 1, &rule2},
314 	{45, 1, &rule7},
315 	{46, 2, &rule2},
316 	{48, 10, &rule8},
317 	{58, 2, &rule2},
318 	{60, 3, &rule6},
319 	{63, 2, &rule2},
320 	{65, 26, &rule9},
321 	{91, 1, &rule4},
322 	{92, 1, &rule2},
323 	{93, 1, &rule5},
324 	{94, 1, &rule10},
325 	{95, 1, &rule11},
326 	{96, 1, &rule10},
327 	{97, 26, &rule12},
328 	{123, 1, &rule4},
329 	{124, 1, &rule6},
330 	{125, 1, &rule5},
331 	{126, 1, &rule6},
332 	{127, 33, &rule0},
333 	{160, 1, &rule1},
334 	{161, 1, &rule2},
335 	{162, 4, &rule3},
336 	{166, 1, &rule13},
337 	{167, 1, &rule2},
338 	{168, 1, &rule10},
339 	{169, 1, &rule13},
340 	{170, 1, &rule14},
341 	{171, 1, &rule15},
342 	{172, 1, &rule6},
343 	{173, 1, &rule16},
344 	{174, 1, &rule13},
345 	{175, 1, &rule10},
346 	{176, 1, &rule13},
347 	{177, 1, &rule6},
348 	{178, 2, &rule17},
349 	{180, 1, &rule10},
350 	{181, 1, &rule18},
351 	{182, 2, &rule2},
352 	{184, 1, &rule10},
353 	{185, 1, &rule17},
354 	{186, 1, &rule14},
355 	{187, 1, &rule19},
356 	{188, 3, &rule17},
357 	{191, 1, &rule2},
358 	{192, 23, &rule9},
359 	{215, 1, &rule6},
360 	{216, 7, &rule9},
361 	{223, 1, &rule20},
362 	{224, 23, &rule12},
363 	{247, 1, &rule6},
364 	{248, 7, &rule12},
365 	{255, 1, &rule21},
366 	{256, 1, &rule22},
367 	{257, 1, &rule23},
368 	{258, 1, &rule22},
369 	{259, 1, &rule23},
370 	{260, 1, &rule22},
371 	{261, 1, &rule23},
372 	{262, 1, &rule22},
373 	{263, 1, &rule23},
374 	{264, 1, &rule22},
375 	{265, 1, &rule23},
376 	{266, 1, &rule22},
377 	{267, 1, &rule23},
378 	{268, 1, &rule22},
379 	{269, 1, &rule23},
380 	{270, 1, &rule22},
381 	{271, 1, &rule23},
382 	{272, 1, &rule22},
383 	{273, 1, &rule23},
384 	{274, 1, &rule22},
385 	{275, 1, &rule23},
386 	{276, 1, &rule22},
387 	{277, 1, &rule23},
388 	{278, 1, &rule22},
389 	{279, 1, &rule23},
390 	{280, 1, &rule22},
391 	{281, 1, &rule23},
392 	{282, 1, &rule22},
393 	{283, 1, &rule23},
394 	{284, 1, &rule22},
395 	{285, 1, &rule23},
396 	{286, 1, &rule22},
397 	{287, 1, &rule23},
398 	{288, 1, &rule22},
399 	{289, 1, &rule23},
400 	{290, 1, &rule22},
401 	{291, 1, &rule23},
402 	{292, 1, &rule22},
403 	{293, 1, &rule23},
404 	{294, 1, &rule22},
405 	{295, 1, &rule23},
406 	{296, 1, &rule22},
407 	{297, 1, &rule23},
408 	{298, 1, &rule22},
409 	{299, 1, &rule23},
410 	{300, 1, &rule22},
411 	{301, 1, &rule23},
412 	{302, 1, &rule22},
413 	{303, 1, &rule23},
414 	{304, 1, &rule24},
415 	{305, 1, &rule25},
416 	{306, 1, &rule22},
417 	{307, 1, &rule23},
418 	{308, 1, &rule22},
419 	{309, 1, &rule23},
420 	{310, 1, &rule22},
421 	{311, 1, &rule23},
422 	{312, 1, &rule20},
423 	{313, 1, &rule22},
424 	{314, 1, &rule23},
425 	{315, 1, &rule22},
426 	{316, 1, &rule23},
427 	{317, 1, &rule22},
428 	{318, 1, &rule23},
429 	{319, 1, &rule22},
430 	{320, 1, &rule23},
431 	{321, 1, &rule22},
432 	{322, 1, &rule23},
433 	{323, 1, &rule22},
434 	{324, 1, &rule23},
435 	{325, 1, &rule22},
436 	{326, 1, &rule23},
437 	{327, 1, &rule22},
438 	{328, 1, &rule23},
439 	{329, 1, &rule20},
440 	{330, 1, &rule22},
441 	{331, 1, &rule23},
442 	{332, 1, &rule22},
443 	{333, 1, &rule23},
444 	{334, 1, &rule22},
445 	{335, 1, &rule23},
446 	{336, 1, &rule22},
447 	{337, 1, &rule23},
448 	{338, 1, &rule22},
449 	{339, 1, &rule23},
450 	{340, 1, &rule22},
451 	{341, 1, &rule23},
452 	{342, 1, &rule22},
453 	{343, 1, &rule23},
454 	{344, 1, &rule22},
455 	{345, 1, &rule23},
456 	{346, 1, &rule22},
457 	{347, 1, &rule23},
458 	{348, 1, &rule22},
459 	{349, 1, &rule23},
460 	{350, 1, &rule22},
461 	{351, 1, &rule23},
462 	{352, 1, &rule22},
463 	{353, 1, &rule23},
464 	{354, 1, &rule22},
465 	{355, 1, &rule23},
466 	{356, 1, &rule22},
467 	{357, 1, &rule23},
468 	{358, 1, &rule22},
469 	{359, 1, &rule23},
470 	{360, 1, &rule22},
471 	{361, 1, &rule23},
472 	{362, 1, &rule22},
473 	{363, 1, &rule23},
474 	{364, 1, &rule22},
475 	{365, 1, &rule23},
476 	{366, 1, &rule22},
477 	{367, 1, &rule23},
478 	{368, 1, &rule22},
479 	{369, 1, &rule23},
480 	{370, 1, &rule22},
481 	{371, 1, &rule23},
482 	{372, 1, &rule22},
483 	{373, 1, &rule23},
484 	{374, 1, &rule22},
485 	{375, 1, &rule23},
486 	{376, 1, &rule26},
487 	{377, 1, &rule22},
488 	{378, 1, &rule23},
489 	{379, 1, &rule22},
490 	{380, 1, &rule23},
491 	{381, 1, &rule22},
492 	{382, 1, &rule23},
493 	{383, 1, &rule27},
494 	{384, 1, &rule28},
495 	{385, 1, &rule29},
496 	{386, 1, &rule22},
497 	{387, 1, &rule23},
498 	{388, 1, &rule22},
499 	{389, 1, &rule23},
500 	{390, 1, &rule30},
501 	{391, 1, &rule22},
502 	{392, 1, &rule23},
503 	{393, 2, &rule31},
504 	{395, 1, &rule22},
505 	{396, 1, &rule23},
506 	{397, 1, &rule20},
507 	{398, 1, &rule32},
508 	{399, 1, &rule33},
509 	{400, 1, &rule34},
510 	{401, 1, &rule22},
511 	{402, 1, &rule23},
512 	{403, 1, &rule31},
513 	{404, 1, &rule35},
514 	{405, 1, &rule36},
515 	{406, 1, &rule37},
516 	{407, 1, &rule38},
517 	{408, 1, &rule22},
518 	{409, 1, &rule23},
519 	{410, 1, &rule39},
520 	{411, 1, &rule20},
521 	{412, 1, &rule37},
522 	{413, 1, &rule40},
523 	{414, 1, &rule41},
524 	{415, 1, &rule42},
525 	{416, 1, &rule22},
526 	{417, 1, &rule23},
527 	{418, 1, &rule22},
528 	{419, 1, &rule23},
529 	{420, 1, &rule22},
530 	{421, 1, &rule23},
531 	{422, 1, &rule43},
532 	{423, 1, &rule22},
533 	{424, 1, &rule23},
534 	{425, 1, &rule43},
535 	{426, 2, &rule20},
536 	{428, 1, &rule22},
537 	{429, 1, &rule23},
538 	{430, 1, &rule43},
539 	{431, 1, &rule22},
540 	{432, 1, &rule23},
541 	{433, 2, &rule44},
542 	{435, 1, &rule22},
543 	{436, 1, &rule23},
544 	{437, 1, &rule22},
545 	{438, 1, &rule23},
546 	{439, 1, &rule45},
547 	{440, 1, &rule22},
548 	{441, 1, &rule23},
549 	{442, 1, &rule20},
550 	{443, 1, &rule14},
551 	{444, 1, &rule22},
552 	{445, 1, &rule23},
553 	{446, 1, &rule20},
554 	{447, 1, &rule46},
555 	{448, 4, &rule14},
556 	{452, 1, &rule47},
557 	{453, 1, &rule48},
558 	{454, 1, &rule49},
559 	{455, 1, &rule47},
560 	{456, 1, &rule48},
561 	{457, 1, &rule49},
562 	{458, 1, &rule47},
563 	{459, 1, &rule48},
564 	{460, 1, &rule49},
565 	{461, 1, &rule22},
566 	{462, 1, &rule23},
567 	{463, 1, &rule22},
568 	{464, 1, &rule23},
569 	{465, 1, &rule22},
570 	{466, 1, &rule23},
571 	{467, 1, &rule22},
572 	{468, 1, &rule23},
573 	{469, 1, &rule22},
574 	{470, 1, &rule23},
575 	{471, 1, &rule22},
576 	{472, 1, &rule23},
577 	{473, 1, &rule22},
578 	{474, 1, &rule23},
579 	{475, 1, &rule22},
580 	{476, 1, &rule23},
581 	{477, 1, &rule50},
582 	{478, 1, &rule22},
583 	{479, 1, &rule23},
584 	{480, 1, &rule22},
585 	{481, 1, &rule23},
586 	{482, 1, &rule22},
587 	{483, 1, &rule23},
588 	{484, 1, &rule22},
589 	{485, 1, &rule23},
590 	{486, 1, &rule22},
591 	{487, 1, &rule23},
592 	{488, 1, &rule22},
593 	{489, 1, &rule23},
594 	{490, 1, &rule22},
595 	{491, 1, &rule23},
596 	{492, 1, &rule22},
597 	{493, 1, &rule23},
598 	{494, 1, &rule22},
599 	{495, 1, &rule23},
600 	{496, 1, &rule20},
601 	{497, 1, &rule47},
602 	{498, 1, &rule48},
603 	{499, 1, &rule49},
604 	{500, 1, &rule22},
605 	{501, 1, &rule23},
606 	{502, 1, &rule51},
607 	{503, 1, &rule52},
608 	{504, 1, &rule22},
609 	{505, 1, &rule23},
610 	{506, 1, &rule22},
611 	{507, 1, &rule23},
612 	{508, 1, &rule22},
613 	{509, 1, &rule23},
614 	{510, 1, &rule22},
615 	{511, 1, &rule23},
616 	{512, 1, &rule22},
617 	{513, 1, &rule23},
618 	{514, 1, &rule22},
619 	{515, 1, &rule23},
620 	{516, 1, &rule22},
621 	{517, 1, &rule23},
622 	{518, 1, &rule22},
623 	{519, 1, &rule23},
624 	{520, 1, &rule22},
625 	{521, 1, &rule23},
626 	{522, 1, &rule22},
627 	{523, 1, &rule23},
628 	{524, 1, &rule22},
629 	{525, 1, &rule23},
630 	{526, 1, &rule22},
631 	{527, 1, &rule23},
632 	{528, 1, &rule22},
633 	{529, 1, &rule23},
634 	{530, 1, &rule22},
635 	{531, 1, &rule23},
636 	{532, 1, &rule22},
637 	{533, 1, &rule23},
638 	{534, 1, &rule22},
639 	{535, 1, &rule23},
640 	{536, 1, &rule22},
641 	{537, 1, &rule23},
642 	{538, 1, &rule22},
643 	{539, 1, &rule23},
644 	{540, 1, &rule22},
645 	{541, 1, &rule23},
646 	{542, 1, &rule22},
647 	{543, 1, &rule23},
648 	{544, 1, &rule53},
649 	{545, 1, &rule20},
650 	{546, 1, &rule22},
651 	{547, 1, &rule23},
652 	{548, 1, &rule22},
653 	{549, 1, &rule23},
654 	{550, 1, &rule22},
655 	{551, 1, &rule23},
656 	{552, 1, &rule22},
657 	{553, 1, &rule23},
658 	{554, 1, &rule22},
659 	{555, 1, &rule23},
660 	{556, 1, &rule22},
661 	{557, 1, &rule23},
662 	{558, 1, &rule22},
663 	{559, 1, &rule23},
664 	{560, 1, &rule22},
665 	{561, 1, &rule23},
666 	{562, 1, &rule22},
667 	{563, 1, &rule23},
668 	{564, 6, &rule20},
669 	{570, 1, &rule54},
670 	{571, 1, &rule22},
671 	{572, 1, &rule23},
672 	{573, 1, &rule55},
673 	{574, 1, &rule56},
674 	{575, 2, &rule57},
675 	{577, 1, &rule22},
676 	{578, 1, &rule23},
677 	{579, 1, &rule58},
678 	{580, 1, &rule59},
679 	{581, 1, &rule60},
680 	{582, 1, &rule22},
681 	{583, 1, &rule23},
682 	{584, 1, &rule22},
683 	{585, 1, &rule23},
684 	{586, 1, &rule22},
685 	{587, 1, &rule23},
686 	{588, 1, &rule22},
687 	{589, 1, &rule23},
688 	{590, 1, &rule22},
689 	{591, 1, &rule23},
690 	{592, 1, &rule61},
691 	{593, 1, &rule62},
692 	{594, 1, &rule63},
693 	{595, 1, &rule64},
694 	{596, 1, &rule65},
695 	{597, 1, &rule20},
696 	{598, 2, &rule66},
697 	{600, 1, &rule20},
698 	{601, 1, &rule67},
699 	{602, 1, &rule20},
700 	{603, 1, &rule68},
701 	{604, 1, &rule69},
702 	{605, 3, &rule20},
703 	{608, 1, &rule66},
704 	{609, 1, &rule70},
705 	{610, 1, &rule20},
706 	{611, 1, &rule71},
707 	{612, 1, &rule20},
708 	{613, 1, &rule72},
709 	{614, 1, &rule73},
710 	{615, 1, &rule20},
711 	{616, 1, &rule74},
712 	{617, 1, &rule75},
713 	{618, 1, &rule73},
714 	{619, 1, &rule76},
715 	{620, 1, &rule77},
716 	{621, 2, &rule20},
717 	{623, 1, &rule75},
718 	{624, 1, &rule20},
719 	{625, 1, &rule78},
720 	{626, 1, &rule79},
721 	{627, 2, &rule20},
722 	{629, 1, &rule80},
723 	{630, 7, &rule20},
724 	{637, 1, &rule81},
725 	{638, 2, &rule20},
726 	{640, 1, &rule82},
727 	{641, 1, &rule20},
728 	{642, 1, &rule83},
729 	{643, 1, &rule82},
730 	{644, 3, &rule20},
731 	{647, 1, &rule84},
732 	{648, 1, &rule82},
733 	{649, 1, &rule85},
734 	{650, 2, &rule86},
735 	{652, 1, &rule87},
736 	{653, 5, &rule20},
737 	{658, 1, &rule88},
738 	{659, 1, &rule20},
739 	{660, 1, &rule14},
740 	{661, 8, &rule20},
741 	{669, 1, &rule89},
742 	{670, 1, &rule90},
743 	{671, 17, &rule20},
744 	{688, 18, &rule91},
745 	{706, 4, &rule10},
746 	{710, 12, &rule91},
747 	{722, 14, &rule10},
748 	{736, 5, &rule91},
749 	{741, 7, &rule10},
750 	{748, 1, &rule91},
751 	{749, 1, &rule10},
752 	{750, 1, &rule91},
753 	{751, 17, &rule10},
754 	{768, 69, &rule92},
755 	{837, 1, &rule93},
756 	{838, 42, &rule92},
757 	{880, 1, &rule22},
758 	{881, 1, &rule23},
759 	{882, 1, &rule22},
760 	{883, 1, &rule23},
761 	{884, 1, &rule91},
762 	{885, 1, &rule10},
763 	{886, 1, &rule22},
764 	{887, 1, &rule23},
765 	{890, 1, &rule91},
766 	{891, 3, &rule41},
767 	{894, 1, &rule2},
768 	{895, 1, &rule94},
769 	{900, 2, &rule10},
770 	{902, 1, &rule95},
771 	{903, 1, &rule2},
772 	{904, 3, &rule96},
773 	{908, 1, &rule97},
774 	{910, 2, &rule98},
775 	{912, 1, &rule20},
776 	{913, 17, &rule9},
777 	{931, 9, &rule9},
778 	{940, 1, &rule99},
779 	{941, 3, &rule100},
780 	{944, 1, &rule20},
781 	{945, 17, &rule12},
782 	{962, 1, &rule101},
783 	{963, 9, &rule12},
784 	{972, 1, &rule102},
785 	{973, 2, &rule103},
786 	{975, 1, &rule104},
787 	{976, 1, &rule105},
788 	{977, 1, &rule106},
789 	{978, 3, &rule107},
790 	{981, 1, &rule108},
791 	{982, 1, &rule109},
792 	{983, 1, &rule110},
793 	{984, 1, &rule22},
794 	{985, 1, &rule23},
795 	{986, 1, &rule22},
796 	{987, 1, &rule23},
797 	{988, 1, &rule22},
798 	{989, 1, &rule23},
799 	{990, 1, &rule22},
800 	{991, 1, &rule23},
801 	{992, 1, &rule22},
802 	{993, 1, &rule23},
803 	{994, 1, &rule22},
804 	{995, 1, &rule23},
805 	{996, 1, &rule22},
806 	{997, 1, &rule23},
807 	{998, 1, &rule22},
808 	{999, 1, &rule23},
809 	{1000, 1, &rule22},
810 	{1001, 1, &rule23},
811 	{1002, 1, &rule22},
812 	{1003, 1, &rule23},
813 	{1004, 1, &rule22},
814 	{1005, 1, &rule23},
815 	{1006, 1, &rule22},
816 	{1007, 1, &rule23},
817 	{1008, 1, &rule111},
818 	{1009, 1, &rule112},
819 	{1010, 1, &rule113},
820 	{1011, 1, &rule114},
821 	{1012, 1, &rule115},
822 	{1013, 1, &rule116},
823 	{1014, 1, &rule6},
824 	{1015, 1, &rule22},
825 	{1016, 1, &rule23},
826 	{1017, 1, &rule117},
827 	{1018, 1, &rule22},
828 	{1019, 1, &rule23},
829 	{1020, 1, &rule20},
830 	{1021, 3, &rule53},
831 	{1024, 16, &rule118},
832 	{1040, 32, &rule9},
833 	{1072, 32, &rule12},
834 	{1104, 16, &rule112},
835 	{1120, 1, &rule22},
836 	{1121, 1, &rule23},
837 	{1122, 1, &rule22},
838 	{1123, 1, &rule23},
839 	{1124, 1, &rule22},
840 	{1125, 1, &rule23},
841 	{1126, 1, &rule22},
842 	{1127, 1, &rule23},
843 	{1128, 1, &rule22},
844 	{1129, 1, &rule23},
845 	{1130, 1, &rule22},
846 	{1131, 1, &rule23},
847 	{1132, 1, &rule22},
848 	{1133, 1, &rule23},
849 	{1134, 1, &rule22},
850 	{1135, 1, &rule23},
851 	{1136, 1, &rule22},
852 	{1137, 1, &rule23},
853 	{1138, 1, &rule22},
854 	{1139, 1, &rule23},
855 	{1140, 1, &rule22},
856 	{1141, 1, &rule23},
857 	{1142, 1, &rule22},
858 	{1143, 1, &rule23},
859 	{1144, 1, &rule22},
860 	{1145, 1, &rule23},
861 	{1146, 1, &rule22},
862 	{1147, 1, &rule23},
863 	{1148, 1, &rule22},
864 	{1149, 1, &rule23},
865 	{1150, 1, &rule22},
866 	{1151, 1, &rule23},
867 	{1152, 1, &rule22},
868 	{1153, 1, &rule23},
869 	{1154, 1, &rule13},
870 	{1155, 5, &rule92},
871 	{1160, 2, &rule119},
872 	{1162, 1, &rule22},
873 	{1163, 1, &rule23},
874 	{1164, 1, &rule22},
875 	{1165, 1, &rule23},
876 	{1166, 1, &rule22},
877 	{1167, 1, &rule23},
878 	{1168, 1, &rule22},
879 	{1169, 1, &rule23},
880 	{1170, 1, &rule22},
881 	{1171, 1, &rule23},
882 	{1172, 1, &rule22},
883 	{1173, 1, &rule23},
884 	{1174, 1, &rule22},
885 	{1175, 1, &rule23},
886 	{1176, 1, &rule22},
887 	{1177, 1, &rule23},
888 	{1178, 1, &rule22},
889 	{1179, 1, &rule23},
890 	{1180, 1, &rule22},
891 	{1181, 1, &rule23},
892 	{1182, 1, &rule22},
893 	{1183, 1, &rule23},
894 	{1184, 1, &rule22},
895 	{1185, 1, &rule23},
896 	{1186, 1, &rule22},
897 	{1187, 1, &rule23},
898 	{1188, 1, &rule22},
899 	{1189, 1, &rule23},
900 	{1190, 1, &rule22},
901 	{1191, 1, &rule23},
902 	{1192, 1, &rule22},
903 	{1193, 1, &rule23},
904 	{1194, 1, &rule22},
905 	{1195, 1, &rule23},
906 	{1196, 1, &rule22},
907 	{1197, 1, &rule23},
908 	{1198, 1, &rule22},
909 	{1199, 1, &rule23},
910 	{1200, 1, &rule22},
911 	{1201, 1, &rule23},
912 	{1202, 1, &rule22},
913 	{1203, 1, &rule23},
914 	{1204, 1, &rule22},
915 	{1205, 1, &rule23},
916 	{1206, 1, &rule22},
917 	{1207, 1, &rule23},
918 	{1208, 1, &rule22},
919 	{1209, 1, &rule23},
920 	{1210, 1, &rule22},
921 	{1211, 1, &rule23},
922 	{1212, 1, &rule22},
923 	{1213, 1, &rule23},
924 	{1214, 1, &rule22},
925 	{1215, 1, &rule23},
926 	{1216, 1, &rule120},
927 	{1217, 1, &rule22},
928 	{1218, 1, &rule23},
929 	{1219, 1, &rule22},
930 	{1220, 1, &rule23},
931 	{1221, 1, &rule22},
932 	{1222, 1, &rule23},
933 	{1223, 1, &rule22},
934 	{1224, 1, &rule23},
935 	{1225, 1, &rule22},
936 	{1226, 1, &rule23},
937 	{1227, 1, &rule22},
938 	{1228, 1, &rule23},
939 	{1229, 1, &rule22},
940 	{1230, 1, &rule23},
941 	{1231, 1, &rule121},
942 	{1232, 1, &rule22},
943 	{1233, 1, &rule23},
944 	{1234, 1, &rule22},
945 	{1235, 1, &rule23},
946 	{1236, 1, &rule22},
947 	{1237, 1, &rule23},
948 	{1238, 1, &rule22},
949 	{1239, 1, &rule23},
950 	{1240, 1, &rule22},
951 	{1241, 1, &rule23},
952 	{1242, 1, &rule22},
953 	{1243, 1, &rule23},
954 	{1244, 1, &rule22},
955 	{1245, 1, &rule23},
956 	{1246, 1, &rule22},
957 	{1247, 1, &rule23},
958 	{1248, 1, &rule22},
959 	{1249, 1, &rule23},
960 	{1250, 1, &rule22},
961 	{1251, 1, &rule23},
962 	{1252, 1, &rule22},
963 	{1253, 1, &rule23},
964 	{1254, 1, &rule22},
965 	{1255, 1, &rule23},
966 	{1256, 1, &rule22},
967 	{1257, 1, &rule23},
968 	{1258, 1, &rule22},
969 	{1259, 1, &rule23},
970 	{1260, 1, &rule22},
971 	{1261, 1, &rule23},
972 	{1262, 1, &rule22},
973 	{1263, 1, &rule23},
974 	{1264, 1, &rule22},
975 	{1265, 1, &rule23},
976 	{1266, 1, &rule22},
977 	{1267, 1, &rule23},
978 	{1268, 1, &rule22},
979 	{1269, 1, &rule23},
980 	{1270, 1, &rule22},
981 	{1271, 1, &rule23},
982 	{1272, 1, &rule22},
983 	{1273, 1, &rule23},
984 	{1274, 1, &rule22},
985 	{1275, 1, &rule23},
986 	{1276, 1, &rule22},
987 	{1277, 1, &rule23},
988 	{1278, 1, &rule22},
989 	{1279, 1, &rule23},
990 	{1280, 1, &rule22},
991 	{1281, 1, &rule23},
992 	{1282, 1, &rule22},
993 	{1283, 1, &rule23},
994 	{1284, 1, &rule22},
995 	{1285, 1, &rule23},
996 	{1286, 1, &rule22},
997 	{1287, 1, &rule23},
998 	{1288, 1, &rule22},
999 	{1289, 1, &rule23},
1000 	{1290, 1, &rule22},
1001 	{1291, 1, &rule23},
1002 	{1292, 1, &rule22},
1003 	{1293, 1, &rule23},
1004 	{1294, 1, &rule22},
1005 	{1295, 1, &rule23},
1006 	{1296, 1, &rule22},
1007 	{1297, 1, &rule23},
1008 	{1298, 1, &rule22},
1009 	{1299, 1, &rule23},
1010 	{1300, 1, &rule22},
1011 	{1301, 1, &rule23},
1012 	{1302, 1, &rule22},
1013 	{1303, 1, &rule23},
1014 	{1304, 1, &rule22},
1015 	{1305, 1, &rule23},
1016 	{1306, 1, &rule22},
1017 	{1307, 1, &rule23},
1018 	{1308, 1, &rule22},
1019 	{1309, 1, &rule23},
1020 	{1310, 1, &rule22},
1021 	{1311, 1, &rule23},
1022 	{1312, 1, &rule22},
1023 	{1313, 1, &rule23},
1024 	{1314, 1, &rule22},
1025 	{1315, 1, &rule23},
1026 	{1316, 1, &rule22},
1027 	{1317, 1, &rule23},
1028 	{1318, 1, &rule22},
1029 	{1319, 1, &rule23},
1030 	{1320, 1, &rule22},
1031 	{1321, 1, &rule23},
1032 	{1322, 1, &rule22},
1033 	{1323, 1, &rule23},
1034 	{1324, 1, &rule22},
1035 	{1325, 1, &rule23},
1036 	{1326, 1, &rule22},
1037 	{1327, 1, &rule23},
1038 	{1329, 38, &rule122},
1039 	{1369, 1, &rule91},
1040 	{1370, 6, &rule2},
1041 	{1376, 1, &rule20},
1042 	{1377, 38, &rule123},
1043 	{1415, 2, &rule20},
1044 	{1417, 1, &rule2},
1045 	{1418, 1, &rule7},
1046 	{1421, 2, &rule13},
1047 	{1423, 1, &rule3},
1048 	{1425, 45, &rule92},
1049 	{1470, 1, &rule7},
1050 	{1471, 1, &rule92},
1051 	{1472, 1, &rule2},
1052 	{1473, 2, &rule92},
1053 	{1475, 1, &rule2},
1054 	{1476, 2, &rule92},
1055 	{1478, 1, &rule2},
1056 	{1479, 1, &rule92},
1057 	{1488, 27, &rule14},
1058 	{1519, 4, &rule14},
1059 	{1523, 2, &rule2},
1060 	{1536, 6, &rule16},
1061 	{1542, 3, &rule6},
1062 	{1545, 2, &rule2},
1063 	{1547, 1, &rule3},
1064 	{1548, 2, &rule2},
1065 	{1550, 2, &rule13},
1066 	{1552, 11, &rule92},
1067 	{1563, 1, &rule2},
1068 	{1564, 1, &rule16},
1069 	{1566, 2, &rule2},
1070 	{1568, 32, &rule14},
1071 	{1600, 1, &rule91},
1072 	{1601, 10, &rule14},
1073 	{1611, 21, &rule92},
1074 	{1632, 10, &rule8},
1075 	{1642, 4, &rule2},
1076 	{1646, 2, &rule14},
1077 	{1648, 1, &rule92},
1078 	{1649, 99, &rule14},
1079 	{1748, 1, &rule2},
1080 	{1749, 1, &rule14},
1081 	{1750, 7, &rule92},
1082 	{1757, 1, &rule16},
1083 	{1758, 1, &rule13},
1084 	{1759, 6, &rule92},
1085 	{1765, 2, &rule91},
1086 	{1767, 2, &rule92},
1087 	{1769, 1, &rule13},
1088 	{1770, 4, &rule92},
1089 	{1774, 2, &rule14},
1090 	{1776, 10, &rule8},
1091 	{1786, 3, &rule14},
1092 	{1789, 2, &rule13},
1093 	{1791, 1, &rule14},
1094 	{1792, 14, &rule2},
1095 	{1807, 1, &rule16},
1096 	{1808, 1, &rule14},
1097 	{1809, 1, &rule92},
1098 	{1810, 30, &rule14},
1099 	{1840, 27, &rule92},
1100 	{1869, 89, &rule14},
1101 	{1958, 11, &rule92},
1102 	{1969, 1, &rule14},
1103 	{1984, 10, &rule8},
1104 	{1994, 33, &rule14},
1105 	{2027, 9, &rule92},
1106 	{2036, 2, &rule91},
1107 	{2038, 1, &rule13},
1108 	{2039, 3, &rule2},
1109 	{2042, 1, &rule91},
1110 	{2045, 1, &rule92},
1111 	{2046, 2, &rule3},
1112 	{2048, 22, &rule14},
1113 	{2070, 4, &rule92},
1114 	{2074, 1, &rule91},
1115 	{2075, 9, &rule92},
1116 	{2084, 1, &rule91},
1117 	{2085, 3, &rule92},
1118 	{2088, 1, &rule91},
1119 	{2089, 5, &rule92},
1120 	{2096, 15, &rule2},
1121 	{2112, 25, &rule14},
1122 	{2137, 3, &rule92},
1123 	{2142, 1, &rule2},
1124 	{2144, 11, &rule14},
1125 	{2208, 21, &rule14},
1126 	{2230, 18, &rule14},
1127 	{2259, 15, &rule92},
1128 	{2274, 1, &rule16},
1129 	{2275, 32, &rule92},
1130 	{2307, 1, &rule124},
1131 	{2308, 54, &rule14},
1132 	{2362, 1, &rule92},
1133 	{2363, 1, &rule124},
1134 	{2364, 1, &rule92},
1135 	{2365, 1, &rule14},
1136 	{2366, 3, &rule124},
1137 	{2369, 8, &rule92},
1138 	{2377, 4, &rule124},
1139 	{2381, 1, &rule92},
1140 	{2382, 2, &rule124},
1141 	{2384, 1, &rule14},
1142 	{2385, 7, &rule92},
1143 	{2392, 10, &rule14},
1144 	{2402, 2, &rule92},
1145 	{2404, 2, &rule2},
1146 	{2406, 10, &rule8},
1147 	{2416, 1, &rule2},
1148 	{2417, 1, &rule91},
1149 	{2418, 15, &rule14},
1150 	{2433, 1, &rule92},
1151 	{2434, 2, &rule124},
1152 	{2437, 8, &rule14},
1153 	{2447, 2, &rule14},
1154 	{2451, 22, &rule14},
1155 	{2474, 7, &rule14},
1156 	{2482, 1, &rule14},
1157 	{2486, 4, &rule14},
1158 	{2492, 1, &rule92},
1159 	{2493, 1, &rule14},
1160 	{2494, 3, &rule124},
1161 	{2497, 4, &rule92},
1162 	{2503, 2, &rule124},
1163 	{2507, 2, &rule124},
1164 	{2509, 1, &rule92},
1165 	{2510, 1, &rule14},
1166 	{2519, 1, &rule124},
1167 	{2524, 2, &rule14},
1168 	{2527, 3, &rule14},
1169 	{2530, 2, &rule92},
1170 	{2534, 10, &rule8},
1171 	{2544, 2, &rule14},
1172 	{2546, 2, &rule3},
1173 	{2548, 6, &rule17},
1174 	{2554, 1, &rule13},
1175 	{2555, 1, &rule3},
1176 	{2556, 1, &rule14},
1177 	{2557, 1, &rule2},
1178 	{2558, 1, &rule92},
1179 	{2561, 2, &rule92},
1180 	{2563, 1, &rule124},
1181 	{2565, 6, &rule14},
1182 	{2575, 2, &rule14},
1183 	{2579, 22, &rule14},
1184 	{2602, 7, &rule14},
1185 	{2610, 2, &rule14},
1186 	{2613, 2, &rule14},
1187 	{2616, 2, &rule14},
1188 	{2620, 1, &rule92},
1189 	{2622, 3, &rule124},
1190 	{2625, 2, &rule92},
1191 	{2631, 2, &rule92},
1192 	{2635, 3, &rule92},
1193 	{2641, 1, &rule92},
1194 	{2649, 4, &rule14},
1195 	{2654, 1, &rule14},
1196 	{2662, 10, &rule8},
1197 	{2672, 2, &rule92},
1198 	{2674, 3, &rule14},
1199 	{2677, 1, &rule92},
1200 	{2678, 1, &rule2},
1201 	{2689, 2, &rule92},
1202 	{2691, 1, &rule124},
1203 	{2693, 9, &rule14},
1204 	{2703, 3, &rule14},
1205 	{2707, 22, &rule14},
1206 	{2730, 7, &rule14},
1207 	{2738, 2, &rule14},
1208 	{2741, 5, &rule14},
1209 	{2748, 1, &rule92},
1210 	{2749, 1, &rule14},
1211 	{2750, 3, &rule124},
1212 	{2753, 5, &rule92},
1213 	{2759, 2, &rule92},
1214 	{2761, 1, &rule124},
1215 	{2763, 2, &rule124},
1216 	{2765, 1, &rule92},
1217 	{2768, 1, &rule14},
1218 	{2784, 2, &rule14},
1219 	{2786, 2, &rule92},
1220 	{2790, 10, &rule8},
1221 	{2800, 1, &rule2},
1222 	{2801, 1, &rule3},
1223 	{2809, 1, &rule14},
1224 	{2810, 6, &rule92},
1225 	{2817, 1, &rule92},
1226 	{2818, 2, &rule124},
1227 	{2821, 8, &rule14},
1228 	{2831, 2, &rule14},
1229 	{2835, 22, &rule14},
1230 	{2858, 7, &rule14},
1231 	{2866, 2, &rule14},
1232 	{2869, 5, &rule14},
1233 	{2876, 1, &rule92},
1234 	{2877, 1, &rule14},
1235 	{2878, 1, &rule124},
1236 	{2879, 1, &rule92},
1237 	{2880, 1, &rule124},
1238 	{2881, 4, &rule92},
1239 	{2887, 2, &rule124},
1240 	{2891, 2, &rule124},
1241 	{2893, 1, &rule92},
1242 	{2901, 2, &rule92},
1243 	{2903, 1, &rule124},
1244 	{2908, 2, &rule14},
1245 	{2911, 3, &rule14},
1246 	{2914, 2, &rule92},
1247 	{2918, 10, &rule8},
1248 	{2928, 1, &rule13},
1249 	{2929, 1, &rule14},
1250 	{2930, 6, &rule17},
1251 	{2946, 1, &rule92},
1252 	{2947, 1, &rule14},
1253 	{2949, 6, &rule14},
1254 	{2958, 3, &rule14},
1255 	{2962, 4, &rule14},
1256 	{2969, 2, &rule14},
1257 	{2972, 1, &rule14},
1258 	{2974, 2, &rule14},
1259 	{2979, 2, &rule14},
1260 	{2984, 3, &rule14},
1261 	{2990, 12, &rule14},
1262 	{3006, 2, &rule124},
1263 	{3008, 1, &rule92},
1264 	{3009, 2, &rule124},
1265 	{3014, 3, &rule124},
1266 	{3018, 3, &rule124},
1267 	{3021, 1, &rule92},
1268 	{3024, 1, &rule14},
1269 	{3031, 1, &rule124},
1270 	{3046, 10, &rule8},
1271 	{3056, 3, &rule17},
1272 	{3059, 6, &rule13},
1273 	{3065, 1, &rule3},
1274 	{3066, 1, &rule13},
1275 	{3072, 1, &rule92},
1276 	{3073, 3, &rule124},
1277 	{3076, 1, &rule92},
1278 	{3077, 8, &rule14},
1279 	{3086, 3, &rule14},
1280 	{3090, 23, &rule14},
1281 	{3114, 16, &rule14},
1282 	{3133, 1, &rule14},
1283 	{3134, 3, &rule92},
1284 	{3137, 4, &rule124},
1285 	{3142, 3, &rule92},
1286 	{3146, 4, &rule92},
1287 	{3157, 2, &rule92},
1288 	{3160, 3, &rule14},
1289 	{3168, 2, &rule14},
1290 	{3170, 2, &rule92},
1291 	{3174, 10, &rule8},
1292 	{3191, 1, &rule2},
1293 	{3192, 7, &rule17},
1294 	{3199, 1, &rule13},
1295 	{3200, 1, &rule14},
1296 	{3201, 1, &rule92},
1297 	{3202, 2, &rule124},
1298 	{3204, 1, &rule2},
1299 	{3205, 8, &rule14},
1300 	{3214, 3, &rule14},
1301 	{3218, 23, &rule14},
1302 	{3242, 10, &rule14},
1303 	{3253, 5, &rule14},
1304 	{3260, 1, &rule92},
1305 	{3261, 1, &rule14},
1306 	{3262, 1, &rule124},
1307 	{3263, 1, &rule92},
1308 	{3264, 5, &rule124},
1309 	{3270, 1, &rule92},
1310 	{3271, 2, &rule124},
1311 	{3274, 2, &rule124},
1312 	{3276, 2, &rule92},
1313 	{3285, 2, &rule124},
1314 	{3294, 1, &rule14},
1315 	{3296, 2, &rule14},
1316 	{3298, 2, &rule92},
1317 	{3302, 10, &rule8},
1318 	{3313, 2, &rule14},
1319 	{3328, 2, &rule92},
1320 	{3330, 2, &rule124},
1321 	{3332, 9, &rule14},
1322 	{3342, 3, &rule14},
1323 	{3346, 41, &rule14},
1324 	{3387, 2, &rule92},
1325 	{3389, 1, &rule14},
1326 	{3390, 3, &rule124},
1327 	{3393, 4, &rule92},
1328 	{3398, 3, &rule124},
1329 	{3402, 3, &rule124},
1330 	{3405, 1, &rule92},
1331 	{3406, 1, &rule14},
1332 	{3407, 1, &rule13},
1333 	{3412, 3, &rule14},
1334 	{3415, 1, &rule124},
1335 	{3416, 7, &rule17},
1336 	{3423, 3, &rule14},
1337 	{3426, 2, &rule92},
1338 	{3430, 10, &rule8},
1339 	{3440, 9, &rule17},
1340 	{3449, 1, &rule13},
1341 	{3450, 6, &rule14},
1342 	{3457, 1, &rule92},
1343 	{3458, 2, &rule124},
1344 	{3461, 18, &rule14},
1345 	{3482, 24, &rule14},
1346 	{3507, 9, &rule14},
1347 	{3517, 1, &rule14},
1348 	{3520, 7, &rule14},
1349 	{3530, 1, &rule92},
1350 	{3535, 3, &rule124},
1351 	{3538, 3, &rule92},
1352 	{3542, 1, &rule92},
1353 	{3544, 8, &rule124},
1354 	{3558, 10, &rule8},
1355 	{3570, 2, &rule124},
1356 	{3572, 1, &rule2},
1357 	{3585, 48, &rule14},
1358 	{3633, 1, &rule92},
1359 	{3634, 2, &rule14},
1360 	{3636, 7, &rule92},
1361 	{3647, 1, &rule3},
1362 	{3648, 6, &rule14},
1363 	{3654, 1, &rule91},
1364 	{3655, 8, &rule92},
1365 	{3663, 1, &rule2},
1366 	{3664, 10, &rule8},
1367 	{3674, 2, &rule2},
1368 	{3713, 2, &rule14},
1369 	{3716, 1, &rule14},
1370 	{3718, 5, &rule14},
1371 	{3724, 24, &rule14},
1372 	{3749, 1, &rule14},
1373 	{3751, 10, &rule14},
1374 	{3761, 1, &rule92},
1375 	{3762, 2, &rule14},
1376 	{3764, 9, &rule92},
1377 	{3773, 1, &rule14},
1378 	{3776, 5, &rule14},
1379 	{3782, 1, &rule91},
1380 	{3784, 6, &rule92},
1381 	{3792, 10, &rule8},
1382 	{3804, 4, &rule14},
1383 	{3840, 1, &rule14},
1384 	{3841, 3, &rule13},
1385 	{3844, 15, &rule2},
1386 	{3859, 1, &rule13},
1387 	{3860, 1, &rule2},
1388 	{3861, 3, &rule13},
1389 	{3864, 2, &rule92},
1390 	{3866, 6, &rule13},
1391 	{3872, 10, &rule8},
1392 	{3882, 10, &rule17},
1393 	{3892, 1, &rule13},
1394 	{3893, 1, &rule92},
1395 	{3894, 1, &rule13},
1396 	{3895, 1, &rule92},
1397 	{3896, 1, &rule13},
1398 	{3897, 1, &rule92},
1399 	{3898, 1, &rule4},
1400 	{3899, 1, &rule5},
1401 	{3900, 1, &rule4},
1402 	{3901, 1, &rule5},
1403 	{3902, 2, &rule124},
1404 	{3904, 8, &rule14},
1405 	{3913, 36, &rule14},
1406 	{3953, 14, &rule92},
1407 	{3967, 1, &rule124},
1408 	{3968, 5, &rule92},
1409 	{3973, 1, &rule2},
1410 	{3974, 2, &rule92},
1411 	{3976, 5, &rule14},
1412 	{3981, 11, &rule92},
1413 	{3993, 36, &rule92},
1414 	{4030, 8, &rule13},
1415 	{4038, 1, &rule92},
1416 	{4039, 6, &rule13},
1417 	{4046, 2, &rule13},
1418 	{4048, 5, &rule2},
1419 	{4053, 4, &rule13},
1420 	{4057, 2, &rule2},
1421 	{4096, 43, &rule14},
1422 	{4139, 2, &rule124},
1423 	{4141, 4, &rule92},
1424 	{4145, 1, &rule124},
1425 	{4146, 6, &rule92},
1426 	{4152, 1, &rule124},
1427 	{4153, 2, &rule92},
1428 	{4155, 2, &rule124},
1429 	{4157, 2, &rule92},
1430 	{4159, 1, &rule14},
1431 	{4160, 10, &rule8},
1432 	{4170, 6, &rule2},
1433 	{4176, 6, &rule14},
1434 	{4182, 2, &rule124},
1435 	{4184, 2, &rule92},
1436 	{4186, 4, &rule14},
1437 	{4190, 3, &rule92},
1438 	{4193, 1, &rule14},
1439 	{4194, 3, &rule124},
1440 	{4197, 2, &rule14},
1441 	{4199, 7, &rule124},
1442 	{4206, 3, &rule14},
1443 	{4209, 4, &rule92},
1444 	{4213, 13, &rule14},
1445 	{4226, 1, &rule92},
1446 	{4227, 2, &rule124},
1447 	{4229, 2, &rule92},
1448 	{4231, 6, &rule124},
1449 	{4237, 1, &rule92},
1450 	{4238, 1, &rule14},
1451 	{4239, 1, &rule124},
1452 	{4240, 10, &rule8},
1453 	{4250, 3, &rule124},
1454 	{4253, 1, &rule92},
1455 	{4254, 2, &rule13},
1456 	{4256, 38, &rule125},
1457 	{4295, 1, &rule125},
1458 	{4301, 1, &rule125},
1459 	{4304, 43, &rule126},
1460 	{4347, 1, &rule2},
1461 	{4348, 1, &rule91},
1462 	{4349, 3, &rule126},
1463 	{4352, 329, &rule14},
1464 	{4682, 4, &rule14},
1465 	{4688, 7, &rule14},
1466 	{4696, 1, &rule14},
1467 	{4698, 4, &rule14},
1468 	{4704, 41, &rule14},
1469 	{4746, 4, &rule14},
1470 	{4752, 33, &rule14},
1471 	{4786, 4, &rule14},
1472 	{4792, 7, &rule14},
1473 	{4800, 1, &rule14},
1474 	{4802, 4, &rule14},
1475 	{4808, 15, &rule14},
1476 	{4824, 57, &rule14},
1477 	{4882, 4, &rule14},
1478 	{4888, 67, &rule14},
1479 	{4957, 3, &rule92},
1480 	{4960, 9, &rule2},
1481 	{4969, 20, &rule17},
1482 	{4992, 16, &rule14},
1483 	{5008, 10, &rule13},
1484 	{5024, 80, &rule127},
1485 	{5104, 6, &rule104},
1486 	{5112, 6, &rule110},
1487 	{5120, 1, &rule7},
1488 	{5121, 620, &rule14},
1489 	{5741, 1, &rule13},
1490 	{5742, 1, &rule2},
1491 	{5743, 17, &rule14},
1492 	{5760, 1, &rule1},
1493 	{5761, 26, &rule14},
1494 	{5787, 1, &rule4},
1495 	{5788, 1, &rule5},
1496 	{5792, 75, &rule14},
1497 	{5867, 3, &rule2},
1498 	{5870, 3, &rule128},
1499 	{5873, 8, &rule14},
1500 	{5888, 13, &rule14},
1501 	{5902, 4, &rule14},
1502 	{5906, 3, &rule92},
1503 	{5920, 18, &rule14},
1504 	{5938, 3, &rule92},
1505 	{5941, 2, &rule2},
1506 	{5952, 18, &rule14},
1507 	{5970, 2, &rule92},
1508 	{5984, 13, &rule14},
1509 	{5998, 3, &rule14},
1510 	{6002, 2, &rule92},
1511 	{6016, 52, &rule14},
1512 	{6068, 2, &rule92},
1513 	{6070, 1, &rule124},
1514 	{6071, 7, &rule92},
1515 	{6078, 8, &rule124},
1516 	{6086, 1, &rule92},
1517 	{6087, 2, &rule124},
1518 	{6089, 11, &rule92},
1519 	{6100, 3, &rule2},
1520 	{6103, 1, &rule91},
1521 	{6104, 3, &rule2},
1522 	{6107, 1, &rule3},
1523 	{6108, 1, &rule14},
1524 	{6109, 1, &rule92},
1525 	{6112, 10, &rule8},
1526 	{6128, 10, &rule17},
1527 	{6144, 6, &rule2},
1528 	{6150, 1, &rule7},
1529 	{6151, 4, &rule2},
1530 	{6155, 3, &rule92},
1531 	{6158, 1, &rule16},
1532 	{6160, 10, &rule8},
1533 	{6176, 35, &rule14},
1534 	{6211, 1, &rule91},
1535 	{6212, 53, &rule14},
1536 	{6272, 5, &rule14},
1537 	{6277, 2, &rule92},
1538 	{6279, 34, &rule14},
1539 	{6313, 1, &rule92},
1540 	{6314, 1, &rule14},
1541 	{6320, 70, &rule14},
1542 	{6400, 31, &rule14},
1543 	{6432, 3, &rule92},
1544 	{6435, 4, &rule124},
1545 	{6439, 2, &rule92},
1546 	{6441, 3, &rule124},
1547 	{6448, 2, &rule124},
1548 	{6450, 1, &rule92},
1549 	{6451, 6, &rule124},
1550 	{6457, 3, &rule92},
1551 	{6464, 1, &rule13},
1552 	{6468, 2, &rule2},
1553 	{6470, 10, &rule8},
1554 	{6480, 30, &rule14},
1555 	{6512, 5, &rule14},
1556 	{6528, 44, &rule14},
1557 	{6576, 26, &rule14},
1558 	{6608, 10, &rule8},
1559 	{6618, 1, &rule17},
1560 	{6622, 34, &rule13},
1561 	{6656, 23, &rule14},
1562 	{6679, 2, &rule92},
1563 	{6681, 2, &rule124},
1564 	{6683, 1, &rule92},
1565 	{6686, 2, &rule2},
1566 	{6688, 53, &rule14},
1567 	{6741, 1, &rule124},
1568 	{6742, 1, &rule92},
1569 	{6743, 1, &rule124},
1570 	{6744, 7, &rule92},
1571 	{6752, 1, &rule92},
1572 	{6753, 1, &rule124},
1573 	{6754, 1, &rule92},
1574 	{6755, 2, &rule124},
1575 	{6757, 8, &rule92},
1576 	{6765, 6, &rule124},
1577 	{6771, 10, &rule92},
1578 	{6783, 1, &rule92},
1579 	{6784, 10, &rule8},
1580 	{6800, 10, &rule8},
1581 	{6816, 7, &rule2},
1582 	{6823, 1, &rule91},
1583 	{6824, 6, &rule2},
1584 	{6832, 14, &rule92},
1585 	{6846, 1, &rule119},
1586 	{6847, 2, &rule92},
1587 	{6912, 4, &rule92},
1588 	{6916, 1, &rule124},
1589 	{6917, 47, &rule14},
1590 	{6964, 1, &rule92},
1591 	{6965, 1, &rule124},
1592 	{6966, 5, &rule92},
1593 	{6971, 1, &rule124},
1594 	{6972, 1, &rule92},
1595 	{6973, 5, &rule124},
1596 	{6978, 1, &rule92},
1597 	{6979, 2, &rule124},
1598 	{6981, 7, &rule14},
1599 	{6992, 10, &rule8},
1600 	{7002, 7, &rule2},
1601 	{7009, 10, &rule13},
1602 	{7019, 9, &rule92},
1603 	{7028, 9, &rule13},
1604 	{7040, 2, &rule92},
1605 	{7042, 1, &rule124},
1606 	{7043, 30, &rule14},
1607 	{7073, 1, &rule124},
1608 	{7074, 4, &rule92},
1609 	{7078, 2, &rule124},
1610 	{7080, 2, &rule92},
1611 	{7082, 1, &rule124},
1612 	{7083, 3, &rule92},
1613 	{7086, 2, &rule14},
1614 	{7088, 10, &rule8},
1615 	{7098, 44, &rule14},
1616 	{7142, 1, &rule92},
1617 	{7143, 1, &rule124},
1618 	{7144, 2, &rule92},
1619 	{7146, 3, &rule124},
1620 	{7149, 1, &rule92},
1621 	{7150, 1, &rule124},
1622 	{7151, 3, &rule92},
1623 	{7154, 2, &rule124},
1624 	{7164, 4, &rule2},
1625 	{7168, 36, &rule14},
1626 	{7204, 8, &rule124},
1627 	{7212, 8, &rule92},
1628 	{7220, 2, &rule124},
1629 	{7222, 2, &rule92},
1630 	{7227, 5, &rule2},
1631 	{7232, 10, &rule8},
1632 	{7245, 3, &rule14},
1633 	{7248, 10, &rule8},
1634 	{7258, 30, &rule14},
1635 	{7288, 6, &rule91},
1636 	{7294, 2, &rule2},
1637 	{7296, 1, &rule129},
1638 	{7297, 1, &rule130},
1639 	{7298, 1, &rule131},
1640 	{7299, 2, &rule132},
1641 	{7301, 1, &rule133},
1642 	{7302, 1, &rule134},
1643 	{7303, 1, &rule135},
1644 	{7304, 1, &rule136},
1645 	{7312, 43, &rule137},
1646 	{7357, 3, &rule137},
1647 	{7360, 8, &rule2},
1648 	{7376, 3, &rule92},
1649 	{7379, 1, &rule2},
1650 	{7380, 13, &rule92},
1651 	{7393, 1, &rule124},
1652 	{7394, 7, &rule92},
1653 	{7401, 4, &rule14},
1654 	{7405, 1, &rule92},
1655 	{7406, 6, &rule14},
1656 	{7412, 1, &rule92},
1657 	{7413, 2, &rule14},
1658 	{7415, 1, &rule124},
1659 	{7416, 2, &rule92},
1660 	{7418, 1, &rule14},
1661 	{7424, 44, &rule20},
1662 	{7468, 63, &rule91},
1663 	{7531, 13, &rule20},
1664 	{7544, 1, &rule91},
1665 	{7545, 1, &rule138},
1666 	{7546, 3, &rule20},
1667 	{7549, 1, &rule139},
1668 	{7550, 16, &rule20},
1669 	{7566, 1, &rule140},
1670 	{7567, 12, &rule20},
1671 	{7579, 37, &rule91},
1672 	{7616, 58, &rule92},
1673 	{7675, 5, &rule92},
1674 	{7680, 1, &rule22},
1675 	{7681, 1, &rule23},
1676 	{7682, 1, &rule22},
1677 	{7683, 1, &rule23},
1678 	{7684, 1, &rule22},
1679 	{7685, 1, &rule23},
1680 	{7686, 1, &rule22},
1681 	{7687, 1, &rule23},
1682 	{7688, 1, &rule22},
1683 	{7689, 1, &rule23},
1684 	{7690, 1, &rule22},
1685 	{7691, 1, &rule23},
1686 	{7692, 1, &rule22},
1687 	{7693, 1, &rule23},
1688 	{7694, 1, &rule22},
1689 	{7695, 1, &rule23},
1690 	{7696, 1, &rule22},
1691 	{7697, 1, &rule23},
1692 	{7698, 1, &rule22},
1693 	{7699, 1, &rule23},
1694 	{7700, 1, &rule22},
1695 	{7701, 1, &rule23},
1696 	{7702, 1, &rule22},
1697 	{7703, 1, &rule23},
1698 	{7704, 1, &rule22},
1699 	{7705, 1, &rule23},
1700 	{7706, 1, &rule22},
1701 	{7707, 1, &rule23},
1702 	{7708, 1, &rule22},
1703 	{7709, 1, &rule23},
1704 	{7710, 1, &rule22},
1705 	{7711, 1, &rule23},
1706 	{7712, 1, &rule22},
1707 	{7713, 1, &rule23},
1708 	{7714, 1, &rule22},
1709 	{7715, 1, &rule23},
1710 	{7716, 1, &rule22},
1711 	{7717, 1, &rule23},
1712 	{7718, 1, &rule22},
1713 	{7719, 1, &rule23},
1714 	{7720, 1, &rule22},
1715 	{7721, 1, &rule23},
1716 	{7722, 1, &rule22},
1717 	{7723, 1, &rule23},
1718 	{7724, 1, &rule22},
1719 	{7725, 1, &rule23},
1720 	{7726, 1, &rule22},
1721 	{7727, 1, &rule23},
1722 	{7728, 1, &rule22},
1723 	{7729, 1, &rule23},
1724 	{7730, 1, &rule22},
1725 	{7731, 1, &rule23},
1726 	{7732, 1, &rule22},
1727 	{7733, 1, &rule23},
1728 	{7734, 1, &rule22},
1729 	{7735, 1, &rule23},
1730 	{7736, 1, &rule22},
1731 	{7737, 1, &rule23},
1732 	{7738, 1, &rule22},
1733 	{7739, 1, &rule23},
1734 	{7740, 1, &rule22},
1735 	{7741, 1, &rule23},
1736 	{7742, 1, &rule22},
1737 	{7743, 1, &rule23},
1738 	{7744, 1, &rule22},
1739 	{7745, 1, &rule23},
1740 	{7746, 1, &rule22},
1741 	{7747, 1, &rule23},
1742 	{7748, 1, &rule22},
1743 	{7749, 1, &rule23},
1744 	{7750, 1, &rule22},
1745 	{7751, 1, &rule23},
1746 	{7752, 1, &rule22},
1747 	{7753, 1, &rule23},
1748 	{7754, 1, &rule22},
1749 	{7755, 1, &rule23},
1750 	{7756, 1, &rule22},
1751 	{7757, 1, &rule23},
1752 	{7758, 1, &rule22},
1753 	{7759, 1, &rule23},
1754 	{7760, 1, &rule22},
1755 	{7761, 1, &rule23},
1756 	{7762, 1, &rule22},
1757 	{7763, 1, &rule23},
1758 	{7764, 1, &rule22},
1759 	{7765, 1, &rule23},
1760 	{7766, 1, &rule22},
1761 	{7767, 1, &rule23},
1762 	{7768, 1, &rule22},
1763 	{7769, 1, &rule23},
1764 	{7770, 1, &rule22},
1765 	{7771, 1, &rule23},
1766 	{7772, 1, &rule22},
1767 	{7773, 1, &rule23},
1768 	{7774, 1, &rule22},
1769 	{7775, 1, &rule23},
1770 	{7776, 1, &rule22},
1771 	{7777, 1, &rule23},
1772 	{7778, 1, &rule22},
1773 	{7779, 1, &rule23},
1774 	{7780, 1, &rule22},
1775 	{7781, 1, &rule23},
1776 	{7782, 1, &rule22},
1777 	{7783, 1, &rule23},
1778 	{7784, 1, &rule22},
1779 	{7785, 1, &rule23},
1780 	{7786, 1, &rule22},
1781 	{7787, 1, &rule23},
1782 	{7788, 1, &rule22},
1783 	{7789, 1, &rule23},
1784 	{7790, 1, &rule22},
1785 	{7791, 1, &rule23},
1786 	{7792, 1, &rule22},
1787 	{7793, 1, &rule23},
1788 	{7794, 1, &rule22},
1789 	{7795, 1, &rule23},
1790 	{7796, 1, &rule22},
1791 	{7797, 1, &rule23},
1792 	{7798, 1, &rule22},
1793 	{7799, 1, &rule23},
1794 	{7800, 1, &rule22},
1795 	{7801, 1, &rule23},
1796 	{7802, 1, &rule22},
1797 	{7803, 1, &rule23},
1798 	{7804, 1, &rule22},
1799 	{7805, 1, &rule23},
1800 	{7806, 1, &rule22},
1801 	{7807, 1, &rule23},
1802 	{7808, 1, &rule22},
1803 	{7809, 1, &rule23},
1804 	{7810, 1, &rule22},
1805 	{7811, 1, &rule23},
1806 	{7812, 1, &rule22},
1807 	{7813, 1, &rule23},
1808 	{7814, 1, &rule22},
1809 	{7815, 1, &rule23},
1810 	{7816, 1, &rule22},
1811 	{7817, 1, &rule23},
1812 	{7818, 1, &rule22},
1813 	{7819, 1, &rule23},
1814 	{7820, 1, &rule22},
1815 	{7821, 1, &rule23},
1816 	{7822, 1, &rule22},
1817 	{7823, 1, &rule23},
1818 	{7824, 1, &rule22},
1819 	{7825, 1, &rule23},
1820 	{7826, 1, &rule22},
1821 	{7827, 1, &rule23},
1822 	{7828, 1, &rule22},
1823 	{7829, 1, &rule23},
1824 	{7830, 5, &rule20},
1825 	{7835, 1, &rule141},
1826 	{7836, 2, &rule20},
1827 	{7838, 1, &rule142},
1828 	{7839, 1, &rule20},
1829 	{7840, 1, &rule22},
1830 	{7841, 1, &rule23},
1831 	{7842, 1, &rule22},
1832 	{7843, 1, &rule23},
1833 	{7844, 1, &rule22},
1834 	{7845, 1, &rule23},
1835 	{7846, 1, &rule22},
1836 	{7847, 1, &rule23},
1837 	{7848, 1, &rule22},
1838 	{7849, 1, &rule23},
1839 	{7850, 1, &rule22},
1840 	{7851, 1, &rule23},
1841 	{7852, 1, &rule22},
1842 	{7853, 1, &rule23},
1843 	{7854, 1, &rule22},
1844 	{7855, 1, &rule23},
1845 	{7856, 1, &rule22},
1846 	{7857, 1, &rule23},
1847 	{7858, 1, &rule22},
1848 	{7859, 1, &rule23},
1849 	{7860, 1, &rule22},
1850 	{7861, 1, &rule23},
1851 	{7862, 1, &rule22},
1852 	{7863, 1, &rule23},
1853 	{7864, 1, &rule22},
1854 	{7865, 1, &rule23},
1855 	{7866, 1, &rule22},
1856 	{7867, 1, &rule23},
1857 	{7868, 1, &rule22},
1858 	{7869, 1, &rule23},
1859 	{7870, 1, &rule22},
1860 	{7871, 1, &rule23},
1861 	{7872, 1, &rule22},
1862 	{7873, 1, &rule23},
1863 	{7874, 1, &rule22},
1864 	{7875, 1, &rule23},
1865 	{7876, 1, &rule22},
1866 	{7877, 1, &rule23},
1867 	{7878, 1, &rule22},
1868 	{7879, 1, &rule23},
1869 	{7880, 1, &rule22},
1870 	{7881, 1, &rule23},
1871 	{7882, 1, &rule22},
1872 	{7883, 1, &rule23},
1873 	{7884, 1, &rule22},
1874 	{7885, 1, &rule23},
1875 	{7886, 1, &rule22},
1876 	{7887, 1, &rule23},
1877 	{7888, 1, &rule22},
1878 	{7889, 1, &rule23},
1879 	{7890, 1, &rule22},
1880 	{7891, 1, &rule23},
1881 	{7892, 1, &rule22},
1882 	{7893, 1, &rule23},
1883 	{7894, 1, &rule22},
1884 	{7895, 1, &rule23},
1885 	{7896, 1, &rule22},
1886 	{7897, 1, &rule23},
1887 	{7898, 1, &rule22},
1888 	{7899, 1, &rule23},
1889 	{7900, 1, &rule22},
1890 	{7901, 1, &rule23},
1891 	{7902, 1, &rule22},
1892 	{7903, 1, &rule23},
1893 	{7904, 1, &rule22},
1894 	{7905, 1, &rule23},
1895 	{7906, 1, &rule22},
1896 	{7907, 1, &rule23},
1897 	{7908, 1, &rule22},
1898 	{7909, 1, &rule23},
1899 	{7910, 1, &rule22},
1900 	{7911, 1, &rule23},
1901 	{7912, 1, &rule22},
1902 	{7913, 1, &rule23},
1903 	{7914, 1, &rule22},
1904 	{7915, 1, &rule23},
1905 	{7916, 1, &rule22},
1906 	{7917, 1, &rule23},
1907 	{7918, 1, &rule22},
1908 	{7919, 1, &rule23},
1909 	{7920, 1, &rule22},
1910 	{7921, 1, &rule23},
1911 	{7922, 1, &rule22},
1912 	{7923, 1, &rule23},
1913 	{7924, 1, &rule22},
1914 	{7925, 1, &rule23},
1915 	{7926, 1, &rule22},
1916 	{7927, 1, &rule23},
1917 	{7928, 1, &rule22},
1918 	{7929, 1, &rule23},
1919 	{7930, 1, &rule22},
1920 	{7931, 1, &rule23},
1921 	{7932, 1, &rule22},
1922 	{7933, 1, &rule23},
1923 	{7934, 1, &rule22},
1924 	{7935, 1, &rule23},
1925 	{7936, 8, &rule143},
1926 	{7944, 8, &rule144},
1927 	{7952, 6, &rule143},
1928 	{7960, 6, &rule144},
1929 	{7968, 8, &rule143},
1930 	{7976, 8, &rule144},
1931 	{7984, 8, &rule143},
1932 	{7992, 8, &rule144},
1933 	{8000, 6, &rule143},
1934 	{8008, 6, &rule144},
1935 	{8016, 1, &rule20},
1936 	{8017, 1, &rule143},
1937 	{8018, 1, &rule20},
1938 	{8019, 1, &rule143},
1939 	{8020, 1, &rule20},
1940 	{8021, 1, &rule143},
1941 	{8022, 1, &rule20},
1942 	{8023, 1, &rule143},
1943 	{8025, 1, &rule144},
1944 	{8027, 1, &rule144},
1945 	{8029, 1, &rule144},
1946 	{8031, 1, &rule144},
1947 	{8032, 8, &rule143},
1948 	{8040, 8, &rule144},
1949 	{8048, 2, &rule145},
1950 	{8050, 4, &rule146},
1951 	{8054, 2, &rule147},
1952 	{8056, 2, &rule148},
1953 	{8058, 2, &rule149},
1954 	{8060, 2, &rule150},
1955 	{8064, 8, &rule143},
1956 	{8072, 8, &rule151},
1957 	{8080, 8, &rule143},
1958 	{8088, 8, &rule151},
1959 	{8096, 8, &rule143},
1960 	{8104, 8, &rule151},
1961 	{8112, 2, &rule143},
1962 	{8114, 1, &rule20},
1963 	{8115, 1, &rule152},
1964 	{8116, 1, &rule20},
1965 	{8118, 2, &rule20},
1966 	{8120, 2, &rule144},
1967 	{8122, 2, &rule153},
1968 	{8124, 1, &rule154},
1969 	{8125, 1, &rule10},
1970 	{8126, 1, &rule155},
1971 	{8127, 3, &rule10},
1972 	{8130, 1, &rule20},
1973 	{8131, 1, &rule152},
1974 	{8132, 1, &rule20},
1975 	{8134, 2, &rule20},
1976 	{8136, 4, &rule156},
1977 	{8140, 1, &rule154},
1978 	{8141, 3, &rule10},
1979 	{8144, 2, &rule143},
1980 	{8146, 2, &rule20},
1981 	{8150, 2, &rule20},
1982 	{8152, 2, &rule144},
1983 	{8154, 2, &rule157},
1984 	{8157, 3, &rule10},
1985 	{8160, 2, &rule143},
1986 	{8162, 3, &rule20},
1987 	{8165, 1, &rule113},
1988 	{8166, 2, &rule20},
1989 	{8168, 2, &rule144},
1990 	{8170, 2, &rule158},
1991 	{8172, 1, &rule117},
1992 	{8173, 3, &rule10},
1993 	{8178, 1, &rule20},
1994 	{8179, 1, &rule152},
1995 	{8180, 1, &rule20},
1996 	{8182, 2, &rule20},
1997 	{8184, 2, &rule159},
1998 	{8186, 2, &rule160},
1999 	{8188, 1, &rule154},
2000 	{8189, 2, &rule10},
2001 	{8192, 11, &rule1},
2002 	{8203, 5, &rule16},
2003 	{8208, 6, &rule7},
2004 	{8214, 2, &rule2},
2005 	{8216, 1, &rule15},
2006 	{8217, 1, &rule19},
2007 	{8218, 1, &rule4},
2008 	{8219, 2, &rule15},
2009 	{8221, 1, &rule19},
2010 	{8222, 1, &rule4},
2011 	{8223, 1, &rule15},
2012 	{8224, 8, &rule2},
2013 	{8232, 1, &rule161},
2014 	{8233, 1, &rule162},
2015 	{8234, 5, &rule16},
2016 	{8239, 1, &rule1},
2017 	{8240, 9, &rule2},
2018 	{8249, 1, &rule15},
2019 	{8250, 1, &rule19},
2020 	{8251, 4, &rule2},
2021 	{8255, 2, &rule11},
2022 	{8257, 3, &rule2},
2023 	{8260, 1, &rule6},
2024 	{8261, 1, &rule4},
2025 	{8262, 1, &rule5},
2026 	{8263, 11, &rule2},
2027 	{8274, 1, &rule6},
2028 	{8275, 1, &rule2},
2029 	{8276, 1, &rule11},
2030 	{8277, 10, &rule2},
2031 	{8287, 1, &rule1},
2032 	{8288, 5, &rule16},
2033 	{8294, 10, &rule16},
2034 	{8304, 1, &rule17},
2035 	{8305, 1, &rule91},
2036 	{8308, 6, &rule17},
2037 	{8314, 3, &rule6},
2038 	{8317, 1, &rule4},
2039 	{8318, 1, &rule5},
2040 	{8319, 1, &rule91},
2041 	{8320, 10, &rule17},
2042 	{8330, 3, &rule6},
2043 	{8333, 1, &rule4},
2044 	{8334, 1, &rule5},
2045 	{8336, 13, &rule91},
2046 	{8352, 32, &rule3},
2047 	{8400, 13, &rule92},
2048 	{8413, 4, &rule119},
2049 	{8417, 1, &rule92},
2050 	{8418, 3, &rule119},
2051 	{8421, 12, &rule92},
2052 	{8448, 2, &rule13},
2053 	{8450, 1, &rule107},
2054 	{8451, 4, &rule13},
2055 	{8455, 1, &rule107},
2056 	{8456, 2, &rule13},
2057 	{8458, 1, &rule20},
2058 	{8459, 3, &rule107},
2059 	{8462, 2, &rule20},
2060 	{8464, 3, &rule107},
2061 	{8467, 1, &rule20},
2062 	{8468, 1, &rule13},
2063 	{8469, 1, &rule107},
2064 	{8470, 2, &rule13},
2065 	{8472, 1, &rule6},
2066 	{8473, 5, &rule107},
2067 	{8478, 6, &rule13},
2068 	{8484, 1, &rule107},
2069 	{8485, 1, &rule13},
2070 	{8486, 1, &rule163},
2071 	{8487, 1, &rule13},
2072 	{8488, 1, &rule107},
2073 	{8489, 1, &rule13},
2074 	{8490, 1, &rule164},
2075 	{8491, 1, &rule165},
2076 	{8492, 2, &rule107},
2077 	{8494, 1, &rule13},
2078 	{8495, 1, &rule20},
2079 	{8496, 2, &rule107},
2080 	{8498, 1, &rule166},
2081 	{8499, 1, &rule107},
2082 	{8500, 1, &rule20},
2083 	{8501, 4, &rule14},
2084 	{8505, 1, &rule20},
2085 	{8506, 2, &rule13},
2086 	{8508, 2, &rule20},
2087 	{8510, 2, &rule107},
2088 	{8512, 5, &rule6},
2089 	{8517, 1, &rule107},
2090 	{8518, 4, &rule20},
2091 	{8522, 1, &rule13},
2092 	{8523, 1, &rule6},
2093 	{8524, 2, &rule13},
2094 	{8526, 1, &rule167},
2095 	{8527, 1, &rule13},
2096 	{8528, 16, &rule17},
2097 	{8544, 16, &rule168},
2098 	{8560, 16, &rule169},
2099 	{8576, 3, &rule128},
2100 	{8579, 1, &rule22},
2101 	{8580, 1, &rule23},
2102 	{8581, 4, &rule128},
2103 	{8585, 1, &rule17},
2104 	{8586, 2, &rule13},
2105 	{8592, 5, &rule6},
2106 	{8597, 5, &rule13},
2107 	{8602, 2, &rule6},
2108 	{8604, 4, &rule13},
2109 	{8608, 1, &rule6},
2110 	{8609, 2, &rule13},
2111 	{8611, 1, &rule6},
2112 	{8612, 2, &rule13},
2113 	{8614, 1, &rule6},
2114 	{8615, 7, &rule13},
2115 	{8622, 1, &rule6},
2116 	{8623, 31, &rule13},
2117 	{8654, 2, &rule6},
2118 	{8656, 2, &rule13},
2119 	{8658, 1, &rule6},
2120 	{8659, 1, &rule13},
2121 	{8660, 1, &rule6},
2122 	{8661, 31, &rule13},
2123 	{8692, 268, &rule6},
2124 	{8960, 8, &rule13},
2125 	{8968, 1, &rule4},
2126 	{8969, 1, &rule5},
2127 	{8970, 1, &rule4},
2128 	{8971, 1, &rule5},
2129 	{8972, 20, &rule13},
2130 	{8992, 2, &rule6},
2131 	{8994, 7, &rule13},
2132 	{9001, 1, &rule4},
2133 	{9002, 1, &rule5},
2134 	{9003, 81, &rule13},
2135 	{9084, 1, &rule6},
2136 	{9085, 30, &rule13},
2137 	{9115, 25, &rule6},
2138 	{9140, 40, &rule13},
2139 	{9180, 6, &rule6},
2140 	{9186, 69, &rule13},
2141 	{9280, 11, &rule13},
2142 	{9312, 60, &rule17},
2143 	{9372, 26, &rule13},
2144 	{9398, 26, &rule170},
2145 	{9424, 26, &rule171},
2146 	{9450, 22, &rule17},
2147 	{9472, 183, &rule13},
2148 	{9655, 1, &rule6},
2149 	{9656, 9, &rule13},
2150 	{9665, 1, &rule6},
2151 	{9666, 54, &rule13},
2152 	{9720, 8, &rule6},
2153 	{9728, 111, &rule13},
2154 	{9839, 1, &rule6},
2155 	{9840, 248, &rule13},
2156 	{10088, 1, &rule4},
2157 	{10089, 1, &rule5},
2158 	{10090, 1, &rule4},
2159 	{10091, 1, &rule5},
2160 	{10092, 1, &rule4},
2161 	{10093, 1, &rule5},
2162 	{10094, 1, &rule4},
2163 	{10095, 1, &rule5},
2164 	{10096, 1, &rule4},
2165 	{10097, 1, &rule5},
2166 	{10098, 1, &rule4},
2167 	{10099, 1, &rule5},
2168 	{10100, 1, &rule4},
2169 	{10101, 1, &rule5},
2170 	{10102, 30, &rule17},
2171 	{10132, 44, &rule13},
2172 	{10176, 5, &rule6},
2173 	{10181, 1, &rule4},
2174 	{10182, 1, &rule5},
2175 	{10183, 31, &rule6},
2176 	{10214, 1, &rule4},
2177 	{10215, 1, &rule5},
2178 	{10216, 1, &rule4},
2179 	{10217, 1, &rule5},
2180 	{10218, 1, &rule4},
2181 	{10219, 1, &rule5},
2182 	{10220, 1, &rule4},
2183 	{10221, 1, &rule5},
2184 	{10222, 1, &rule4},
2185 	{10223, 1, &rule5},
2186 	{10224, 16, &rule6},
2187 	{10240, 256, &rule13},
2188 	{10496, 131, &rule6},
2189 	{10627, 1, &rule4},
2190 	{10628, 1, &rule5},
2191 	{10629, 1, &rule4},
2192 	{10630, 1, &rule5},
2193 	{10631, 1, &rule4},
2194 	{10632, 1, &rule5},
2195 	{10633, 1, &rule4},
2196 	{10634, 1, &rule5},
2197 	{10635, 1, &rule4},
2198 	{10636, 1, &rule5},
2199 	{10637, 1, &rule4},
2200 	{10638, 1, &rule5},
2201 	{10639, 1, &rule4},
2202 	{10640, 1, &rule5},
2203 	{10641, 1, &rule4},
2204 	{10642, 1, &rule5},
2205 	{10643, 1, &rule4},
2206 	{10644, 1, &rule5},
2207 	{10645, 1, &rule4},
2208 	{10646, 1, &rule5},
2209 	{10647, 1, &rule4},
2210 	{10648, 1, &rule5},
2211 	{10649, 63, &rule6},
2212 	{10712, 1, &rule4},
2213 	{10713, 1, &rule5},
2214 	{10714, 1, &rule4},
2215 	{10715, 1, &rule5},
2216 	{10716, 32, &rule6},
2217 	{10748, 1, &rule4},
2218 	{10749, 1, &rule5},
2219 	{10750, 258, &rule6},
2220 	{11008, 48, &rule13},
2221 	{11056, 21, &rule6},
2222 	{11077, 2, &rule13},
2223 	{11079, 6, &rule6},
2224 	{11085, 39, &rule13},
2225 	{11126, 32, &rule13},
2226 	{11159, 105, &rule13},
2227 	{11264, 47, &rule122},
2228 	{11312, 47, &rule123},
2229 	{11360, 1, &rule22},
2230 	{11361, 1, &rule23},
2231 	{11362, 1, &rule172},
2232 	{11363, 1, &rule173},
2233 	{11364, 1, &rule174},
2234 	{11365, 1, &rule175},
2235 	{11366, 1, &rule176},
2236 	{11367, 1, &rule22},
2237 	{11368, 1, &rule23},
2238 	{11369, 1, &rule22},
2239 	{11370, 1, &rule23},
2240 	{11371, 1, &rule22},
2241 	{11372, 1, &rule23},
2242 	{11373, 1, &rule177},
2243 	{11374, 1, &rule178},
2244 	{11375, 1, &rule179},
2245 	{11376, 1, &rule180},
2246 	{11377, 1, &rule20},
2247 	{11378, 1, &rule22},
2248 	{11379, 1, &rule23},
2249 	{11380, 1, &rule20},
2250 	{11381, 1, &rule22},
2251 	{11382, 1, &rule23},
2252 	{11383, 5, &rule20},
2253 	{11388, 2, &rule91},
2254 	{11390, 2, &rule181},
2255 	{11392, 1, &rule22},
2256 	{11393, 1, &rule23},
2257 	{11394, 1, &rule22},
2258 	{11395, 1, &rule23},
2259 	{11396, 1, &rule22},
2260 	{11397, 1, &rule23},
2261 	{11398, 1, &rule22},
2262 	{11399, 1, &rule23},
2263 	{11400, 1, &rule22},
2264 	{11401, 1, &rule23},
2265 	{11402, 1, &rule22},
2266 	{11403, 1, &rule23},
2267 	{11404, 1, &rule22},
2268 	{11405, 1, &rule23},
2269 	{11406, 1, &rule22},
2270 	{11407, 1, &rule23},
2271 	{11408, 1, &rule22},
2272 	{11409, 1, &rule23},
2273 	{11410, 1, &rule22},
2274 	{11411, 1, &rule23},
2275 	{11412, 1, &rule22},
2276 	{11413, 1, &rule23},
2277 	{11414, 1, &rule22},
2278 	{11415, 1, &rule23},
2279 	{11416, 1, &rule22},
2280 	{11417, 1, &rule23},
2281 	{11418, 1, &rule22},
2282 	{11419, 1, &rule23},
2283 	{11420, 1, &rule22},
2284 	{11421, 1, &rule23},
2285 	{11422, 1, &rule22},
2286 	{11423, 1, &rule23},
2287 	{11424, 1, &rule22},
2288 	{11425, 1, &rule23},
2289 	{11426, 1, &rule22},
2290 	{11427, 1, &rule23},
2291 	{11428, 1, &rule22},
2292 	{11429, 1, &rule23},
2293 	{11430, 1, &rule22},
2294 	{11431, 1, &rule23},
2295 	{11432, 1, &rule22},
2296 	{11433, 1, &rule23},
2297 	{11434, 1, &rule22},
2298 	{11435, 1, &rule23},
2299 	{11436, 1, &rule22},
2300 	{11437, 1, &rule23},
2301 	{11438, 1, &rule22},
2302 	{11439, 1, &rule23},
2303 	{11440, 1, &rule22},
2304 	{11441, 1, &rule23},
2305 	{11442, 1, &rule22},
2306 	{11443, 1, &rule23},
2307 	{11444, 1, &rule22},
2308 	{11445, 1, &rule23},
2309 	{11446, 1, &rule22},
2310 	{11447, 1, &rule23},
2311 	{11448, 1, &rule22},
2312 	{11449, 1, &rule23},
2313 	{11450, 1, &rule22},
2314 	{11451, 1, &rule23},
2315 	{11452, 1, &rule22},
2316 	{11453, 1, &rule23},
2317 	{11454, 1, &rule22},
2318 	{11455, 1, &rule23},
2319 	{11456, 1, &rule22},
2320 	{11457, 1, &rule23},
2321 	{11458, 1, &rule22},
2322 	{11459, 1, &rule23},
2323 	{11460, 1, &rule22},
2324 	{11461, 1, &rule23},
2325 	{11462, 1, &rule22},
2326 	{11463, 1, &rule23},
2327 	{11464, 1, &rule22},
2328 	{11465, 1, &rule23},
2329 	{11466, 1, &rule22},
2330 	{11467, 1, &rule23},
2331 	{11468, 1, &rule22},
2332 	{11469, 1, &rule23},
2333 	{11470, 1, &rule22},
2334 	{11471, 1, &rule23},
2335 	{11472, 1, &rule22},
2336 	{11473, 1, &rule23},
2337 	{11474, 1, &rule22},
2338 	{11475, 1, &rule23},
2339 	{11476, 1, &rule22},
2340 	{11477, 1, &rule23},
2341 	{11478, 1, &rule22},
2342 	{11479, 1, &rule23},
2343 	{11480, 1, &rule22},
2344 	{11481, 1, &rule23},
2345 	{11482, 1, &rule22},
2346 	{11483, 1, &rule23},
2347 	{11484, 1, &rule22},
2348 	{11485, 1, &rule23},
2349 	{11486, 1, &rule22},
2350 	{11487, 1, &rule23},
2351 	{11488, 1, &rule22},
2352 	{11489, 1, &rule23},
2353 	{11490, 1, &rule22},
2354 	{11491, 1, &rule23},
2355 	{11492, 1, &rule20},
2356 	{11493, 6, &rule13},
2357 	{11499, 1, &rule22},
2358 	{11500, 1, &rule23},
2359 	{11501, 1, &rule22},
2360 	{11502, 1, &rule23},
2361 	{11503, 3, &rule92},
2362 	{11506, 1, &rule22},
2363 	{11507, 1, &rule23},
2364 	{11513, 4, &rule2},
2365 	{11517, 1, &rule17},
2366 	{11518, 2, &rule2},
2367 	{11520, 38, &rule182},
2368 	{11559, 1, &rule182},
2369 	{11565, 1, &rule182},
2370 	{11568, 56, &rule14},
2371 	{11631, 1, &rule91},
2372 	{11632, 1, &rule2},
2373 	{11647, 1, &rule92},
2374 	{11648, 23, &rule14},
2375 	{11680, 7, &rule14},
2376 	{11688, 7, &rule14},
2377 	{11696, 7, &rule14},
2378 	{11704, 7, &rule14},
2379 	{11712, 7, &rule14},
2380 	{11720, 7, &rule14},
2381 	{11728, 7, &rule14},
2382 	{11736, 7, &rule14},
2383 	{11744, 32, &rule92},
2384 	{11776, 2, &rule2},
2385 	{11778, 1, &rule15},
2386 	{11779, 1, &rule19},
2387 	{11780, 1, &rule15},
2388 	{11781, 1, &rule19},
2389 	{11782, 3, &rule2},
2390 	{11785, 1, &rule15},
2391 	{11786, 1, &rule19},
2392 	{11787, 1, &rule2},
2393 	{11788, 1, &rule15},
2394 	{11789, 1, &rule19},
2395 	{11790, 9, &rule2},
2396 	{11799, 1, &rule7},
2397 	{11800, 2, &rule2},
2398 	{11802, 1, &rule7},
2399 	{11803, 1, &rule2},
2400 	{11804, 1, &rule15},
2401 	{11805, 1, &rule19},
2402 	{11806, 2, &rule2},
2403 	{11808, 1, &rule15},
2404 	{11809, 1, &rule19},
2405 	{11810, 1, &rule4},
2406 	{11811, 1, &rule5},
2407 	{11812, 1, &rule4},
2408 	{11813, 1, &rule5},
2409 	{11814, 1, &rule4},
2410 	{11815, 1, &rule5},
2411 	{11816, 1, &rule4},
2412 	{11817, 1, &rule5},
2413 	{11818, 5, &rule2},
2414 	{11823, 1, &rule91},
2415 	{11824, 10, &rule2},
2416 	{11834, 2, &rule7},
2417 	{11836, 4, &rule2},
2418 	{11840, 1, &rule7},
2419 	{11841, 1, &rule2},
2420 	{11842, 1, &rule4},
2421 	{11843, 13, &rule2},
2422 	{11856, 2, &rule13},
2423 	{11858, 1, &rule2},
2424 	{11904, 26, &rule13},
2425 	{11931, 89, &rule13},
2426 	{12032, 214, &rule13},
2427 	{12272, 12, &rule13},
2428 	{12288, 1, &rule1},
2429 	{12289, 3, &rule2},
2430 	{12292, 1, &rule13},
2431 	{12293, 1, &rule91},
2432 	{12294, 1, &rule14},
2433 	{12295, 1, &rule128},
2434 	{12296, 1, &rule4},
2435 	{12297, 1, &rule5},
2436 	{12298, 1, &rule4},
2437 	{12299, 1, &rule5},
2438 	{12300, 1, &rule4},
2439 	{12301, 1, &rule5},
2440 	{12302, 1, &rule4},
2441 	{12303, 1, &rule5},
2442 	{12304, 1, &rule4},
2443 	{12305, 1, &rule5},
2444 	{12306, 2, &rule13},
2445 	{12308, 1, &rule4},
2446 	{12309, 1, &rule5},
2447 	{12310, 1, &rule4},
2448 	{12311, 1, &rule5},
2449 	{12312, 1, &rule4},
2450 	{12313, 1, &rule5},
2451 	{12314, 1, &rule4},
2452 	{12315, 1, &rule5},
2453 	{12316, 1, &rule7},
2454 	{12317, 1, &rule4},
2455 	{12318, 2, &rule5},
2456 	{12320, 1, &rule13},
2457 	{12321, 9, &rule128},
2458 	{12330, 4, &rule92},
2459 	{12334, 2, &rule124},
2460 	{12336, 1, &rule7},
2461 	{12337, 5, &rule91},
2462 	{12342, 2, &rule13},
2463 	{12344, 3, &rule128},
2464 	{12347, 1, &rule91},
2465 	{12348, 1, &rule14},
2466 	{12349, 1, &rule2},
2467 	{12350, 2, &rule13},
2468 	{12353, 86, &rule14},
2469 	{12441, 2, &rule92},
2470 	{12443, 2, &rule10},
2471 	{12445, 2, &rule91},
2472 	{12447, 1, &rule14},
2473 	{12448, 1, &rule7},
2474 	{12449, 90, &rule14},
2475 	{12539, 1, &rule2},
2476 	{12540, 3, &rule91},
2477 	{12543, 1, &rule14},
2478 	{12549, 43, &rule14},
2479 	{12593, 94, &rule14},
2480 	{12688, 2, &rule13},
2481 	{12690, 4, &rule17},
2482 	{12694, 10, &rule13},
2483 	{12704, 32, &rule14},
2484 	{12736, 36, &rule13},
2485 	{12784, 16, &rule14},
2486 	{12800, 31, &rule13},
2487 	{12832, 10, &rule17},
2488 	{12842, 30, &rule13},
2489 	{12872, 8, &rule17},
2490 	{12880, 1, &rule13},
2491 	{12881, 15, &rule17},
2492 	{12896, 32, &rule13},
2493 	{12928, 10, &rule17},
2494 	{12938, 39, &rule13},
2495 	{12977, 15, &rule17},
2496 	{12992, 320, &rule13},
2497 	{13312, 6592, &rule14},
2498 	{19904, 64, &rule13},
2499 	{19968, 20989, &rule14},
2500 	{40960, 21, &rule14},
2501 	{40981, 1, &rule91},
2502 	{40982, 1143, &rule14},
2503 	{42128, 55, &rule13},
2504 	{42192, 40, &rule14},
2505 	{42232, 6, &rule91},
2506 	{42238, 2, &rule2},
2507 	{42240, 268, &rule14},
2508 	{42508, 1, &rule91},
2509 	{42509, 3, &rule2},
2510 	{42512, 16, &rule14},
2511 	{42528, 10, &rule8},
2512 	{42538, 2, &rule14},
2513 	{42560, 1, &rule22},
2514 	{42561, 1, &rule23},
2515 	{42562, 1, &rule22},
2516 	{42563, 1, &rule23},
2517 	{42564, 1, &rule22},
2518 	{42565, 1, &rule23},
2519 	{42566, 1, &rule22},
2520 	{42567, 1, &rule23},
2521 	{42568, 1, &rule22},
2522 	{42569, 1, &rule23},
2523 	{42570, 1, &rule22},
2524 	{42571, 1, &rule23},
2525 	{42572, 1, &rule22},
2526 	{42573, 1, &rule23},
2527 	{42574, 1, &rule22},
2528 	{42575, 1, &rule23},
2529 	{42576, 1, &rule22},
2530 	{42577, 1, &rule23},
2531 	{42578, 1, &rule22},
2532 	{42579, 1, &rule23},
2533 	{42580, 1, &rule22},
2534 	{42581, 1, &rule23},
2535 	{42582, 1, &rule22},
2536 	{42583, 1, &rule23},
2537 	{42584, 1, &rule22},
2538 	{42585, 1, &rule23},
2539 	{42586, 1, &rule22},
2540 	{42587, 1, &rule23},
2541 	{42588, 1, &rule22},
2542 	{42589, 1, &rule23},
2543 	{42590, 1, &rule22},
2544 	{42591, 1, &rule23},
2545 	{42592, 1, &rule22},
2546 	{42593, 1, &rule23},
2547 	{42594, 1, &rule22},
2548 	{42595, 1, &rule23},
2549 	{42596, 1, &rule22},
2550 	{42597, 1, &rule23},
2551 	{42598, 1, &rule22},
2552 	{42599, 1, &rule23},
2553 	{42600, 1, &rule22},
2554 	{42601, 1, &rule23},
2555 	{42602, 1, &rule22},
2556 	{42603, 1, &rule23},
2557 	{42604, 1, &rule22},
2558 	{42605, 1, &rule23},
2559 	{42606, 1, &rule14},
2560 	{42607, 1, &rule92},
2561 	{42608, 3, &rule119},
2562 	{42611, 1, &rule2},
2563 	{42612, 10, &rule92},
2564 	{42622, 1, &rule2},
2565 	{42623, 1, &rule91},
2566 	{42624, 1, &rule22},
2567 	{42625, 1, &rule23},
2568 	{42626, 1, &rule22},
2569 	{42627, 1, &rule23},
2570 	{42628, 1, &rule22},
2571 	{42629, 1, &rule23},
2572 	{42630, 1, &rule22},
2573 	{42631, 1, &rule23},
2574 	{42632, 1, &rule22},
2575 	{42633, 1, &rule23},
2576 	{42634, 1, &rule22},
2577 	{42635, 1, &rule23},
2578 	{42636, 1, &rule22},
2579 	{42637, 1, &rule23},
2580 	{42638, 1, &rule22},
2581 	{42639, 1, &rule23},
2582 	{42640, 1, &rule22},
2583 	{42641, 1, &rule23},
2584 	{42642, 1, &rule22},
2585 	{42643, 1, &rule23},
2586 	{42644, 1, &rule22},
2587 	{42645, 1, &rule23},
2588 	{42646, 1, &rule22},
2589 	{42647, 1, &rule23},
2590 	{42648, 1, &rule22},
2591 	{42649, 1, &rule23},
2592 	{42650, 1, &rule22},
2593 	{42651, 1, &rule23},
2594 	{42652, 2, &rule91},
2595 	{42654, 2, &rule92},
2596 	{42656, 70, &rule14},
2597 	{42726, 10, &rule128},
2598 	{42736, 2, &rule92},
2599 	{42738, 6, &rule2},
2600 	{42752, 23, &rule10},
2601 	{42775, 9, &rule91},
2602 	{42784, 2, &rule10},
2603 	{42786, 1, &rule22},
2604 	{42787, 1, &rule23},
2605 	{42788, 1, &rule22},
2606 	{42789, 1, &rule23},
2607 	{42790, 1, &rule22},
2608 	{42791, 1, &rule23},
2609 	{42792, 1, &rule22},
2610 	{42793, 1, &rule23},
2611 	{42794, 1, &rule22},
2612 	{42795, 1, &rule23},
2613 	{42796, 1, &rule22},
2614 	{42797, 1, &rule23},
2615 	{42798, 1, &rule22},
2616 	{42799, 1, &rule23},
2617 	{42800, 2, &rule20},
2618 	{42802, 1, &rule22},
2619 	{42803, 1, &rule23},
2620 	{42804, 1, &rule22},
2621 	{42805, 1, &rule23},
2622 	{42806, 1, &rule22},
2623 	{42807, 1, &rule23},
2624 	{42808, 1, &rule22},
2625 	{42809, 1, &rule23},
2626 	{42810, 1, &rule22},
2627 	{42811, 1, &rule23},
2628 	{42812, 1, &rule22},
2629 	{42813, 1, &rule23},
2630 	{42814, 1, &rule22},
2631 	{42815, 1, &rule23},
2632 	{42816, 1, &rule22},
2633 	{42817, 1, &rule23},
2634 	{42818, 1, &rule22},
2635 	{42819, 1, &rule23},
2636 	{42820, 1, &rule22},
2637 	{42821, 1, &rule23},
2638 	{42822, 1, &rule22},
2639 	{42823, 1, &rule23},
2640 	{42824, 1, &rule22},
2641 	{42825, 1, &rule23},
2642 	{42826, 1, &rule22},
2643 	{42827, 1, &rule23},
2644 	{42828, 1, &rule22},
2645 	{42829, 1, &rule23},
2646 	{42830, 1, &rule22},
2647 	{42831, 1, &rule23},
2648 	{42832, 1, &rule22},
2649 	{42833, 1, &rule23},
2650 	{42834, 1, &rule22},
2651 	{42835, 1, &rule23},
2652 	{42836, 1, &rule22},
2653 	{42837, 1, &rule23},
2654 	{42838, 1, &rule22},
2655 	{42839, 1, &rule23},
2656 	{42840, 1, &rule22},
2657 	{42841, 1, &rule23},
2658 	{42842, 1, &rule22},
2659 	{42843, 1, &rule23},
2660 	{42844, 1, &rule22},
2661 	{42845, 1, &rule23},
2662 	{42846, 1, &rule22},
2663 	{42847, 1, &rule23},
2664 	{42848, 1, &rule22},
2665 	{42849, 1, &rule23},
2666 	{42850, 1, &rule22},
2667 	{42851, 1, &rule23},
2668 	{42852, 1, &rule22},
2669 	{42853, 1, &rule23},
2670 	{42854, 1, &rule22},
2671 	{42855, 1, &rule23},
2672 	{42856, 1, &rule22},
2673 	{42857, 1, &rule23},
2674 	{42858, 1, &rule22},
2675 	{42859, 1, &rule23},
2676 	{42860, 1, &rule22},
2677 	{42861, 1, &rule23},
2678 	{42862, 1, &rule22},
2679 	{42863, 1, &rule23},
2680 	{42864, 1, &rule91},
2681 	{42865, 8, &rule20},
2682 	{42873, 1, &rule22},
2683 	{42874, 1, &rule23},
2684 	{42875, 1, &rule22},
2685 	{42876, 1, &rule23},
2686 	{42877, 1, &rule183},
2687 	{42878, 1, &rule22},
2688 	{42879, 1, &rule23},
2689 	{42880, 1, &rule22},
2690 	{42881, 1, &rule23},
2691 	{42882, 1, &rule22},
2692 	{42883, 1, &rule23},
2693 	{42884, 1, &rule22},
2694 	{42885, 1, &rule23},
2695 	{42886, 1, &rule22},
2696 	{42887, 1, &rule23},
2697 	{42888, 1, &rule91},
2698 	{42889, 2, &rule10},
2699 	{42891, 1, &rule22},
2700 	{42892, 1, &rule23},
2701 	{42893, 1, &rule184},
2702 	{42894, 1, &rule20},
2703 	{42895, 1, &rule14},
2704 	{42896, 1, &rule22},
2705 	{42897, 1, &rule23},
2706 	{42898, 1, &rule22},
2707 	{42899, 1, &rule23},
2708 	{42900, 1, &rule185},
2709 	{42901, 1, &rule20},
2710 	{42902, 1, &rule22},
2711 	{42903, 1, &rule23},
2712 	{42904, 1, &rule22},
2713 	{42905, 1, &rule23},
2714 	{42906, 1, &rule22},
2715 	{42907, 1, &rule23},
2716 	{42908, 1, &rule22},
2717 	{42909, 1, &rule23},
2718 	{42910, 1, &rule22},
2719 	{42911, 1, &rule23},
2720 	{42912, 1, &rule22},
2721 	{42913, 1, &rule23},
2722 	{42914, 1, &rule22},
2723 	{42915, 1, &rule23},
2724 	{42916, 1, &rule22},
2725 	{42917, 1, &rule23},
2726 	{42918, 1, &rule22},
2727 	{42919, 1, &rule23},
2728 	{42920, 1, &rule22},
2729 	{42921, 1, &rule23},
2730 	{42922, 1, &rule186},
2731 	{42923, 1, &rule187},
2732 	{42924, 1, &rule188},
2733 	{42925, 1, &rule189},
2734 	{42926, 1, &rule186},
2735 	{42927, 1, &rule20},
2736 	{42928, 1, &rule190},
2737 	{42929, 1, &rule191},
2738 	{42930, 1, &rule192},
2739 	{42931, 1, &rule193},
2740 	{42932, 1, &rule22},
2741 	{42933, 1, &rule23},
2742 	{42934, 1, &rule22},
2743 	{42935, 1, &rule23},
2744 	{42936, 1, &rule22},
2745 	{42937, 1, &rule23},
2746 	{42938, 1, &rule22},
2747 	{42939, 1, &rule23},
2748 	{42940, 1, &rule22},
2749 	{42941, 1, &rule23},
2750 	{42942, 1, &rule22},
2751 	{42943, 1, &rule23},
2752 	{42946, 1, &rule22},
2753 	{42947, 1, &rule23},
2754 	{42948, 1, &rule194},
2755 	{42949, 1, &rule195},
2756 	{42950, 1, &rule196},
2757 	{42951, 1, &rule22},
2758 	{42952, 1, &rule23},
2759 	{42953, 1, &rule22},
2760 	{42954, 1, &rule23},
2761 	{42997, 1, &rule22},
2762 	{42998, 1, &rule23},
2763 	{42999, 1, &rule14},
2764 	{43000, 2, &rule91},
2765 	{43002, 1, &rule20},
2766 	{43003, 7, &rule14},
2767 	{43010, 1, &rule92},
2768 	{43011, 3, &rule14},
2769 	{43014, 1, &rule92},
2770 	{43015, 4, &rule14},
2771 	{43019, 1, &rule92},
2772 	{43020, 23, &rule14},
2773 	{43043, 2, &rule124},
2774 	{43045, 2, &rule92},
2775 	{43047, 1, &rule124},
2776 	{43048, 4, &rule13},
2777 	{43052, 1, &rule92},
2778 	{43056, 6, &rule17},
2779 	{43062, 2, &rule13},
2780 	{43064, 1, &rule3},
2781 	{43065, 1, &rule13},
2782 	{43072, 52, &rule14},
2783 	{43124, 4, &rule2},
2784 	{43136, 2, &rule124},
2785 	{43138, 50, &rule14},
2786 	{43188, 16, &rule124},
2787 	{43204, 2, &rule92},
2788 	{43214, 2, &rule2},
2789 	{43216, 10, &rule8},
2790 	{43232, 18, &rule92},
2791 	{43250, 6, &rule14},
2792 	{43256, 3, &rule2},
2793 	{43259, 1, &rule14},
2794 	{43260, 1, &rule2},
2795 	{43261, 2, &rule14},
2796 	{43263, 1, &rule92},
2797 	{43264, 10, &rule8},
2798 	{43274, 28, &rule14},
2799 	{43302, 8, &rule92},
2800 	{43310, 2, &rule2},
2801 	{43312, 23, &rule14},
2802 	{43335, 11, &rule92},
2803 	{43346, 2, &rule124},
2804 	{43359, 1, &rule2},
2805 	{43360, 29, &rule14},
2806 	{43392, 3, &rule92},
2807 	{43395, 1, &rule124},
2808 	{43396, 47, &rule14},
2809 	{43443, 1, &rule92},
2810 	{43444, 2, &rule124},
2811 	{43446, 4, &rule92},
2812 	{43450, 2, &rule124},
2813 	{43452, 2, &rule92},
2814 	{43454, 3, &rule124},
2815 	{43457, 13, &rule2},
2816 	{43471, 1, &rule91},
2817 	{43472, 10, &rule8},
2818 	{43486, 2, &rule2},
2819 	{43488, 5, &rule14},
2820 	{43493, 1, &rule92},
2821 	{43494, 1, &rule91},
2822 	{43495, 9, &rule14},
2823 	{43504, 10, &rule8},
2824 	{43514, 5, &rule14},
2825 	{43520, 41, &rule14},
2826 	{43561, 6, &rule92},
2827 	{43567, 2, &rule124},
2828 	{43569, 2, &rule92},
2829 	{43571, 2, &rule124},
2830 	{43573, 2, &rule92},
2831 	{43584, 3, &rule14},
2832 	{43587, 1, &rule92},
2833 	{43588, 8, &rule14},
2834 	{43596, 1, &rule92},
2835 	{43597, 1, &rule124},
2836 	{43600, 10, &rule8},
2837 	{43612, 4, &rule2},
2838 	{43616, 16, &rule14},
2839 	{43632, 1, &rule91},
2840 	{43633, 6, &rule14},
2841 	{43639, 3, &rule13},
2842 	{43642, 1, &rule14},
2843 	{43643, 1, &rule124},
2844 	{43644, 1, &rule92},
2845 	{43645, 1, &rule124},
2846 	{43646, 50, &rule14},
2847 	{43696, 1, &rule92},
2848 	{43697, 1, &rule14},
2849 	{43698, 3, &rule92},
2850 	{43701, 2, &rule14},
2851 	{43703, 2, &rule92},
2852 	{43705, 5, &rule14},
2853 	{43710, 2, &rule92},
2854 	{43712, 1, &rule14},
2855 	{43713, 1, &rule92},
2856 	{43714, 1, &rule14},
2857 	{43739, 2, &rule14},
2858 	{43741, 1, &rule91},
2859 	{43742, 2, &rule2},
2860 	{43744, 11, &rule14},
2861 	{43755, 1, &rule124},
2862 	{43756, 2, &rule92},
2863 	{43758, 2, &rule124},
2864 	{43760, 2, &rule2},
2865 	{43762, 1, &rule14},
2866 	{43763, 2, &rule91},
2867 	{43765, 1, &rule124},
2868 	{43766, 1, &rule92},
2869 	{43777, 6, &rule14},
2870 	{43785, 6, &rule14},
2871 	{43793, 6, &rule14},
2872 	{43808, 7, &rule14},
2873 	{43816, 7, &rule14},
2874 	{43824, 35, &rule20},
2875 	{43859, 1, &rule197},
2876 	{43860, 7, &rule20},
2877 	{43867, 1, &rule10},
2878 	{43868, 4, &rule91},
2879 	{43872, 9, &rule20},
2880 	{43881, 1, &rule91},
2881 	{43882, 2, &rule10},
2882 	{43888, 80, &rule198},
2883 	{43968, 35, &rule14},
2884 	{44003, 2, &rule124},
2885 	{44005, 1, &rule92},
2886 	{44006, 2, &rule124},
2887 	{44008, 1, &rule92},
2888 	{44009, 2, &rule124},
2889 	{44011, 1, &rule2},
2890 	{44012, 1, &rule124},
2891 	{44013, 1, &rule92},
2892 	{44016, 10, &rule8},
2893 	{44032, 11172, &rule14},
2894 	{55216, 23, &rule14},
2895 	{55243, 49, &rule14},
2896 	{55296, 896, &rule199},
2897 	{56192, 128, &rule199},
2898 	{56320, 1024, &rule199},
2899 	{57344, 6400, &rule200},
2900 	{63744, 366, &rule14},
2901 	{64112, 106, &rule14},
2902 	{64256, 7, &rule20},
2903 	{64275, 5, &rule20},
2904 	{64285, 1, &rule14},
2905 	{64286, 1, &rule92},
2906 	{64287, 10, &rule14},
2907 	{64297, 1, &rule6},
2908 	{64298, 13, &rule14},
2909 	{64312, 5, &rule14},
2910 	{64318, 1, &rule14},
2911 	{64320, 2, &rule14},
2912 	{64323, 2, &rule14},
2913 	{64326, 108, &rule14},
2914 	{64434, 16, &rule10},
2915 	{64467, 363, &rule14},
2916 	{64830, 1, &rule5},
2917 	{64831, 1, &rule4},
2918 	{64848, 64, &rule14},
2919 	{64914, 54, &rule14},
2920 	{65008, 12, &rule14},
2921 	{65020, 1, &rule3},
2922 	{65021, 1, &rule13},
2923 	{65024, 16, &rule92},
2924 	{65040, 7, &rule2},
2925 	{65047, 1, &rule4},
2926 	{65048, 1, &rule5},
2927 	{65049, 1, &rule2},
2928 	{65056, 16, &rule92},
2929 	{65072, 1, &rule2},
2930 	{65073, 2, &rule7},
2931 	{65075, 2, &rule11},
2932 	{65077, 1, &rule4},
2933 	{65078, 1, &rule5},
2934 	{65079, 1, &rule4},
2935 	{65080, 1, &rule5},
2936 	{65081, 1, &rule4},
2937 	{65082, 1, &rule5},
2938 	{65083, 1, &rule4},
2939 	{65084, 1, &rule5},
2940 	{65085, 1, &rule4},
2941 	{65086, 1, &rule5},
2942 	{65087, 1, &rule4},
2943 	{65088, 1, &rule5},
2944 	{65089, 1, &rule4},
2945 	{65090, 1, &rule5},
2946 	{65091, 1, &rule4},
2947 	{65092, 1, &rule5},
2948 	{65093, 2, &rule2},
2949 	{65095, 1, &rule4},
2950 	{65096, 1, &rule5},
2951 	{65097, 4, &rule2},
2952 	{65101, 3, &rule11},
2953 	{65104, 3, &rule2},
2954 	{65108, 4, &rule2},
2955 	{65112, 1, &rule7},
2956 	{65113, 1, &rule4},
2957 	{65114, 1, &rule5},
2958 	{65115, 1, &rule4},
2959 	{65116, 1, &rule5},
2960 	{65117, 1, &rule4},
2961 	{65118, 1, &rule5},
2962 	{65119, 3, &rule2},
2963 	{65122, 1, &rule6},
2964 	{65123, 1, &rule7},
2965 	{65124, 3, &rule6},
2966 	{65128, 1, &rule2},
2967 	{65129, 1, &rule3},
2968 	{65130, 2, &rule2},
2969 	{65136, 5, &rule14},
2970 	{65142, 135, &rule14},
2971 	{65279, 1, &rule16},
2972 	{65281, 3, &rule2},
2973 	{65284, 1, &rule3},
2974 	{65285, 3, &rule2},
2975 	{65288, 1, &rule4},
2976 	{65289, 1, &rule5},
2977 	{65290, 1, &rule2},
2978 	{65291, 1, &rule6},
2979 	{65292, 1, &rule2},
2980 	{65293, 1, &rule7},
2981 	{65294, 2, &rule2},
2982 	{65296, 10, &rule8},
2983 	{65306, 2, &rule2},
2984 	{65308, 3, &rule6},
2985 	{65311, 2, &rule2},
2986 	{65313, 26, &rule9},
2987 	{65339, 1, &rule4},
2988 	{65340, 1, &rule2},
2989 	{65341, 1, &rule5},
2990 	{65342, 1, &rule10},
2991 	{65343, 1, &rule11},
2992 	{65344, 1, &rule10},
2993 	{65345, 26, &rule12},
2994 	{65371, 1, &rule4},
2995 	{65372, 1, &rule6},
2996 	{65373, 1, &rule5},
2997 	{65374, 1, &rule6},
2998 	{65375, 1, &rule4},
2999 	{65376, 1, &rule5},
3000 	{65377, 1, &rule2},
3001 	{65378, 1, &rule4},
3002 	{65379, 1, &rule5},
3003 	{65380, 2, &rule2},
3004 	{65382, 10, &rule14},
3005 	{65392, 1, &rule91},
3006 	{65393, 45, &rule14},
3007 	{65438, 2, &rule91},
3008 	{65440, 31, &rule14},
3009 	{65474, 6, &rule14},
3010 	{65482, 6, &rule14},
3011 	{65490, 6, &rule14},
3012 	{65498, 3, &rule14},
3013 	{65504, 2, &rule3},
3014 	{65506, 1, &rule6},
3015 	{65507, 1, &rule10},
3016 	{65508, 1, &rule13},
3017 	{65509, 2, &rule3},
3018 	{65512, 1, &rule13},
3019 	{65513, 4, &rule6},
3020 	{65517, 2, &rule13},
3021 	{65529, 3, &rule16},
3022 	{65532, 2, &rule13},
3023 	{65536, 12, &rule14},
3024 	{65549, 26, &rule14},
3025 	{65576, 19, &rule14},
3026 	{65596, 2, &rule14},
3027 	{65599, 15, &rule14},
3028 	{65616, 14, &rule14},
3029 	{65664, 123, &rule14},
3030 	{65792, 3, &rule2},
3031 	{65799, 45, &rule17},
3032 	{65847, 9, &rule13},
3033 	{65856, 53, &rule128},
3034 	{65909, 4, &rule17},
3035 	{65913, 17, &rule13},
3036 	{65930, 2, &rule17},
3037 	{65932, 3, &rule13},
3038 	{65936, 13, &rule13},
3039 	{65952, 1, &rule13},
3040 	{66000, 45, &rule13},
3041 	{66045, 1, &rule92},
3042 	{66176, 29, &rule14},
3043 	{66208, 49, &rule14},
3044 	{66272, 1, &rule92},
3045 	{66273, 27, &rule17},
3046 	{66304, 32, &rule14},
3047 	{66336, 4, &rule17},
3048 	{66349, 20, &rule14},
3049 	{66369, 1, &rule128},
3050 	{66370, 8, &rule14},
3051 	{66378, 1, &rule128},
3052 	{66384, 38, &rule14},
3053 	{66422, 5, &rule92},
3054 	{66432, 30, &rule14},
3055 	{66463, 1, &rule2},
3056 	{66464, 36, &rule14},
3057 	{66504, 8, &rule14},
3058 	{66512, 1, &rule2},
3059 	{66513, 5, &rule128},
3060 	{66560, 40, &rule201},
3061 	{66600, 40, &rule202},
3062 	{66640, 78, &rule14},
3063 	{66720, 10, &rule8},
3064 	{66736, 36, &rule201},
3065 	{66776, 36, &rule202},
3066 	{66816, 40, &rule14},
3067 	{66864, 52, &rule14},
3068 	{66927, 1, &rule2},
3069 	{67072, 311, &rule14},
3070 	{67392, 22, &rule14},
3071 	{67424, 8, &rule14},
3072 	{67584, 6, &rule14},
3073 	{67592, 1, &rule14},
3074 	{67594, 44, &rule14},
3075 	{67639, 2, &rule14},
3076 	{67644, 1, &rule14},
3077 	{67647, 23, &rule14},
3078 	{67671, 1, &rule2},
3079 	{67672, 8, &rule17},
3080 	{67680, 23, &rule14},
3081 	{67703, 2, &rule13},
3082 	{67705, 7, &rule17},
3083 	{67712, 31, &rule14},
3084 	{67751, 9, &rule17},
3085 	{67808, 19, &rule14},
3086 	{67828, 2, &rule14},
3087 	{67835, 5, &rule17},
3088 	{67840, 22, &rule14},
3089 	{67862, 6, &rule17},
3090 	{67871, 1, &rule2},
3091 	{67872, 26, &rule14},
3092 	{67903, 1, &rule2},
3093 	{67968, 56, &rule14},
3094 	{68028, 2, &rule17},
3095 	{68030, 2, &rule14},
3096 	{68032, 16, &rule17},
3097 	{68050, 46, &rule17},
3098 	{68096, 1, &rule14},
3099 	{68097, 3, &rule92},
3100 	{68101, 2, &rule92},
3101 	{68108, 4, &rule92},
3102 	{68112, 4, &rule14},
3103 	{68117, 3, &rule14},
3104 	{68121, 29, &rule14},
3105 	{68152, 3, &rule92},
3106 	{68159, 1, &rule92},
3107 	{68160, 9, &rule17},
3108 	{68176, 9, &rule2},
3109 	{68192, 29, &rule14},
3110 	{68221, 2, &rule17},
3111 	{68223, 1, &rule2},
3112 	{68224, 29, &rule14},
3113 	{68253, 3, &rule17},
3114 	{68288, 8, &rule14},
3115 	{68296, 1, &rule13},
3116 	{68297, 28, &rule14},
3117 	{68325, 2, &rule92},
3118 	{68331, 5, &rule17},
3119 	{68336, 7, &rule2},
3120 	{68352, 54, &rule14},
3121 	{68409, 7, &rule2},
3122 	{68416, 22, &rule14},
3123 	{68440, 8, &rule17},
3124 	{68448, 19, &rule14},
3125 	{68472, 8, &rule17},
3126 	{68480, 18, &rule14},
3127 	{68505, 4, &rule2},
3128 	{68521, 7, &rule17},
3129 	{68608, 73, &rule14},
3130 	{68736, 51, &rule97},
3131 	{68800, 51, &rule102},
3132 	{68858, 6, &rule17},
3133 	{68864, 36, &rule14},
3134 	{68900, 4, &rule92},
3135 	{68912, 10, &rule8},
3136 	{69216, 31, &rule17},
3137 	{69248, 42, &rule14},
3138 	{69291, 2, &rule92},
3139 	{69293, 1, &rule7},
3140 	{69296, 2, &rule14},
3141 	{69376, 29, &rule14},
3142 	{69405, 10, &rule17},
3143 	{69415, 1, &rule14},
3144 	{69424, 22, &rule14},
3145 	{69446, 11, &rule92},
3146 	{69457, 4, &rule17},
3147 	{69461, 5, &rule2},
3148 	{69552, 21, &rule14},
3149 	{69573, 7, &rule17},
3150 	{69600, 23, &rule14},
3151 	{69632, 1, &rule124},
3152 	{69633, 1, &rule92},
3153 	{69634, 1, &rule124},
3154 	{69635, 53, &rule14},
3155 	{69688, 15, &rule92},
3156 	{69703, 7, &rule2},
3157 	{69714, 20, &rule17},
3158 	{69734, 10, &rule8},
3159 	{69759, 3, &rule92},
3160 	{69762, 1, &rule124},
3161 	{69763, 45, &rule14},
3162 	{69808, 3, &rule124},
3163 	{69811, 4, &rule92},
3164 	{69815, 2, &rule124},
3165 	{69817, 2, &rule92},
3166 	{69819, 2, &rule2},
3167 	{69821, 1, &rule16},
3168 	{69822, 4, &rule2},
3169 	{69837, 1, &rule16},
3170 	{69840, 25, &rule14},
3171 	{69872, 10, &rule8},
3172 	{69888, 3, &rule92},
3173 	{69891, 36, &rule14},
3174 	{69927, 5, &rule92},
3175 	{69932, 1, &rule124},
3176 	{69933, 8, &rule92},
3177 	{69942, 10, &rule8},
3178 	{69952, 4, &rule2},
3179 	{69956, 1, &rule14},
3180 	{69957, 2, &rule124},
3181 	{69959, 1, &rule14},
3182 	{69968, 35, &rule14},
3183 	{70003, 1, &rule92},
3184 	{70004, 2, &rule2},
3185 	{70006, 1, &rule14},
3186 	{70016, 2, &rule92},
3187 	{70018, 1, &rule124},
3188 	{70019, 48, &rule14},
3189 	{70067, 3, &rule124},
3190 	{70070, 9, &rule92},
3191 	{70079, 2, &rule124},
3192 	{70081, 4, &rule14},
3193 	{70085, 4, &rule2},
3194 	{70089, 4, &rule92},
3195 	{70093, 1, &rule2},
3196 	{70094, 1, &rule124},
3197 	{70095, 1, &rule92},
3198 	{70096, 10, &rule8},
3199 	{70106, 1, &rule14},
3200 	{70107, 1, &rule2},
3201 	{70108, 1, &rule14},
3202 	{70109, 3, &rule2},
3203 	{70113, 20, &rule17},
3204 	{70144, 18, &rule14},
3205 	{70163, 25, &rule14},
3206 	{70188, 3, &rule124},
3207 	{70191, 3, &rule92},
3208 	{70194, 2, &rule124},
3209 	{70196, 1, &rule92},
3210 	{70197, 1, &rule124},
3211 	{70198, 2, &rule92},
3212 	{70200, 6, &rule2},
3213 	{70206, 1, &rule92},
3214 	{70272, 7, &rule14},
3215 	{70280, 1, &rule14},
3216 	{70282, 4, &rule14},
3217 	{70287, 15, &rule14},
3218 	{70303, 10, &rule14},
3219 	{70313, 1, &rule2},
3220 	{70320, 47, &rule14},
3221 	{70367, 1, &rule92},
3222 	{70368, 3, &rule124},
3223 	{70371, 8, &rule92},
3224 	{70384, 10, &rule8},
3225 	{70400, 2, &rule92},
3226 	{70402, 2, &rule124},
3227 	{70405, 8, &rule14},
3228 	{70415, 2, &rule14},
3229 	{70419, 22, &rule14},
3230 	{70442, 7, &rule14},
3231 	{70450, 2, &rule14},
3232 	{70453, 5, &rule14},
3233 	{70459, 2, &rule92},
3234 	{70461, 1, &rule14},
3235 	{70462, 2, &rule124},
3236 	{70464, 1, &rule92},
3237 	{70465, 4, &rule124},
3238 	{70471, 2, &rule124},
3239 	{70475, 3, &rule124},
3240 	{70480, 1, &rule14},
3241 	{70487, 1, &rule124},
3242 	{70493, 5, &rule14},
3243 	{70498, 2, &rule124},
3244 	{70502, 7, &rule92},
3245 	{70512, 5, &rule92},
3246 	{70656, 53, &rule14},
3247 	{70709, 3, &rule124},
3248 	{70712, 8, &rule92},
3249 	{70720, 2, &rule124},
3250 	{70722, 3, &rule92},
3251 	{70725, 1, &rule124},
3252 	{70726, 1, &rule92},
3253 	{70727, 4, &rule14},
3254 	{70731, 5, &rule2},
3255 	{70736, 10, &rule8},
3256 	{70746, 2, &rule2},
3257 	{70749, 1, &rule2},
3258 	{70750, 1, &rule92},
3259 	{70751, 3, &rule14},
3260 	{70784, 48, &rule14},
3261 	{70832, 3, &rule124},
3262 	{70835, 6, &rule92},
3263 	{70841, 1, &rule124},
3264 	{70842, 1, &rule92},
3265 	{70843, 4, &rule124},
3266 	{70847, 2, &rule92},
3267 	{70849, 1, &rule124},
3268 	{70850, 2, &rule92},
3269 	{70852, 2, &rule14},
3270 	{70854, 1, &rule2},
3271 	{70855, 1, &rule14},
3272 	{70864, 10, &rule8},
3273 	{71040, 47, &rule14},
3274 	{71087, 3, &rule124},
3275 	{71090, 4, &rule92},
3276 	{71096, 4, &rule124},
3277 	{71100, 2, &rule92},
3278 	{71102, 1, &rule124},
3279 	{71103, 2, &rule92},
3280 	{71105, 23, &rule2},
3281 	{71128, 4, &rule14},
3282 	{71132, 2, &rule92},
3283 	{71168, 48, &rule14},
3284 	{71216, 3, &rule124},
3285 	{71219, 8, &rule92},
3286 	{71227, 2, &rule124},
3287 	{71229, 1, &rule92},
3288 	{71230, 1, &rule124},
3289 	{71231, 2, &rule92},
3290 	{71233, 3, &rule2},
3291 	{71236, 1, &rule14},
3292 	{71248, 10, &rule8},
3293 	{71264, 13, &rule2},
3294 	{71296, 43, &rule14},
3295 	{71339, 1, &rule92},
3296 	{71340, 1, &rule124},
3297 	{71341, 1, &rule92},
3298 	{71342, 2, &rule124},
3299 	{71344, 6, &rule92},
3300 	{71350, 1, &rule124},
3301 	{71351, 1, &rule92},
3302 	{71352, 1, &rule14},
3303 	{71360, 10, &rule8},
3304 	{71424, 27, &rule14},
3305 	{71453, 3, &rule92},
3306 	{71456, 2, &rule124},
3307 	{71458, 4, &rule92},
3308 	{71462, 1, &rule124},
3309 	{71463, 5, &rule92},
3310 	{71472, 10, &rule8},
3311 	{71482, 2, &rule17},
3312 	{71484, 3, &rule2},
3313 	{71487, 1, &rule13},
3314 	{71680, 44, &rule14},
3315 	{71724, 3, &rule124},
3316 	{71727, 9, &rule92},
3317 	{71736, 1, &rule124},
3318 	{71737, 2, &rule92},
3319 	{71739, 1, &rule2},
3320 	{71840, 32, &rule9},
3321 	{71872, 32, &rule12},
3322 	{71904, 10, &rule8},
3323 	{71914, 9, &rule17},
3324 	{71935, 8, &rule14},
3325 	{71945, 1, &rule14},
3326 	{71948, 8, &rule14},
3327 	{71957, 2, &rule14},
3328 	{71960, 24, &rule14},
3329 	{71984, 6, &rule124},
3330 	{71991, 2, &rule124},
3331 	{71995, 2, &rule92},
3332 	{71997, 1, &rule124},
3333 	{71998, 1, &rule92},
3334 	{71999, 1, &rule14},
3335 	{72000, 1, &rule124},
3336 	{72001, 1, &rule14},
3337 	{72002, 1, &rule124},
3338 	{72003, 1, &rule92},
3339 	{72004, 3, &rule2},
3340 	{72016, 10, &rule8},
3341 	{72096, 8, &rule14},
3342 	{72106, 39, &rule14},
3343 	{72145, 3, &rule124},
3344 	{72148, 4, &rule92},
3345 	{72154, 2, &rule92},
3346 	{72156, 4, &rule124},
3347 	{72160, 1, &rule92},
3348 	{72161, 1, &rule14},
3349 	{72162, 1, &rule2},
3350 	{72163, 1, &rule14},
3351 	{72164, 1, &rule124},
3352 	{72192, 1, &rule14},
3353 	{72193, 10, &rule92},
3354 	{72203, 40, &rule14},
3355 	{72243, 6, &rule92},
3356 	{72249, 1, &rule124},
3357 	{72250, 1, &rule14},
3358 	{72251, 4, &rule92},
3359 	{72255, 8, &rule2},
3360 	{72263, 1, &rule92},
3361 	{72272, 1, &rule14},
3362 	{72273, 6, &rule92},
3363 	{72279, 2, &rule124},
3364 	{72281, 3, &rule92},
3365 	{72284, 46, &rule14},
3366 	{72330, 13, &rule92},
3367 	{72343, 1, &rule124},
3368 	{72344, 2, &rule92},
3369 	{72346, 3, &rule2},
3370 	{72349, 1, &rule14},
3371 	{72350, 5, &rule2},
3372 	{72384, 57, &rule14},
3373 	{72704, 9, &rule14},
3374 	{72714, 37, &rule14},
3375 	{72751, 1, &rule124},
3376 	{72752, 7, &rule92},
3377 	{72760, 6, &rule92},
3378 	{72766, 1, &rule124},
3379 	{72767, 1, &rule92},
3380 	{72768, 1, &rule14},
3381 	{72769, 5, &rule2},
3382 	{72784, 10, &rule8},
3383 	{72794, 19, &rule17},
3384 	{72816, 2, &rule2},
3385 	{72818, 30, &rule14},
3386 	{72850, 22, &rule92},
3387 	{72873, 1, &rule124},
3388 	{72874, 7, &rule92},
3389 	{72881, 1, &rule124},
3390 	{72882, 2, &rule92},
3391 	{72884, 1, &rule124},
3392 	{72885, 2, &rule92},
3393 	{72960, 7, &rule14},
3394 	{72968, 2, &rule14},
3395 	{72971, 38, &rule14},
3396 	{73009, 6, &rule92},
3397 	{73018, 1, &rule92},
3398 	{73020, 2, &rule92},
3399 	{73023, 7, &rule92},
3400 	{73030, 1, &rule14},
3401 	{73031, 1, &rule92},
3402 	{73040, 10, &rule8},
3403 	{73056, 6, &rule14},
3404 	{73063, 2, &rule14},
3405 	{73066, 32, &rule14},
3406 	{73098, 5, &rule124},
3407 	{73104, 2, &rule92},
3408 	{73107, 2, &rule124},
3409 	{73109, 1, &rule92},
3410 	{73110, 1, &rule124},
3411 	{73111, 1, &rule92},
3412 	{73112, 1, &rule14},
3413 	{73120, 10, &rule8},
3414 	{73440, 19, &rule14},
3415 	{73459, 2, &rule92},
3416 	{73461, 2, &rule124},
3417 	{73463, 2, &rule2},
3418 	{73648, 1, &rule14},
3419 	{73664, 21, &rule17},
3420 	{73685, 8, &rule13},
3421 	{73693, 4, &rule3},
3422 	{73697, 17, &rule13},
3423 	{73727, 1, &rule2},
3424 	{73728, 922, &rule14},
3425 	{74752, 111, &rule128},
3426 	{74864, 5, &rule2},
3427 	{74880, 196, &rule14},
3428 	{77824, 1071, &rule14},
3429 	{78896, 9, &rule16},
3430 	{82944, 583, &rule14},
3431 	{92160, 569, &rule14},
3432 	{92736, 31, &rule14},
3433 	{92768, 10, &rule8},
3434 	{92782, 2, &rule2},
3435 	{92880, 30, &rule14},
3436 	{92912, 5, &rule92},
3437 	{92917, 1, &rule2},
3438 	{92928, 48, &rule14},
3439 	{92976, 7, &rule92},
3440 	{92983, 5, &rule2},
3441 	{92988, 4, &rule13},
3442 	{92992, 4, &rule91},
3443 	{92996, 1, &rule2},
3444 	{92997, 1, &rule13},
3445 	{93008, 10, &rule8},
3446 	{93019, 7, &rule17},
3447 	{93027, 21, &rule14},
3448 	{93053, 19, &rule14},
3449 	{93760, 32, &rule9},
3450 	{93792, 32, &rule12},
3451 	{93824, 23, &rule17},
3452 	{93847, 4, &rule2},
3453 	{93952, 75, &rule14},
3454 	{94031, 1, &rule92},
3455 	{94032, 1, &rule14},
3456 	{94033, 55, &rule124},
3457 	{94095, 4, &rule92},
3458 	{94099, 13, &rule91},
3459 	{94176, 2, &rule91},
3460 	{94178, 1, &rule2},
3461 	{94179, 1, &rule91},
3462 	{94180, 1, &rule92},
3463 	{94192, 2, &rule124},
3464 	{94208, 6136, &rule14},
3465 	{100352, 1238, &rule14},
3466 	{101632, 9, &rule14},
3467 	{110592, 287, &rule14},
3468 	{110928, 3, &rule14},
3469 	{110948, 4, &rule14},
3470 	{110960, 396, &rule14},
3471 	{113664, 107, &rule14},
3472 	{113776, 13, &rule14},
3473 	{113792, 9, &rule14},
3474 	{113808, 10, &rule14},
3475 	{113820, 1, &rule13},
3476 	{113821, 2, &rule92},
3477 	{113823, 1, &rule2},
3478 	{113824, 4, &rule16},
3479 	{118784, 246, &rule13},
3480 	{119040, 39, &rule13},
3481 	{119081, 60, &rule13},
3482 	{119141, 2, &rule124},
3483 	{119143, 3, &rule92},
3484 	{119146, 3, &rule13},
3485 	{119149, 6, &rule124},
3486 	{119155, 8, &rule16},
3487 	{119163, 8, &rule92},
3488 	{119171, 2, &rule13},
3489 	{119173, 7, &rule92},
3490 	{119180, 30, &rule13},
3491 	{119210, 4, &rule92},
3492 	{119214, 59, &rule13},
3493 	{119296, 66, &rule13},
3494 	{119362, 3, &rule92},
3495 	{119365, 1, &rule13},
3496 	{119520, 20, &rule17},
3497 	{119552, 87, &rule13},
3498 	{119648, 25, &rule17},
3499 	{119808, 26, &rule107},
3500 	{119834, 26, &rule20},
3501 	{119860, 26, &rule107},
3502 	{119886, 7, &rule20},
3503 	{119894, 18, &rule20},
3504 	{119912, 26, &rule107},
3505 	{119938, 26, &rule20},
3506 	{119964, 1, &rule107},
3507 	{119966, 2, &rule107},
3508 	{119970, 1, &rule107},
3509 	{119973, 2, &rule107},
3510 	{119977, 4, &rule107},
3511 	{119982, 8, &rule107},
3512 	{119990, 4, &rule20},
3513 	{119995, 1, &rule20},
3514 	{119997, 7, &rule20},
3515 	{120005, 11, &rule20},
3516 	{120016, 26, &rule107},
3517 	{120042, 26, &rule20},
3518 	{120068, 2, &rule107},
3519 	{120071, 4, &rule107},
3520 	{120077, 8, &rule107},
3521 	{120086, 7, &rule107},
3522 	{120094, 26, &rule20},
3523 	{120120, 2, &rule107},
3524 	{120123, 4, &rule107},
3525 	{120128, 5, &rule107},
3526 	{120134, 1, &rule107},
3527 	{120138, 7, &rule107},
3528 	{120146, 26, &rule20},
3529 	{120172, 26, &rule107},
3530 	{120198, 26, &rule20},
3531 	{120224, 26, &rule107},
3532 	{120250, 26, &rule20},
3533 	{120276, 26, &rule107},
3534 	{120302, 26, &rule20},
3535 	{120328, 26, &rule107},
3536 	{120354, 26, &rule20},
3537 	{120380, 26, &rule107},
3538 	{120406, 26, &rule20},
3539 	{120432, 26, &rule107},
3540 	{120458, 28, &rule20},
3541 	{120488, 25, &rule107},
3542 	{120513, 1, &rule6},
3543 	{120514, 25, &rule20},
3544 	{120539, 1, &rule6},
3545 	{120540, 6, &rule20},
3546 	{120546, 25, &rule107},
3547 	{120571, 1, &rule6},
3548 	{120572, 25, &rule20},
3549 	{120597, 1, &rule6},
3550 	{120598, 6, &rule20},
3551 	{120604, 25, &rule107},
3552 	{120629, 1, &rule6},
3553 	{120630, 25, &rule20},
3554 	{120655, 1, &rule6},
3555 	{120656, 6, &rule20},
3556 	{120662, 25, &rule107},
3557 	{120687, 1, &rule6},
3558 	{120688, 25, &rule20},
3559 	{120713, 1, &rule6},
3560 	{120714, 6, &rule20},
3561 	{120720, 25, &rule107},
3562 	{120745, 1, &rule6},
3563 	{120746, 25, &rule20},
3564 	{120771, 1, &rule6},
3565 	{120772, 6, &rule20},
3566 	{120778, 1, &rule107},
3567 	{120779, 1, &rule20},
3568 	{120782, 50, &rule8},
3569 	{120832, 512, &rule13},
3570 	{121344, 55, &rule92},
3571 	{121399, 4, &rule13},
3572 	{121403, 50, &rule92},
3573 	{121453, 8, &rule13},
3574 	{121461, 1, &rule92},
3575 	{121462, 14, &rule13},
3576 	{121476, 1, &rule92},
3577 	{121477, 2, &rule13},
3578 	{121479, 5, &rule2},
3579 	{121499, 5, &rule92},
3580 	{121505, 15, &rule92},
3581 	{122880, 7, &rule92},
3582 	{122888, 17, &rule92},
3583 	{122907, 7, &rule92},
3584 	{122915, 2, &rule92},
3585 	{122918, 5, &rule92},
3586 	{123136, 45, &rule14},
3587 	{123184, 7, &rule92},
3588 	{123191, 7, &rule91},
3589 	{123200, 10, &rule8},
3590 	{123214, 1, &rule14},
3591 	{123215, 1, &rule13},
3592 	{123584, 44, &rule14},
3593 	{123628, 4, &rule92},
3594 	{123632, 10, &rule8},
3595 	{123647, 1, &rule3},
3596 	{124928, 197, &rule14},
3597 	{125127, 9, &rule17},
3598 	{125136, 7, &rule92},
3599 	{125184, 34, &rule203},
3600 	{125218, 34, &rule204},
3601 	{125252, 7, &rule92},
3602 	{125259, 1, &rule91},
3603 	{125264, 10, &rule8},
3604 	{125278, 2, &rule2},
3605 	{126065, 59, &rule17},
3606 	{126124, 1, &rule13},
3607 	{126125, 3, &rule17},
3608 	{126128, 1, &rule3},
3609 	{126129, 4, &rule17},
3610 	{126209, 45, &rule17},
3611 	{126254, 1, &rule13},
3612 	{126255, 15, &rule17},
3613 	{126464, 4, &rule14},
3614 	{126469, 27, &rule14},
3615 	{126497, 2, &rule14},
3616 	{126500, 1, &rule14},
3617 	{126503, 1, &rule14},
3618 	{126505, 10, &rule14},
3619 	{126516, 4, &rule14},
3620 	{126521, 1, &rule14},
3621 	{126523, 1, &rule14},
3622 	{126530, 1, &rule14},
3623 	{126535, 1, &rule14},
3624 	{126537, 1, &rule14},
3625 	{126539, 1, &rule14},
3626 	{126541, 3, &rule14},
3627 	{126545, 2, &rule14},
3628 	{126548, 1, &rule14},
3629 	{126551, 1, &rule14},
3630 	{126553, 1, &rule14},
3631 	{126555, 1, &rule14},
3632 	{126557, 1, &rule14},
3633 	{126559, 1, &rule14},
3634 	{126561, 2, &rule14},
3635 	{126564, 1, &rule14},
3636 	{126567, 4, &rule14},
3637 	{126572, 7, &rule14},
3638 	{126580, 4, &rule14},
3639 	{126585, 4, &rule14},
3640 	{126590, 1, &rule14},
3641 	{126592, 10, &rule14},
3642 	{126603, 17, &rule14},
3643 	{126625, 3, &rule14},
3644 	{126629, 5, &rule14},
3645 	{126635, 17, &rule14},
3646 	{126704, 2, &rule6},
3647 	{126976, 44, &rule13},
3648 	{127024, 100, &rule13},
3649 	{127136, 15, &rule13},
3650 	{127153, 15, &rule13},
3651 	{127169, 15, &rule13},
3652 	{127185, 37, &rule13},
3653 	{127232, 13, &rule17},
3654 	{127245, 161, &rule13},
3655 	{127462, 29, &rule13},
3656 	{127504, 44, &rule13},
3657 	{127552, 9, &rule13},
3658 	{127568, 2, &rule13},
3659 	{127584, 6, &rule13},
3660 	{127744, 251, &rule13},
3661 	{127995, 5, &rule10},
3662 	{128000, 728, &rule13},
3663 	{128736, 13, &rule13},
3664 	{128752, 13, &rule13},
3665 	{128768, 116, &rule13},
3666 	{128896, 89, &rule13},
3667 	{128992, 12, &rule13},
3668 	{129024, 12, &rule13},
3669 	{129040, 56, &rule13},
3670 	{129104, 10, &rule13},
3671 	{129120, 40, &rule13},
3672 	{129168, 30, &rule13},
3673 	{129200, 2, &rule13},
3674 	{129280, 121, &rule13},
3675 	{129402, 82, &rule13},
3676 	{129485, 135, &rule13},
3677 	{129632, 14, &rule13},
3678 	{129648, 5, &rule13},
3679 	{129656, 3, &rule13},
3680 	{129664, 7, &rule13},
3681 	{129680, 25, &rule13},
3682 	{129712, 7, &rule13},
3683 	{129728, 3, &rule13},
3684 	{129744, 7, &rule13},
3685 	{129792, 147, &rule13},
3686 	{129940, 55, &rule13},
3687 	{130032, 10, &rule8},
3688 	{131072, 42718, &rule14},
3689 	{173824, 4149, &rule14},
3690 	{177984, 222, &rule14},
3691 	{178208, 5762, &rule14},
3692 	{183984, 7473, &rule14},
3693 	{194560, 542, &rule14},
3694 	{196608, 4939, &rule14},
3695 	{917505, 1, &rule16},
3696 	{917536, 96, &rule16},
3697 	{917760, 240, &rule92},
3698 	{983040, 65534, &rule200},
3699 	{1048576, 65534, &rule200}
3700 };
3701 static const struct _charblock_ convchars[]={
3702 	{65, 26, &rule9},
3703 	{97, 26, &rule12},
3704 	{181, 1, &rule18},
3705 	{192, 23, &rule9},
3706 	{216, 7, &rule9},
3707 	{224, 23, &rule12},
3708 	{248, 7, &rule12},
3709 	{255, 1, &rule21},
3710 	{256, 1, &rule22},
3711 	{257, 1, &rule23},
3712 	{258, 1, &rule22},
3713 	{259, 1, &rule23},
3714 	{260, 1, &rule22},
3715 	{261, 1, &rule23},
3716 	{262, 1, &rule22},
3717 	{263, 1, &rule23},
3718 	{264, 1, &rule22},
3719 	{265, 1, &rule23},
3720 	{266, 1, &rule22},
3721 	{267, 1, &rule23},
3722 	{268, 1, &rule22},
3723 	{269, 1, &rule23},
3724 	{270, 1, &rule22},
3725 	{271, 1, &rule23},
3726 	{272, 1, &rule22},
3727 	{273, 1, &rule23},
3728 	{274, 1, &rule22},
3729 	{275, 1, &rule23},
3730 	{276, 1, &rule22},
3731 	{277, 1, &rule23},
3732 	{278, 1, &rule22},
3733 	{279, 1, &rule23},
3734 	{280, 1, &rule22},
3735 	{281, 1, &rule23},
3736 	{282, 1, &rule22},
3737 	{283, 1, &rule23},
3738 	{284, 1, &rule22},
3739 	{285, 1, &rule23},
3740 	{286, 1, &rule22},
3741 	{287, 1, &rule23},
3742 	{288, 1, &rule22},
3743 	{289, 1, &rule23},
3744 	{290, 1, &rule22},
3745 	{291, 1, &rule23},
3746 	{292, 1, &rule22},
3747 	{293, 1, &rule23},
3748 	{294, 1, &rule22},
3749 	{295, 1, &rule23},
3750 	{296, 1, &rule22},
3751 	{297, 1, &rule23},
3752 	{298, 1, &rule22},
3753 	{299, 1, &rule23},
3754 	{300, 1, &rule22},
3755 	{301, 1, &rule23},
3756 	{302, 1, &rule22},
3757 	{303, 1, &rule23},
3758 	{304, 1, &rule24},
3759 	{305, 1, &rule25},
3760 	{306, 1, &rule22},
3761 	{307, 1, &rule23},
3762 	{308, 1, &rule22},
3763 	{309, 1, &rule23},
3764 	{310, 1, &rule22},
3765 	{311, 1, &rule23},
3766 	{313, 1, &rule22},
3767 	{314, 1, &rule23},
3768 	{315, 1, &rule22},
3769 	{316, 1, &rule23},
3770 	{317, 1, &rule22},
3771 	{318, 1, &rule23},
3772 	{319, 1, &rule22},
3773 	{320, 1, &rule23},
3774 	{321, 1, &rule22},
3775 	{322, 1, &rule23},
3776 	{323, 1, &rule22},
3777 	{324, 1, &rule23},
3778 	{325, 1, &rule22},
3779 	{326, 1, &rule23},
3780 	{327, 1, &rule22},
3781 	{328, 1, &rule23},
3782 	{330, 1, &rule22},
3783 	{331, 1, &rule23},
3784 	{332, 1, &rule22},
3785 	{333, 1, &rule23},
3786 	{334, 1, &rule22},
3787 	{335, 1, &rule23},
3788 	{336, 1, &rule22},
3789 	{337, 1, &rule23},
3790 	{338, 1, &rule22},
3791 	{339, 1, &rule23},
3792 	{340, 1, &rule22},
3793 	{341, 1, &rule23},
3794 	{342, 1, &rule22},
3795 	{343, 1, &rule23},
3796 	{344, 1, &rule22},
3797 	{345, 1, &rule23},
3798 	{346, 1, &rule22},
3799 	{347, 1, &rule23},
3800 	{348, 1, &rule22},
3801 	{349, 1, &rule23},
3802 	{350, 1, &rule22},
3803 	{351, 1, &rule23},
3804 	{352, 1, &rule22},
3805 	{353, 1, &rule23},
3806 	{354, 1, &rule22},
3807 	{355, 1, &rule23},
3808 	{356, 1, &rule22},
3809 	{357, 1, &rule23},
3810 	{358, 1, &rule22},
3811 	{359, 1, &rule23},
3812 	{360, 1, &rule22},
3813 	{361, 1, &rule23},
3814 	{362, 1, &rule22},
3815 	{363, 1, &rule23},
3816 	{364, 1, &rule22},
3817 	{365, 1, &rule23},
3818 	{366, 1, &rule22},
3819 	{367, 1, &rule23},
3820 	{368, 1, &rule22},
3821 	{369, 1, &rule23},
3822 	{370, 1, &rule22},
3823 	{371, 1, &rule23},
3824 	{372, 1, &rule22},
3825 	{373, 1, &rule23},
3826 	{374, 1, &rule22},
3827 	{375, 1, &rule23},
3828 	{376, 1, &rule26},
3829 	{377, 1, &rule22},
3830 	{378, 1, &rule23},
3831 	{379, 1, &rule22},
3832 	{380, 1, &rule23},
3833 	{381, 1, &rule22},
3834 	{382, 1, &rule23},
3835 	{383, 1, &rule27},
3836 	{384, 1, &rule28},
3837 	{385, 1, &rule29},
3838 	{386, 1, &rule22},
3839 	{387, 1, &rule23},
3840 	{388, 1, &rule22},
3841 	{389, 1, &rule23},
3842 	{390, 1, &rule30},
3843 	{391, 1, &rule22},
3844 	{392, 1, &rule23},
3845 	{393, 2, &rule31},
3846 	{395, 1, &rule22},
3847 	{396, 1, &rule23},
3848 	{398, 1, &rule32},
3849 	{399, 1, &rule33},
3850 	{400, 1, &rule34},
3851 	{401, 1, &rule22},
3852 	{402, 1, &rule23},
3853 	{403, 1, &rule31},
3854 	{404, 1, &rule35},
3855 	{405, 1, &rule36},
3856 	{406, 1, &rule37},
3857 	{407, 1, &rule38},
3858 	{408, 1, &rule22},
3859 	{409, 1, &rule23},
3860 	{410, 1, &rule39},
3861 	{412, 1, &rule37},
3862 	{413, 1, &rule40},
3863 	{414, 1, &rule41},
3864 	{415, 1, &rule42},
3865 	{416, 1, &rule22},
3866 	{417, 1, &rule23},
3867 	{418, 1, &rule22},
3868 	{419, 1, &rule23},
3869 	{420, 1, &rule22},
3870 	{421, 1, &rule23},
3871 	{422, 1, &rule43},
3872 	{423, 1, &rule22},
3873 	{424, 1, &rule23},
3874 	{425, 1, &rule43},
3875 	{428, 1, &rule22},
3876 	{429, 1, &rule23},
3877 	{430, 1, &rule43},
3878 	{431, 1, &rule22},
3879 	{432, 1, &rule23},
3880 	{433, 2, &rule44},
3881 	{435, 1, &rule22},
3882 	{436, 1, &rule23},
3883 	{437, 1, &rule22},
3884 	{438, 1, &rule23},
3885 	{439, 1, &rule45},
3886 	{440, 1, &rule22},
3887 	{441, 1, &rule23},
3888 	{444, 1, &rule22},
3889 	{445, 1, &rule23},
3890 	{447, 1, &rule46},
3891 	{452, 1, &rule47},
3892 	{453, 1, &rule48},
3893 	{454, 1, &rule49},
3894 	{455, 1, &rule47},
3895 	{456, 1, &rule48},
3896 	{457, 1, &rule49},
3897 	{458, 1, &rule47},
3898 	{459, 1, &rule48},
3899 	{460, 1, &rule49},
3900 	{461, 1, &rule22},
3901 	{462, 1, &rule23},
3902 	{463, 1, &rule22},
3903 	{464, 1, &rule23},
3904 	{465, 1, &rule22},
3905 	{466, 1, &rule23},
3906 	{467, 1, &rule22},
3907 	{468, 1, &rule23},
3908 	{469, 1, &rule22},
3909 	{470, 1, &rule23},
3910 	{471, 1, &rule22},
3911 	{472, 1, &rule23},
3912 	{473, 1, &rule22},
3913 	{474, 1, &rule23},
3914 	{475, 1, &rule22},
3915 	{476, 1, &rule23},
3916 	{477, 1, &rule50},
3917 	{478, 1, &rule22},
3918 	{479, 1, &rule23},
3919 	{480, 1, &rule22},
3920 	{481, 1, &rule23},
3921 	{482, 1, &rule22},
3922 	{483, 1, &rule23},
3923 	{484, 1, &rule22},
3924 	{485, 1, &rule23},
3925 	{486, 1, &rule22},
3926 	{487, 1, &rule23},
3927 	{488, 1, &rule22},
3928 	{489, 1, &rule23},
3929 	{490, 1, &rule22},
3930 	{491, 1, &rule23},
3931 	{492, 1, &rule22},
3932 	{493, 1, &rule23},
3933 	{494, 1, &rule22},
3934 	{495, 1, &rule23},
3935 	{497, 1, &rule47},
3936 	{498, 1, &rule48},
3937 	{499, 1, &rule49},
3938 	{500, 1, &rule22},
3939 	{501, 1, &rule23},
3940 	{502, 1, &rule51},
3941 	{503, 1, &rule52},
3942 	{504, 1, &rule22},
3943 	{505, 1, &rule23},
3944 	{506, 1, &rule22},
3945 	{507, 1, &rule23},
3946 	{508, 1, &rule22},
3947 	{509, 1, &rule23},
3948 	{510, 1, &rule22},
3949 	{511, 1, &rule23},
3950 	{512, 1, &rule22},
3951 	{513, 1, &rule23},
3952 	{514, 1, &rule22},
3953 	{515, 1, &rule23},
3954 	{516, 1, &rule22},
3955 	{517, 1, &rule23},
3956 	{518, 1, &rule22},
3957 	{519, 1, &rule23},
3958 	{520, 1, &rule22},
3959 	{521, 1, &rule23},
3960 	{522, 1, &rule22},
3961 	{523, 1, &rule23},
3962 	{524, 1, &rule22},
3963 	{525, 1, &rule23},
3964 	{526, 1, &rule22},
3965 	{527, 1, &rule23},
3966 	{528, 1, &rule22},
3967 	{529, 1, &rule23},
3968 	{530, 1, &rule22},
3969 	{531, 1, &rule23},
3970 	{532, 1, &rule22},
3971 	{533, 1, &rule23},
3972 	{534, 1, &rule22},
3973 	{535, 1, &rule23},
3974 	{536, 1, &rule22},
3975 	{537, 1, &rule23},
3976 	{538, 1, &rule22},
3977 	{539, 1, &rule23},
3978 	{540, 1, &rule22},
3979 	{541, 1, &rule23},
3980 	{542, 1, &rule22},
3981 	{543, 1, &rule23},
3982 	{544, 1, &rule53},
3983 	{546, 1, &rule22},
3984 	{547, 1, &rule23},
3985 	{548, 1, &rule22},
3986 	{549, 1, &rule23},
3987 	{550, 1, &rule22},
3988 	{551, 1, &rule23},
3989 	{552, 1, &rule22},
3990 	{553, 1, &rule23},
3991 	{554, 1, &rule22},
3992 	{555, 1, &rule23},
3993 	{556, 1, &rule22},
3994 	{557, 1, &rule23},
3995 	{558, 1, &rule22},
3996 	{559, 1, &rule23},
3997 	{560, 1, &rule22},
3998 	{561, 1, &rule23},
3999 	{562, 1, &rule22},
4000 	{563, 1, &rule23},
4001 	{570, 1, &rule54},
4002 	{571, 1, &rule22},
4003 	{572, 1, &rule23},
4004 	{573, 1, &rule55},
4005 	{574, 1, &rule56},
4006 	{575, 2, &rule57},
4007 	{577, 1, &rule22},
4008 	{578, 1, &rule23},
4009 	{579, 1, &rule58},
4010 	{580, 1, &rule59},
4011 	{581, 1, &rule60},
4012 	{582, 1, &rule22},
4013 	{583, 1, &rule23},
4014 	{584, 1, &rule22},
4015 	{585, 1, &rule23},
4016 	{586, 1, &rule22},
4017 	{587, 1, &rule23},
4018 	{588, 1, &rule22},
4019 	{589, 1, &rule23},
4020 	{590, 1, &rule22},
4021 	{591, 1, &rule23},
4022 	{592, 1, &rule61},
4023 	{593, 1, &rule62},
4024 	{594, 1, &rule63},
4025 	{595, 1, &rule64},
4026 	{596, 1, &rule65},
4027 	{598, 2, &rule66},
4028 	{601, 1, &rule67},
4029 	{603, 1, &rule68},
4030 	{604, 1, &rule69},
4031 	{608, 1, &rule66},
4032 	{609, 1, &rule70},
4033 	{611, 1, &rule71},
4034 	{613, 1, &rule72},
4035 	{614, 1, &rule73},
4036 	{616, 1, &rule74},
4037 	{617, 1, &rule75},
4038 	{618, 1, &rule73},
4039 	{619, 1, &rule76},
4040 	{620, 1, &rule77},
4041 	{623, 1, &rule75},
4042 	{625, 1, &rule78},
4043 	{626, 1, &rule79},
4044 	{629, 1, &rule80},
4045 	{637, 1, &rule81},
4046 	{640, 1, &rule82},
4047 	{642, 1, &rule83},
4048 	{643, 1, &rule82},
4049 	{647, 1, &rule84},
4050 	{648, 1, &rule82},
4051 	{649, 1, &rule85},
4052 	{650, 2, &rule86},
4053 	{652, 1, &rule87},
4054 	{658, 1, &rule88},
4055 	{669, 1, &rule89},
4056 	{670, 1, &rule90},
4057 	{837, 1, &rule93},
4058 	{880, 1, &rule22},
4059 	{881, 1, &rule23},
4060 	{882, 1, &rule22},
4061 	{883, 1, &rule23},
4062 	{886, 1, &rule22},
4063 	{887, 1, &rule23},
4064 	{891, 3, &rule41},
4065 	{895, 1, &rule94},
4066 	{902, 1, &rule95},
4067 	{904, 3, &rule96},
4068 	{908, 1, &rule97},
4069 	{910, 2, &rule98},
4070 	{913, 17, &rule9},
4071 	{931, 9, &rule9},
4072 	{940, 1, &rule99},
4073 	{941, 3, &rule100},
4074 	{945, 17, &rule12},
4075 	{962, 1, &rule101},
4076 	{963, 9, &rule12},
4077 	{972, 1, &rule102},
4078 	{973, 2, &rule103},
4079 	{975, 1, &rule104},
4080 	{976, 1, &rule105},
4081 	{977, 1, &rule106},
4082 	{981, 1, &rule108},
4083 	{982, 1, &rule109},
4084 	{983, 1, &rule110},
4085 	{984, 1, &rule22},
4086 	{985, 1, &rule23},
4087 	{986, 1, &rule22},
4088 	{987, 1, &rule23},
4089 	{988, 1, &rule22},
4090 	{989, 1, &rule23},
4091 	{990, 1, &rule22},
4092 	{991, 1, &rule23},
4093 	{992, 1, &rule22},
4094 	{993, 1, &rule23},
4095 	{994, 1, &rule22},
4096 	{995, 1, &rule23},
4097 	{996, 1, &rule22},
4098 	{997, 1, &rule23},
4099 	{998, 1, &rule22},
4100 	{999, 1, &rule23},
4101 	{1000, 1, &rule22},
4102 	{1001, 1, &rule23},
4103 	{1002, 1, &rule22},
4104 	{1003, 1, &rule23},
4105 	{1004, 1, &rule22},
4106 	{1005, 1, &rule23},
4107 	{1006, 1, &rule22},
4108 	{1007, 1, &rule23},
4109 	{1008, 1, &rule111},
4110 	{1009, 1, &rule112},
4111 	{1010, 1, &rule113},
4112 	{1011, 1, &rule114},
4113 	{1012, 1, &rule115},
4114 	{1013, 1, &rule116},
4115 	{1015, 1, &rule22},
4116 	{1016, 1, &rule23},
4117 	{1017, 1, &rule117},
4118 	{1018, 1, &rule22},
4119 	{1019, 1, &rule23},
4120 	{1021, 3, &rule53},
4121 	{1024, 16, &rule118},
4122 	{1040, 32, &rule9},
4123 	{1072, 32, &rule12},
4124 	{1104, 16, &rule112},
4125 	{1120, 1, &rule22},
4126 	{1121, 1, &rule23},
4127 	{1122, 1, &rule22},
4128 	{1123, 1, &rule23},
4129 	{1124, 1, &rule22},
4130 	{1125, 1, &rule23},
4131 	{1126, 1, &rule22},
4132 	{1127, 1, &rule23},
4133 	{1128, 1, &rule22},
4134 	{1129, 1, &rule23},
4135 	{1130, 1, &rule22},
4136 	{1131, 1, &rule23},
4137 	{1132, 1, &rule22},
4138 	{1133, 1, &rule23},
4139 	{1134, 1, &rule22},
4140 	{1135, 1, &rule23},
4141 	{1136, 1, &rule22},
4142 	{1137, 1, &rule23},
4143 	{1138, 1, &rule22},
4144 	{1139, 1, &rule23},
4145 	{1140, 1, &rule22},
4146 	{1141, 1, &rule23},
4147 	{1142, 1, &rule22},
4148 	{1143, 1, &rule23},
4149 	{1144, 1, &rule22},
4150 	{1145, 1, &rule23},
4151 	{1146, 1, &rule22},
4152 	{1147, 1, &rule23},
4153 	{1148, 1, &rule22},
4154 	{1149, 1, &rule23},
4155 	{1150, 1, &rule22},
4156 	{1151, 1, &rule23},
4157 	{1152, 1, &rule22},
4158 	{1153, 1, &rule23},
4159 	{1162, 1, &rule22},
4160 	{1163, 1, &rule23},
4161 	{1164, 1, &rule22},
4162 	{1165, 1, &rule23},
4163 	{1166, 1, &rule22},
4164 	{1167, 1, &rule23},
4165 	{1168, 1, &rule22},
4166 	{1169, 1, &rule23},
4167 	{1170, 1, &rule22},
4168 	{1171, 1, &rule23},
4169 	{1172, 1, &rule22},
4170 	{1173, 1, &rule23},
4171 	{1174, 1, &rule22},
4172 	{1175, 1, &rule23},
4173 	{1176, 1, &rule22},
4174 	{1177, 1, &rule23},
4175 	{1178, 1, &rule22},
4176 	{1179, 1, &rule23},
4177 	{1180, 1, &rule22},
4178 	{1181, 1, &rule23},
4179 	{1182, 1, &rule22},
4180 	{1183, 1, &rule23},
4181 	{1184, 1, &rule22},
4182 	{1185, 1, &rule23},
4183 	{1186, 1, &rule22},
4184 	{1187, 1, &rule23},
4185 	{1188, 1, &rule22},
4186 	{1189, 1, &rule23},
4187 	{1190, 1, &rule22},
4188 	{1191, 1, &rule23},
4189 	{1192, 1, &rule22},
4190 	{1193, 1, &rule23},
4191 	{1194, 1, &rule22},
4192 	{1195, 1, &rule23},
4193 	{1196, 1, &rule22},
4194 	{1197, 1, &rule23},
4195 	{1198, 1, &rule22},
4196 	{1199, 1, &rule23},
4197 	{1200, 1, &rule22},
4198 	{1201, 1, &rule23},
4199 	{1202, 1, &rule22},
4200 	{1203, 1, &rule23},
4201 	{1204, 1, &rule22},
4202 	{1205, 1, &rule23},
4203 	{1206, 1, &rule22},
4204 	{1207, 1, &rule23},
4205 	{1208, 1, &rule22},
4206 	{1209, 1, &rule23},
4207 	{1210, 1, &rule22},
4208 	{1211, 1, &rule23},
4209 	{1212, 1, &rule22},
4210 	{1213, 1, &rule23},
4211 	{1214, 1, &rule22},
4212 	{1215, 1, &rule23},
4213 	{1216, 1, &rule120},
4214 	{1217, 1, &rule22},
4215 	{1218, 1, &rule23},
4216 	{1219, 1, &rule22},
4217 	{1220, 1, &rule23},
4218 	{1221, 1, &rule22},
4219 	{1222, 1, &rule23},
4220 	{1223, 1, &rule22},
4221 	{1224, 1, &rule23},
4222 	{1225, 1, &rule22},
4223 	{1226, 1, &rule23},
4224 	{1227, 1, &rule22},
4225 	{1228, 1, &rule23},
4226 	{1229, 1, &rule22},
4227 	{1230, 1, &rule23},
4228 	{1231, 1, &rule121},
4229 	{1232, 1, &rule22},
4230 	{1233, 1, &rule23},
4231 	{1234, 1, &rule22},
4232 	{1235, 1, &rule23},
4233 	{1236, 1, &rule22},
4234 	{1237, 1, &rule23},
4235 	{1238, 1, &rule22},
4236 	{1239, 1, &rule23},
4237 	{1240, 1, &rule22},
4238 	{1241, 1, &rule23},
4239 	{1242, 1, &rule22},
4240 	{1243, 1, &rule23},
4241 	{1244, 1, &rule22},
4242 	{1245, 1, &rule23},
4243 	{1246, 1, &rule22},
4244 	{1247, 1, &rule23},
4245 	{1248, 1, &rule22},
4246 	{1249, 1, &rule23},
4247 	{1250, 1, &rule22},
4248 	{1251, 1, &rule23},
4249 	{1252, 1, &rule22},
4250 	{1253, 1, &rule23},
4251 	{1254, 1, &rule22},
4252 	{1255, 1, &rule23},
4253 	{1256, 1, &rule22},
4254 	{1257, 1, &rule23},
4255 	{1258, 1, &rule22},
4256 	{1259, 1, &rule23},
4257 	{1260, 1, &rule22},
4258 	{1261, 1, &rule23},
4259 	{1262, 1, &rule22},
4260 	{1263, 1, &rule23},
4261 	{1264, 1, &rule22},
4262 	{1265, 1, &rule23},
4263 	{1266, 1, &rule22},
4264 	{1267, 1, &rule23},
4265 	{1268, 1, &rule22},
4266 	{1269, 1, &rule23},
4267 	{1270, 1, &rule22},
4268 	{1271, 1, &rule23},
4269 	{1272, 1, &rule22},
4270 	{1273, 1, &rule23},
4271 	{1274, 1, &rule22},
4272 	{1275, 1, &rule23},
4273 	{1276, 1, &rule22},
4274 	{1277, 1, &rule23},
4275 	{1278, 1, &rule22},
4276 	{1279, 1, &rule23},
4277 	{1280, 1, &rule22},
4278 	{1281, 1, &rule23},
4279 	{1282, 1, &rule22},
4280 	{1283, 1, &rule23},
4281 	{1284, 1, &rule22},
4282 	{1285, 1, &rule23},
4283 	{1286, 1, &rule22},
4284 	{1287, 1, &rule23},
4285 	{1288, 1, &rule22},
4286 	{1289, 1, &rule23},
4287 	{1290, 1, &rule22},
4288 	{1291, 1, &rule23},
4289 	{1292, 1, &rule22},
4290 	{1293, 1, &rule23},
4291 	{1294, 1, &rule22},
4292 	{1295, 1, &rule23},
4293 	{1296, 1, &rule22},
4294 	{1297, 1, &rule23},
4295 	{1298, 1, &rule22},
4296 	{1299, 1, &rule23},
4297 	{1300, 1, &rule22},
4298 	{1301, 1, &rule23},
4299 	{1302, 1, &rule22},
4300 	{1303, 1, &rule23},
4301 	{1304, 1, &rule22},
4302 	{1305, 1, &rule23},
4303 	{1306, 1, &rule22},
4304 	{1307, 1, &rule23},
4305 	{1308, 1, &rule22},
4306 	{1309, 1, &rule23},
4307 	{1310, 1, &rule22},
4308 	{1311, 1, &rule23},
4309 	{1312, 1, &rule22},
4310 	{1313, 1, &rule23},
4311 	{1314, 1, &rule22},
4312 	{1315, 1, &rule23},
4313 	{1316, 1, &rule22},
4314 	{1317, 1, &rule23},
4315 	{1318, 1, &rule22},
4316 	{1319, 1, &rule23},
4317 	{1320, 1, &rule22},
4318 	{1321, 1, &rule23},
4319 	{1322, 1, &rule22},
4320 	{1323, 1, &rule23},
4321 	{1324, 1, &rule22},
4322 	{1325, 1, &rule23},
4323 	{1326, 1, &rule22},
4324 	{1327, 1, &rule23},
4325 	{1329, 38, &rule122},
4326 	{1377, 38, &rule123},
4327 	{4256, 38, &rule125},
4328 	{4295, 1, &rule125},
4329 	{4301, 1, &rule125},
4330 	{4304, 43, &rule126},
4331 	{4349, 3, &rule126},
4332 	{5024, 80, &rule127},
4333 	{5104, 6, &rule104},
4334 	{5112, 6, &rule110},
4335 	{7296, 1, &rule129},
4336 	{7297, 1, &rule130},
4337 	{7298, 1, &rule131},
4338 	{7299, 2, &rule132},
4339 	{7301, 1, &rule133},
4340 	{7302, 1, &rule134},
4341 	{7303, 1, &rule135},
4342 	{7304, 1, &rule136},
4343 	{7312, 43, &rule137},
4344 	{7357, 3, &rule137},
4345 	{7545, 1, &rule138},
4346 	{7549, 1, &rule139},
4347 	{7566, 1, &rule140},
4348 	{7680, 1, &rule22},
4349 	{7681, 1, &rule23},
4350 	{7682, 1, &rule22},
4351 	{7683, 1, &rule23},
4352 	{7684, 1, &rule22},
4353 	{7685, 1, &rule23},
4354 	{7686, 1, &rule22},
4355 	{7687, 1, &rule23},
4356 	{7688, 1, &rule22},
4357 	{7689, 1, &rule23},
4358 	{7690, 1, &rule22},
4359 	{7691, 1, &rule23},
4360 	{7692, 1, &rule22},
4361 	{7693, 1, &rule23},
4362 	{7694, 1, &rule22},
4363 	{7695, 1, &rule23},
4364 	{7696, 1, &rule22},
4365 	{7697, 1, &rule23},
4366 	{7698, 1, &rule22},
4367 	{7699, 1, &rule23},
4368 	{7700, 1, &rule22},
4369 	{7701, 1, &rule23},
4370 	{7702, 1, &rule22},
4371 	{7703, 1, &rule23},
4372 	{7704, 1, &rule22},
4373 	{7705, 1, &rule23},
4374 	{7706, 1, &rule22},
4375 	{7707, 1, &rule23},
4376 	{7708, 1, &rule22},
4377 	{7709, 1, &rule23},
4378 	{7710, 1, &rule22},
4379 	{7711, 1, &rule23},
4380 	{7712, 1, &rule22},
4381 	{7713, 1, &rule23},
4382 	{7714, 1, &rule22},
4383 	{7715, 1, &rule23},
4384 	{7716, 1, &rule22},
4385 	{7717, 1, &rule23},
4386 	{7718, 1, &rule22},
4387 	{7719, 1, &rule23},
4388 	{7720, 1, &rule22},
4389 	{7721, 1, &rule23},
4390 	{7722, 1, &rule22},
4391 	{7723, 1, &rule23},
4392 	{7724, 1, &rule22},
4393 	{7725, 1, &rule23},
4394 	{7726, 1, &rule22},
4395 	{7727, 1, &rule23},
4396 	{7728, 1, &rule22},
4397 	{7729, 1, &rule23},
4398 	{7730, 1, &rule22},
4399 	{7731, 1, &rule23},
4400 	{7732, 1, &rule22},
4401 	{7733, 1, &rule23},
4402 	{7734, 1, &rule22},
4403 	{7735, 1, &rule23},
4404 	{7736, 1, &rule22},
4405 	{7737, 1, &rule23},
4406 	{7738, 1, &rule22},
4407 	{7739, 1, &rule23},
4408 	{7740, 1, &rule22},
4409 	{7741, 1, &rule23},
4410 	{7742, 1, &rule22},
4411 	{7743, 1, &rule23},
4412 	{7744, 1, &rule22},
4413 	{7745, 1, &rule23},
4414 	{7746, 1, &rule22},
4415 	{7747, 1, &rule23},
4416 	{7748, 1, &rule22},
4417 	{7749, 1, &rule23},
4418 	{7750, 1, &rule22},
4419 	{7751, 1, &rule23},
4420 	{7752, 1, &rule22},
4421 	{7753, 1, &rule23},
4422 	{7754, 1, &rule22},
4423 	{7755, 1, &rule23},
4424 	{7756, 1, &rule22},
4425 	{7757, 1, &rule23},
4426 	{7758, 1, &rule22},
4427 	{7759, 1, &rule23},
4428 	{7760, 1, &rule22},
4429 	{7761, 1, &rule23},
4430 	{7762, 1, &rule22},
4431 	{7763, 1, &rule23},
4432 	{7764, 1, &rule22},
4433 	{7765, 1, &rule23},
4434 	{7766, 1, &rule22},
4435 	{7767, 1, &rule23},
4436 	{7768, 1, &rule22},
4437 	{7769, 1, &rule23},
4438 	{7770, 1, &rule22},
4439 	{7771, 1, &rule23},
4440 	{7772, 1, &rule22},
4441 	{7773, 1, &rule23},
4442 	{7774, 1, &rule22},
4443 	{7775, 1, &rule23},
4444 	{7776, 1, &rule22},
4445 	{7777, 1, &rule23},
4446 	{7778, 1, &rule22},
4447 	{7779, 1, &rule23},
4448 	{7780, 1, &rule22},
4449 	{7781, 1, &rule23},
4450 	{7782, 1, &rule22},
4451 	{7783, 1, &rule23},
4452 	{7784, 1, &rule22},
4453 	{7785, 1, &rule23},
4454 	{7786, 1, &rule22},
4455 	{7787, 1, &rule23},
4456 	{7788, 1, &rule22},
4457 	{7789, 1, &rule23},
4458 	{7790, 1, &rule22},
4459 	{7791, 1, &rule23},
4460 	{7792, 1, &rule22},
4461 	{7793, 1, &rule23},
4462 	{7794, 1, &rule22},
4463 	{7795, 1, &rule23},
4464 	{7796, 1, &rule22},
4465 	{7797, 1, &rule23},
4466 	{7798, 1, &rule22},
4467 	{7799, 1, &rule23},
4468 	{7800, 1, &rule22},
4469 	{7801, 1, &rule23},
4470 	{7802, 1, &rule22},
4471 	{7803, 1, &rule23},
4472 	{7804, 1, &rule22},
4473 	{7805, 1, &rule23},
4474 	{7806, 1, &rule22},
4475 	{7807, 1, &rule23},
4476 	{7808, 1, &rule22},
4477 	{7809, 1, &rule23},
4478 	{7810, 1, &rule22},
4479 	{7811, 1, &rule23},
4480 	{7812, 1, &rule22},
4481 	{7813, 1, &rule23},
4482 	{7814, 1, &rule22},
4483 	{7815, 1, &rule23},
4484 	{7816, 1, &rule22},
4485 	{7817, 1, &rule23},
4486 	{7818, 1, &rule22},
4487 	{7819, 1, &rule23},
4488 	{7820, 1, &rule22},
4489 	{7821, 1, &rule23},
4490 	{7822, 1, &rule22},
4491 	{7823, 1, &rule23},
4492 	{7824, 1, &rule22},
4493 	{7825, 1, &rule23},
4494 	{7826, 1, &rule22},
4495 	{7827, 1, &rule23},
4496 	{7828, 1, &rule22},
4497 	{7829, 1, &rule23},
4498 	{7835, 1, &rule141},
4499 	{7838, 1, &rule142},
4500 	{7840, 1, &rule22},
4501 	{7841, 1, &rule23},
4502 	{7842, 1, &rule22},
4503 	{7843, 1, &rule23},
4504 	{7844, 1, &rule22},
4505 	{7845, 1, &rule23},
4506 	{7846, 1, &rule22},
4507 	{7847, 1, &rule23},
4508 	{7848, 1, &rule22},
4509 	{7849, 1, &rule23},
4510 	{7850, 1, &rule22},
4511 	{7851, 1, &rule23},
4512 	{7852, 1, &rule22},
4513 	{7853, 1, &rule23},
4514 	{7854, 1, &rule22},
4515 	{7855, 1, &rule23},
4516 	{7856, 1, &rule22},
4517 	{7857, 1, &rule23},
4518 	{7858, 1, &rule22},
4519 	{7859, 1, &rule23},
4520 	{7860, 1, &rule22},
4521 	{7861, 1, &rule23},
4522 	{7862, 1, &rule22},
4523 	{7863, 1, &rule23},
4524 	{7864, 1, &rule22},
4525 	{7865, 1, &rule23},
4526 	{7866, 1, &rule22},
4527 	{7867, 1, &rule23},
4528 	{7868, 1, &rule22},
4529 	{7869, 1, &rule23},
4530 	{7870, 1, &rule22},
4531 	{7871, 1, &rule23},
4532 	{7872, 1, &rule22},
4533 	{7873, 1, &rule23},
4534 	{7874, 1, &rule22},
4535 	{7875, 1, &rule23},
4536 	{7876, 1, &rule22},
4537 	{7877, 1, &rule23},
4538 	{7878, 1, &rule22},
4539 	{7879, 1, &rule23},
4540 	{7880, 1, &rule22},
4541 	{7881, 1, &rule23},
4542 	{7882, 1, &rule22},
4543 	{7883, 1, &rule23},
4544 	{7884, 1, &rule22},
4545 	{7885, 1, &rule23},
4546 	{7886, 1, &rule22},
4547 	{7887, 1, &rule23},
4548 	{7888, 1, &rule22},
4549 	{7889, 1, &rule23},
4550 	{7890, 1, &rule22},
4551 	{7891, 1, &rule23},
4552 	{7892, 1, &rule22},
4553 	{7893, 1, &rule23},
4554 	{7894, 1, &rule22},
4555 	{7895, 1, &rule23},
4556 	{7896, 1, &rule22},
4557 	{7897, 1, &rule23},
4558 	{7898, 1, &rule22},
4559 	{7899, 1, &rule23},
4560 	{7900, 1, &rule22},
4561 	{7901, 1, &rule23},
4562 	{7902, 1, &rule22},
4563 	{7903, 1, &rule23},
4564 	{7904, 1, &rule22},
4565 	{7905, 1, &rule23},
4566 	{7906, 1, &rule22},
4567 	{7907, 1, &rule23},
4568 	{7908, 1, &rule22},
4569 	{7909, 1, &rule23},
4570 	{7910, 1, &rule22},
4571 	{7911, 1, &rule23},
4572 	{7912, 1, &rule22},
4573 	{7913, 1, &rule23},
4574 	{7914, 1, &rule22},
4575 	{7915, 1, &rule23},
4576 	{7916, 1, &rule22},
4577 	{7917, 1, &rule23},
4578 	{7918, 1, &rule22},
4579 	{7919, 1, &rule23},
4580 	{7920, 1, &rule22},
4581 	{7921, 1, &rule23},
4582 	{7922, 1, &rule22},
4583 	{7923, 1, &rule23},
4584 	{7924, 1, &rule22},
4585 	{7925, 1, &rule23},
4586 	{7926, 1, &rule22},
4587 	{7927, 1, &rule23},
4588 	{7928, 1, &rule22},
4589 	{7929, 1, &rule23},
4590 	{7930, 1, &rule22},
4591 	{7931, 1, &rule23},
4592 	{7932, 1, &rule22},
4593 	{7933, 1, &rule23},
4594 	{7934, 1, &rule22},
4595 	{7935, 1, &rule23},
4596 	{7936, 8, &rule143},
4597 	{7944, 8, &rule144},
4598 	{7952, 6, &rule143},
4599 	{7960, 6, &rule144},
4600 	{7968, 8, &rule143},
4601 	{7976, 8, &rule144},
4602 	{7984, 8, &rule143},
4603 	{7992, 8, &rule144},
4604 	{8000, 6, &rule143},
4605 	{8008, 6, &rule144},
4606 	{8017, 1, &rule143},
4607 	{8019, 1, &rule143},
4608 	{8021, 1, &rule143},
4609 	{8023, 1, &rule143},
4610 	{8025, 1, &rule144},
4611 	{8027, 1, &rule144},
4612 	{8029, 1, &rule144},
4613 	{8031, 1, &rule144},
4614 	{8032, 8, &rule143},
4615 	{8040, 8, &rule144},
4616 	{8048, 2, &rule145},
4617 	{8050, 4, &rule146},
4618 	{8054, 2, &rule147},
4619 	{8056, 2, &rule148},
4620 	{8058, 2, &rule149},
4621 	{8060, 2, &rule150},
4622 	{8064, 8, &rule143},
4623 	{8072, 8, &rule151},
4624 	{8080, 8, &rule143},
4625 	{8088, 8, &rule151},
4626 	{8096, 8, &rule143},
4627 	{8104, 8, &rule151},
4628 	{8112, 2, &rule143},
4629 	{8115, 1, &rule152},
4630 	{8120, 2, &rule144},
4631 	{8122, 2, &rule153},
4632 	{8124, 1, &rule154},
4633 	{8126, 1, &rule155},
4634 	{8131, 1, &rule152},
4635 	{8136, 4, &rule156},
4636 	{8140, 1, &rule154},
4637 	{8144, 2, &rule143},
4638 	{8152, 2, &rule144},
4639 	{8154, 2, &rule157},
4640 	{8160, 2, &rule143},
4641 	{8165, 1, &rule113},
4642 	{8168, 2, &rule144},
4643 	{8170, 2, &rule158},
4644 	{8172, 1, &rule117},
4645 	{8179, 1, &rule152},
4646 	{8184, 2, &rule159},
4647 	{8186, 2, &rule160},
4648 	{8188, 1, &rule154},
4649 	{8486, 1, &rule163},
4650 	{8490, 1, &rule164},
4651 	{8491, 1, &rule165},
4652 	{8498, 1, &rule166},
4653 	{8526, 1, &rule167},
4654 	{8544, 16, &rule168},
4655 	{8560, 16, &rule169},
4656 	{8579, 1, &rule22},
4657 	{8580, 1, &rule23},
4658 	{9398, 26, &rule170},
4659 	{9424, 26, &rule171},
4660 	{11264, 47, &rule122},
4661 	{11312, 47, &rule123},
4662 	{11360, 1, &rule22},
4663 	{11361, 1, &rule23},
4664 	{11362, 1, &rule172},
4665 	{11363, 1, &rule173},
4666 	{11364, 1, &rule174},
4667 	{11365, 1, &rule175},
4668 	{11366, 1, &rule176},
4669 	{11367, 1, &rule22},
4670 	{11368, 1, &rule23},
4671 	{11369, 1, &rule22},
4672 	{11370, 1, &rule23},
4673 	{11371, 1, &rule22},
4674 	{11372, 1, &rule23},
4675 	{11373, 1, &rule177},
4676 	{11374, 1, &rule178},
4677 	{11375, 1, &rule179},
4678 	{11376, 1, &rule180},
4679 	{11378, 1, &rule22},
4680 	{11379, 1, &rule23},
4681 	{11381, 1, &rule22},
4682 	{11382, 1, &rule23},
4683 	{11390, 2, &rule181},
4684 	{11392, 1, &rule22},
4685 	{11393, 1, &rule23},
4686 	{11394, 1, &rule22},
4687 	{11395, 1, &rule23},
4688 	{11396, 1, &rule22},
4689 	{11397, 1, &rule23},
4690 	{11398, 1, &rule22},
4691 	{11399, 1, &rule23},
4692 	{11400, 1, &rule22},
4693 	{11401, 1, &rule23},
4694 	{11402, 1, &rule22},
4695 	{11403, 1, &rule23},
4696 	{11404, 1, &rule22},
4697 	{11405, 1, &rule23},
4698 	{11406, 1, &rule22},
4699 	{11407, 1, &rule23},
4700 	{11408, 1, &rule22},
4701 	{11409, 1, &rule23},
4702 	{11410, 1, &rule22},
4703 	{11411, 1, &rule23},
4704 	{11412, 1, &rule22},
4705 	{11413, 1, &rule23},
4706 	{11414, 1, &rule22},
4707 	{11415, 1, &rule23},
4708 	{11416, 1, &rule22},
4709 	{11417, 1, &rule23},
4710 	{11418, 1, &rule22},
4711 	{11419, 1, &rule23},
4712 	{11420, 1, &rule22},
4713 	{11421, 1, &rule23},
4714 	{11422, 1, &rule22},
4715 	{11423, 1, &rule23},
4716 	{11424, 1, &rule22},
4717 	{11425, 1, &rule23},
4718 	{11426, 1, &rule22},
4719 	{11427, 1, &rule23},
4720 	{11428, 1, &rule22},
4721 	{11429, 1, &rule23},
4722 	{11430, 1, &rule22},
4723 	{11431, 1, &rule23},
4724 	{11432, 1, &rule22},
4725 	{11433, 1, &rule23},
4726 	{11434, 1, &rule22},
4727 	{11435, 1, &rule23},
4728 	{11436, 1, &rule22},
4729 	{11437, 1, &rule23},
4730 	{11438, 1, &rule22},
4731 	{11439, 1, &rule23},
4732 	{11440, 1, &rule22},
4733 	{11441, 1, &rule23},
4734 	{11442, 1, &rule22},
4735 	{11443, 1, &rule23},
4736 	{11444, 1, &rule22},
4737 	{11445, 1, &rule23},
4738 	{11446, 1, &rule22},
4739 	{11447, 1, &rule23},
4740 	{11448, 1, &rule22},
4741 	{11449, 1, &rule23},
4742 	{11450, 1, &rule22},
4743 	{11451, 1, &rule23},
4744 	{11452, 1, &rule22},
4745 	{11453, 1, &rule23},
4746 	{11454, 1, &rule22},
4747 	{11455, 1, &rule23},
4748 	{11456, 1, &rule22},
4749 	{11457, 1, &rule23},
4750 	{11458, 1, &rule22},
4751 	{11459, 1, &rule23},
4752 	{11460, 1, &rule22},
4753 	{11461, 1, &rule23},
4754 	{11462, 1, &rule22},
4755 	{11463, 1, &rule23},
4756 	{11464, 1, &rule22},
4757 	{11465, 1, &rule23},
4758 	{11466, 1, &rule22},
4759 	{11467, 1, &rule23},
4760 	{11468, 1, &rule22},
4761 	{11469, 1, &rule23},
4762 	{11470, 1, &rule22},
4763 	{11471, 1, &rule23},
4764 	{11472, 1, &rule22},
4765 	{11473, 1, &rule23},
4766 	{11474, 1, &rule22},
4767 	{11475, 1, &rule23},
4768 	{11476, 1, &rule22},
4769 	{11477, 1, &rule23},
4770 	{11478, 1, &rule22},
4771 	{11479, 1, &rule23},
4772 	{11480, 1, &rule22},
4773 	{11481, 1, &rule23},
4774 	{11482, 1, &rule22},
4775 	{11483, 1, &rule23},
4776 	{11484, 1, &rule22},
4777 	{11485, 1, &rule23},
4778 	{11486, 1, &rule22},
4779 	{11487, 1, &rule23},
4780 	{11488, 1, &rule22},
4781 	{11489, 1, &rule23},
4782 	{11490, 1, &rule22},
4783 	{11491, 1, &rule23},
4784 	{11499, 1, &rule22},
4785 	{11500, 1, &rule23},
4786 	{11501, 1, &rule22},
4787 	{11502, 1, &rule23},
4788 	{11506, 1, &rule22},
4789 	{11507, 1, &rule23},
4790 	{11520, 38, &rule182},
4791 	{11559, 1, &rule182},
4792 	{11565, 1, &rule182},
4793 	{42560, 1, &rule22},
4794 	{42561, 1, &rule23},
4795 	{42562, 1, &rule22},
4796 	{42563, 1, &rule23},
4797 	{42564, 1, &rule22},
4798 	{42565, 1, &rule23},
4799 	{42566, 1, &rule22},
4800 	{42567, 1, &rule23},
4801 	{42568, 1, &rule22},
4802 	{42569, 1, &rule23},
4803 	{42570, 1, &rule22},
4804 	{42571, 1, &rule23},
4805 	{42572, 1, &rule22},
4806 	{42573, 1, &rule23},
4807 	{42574, 1, &rule22},
4808 	{42575, 1, &rule23},
4809 	{42576, 1, &rule22},
4810 	{42577, 1, &rule23},
4811 	{42578, 1, &rule22},
4812 	{42579, 1, &rule23},
4813 	{42580, 1, &rule22},
4814 	{42581, 1, &rule23},
4815 	{42582, 1, &rule22},
4816 	{42583, 1, &rule23},
4817 	{42584, 1, &rule22},
4818 	{42585, 1, &rule23},
4819 	{42586, 1, &rule22},
4820 	{42587, 1, &rule23},
4821 	{42588, 1, &rule22},
4822 	{42589, 1, &rule23},
4823 	{42590, 1, &rule22},
4824 	{42591, 1, &rule23},
4825 	{42592, 1, &rule22},
4826 	{42593, 1, &rule23},
4827 	{42594, 1, &rule22},
4828 	{42595, 1, &rule23},
4829 	{42596, 1, &rule22},
4830 	{42597, 1, &rule23},
4831 	{42598, 1, &rule22},
4832 	{42599, 1, &rule23},
4833 	{42600, 1, &rule22},
4834 	{42601, 1, &rule23},
4835 	{42602, 1, &rule22},
4836 	{42603, 1, &rule23},
4837 	{42604, 1, &rule22},
4838 	{42605, 1, &rule23},
4839 	{42624, 1, &rule22},
4840 	{42625, 1, &rule23},
4841 	{42626, 1, &rule22},
4842 	{42627, 1, &rule23},
4843 	{42628, 1, &rule22},
4844 	{42629, 1, &rule23},
4845 	{42630, 1, &rule22},
4846 	{42631, 1, &rule23},
4847 	{42632, 1, &rule22},
4848 	{42633, 1, &rule23},
4849 	{42634, 1, &rule22},
4850 	{42635, 1, &rule23},
4851 	{42636, 1, &rule22},
4852 	{42637, 1, &rule23},
4853 	{42638, 1, &rule22},
4854 	{42639, 1, &rule23},
4855 	{42640, 1, &rule22},
4856 	{42641, 1, &rule23},
4857 	{42642, 1, &rule22},
4858 	{42643, 1, &rule23},
4859 	{42644, 1, &rule22},
4860 	{42645, 1, &rule23},
4861 	{42646, 1, &rule22},
4862 	{42647, 1, &rule23},
4863 	{42648, 1, &rule22},
4864 	{42649, 1, &rule23},
4865 	{42650, 1, &rule22},
4866 	{42651, 1, &rule23},
4867 	{42786, 1, &rule22},
4868 	{42787, 1, &rule23},
4869 	{42788, 1, &rule22},
4870 	{42789, 1, &rule23},
4871 	{42790, 1, &rule22},
4872 	{42791, 1, &rule23},
4873 	{42792, 1, &rule22},
4874 	{42793, 1, &rule23},
4875 	{42794, 1, &rule22},
4876 	{42795, 1, &rule23},
4877 	{42796, 1, &rule22},
4878 	{42797, 1, &rule23},
4879 	{42798, 1, &rule22},
4880 	{42799, 1, &rule23},
4881 	{42802, 1, &rule22},
4882 	{42803, 1, &rule23},
4883 	{42804, 1, &rule22},
4884 	{42805, 1, &rule23},
4885 	{42806, 1, &rule22},
4886 	{42807, 1, &rule23},
4887 	{42808, 1, &rule22},
4888 	{42809, 1, &rule23},
4889 	{42810, 1, &rule22},
4890 	{42811, 1, &rule23},
4891 	{42812, 1, &rule22},
4892 	{42813, 1, &rule23},
4893 	{42814, 1, &rule22},
4894 	{42815, 1, &rule23},
4895 	{42816, 1, &rule22},
4896 	{42817, 1, &rule23},
4897 	{42818, 1, &rule22},
4898 	{42819, 1, &rule23},
4899 	{42820, 1, &rule22},
4900 	{42821, 1, &rule23},
4901 	{42822, 1, &rule22},
4902 	{42823, 1, &rule23},
4903 	{42824, 1, &rule22},
4904 	{42825, 1, &rule23},
4905 	{42826, 1, &rule22},
4906 	{42827, 1, &rule23},
4907 	{42828, 1, &rule22},
4908 	{42829, 1, &rule23},
4909 	{42830, 1, &rule22},
4910 	{42831, 1, &rule23},
4911 	{42832, 1, &rule22},
4912 	{42833, 1, &rule23},
4913 	{42834, 1, &rule22},
4914 	{42835, 1, &rule23},
4915 	{42836, 1, &rule22},
4916 	{42837, 1, &rule23},
4917 	{42838, 1, &rule22},
4918 	{42839, 1, &rule23},
4919 	{42840, 1, &rule22},
4920 	{42841, 1, &rule23},
4921 	{42842, 1, &rule22},
4922 	{42843, 1, &rule23},
4923 	{42844, 1, &rule22},
4924 	{42845, 1, &rule23},
4925 	{42846, 1, &rule22},
4926 	{42847, 1, &rule23},
4927 	{42848, 1, &rule22},
4928 	{42849, 1, &rule23},
4929 	{42850, 1, &rule22},
4930 	{42851, 1, &rule23},
4931 	{42852, 1, &rule22},
4932 	{42853, 1, &rule23},
4933 	{42854, 1, &rule22},
4934 	{42855, 1, &rule23},
4935 	{42856, 1, &rule22},
4936 	{42857, 1, &rule23},
4937 	{42858, 1, &rule22},
4938 	{42859, 1, &rule23},
4939 	{42860, 1, &rule22},
4940 	{42861, 1, &rule23},
4941 	{42862, 1, &rule22},
4942 	{42863, 1, &rule23},
4943 	{42873, 1, &rule22},
4944 	{42874, 1, &rule23},
4945 	{42875, 1, &rule22},
4946 	{42876, 1, &rule23},
4947 	{42877, 1, &rule183},
4948 	{42878, 1, &rule22},
4949 	{42879, 1, &rule23},
4950 	{42880, 1, &rule22},
4951 	{42881, 1, &rule23},
4952 	{42882, 1, &rule22},
4953 	{42883, 1, &rule23},
4954 	{42884, 1, &rule22},
4955 	{42885, 1, &rule23},
4956 	{42886, 1, &rule22},
4957 	{42887, 1, &rule23},
4958 	{42891, 1, &rule22},
4959 	{42892, 1, &rule23},
4960 	{42893, 1, &rule184},
4961 	{42896, 1, &rule22},
4962 	{42897, 1, &rule23},
4963 	{42898, 1, &rule22},
4964 	{42899, 1, &rule23},
4965 	{42900, 1, &rule185},
4966 	{42902, 1, &rule22},
4967 	{42903, 1, &rule23},
4968 	{42904, 1, &rule22},
4969 	{42905, 1, &rule23},
4970 	{42906, 1, &rule22},
4971 	{42907, 1, &rule23},
4972 	{42908, 1, &rule22},
4973 	{42909, 1, &rule23},
4974 	{42910, 1, &rule22},
4975 	{42911, 1, &rule23},
4976 	{42912, 1, &rule22},
4977 	{42913, 1, &rule23},
4978 	{42914, 1, &rule22},
4979 	{42915, 1, &rule23},
4980 	{42916, 1, &rule22},
4981 	{42917, 1, &rule23},
4982 	{42918, 1, &rule22},
4983 	{42919, 1, &rule23},
4984 	{42920, 1, &rule22},
4985 	{42921, 1, &rule23},
4986 	{42922, 1, &rule186},
4987 	{42923, 1, &rule187},
4988 	{42924, 1, &rule188},
4989 	{42925, 1, &rule189},
4990 	{42926, 1, &rule186},
4991 	{42928, 1, &rule190},
4992 	{42929, 1, &rule191},
4993 	{42930, 1, &rule192},
4994 	{42931, 1, &rule193},
4995 	{42932, 1, &rule22},
4996 	{42933, 1, &rule23},
4997 	{42934, 1, &rule22},
4998 	{42935, 1, &rule23},
4999 	{42936, 1, &rule22},
5000 	{42937, 1, &rule23},
5001 	{42938, 1, &rule22},
5002 	{42939, 1, &rule23},
5003 	{42940, 1, &rule22},
5004 	{42941, 1, &rule23},
5005 	{42942, 1, &rule22},
5006 	{42943, 1, &rule23},
5007 	{42946, 1, &rule22},
5008 	{42947, 1, &rule23},
5009 	{42948, 1, &rule194},
5010 	{42949, 1, &rule195},
5011 	{42950, 1, &rule196},
5012 	{42951, 1, &rule22},
5013 	{42952, 1, &rule23},
5014 	{42953, 1, &rule22},
5015 	{42954, 1, &rule23},
5016 	{42997, 1, &rule22},
5017 	{42998, 1, &rule23},
5018 	{43859, 1, &rule197},
5019 	{43888, 80, &rule198},
5020 	{65313, 26, &rule9},
5021 	{65345, 26, &rule12},
5022 	{66560, 40, &rule201},
5023 	{66600, 40, &rule202},
5024 	{66736, 36, &rule201},
5025 	{66776, 36, &rule202},
5026 	{68736, 51, &rule97},
5027 	{68800, 51, &rule102},
5028 	{71840, 32, &rule9},
5029 	{71872, 32, &rule12},
5030 	{93760, 32, &rule9},
5031 	{93792, 32, &rule12},
5032 	{125184, 34, &rule203},
5033 	{125218, 34, &rule204}
5034 };
5035 static const struct _charblock_ spacechars[]={
5036 	{32, 1, &rule1},
5037 	{160, 1, &rule1},
5038 	{5760, 1, &rule1},
5039 	{8192, 11, &rule1},
5040 	{8239, 1, &rule1},
5041 	{8287, 1, &rule1},
5042 	{12288, 1, &rule1}
5043 };
5044 
5045 /*
5046 	Obtain the reference to character rule by doing
5047 	binary search over the specified array of blocks.
5048 	To make checkattr shorter, the address of
5049 	nullrule is returned if the search fails:
5050 	this rule defines no category and no conversion
5051 	distances. The compare function returns 0 when
5052 	key->start is within the block. Otherwise
5053 	result of comparison of key->start and start of the
5054 	current block is returned as usual.
5055 */
5056 
5057 static const struct _convrule_ nullrule={0,NUMCAT_CN,0,0,0,0};
5058 
blkcmp(const void * vk,const void * vb)5059 static int blkcmp(const void *vk,const void *vb)
5060 {
5061 	const struct _charblock_ *key,*cur;
5062 	key=vk;
5063 	cur=vb;
5064 	if((key->start>=cur->start)&&(key->start<(cur->start+cur->length)))
5065 	{
5066 		return 0;
5067 	}
5068 	if(key->start>cur->start) return 1;
5069 	return -1;
5070 }
5071 
getrule(const struct _charblock_ * blocks,int numblocks,int unichar)5072 static const struct _convrule_ *getrule(
5073 	const struct _charblock_ *blocks,
5074 	int numblocks,
5075 	int unichar)
5076 {
5077 	struct _charblock_ key={unichar,1,(void *)0};
5078 	struct _charblock_ *cb=bsearch(&key,blocks,numblocks,sizeof(key),blkcmp);
5079 	if(cb==(void *)0) return &nullrule;
5080 	return cb->rule;
5081 }
5082 
5083 
5084 
5085 /*
5086 	Check whether a character (internal code) has certain attributes.
5087 	Attributes (category flags) may be ORed. The function ANDs
5088 	character category flags and the mask and returns the result.
5089 	If the character belongs to one of the categories requested,
5090 	the result will be nonzero.
5091 */
5092 
checkattr(int c,unsigned int catmask)5093 inline static int checkattr(int c,unsigned int catmask)
5094 {
5095 	return (catmask & (getrule(allchars,(c<256)?NUM_LAT1BLOCKS:NUM_BLOCKS,c)->category));
5096 }
5097 
checkattr_s(int c,unsigned int catmask)5098 inline static int checkattr_s(int c,unsigned int catmask)
5099 {
5100         return (catmask & (getrule(spacechars,NUM_SPACEBLOCKS,c)->category));
5101 }
5102 
5103 /*
5104 	Define predicate functions for some combinations of categories.
5105 */
5106 
5107 #define unipred(p,m) \
5108 HsInt p(HsInt c) \
5109 { \
5110 	return checkattr(c,m); \
5111 }
5112 
5113 #define unipred_s(p,m) \
5114 HsInt p(HsInt c) \
5115 { \
5116         return checkattr_s(c,m); \
5117 }
5118 
5119 /*
5120 	Make these rules as close to Hugs as possible.
5121 */
5122 
unipred(u_iswcntrl,GENCAT_CC)5123 unipred(u_iswcntrl,GENCAT_CC)
5124 unipred(u_iswprint, (GENCAT_MC | GENCAT_NO | GENCAT_SK | GENCAT_ME | GENCAT_ND |   GENCAT_PO | GENCAT_LT | GENCAT_PC | GENCAT_SM | GENCAT_ZS |   GENCAT_LU | GENCAT_PD | GENCAT_SO | GENCAT_PE | GENCAT_PF |   GENCAT_PS | GENCAT_SC | GENCAT_LL | GENCAT_LM | GENCAT_PI |   GENCAT_NL | GENCAT_MN | GENCAT_LO))
5125 unipred_s(u_iswspace,GENCAT_ZS)
5126 unipred(u_iswupper,(GENCAT_LU|GENCAT_LT))
5127 unipred(u_iswlower,GENCAT_LL)
5128 unipred(u_iswalpha,(GENCAT_LL|GENCAT_LU|GENCAT_LT|GENCAT_LM|GENCAT_LO))
5129 unipred(u_iswdigit,GENCAT_ND)
5130 
5131 unipred(u_iswalnum,(GENCAT_LT|GENCAT_LU|GENCAT_LL|GENCAT_LM|GENCAT_LO|
5132 		    GENCAT_NO|GENCAT_ND|GENCAT_NL))
5133 
5134 #define caseconv(p,to) \
5135 HsInt p(HsInt c) \
5136 { \
5137 	const struct _convrule_ *rule=getrule(convchars,NUM_CONVBLOCKS,c);\
5138 	if(rule==&nullrule) return c;\
5139 	return c+rule->to;\
5140 }
5141 
5142 caseconv(u_towupper,updist)
5143 caseconv(u_towlower,lowdist)
5144 caseconv(u_towtitle,titledist)
5145 
5146 HsInt u_gencat(HsInt c)
5147 {
5148 	return getrule(allchars,NUM_BLOCKS,c)->catnumber;
5149 }
5150