1 /* Generated by Nim Compiler v1.6.2 */
2 #define NIM_INTBITS 32
3 
4 #include "nimbase.h"
5 #undef LANGUAGE_C
6 #undef MIPSEB
7 #undef MIPSEL
8 #undef PPC
9 #undef R3000
10 #undef R4000
11 #undef i386
12 #undef linux
13 #undef mips
14 #undef near
15 #undef far
16 #undef powerpc
17 #undef unix
18 #define nimfr_(x, y)
19 #define nimln_(x, y)
20 typedef struct NimStringDesc NimStringDesc;
21 typedef struct TGenericSeq TGenericSeq;
22 struct TGenericSeq {
23 NI len;
24 NI reserved;
25 };
26 struct NimStringDesc {
27   TGenericSeq Sup;
28 NIM_CHAR data[SEQ_DECL_SIZE];
29 };
30 N_LIB_PRIVATE N_NIMCALL(NI, runeLenAt__pureZunicode_65)(NimStringDesc* s, NI i);
31 static N_INLINE(NIM_BOOL, lteqpercent___system_997)(NI32 x, NI32 y);
32 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, setLengthStr)(NimStringDesc* s, NI newLen);
N_NIMCALL(NI,nucruneLen)33 N_LIB_PRIVATE N_NIMCALL(NI, nucruneLen)(NimStringDesc* s) {
34 	NI result;
35 	NI i;
36 	result = (NI)0;
37 	result = ((NI) 0);
38 	i = ((NI) 0);
39 	{
40 		while (1) {
41 			if (!(i < (s ? s->Sup.len : 0))) goto LA2;
42 			{
43 				if (!((NU32)(((NU) (((NU8)(s->data[i]))))) <= (NU32)(((NU) 127)))) goto LA5_;
44 				i += ((NI) 1);
45 			}
46 			goto LA3_;
47 			LA5_: ;
48 			{
49 				if (!((NU)((NU32)(((NU) (((NU8)(s->data[i]))))) >> (NU32)(((NI) 5))) == ((NU) 6))) goto LA8_;
50 				i += ((NI) 2);
51 			}
52 			goto LA3_;
53 			LA8_: ;
54 			{
55 				if (!((NU)((NU32)(((NU) (((NU8)(s->data[i]))))) >> (NU32)(((NI) 4))) == ((NU) 14))) goto LA11_;
56 				i += ((NI) 3);
57 			}
58 			goto LA3_;
59 			LA11_: ;
60 			{
61 				if (!((NU)((NU32)(((NU) (((NU8)(s->data[i]))))) >> (NU32)(((NI) 3))) == ((NU) 30))) goto LA14_;
62 				i += ((NI) 4);
63 			}
64 			goto LA3_;
65 			LA14_: ;
66 			{
67 				if (!((NU)((NU32)(((NU) (((NU8)(s->data[i]))))) >> (NU32)(((NI) 2))) == ((NU) 62))) goto LA17_;
68 				i += ((NI) 5);
69 			}
70 			goto LA3_;
71 			LA17_: ;
72 			{
73 				if (!((NU)((NU32)(((NU) (((NU8)(s->data[i]))))) >> (NU32)(((NI) 1))) == ((NU) 126))) goto LA20_;
74 				i += ((NI) 6);
75 			}
76 			goto LA3_;
77 			LA20_: ;
78 			{
79 				i += ((NI) 1);
80 			}
81 			LA3_: ;
82 			result += ((NI) 1);
83 		} LA2: ;
84 	}
85 	return result;
86 }
N_NIMCALL(NI,runeLenAt__pureZunicode_65)87 N_LIB_PRIVATE N_NIMCALL(NI, runeLenAt__pureZunicode_65)(NimStringDesc* s, NI i) {
88 	NI result;
89 	result = (NI)0;
90 	{
91 		if (!((NU32)(((NU) (((NU8)(s->data[i]))))) <= (NU32)(((NU) 127)))) goto LA3_;
92 		result = ((NI) 1);
93 	}
94 	goto LA1_;
95 	LA3_: ;
96 	{
97 		if (!((NU)((NU32)(((NU) (((NU8)(s->data[i]))))) >> (NU32)(((NI) 5))) == ((NU) 6))) goto LA6_;
98 		result = ((NI) 2);
99 	}
100 	goto LA1_;
101 	LA6_: ;
102 	{
103 		if (!((NU)((NU32)(((NU) (((NU8)(s->data[i]))))) >> (NU32)(((NI) 4))) == ((NU) 14))) goto LA9_;
104 		result = ((NI) 3);
105 	}
106 	goto LA1_;
107 	LA9_: ;
108 	{
109 		if (!((NU)((NU32)(((NU) (((NU8)(s->data[i]))))) >> (NU32)(((NI) 3))) == ((NU) 30))) goto LA12_;
110 		result = ((NI) 4);
111 	}
112 	goto LA1_;
113 	LA12_: ;
114 	{
115 		if (!((NU)((NU32)(((NU) (((NU8)(s->data[i]))))) >> (NU32)(((NI) 2))) == ((NU) 62))) goto LA15_;
116 		result = ((NI) 5);
117 	}
118 	goto LA1_;
119 	LA15_: ;
120 	{
121 		if (!((NU)((NU32)(((NU) (((NU8)(s->data[i]))))) >> (NU32)(((NI) 1))) == ((NU) 126))) goto LA18_;
122 		result = ((NI) 6);
123 	}
124 	goto LA1_;
125 	LA18_: ;
126 	{
127 		result = ((NI) 1);
128 	}
129 	LA1_: ;
130 	return result;
131 }
N_NIMCALL(NI,runeOffset__pureZunicode_635)132 N_LIB_PRIVATE N_NIMCALL(NI, runeOffset__pureZunicode_635)(NimStringDesc* s, NI pos, NI start) {
133 	NI result;
134 	NI i;
135 	NI o;
136 {	result = (NI)0;
137 	i = ((NI) 0);
138 	o = start;
139 	{
140 		while (1) {
141 			NI T3_;
142 			if (!(i < ((NI) (pos)))) goto LA2;
143 			T3_ = (NI)0;
144 			T3_ = runeLenAt__pureZunicode_65(s, o);
145 			o += ((NI) (T3_));
146 			{
147 				if (!((s ? s->Sup.len : 0) <= ((NI) (o)))) goto LA6_;
148 				result = ((NI) -1);
149 				goto BeforeRet_;
150 			}
151 			LA6_: ;
152 			i += ((NI) 1);
153 		} LA2: ;
154 	}
155 	result = ((NI) (o));
156 	goto BeforeRet_;
157 	}BeforeRet_: ;
158 	return result;
159 }
N_NIMCALL(NI,validateUtf8__pureZunicode_277)160 N_LIB_PRIVATE N_NIMCALL(NI, validateUtf8__pureZunicode_277)(NimStringDesc* s) {
161 	NI result;
162 	NI i;
163 	NI L;
164 {	result = (NI)0;
165 	i = ((NI) 0);
166 	L = (s ? s->Sup.len : 0);
167 	{
168 		while (1) {
169 			if (!(i < L)) goto LA2;
170 			{
171 				if (!((NU32)(((NU) (((NU8)(s->data[i]))))) <= (NU32)(((NU) 127)))) goto LA5_;
172 				i += ((NI) 1);
173 			}
174 			goto LA3_;
175 			LA5_: ;
176 			{
177 				if (!((NU)((NU32)(((NU) (((NU8)(s->data[i]))))) >> (NU32)(((NI) 5))) == ((NU) 6))) goto LA8_;
178 				{
179 					if (!((NU32)(((NU) (((NU8)(s->data[i]))))) < (NU32)(((NU) 194)))) goto LA12_;
180 					result = i;
181 					goto BeforeRet_;
182 				}
183 				LA12_: ;
184 				{
185 					NIM_BOOL T16_;
186 					T16_ = (NIM_BOOL)0;
187 					T16_ = ((NI)(i + ((NI) 1)) < L);
188 					if (!(T16_)) goto LA17_;
189 					T16_ = ((NU)((NU32)(((NU) (((NU8)(s->data[(NI)(i + ((NI) 1))]))))) >> (NU32)(((NI) 6))) == ((NU) 2));
190 					LA17_: ;
191 					if (!T16_) goto LA18_;
192 					i += ((NI) 2);
193 				}
194 				goto LA14_;
195 				LA18_: ;
196 				{
197 					result = i;
198 					goto BeforeRet_;
199 				}
200 				LA14_: ;
201 			}
202 			goto LA3_;
203 			LA8_: ;
204 			{
205 				if (!((NU)((NU32)(((NU) (((NU8)(s->data[i]))))) >> (NU32)(((NI) 4))) == ((NU) 14))) goto LA22_;
206 				{
207 					NIM_BOOL T26_;
208 					NIM_BOOL T27_;
209 					T26_ = (NIM_BOOL)0;
210 					T27_ = (NIM_BOOL)0;
211 					T27_ = ((NI)(i + ((NI) 2)) < L);
212 					if (!(T27_)) goto LA28_;
213 					T27_ = ((NU)((NU32)(((NU) (((NU8)(s->data[(NI)(i + ((NI) 1))]))))) >> (NU32)(((NI) 6))) == ((NU) 2));
214 					LA28_: ;
215 					T26_ = T27_;
216 					if (!(T26_)) goto LA29_;
217 					T26_ = ((NU)((NU32)(((NU) (((NU8)(s->data[(NI)(i + ((NI) 2))]))))) >> (NU32)(((NI) 6))) == ((NU) 2));
218 					LA29_: ;
219 					if (!T26_) goto LA30_;
220 					i += ((NI) 3);
221 				}
222 				goto LA24_;
223 				LA30_: ;
224 				{
225 					result = i;
226 					goto BeforeRet_;
227 				}
228 				LA24_: ;
229 			}
230 			goto LA3_;
231 			LA22_: ;
232 			{
233 				if (!((NU)((NU32)(((NU) (((NU8)(s->data[i]))))) >> (NU32)(((NI) 3))) == ((NU) 30))) goto LA34_;
234 				{
235 					NIM_BOOL T38_;
236 					NIM_BOOL T39_;
237 					NIM_BOOL T40_;
238 					T38_ = (NIM_BOOL)0;
239 					T39_ = (NIM_BOOL)0;
240 					T40_ = (NIM_BOOL)0;
241 					T40_ = ((NI)(i + ((NI) 3)) < L);
242 					if (!(T40_)) goto LA41_;
243 					T40_ = ((NU)((NU32)(((NU) (((NU8)(s->data[(NI)(i + ((NI) 1))]))))) >> (NU32)(((NI) 6))) == ((NU) 2));
244 					LA41_: ;
245 					T39_ = T40_;
246 					if (!(T39_)) goto LA42_;
247 					T39_ = ((NU)((NU32)(((NU) (((NU8)(s->data[(NI)(i + ((NI) 2))]))))) >> (NU32)(((NI) 6))) == ((NU) 2));
248 					LA42_: ;
249 					T38_ = T39_;
250 					if (!(T38_)) goto LA43_;
251 					T38_ = ((NU)((NU32)(((NU) (((NU8)(s->data[(NI)(i + ((NI) 3))]))))) >> (NU32)(((NI) 6))) == ((NU) 2));
252 					LA43_: ;
253 					if (!T38_) goto LA44_;
254 					i += ((NI) 4);
255 				}
256 				goto LA36_;
257 				LA44_: ;
258 				{
259 					result = i;
260 					goto BeforeRet_;
261 				}
262 				LA36_: ;
263 			}
264 			goto LA3_;
265 			LA34_: ;
266 			{
267 				result = i;
268 				goto BeforeRet_;
269 			}
270 			LA3_: ;
271 		} LA2: ;
272 	}
273 	result = ((NI) -1);
274 	goto BeforeRet_;
275 	}BeforeRet_: ;
276 	return result;
277 }
N_NIMCALL(NIM_BOOL,eqeq___pureZunicode_908)278 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, eqeq___pureZunicode_908)(NI32 a, NI32 b) {
279 	NIM_BOOL result;
280 {	result = (NIM_BOOL)0;
281 	result = (((NI) (a)) == ((NI) (b)));
282 	goto BeforeRet_;
283 	}BeforeRet_: ;
284 	return result;
285 }
N_NIMCALL(NI32,runeAt__pureZunicode_95)286 N_LIB_PRIVATE N_NIMCALL(NI32, runeAt__pureZunicode_95)(NimStringDesc* s, NI i) {
287 	NI32 result;
288 	result = (NI32)0;
289 	{
290 		if (!((NU32)(((NU) (((NU8)(s->data[i]))))) <= (NU32)(((NU) 127)))) goto LA3_;
291 		result = ((NI32) (((NU) (((NU8)(s->data[i]))))));
292 	}
293 	goto LA1_;
294 	LA3_: ;
295 	{
296 		if (!((NU)((NU32)(((NU) (((NU8)(s->data[i]))))) >> (NU32)(((NI) 5))) == ((NU) 6))) goto LA6_;
297 		{
298 			if (!(((NI) (i)) <= (NI)((s ? s->Sup.len : 0) - ((NI) 2)))) goto LA10_;
299 			result = ((NI32) ((NU)((NU)((NU32)((NU)(((NU) (((NU8)(s->data[i])))) & ((NU) 31))) << (NU32)(((NI) 6))) | (NU)(((NU) (((NU8)(s->data[(NI)(((NI) (i)) + ((NI) 1))])))) & ((NU) 63)))));
300 		}
301 		goto LA8_;
302 		LA10_: ;
303 		{
304 			result = ((NI32) 65533);
305 		}
306 		LA8_: ;
307 	}
308 	goto LA1_;
309 	LA6_: ;
310 	{
311 		if (!((NU)((NU32)(((NU) (((NU8)(s->data[i]))))) >> (NU32)(((NI) 4))) == ((NU) 14))) goto LA14_;
312 		{
313 			if (!(((NI) (i)) <= (NI)((s ? s->Sup.len : 0) - ((NI) 3)))) goto LA18_;
314 			result = ((NI32) ((NU)((NU)((NU)((NU32)((NU)(((NU) (((NU8)(s->data[i])))) & ((NU) 15))) << (NU32)(((NI) 12))) | (NU)((NU32)((NU)(((NU) (((NU8)(s->data[(NI)(((NI) (i)) + ((NI) 1))])))) & ((NU) 63))) << (NU32)(((NI) 6)))) | (NU)(((NU) (((NU8)(s->data[(NI)(((NI) (i)) + ((NI) 2))])))) & ((NU) 63)))));
315 		}
316 		goto LA16_;
317 		LA18_: ;
318 		{
319 			result = ((NI32) 65533);
320 		}
321 		LA16_: ;
322 	}
323 	goto LA1_;
324 	LA14_: ;
325 	{
326 		if (!((NU)((NU32)(((NU) (((NU8)(s->data[i]))))) >> (NU32)(((NI) 3))) == ((NU) 30))) goto LA22_;
327 		{
328 			if (!(((NI) (i)) <= (NI)((s ? s->Sup.len : 0) - ((NI) 4)))) goto LA26_;
329 			result = ((NI32) ((NU)((NU)((NU)((NU)((NU32)((NU)(((NU) (((NU8)(s->data[i])))) & ((NU) 7))) << (NU32)(((NI) 18))) | (NU)((NU32)((NU)(((NU) (((NU8)(s->data[(NI)(((NI) (i)) + ((NI) 1))])))) & ((NU) 63))) << (NU32)(((NI) 12)))) | (NU)((NU32)((NU)(((NU) (((NU8)(s->data[(NI)(((NI) (i)) + ((NI) 2))])))) & ((NU) 63))) << (NU32)(((NI) 6)))) | (NU)(((NU) (((NU8)(s->data[(NI)(((NI) (i)) + ((NI) 3))])))) & ((NU) 63)))));
330 		}
331 		goto LA24_;
332 		LA26_: ;
333 		{
334 			result = ((NI32) 65533);
335 		}
336 		LA24_: ;
337 	}
338 	goto LA1_;
339 	LA22_: ;
340 	{
341 		if (!((NU)((NU32)(((NU) (((NU8)(s->data[i]))))) >> (NU32)(((NI) 2))) == ((NU) 62))) goto LA30_;
342 		{
343 			if (!(((NI) (i)) <= (NI)((s ? s->Sup.len : 0) - ((NI) 5)))) goto LA34_;
344 			result = ((NI32) ((NU)((NU)((NU)((NU)((NU)((NU32)((NU)(((NU) (((NU8)(s->data[i])))) & ((NU) 3))) << (NU32)(((NI) 24))) | (NU)((NU32)((NU)(((NU) (((NU8)(s->data[(NI)(((NI) (i)) + ((NI) 1))])))) & ((NU) 63))) << (NU32)(((NI) 18)))) | (NU)((NU32)((NU)(((NU) (((NU8)(s->data[(NI)(((NI) (i)) + ((NI) 2))])))) & ((NU) 63))) << (NU32)(((NI) 12)))) | (NU)((NU32)((NU)(((NU) (((NU8)(s->data[(NI)(((NI) (i)) + ((NI) 3))])))) & ((NU) 63))) << (NU32)(((NI) 6)))) | (NU)(((NU) (((NU8)(s->data[(NI)(((NI) (i)) + ((NI) 4))])))) & ((NU) 63)))));
345 		}
346 		goto LA32_;
347 		LA34_: ;
348 		{
349 			result = ((NI32) 65533);
350 		}
351 		LA32_: ;
352 	}
353 	goto LA1_;
354 	LA30_: ;
355 	{
356 		if (!((NU)((NU32)(((NU) (((NU8)(s->data[i]))))) >> (NU32)(((NI) 1))) == ((NU) 126))) goto LA38_;
357 		{
358 			if (!(((NI) (i)) <= (NI)((s ? s->Sup.len : 0) - ((NI) 6)))) goto LA42_;
359 			result = ((NI32) ((NU)((NU)((NU)((NU)((NU)((NU)((NU32)((NU)(((NU) (((NU8)(s->data[i])))) & ((NU) 1))) << (NU32)(((NI) 30))) | (NU)((NU32)((NU)(((NU) (((NU8)(s->data[(NI)(((NI) (i)) + ((NI) 1))])))) & ((NU) 63))) << (NU32)(((NI) 24)))) | (NU)((NU32)((NU)(((NU) (((NU8)(s->data[(NI)(((NI) (i)) + ((NI) 2))])))) & ((NU) 63))) << (NU32)(((NI) 18)))) | (NU)((NU32)((NU)(((NU) (((NU8)(s->data[(NI)(((NI) (i)) + ((NI) 3))])))) & ((NU) 63))) << (NU32)(((NI) 12)))) | (NU)((NU32)((NU)(((NU) (((NU8)(s->data[(NI)(((NI) (i)) + ((NI) 4))])))) & ((NU) 63))) << (NU32)(((NI) 6)))) | (NU)(((NU) (((NU8)(s->data[(NI)(((NI) (i)) + ((NI) 5))])))) & ((NU) 63)))));
360 		}
361 		goto LA40_;
362 		LA42_: ;
363 		{
364 			result = ((NI32) 65533);
365 		}
366 		LA40_: ;
367 	}
368 	goto LA1_;
369 	LA38_: ;
370 	{
371 		result = ((NI32) (((NU) (((NU8)(s->data[i]))))));
372 	}
373 	LA1_: ;
374 	return result;
375 }
N_NIMCALL(NI,size__pureZunicode_5119)376 N_LIB_PRIVATE N_NIMCALL(NI, size__pureZunicode_5119)(NI32 r) {
377 	NI result;
378 	NU32 v;
379 	result = (NI)0;
380 	v = ((NU32) (r));
381 	{
382 		if (!((NU32)(v) <= (NU32)(((NU32) 127)))) goto LA3_;
383 		result = ((NI) 1);
384 	}
385 	goto LA1_;
386 	LA3_: ;
387 	{
388 		if (!((NU32)(v) <= (NU32)(((NU32) 2047)))) goto LA6_;
389 		result = ((NI) 2);
390 	}
391 	goto LA1_;
392 	LA6_: ;
393 	{
394 		if (!((NU32)(v) <= (NU32)(((NU32) 65535)))) goto LA9_;
395 		result = ((NI) 3);
396 	}
397 	goto LA1_;
398 	LA9_: ;
399 	{
400 		if (!((NU32)(v) <= (NU32)(((NU32) 2097151)))) goto LA12_;
401 		result = ((NI) 4);
402 	}
403 	goto LA1_;
404 	LA12_: ;
405 	{
406 		if (!((NU32)(v) <= (NU32)(((NU32) 67108863)))) goto LA15_;
407 		result = ((NI) 5);
408 	}
409 	goto LA1_;
410 	LA15_: ;
411 	{
412 		if (!((NU32)(v) <= (NU32)(((NU32) 2147483647)))) goto LA18_;
413 		result = ((NI) 6);
414 	}
415 	goto LA1_;
416 	LA18_: ;
417 	{
418 		result = ((NI) 1);
419 	}
420 	LA1_: ;
421 	return result;
422 }
N_INLINE(NIM_BOOL,lteqpercent___system_997)423 static N_INLINE(NIM_BOOL, lteqpercent___system_997)(NI32 x, NI32 y) {
424 	NIM_BOOL result;
425 	result = (NIM_BOOL)0;
426 	result = ((NU32)(((NU32) (x))) <= (NU32)(((NU32) (y))));
427 	return result;
428 }
N_NIMCALL(NimStringDesc *,nuctoUTF8)429 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nuctoUTF8)(NI32 c) {
430 	NimStringDesc* result;
431 	NI32 iX60gensym49_;
432 	result = NIM_NIL;
433 	result = ((NimStringDesc*) NIM_NIL);
434 	iX60gensym49_ = c;
435 	{
436 		NIM_BOOL T3_;
437 		T3_ = (NIM_BOOL)0;
438 		T3_ = lteqpercent___system_997(iX60gensym49_, ((NI32) 127));
439 		if (!T3_) goto LA4_;
440 		result = setLengthStr(result, ((NI) 1));
441 		result->data[((NI) 0)] = ((NIM_CHAR) (((NI) (iX60gensym49_))));
442 	}
443 	goto LA1_;
444 	LA4_: ;
445 	{
446 		NIM_BOOL T7_;
447 		T7_ = (NIM_BOOL)0;
448 		T7_ = lteqpercent___system_997(iX60gensym49_, ((NI32) 2047));
449 		if (!T7_) goto LA8_;
450 		result = setLengthStr(result, ((NI) 2));
451 		result->data[((NI) 0)] = ((NIM_CHAR) (((NI) ((NI32)((NI32)((NI32)(iX60gensym49_) >> (NU32)(((NI) 6))) | ((NI32) 192))))));
452 		result->data[((NI) 1)] = ((NIM_CHAR) (((NI) ((NI32)((NI32)(iX60gensym49_ & ((NI32) 63)) | ((NI32) 128))))));
453 	}
454 	goto LA1_;
455 	LA8_: ;
456 	{
457 		NIM_BOOL T11_;
458 		T11_ = (NIM_BOOL)0;
459 		T11_ = lteqpercent___system_997(iX60gensym49_, ((NI32) 65535));
460 		if (!T11_) goto LA12_;
461 		result = setLengthStr(result, ((NI) 3));
462 		result->data[((NI) 0)] = ((NIM_CHAR) (((NI) ((NI32)((NI32)((NI32)(iX60gensym49_) >> (NU32)(((NI) 12))) | ((NI32) 224))))));
463 		result->data[((NI) 1)] = ((NIM_CHAR) (((NI) ((NI32)((NI32)((NI32)((NI32)(iX60gensym49_) >> (NU32)(((NI) 6))) & ((NI32) 63)) | ((NI32) 128))))));
464 		result->data[((NI) 2)] = ((NIM_CHAR) (((NI) ((NI32)((NI32)(iX60gensym49_ & ((NI32) 63)) | ((NI32) 128))))));
465 	}
466 	goto LA1_;
467 	LA12_: ;
468 	{
469 		NIM_BOOL T15_;
470 		T15_ = (NIM_BOOL)0;
471 		T15_ = lteqpercent___system_997(iX60gensym49_, ((NI32) 2097151));
472 		if (!T15_) goto LA16_;
473 		result = setLengthStr(result, ((NI) 4));
474 		result->data[((NI) 0)] = ((NIM_CHAR) (((NI) ((NI32)((NI32)((NI32)(iX60gensym49_) >> (NU32)(((NI) 18))) | ((NI32) 240))))));
475 		result->data[((NI) 1)] = ((NIM_CHAR) (((NI) ((NI32)((NI32)((NI32)((NI32)(iX60gensym49_) >> (NU32)(((NI) 12))) & ((NI32) 63)) | ((NI32) 128))))));
476 		result->data[((NI) 2)] = ((NIM_CHAR) (((NI) ((NI32)((NI32)((NI32)((NI32)(iX60gensym49_) >> (NU32)(((NI) 6))) & ((NI32) 63)) | ((NI32) 128))))));
477 		result->data[((NI) 3)] = ((NIM_CHAR) (((NI) ((NI32)((NI32)(iX60gensym49_ & ((NI32) 63)) | ((NI32) 128))))));
478 	}
479 	goto LA1_;
480 	LA16_: ;
481 	{
482 		NIM_BOOL T19_;
483 		T19_ = (NIM_BOOL)0;
484 		T19_ = lteqpercent___system_997(iX60gensym49_, ((NI32) 67108863));
485 		if (!T19_) goto LA20_;
486 		result = setLengthStr(result, ((NI) 5));
487 		result->data[((NI) 0)] = ((NIM_CHAR) (((NI) ((NI32)((NI32)((NI32)(iX60gensym49_) >> (NU32)(((NI) 24))) | ((NI32) 248))))));
488 		result->data[((NI) 1)] = ((NIM_CHAR) (((NI) ((NI32)((NI32)((NI32)((NI32)(iX60gensym49_) >> (NU32)(((NI) 18))) & ((NI32) 63)) | ((NI32) 128))))));
489 		result->data[((NI) 2)] = ((NIM_CHAR) (((NI) ((NI32)((NI32)((NI32)((NI32)(iX60gensym49_) >> (NU32)(((NI) 12))) & ((NI32) 63)) | ((NI32) 128))))));
490 		result->data[((NI) 3)] = ((NIM_CHAR) (((NI) ((NI32)((NI32)((NI32)((NI32)(iX60gensym49_) >> (NU32)(((NI) 6))) & ((NI32) 63)) | ((NI32) 128))))));
491 		result->data[((NI) 4)] = ((NIM_CHAR) (((NI) ((NI32)((NI32)(iX60gensym49_ & ((NI32) 63)) | ((NI32) 128))))));
492 	}
493 	goto LA1_;
494 	LA20_: ;
495 	{
496 		NIM_BOOL T23_;
497 		T23_ = (NIM_BOOL)0;
498 		T23_ = lteqpercent___system_997(iX60gensym49_, ((NI32) 2147483647));
499 		if (!T23_) goto LA24_;
500 		result = setLengthStr(result, ((NI) 6));
501 		result->data[((NI) 0)] = ((NIM_CHAR) (((NI) ((NI32)((NI32)((NI32)(iX60gensym49_) >> (NU32)(((NI) 30))) | ((NI32) 252))))));
502 		result->data[((NI) 1)] = ((NIM_CHAR) (((NI) ((NI32)((NI32)((NI32)((NI32)(iX60gensym49_) >> (NU32)(((NI) 24))) & ((NI32) 63)) | ((NI32) 128))))));
503 		result->data[((NI) 2)] = ((NIM_CHAR) (((NI) ((NI32)((NI32)((NI32)((NI32)(iX60gensym49_) >> (NU32)(((NI) 18))) & ((NI32) 63)) | ((NI32) 128))))));
504 		result->data[((NI) 3)] = ((NIM_CHAR) (((NI) ((NI32)((NI32)((NI32)((NI32)(iX60gensym49_) >> (NU32)(((NI) 12))) & ((NI32) 63)) | ((NI32) 128))))));
505 		result->data[((NI) 4)] = ((NIM_CHAR) (((NI) ((NI32)((NI32)((NI32)((NI32)(iX60gensym49_) >> (NU32)(((NI) 6))) & ((NI32) 63)) | ((NI32) 128))))));
506 		result->data[((NI) 5)] = ((NIM_CHAR) (((NI) ((NI32)((NI32)(iX60gensym49_ & ((NI32) 63)) | ((NI32) 128))))));
507 	}
508 	goto LA1_;
509 	LA24_: ;
510 	{
511 	}
512 	LA1_: ;
513 	return result;
514 }
515