100 #define X__ (kExitIllegalStructure)
101 #define RJ_ (kExitReject)
102 #define S1_ (kExitReplace1)
103 #define S2_ (kExitReplace2)
104 #define S3_ (kExitReplace3)
105 #define S21 (kExitReplace21)
106 #define S31 (kExitReplace31)
107 #define S32 (kExitReplace32)
108 #define T1_ (kExitReplaceOffset1)
109 #define T2_ (kExitReplaceOffset2)
110 #define S11 (kExitReplace1S0)
111 #define SP_ (kExitSpecial)
112 #define D__ (kExitDoAgain)
113 #define RJA (kExitRejectAlt)
127 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
128 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
129 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
130 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
132 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
133 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
134 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
135 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
137 X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
138 X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
139 X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
140 X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
142 X__,
X__, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
143 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
144 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 7, 3, 3,
145 4, 5, 5, 5, 6,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
148 X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
149 X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
150 X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
151 X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
153 X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
154 X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
155 X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
156 X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
158 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
159 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
160 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
161 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
163 X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
164 X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
165 X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
166 X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
169 X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
170 X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
171 X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
172 X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
174 X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
175 X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
176 X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
177 X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
179 X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
180 X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
181 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
182 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
184 X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
185 X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
186 X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
187 X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
190 X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
191 X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
192 X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
193 X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
195 X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
196 X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
197 X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
198 X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
200 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
201 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
202 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
203 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
205 X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
206 X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
207 X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
208 X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
211 X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
212 X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
213 X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
214 X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
216 X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
217 X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
218 X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
219 X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
221 X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
222 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
223 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
224 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
226 X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
227 X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
228 X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
229 X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
232 X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
233 X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
234 X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
235 X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
237 X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
238 X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
239 X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
240 X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
242 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
243 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
244 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
245 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
247 X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
248 X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
249 X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
250 X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
253 X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
254 X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
255 X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
256 X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
258 X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
259 X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
260 X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
261 X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
263 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
264 X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
265 X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
266 X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
268 X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
269 X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
270 X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
271 X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
274 X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
275 X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
276 X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
277 X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
279 X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
280 X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
281 X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
282 X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
284 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
285 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
286 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
287 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
289 X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
290 X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
291 X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
292 X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
295 X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
296 X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
297 X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
298 X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
300 X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
301 X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
302 X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
303 X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
305 RJ_,
RJ_,
RJ_,
RJ_,
RJ_,
RJ_,
RJ_,
RJ_,
RJ_,
RJ_,
RJ_,
RJ_,
RJ_,
RJ_,
RJ_,
RJ_,
306 RJ_,
RJ_,
RJ_,
RJ_,
RJ_,
RJ_,
RJ_,
RJ_,
RJ_,
RJ_,
RJ_,
RJ_,
RJ_,
RJ_,
RJ_,
RJ_,
307 RJ_,
RJ_,
RJ_,
RJ_,
RJ_,
RJ_,
RJ_,
RJ_,
RJ_,
RJ_,
RJ_,
RJ_,
RJ_,
RJ_,
RJ_,
RJ_,
308 RJ_,
RJ_,
RJ_,
RJ_,
RJ_,
RJ_,
RJ_,
RJ_,
RJ_,
RJ_,
RJ_,
RJ_,
RJ_,
RJ_,
RJ_,
RJ_,
310 X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
311 X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
312 X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
313 X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
X__,
325 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
326 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
327 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
328 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
330 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
331 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
332 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
333 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
335 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
336 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
337 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
338 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
340 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
341 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
342 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
343 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
390 int* bytes_consumed) {
392 if (str_length == 0)
return kExitOK;
397 const uint8* srclimit = isrc + str_length;
398 const uint8* srclimit8 = srclimit - 7;
410 while ((((uintptr_t)
src & 0x07) != 0) &&
415 if (((uintptr_t)
src & 0x07) == 0) {
420 while (
src < srclimit8) {
425 uint32 temp = (s0123 - losub) | (s0123 + hiadd) |
426 (s4567 - losub) | (s4567 + hiadd);
427 if ((temp & 0x80808080) != 0) {
429 int e0123 = (Tbl2[
src[-8]] | Tbl2[
src[-7]]) |
430 (Tbl2[
src[-6]] | Tbl2[
src[-5]]);
435 e0123 = (Tbl2[
src[-4]] | Tbl2[
src[-3]]) |
436 (Tbl2[
src[-2]] | Tbl2[
src[-1]]);
449 const uint8* Tbl = Tbl_0;
450 while (
src < srclimit) {
455 Tbl = &Tbl_0[e << eshift];
475 }
while ((
src > isrc) && ((
src[0] & 0xc0) == 0x80));
482 }
while ((
src > isrc) && ((
src[0] & 0xc0) == 0x80));
493 *bytes_consumed =
src - isrc;
500 int* bytes_consumed) {
502 if (str_length == 0)
return kExitOK;
506 const uint8* srclimit = isrc + str_length;
507 const uint8* srclimit8 = srclimit - 7;
513 while ((((uintptr_t)
src & 0x07) != 0) &&
514 (
src < srclimit) && (
src[0] < 0x80)) {
517 if (((uintptr_t)
src & 0x07) == 0) {
518 while ((
src < srclimit8) &&
519 (((
reinterpret_cast<const uint32*
>(
src)[0] |
520 reinterpret_cast<const uint32*
>(
src)[1]) & 0x80808080) == 0)) {
524 while ((
src < srclimit) && (
src[0] < 0x80)) {
530 src += rest_consumed;
533 *bytes_consumed =
src - isrc;
545 bool module_initialized_ =
false;
547 struct InitDetector {
549 module_initialized_ =
true;
552 InitDetector init_detector;
557 if (!module_initialized_)
return true;
559 int bytes_consumed = 0;
561 buf,
len, &bytes_consumed);
562 return (bytes_consumed ==
len);
566 if (!module_initialized_)
return str.size();
568 int bytes_consumed = 0;
570 str.data(),
str.size(), &bytes_consumed);
571 return bytes_consumed;
588 const char replace_char) {
589 const char* isrc = src_str.
data();
593 return const_cast<char*
>(isrc);
595 const char*
src = isrc;
596 const char* srclimit = isrc +
len;
601 while (
src < srclimit) {
602 dst[0] = replace_char;