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