1 /* Generated by Nim Compiler v1.6.2 */
2 #define NIM_INTBITS 32
3 
4 #include "nimbase.h"
5 #include <sys/mman.h>
6 #include <stdio.h>
7 #include <string.h>
8 #include <stdlib.h>
9 #include <setjmp.h>
10 #include <signal.h>
11 #undef LANGUAGE_C
12 #undef MIPSEB
13 #undef MIPSEL
14 #undef PPC
15 #undef R3000
16 #undef R4000
17 #undef i386
18 #undef linux
19 #undef mips
20 #undef near
21 #undef far
22 #undef powerpc
23 #undef unix
24 #define nimfr_(x, y)
25 #define nimln_(x, y)
26 typedef struct Exception Exception;
27 typedef struct TNimType TNimType;
28 typedef struct TNimNode TNimNode;
29 typedef struct tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ;
30 typedef struct tyObject_GcStack__7fytPA5bBsob6See21YMRA tyObject_GcStack__7fytPA5bBsob6See21YMRA;
31 typedef struct tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w;
32 typedef struct tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g;
33 typedef struct tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg;
34 typedef struct tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ;
35 typedef struct tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg;
36 typedef struct tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw;
37 typedef struct tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA;
38 typedef struct tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw;
39 typedef struct tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw;
40 typedef struct tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg;
41 typedef struct tyTuple__ujsjpB2O9cjj3uDHsXbnSzg tyTuple__ujsjpB2O9cjj3uDHsXbnSzg;
42 typedef struct tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg;
43 typedef struct tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ;
44 typedef struct tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg;
45 typedef struct tyObject_BaseChunk__Sdq7WpT6qAH858F5ZEdG3w tyObject_BaseChunk__Sdq7WpT6qAH858F5ZEdG3w;
46 typedef struct tyObject_FreeCell__u6M5LHprqzkn9axr04yg9bGQ tyObject_FreeCell__u6M5LHprqzkn9axr04yg9bGQ;
47 typedef struct tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ;
48 typedef struct NimStringDesc NimStringDesc;
49 typedef struct TGenericSeq TGenericSeq;
50 typedef struct TSafePoint TSafePoint;
51 typedef struct RootObj RootObj;
52 typedef struct tySequence__uB9b75OUPRENsBAu4AnoePA tySequence__uB9b75OUPRENsBAu4AnoePA;
53 typedef struct tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA;
54 typedef struct GcFrameHeader GcFrameHeader;
55 typedef struct tyObject_ReraiseDefect__E0L0wGYS1gPD81VLstNO2g tyObject_ReraiseDefect__E0L0wGYS1gPD81VLstNO2g;
56 typedef struct tyObject_Defect__LbeSGvgPzGzXnW9caIkJqMA tyObject_Defect__LbeSGvgPzGzXnW9caIkJqMA;
57 typedef struct tyObject_OverflowDefect__9cxMi1BPLc3UKt9br86bGfGQ tyObject_OverflowDefect__9cxMi1BPLc3UKt9br86bGfGQ;
58 typedef struct tyObject_ArithmeticDefect__cT9c9bHlHSpA1QTnKbHjnIkA tyObject_ArithmeticDefect__cT9c9bHlHSpA1QTnKbHjnIkA;
59 typedef struct tyObject_CatchableError__qrLSDoe2oBoAqNtJ9badtnA tyObject_CatchableError__qrLSDoe2oBoAqNtJ9badtnA;
60 typedef struct tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw;
61 typedef struct tyObject_KeyError__t7nhKLvXTQS9cS8ByJU9bIag tyObject_KeyError__t7nhKLvXTQS9cS8ByJU9bIag;
62 typedef struct tyObject_AssertionDefect__PtYxPmY5X0dorfvxAFbJpQ tyObject_AssertionDefect__PtYxPmY5X0dorfvxAFbJpQ;
63 typedef struct tyObject_ObjectAssignmentDefect__6toVe0IizlEwN9bORXEdX3g tyObject_ObjectAssignmentDefect__6toVe0IizlEwN9bORXEdX3g;
64 typedef struct tyObject_IndexDefect__n6tGEPHKkh7E1AP9bj30WrQ tyObject_IndexDefect__n6tGEPHKkh7E1AP9bj30WrQ;
65 typedef struct tyObject_OSError__BeJgrOdDsczOwEWOZbRfKA tyObject_OSError__BeJgrOdDsczOwEWOZbRfKA;
66 typedef struct tyObject_IOError__iLZrPn9anoh9ad1MmO0RczFw tyObject_IOError__iLZrPn9anoh9ad1MmO0RczFw;
67 typedef struct tyObject_EOFError__KGSY1JdrNB7Xi8KDhXFhSg tyObject_EOFError__KGSY1JdrNB7Xi8KDhXFhSg;
68 typedef struct tyObject_RangeDefect__Rp9adJYTsbbIUzQ8fWxwgdA tyObject_RangeDefect__Rp9adJYTsbbIUzQ8fWxwgdA;
69 typedef struct tyObject_DivByZeroDefect__n3A4gjRrFZBuNnTYx1h9a8w tyObject_DivByZeroDefect__n3A4gjRrFZBuNnTYx1h9a8w;
70 typedef N_NIMCALL_PTR(NIM_BOOL, tyProc__9axCnCRMUx32AHzFgBrzSMg) (Exception* e);
71 typedef N_NIMCALL_PTR(void, tyProc__T4eqaYlFJYZUv9aG9b1TV0bQ) (void);
72 typedef N_NIMCALL_PTR(void, tyProc__NFmM6mqUOVW3cJg4yvk8Fw) (Exception* e);
73 typedef NU8 tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A;
74 typedef NU8 tySet_tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ;
75 typedef N_NIMCALL_PTR(void, tyProc__ojoeKfW4VYIm36I9cpDTQIg) (void* p, NI op);
76 typedef N_NIMCALL_PTR(void*, tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ) (void* p);
77 struct TNimType {
78 NI size;
79 NI align;
80 tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A kind;
81 tySet_tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ flags;
82 TNimType* base;
83 TNimNode* node;
84 void* finalizer;
85 tyProc__ojoeKfW4VYIm36I9cpDTQIg marker;
86 tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ deepcopy;
87 };
88 struct tyObject_GcStack__7fytPA5bBsob6See21YMRA {
89 void* bottom;
90 };
91 struct tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w {
92 NI len;
93 NI cap;
94 tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g** d;
95 };
96 typedef tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ* tyArray__SPr7N6UKfuF549bNPiUvSRw[256];
97 typedef NU32 tyArray__BHbOSqU1t9b3Gt7K2c6fQig[24];
98 typedef tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* tyArray__N1u1nqOgmuJN9cSZrnMHgOQ[32];
99 typedef tyArray__N1u1nqOgmuJN9cSZrnMHgOQ tyArray__B6durA4ZCi1xjJvRtyYxMg[24];
100 typedef tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw* tyArray__lh2A89ahMmYg9bCmpVaplLbA[256];
101 struct tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA {
102 tyArray__lh2A89ahMmYg9bCmpVaplLbA data;
103 };
104 typedef tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* tyArray__0aOLqZchNi8nWtMTi8ND8w[2];
105 struct tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw {
106 tyArray__0aOLqZchNi8nWtMTi8ND8w link;
107 NI key;
108 NI upperBound;
109 NI level;
110 };
111 struct tyTuple__ujsjpB2O9cjj3uDHsXbnSzg {
112 tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* Field0;
113 NI Field1;
114 };
115 typedef tyTuple__ujsjpB2O9cjj3uDHsXbnSzg tyArray__LzOv2eCDGiceMKQstCLmhw[30];
116 struct tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg {
117 NI len;
118 tyArray__LzOv2eCDGiceMKQstCLmhw chunks;
119 tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg* next;
120 };
121 struct tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg {
122 NI minLargeObj;
123 NI maxLargeObj;
124 tyArray__SPr7N6UKfuF549bNPiUvSRw freeSmallChunks;
125 NU32 flBitmap;
126 tyArray__BHbOSqU1t9b3Gt7K2c6fQig slBitmap;
127 tyArray__B6durA4ZCi1xjJvRtyYxMg matrix;
128 tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw* llmem;
129 NI currMem;
130 NI maxMem;
131 NI freeMem;
132 NI occ;
133 NI lastSize;
134 tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA chunkStarts;
135 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* root;
136 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* deleted;
137 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* last;
138 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* freeAvlNodes;
139 NIM_BOOL locked;
140 NIM_BOOL blockChunkSizeIncrease;
141 NI nextChunkSize;
142 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw bottomData;
143 tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg heapLinks;
144 };
145 struct tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg {
146 NI stackScans;
147 NI cycleCollections;
148 NI maxThreshold;
149 NI maxStackSize;
150 NI maxStackCells;
151 NI cycleTableSize;
152 NI64 maxPause;
153 };
154 struct tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ {
155 NI counter;
156 NI max;
157 tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg* head;
158 tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg** data;
159 };
160 struct tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ {
161 tyObject_GcStack__7fytPA5bBsob6See21YMRA stack;
162 NI cycleThreshold;
163 NI zctThreshold;
164 tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w zct;
165 tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w decStack;
166 tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w tempStack;
167 NI recGcLock;
168 tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg region;
169 tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg stat;
170 tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ marked;
171 tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w additionalRoots;
172 NI gcThreadId;
173 };
174 typedef tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* tyUncheckedArray__qYl1ErvQvkPpq9bTvm2UvTg[1];
175 struct tyObject_BaseChunk__Sdq7WpT6qAH858F5ZEdG3w {
176 NI prevSize;
177 NI size;
178 };
179 struct tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ {
180   tyObject_BaseChunk__Sdq7WpT6qAH858F5ZEdG3w Sup;
181 tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ* next;
182 tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ* prev;
183 tyObject_FreeCell__u6M5LHprqzkn9axr04yg9bGQ* freeList;
184 NI free;
185 NI acc;
186 NIM_ALIGN(16) NU8 data[SEQ_DECL_SIZE];
187 };
188 typedef NI8 tyArray__mkmEeKAWtk2yS9bBb1lUWXA[256];
189 struct tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg {
190   tyObject_BaseChunk__Sdq7WpT6qAH858F5ZEdG3w Sup;
191 tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* next;
192 tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* prev;
193 NIM_ALIGN(16) NU8 data[SEQ_DECL_SIZE];
194 };
195 struct tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw {
196 NI size;
197 NI acc;
198 tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw* next;
199 };
200 typedef NU tyArray__cC4ce9cdvDKtIpar5g9cDejA[16];
201 struct tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw {
202 tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw* next;
203 NI key;
204 tyArray__cC4ce9cdvDKtIpar5g9cDejA bits;
205 };
206 struct tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ {
207 NI Field0;
208 NI Field1;
209 };
210 struct tyObject_FreeCell__u6M5LHprqzkn9axr04yg9bGQ {
211 tyObject_FreeCell__u6M5LHprqzkn9axr04yg9bGQ* next;
212 NI zeroField;
213 };
214 typedef tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg* tyUncheckedArray__xm0FYDlyTP1z2D1LZJL9bqQ[1];
215 typedef NI tyArray__9a8QARi5WsUggNU9bom7kzTQ[8];
216 struct tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg {
217 tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg* next;
218 NU key;
219 tyArray__9a8QARi5WsUggNU9bom7kzTQ bits;
220 };
221 struct TGenericSeq {
222 NI len;
223 NI reserved;
224 };
225 struct NimStringDesc {
226   TGenericSeq Sup;
227 NIM_CHAR data[SEQ_DECL_SIZE];
228 };
229 typedef N_NIMCALL_PTR(void, tyProc__W6IXMh2CA4X1rFYGjUb4yg) (NimStringDesc* msg);
230 struct RootObj {
231 TNimType* m_type;
232 };
233 struct Exception {
234   RootObj Sup;
235 Exception* parent;
236 NCSTRING name;
237 NimStringDesc* message;
238 tySequence__uB9b75OUPRENsBAu4AnoePA* trace;
239 Exception* up;
240 };
241 struct tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA {
242 NCSTRING procname;
243 NI line;
244 NCSTRING filename;
245 };
246 typedef NU8 tyEnum_WalkOp__Wfy7gT5VQ8B3aJBxqU8D9cQ;
247 struct tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g {
248 NI refcount;
249 TNimType* typ;
250 };
251 typedef NU8 tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ;
252 typedef NU8 tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ;
253 struct TNimNode {
254 tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ kind;
255 NI offset;
256 TNimType* typ;
257 NCSTRING name;
258 NI len;
259 TNimNode** sons;
260 };
261 struct TSafePoint {
262 TSafePoint* prev;
263 NI status;
264 jmp_buf context;
265 };
266 typedef N_NIMCALL_PTR(void, Finalizer) (void* self);
267 struct tyObject_Defect__LbeSGvgPzGzXnW9caIkJqMA {
268   Exception Sup;
269 };
270 struct tyObject_ReraiseDefect__E0L0wGYS1gPD81VLstNO2g {
271   tyObject_Defect__LbeSGvgPzGzXnW9caIkJqMA Sup;
272 };
273 struct tyObject_ArithmeticDefect__cT9c9bHlHSpA1QTnKbHjnIkA {
274   tyObject_Defect__LbeSGvgPzGzXnW9caIkJqMA Sup;
275 };
276 struct tyObject_OverflowDefect__9cxMi1BPLc3UKt9br86bGfGQ {
277   tyObject_ArithmeticDefect__cT9c9bHlHSpA1QTnKbHjnIkA Sup;
278 };
279 typedef NIM_CHAR tyArray__gpc2RrLEcWgv7ONpLYNHOw[2001];
280 typedef N_NOCONV_PTR(void, tyProc__ZEo3s9cIqJYP74f7GMZM2FA) (int a);
281 typedef tyProc__T4eqaYlFJYZUv9aG9b1TV0bQ tyArray__9aTRall1siQT9bXabu2aKXUg[3500];
282 struct tyObject_CatchableError__qrLSDoe2oBoAqNtJ9badtnA {
283   Exception Sup;
284 };
285 struct tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw {
286   tyObject_CatchableError__qrLSDoe2oBoAqNtJ9badtnA Sup;
287 };
288 struct tyObject_KeyError__t7nhKLvXTQS9cS8ByJU9bIag {
289   tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw Sup;
290 };
291 struct tyObject_AssertionDefect__PtYxPmY5X0dorfvxAFbJpQ {
292   tyObject_Defect__LbeSGvgPzGzXnW9caIkJqMA Sup;
293 };
294 typedef NIM_CHAR tyArray__eVNFTutn6un5gcq48fQLdg[65];
295 struct tyObject_ObjectAssignmentDefect__6toVe0IizlEwN9bORXEdX3g {
296   tyObject_Defect__LbeSGvgPzGzXnW9caIkJqMA Sup;
297 };
298 struct tyObject_IndexDefect__n6tGEPHKkh7E1AP9bj30WrQ {
299   tyObject_Defect__LbeSGvgPzGzXnW9caIkJqMA Sup;
300 };
301 struct tyObject_OSError__BeJgrOdDsczOwEWOZbRfKA {
302   tyObject_CatchableError__qrLSDoe2oBoAqNtJ9badtnA Sup;
303 NI32 errorCode;
304 };
305 struct tyObject_IOError__iLZrPn9anoh9ad1MmO0RczFw {
306   tyObject_CatchableError__qrLSDoe2oBoAqNtJ9badtnA Sup;
307 };
308 struct tyObject_EOFError__KGSY1JdrNB7Xi8KDhXFhSg {
309   tyObject_IOError__iLZrPn9anoh9ad1MmO0RczFw Sup;
310 };
311 typedef NF tyArray__yp9a149boki9cCCWgfXI0Ip4A[23];
312 typedef NIM_CHAR tyArray__PGLh8drTnaWr3s1qUUSq2Q[500];
313 struct tyObject_RangeDefect__Rp9adJYTsbbIUzQ8fWxwgdA {
314   tyObject_Defect__LbeSGvgPzGzXnW9caIkJqMA Sup;
315 };
316 typedef NCSTRING tyUncheckedArray__nvS6J9clHMUMHfoZd8Ad2zg[1];
317 struct tyObject_DivByZeroDefect__n3A4gjRrFZBuNnTYx1h9a8w {
318   tyObject_ArithmeticDefect__cT9c9bHlHSpA1QTnKbHjnIkA Sup;
319 };
320 struct tySequence__uB9b75OUPRENsBAu4AnoePA {
321   TGenericSeq Sup;
322   tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA data[SEQ_DECL_SIZE];
323 };
324 static N_INLINE(void, initStackBottom)(void);
325 N_LIB_PRIVATE N_NOINLINE(void, nimGC_setStackBottom)(void* theStackBottom);
326 N_LIB_PRIVATE N_NIMCALL(void, setPosition__system_5403)(tyObject_GcStack__7fytPA5bBsob6See21YMRA* stack, void* position);
327 N_LIB_PRIVATE N_NIMCALL(void, initGC__system_2398)(void);
328 N_LIB_PRIVATE N_NIMCALL(void, init__system_4885)(tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w* s, NI cap);
329 N_LIB_PRIVATE N_NOCONV(void*, alloc0Impl__system_1745)(NI size);
330 N_LIB_PRIVATE N_NIMCALL(void*, alloc0__system_4779)(tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg* allocator, NI size);
331 N_LIB_PRIVATE N_NIMCALL(void*, alloc__system_4775)(tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg* allocator, NI size);
332 N_LIB_PRIVATE N_NIMCALL(void*, rawAlloc__system_4559)(tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg* a, NI requestedSize);
333 static N_INLINE(NI, roundup__system_3704)(NI x, NI v);
334 N_LIB_PRIVATE N_NIMCALL(tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ*, getSmallChunk__system_4538)(tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg* a);
335 N_LIB_PRIVATE N_NIMCALL(tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg*, getBigChunk__system_4515)(tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg* a, NI size);
336 static N_INLINE(void, mappingSearch__system_3852)(NI* r, NI* fl, NI* sl);
337 static N_INLINE(NI, msbit__system_3827)(NU32 x);
338 static N_INLINE(tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg*, findSuitableBlock__system_3884)(tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg* a, NI* fl, NI* sl);
339 static N_INLINE(NI, lsbit__system_3835)(NU32 x);
340 N_LIB_PRIVATE N_NIMCALL(tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg*, requestOsChunks__system_4438)(tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg* a, NI size);
341 static N_INLINE(void*, osAllocPages__system_3724)(NI size);
342 N_LIB_PRIVATE N_NOINLINE(void, raiseOutOfMem__system_3699)(void);
343 static N_INLINE(void, rawWrite)(FILE* f, NCSTRING s);
344 static N_INLINE(NI, nimCStrLen)(NCSTRING a);
345 static N_INLINE(void*, osTryAllocPages__system_3727)(NI size);
346 static N_INLINE(void, incCurrMem__system_3967)(tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg* a, NI bytes);
347 N_LIB_PRIVATE N_NIMCALL(void, addHeapLink__system_4051)(tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg* a, tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* p, NI size);
348 N_LIB_PRIVATE N_NIMCALL(void*, llAlloc__system_3984)(tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg* a, NI size);
349 static N_INLINE(void, zeroMem__system_1724)(void* p, NI size);
350 static N_INLINE(void, nimZeroMem)(void* p, NI size);
351 static N_INLINE(void, nimSetMem__systemZmemory_7)(void* a, int v, NI size);
352 static N_INLINE(NI, pluspercent___system_696)(NI x, NI y);
353 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, contains__system_4233)(tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA* s, NI key);
354 N_LIB_PRIVATE N_NIMCALL(tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw*, intSetGet__system_4194)(tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA* t, NI key);
355 static N_INLINE(NI, pageIndex__system_4420)(tyObject_BaseChunk__Sdq7WpT6qAH858F5ZEdG3w* c);
356 static N_INLINE(NI, minuspercent___system_716)(NI x, NI y);
357 N_LIB_PRIVATE N_NIMCALL(void, splitChunk__system_4489)(tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg* a, tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* c, NI size);
358 N_LIB_PRIVATE N_NIMCALL(tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg*, splitChunk2__system_4484)(tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg* a, tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* c, NI size);
359 static N_INLINE(void, updatePrevSize__system_4479)(tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg* a, tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* c, NI prevSize);
360 static N_INLINE(NIM_BOOL, isAccessible__system_4461)(tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg* a, void* p);
361 static N_INLINE(NI, pageIndex__system_4427)(void* p);
362 N_LIB_PRIVATE N_NIMCALL(void, incl__system_4255)(tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg* a, tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA* s, NI key);
363 N_LIB_PRIVATE N_NIMCALL(tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw*, intSetPut__system_4216)(tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg* a, tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA* t, NI key);
364 N_LIB_PRIVATE N_NIMCALL(void, addChunkToMatrix__system_3958)(tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg* a, tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* b);
365 static N_INLINE(tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ, mappingInsert__system_3870)(NI r);
366 static N_INLINE(void, setBit__system_3838)(NI nr, NU32* dest);
367 N_LIB_PRIVATE N_NIMCALL(void, removeChunkFromMatrix2__system_3949)(tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg* a, tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* b, NI fl, NI sl);
368 static N_INLINE(void, clearBit__system_3845)(NI nr, NU32* dest);
369 static N_INLINE(void, listAdd__system_4576)(tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ** head, tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ* c);
370 static N_INLINE(void, listRemove__system_4629)(tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ** head, tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ* c);
371 N_LIB_PRIVATE N_NIMCALL(tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg*, getHugeChunk__system_4530)(tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg* a, NI size);
372 N_LIB_PRIVATE N_NIMCALL(tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw*, getBottom__system_4010)(tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg* a);
373 N_LIB_PRIVATE N_NIMCALL(void, add__system_4157)(tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg* a, tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw** t, NI key, NI upperBound);
374 N_LIB_PRIVATE N_NIMCALL(tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw*, allocAvlNode__system_4026)(tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg* a, NI key, NI upperBound);
375 static N_INLINE(NIM_BOOL, ltpercent___system_1005)(NI x, NI y);
376 N_LIB_PRIVATE N_NIMCALL(void, skew__system_4147)(tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw** t);
377 N_LIB_PRIVATE N_NIMCALL(void, split__system_4150)(tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw** t);
378 N_LIB_PRIVATE N_NIMCALL(void, init__system_4891)(tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ* s);
379 static N_INLINE(NI, atomicInc__system_2172)(NI* memLoc, NI x);
380 static N_NIMCALL(void, Marker_tySequence__uB9b75OUPRENsBAu4AnoePA)(void* p, NI op);
381 N_LIB_PRIVATE N_NIMCALL(void, nimGCvisit)(void* d, NI op);
382 N_LIB_PRIVATE N_NIMCALL(void, doOperation__system_5301)(void* p, tyEnum_WalkOp__Wfy7gT5VQ8B3aJBxqU8D9cQ op);
383 static N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*, usrToCell__system_5270)(void* usr);
384 static N_INLINE(void, decRef__system_5315)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
385 static N_INLINE(void, rtlAddZCT__system_5313)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
386 N_LIB_PRIVATE N_NOINLINE(void, addZCT__system_5264)(tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w* s, tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
387 static N_INLINE(void, add__system_4859)(tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w* s, tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
388 N_LIB_PRIVATE N_NOCONV(void*, allocImpl__system_1743)(NI size);
389 static N_INLINE(void, copyMem__system_1727)(void* dest, void* source, NI size);
390 static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size);
391 N_LIB_PRIVATE N_NOCONV(void, dealloc)(void* p);
392 N_LIB_PRIVATE N_NOCONV(void, deallocImpl__system_1747)(void* p);
393 N_LIB_PRIVATE N_NIMCALL(void, dealloc__system_4783)(tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg* allocator, void* p);
394 N_LIB_PRIVATE N_NIMCALL(void, rawDealloc__system_4688)(tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg* a, void* p);
395 static N_INLINE(tyObject_BaseChunk__Sdq7WpT6qAH858F5ZEdG3w*, pageAddr__system_4434)(void* p);
396 static N_INLINE(NIM_BOOL, isSmallChunk__system_4345)(tyObject_BaseChunk__Sdq7WpT6qAH858F5ZEdG3w* c);
397 N_LIB_PRIVATE N_NIMCALL(void, freeBigChunk__system_4494)(tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg* a, tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* c);
398 static N_INLINE(NIM_BOOL, chunkUnused__system_4351)(tyObject_BaseChunk__Sdq7WpT6qAH858F5ZEdG3w* c);
399 N_LIB_PRIVATE N_NIMCALL(void, removeChunkFromMatrix__system_3919)(tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg* a, tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* b);
400 N_LIB_PRIVATE N_NIMCALL(void, excl__system_4277)(tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA* s, NI key);
401 N_LIB_PRIVATE N_NIMCALL(void, del__system_4166)(tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg* a, tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw** t, NI x);
402 static N_INLINE(void, deallocAvlNode__system_4048)(tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg* a, tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* n);
403 N_LIB_PRIVATE N_NIMCALL(void, freeHugeChunk__system_4534)(tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg* a, tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* c);
404 static N_INLINE(void, decCurrMem__system_3974)(tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg* a, NI bytes);
405 static N_INLINE(void, osDeallocPages__system_3730)(void* p, NI size);
406 N_LIB_PRIVATE N_NIMCALL(void, markS__system_5719)(tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ* gch, tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
407 N_LIB_PRIVATE N_NIMCALL(void, incl__system_5016)(tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ* s, tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* cell);
408 N_LIB_PRIVATE N_NIMCALL(tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg*, cellSetPut__system_4962)(tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ* t, NU key);
409 static N_INLINE(NI, nextTry__system_4919)(NI h, NI maxHash);
410 N_LIB_PRIVATE N_NIMCALL(void, cellSetEnlarge__system_4949)(tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ* t);
411 N_LIB_PRIVATE N_NIMCALL(void, cellSetRawInsert__system_4932)(tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ t, tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg** data, tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg* desc);
412 N_LIB_PRIVATE N_NIMCALL(void, forAllChildren__system_5298)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* cell, tyEnum_WalkOp__Wfy7gT5VQ8B3aJBxqU8D9cQ op);
413 static N_INLINE(void*, cellToUsr__system_5267)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* cell);
414 N_LIB_PRIVATE N_NIMCALL(void, forAllChildrenAux__system_5304)(void* dest, TNimType* mt, tyEnum_WalkOp__Wfy7gT5VQ8B3aJBxqU8D9cQ op);
415 N_LIB_PRIVATE N_NIMCALL(void, forAllSlotsAux__system_5535)(void* dest, TNimNode* n, tyEnum_WalkOp__Wfy7gT5VQ8B3aJBxqU8D9cQ op);
416 N_LIB_PRIVATE N_NIMCALL(TNimNode*, selectBranch__system_3653)(void* aa, TNimNode* n);
417 N_LIB_PRIVATE N_NIMCALL(NU, getDiscriminant__system_3633)(void* aa, TNimNode* n);
418 static N_INLINE(NI, starpercent___system_736)(NI x, NI y);
419 N_LIB_PRIVATE N_NIMCALL(NI, align__system_1624)(NI address, NI alignment);
420 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, containsOrIncl__system_5062)(tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ* s, tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* cell);
421 N_LIB_PRIVATE N_NIMCALL(tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg*, cellSetGet__system_4923)(tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ t, NU key);
422 static N_NIMCALL(void, Marker_tyRef__vU9aO9cTqOMn6CBzhV8rX7Sw)(void* p, NI op);
423 static N_NIMCALL(void, TM__Q5wkpxktOdTGvlSRo9bzt9aw_4)(void);
424 N_LIB_PRIVATE N_NIMCALL(void, nimRegisterThreadLocalMarker)(tyProc__T4eqaYlFJYZUv9aG9b1TV0bQ markerProc);
425 N_LIB_PRIVATE N_NOCONV(void, signalHandler)(int sign);
426 N_LIB_PRIVATE N_NIMCALL(void, showErrorMessage__system_2536)(NCSTRING data, NI length);
427 static N_INLINE(void, pushSafePoint)(TSafePoint* s);
428 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, cstrToNimstr)(NCSTRING str);
429 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, toNimStr)(NCSTRING str, NI len);
430 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, rawNewStringNoInit)(NI space);
431 N_LIB_PRIVATE N_NIMCALL(void*, newObjNoInit)(TNimType* typ, NI size);
432 N_LIB_PRIVATE N_NIMCALL(void*, rawNewObj__system_5647)(TNimType* typ, NI size, tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ* gch);
433 N_LIB_PRIVATE N_NIMCALL(void, collectCT__system_5294)(tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ* gch);
434 static N_INLINE(NI, getOccupiedMem__system_4819)(tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg* a);
435 N_LIB_PRIVATE N_NIMCALL(void, collectCTBody__system_5839)(tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ* gch);
436 N_LIB_PRIVATE N_NOINLINE(NI, stackSize__system_5388)(void);
437 N_LIB_PRIVATE N_NOINLINE(NI, stackSize__system_5384)(tyObject_GcStack__7fytPA5bBsob6See21YMRA* stack);
438 static N_INLINE(void, prepareForInteriorPointerChecking__system_4740)(tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg* a);
439 N_LIB_PRIVATE N_NIMCALL(NI, lowGauge__system_4107)(tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* n);
440 N_LIB_PRIVATE N_NIMCALL(NI, highGauge__system_4115)(tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* n);
441 CLANG_NO_SANITIZE_ADDRESS N_LIB_PRIVATE void markStackAndRegisters__system_5777(tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ* gch);
442 N_LIB_PRIVATE N_NIMCALL(void, setPosition__system_5400)(tyObject_GcStack__7fytPA5bBsob6See21YMRA* stack, void* position);
443 N_LIB_PRIVATE N_NIMCALL(tyObject_GcStack__7fytPA5bBsob6See21YMRA*, getActiveStack__system_5406)(tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ* gch);
444 static N_INLINE(void, gcMark__system_5768)(tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ* gch, void* p);
445 N_LIB_PRIVATE N_NIMCALL(void*, interiorAllocatedPtr__system_4742)(tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg* a, void* p);
446 static N_INLINE(NI, percentpercent___system_776)(NI x, NI y);
447 static N_INLINE(NIM_BOOL, lteqpercent___system_985)(NI x, NI y);
448 N_LIB_PRIVATE N_NIMCALL(tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw*, inRange__system_4135)(tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* root, NI key);
449 static N_INLINE(void, incRef__system_5308)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
450 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, collectZCT__system_5758)(tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ* gch);
451 N_LIB_PRIVATE N_NIMCALL(void, prepareDealloc__system_5430)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* cell);
452 N_LIB_PRIVATE N_NIMCALL(void, collectCycles__system_5760)(tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ* gch);
453 N_LIB_PRIVATE N_NIMCALL(void, cellsetReset__system_5533)(tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ* s);
454 N_LIB_PRIVATE N_NIMCALL(void, deinit__system_4911)(tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ* s);
455 N_LIB_PRIVATE N_NIMCALL(void, markGlobals__system_5727)(tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ* gch);
456 N_LIB_PRIVATE N_NIMCALL(void, sweep__system_5715)(tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ* gch);
457 static N_INLINE(NIM_BOOL, isCell__system_4408)(void* p);
458 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, contains__system_4984)(tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ s, tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* cell);
459 N_LIB_PRIVATE N_NIMCALL(void, freeCyclicCell__system_5711)(tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ* gch, tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
460 N_LIB_PRIVATE N_NIMCALL(NI, getOccupiedMem__system_1936)(void);
461 N_LIB_PRIVATE N_NIMCALL(void, unmarkStackAndRegisters__system_5831)(tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ* gch);
462 static N_INLINE(void, addNewObjToZCT__system_5632)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* res, tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ* gch);
463 static N_INLINE(void, popSafePoint)(void);
464 static N_INLINE(void, popCurrentException)(void);
465 static N_INLINE(void, asgnRef)(void** dest, void* src);
466 N_LIB_PRIVATE N_NIMCALL(void, reraiseException)(void);
467 static N_INLINE(void, sysFatal__system_2898)(NimStringDesc* message) __attribute__((noreturn));
468 static N_NIMCALL(void, Marker_tyRef__uG62cfJZ15c2siK3CKLmnQ)(void* p, NI op);
469 N_LIB_PRIVATE N_NOINLINE(void*, newObj)(TNimType* typ, NI size);
470 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, copyStringRC1)(NimStringDesc* src);
471 N_LIB_PRIVATE N_NOINLINE(void*, newObjRC1)(TNimType* typ, NI size);
472 static N_INLINE(void, nimGCunrefNoCycle)(void* p);
473 N_LIB_PRIVATE N_NIMCALL(void, raiseExceptionEx)(Exception* e, NCSTRING ename, NCSTRING procname, NCSTRING filename, NI line);
474 N_LIB_PRIVATE N_NIMCALL(TGenericSeq*, incrSeqV3)(TGenericSeq* s, TNimType* typ);
475 N_LIB_PRIVATE N_NIMCALL(void*, newSeq)(TNimType* typ, NI len);
476 N_LIB_PRIVATE N_NOINLINE(void, raiseOverflow)(void);
477 static N_INLINE(void, sysFatal__system_3375)(NimStringDesc* message) __attribute__((noreturn));
478 static N_NIMCALL(void, Marker_tyRef__r8GBEWywN07B3Rat3azS4Q)(void* p, NI op);
479 static N_INLINE(NI, resize__system_5894)(NI old);
480 N_LIB_PRIVATE N_NIMCALL(void*, dataPointer__system_5884)(TGenericSeq* a, NI elemAlign);
481 N_LIB_PRIVATE N_NIMCALL(void, raiseExceptionAux__system_2866)(Exception* e);
482 static N_INLINE(void, pushCurrentException)(Exception* e);
483 N_LIB_PRIVATE N_NIMCALL(void, reportUnhandledError__system_2855)(Exception* e);
484 N_LIB_PRIVATE N_NIMCALL(void, reportUnhandledErrorAux__system_2752)(Exception* e);
485 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar___system_2723)(tySequence__uB9b75OUPRENsBAu4AnoePA* stackTraceEntries);
486 N_NIMCALL(NimStringDesc*, rawNewString)(NI cap);
487 static N_INLINE(void, appendString)(NimStringDesc* dest, NimStringDesc* src);
488 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, resizeString)(NimStringDesc* dest, NI addlen);
489 N_LIB_PRIVATE N_NIMCALL(void, add__system_2308)(NimStringDesc** x, NCSTRING y);
490 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, addChar)(NimStringDesc* s, NIM_CHAR c);
491 N_LIB_PRIVATE N_NIMCALL(void, unsureAsgnRef)(void** dest, void* src);
492 N_LIB_PRIVATE N_NOINLINE(NIM_BOOL, isOnStack__system_5296)(void* p);
493 static N_INLINE(void, addInt__stdZprivateZdigitsutils_189)(NimStringDesc** result, NI x);
494 N_LIB_PRIVATE N_NIMCALL(void, addInt__stdZprivateZdigitsutils_167)(NimStringDesc** result, NI64 x);
495 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, mnewString)(NI len);
496 static N_INLINE(NCSTRING, nimToCStringConv)(NimStringDesc* s);
497 N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___systemZassertions_23)(NimStringDesc** dest);
498 N_LIB_PRIVATE N_NIMCALL(void, writeToStdErr__system_2531)(NCSTRING msg, NI length);
499 static N_INLINE(void, rawWriteString)(FILE* f, NCSTRING s, NI length);
500 N_LIB_PRIVATE N_NIMCALL(void, registerSignalHandler__system_2992)(void);
501 N_LIB_PRIVATE N_NIMCALL(NI, getRefcount)(void* p);
502 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar___systemZdollars_3)(NI x);
503 static N_NIMCALL(void, Marker_tyRef__8SzoIAgLw9ci2v0yafHj9b6Q)(void* p, NI op);
504 N_LIB_PRIVATE N_NIMCALL(void*, dataPointer__system_5888)(TGenericSeq* a, NI elemAlign, NI elemSize, NI index);
505 N_LIB_PRIVATE N_NIMCALL(TNimType*, extGetCellType)(void* c);
506 static N_NIMCALL(void, Marker_tyRef__S8DV6hfcgC9c0IiUsAoR29cQ)(void* p, NI op);
507 N_NIMCALL(NimStringDesc*, mnewString)(NI len);
508 N_LIB_PRIVATE N_NIMCALL(NI, writeFloatToBufferRoundtrip__systemZformatfloat_13)(NIM_CHAR* buf, NF value);
509 N_LIB_PRIVATE N_NIMCALL(void, addCstringN__systemZformatfloat_5)(NimStringDesc** result, NCSTRING buf, NI buflen);
510 N_LIB_PRIVATE N_NIMCALL(void, genericAssign)(void* dest, void* src, TNimType* mt);
511 N_LIB_PRIVATE N_NIMCALL(void, genericAssignAux__system_6405)(void* dest, void* src, TNimType* mt, NIM_BOOL shallow);
512 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, copyString)(NimStringDesc* src);
513 N_LIB_PRIVATE N_NIMCALL(void*, nimNewSeqOfCap)(TNimType* typ, NI cap);
514 N_LIB_PRIVATE N_NIMCALL(void, genericAssignAux__system_6410)(void* dest, void* src, TNimNode* n, NIM_BOOL shallow);
515 N_LIB_PRIVATE N_NIMCALL(void, genericResetAux__system_6402)(void* dest, TNimNode* n);
516 N_LIB_PRIVATE N_NIMCALL(void, genericReset)(void* dest, TNimType* mt);
517 static N_INLINE(void, chckObjAsgn)(TNimType* a, TNimType* b);
518 static N_INLINE(void, sysFatal__system_3290)(NimStringDesc* message) __attribute__((noreturn));
519 static N_NIMCALL(void, Marker_tyRef__C0A9bPZSVeyr2BWpBf4Jxqw)(void* p, NI op);
520 static N_NIMCALL(void, Marker_tyRef__RJnHOb9cQV3neNC9cDkRgMyw)(void* p, NI op);
521 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, substr__system_7743)(NimStringDesc* s, NI first, NI last);
522 static N_NIMCALL(void, Marker_tyRef__Ie1m0dv1ZHg72IgPRr1cDw)(void* p, NI op);
523 static N_INLINE(int, nimCmpMem)(void* a, void* b, NI size);
524 static N_NIMCALL(void, Marker_tyRef__9clYsYwyjCqe2PFTuCI3Ubg)(void* p, NI op);
525 static N_NIMCALL(void, Marker_tyRef__HMIVdYjdZYWskTmTQVo5BQ)(void* p, NI op);
526 static N_INLINE(void, showErrorMessage2__system_2544)(NimStringDesc* data);
527 static N_NIMCALL(void, Marker_tyRef__LEclZrWX2FQAodlapxGITw)(void* p, NI op);
528 static N_NIMCALL(void, Marker_tyRef__0vJvi4uHbxjbxlkkX7P1EA)(void* p, NI op);
529 static N_INLINE(void, addFloat__system_3122)(NimStringDesc** result, NF x);
530 N_LIB_PRIVATE N_NIMCALL(void, addFloatRoundtrip__system_3127)(NimStringDesc** result, NF x);
531 N_LIB_PRIVATE N_NIMCALL(void, objectInitAux__system_6520)(void* dest, TNimNode* n);
532 N_LIB_PRIVATE N_NIMCALL(void, objectInit)(void* dest, TNimType* typ);
533 static N_NIMCALL(void, Marker_tyRef__9ai78kkwqt3gikTN9cpHKUVg)(void* p, NI op);
534 N_LIB_PRIVATE N_NIMCALL(NI, writeFloatToBufferRoundtrip__systemZformatfloat_44)(NIM_CHAR* buf, NF32 value);
535 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, setLengthStr)(NimStringDesc* s, NI newLen);
536 N_LIB_PRIVATE N_NIMCALL(NI, getMaxMem__system_3981)(tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg* a);
537 N_LIB_PRIVATE N_NIMCALL(NI, getTotalMem__system_1938)(void);
538 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar___systemZdollars_6)(NI64 x);
539 static N_INLINE(void, initStackBottomWith)(void* locals);
540 N_LIB_PRIVATE NIM_CONST tyArray__mkmEeKAWtk2yS9bBb1lUWXA fsLookupTable__system_3826 = {((NI8) -1),
541 ((NI8) 0),
542 ((NI8) 1),
543 ((NI8) 1),
544 ((NI8) 2),
545 ((NI8) 2),
546 ((NI8) 2),
547 ((NI8) 2),
548 ((NI8) 3),
549 ((NI8) 3),
550 ((NI8) 3),
551 ((NI8) 3),
552 ((NI8) 3),
553 ((NI8) 3),
554 ((NI8) 3),
555 ((NI8) 3),
556 ((NI8) 4),
557 ((NI8) 4),
558 ((NI8) 4),
559 ((NI8) 4),
560 ((NI8) 4),
561 ((NI8) 4),
562 ((NI8) 4),
563 ((NI8) 4),
564 ((NI8) 4),
565 ((NI8) 4),
566 ((NI8) 4),
567 ((NI8) 4),
568 ((NI8) 4),
569 ((NI8) 4),
570 ((NI8) 4),
571 ((NI8) 4),
572 ((NI8) 5),
573 ((NI8) 5),
574 ((NI8) 5),
575 ((NI8) 5),
576 ((NI8) 5),
577 ((NI8) 5),
578 ((NI8) 5),
579 ((NI8) 5),
580 ((NI8) 5),
581 ((NI8) 5),
582 ((NI8) 5),
583 ((NI8) 5),
584 ((NI8) 5),
585 ((NI8) 5),
586 ((NI8) 5),
587 ((NI8) 5),
588 ((NI8) 5),
589 ((NI8) 5),
590 ((NI8) 5),
591 ((NI8) 5),
592 ((NI8) 5),
593 ((NI8) 5),
594 ((NI8) 5),
595 ((NI8) 5),
596 ((NI8) 5),
597 ((NI8) 5),
598 ((NI8) 5),
599 ((NI8) 5),
600 ((NI8) 5),
601 ((NI8) 5),
602 ((NI8) 5),
603 ((NI8) 5),
604 ((NI8) 6),
605 ((NI8) 6),
606 ((NI8) 6),
607 ((NI8) 6),
608 ((NI8) 6),
609 ((NI8) 6),
610 ((NI8) 6),
611 ((NI8) 6),
612 ((NI8) 6),
613 ((NI8) 6),
614 ((NI8) 6),
615 ((NI8) 6),
616 ((NI8) 6),
617 ((NI8) 6),
618 ((NI8) 6),
619 ((NI8) 6),
620 ((NI8) 6),
621 ((NI8) 6),
622 ((NI8) 6),
623 ((NI8) 6),
624 ((NI8) 6),
625 ((NI8) 6),
626 ((NI8) 6),
627 ((NI8) 6),
628 ((NI8) 6),
629 ((NI8) 6),
630 ((NI8) 6),
631 ((NI8) 6),
632 ((NI8) 6),
633 ((NI8) 6),
634 ((NI8) 6),
635 ((NI8) 6),
636 ((NI8) 6),
637 ((NI8) 6),
638 ((NI8) 6),
639 ((NI8) 6),
640 ((NI8) 6),
641 ((NI8) 6),
642 ((NI8) 6),
643 ((NI8) 6),
644 ((NI8) 6),
645 ((NI8) 6),
646 ((NI8) 6),
647 ((NI8) 6),
648 ((NI8) 6),
649 ((NI8) 6),
650 ((NI8) 6),
651 ((NI8) 6),
652 ((NI8) 6),
653 ((NI8) 6),
654 ((NI8) 6),
655 ((NI8) 6),
656 ((NI8) 6),
657 ((NI8) 6),
658 ((NI8) 6),
659 ((NI8) 6),
660 ((NI8) 6),
661 ((NI8) 6),
662 ((NI8) 6),
663 ((NI8) 6),
664 ((NI8) 6),
665 ((NI8) 6),
666 ((NI8) 6),
667 ((NI8) 6),
668 ((NI8) 7),
669 ((NI8) 7),
670 ((NI8) 7),
671 ((NI8) 7),
672 ((NI8) 7),
673 ((NI8) 7),
674 ((NI8) 7),
675 ((NI8) 7),
676 ((NI8) 7),
677 ((NI8) 7),
678 ((NI8) 7),
679 ((NI8) 7),
680 ((NI8) 7),
681 ((NI8) 7),
682 ((NI8) 7),
683 ((NI8) 7),
684 ((NI8) 7),
685 ((NI8) 7),
686 ((NI8) 7),
687 ((NI8) 7),
688 ((NI8) 7),
689 ((NI8) 7),
690 ((NI8) 7),
691 ((NI8) 7),
692 ((NI8) 7),
693 ((NI8) 7),
694 ((NI8) 7),
695 ((NI8) 7),
696 ((NI8) 7),
697 ((NI8) 7),
698 ((NI8) 7),
699 ((NI8) 7),
700 ((NI8) 7),
701 ((NI8) 7),
702 ((NI8) 7),
703 ((NI8) 7),
704 ((NI8) 7),
705 ((NI8) 7),
706 ((NI8) 7),
707 ((NI8) 7),
708 ((NI8) 7),
709 ((NI8) 7),
710 ((NI8) 7),
711 ((NI8) 7),
712 ((NI8) 7),
713 ((NI8) 7),
714 ((NI8) 7),
715 ((NI8) 7),
716 ((NI8) 7),
717 ((NI8) 7),
718 ((NI8) 7),
719 ((NI8) 7),
720 ((NI8) 7),
721 ((NI8) 7),
722 ((NI8) 7),
723 ((NI8) 7),
724 ((NI8) 7),
725 ((NI8) 7),
726 ((NI8) 7),
727 ((NI8) 7),
728 ((NI8) 7),
729 ((NI8) 7),
730 ((NI8) 7),
731 ((NI8) 7),
732 ((NI8) 7),
733 ((NI8) 7),
734 ((NI8) 7),
735 ((NI8) 7),
736 ((NI8) 7),
737 ((NI8) 7),
738 ((NI8) 7),
739 ((NI8) 7),
740 ((NI8) 7),
741 ((NI8) 7),
742 ((NI8) 7),
743 ((NI8) 7),
744 ((NI8) 7),
745 ((NI8) 7),
746 ((NI8) 7),
747 ((NI8) 7),
748 ((NI8) 7),
749 ((NI8) 7),
750 ((NI8) 7),
751 ((NI8) 7),
752 ((NI8) 7),
753 ((NI8) 7),
754 ((NI8) 7),
755 ((NI8) 7),
756 ((NI8) 7),
757 ((NI8) 7),
758 ((NI8) 7),
759 ((NI8) 7),
760 ((NI8) 7),
761 ((NI8) 7),
762 ((NI8) 7),
763 ((NI8) 7),
764 ((NI8) 7),
765 ((NI8) 7),
766 ((NI8) 7),
767 ((NI8) 7),
768 ((NI8) 7),
769 ((NI8) 7),
770 ((NI8) 7),
771 ((NI8) 7),
772 ((NI8) 7),
773 ((NI8) 7),
774 ((NI8) 7),
775 ((NI8) 7),
776 ((NI8) 7),
777 ((NI8) 7),
778 ((NI8) 7),
779 ((NI8) 7),
780 ((NI8) 7),
781 ((NI8) 7),
782 ((NI8) 7),
783 ((NI8) 7),
784 ((NI8) 7),
785 ((NI8) 7),
786 ((NI8) 7),
787 ((NI8) 7),
788 ((NI8) 7),
789 ((NI8) 7),
790 ((NI8) 7),
791 ((NI8) 7),
792 ((NI8) 7),
793 ((NI8) 7),
794 ((NI8) 7),
795 ((NI8) 7)}
796 ;
797 N_LIB_PRIVATE TNimType NTIrootobj__ytyiCJqK439aF9cIibuRVpAg_;
798 N_LIB_PRIVATE TNimType NTIexception__XEycrCsme5C8CVWAYEcdBQ_;
799 N_LIB_PRIVATE TNimType NTIcstring__S9agCYBinaYZnGWcjTdxclg_;
800 N_LIB_PRIVATE TNimType NTIstring__77mFvmsOLKik79ci2hXkHEg_;
801 N_LIB_PRIVATE TNimType NTIstacktraceentry__oLyohQ7O2XOvGnflOss8EA_;
802 N_LIB_PRIVATE TNimType NTIint__rR5Bzr1D5krxoo1NcNyeMA_;
803 N_LIB_PRIVATE TNimType NTIseqLstacktraceentryT__uB9b75OUPRENsBAu4AnoePA_;
804 N_LIB_PRIVATE TNimType NTIrefexception__vU9aO9cTqOMn6CBzhV8rX7Sw_;
805 N_LIB_PRIVATE TNimType NTIdefect__LbeSGvgPzGzXnW9caIkJqMA_;
806 N_LIB_PRIVATE TNimType NTIreraisedefect__E0L0wGYS1gPD81VLstNO2g_;
807 N_LIB_PRIVATE TNimType NTIrefreraisedefect__uG62cfJZ15c2siK3CKLmnQ_;
808 N_LIB_PRIVATE TNimType NTIarithmeticdefect__cT9c9bHlHSpA1QTnKbHjnIkA_;
809 N_LIB_PRIVATE TNimType NTIoverflowdefect__9cxMi1BPLc3UKt9br86bGfGQ_;
810 N_LIB_PRIVATE TNimType NTIrefoverflowdefect__r8GBEWywN07B3Rat3azS4Q_;
811 STRING_LITERAL(TM__Q5wkpxktOdTGvlSRo9bzt9aw_7, "over- or underflow", 18);
812 STRING_LITERAL(TM__Q5wkpxktOdTGvlSRo9bzt9aw_9, "[[reraised from:\012", 17);
813 STRING_LITERAL(TM__Q5wkpxktOdTGvlSRo9bzt9aw_10, "]]\012", 3);
814 STRING_LITERAL(TM__Q5wkpxktOdTGvlSRo9bzt9aw_11, "(", 1);
815 STRING_LITERAL(TM__Q5wkpxktOdTGvlSRo9bzt9aw_12, ", ", 2);
816 STRING_LITERAL(TM__Q5wkpxktOdTGvlSRo9bzt9aw_13, ")", 1);
817 STRING_LITERAL(TM__Q5wkpxktOdTGvlSRo9bzt9aw_14, "\012", 1);
818 STRING_LITERAL(TM__Q5wkpxktOdTGvlSRo9bzt9aw_15, "no exception to reraise", 23);
819 N_LIB_PRIVATE TNimType NTIbool__VaVACK0bpYmqIQ0mKcHfQQ_;
820 STRING_LITERAL(TM__Q5wkpxktOdTGvlSRo9bzt9aw_16, " (invalid data!)", 16);
821 N_LIB_PRIVATE TNimType NTIcatchableerror__qrLSDoe2oBoAqNtJ9badtnA_;
822 N_LIB_PRIVATE TNimType NTIvalueerror__yoNlBGx0D2tRizIdhQuENw_;
823 N_LIB_PRIVATE TNimType NTIkeyerror__t7nhKLvXTQS9cS8ByJU9bIag_;
824 N_LIB_PRIVATE TNimType NTIrefkeyerror__8SzoIAgLw9ci2v0yafHj9b6Q_;
825 N_LIB_PRIVATE TNimType NTIassertiondefect__PtYxPmY5X0dorfvxAFbJpQ_;
826 N_LIB_PRIVATE TNimType NTIrefassertiondefect__S8DV6hfcgC9c0IiUsAoR29cQ_;
827 N_LIB_PRIVATE TNimType NTIuint4954__M4na42GvebBMnI5wV9cYMxg_;
828 N_LIB_PRIVATE TNimType NTIint4954__kDPg4wXyR8DDyA0MeEjIsw_;
829 N_LIB_PRIVATE TNimType NTIint5150__sVg18TP9cLifHyygRe9cro9aA_;
830 N_LIB_PRIVATE TNimType NTIint56__chXunH2dwinSkhpA6JnsXw_;
831 N_LIB_PRIVATE TNimType NTIfloat__w9bl9a1ul9ctRJWiMl9cNnIMvg_;
832 N_LIB_PRIVATE TNimType NTIchar__nmiMWKVIe46vacnhAFrQvw_;
833 N_LIB_PRIVATE TNimType NTIobjectassignmentdefect__6toVe0IizlEwN9bORXEdX3g_;
834 N_LIB_PRIVATE TNimType NTIrefobjectassignmentdefect__C0A9bPZSVeyr2BWpBf4Jxqw_;
835 STRING_LITERAL(TM__Q5wkpxktOdTGvlSRo9bzt9aw_21, "invalid object assignment", 25);
836 N_LIB_PRIVATE TNimType NTIindexdefect__n6tGEPHKkh7E1AP9bj30WrQ_;
837 N_LIB_PRIVATE TNimType NTIrefindexdefect__RJnHOb9cQV3neNC9cDkRgMyw_;
838 N_LIB_PRIVATE TNimType NTIrefvalueerror__Ie1m0dv1ZHg72IgPRr1cDw_;
839 N_LIB_PRIVATE TNimType NTIoserror__BeJgrOdDsczOwEWOZbRfKA_;
840 N_LIB_PRIVATE TNimType NTIrefoserror__9clYsYwyjCqe2PFTuCI3Ubg_;
841 N_LIB_PRIVATE TNimType NTIioerror__iLZrPn9anoh9ad1MmO0RczFw_;
842 N_LIB_PRIVATE TNimType NTIrefioerror__HMIVdYjdZYWskTmTQVo5BQ_;
843 STRING_LITERAL(TM__Q5wkpxktOdTGvlSRo9bzt9aw_22, "No stack traceback available\012", 29);
844 N_LIB_PRIVATE TNimType NTIeoferror__KGSY1JdrNB7Xi8KDhXFhSg_;
845 N_LIB_PRIVATE TNimType NTIrefeoferror__LEclZrWX2FQAodlapxGITw_;
846 N_LIB_PRIVATE TNimType NTIbiggestint__Aav8dQoMlCFnZRxA0IhTHQ_;
847 N_LIB_PRIVATE TNimType NTIuint5150__JrFyJbYm9b5I4hJ9cWDqvfYA_;
848 N_LIB_PRIVATE TNimType NTIrootref__0vJvi4uHbxjbxlkkX7P1EA_;
849 N_LIB_PRIVATE TNimType NTIuint56__k3HXouOuhqAKq0dx450lXQ_;
850 N_LIB_PRIVATE NIM_CONST tyArray__yp9a149boki9cCCWgfXI0Ip4A powtens__system_6152 = {1.0,
851 10.0,
852 100.0,
853 1000.0,
854 10000.0,
855 100000.0,
856 1000000.0,
857 10000000.0,
858 100000000.0,
859 1000000000.0,
860 10000000000.0,
861 100000000000.0,
862 1000000000000.0,
863 10000000000000.0,
864 100000000000000.0,
865 1000000000000000.0,
866 10000000000000000.0,
867 1e+17,
868 1e+18,
869 1e+19,
870 1e+20,
871 1e+21,
872 1e+22}
873 ;
874 N_LIB_PRIVATE TNimType NTIrangedefect__Rp9adJYTsbbIUzQ8fWxwgdA_;
875 N_LIB_PRIVATE TNimType NTIint__xHTZrq9aYs6boc9bCba0JbpQ_;
876 N_LIB_PRIVATE TNimType NTIrefint__9ai78kkwqt3gikTN9cpHKUVg_;
877 N_LIB_PRIVATE TNimType NTIptrstring__Y36n7l9b7WX4rcaAYCe6LWw_;
878 N_LIB_PRIVATE TNimType NTIcint__nlCscttRCss70IBTyuBqnA_;
879 N_LIB_PRIVATE TNimType NTIuncheckedarrayLcstringT__nvS6J9clHMUMHfoZd8Ad2zg_;
880 N_LIB_PRIVATE TNimType NTIcstringarray__vCtGdhfQAmBlRFXaVFklkQ_;
881 N_LIB_PRIVATE TNimType NTIdivbyzerodefect__n3A4gjRrFZBuNnTYx1h9a8w_;
882 STRING_LITERAL(TM__Q5wkpxktOdTGvlSRo9bzt9aw_23, "true", 4);
883 STRING_LITERAL(TM__Q5wkpxktOdTGvlSRo9bzt9aw_24, "false", 5);
884 N_LIB_PRIVATE TNimType NTIint__u50F0puw9b9c6p256tX4eJLQ_;
885 STRING_LITERAL(TM__Q5wkpxktOdTGvlSRo9bzt9aw_25, "[GC] total memory: ", 19);
886 STRING_LITERAL(TM__Q5wkpxktOdTGvlSRo9bzt9aw_26, "\012[GC] occupied memory: ", 23);
887 STRING_LITERAL(TM__Q5wkpxktOdTGvlSRo9bzt9aw_27, "\012[GC] stack scans: ", 19);
888 STRING_LITERAL(TM__Q5wkpxktOdTGvlSRo9bzt9aw_28, "\012[GC] stack cells: ", 19);
889 STRING_LITERAL(TM__Q5wkpxktOdTGvlSRo9bzt9aw_29, "\012[GC] cycle collections: ", 25);
890 STRING_LITERAL(TM__Q5wkpxktOdTGvlSRo9bzt9aw_30, "\012[GC] max threshold: ", 21);
891 STRING_LITERAL(TM__Q5wkpxktOdTGvlSRo9bzt9aw_31, "\012[GC] zct capacity: ", 20);
892 STRING_LITERAL(TM__Q5wkpxktOdTGvlSRo9bzt9aw_32, "\012[GC] max cycle table size: ", 28);
893 STRING_LITERAL(TM__Q5wkpxktOdTGvlSRo9bzt9aw_33, "\012[GC] max pause time [ms]: ", 27);
894 STRING_LITERAL(TM__Q5wkpxktOdTGvlSRo9bzt9aw_34, "[GC] max stack size: ", 21);
895 N_LIB_PRIVATE NI nim_program_result;
896 N_LIB_PRIVATE tyProc__9axCnCRMUx32AHzFgBrzSMg globalRaiseHook__system_2291;
897 N_LIB_PRIVATE tyProc__9axCnCRMUx32AHzFgBrzSMg localRaiseHook__system_2294;
898 N_LIB_PRIVATE tyProc__T4eqaYlFJYZUv9aG9b1TV0bQ outOfMemHook__system_2296;
899 N_LIB_PRIVATE tyProc__NFmM6mqUOVW3cJg4yvk8Fw unhandledExceptionHook__system_2299;
900 N_LIB_PRIVATE TNimType strDesc__system_2412 = {((NI) 4), 0, ((tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A) 28), 2, NIM_NIL, NIM_NIL, NIM_NIL, NIM_NIL, NIM_NIL}
901 ;
902 N_LIB_PRIVATE tyProc__W6IXMh2CA4X1rFYGjUb4yg errorMessageWriter__system_2528;
903 N_LIB_PRIVATE TFrame* framePtr__system_2564;
904 N_LIB_PRIVATE TSafePoint* excHandler__system_2565;
905 N_LIB_PRIVATE Exception* currException__system_2566;
906 N_LIB_PRIVATE GcFrameHeader* gcFramePtr__system_2567;
907 N_LIB_PRIVATE tyProc__W6IXMh2CA4X1rFYGjUb4yg onUnhandledException__system_2751;
908 N_LIB_PRIVATE tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ gch__system_5217;
909 N_LIB_PRIVATE NI globalMarkersLen;
910 N_LIB_PRIVATE tyArray__9aTRall1siQT9bXabu2aKXUg globalMarkers;
911 N_LIB_PRIVATE NI threadLocalMarkersLen;
912 N_LIB_PRIVATE tyArray__9aTRall1siQT9bXabu2aKXUg threadLocalMarkers;
913 N_LIB_PRIVATE NI gHeapidGenerator__system_5484;
N_NIMCALL(void,setPosition__system_5403)914 N_LIB_PRIVATE N_NIMCALL(void, setPosition__system_5403)(tyObject_GcStack__7fytPA5bBsob6See21YMRA* stack, void* position) {
915 }
N_NOINLINE(void,nimGC_setStackBottom)916 N_LIB_PRIVATE N_NOINLINE(void, nimGC_setStackBottom)(void* theStackBottom) {
917 	{
918 		if (!(gch__system_5217.stack.bottom == NIM_NIL)) goto LA3_;
919 		gch__system_5217.stack.bottom = theStackBottom;
920 	}
921 	goto LA1_;
922 	LA3_: ;
923 	{
924 		NI a;
925 		NI b;
926 		if (!!((theStackBottom == gch__system_5217.stack.bottom))) goto LA6_;
927 		a = ((NI) (ptrdiff_t) (theStackBottom));
928 		b = ((NI) (ptrdiff_t) (gch__system_5217.stack.bottom));
929 		gch__system_5217.stack.bottom = ((void*) (((a >= b) ? a : b)));
930 	}
931 	goto LA1_;
932 	LA6_: ;
933 	LA1_: ;
934 	setPosition__system_5403((&gch__system_5217.stack), theStackBottom);
935 }
N_INLINE(void,initStackBottom)936 static N_INLINE(void, initStackBottom)(void) {
937 	void* volatile locals;
938 	locals = ((void*) ((&locals)));
939 	nimGC_setStackBottom(locals);
940 }
N_INLINE(NI,roundup__system_3704)941 static N_INLINE(NI, roundup__system_3704)(NI x, NI v) {
942 	NI result;
943 	result = (NI)0;
944 	result = (NI)((NI)(x + (NI)(v - ((NI) 1))) & (NI)((NU32) ~((NI)(v - ((NI) 1)))));
945 	return result;
946 }
N_INLINE(NI,msbit__system_3827)947 static N_INLINE(NI, msbit__system_3827)(NU32 x) {
948 	NI result;
949 	NI a;
950 	result = (NI)0;
951 	{
952 		if (!((NU32)(x) <= (NU32)(((NU32) 65535)))) goto LA3_;
953 		{
954 			if (!((NU32)(x) <= (NU32)(((NU32) 255)))) goto LA7_;
955 			a = ((NI) 0);
956 		}
957 		goto LA5_;
958 		LA7_: ;
959 		{
960 			a = ((NI) 8);
961 		}
962 		LA5_: ;
963 	}
964 	goto LA1_;
965 	LA3_: ;
966 	{
967 		{
968 			if (!((NU32)(x) <= (NU32)(((NU32) 16777215)))) goto LA13_;
969 			a = ((NI) 16);
970 		}
971 		goto LA11_;
972 		LA13_: ;
973 		{
974 			a = ((NI) 24);
975 		}
976 		LA11_: ;
977 	}
978 	LA1_: ;
979 	result = (NI)(((NI) (fsLookupTable__system_3826[((NU32)((NU32)(x) >> (NU32)(a)))- 0])) + a);
980 	return result;
981 }
N_INLINE(void,mappingSearch__system_3852)982 static N_INLINE(void, mappingSearch__system_3852)(NI* r, NI* fl, NI* sl) {
983 	NI t;
984 	NI T1_;
985 	NI T2_;
986 	T1_ = (NI)0;
987 	T1_ = msbit__system_3827(((NU32) ((*r))));
988 	T2_ = (NI)0;
989 	T2_ = roundup__system_3704((NI)((NU32)(((NI) 1)) << (NU32)((NI)(T1_ - ((NI) 5)))), ((NI) 4096));
990 	t = (NI)(T2_ - ((NI) 1));
991 	(*r) = (NI)((*r) + t);
992 	(*r) = (NI)((*r) & (NI)((NU32) ~(t)));
993 	(*r) = (((*r) <= ((NI) 1056964608)) ? (*r) : ((NI) 1056964608));
994 	(*fl) = msbit__system_3827(((NU32) ((*r))));
995 	(*sl) = (NI)((NI)((NI32)((*r)) >> (NU32)((NI)((*fl) - ((NI) 5)))) - ((NI) 32));
996 	(*fl) -= ((NI) 6);
997 }
N_INLINE(NI,lsbit__system_3835)998 static N_INLINE(NI, lsbit__system_3835)(NU32 x) {
999 	NI result;
1000 	result = (NI)0;
1001 	result = msbit__system_3827((NU32)(x & (NU32)((NU32)((NU32)((NU32) ~(x))) + (NU32)(((NU32) 1)))));
1002 	return result;
1003 }
N_INLINE(tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg *,findSuitableBlock__system_3884)1004 static N_INLINE(tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg*, findSuitableBlock__system_3884)(tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg* a, NI* fl, NI* sl) {
1005 	tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* result;
1006 	NU32 tmp;
1007 	result = (tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg*)0;
1008 	tmp = (NU32)((*a).slBitmap[((*fl))- 0] & (NU32)((NU32)(((NU32) IL64(4294967295))) << (NU32)((*sl))));
1009 	result = ((tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg*) NIM_NIL);
1010 	{
1011 		if (!!((tmp == ((NU32) 0)))) goto LA3_;
1012 		(*sl) = lsbit__system_3835(tmp);
1013 		result = (*a).matrix[((*fl))- 0][((*sl))- 0];
1014 	}
1015 	goto LA1_;
1016 	LA3_: ;
1017 	{
1018 		(*fl) = lsbit__system_3835((NU32)((*a).flBitmap & (NU32)((NU32)(((NU32) IL64(4294967295))) << (NU32)((NI)((*fl) + ((NI) 1))))));
1019 		{
1020 			if (!(((NI) 0) < (*fl))) goto LA8_;
1021 			(*sl) = lsbit__system_3835((*a).slBitmap[((*fl))- 0]);
1022 			result = (*a).matrix[((*fl))- 0][((*sl))- 0];
1023 		}
1024 		LA8_: ;
1025 	}
1026 	LA1_: ;
1027 	return result;
1028 }
N_INLINE(NI,nimCStrLen)1029 static N_INLINE(NI, nimCStrLen)(NCSTRING a) {
1030 	NI result;
1031 	size_t T1_;
1032 	result = (NI)0;
1033 	T1_ = (size_t)0;
1034 	T1_ = strlen(a);
1035 	result = ((NI) (T1_));
1036 	return result;
1037 }
N_INLINE(void,rawWrite)1038 static N_INLINE(void, rawWrite)(FILE* f, NCSTRING s) {
1039 	int T1_;
1040 	int T2_;
1041 	T1_ = (int)0;
1042 	T1_ = fwrite(((void*) (s)), ((size_t) 1), ((size_t) ((s ? nimCStrLen(s) : 0))), f);
1043 	(void)(T1_);
1044 	T2_ = (int)0;
1045 	T2_ = fflush(f);
1046 	(void)(T2_);
1047 }
N_NOINLINE(void,raiseOutOfMem__system_3699)1048 N_LIB_PRIVATE N_NOINLINE(void, raiseOutOfMem__system_3699)(void) {
1049 	{
1050 		if (!!((outOfMemHook__system_2296 == NIM_NIL))) goto LA3_;
1051 		outOfMemHook__system_2296();
1052 	}
1053 	LA3_: ;
1054 	rawWrite(__stderrp, "out of memory\012");
1055 	exit(((NI) 1));
1056 }
N_INLINE(void *,osAllocPages__system_3724)1057 static N_INLINE(void*, osAllocPages__system_3724)(NI size) {
1058 	void* result;
1059 	result = (void*)0;
1060 	result = mmap(NIM_NIL, ((size_t) (size)), ((int) 3), (NI32)((NI32)(MAP_ANONYMOUS | MAP_PRIVATE) | ((NI32) 0)), ((int) -1), ((NI) 0));
1061 	{
1062 		NIM_BOOL T3_;
1063 		T3_ = (NIM_BOOL)0;
1064 		T3_ = (result == NIM_NIL);
1065 		if (T3_) goto LA4_;
1066 		T3_ = (result == ((void*) (((NI) -1))));
1067 		LA4_: ;
1068 		if (!T3_) goto LA5_;
1069 		raiseOutOfMem__system_3699();
1070 	}
1071 	LA5_: ;
1072 	return result;
1073 }
N_INLINE(void *,osTryAllocPages__system_3727)1074 static N_INLINE(void*, osTryAllocPages__system_3727)(NI size) {
1075 	void* result;
1076 	result = (void*)0;
1077 	result = mmap(NIM_NIL, ((size_t) (size)), ((int) 3), (NI32)((NI32)(MAP_ANONYMOUS | MAP_PRIVATE) | ((NI32) 0)), ((int) -1), ((NI) 0));
1078 	{
1079 		if (!(result == ((void*) (((NI) -1))))) goto LA3_;
1080 		result = NIM_NIL;
1081 	}
1082 	LA3_: ;
1083 	return result;
1084 }
N_INLINE(void,incCurrMem__system_3967)1085 static N_INLINE(void, incCurrMem__system_3967)(tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg* a, NI bytes) {
1086 	(*a).currMem += bytes;
1087 }
N_INLINE(void,nimSetMem__systemZmemory_7)1088 static N_INLINE(void, nimSetMem__systemZmemory_7)(void* a, int v, NI size) {
1089 	void* T1_;
1090 	T1_ = (void*)0;
1091 	T1_ = memset(a, v, ((size_t) (size)));
1092 }
N_INLINE(void,nimZeroMem)1093 static N_INLINE(void, nimZeroMem)(void* p, NI size) {
1094 	nimSetMem__systemZmemory_7(p, ((int) 0), size);
1095 }
N_INLINE(void,zeroMem__system_1724)1096 static N_INLINE(void, zeroMem__system_1724)(void* p, NI size) {
1097 	nimZeroMem(p, size);
1098 }
N_NIMCALL(void *,llAlloc__system_3984)1099 N_LIB_PRIVATE N_NIMCALL(void*, llAlloc__system_3984)(tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg* a, NI size) {
1100 	void* result;
1101 	result = (void*)0;
1102 	{
1103 		NIM_BOOL T3_;
1104 		tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw* old;
1105 		void* T7_;
1106 		T3_ = (NIM_BOOL)0;
1107 		T3_ = ((*a).llmem == ((tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw*) NIM_NIL));
1108 		if (T3_) goto LA4_;
1109 		T3_ = ((*(*a).llmem).size < size);
1110 		LA4_: ;
1111 		if (!T3_) goto LA5_;
1112 		old = (*a).llmem;
1113 		T7_ = (void*)0;
1114 		T7_ = osAllocPages__system_3724(((NI) 4096));
1115 		(*a).llmem = ((tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw*) (T7_));
1116 		incCurrMem__system_3967(a, ((NI) 4096));
1117 		(*(*a).llmem).size = ((NI) 4084);
1118 		(*(*a).llmem).acc = ((NI) 12);
1119 		(*(*a).llmem).next = old;
1120 	}
1121 	LA5_: ;
1122 	result = ((void*) ((NI)(((NI) (ptrdiff_t) ((*a).llmem)) + (*(*a).llmem).acc)));
1123 	(*(*a).llmem).size -= size;
1124 	(*(*a).llmem).acc += size;
1125 	zeroMem__system_1724(result, ((NI) (size)));
1126 	return result;
1127 }
N_NIMCALL(void,addHeapLink__system_4051)1128 N_LIB_PRIVATE N_NIMCALL(void, addHeapLink__system_4051)(tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg* a, tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* p, NI size) {
1129 	tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg* it;
1130 	it = (&(*a).heapLinks);
1131 	{
1132 		while (1) {
1133 			NIM_BOOL T3_;
1134 			T3_ = (NIM_BOOL)0;
1135 			T3_ = !((it == ((tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg*) NIM_NIL)));
1136 			if (!(T3_)) goto LA4_;
1137 			T3_ = (((NI) 30) <= (*it).len);
1138 			LA4_: ;
1139 			if (!T3_) goto LA2;
1140 			it = (*it).next;
1141 		} LA2: ;
1142 	}
1143 	{
1144 		tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg* n;
1145 		void* T9_;
1146 		tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* colontmp_;
1147 		NI colontmp__2;
1148 		if (!(it == ((tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg*) NIM_NIL))) goto LA7_;
1149 		T9_ = (void*)0;
1150 		T9_ = llAlloc__system_3984(a, ((NI) 248));
1151 		n = ((tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg*) (T9_));
1152 		(*n).next = (*a).heapLinks.next;
1153 		(*a).heapLinks.next = n;
1154 		colontmp_ = p;
1155 		colontmp__2 = size;
1156 		(*n).chunks[(((NI) 0))- 0].Field0 = colontmp_;
1157 		(*n).chunks[(((NI) 0))- 0].Field1 = colontmp__2;
1158 		(*n).len = ((NI) 1);
1159 	}
1160 	goto LA5_;
1161 	LA7_: ;
1162 	{
1163 		NI L;
1164 		tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* colontmp__3;
1165 		NI colontmp__4;
1166 		L = (*it).len;
1167 		colontmp__3 = p;
1168 		colontmp__4 = size;
1169 		(*it).chunks[(L)- 0].Field0 = colontmp__3;
1170 		(*it).chunks[(L)- 0].Field1 = colontmp__4;
1171 		(*it).len += ((NI) 1);
1172 	}
1173 	LA5_: ;
1174 }
N_INLINE(NI,pluspercent___system_696)1175 static N_INLINE(NI, pluspercent___system_696)(NI x, NI y) {
1176 	NI result;
1177 	result = (NI)0;
1178 	result = ((NI) ((NU)((NU32)(((NU) (x))) + (NU32)(((NU) (y))))));
1179 	return result;
1180 }
N_NIMCALL(tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw *,intSetGet__system_4194)1181 N_LIB_PRIVATE N_NIMCALL(tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw*, intSetGet__system_4194)(tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA* t, NI key) {
1182 	tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw* result;
1183 	tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw* it;
1184 {	result = (tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw*)0;
1185 	it = (*t).data[((NI)(key & ((NI) 255)))- 0];
1186 	{
1187 		while (1) {
1188 			if (!!((it == ((tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw*) NIM_NIL)))) goto LA2;
1189 			{
1190 				if (!((*it).key == key)) goto LA5_;
1191 				result = it;
1192 				goto BeforeRet_;
1193 			}
1194 			LA5_: ;
1195 			it = (*it).next;
1196 		} LA2: ;
1197 	}
1198 	result = ((tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw*) NIM_NIL);
1199 	}BeforeRet_: ;
1200 	return result;
1201 }
N_NIMCALL(NIM_BOOL,contains__system_4233)1202 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, contains__system_4233)(tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA* s, NI key) {
1203 	NIM_BOOL result;
1204 	tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw* t;
1205 	result = (NIM_BOOL)0;
1206 	t = intSetGet__system_4194(s, (NI)((NI32)(key) >> (NU32)(((NI) 9))));
1207 	{
1208 		NI u;
1209 		if (!!((t == ((tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw*) NIM_NIL)))) goto LA3_;
1210 		u = (NI)(key & ((NI) 511));
1211 		result = !(((NU)((*t).bits[((NI)((NI32)(u) >> (NU32)(((NI) 5))))- 0] & (NU)((NU32)(((NU) 1)) << (NU32)((NI)(u & ((NI) 31))))) == ((NU) 0)));
1212 	}
1213 	goto LA1_;
1214 	LA3_: ;
1215 	{
1216 		result = NIM_FALSE;
1217 	}
1218 	LA1_: ;
1219 	return result;
1220 }
N_INLINE(NI,pageIndex__system_4420)1221 static N_INLINE(NI, pageIndex__system_4420)(tyObject_BaseChunk__Sdq7WpT6qAH858F5ZEdG3w* c) {
1222 	NI result;
1223 	result = (NI)0;
1224 	result = (NI)((NI32)(((NI) (ptrdiff_t) (c))) >> (NU32)(((NI) 12)));
1225 	return result;
1226 }
N_INLINE(NI,minuspercent___system_716)1227 static N_INLINE(NI, minuspercent___system_716)(NI x, NI y) {
1228 	NI result;
1229 	result = (NI)0;
1230 	result = ((NI) ((NU)((NU32)(((NU) (x))) - (NU32)(((NU) (y))))));
1231 	return result;
1232 }
N_NIMCALL(tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg *,requestOsChunks__system_4438)1233 N_LIB_PRIVATE N_NIMCALL(tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg*, requestOsChunks__system_4438)(tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg* a, NI size) {
1234 	tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* result;
1235 	NI size_2;
1236 	NI nxt;
1237 	tyObject_BaseChunk__Sdq7WpT6qAH858F5ZEdG3w* next;
1238 	NI lastSize;
1239 	NI prv;
1240 	tyObject_BaseChunk__Sdq7WpT6qAH858F5ZEdG3w* prev;
1241 	result = (tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg*)0;
1242 	{
1243 		NI usedMem;
1244 		if (!!((*a).blockChunkSizeIncrease)) goto LA3_;
1245 		usedMem = (*a).occ;
1246 		{
1247 			if (!(usedMem < ((NI) 65536))) goto LA7_;
1248 			(*a).nextChunkSize = ((NI) 16384);
1249 		}
1250 		goto LA5_;
1251 		LA7_: ;
1252 		{
1253 			NI T10_;
1254 			T10_ = (NI)0;
1255 			T10_ = roundup__system_3704((NI)((NI32)(usedMem) >> (NU32)(((NI) 2))), ((NI) 4096));
1256 			(*a).nextChunkSize = ((T10_ <= (NI)((*a).nextChunkSize * ((NI) 2))) ? T10_ : (NI)((*a).nextChunkSize * ((NI) 2)));
1257 			(*a).nextChunkSize = (((*a).nextChunkSize <= ((NI) 1056964608)) ? (*a).nextChunkSize : ((NI) 1056964608));
1258 		}
1259 		LA5_: ;
1260 	}
1261 	LA3_: ;
1262 	size_2 = size;
1263 	{
1264 		void* T15_;
1265 		if (!((*a).nextChunkSize < size_2)) goto LA13_;
1266 		T15_ = (void*)0;
1267 		T15_ = osAllocPages__system_3724(size_2);
1268 		result = ((tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg*) (T15_));
1269 	}
1270 	goto LA11_;
1271 	LA13_: ;
1272 	{
1273 		void* T17_;
1274 		T17_ = (void*)0;
1275 		T17_ = osTryAllocPages__system_3727((*a).nextChunkSize);
1276 		result = ((tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg*) (T17_));
1277 		{
1278 			void* T22_;
1279 			if (!(result == ((tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg*) NIM_NIL))) goto LA20_;
1280 			T22_ = (void*)0;
1281 			T22_ = osAllocPages__system_3724(size_2);
1282 			result = ((tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg*) (T22_));
1283 			(*a).blockChunkSizeIncrease = NIM_TRUE;
1284 		}
1285 		goto LA18_;
1286 		LA20_: ;
1287 		{
1288 			size_2 = (*a).nextChunkSize;
1289 		}
1290 		LA18_: ;
1291 	}
1292 	LA11_: ;
1293 	incCurrMem__system_3967(a, size_2);
1294 	(*a).freeMem += size_2;
1295 	addHeapLink__system_4051(a, result, size_2);
1296 	(*result).next = ((tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg*) NIM_NIL);
1297 	(*result).prev = ((tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg*) NIM_NIL);
1298 	(*result).Sup.size = size_2;
1299 	nxt = pluspercent___system_696(((NI) (ptrdiff_t) (result)), size_2);
1300 	next = ((tyObject_BaseChunk__Sdq7WpT6qAH858F5ZEdG3w*) (nxt));
1301 	{
1302 		NI T26_;
1303 		NIM_BOOL T27_;
1304 		T26_ = (NI)0;
1305 		T26_ = pageIndex__system_4420(next);
1306 		T27_ = (NIM_BOOL)0;
1307 		T27_ = contains__system_4233((&(*a).chunkStarts), T26_);
1308 		if (!T27_) goto LA28_;
1309 		(*next).prevSize = (NI)(size_2 | (NI)((*next).prevSize & ((NI) 1)));
1310 	}
1311 	LA28_: ;
1312 	{
1313 		if (!!(((*a).lastSize == ((NI) 0)))) goto LA32_;
1314 		lastSize = (*a).lastSize;
1315 	}
1316 	goto LA30_;
1317 	LA32_: ;
1318 	{
1319 		lastSize = ((NI) 4096);
1320 	}
1321 	LA30_: ;
1322 	prv = minuspercent___system_716(((NI) (ptrdiff_t) (result)), lastSize);
1323 	prev = ((tyObject_BaseChunk__Sdq7WpT6qAH858F5ZEdG3w*) (prv));
1324 	{
1325 		NIM_BOOL T37_;
1326 		NI T38_;
1327 		T37_ = (NIM_BOOL)0;
1328 		T38_ = (NI)0;
1329 		T38_ = pageIndex__system_4420(prev);
1330 		T37_ = contains__system_4233((&(*a).chunkStarts), T38_);
1331 		if (!(T37_)) goto LA39_;
1332 		T37_ = ((*prev).size == lastSize);
1333 		LA39_: ;
1334 		if (!T37_) goto LA40_;
1335 		(*result).Sup.prevSize = (NI)(lastSize | (NI)((*result).Sup.prevSize & ((NI) 1)));
1336 	}
1337 	goto LA35_;
1338 	LA40_: ;
1339 	{
1340 		(*result).Sup.prevSize = (NI)(((NI) 0) | (NI)((*result).Sup.prevSize & ((NI) 1)));
1341 	}
1342 	LA35_: ;
1343 	(*a).lastSize = size_2;
1344 	return result;
1345 }
N_INLINE(NI,pageIndex__system_4427)1346 static N_INLINE(NI, pageIndex__system_4427)(void* p) {
1347 	NI result;
1348 	result = (NI)0;
1349 	result = (NI)((NI32)(((NI) (ptrdiff_t) (p))) >> (NU32)(((NI) 12)));
1350 	return result;
1351 }
N_INLINE(NIM_BOOL,isAccessible__system_4461)1352 static N_INLINE(NIM_BOOL, isAccessible__system_4461)(tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg* a, void* p) {
1353 	NIM_BOOL result;
1354 	NI T1_;
1355 	result = (NIM_BOOL)0;
1356 	T1_ = (NI)0;
1357 	T1_ = pageIndex__system_4427(p);
1358 	result = contains__system_4233((&(*a).chunkStarts), T1_);
1359 	return result;
1360 }
N_INLINE(void,updatePrevSize__system_4479)1361 static N_INLINE(void, updatePrevSize__system_4479)(tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg* a, tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* c, NI prevSize) {
1362 	tyObject_BaseChunk__Sdq7WpT6qAH858F5ZEdG3w* ri;
1363 	NI T1_;
1364 	T1_ = (NI)0;
1365 	T1_ = pluspercent___system_696(((NI) (ptrdiff_t) (c)), (*c).Sup.size);
1366 	ri = ((tyObject_BaseChunk__Sdq7WpT6qAH858F5ZEdG3w*) (T1_));
1367 	{
1368 		NIM_BOOL T4_;
1369 		T4_ = (NIM_BOOL)0;
1370 		T4_ = isAccessible__system_4461((&(*a)), ((void*) (ri)));
1371 		if (!T4_) goto LA5_;
1372 		(*ri).prevSize = (NI)(prevSize | (NI)((*ri).prevSize & ((NI) 1)));
1373 	}
1374 	LA5_: ;
1375 }
N_NIMCALL(tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw *,intSetPut__system_4216)1376 N_LIB_PRIVATE N_NIMCALL(tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw*, intSetPut__system_4216)(tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg* a, tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA* t, NI key) {
1377 	tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw* result;
1378 	result = (tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw*)0;
1379 	result = intSetGet__system_4194((&(*t)), key);
1380 	{
1381 		void* T5_;
1382 		if (!(result == ((tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw*) NIM_NIL))) goto LA3_;
1383 		T5_ = (void*)0;
1384 		T5_ = llAlloc__system_3984(a, ((NI) 72));
1385 		result = ((tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw*) (T5_));
1386 		(*result).next = (*t).data[((NI)(key & ((NI) 255)))- 0];
1387 		(*t).data[((NI)(key & ((NI) 255)))- 0] = result;
1388 		(*result).key = key;
1389 	}
1390 	LA3_: ;
1391 	return result;
1392 }
N_NIMCALL(void,incl__system_4255)1393 N_LIB_PRIVATE N_NIMCALL(void, incl__system_4255)(tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg* a, tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA* s, NI key) {
1394 	tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw* t;
1395 	NI u;
1396 	t = intSetPut__system_4216(a, s, (NI)((NI32)(key) >> (NU32)(((NI) 9))));
1397 	u = (NI)(key & ((NI) 511));
1398 	(*t).bits[((NI)((NI32)(u) >> (NU32)(((NI) 5))))- 0] = (NU)((*t).bits[((NI)((NI32)(u) >> (NU32)(((NI) 5))))- 0] | (NU)((NU32)(((NU) 1)) << (NU32)((NI)(u & ((NI) 31)))));
1399 }
N_NIMCALL(tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg *,splitChunk2__system_4484)1400 N_LIB_PRIVATE N_NIMCALL(tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg*, splitChunk2__system_4484)(tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg* a, tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* c, NI size) {
1401 	tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* result;
1402 	NI T1_;
1403 	NI T2_;
1404 	result = (tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg*)0;
1405 	T1_ = (NI)0;
1406 	T1_ = pluspercent___system_696(((NI) (ptrdiff_t) (c)), size);
1407 	result = ((tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg*) (T1_));
1408 	(*result).Sup.size = (NI)((*c).Sup.size - size);
1409 	(*result).next = ((tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg*) NIM_NIL);
1410 	(*result).prev = ((tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg*) NIM_NIL);
1411 	(*result).Sup.prevSize = size;
1412 	updatePrevSize__system_4479(a, c, (*result).Sup.size);
1413 	(*c).Sup.size = size;
1414 	T2_ = (NI)0;
1415 	T2_ = pageIndex__system_4420((*((tyObject_BaseChunk__Sdq7WpT6qAH858F5ZEdG3w**) (&(result)))));
1416 	incl__system_4255(a, (&(*a).chunkStarts), T2_);
1417 	return result;
1418 }
N_INLINE(tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ,mappingInsert__system_3870)1419 static N_INLINE(tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ, mappingInsert__system_3870)(NI r) {
1420 	tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ result;
1421 	nimZeroMem((void*)(&result), sizeof(tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ));
1422 	result.Field0 = msbit__system_3827(((NU32) (r)));
1423 	result.Field1 = (NI)((NI)((NI32)(r) >> (NU32)((NI)(result.Field0 - ((NI) 5)))) - ((NI) 32));
1424 	result.Field0 -= ((NI) 6);
1425 	return result;
1426 }
N_INLINE(void,setBit__system_3838)1427 static N_INLINE(void, setBit__system_3838)(NI nr, NU32* dest) {
1428 	(*dest) = (NU32)((*dest) | (NU32)((NU32)(((NU32) 1)) << (NU32)((NI)(nr & ((NI) 31)))));
1429 }
N_NIMCALL(void,addChunkToMatrix__system_3958)1430 N_LIB_PRIVATE N_NIMCALL(void, addChunkToMatrix__system_3958)(tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg* a, tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* b) {
1431 	tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ T1_;
1432 	NI fl;
1433 	NI sl;
1434 	T1_ = mappingInsert__system_3870((*b).Sup.size);
1435 	fl = T1_.Field0;
1436 	sl = T1_.Field1;
1437 	(*b).prev = ((tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg*) NIM_NIL);
1438 	(*b).next = (*a).matrix[(fl)- 0][(sl)- 0];
1439 	{
1440 		if (!!(((*a).matrix[(fl)- 0][(sl)- 0] == ((tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg*) NIM_NIL)))) goto LA4_;
1441 		(*(*a).matrix[(fl)- 0][(sl)- 0]).prev = b;
1442 	}
1443 	LA4_: ;
1444 	(*a).matrix[(fl)- 0][(sl)- 0] = b;
1445 	setBit__system_3838(sl, (&(*a).slBitmap[(fl)- 0]));
1446 	setBit__system_3838(fl, (&(*a).flBitmap));
1447 }
N_NIMCALL(void,splitChunk__system_4489)1448 N_LIB_PRIVATE N_NIMCALL(void, splitChunk__system_4489)(tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg* a, tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* c, NI size) {
1449 	tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* rest;
1450 	rest = splitChunk2__system_4484(a, c, size);
1451 	addChunkToMatrix__system_3958(a, rest);
1452 }
N_INLINE(void,clearBit__system_3845)1453 static N_INLINE(void, clearBit__system_3845)(NI nr, NU32* dest) {
1454 	(*dest) = (NU32)((*dest) & (NU32)((NU32) ~((NU32)((NU32)(((NU32) 1)) << (NU32)((NI)(nr & ((NI) 31)))))));
1455 }
N_NIMCALL(void,removeChunkFromMatrix2__system_3949)1456 N_LIB_PRIVATE N_NIMCALL(void, removeChunkFromMatrix2__system_3949)(tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg* a, tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* b, NI fl, NI sl) {
1457 	(*a).matrix[(fl)- 0][(sl)- 0] = (*b).next;
1458 	{
1459 		if (!!(((*a).matrix[(fl)- 0][(sl)- 0] == ((tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg*) NIM_NIL)))) goto LA3_;
1460 		(*(*a).matrix[(fl)- 0][(sl)- 0]).prev = ((tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg*) NIM_NIL);
1461 	}
1462 	goto LA1_;
1463 	LA3_: ;
1464 	{
1465 		clearBit__system_3845(sl, (&(*a).slBitmap[(fl)- 0]));
1466 		{
1467 			if (!((*a).slBitmap[(fl)- 0] == ((NU32) 0))) goto LA8_;
1468 			clearBit__system_3845(fl, (&(*a).flBitmap));
1469 		}
1470 		LA8_: ;
1471 	}
1472 	LA1_: ;
1473 	(*b).prev = ((tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg*) NIM_NIL);
1474 	(*b).next = ((tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg*) NIM_NIL);
1475 }
N_NIMCALL(tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg *,getBigChunk__system_4515)1476 N_LIB_PRIVATE N_NIMCALL(tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg*, getBigChunk__system_4515)(tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg* a, NI size) {
1477 	tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* result;
1478 	NI size_2;
1479 	NI fl;
1480 	NI sl;
1481 	NI T19_;
1482 	result = (tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg*)0;
1483 	size_2 = size;
1484 	fl = ((NI) 0);
1485 	sl = ((NI) 0);
1486 	mappingSearch__system_3852((&size_2), (&fl), (&sl));
1487 	result = findSuitableBlock__system_3884((&(*a)), (&fl), (&sl));
1488 	{
1489 		if (!(result == ((tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg*) NIM_NIL))) goto LA3_;
1490 		{
1491 			if (!(size_2 < ((NI) 524288))) goto LA7_;
1492 			result = requestOsChunks__system_4438(a, ((NI) 524288));
1493 			splitChunk__system_4489(a, result, size_2);
1494 		}
1495 		goto LA5_;
1496 		LA7_: ;
1497 		{
1498 			result = requestOsChunks__system_4438(a, size_2);
1499 			{
1500 				if (!(size_2 < (*result).Sup.size)) goto LA12_;
1501 				splitChunk__system_4489(a, result, size_2);
1502 			}
1503 			LA12_: ;
1504 		}
1505 		LA5_: ;
1506 	}
1507 	goto LA1_;
1508 	LA3_: ;
1509 	{
1510 		removeChunkFromMatrix2__system_3949(a, result, fl, sl);
1511 		{
1512 			if (!((NI)(size_2 + ((NI) 4096)) <= (*result).Sup.size)) goto LA17_;
1513 			splitChunk__system_4489(a, result, size_2);
1514 		}
1515 		LA17_: ;
1516 	}
1517 	LA1_: ;
1518 	(*result).Sup.prevSize = ((NI) 1);
1519 	T19_ = (NI)0;
1520 	T19_ = pageIndex__system_4420((*((tyObject_BaseChunk__Sdq7WpT6qAH858F5ZEdG3w**) (&(result)))));
1521 	incl__system_4255(a, (&(*a).chunkStarts), T19_);
1522 	(*a).freeMem -= size_2;
1523 	return result;
1524 }
N_NIMCALL(tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ *,getSmallChunk__system_4538)1525 N_LIB_PRIVATE N_NIMCALL(tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ*, getSmallChunk__system_4538)(tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg* a) {
1526 	tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ* result;
1527 	tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* res;
1528 	result = (tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ*)0;
1529 	res = getBigChunk__system_4515(a, ((NI) 4096));
1530 	result = ((tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ*) (res));
1531 	return result;
1532 }
N_INLINE(void,listAdd__system_4576)1533 static N_INLINE(void, listAdd__system_4576)(tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ** head, tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ* c) {
1534 	(*c).next = (*head);
1535 	{
1536 		if (!!(((*head) == ((tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ*) NIM_NIL)))) goto LA3_;
1537 		(*(*head)).prev = c;
1538 	}
1539 	LA3_: ;
1540 	(*head) = c;
1541 }
N_INLINE(void,listRemove__system_4629)1542 static N_INLINE(void, listRemove__system_4629)(tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ** head, tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ* c) {
1543 	{
1544 		if (!(c == (*head))) goto LA3_;
1545 		(*head) = (*c).next;
1546 		{
1547 			if (!!(((*head) == ((tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ*) NIM_NIL)))) goto LA7_;
1548 			(*(*head)).prev = ((tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ*) NIM_NIL);
1549 		}
1550 		LA7_: ;
1551 	}
1552 	goto LA1_;
1553 	LA3_: ;
1554 	{
1555 		(*(*c).prev).next = (*c).next;
1556 		{
1557 			if (!!(((*c).next == ((tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ*) NIM_NIL)))) goto LA12_;
1558 			(*(*c).next).prev = (*c).prev;
1559 		}
1560 		LA12_: ;
1561 	}
1562 	LA1_: ;
1563 	(*c).next = ((tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ*) NIM_NIL);
1564 	(*c).prev = ((tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ*) NIM_NIL);
1565 }
N_NIMCALL(tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg *,getHugeChunk__system_4530)1566 N_LIB_PRIVATE N_NIMCALL(tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg*, getHugeChunk__system_4530)(tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg* a, NI size) {
1567 	tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* result;
1568 	void* T1_;
1569 	NI T2_;
1570 	result = (tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg*)0;
1571 	T1_ = (void*)0;
1572 	T1_ = osAllocPages__system_3724(size);
1573 	result = ((tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg*) (T1_));
1574 	incCurrMem__system_3967(a, size);
1575 	(*result).next = ((tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg*) NIM_NIL);
1576 	(*result).prev = ((tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg*) NIM_NIL);
1577 	(*result).Sup.size = size;
1578 	(*result).Sup.prevSize = ((NI) 1);
1579 	T2_ = (NI)0;
1580 	T2_ = pageIndex__system_4420((*((tyObject_BaseChunk__Sdq7WpT6qAH858F5ZEdG3w**) (&(result)))));
1581 	incl__system_4255(a, (&(*a).chunkStarts), T2_);
1582 	return result;
1583 }
N_NIMCALL(tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw *,getBottom__system_4010)1584 N_LIB_PRIVATE N_NIMCALL(tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw*, getBottom__system_4010)(tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg* a) {
1585 	tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* result;
1586 	result = (tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw*)0;
1587 	result = (&(*a).bottomData);
1588 	{
1589 		if (!((*result).link[(((NI) 0))- 0] == ((tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw*) NIM_NIL))) goto LA3_;
1590 		(*result).link[(((NI) 0))- 0] = result;
1591 		(*result).link[(((NI) 1))- 0] = result;
1592 	}
1593 	LA3_: ;
1594 	return result;
1595 }
N_NIMCALL(tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw *,allocAvlNode__system_4026)1596 N_LIB_PRIVATE N_NIMCALL(tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw*, allocAvlNode__system_4026)(tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg* a, NI key, NI upperBound) {
1597 	tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* result;
1598 	tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* bottom;
1599 	result = (tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw*)0;
1600 	{
1601 		if (!!(((*a).freeAvlNodes == ((tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw*) NIM_NIL)))) goto LA3_;
1602 		result = (*a).freeAvlNodes;
1603 		(*a).freeAvlNodes = (*(*a).freeAvlNodes).link[(((NI) 0))- 0];
1604 	}
1605 	goto LA1_;
1606 	LA3_: ;
1607 	{
1608 		void* T6_;
1609 		T6_ = (void*)0;
1610 		T6_ = llAlloc__system_3984(a, ((NI) 20));
1611 		result = ((tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw*) (T6_));
1612 	}
1613 	LA1_: ;
1614 	(*result).key = key;
1615 	(*result).upperBound = upperBound;
1616 	bottom = getBottom__system_4010(a);
1617 	(*result).link[(((NI) 0))- 0] = bottom;
1618 	(*result).link[(((NI) 1))- 0] = bottom;
1619 	(*result).level = ((NI) 1);
1620 	return result;
1621 }
N_INLINE(NIM_BOOL,ltpercent___system_1005)1622 static N_INLINE(NIM_BOOL, ltpercent___system_1005)(NI x, NI y) {
1623 	NIM_BOOL result;
1624 	result = (NIM_BOOL)0;
1625 	result = ((NU32)(((NU) (x))) < (NU32)(((NU) (y))));
1626 	return result;
1627 }
N_NIMCALL(void,skew__system_4147)1628 N_LIB_PRIVATE N_NIMCALL(void, skew__system_4147)(tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw** t) {
1629 	{
1630 		tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* temp;
1631 		if (!((*(*(*t)).link[(((NI) 0))- 0]).level == (*(*t)).level)) goto LA3_;
1632 		temp = (*t);
1633 		(*t) = (*(*t)).link[(((NI) 0))- 0];
1634 		(*temp).link[(((NI) 0))- 0] = (*(*t)).link[(((NI) 1))- 0];
1635 		(*(*t)).link[(((NI) 1))- 0] = temp;
1636 	}
1637 	LA3_: ;
1638 }
N_NIMCALL(void,split__system_4150)1639 N_LIB_PRIVATE N_NIMCALL(void, split__system_4150)(tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw** t) {
1640 	{
1641 		tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* temp;
1642 		if (!((*(*(*(*t)).link[(((NI) 1))- 0]).link[(((NI) 1))- 0]).level == (*(*t)).level)) goto LA3_;
1643 		temp = (*t);
1644 		(*t) = (*(*t)).link[(((NI) 1))- 0];
1645 		(*temp).link[(((NI) 1))- 0] = (*(*t)).link[(((NI) 0))- 0];
1646 		(*(*t)).link[(((NI) 0))- 0] = temp;
1647 		(*(*t)).level += ((NI) 1);
1648 	}
1649 	LA3_: ;
1650 }
N_NIMCALL(void,add__system_4157)1651 N_LIB_PRIVATE N_NIMCALL(void, add__system_4157)(tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg* a, tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw** t, NI key, NI upperBound) {
1652 	{
1653 		if (!((*(*t)).link[(((NI) 0))- 0] == (*t))) goto LA3_;
1654 		(*t) = allocAvlNode__system_4026(a, key, upperBound);
1655 	}
1656 	goto LA1_;
1657 	LA3_: ;
1658 	{
1659 		{
1660 			NIM_BOOL T8_;
1661 			T8_ = (NIM_BOOL)0;
1662 			T8_ = ltpercent___system_1005(key, (*(*t)).key);
1663 			if (!T8_) goto LA9_;
1664 			add__system_4157(a, &(*(*t)).link[(((NI) 0))- 0], key, upperBound);
1665 		}
1666 		goto LA6_;
1667 		LA9_: ;
1668 		{
1669 			NIM_BOOL T12_;
1670 			T12_ = (NIM_BOOL)0;
1671 			T12_ = ltpercent___system_1005((*(*t)).key, key);
1672 			if (!T12_) goto LA13_;
1673 			add__system_4157(a, &(*(*t)).link[(((NI) 1))- 0], key, upperBound);
1674 		}
1675 		goto LA6_;
1676 		LA13_: ;
1677 		{
1678 		}
1679 		LA6_: ;
1680 		skew__system_4147(t);
1681 		split__system_4150(t);
1682 	}
1683 	LA1_: ;
1684 }
N_NIMCALL(void *,rawAlloc__system_4559)1685 N_LIB_PRIVATE N_NIMCALL(void*, rawAlloc__system_4559)(tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg* a, NI requestedSize) {
1686 	void* result;
1687 	NI size;
1688 	result = (void*)0;
1689 	size = roundup__system_3704(requestedSize, ((NI) 16));
1690 	{
1691 		NI s;
1692 		tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ* c;
1693 		if (!(size <= ((NI) 4064))) goto LA3_;
1694 		s = (NI)(size / ((NI) 16));
1695 		c = (*a).freeSmallChunks[(s)- 0];
1696 		{
1697 			if (!(c == ((tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ*) NIM_NIL))) goto LA7_;
1698 			c = getSmallChunk__system_4538(a);
1699 			(*c).freeList = ((tyObject_FreeCell__u6M5LHprqzkn9axr04yg9bGQ*) NIM_NIL);
1700 			(*c).Sup.size = size;
1701 			(*c).acc = size;
1702 			(*c).free = (NI)(((NI) 4064) - size);
1703 			(*c).next = ((tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ*) NIM_NIL);
1704 			(*c).prev = ((tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ*) NIM_NIL);
1705 			listAdd__system_4576(&(*a).freeSmallChunks[(s)- 0], c);
1706 			result = ((void*) ((*c).data));
1707 		}
1708 		goto LA5_;
1709 		LA7_: ;
1710 		{
1711 			{
1712 				NI T14_;
1713 				if (!((*c).freeList == ((tyObject_FreeCell__u6M5LHprqzkn9axr04yg9bGQ*) NIM_NIL))) goto LA12_;
1714 				T14_ = (NI)0;
1715 				T14_ = pluspercent___system_696(((NI) (ptrdiff_t) ((*c).data)), (*c).acc);
1716 				result = ((void*) (T14_));
1717 				(*c).acc += size;
1718 			}
1719 			goto LA10_;
1720 			LA12_: ;
1721 			{
1722 				result = ((void*) ((*c).freeList));
1723 				(*c).freeList = (*(*c).freeList).next;
1724 			}
1725 			LA10_: ;
1726 			(*c).free -= size;
1727 		}
1728 		LA5_: ;
1729 		{
1730 			if (!((*c).free < size)) goto LA18_;
1731 			listRemove__system_4629(&(*a).freeSmallChunks[(s)- 0], c);
1732 		}
1733 		LA18_: ;
1734 		(*a).occ += size;
1735 	}
1736 	goto LA1_;
1737 	LA3_: ;
1738 	{
1739 		tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* c_2;
1740 		NI T30_;
1741 		size = (NI)(requestedSize + ((NI) 16));
1742 		{
1743 			if (!(((NI) 1056964609) <= size)) goto LA23_;
1744 			c_2 = getHugeChunk__system_4530(a, size);
1745 		}
1746 		goto LA21_;
1747 		LA23_: ;
1748 		{
1749 			c_2 = getBigChunk__system_4515(a, size);
1750 		}
1751 		LA21_: ;
1752 		result = ((void*) ((*c_2).data));
1753 		{
1754 			if (!((*a).root == ((tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw*) NIM_NIL))) goto LA28_;
1755 			(*a).root = getBottom__system_4010(a);
1756 		}
1757 		LA28_: ;
1758 		T30_ = (NI)0;
1759 		T30_ = pluspercent___system_696(((NI) (ptrdiff_t) (result)), size);
1760 		add__system_4157(a, &(*a).root, ((NI) (ptrdiff_t) (result)), T30_);
1761 		(*a).occ += (*c_2).Sup.size;
1762 	}
1763 	LA1_: ;
1764 	return result;
1765 }
N_NIMCALL(void *,alloc__system_4775)1766 N_LIB_PRIVATE N_NIMCALL(void*, alloc__system_4775)(tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg* allocator, NI size) {
1767 	void* result;
1768 	NI T1_;
1769 	result = (void*)0;
1770 	result = rawAlloc__system_4559(allocator, (NI)(((NI) (size)) + ((NI) 8)));
1771 	(*((tyObject_FreeCell__u6M5LHprqzkn9axr04yg9bGQ*) (result))).zeroField = ((NI) 1);
1772 	T1_ = (NI)0;
1773 	T1_ = pluspercent___system_696(((NI) (ptrdiff_t) (result)), ((NI) 8));
1774 	result = ((void*) (T1_));
1775 	return result;
1776 }
N_NIMCALL(void *,alloc0__system_4779)1777 N_LIB_PRIVATE N_NIMCALL(void*, alloc0__system_4779)(tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg* allocator, NI size) {
1778 	void* result;
1779 	result = (void*)0;
1780 	result = alloc__system_4775(allocator, size);
1781 	zeroMem__system_1724(result, size);
1782 	return result;
1783 }
N_NOCONV(void *,alloc0Impl__system_1745)1784 N_LIB_PRIVATE N_NOCONV(void*, alloc0Impl__system_1745)(NI size) {
1785 	void* result;
1786 	result = (void*)0;
1787 	result = alloc0__system_4779((&gch__system_5217.region), size);
1788 	return result;
1789 }
N_NIMCALL(void,init__system_4885)1790 N_LIB_PRIVATE N_NIMCALL(void, init__system_4885)(tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w* s, NI cap) {
1791 	void* T1_;
1792 	(*s).len = ((NI) 0);
1793 	(*s).cap = cap;
1794 	T1_ = (void*)0;
1795 	T1_ = alloc0Impl__system_1745(((NI) ((NI)(cap * ((NI) 4)))));
1796 	(*s).d = ((tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g**) (T1_));
1797 }
N_NIMCALL(void,init__system_4891)1798 N_LIB_PRIVATE N_NIMCALL(void, init__system_4891)(tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ* s) {
1799 	void* T1_;
1800 	T1_ = (void*)0;
1801 	T1_ = alloc0Impl__system_1745(((NI) 4096));
1802 	(*s).data = ((tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg**) (T1_));
1803 	(*s).max = ((NI) 1023);
1804 	(*s).counter = ((NI) 0);
1805 	(*s).head = ((tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg*) NIM_NIL);
1806 }
N_INLINE(NI,atomicInc__system_2172)1807 static N_INLINE(NI, atomicInc__system_2172)(NI* memLoc, NI x) {
1808 	NI result;
1809 	result = (NI)0;
1810 	(*memLoc) += x;
1811 	result = (*memLoc);
1812 	return result;
1813 }
N_NIMCALL(void,initGC__system_2398)1814 N_LIB_PRIVATE N_NIMCALL(void, initGC__system_2398)(void) {
1815 	NI T1_;
1816 	gch__system_5217.cycleThreshold = ((NI) 4194304);
1817 	gch__system_5217.zctThreshold = ((NI) 500);
1818 	gch__system_5217.stat.stackScans = ((NI) 0);
1819 	gch__system_5217.stat.cycleCollections = ((NI) 0);
1820 	gch__system_5217.stat.maxThreshold = ((NI) 0);
1821 	gch__system_5217.stat.maxStackSize = ((NI) 0);
1822 	gch__system_5217.stat.maxStackCells = ((NI) 0);
1823 	gch__system_5217.stat.cycleTableSize = ((NI) 0);
1824 	init__system_4885((&gch__system_5217.zct), ((NI) 1024));
1825 	init__system_4885((&gch__system_5217.tempStack), ((NI) 1024));
1826 	init__system_4885((&gch__system_5217.decStack), ((NI) 1024));
1827 	init__system_4891((&gch__system_5217.marked));
1828 	init__system_4885((&gch__system_5217.additionalRoots), ((NI) 1024));
1829 	T1_ = (NI)0;
1830 	T1_ = atomicInc__system_2172((&gHeapidGenerator__system_5484), ((NI) 1));
1831 	gch__system_5217.gcThreadId = (NI)(T1_ - ((NI) 1));
1832 }
N_NIMCALL(void,Marker_tySequence__uB9b75OUPRENsBAu4AnoePA)1833 static N_NIMCALL(void, Marker_tySequence__uB9b75OUPRENsBAu4AnoePA)(void* p, NI op) {
1834 	tySequence__uB9b75OUPRENsBAu4AnoePA* a;
1835 	NI T1_;
1836 	a = (tySequence__uB9b75OUPRENsBAu4AnoePA*)p;
1837 	T1_ = (NI)0;
1838 }
N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g *,usrToCell__system_5270)1839 static N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*, usrToCell__system_5270)(void* usr) {
1840 	tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* result;
1841 	NI T1_;
1842 	result = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
1843 	T1_ = (NI)0;
1844 	T1_ = minuspercent___system_716(((NI) (ptrdiff_t) (usr)), ((NI) 8));
1845 	result = ((tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*) (T1_));
1846 	return result;
1847 }
N_NOCONV(void *,allocImpl__system_1743)1848 N_LIB_PRIVATE N_NOCONV(void*, allocImpl__system_1743)(NI size) {
1849 	void* result;
1850 	result = (void*)0;
1851 	result = alloc__system_4775((&gch__system_5217.region), size);
1852 	return result;
1853 }
N_INLINE(void,nimCopyMem)1854 static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size) {
1855 	void* T1_;
1856 	T1_ = (void*)0;
1857 	T1_ = memcpy(dest, source, ((size_t) (size)));
1858 }
N_INLINE(void,copyMem__system_1727)1859 static N_INLINE(void, copyMem__system_1727)(void* dest, void* source, NI size) {
1860 	nimCopyMem(dest, source, size);
1861 }
N_INLINE(tyObject_BaseChunk__Sdq7WpT6qAH858F5ZEdG3w *,pageAddr__system_4434)1862 static N_INLINE(tyObject_BaseChunk__Sdq7WpT6qAH858F5ZEdG3w*, pageAddr__system_4434)(void* p) {
1863 	tyObject_BaseChunk__Sdq7WpT6qAH858F5ZEdG3w* result;
1864 	result = (tyObject_BaseChunk__Sdq7WpT6qAH858F5ZEdG3w*)0;
1865 	result = ((tyObject_BaseChunk__Sdq7WpT6qAH858F5ZEdG3w*) ((NI)(((NI) (ptrdiff_t) (p)) & ((NI) -4096))));
1866 	return result;
1867 }
N_INLINE(NIM_BOOL,isSmallChunk__system_4345)1868 static N_INLINE(NIM_BOOL, isSmallChunk__system_4345)(tyObject_BaseChunk__Sdq7WpT6qAH858F5ZEdG3w* c) {
1869 	NIM_BOOL result;
1870 	result = (NIM_BOOL)0;
1871 	result = ((*c).size <= ((NI) 4064));
1872 	return result;
1873 }
N_INLINE(NIM_BOOL,chunkUnused__system_4351)1874 static N_INLINE(NIM_BOOL, chunkUnused__system_4351)(tyObject_BaseChunk__Sdq7WpT6qAH858F5ZEdG3w* c) {
1875 	NIM_BOOL result;
1876 	result = (NIM_BOOL)0;
1877 	result = ((NI)((*c).prevSize & ((NI) 1)) == ((NI) 0));
1878 	return result;
1879 }
N_NIMCALL(void,removeChunkFromMatrix__system_3919)1880 N_LIB_PRIVATE N_NIMCALL(void, removeChunkFromMatrix__system_3919)(tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg* a, tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* b) {
1881 	tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ T1_;
1882 	NI fl;
1883 	NI sl;
1884 	T1_ = mappingInsert__system_3870((*b).Sup.size);
1885 	fl = T1_.Field0;
1886 	sl = T1_.Field1;
1887 	{
1888 		if (!!(((*b).next == ((tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg*) NIM_NIL)))) goto LA4_;
1889 		(*(*b).next).prev = (*b).prev;
1890 	}
1891 	LA4_: ;
1892 	{
1893 		if (!!(((*b).prev == ((tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg*) NIM_NIL)))) goto LA8_;
1894 		(*(*b).prev).next = (*b).next;
1895 	}
1896 	LA8_: ;
1897 	{
1898 		if (!((*a).matrix[(fl)- 0][(sl)- 0] == b)) goto LA12_;
1899 		(*a).matrix[(fl)- 0][(sl)- 0] = (*b).next;
1900 		{
1901 			if (!((*a).matrix[(fl)- 0][(sl)- 0] == ((tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg*) NIM_NIL))) goto LA16_;
1902 			clearBit__system_3845(sl, (&(*a).slBitmap[(fl)- 0]));
1903 			{
1904 				if (!((*a).slBitmap[(fl)- 0] == ((NU32) 0))) goto LA20_;
1905 				clearBit__system_3845(fl, (&(*a).flBitmap));
1906 			}
1907 			LA20_: ;
1908 		}
1909 		LA16_: ;
1910 	}
1911 	LA12_: ;
1912 	(*b).prev = ((tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg*) NIM_NIL);
1913 	(*b).next = ((tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg*) NIM_NIL);
1914 }
N_NIMCALL(void,excl__system_4277)1915 N_LIB_PRIVATE N_NIMCALL(void, excl__system_4277)(tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA* s, NI key) {
1916 	tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw* t;
1917 	t = intSetGet__system_4194((&(*s)), (NI)((NI32)(key) >> (NU32)(((NI) 9))));
1918 	{
1919 		NI u;
1920 		if (!!((t == ((tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw*) NIM_NIL)))) goto LA3_;
1921 		u = (NI)(key & ((NI) 511));
1922 		(*t).bits[((NI)((NI32)(u) >> (NU32)(((NI) 5))))- 0] = (NU)((*t).bits[((NI)((NI32)(u) >> (NU32)(((NI) 5))))- 0] & (NU)((NU32) ~((NU)((NU32)(((NU) 1)) << (NU32)((NI)(u & ((NI) 31)))))));
1923 	}
1924 	LA3_: ;
1925 }
N_NIMCALL(void,freeBigChunk__system_4494)1926 N_LIB_PRIVATE N_NIMCALL(void, freeBigChunk__system_4494)(tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg* a, tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* c) {
1927 	tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* c_2;
1928 	NI prevSize;
1929 	tyObject_BaseChunk__Sdq7WpT6qAH858F5ZEdG3w* ri;
1930 	NI T24_;
1931 	c_2 = c;
1932 	(*a).freeMem += (*c_2).Sup.size;
1933 	(*c_2).Sup.prevSize = (NI)((*c_2).Sup.prevSize & ((NI) -2));
1934 	prevSize = (*c_2).Sup.prevSize;
1935 	{
1936 		tyObject_BaseChunk__Sdq7WpT6qAH858F5ZEdG3w* le;
1937 		NI T5_;
1938 		if (!!((prevSize == ((NI) 0)))) goto LA3_;
1939 		T5_ = (NI)0;
1940 		T5_ = minuspercent___system_716(((NI) (ptrdiff_t) (c_2)), prevSize);
1941 		le = ((tyObject_BaseChunk__Sdq7WpT6qAH858F5ZEdG3w*) (T5_));
1942 		{
1943 			NIM_BOOL T8_;
1944 			T8_ = (NIM_BOOL)0;
1945 			T8_ = isAccessible__system_4461((&(*a)), ((void*) (le)));
1946 			if (!(T8_)) goto LA9_;
1947 			T8_ = chunkUnused__system_4351(le);
1948 			LA9_: ;
1949 			if (!T8_) goto LA10_;
1950 			{
1951 				NIM_BOOL T14_;
1952 				NIM_BOOL T15_;
1953 				NI T19_;
1954 				T14_ = (NIM_BOOL)0;
1955 				T15_ = (NIM_BOOL)0;
1956 				T15_ = isSmallChunk__system_4345(le);
1957 				T14_ = !(T15_);
1958 				if (!(T14_)) goto LA16_;
1959 				T14_ = ((*le).size < ((NI) 1056964608));
1960 				LA16_: ;
1961 				if (!T14_) goto LA17_;
1962 				removeChunkFromMatrix__system_3919(a, ((tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg*) (le)));
1963 				(*le).size += (*c_2).Sup.size;
1964 				T19_ = (NI)0;
1965 				T19_ = pageIndex__system_4420((*((tyObject_BaseChunk__Sdq7WpT6qAH858F5ZEdG3w**) (&(c_2)))));
1966 				excl__system_4277((&(*a).chunkStarts), T19_);
1967 				c_2 = ((tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg*) (le));
1968 				{
1969 					tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* rest;
1970 					if (!(((NI) 1056964608) < (*c_2).Sup.size)) goto LA22_;
1971 					rest = splitChunk2__system_4484(a, c_2, ((NI) 1056964608));
1972 					addChunkToMatrix__system_3958(a, c_2);
1973 					c_2 = rest;
1974 				}
1975 				LA22_: ;
1976 			}
1977 			LA17_: ;
1978 		}
1979 		LA10_: ;
1980 	}
1981 	LA3_: ;
1982 	T24_ = (NI)0;
1983 	T24_ = pluspercent___system_696(((NI) (ptrdiff_t) (c_2)), (*c_2).Sup.size);
1984 	ri = ((tyObject_BaseChunk__Sdq7WpT6qAH858F5ZEdG3w*) (T24_));
1985 	{
1986 		NIM_BOOL T27_;
1987 		T27_ = (NIM_BOOL)0;
1988 		T27_ = isAccessible__system_4461((&(*a)), ((void*) (ri)));
1989 		if (!(T27_)) goto LA28_;
1990 		T27_ = chunkUnused__system_4351(ri);
1991 		LA28_: ;
1992 		if (!T27_) goto LA29_;
1993 		{
1994 			NIM_BOOL T33_;
1995 			NIM_BOOL T34_;
1996 			NI T38_;
1997 			T33_ = (NIM_BOOL)0;
1998 			T34_ = (NIM_BOOL)0;
1999 			T34_ = isSmallChunk__system_4345(ri);
2000 			T33_ = !(T34_);
2001 			if (!(T33_)) goto LA35_;
2002 			T33_ = ((*c_2).Sup.size < ((NI) 1056964608));
2003 			LA35_: ;
2004 			if (!T33_) goto LA36_;
2005 			removeChunkFromMatrix__system_3919(a, ((tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg*) (ri)));
2006 			(*c_2).Sup.size += (*ri).size;
2007 			T38_ = (NI)0;
2008 			T38_ = pageIndex__system_4420(ri);
2009 			excl__system_4277((&(*a).chunkStarts), T38_);
2010 			{
2011 				tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* rest_2;
2012 				if (!(((NI) 1056964608) < (*c_2).Sup.size)) goto LA41_;
2013 				rest_2 = splitChunk2__system_4484(a, c_2, ((NI) 1056964608));
2014 				addChunkToMatrix__system_3958(a, rest_2);
2015 			}
2016 			LA41_: ;
2017 		}
2018 		LA36_: ;
2019 	}
2020 	LA29_: ;
2021 	addChunkToMatrix__system_3958(a, c_2);
2022 }
N_INLINE(void,deallocAvlNode__system_4048)2023 static N_INLINE(void, deallocAvlNode__system_4048)(tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg* a, tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* n) {
2024 	(*n).link[(((NI) 0))- 0] = (*a).freeAvlNodes;
2025 	(*a).freeAvlNodes = n;
2026 }
N_NIMCALL(void,del__system_4166)2027 N_LIB_PRIVATE N_NIMCALL(void, del__system_4166)(tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg* a, tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw** t, NI x) {
2028 {	{
2029 		if (!((*(*t)).link[(((NI) 0))- 0] == (*t))) goto LA3_;
2030 		goto BeforeRet_;
2031 	}
2032 	LA3_: ;
2033 	(*a).last = (*t);
2034 	{
2035 		NIM_BOOL T7_;
2036 		T7_ = (NIM_BOOL)0;
2037 		T7_ = ltpercent___system_1005(x, (*(*t)).key);
2038 		if (!T7_) goto LA8_;
2039 		del__system_4166(a, &(*(*t)).link[(((NI) 0))- 0], x);
2040 	}
2041 	goto LA5_;
2042 	LA8_: ;
2043 	{
2044 		(*a).deleted = (*t);
2045 		del__system_4166(a, &(*(*t)).link[(((NI) 1))- 0], x);
2046 	}
2047 	LA5_: ;
2048 	{
2049 		NIM_BOOL T13_;
2050 		NIM_BOOL T14_;
2051 		T13_ = (NIM_BOOL)0;
2052 		T14_ = (NIM_BOOL)0;
2053 		T14_ = ((*t) == (*a).last);
2054 		if (!(T14_)) goto LA15_;
2055 		T14_ = !(((*(*a).deleted).link[(((NI) 0))- 0] == (*a).deleted));
2056 		LA15_: ;
2057 		T13_ = T14_;
2058 		if (!(T13_)) goto LA16_;
2059 		T13_ = (x == (*(*a).deleted).key);
2060 		LA16_: ;
2061 		if (!T13_) goto LA17_;
2062 		(*(*a).deleted).key = (*(*t)).key;
2063 		(*(*a).deleted).upperBound = (*(*t)).upperBound;
2064 		(*a).deleted = getBottom__system_4010(a);
2065 		(*t) = (*(*t)).link[(((NI) 1))- 0];
2066 		deallocAvlNode__system_4048(a, (*a).last);
2067 	}
2068 	goto LA11_;
2069 	LA17_: ;
2070 	{
2071 		NIM_BOOL T20_;
2072 		T20_ = (NIM_BOOL)0;
2073 		T20_ = ((*(*(*t)).link[(((NI) 0))- 0]).level < (NI)((*(*t)).level - ((NI) 1)));
2074 		if (T20_) goto LA21_;
2075 		T20_ = ((*(*(*t)).link[(((NI) 1))- 0]).level < (NI)((*(*t)).level - ((NI) 1)));
2076 		LA21_: ;
2077 		if (!T20_) goto LA22_;
2078 		(*(*t)).level -= ((NI) 1);
2079 		{
2080 			if (!((*(*t)).level < (*(*(*t)).link[(((NI) 1))- 0]).level)) goto LA26_;
2081 			(*(*(*t)).link[(((NI) 1))- 0]).level = (*(*t)).level;
2082 		}
2083 		LA26_: ;
2084 		skew__system_4147(t);
2085 		skew__system_4147(&(*(*t)).link[(((NI) 1))- 0]);
2086 		skew__system_4147(&(*(*(*t)).link[(((NI) 1))- 0]).link[(((NI) 1))- 0]);
2087 		split__system_4150(t);
2088 		split__system_4150(&(*(*t)).link[(((NI) 1))- 0]);
2089 	}
2090 	goto LA11_;
2091 	LA22_: ;
2092 	LA11_: ;
2093 	}BeforeRet_: ;
2094 }
N_INLINE(void,decCurrMem__system_3974)2095 static N_INLINE(void, decCurrMem__system_3974)(tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg* a, NI bytes) {
2096 	(*a).maxMem = (((*a).maxMem >= (*a).currMem) ? (*a).maxMem : (*a).currMem);
2097 	(*a).currMem -= bytes;
2098 }
N_INLINE(void,osDeallocPages__system_3730)2099 static N_INLINE(void, osDeallocPages__system_3730)(void* p, NI size) {
2100 	int T1_;
2101 	T1_ = (int)0;
2102 	T1_ = munmap(p, ((size_t) (size)));
2103 	(void)(T1_);
2104 }
N_NIMCALL(void,freeHugeChunk__system_4534)2105 N_LIB_PRIVATE N_NIMCALL(void, freeHugeChunk__system_4534)(tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg* a, tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* c) {
2106 	NI size;
2107 	NI T1_;
2108 	size = (*c).Sup.size;
2109 	T1_ = (NI)0;
2110 	T1_ = pageIndex__system_4420(&c->Sup);
2111 	excl__system_4277((&(*a).chunkStarts), T1_);
2112 	decCurrMem__system_3974(a, size);
2113 	osDeallocPages__system_3730(((void*) (c)), size);
2114 }
N_NIMCALL(void,rawDealloc__system_4688)2115 N_LIB_PRIVATE N_NIMCALL(void, rawDealloc__system_4688)(tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg* a, void* p) {
2116 	tyObject_BaseChunk__Sdq7WpT6qAH858F5ZEdG3w* c;
2117 	c = pageAddr__system_4434(p);
2118 	{
2119 		NIM_BOOL T3_;
2120 		tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ* c_2;
2121 		NI s;
2122 		tyObject_FreeCell__u6M5LHprqzkn9axr04yg9bGQ* f;
2123 		T3_ = (NIM_BOOL)0;
2124 		T3_ = isSmallChunk__system_4345(c);
2125 		if (!T3_) goto LA4_;
2126 		c_2 = ((tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ*) (c));
2127 		s = (*c_2).Sup.size;
2128 		(*a).occ -= s;
2129 		f = ((tyObject_FreeCell__u6M5LHprqzkn9axr04yg9bGQ*) (p));
2130 		(*f).zeroField = ((NI) 0);
2131 		(*f).next = (*c_2).freeList;
2132 		(*c_2).freeList = f;
2133 		{
2134 			if (!((*c_2).free < s)) goto LA8_;
2135 			listAdd__system_4576(&(*a).freeSmallChunks[((NI)(s / ((NI) 16)))- 0], c_2);
2136 			(*c_2).free += s;
2137 		}
2138 		goto LA6_;
2139 		LA8_: ;
2140 		{
2141 			(*c_2).free += s;
2142 			{
2143 				if (!((*c_2).free == ((NI) 4064))) goto LA13_;
2144 				listRemove__system_4629(&(*a).freeSmallChunks[((NI)(s / ((NI) 16)))- 0], c_2);
2145 				(*c_2).Sup.size = ((NI) 4096);
2146 				freeBigChunk__system_4494(a, ((tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg*) (c_2)));
2147 			}
2148 			LA13_: ;
2149 		}
2150 		LA6_: ;
2151 	}
2152 	goto LA1_;
2153 	LA4_: ;
2154 	{
2155 		tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* c_3;
2156 		c_3 = ((tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg*) (c));
2157 		(*a).occ -= (*c_3).Sup.size;
2158 		(*a).deleted = getBottom__system_4010(a);
2159 		del__system_4166(a, &(*a).root, ((NI) (ptrdiff_t) ((*c_3).data)));
2160 		{
2161 			if (!(((NI) 1056964609) <= (*c_3).Sup.size)) goto LA18_;
2162 			freeHugeChunk__system_4534(a, c_3);
2163 		}
2164 		goto LA16_;
2165 		LA18_: ;
2166 		{
2167 			freeBigChunk__system_4494(a, c_3);
2168 		}
2169 		LA16_: ;
2170 	}
2171 	LA1_: ;
2172 }
N_NIMCALL(void,dealloc__system_4783)2173 N_LIB_PRIVATE N_NIMCALL(void, dealloc__system_4783)(tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg* allocator, void* p) {
2174 	void* x;
2175 	NI T1_;
2176 	T1_ = (NI)0;
2177 	T1_ = minuspercent___system_716(((NI) (ptrdiff_t) (p)), ((NI) 8));
2178 	x = ((void*) (T1_));
2179 	rawDealloc__system_4688(allocator, x);
2180 }
N_NOCONV(void,deallocImpl__system_1747)2181 N_LIB_PRIVATE N_NOCONV(void, deallocImpl__system_1747)(void* p) {
2182 	dealloc__system_4783((&gch__system_5217.region), p);
2183 }
N_NOCONV(void,dealloc)2184 N_LIB_PRIVATE N_NOCONV(void, dealloc)(void* p) {
2185 	deallocImpl__system_1747(p);
2186 }
N_INLINE(void,add__system_4859)2187 static N_INLINE(void, add__system_4859)(tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w* s, tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
2188 	{
2189 		tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g** d;
2190 		void* T5_;
2191 		if (!((*s).cap <= (*s).len)) goto LA3_;
2192 		(*s).cap = (NI)((NI)((*s).cap * ((NI) 3)) / ((NI) 2));
2193 		T5_ = (void*)0;
2194 		T5_ = allocImpl__system_1743(((NI) ((NI)((*s).cap * ((NI) 4)))));
2195 		d = ((tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g**) (T5_));
2196 		copyMem__system_1727(((void*) (d)), ((void*) ((*s).d)), ((NI) ((NI)((*s).len * ((NI) 4)))));
2197 		dealloc(((void*) ((*s).d)));
2198 		(*s).d = d;
2199 	}
2200 	LA3_: ;
2201 	(*s).d[(*s).len] = c;
2202 	(*s).len += ((NI) 1);
2203 }
N_NOINLINE(void,addZCT__system_5264)2204 N_LIB_PRIVATE N_NOINLINE(void, addZCT__system_5264)(tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w* s, tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
2205 	{
2206 		if (!((NI)((*c).refcount & ((NI) 4)) == ((NI) 0))) goto LA3_;
2207 		(*c).refcount = (NI)((*c).refcount | ((NI) 4));
2208 		add__system_4859(s, c);
2209 	}
2210 	LA3_: ;
2211 }
N_INLINE(void,rtlAddZCT__system_5313)2212 static N_INLINE(void, rtlAddZCT__system_5313)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
2213 	addZCT__system_5264((&gch__system_5217.zct), c);
2214 }
N_INLINE(void,decRef__system_5315)2215 static N_INLINE(void, decRef__system_5315)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
2216 	(*c).refcount = minuspercent___system_716((*c).refcount, ((NI) 8));
2217 	{
2218 		NIM_BOOL T3_;
2219 		T3_ = (NIM_BOOL)0;
2220 		T3_ = ltpercent___system_1005((*c).refcount, ((NI) 8));
2221 		if (!T3_) goto LA4_;
2222 		rtlAddZCT__system_5313(c);
2223 	}
2224 	LA4_: ;
2225 }
N_INLINE(NI,nextTry__system_4919)2226 static N_INLINE(NI, nextTry__system_4919)(NI h, NI maxHash) {
2227 	NI result;
2228 	result = (NI)0;
2229 	result = (NI)((NI)((NI)(((NI) 5) * h) + ((NI) 1)) & maxHash);
2230 	return result;
2231 }
N_NIMCALL(void,cellSetRawInsert__system_4932)2232 N_LIB_PRIVATE N_NIMCALL(void, cellSetRawInsert__system_4932)(tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ t, tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg** data, tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg* desc) {
2233 	NI h;
2234 	h = (NI)(((NI) ((*desc).key)) & t.max);
2235 	{
2236 		while (1) {
2237 			if (!!((data[h] == ((tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg*) NIM_NIL)))) goto LA2;
2238 			h = nextTry__system_4919(h, t.max);
2239 		} LA2: ;
2240 	}
2241 	data[h] = desc;
2242 }
N_NIMCALL(void,cellSetEnlarge__system_4949)2243 N_LIB_PRIVATE N_NIMCALL(void, cellSetEnlarge__system_4949)(tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ* t) {
2244 	NI oldMax;
2245 	tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg** n;
2246 	void* T1_;
2247 	oldMax = (*t).max;
2248 	(*t).max = (NI)((NI)((NI)((*t).max + ((NI) 1)) * ((NI) 2)) - ((NI) 1));
2249 	T1_ = (void*)0;
2250 	T1_ = alloc0Impl__system_1745(((NI) ((NI)((NI)((*t).max + ((NI) 1)) * ((NI) 4)))));
2251 	n = ((tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg**) (T1_));
2252 	{
2253 		NI i;
2254 		NI res;
2255 		i = (NI)0;
2256 		res = ((NI) 0);
2257 		{
2258 			while (1) {
2259 				if (!(res <= oldMax)) goto LA4;
2260 				i = res;
2261 				{
2262 					if (!!(((*t).data[i] == ((tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg*) NIM_NIL)))) goto LA7_;
2263 					cellSetRawInsert__system_4932((*t), n, (*t).data[i]);
2264 				}
2265 				LA7_: ;
2266 				res += ((NI) 1);
2267 			} LA4: ;
2268 		}
2269 	}
2270 	dealloc(((void*) ((*t).data)));
2271 	(*t).data = n;
2272 }
N_NIMCALL(tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg *,cellSetPut__system_4962)2273 N_LIB_PRIVATE N_NIMCALL(tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg*, cellSetPut__system_4962)(tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ* t, NU key) {
2274 	tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg* result;
2275 	NI h;
2276 	void* T19_;
2277 {	result = (tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg*)0;
2278 	h = (NI)(((NI) (key)) & (*t).max);
2279 	{
2280 		while (1) {
2281 			tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg* x;
2282 			x = (*t).data[h];
2283 			{
2284 				if (!(x == ((tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg*) NIM_NIL))) goto LA5_;
2285 				goto LA1;
2286 			}
2287 			LA5_: ;
2288 			{
2289 				if (!((*x).key == key)) goto LA9_;
2290 				result = x;
2291 				goto BeforeRet_;
2292 			}
2293 			LA9_: ;
2294 			h = nextTry__system_4919(h, (*t).max);
2295 		}
2296 	} LA1: ;
2297 	{
2298 		NIM_BOOL T13_;
2299 		T13_ = (NIM_BOOL)0;
2300 		T13_ = ((NI)((NI)((*t).max + ((NI) 1)) * ((NI) 2)) < (NI)((*t).counter * ((NI) 3)));
2301 		if (T13_) goto LA14_;
2302 		T13_ = ((NI)((NI)((*t).max + ((NI) 1)) - (*t).counter) < ((NI) 4));
2303 		LA14_: ;
2304 		if (!T13_) goto LA15_;
2305 		cellSetEnlarge__system_4949(t);
2306 	}
2307 	LA15_: ;
2308 	(*t).counter += ((NI) 1);
2309 	h = (NI)(((NI) (key)) & (*t).max);
2310 	{
2311 		while (1) {
2312 			if (!!(((*t).data[h] == ((tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg*) NIM_NIL)))) goto LA18;
2313 			h = nextTry__system_4919(h, (*t).max);
2314 		} LA18: ;
2315 	}
2316 	T19_ = (void*)0;
2317 	T19_ = alloc0Impl__system_1745(((NI) 40));
2318 	result = ((tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg*) (T19_));
2319 	(*result).next = (*t).head;
2320 	(*result).key = key;
2321 	(*t).head = result;
2322 	(*t).data[h] = result;
2323 	}BeforeRet_: ;
2324 	return result;
2325 }
N_NIMCALL(void,incl__system_5016)2326 N_LIB_PRIVATE N_NIMCALL(void, incl__system_5016)(tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ* s, tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* cell) {
2327 	NU u;
2328 	tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg* t;
2329 	u = ((NU) (ptrdiff_t) (cell));
2330 	t = cellSetPut__system_4962(s, (NU)((NU32)(u) >> (NU32)(((NI) 12))));
2331 	u = (NU)((NU32)((NU)((NU32)(u) % (NU32)(((NU) 4096)))) / (NU32)(((NU) 16)));
2332 	(*t).bits[((NU)((NU32)(u) >> (NU32)(((NI) 5))))- 0] = (NI)((*t).bits[((NU)((NU32)(u) >> (NU32)(((NI) 5))))- 0] | (NI)((NU32)(((NI) 1)) << (NU32)((NU)(u & ((NU) 31)))));
2333 }
N_INLINE(void *,cellToUsr__system_5267)2334 static N_INLINE(void*, cellToUsr__system_5267)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* cell) {
2335 	void* result;
2336 	NI T1_;
2337 	result = (void*)0;
2338 	T1_ = (NI)0;
2339 	T1_ = pluspercent___system_696(((NI) (ptrdiff_t) (cell)), ((NI) 8));
2340 	result = ((void*) (T1_));
2341 	return result;
2342 }
N_NIMCALL(NU,getDiscriminant__system_3633)2343 N_LIB_PRIVATE N_NIMCALL(NU, getDiscriminant__system_3633)(void* aa, TNimNode* n) {
2344 	NU result;
2345 	NU d;
2346 	NU a;
2347 {	result = (NU)0;
2348 	d = (NU)0;
2349 	a = ((NU) (ptrdiff_t) (aa));
2350 	switch ((*(*n).typ).size) {
2351 	case ((NI) 1):
2352 	{
2353 		d = ((NU) ((*((NU8*) ((NU)((NU32)(a) + (NU32)(((NU) ((*n).offset)))))))));
2354 	}
2355 	break;
2356 	case ((NI) 2):
2357 	{
2358 		d = ((NU) ((*((NU16*) ((NU)((NU32)(a) + (NU32)(((NU) ((*n).offset)))))))));
2359 	}
2360 	break;
2361 	case ((NI) 4):
2362 	{
2363 		d = ((NU) ((*((NU32*) ((NU)((NU32)(a) + (NU32)(((NU) ((*n).offset)))))))));
2364 	}
2365 	break;
2366 	case ((NI) 8):
2367 	{
2368 		d = ((NU) ((*((NU64*) ((NU)((NU32)(a) + (NU32)(((NU) ((*n).offset)))))))));
2369 	}
2370 	break;
2371 	default:
2372 	{
2373 		d = ((NU) 0);
2374 	}
2375 	break;
2376 	}
2377 	result = d;
2378 	goto BeforeRet_;
2379 	}BeforeRet_: ;
2380 	return result;
2381 }
N_NIMCALL(TNimNode *,selectBranch__system_3653)2382 N_LIB_PRIVATE N_NIMCALL(TNimNode*, selectBranch__system_3653)(void* aa, TNimNode* n) {
2383 	TNimNode* result;
2384 	NU discr;
2385 	result = (TNimNode*)0;
2386 	discr = getDiscriminant__system_3633(aa, n);
2387 	{
2388 		if (!((NU32)(discr) < (NU32)(((NU) ((*n).len))))) goto LA3_;
2389 		result = (*n).sons[(discr)- 0];
2390 		{
2391 			if (!(result == ((TNimNode*) NIM_NIL))) goto LA7_;
2392 			result = (*n).sons[((*n).len)- 0];
2393 		}
2394 		LA7_: ;
2395 	}
2396 	goto LA1_;
2397 	LA3_: ;
2398 	{
2399 		result = (*n).sons[((*n).len)- 0];
2400 	}
2401 	LA1_: ;
2402 	return result;
2403 }
N_NIMCALL(void,forAllSlotsAux__system_5535)2404 N_LIB_PRIVATE N_NIMCALL(void, forAllSlotsAux__system_5535)(void* dest, TNimNode* n, tyEnum_WalkOp__Wfy7gT5VQ8B3aJBxqU8D9cQ op) {
2405 	NI d;
2406 	d = ((NI) (ptrdiff_t) (dest));
2407 	switch ((*n).kind) {
2408 	case ((tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ) 1):
2409 	{
2410 		NI T2_;
2411 		T2_ = (NI)0;
2412 		T2_ = pluspercent___system_696(d, (*n).offset);
2413 		forAllChildrenAux__system_5304(((void*) (T2_)), (*n).typ, op);
2414 	}
2415 	break;
2416 	case ((tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ) 2):
2417 	{
2418 		{
2419 			NI i;
2420 			NI colontmp_;
2421 			NI res;
2422 			i = (NI)0;
2423 			colontmp_ = (NI)0;
2424 			colontmp_ = (NI)((*n).len - ((NI) 1));
2425 			res = ((NI) 0);
2426 			{
2427 				while (1) {
2428 					if (!(res <= colontmp_)) goto LA6;
2429 					i = res;
2430 					{
2431 						if (!((*(*n).sons[(i)- 0]).kind == ((tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ) 1))) goto LA9_;
2432 						{
2433 							NI T15_;
2434 							if (!((*(*(*n).sons[(i)- 0]).typ).kind == ((tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A) 22) || (*(*(*n).sons[(i)- 0]).typ).kind == ((tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A) 28) || (*(*(*n).sons[(i)- 0]).typ).kind == ((tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A) 24))) goto LA13_;
2435 							T15_ = (NI)0;
2436 							T15_ = pluspercent___system_696(d, (*(*n).sons[(i)- 0]).offset);
2437 							doOperation__system_5301((*((void**) (T15_))), op);
2438 						}
2439 						goto LA11_;
2440 						LA13_: ;
2441 						{
2442 							NI T17_;
2443 							T17_ = (NI)0;
2444 							T17_ = pluspercent___system_696(d, (*(*n).sons[(i)- 0]).offset);
2445 							forAllChildrenAux__system_5304(((void*) (T17_)), (*(*n).sons[(i)- 0]).typ, op);
2446 						}
2447 						LA11_: ;
2448 					}
2449 					goto LA7_;
2450 					LA9_: ;
2451 					{
2452 						forAllSlotsAux__system_5535(dest, (*n).sons[(i)- 0], op);
2453 					}
2454 					LA7_: ;
2455 					res += ((NI) 1);
2456 				} LA6: ;
2457 			}
2458 		}
2459 	}
2460 	break;
2461 	case ((tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ) 3):
2462 	{
2463 		TNimNode* m;
2464 		m = selectBranch__system_3653(dest, n);
2465 		{
2466 			if (!!((m == ((TNimNode*) NIM_NIL)))) goto LA22_;
2467 			forAllSlotsAux__system_5535(dest, m, op);
2468 		}
2469 		LA22_: ;
2470 	}
2471 	break;
2472 	case ((tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ) 0):
2473 	{
2474 	}
2475 	break;
2476 	}
2477 }
N_INLINE(NI,starpercent___system_736)2478 static N_INLINE(NI, starpercent___system_736)(NI x, NI y) {
2479 	NI result;
2480 	result = (NI)0;
2481 	result = ((NI) ((NU)((NU32)(((NU) (x))) * (NU32)(((NU) (y))))));
2482 	return result;
2483 }
N_NIMCALL(void,forAllChildrenAux__system_5304)2484 N_LIB_PRIVATE N_NIMCALL(void, forAllChildrenAux__system_5304)(void* dest, TNimType* mt, tyEnum_WalkOp__Wfy7gT5VQ8B3aJBxqU8D9cQ op) {
2485 	NI d;
2486 {	d = ((NI) (ptrdiff_t) (dest));
2487 	{
2488 		if (!(dest == NIM_NIL)) goto LA3_;
2489 		goto BeforeRet_;
2490 	}
2491 	LA3_: ;
2492 	{
2493 		if (!!((((*mt).flags &((NU8)1<<((NU)(((tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ) 0))&7U)))!=0))) goto LA7_;
2494 		switch ((*mt).kind) {
2495 		case ((tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A) 22):
2496 		case ((tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A) 28):
2497 		case ((tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A) 24):
2498 		{
2499 			doOperation__system_5301((*((void**) (d))), op);
2500 		}
2501 		break;
2502 		case ((tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A) 17):
2503 		case ((tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A) 18):
2504 		{
2505 			forAllSlotsAux__system_5535(dest, (*mt).node, op);
2506 		}
2507 		break;
2508 		case ((tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A) 16):
2509 		case ((tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A) 4):
2510 		case ((tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A) 27):
2511 		{
2512 			{
2513 				NI i;
2514 				NI colontmp_;
2515 				NI res;
2516 				i = (NI)0;
2517 				colontmp_ = (NI)0;
2518 				colontmp_ = (NI)((NI)((*mt).size / (*(*mt).base).size) - ((NI) 1));
2519 				res = ((NI) 0);
2520 				{
2521 					while (1) {
2522 						NI T15_;
2523 						NI T16_;
2524 						if (!(res <= colontmp_)) goto LA14;
2525 						i = res;
2526 						T15_ = (NI)0;
2527 						T15_ = starpercent___system_736(i, (*(*mt).base).size);
2528 						T16_ = (NI)0;
2529 						T16_ = pluspercent___system_696(d, T15_);
2530 						forAllChildrenAux__system_5304(((void*) (T16_)), (*mt).base, op);
2531 						res += ((NI) 1);
2532 					} LA14: ;
2533 				}
2534 			}
2535 		}
2536 		break;
2537 		default:
2538 		{
2539 		}
2540 		break;
2541 		}
2542 	}
2543 	LA7_: ;
2544 	}BeforeRet_: ;
2545 }
N_NIMCALL(NI,align__system_1624)2546 N_LIB_PRIVATE N_NIMCALL(NI, align__system_1624)(NI address, NI alignment) {
2547 	NI result;
2548 	result = (NI)0;
2549 	{
2550 		if (!(alignment == ((NI) 0))) goto LA3_;
2551 		result = address;
2552 	}
2553 	goto LA1_;
2554 	LA3_: ;
2555 	{
2556 		result = (NI)((NI)(address + (NI)(alignment - ((NI) 1))) & (NI)((NU32) ~((NI)(alignment - ((NI) 1)))));
2557 	}
2558 	LA1_: ;
2559 	return result;
2560 }
N_NIMCALL(void,forAllChildren__system_5298)2561 N_LIB_PRIVATE N_NIMCALL(void, forAllChildren__system_5298)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* cell, tyEnum_WalkOp__Wfy7gT5VQ8B3aJBxqU8D9cQ op) {
2562 	tyProc__ojoeKfW4VYIm36I9cpDTQIg marker;
2563 	marker = (*(*cell).typ).marker;
2564 	{
2565 		void* T5_;
2566 		if (!!((marker == NIM_NIL))) goto LA3_;
2567 		T5_ = (void*)0;
2568 		T5_ = cellToUsr__system_5267(cell);
2569 		marker(T5_, ((NI) (op)));
2570 	}
2571 	goto LA1_;
2572 	LA3_: ;
2573 	{
2574 		switch ((*(*cell).typ).kind) {
2575 		case ((tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A) 22):
2576 		{
2577 			void* T8_;
2578 			T8_ = (void*)0;
2579 			T8_ = cellToUsr__system_5267(cell);
2580 			forAllChildrenAux__system_5304(T8_, (*(*cell).typ).base, op);
2581 		}
2582 		break;
2583 		case ((tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A) 24):
2584 		{
2585 			NI d;
2586 			void* T10_;
2587 			TGenericSeq* s;
2588 			T10_ = (void*)0;
2589 			T10_ = cellToUsr__system_5267(cell);
2590 			d = ((NI) (ptrdiff_t) (T10_));
2591 			s = ((TGenericSeq*) (d));
2592 			{
2593 				if (!!((s == ((TGenericSeq*) NIM_NIL)))) goto LA13_;
2594 				{
2595 					NI i;
2596 					NI colontmp_;
2597 					NI res;
2598 					i = (NI)0;
2599 					colontmp_ = (NI)0;
2600 					colontmp_ = (NI)((*s).len - ((NI) 1));
2601 					res = ((NI) 0);
2602 					{
2603 						while (1) {
2604 							NI T18_;
2605 							NI T19_;
2606 							NI T20_;
2607 							NI T21_;
2608 							if (!(res <= colontmp_)) goto LA17;
2609 							i = res;
2610 							T18_ = (NI)0;
2611 							T18_ = align__system_1624(((NI) 8), (*(*(*cell).typ).base).align);
2612 							T19_ = (NI)0;
2613 							T19_ = pluspercent___system_696(d, T18_);
2614 							T20_ = (NI)0;
2615 							T20_ = starpercent___system_736(i, (*(*(*cell).typ).base).size);
2616 							T21_ = (NI)0;
2617 							T21_ = pluspercent___system_696(T19_, T20_);
2618 							forAllChildrenAux__system_5304(((void*) (T21_)), (*(*cell).typ).base, op);
2619 							res += ((NI) 1);
2620 						} LA17: ;
2621 					}
2622 				}
2623 			}
2624 			LA13_: ;
2625 		}
2626 		break;
2627 		default:
2628 		{
2629 		}
2630 		break;
2631 		}
2632 	}
2633 	LA1_: ;
2634 }
N_NIMCALL(tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg *,cellSetGet__system_4923)2635 N_LIB_PRIVATE N_NIMCALL(tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg*, cellSetGet__system_4923)(tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ t, NU key) {
2636 	tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg* result;
2637 	NI h;
2638 {	result = (tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg*)0;
2639 	h = (NI)(((NI) (key)) & t.max);
2640 	{
2641 		while (1) {
2642 			if (!!((t.data[h] == ((tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg*) NIM_NIL)))) goto LA2;
2643 			{
2644 				if (!((*t.data[h]).key == key)) goto LA5_;
2645 				result = t.data[h];
2646 				goto BeforeRet_;
2647 			}
2648 			LA5_: ;
2649 			h = nextTry__system_4919(h, t.max);
2650 		} LA2: ;
2651 	}
2652 	result = ((tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg*) NIM_NIL);
2653 	goto BeforeRet_;
2654 	}BeforeRet_: ;
2655 	return result;
2656 }
N_NIMCALL(NIM_BOOL,containsOrIncl__system_5062)2657 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, containsOrIncl__system_5062)(tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ* s, tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* cell) {
2658 	NIM_BOOL result;
2659 	NU u;
2660 	tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg* t;
2661 	result = (NIM_BOOL)0;
2662 	u = ((NU) (ptrdiff_t) (cell));
2663 	t = cellSetGet__system_4923((*s), (NU)((NU32)(u) >> (NU32)(((NI) 12))));
2664 	{
2665 		if (!!((t == ((tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg*) NIM_NIL)))) goto LA3_;
2666 		u = (NU)((NU32)((NU)((NU32)(u) % (NU32)(((NU) 4096)))) / (NU32)(((NU) 16)));
2667 		result = !(((NI)((*t).bits[((NU)((NU32)(u) >> (NU32)(((NI) 5))))- 0] & (NI)((NU32)(((NI) 1)) << (NU32)((NU)(u & ((NU) 31))))) == ((NI) 0)));
2668 		{
2669 			if (!!(result)) goto LA7_;
2670 			(*t).bits[((NU)((NU32)(u) >> (NU32)(((NI) 5))))- 0] = (NI)((*t).bits[((NU)((NU32)(u) >> (NU32)(((NI) 5))))- 0] | (NI)((NU32)(((NI) 1)) << (NU32)((NU)(u & ((NU) 31)))));
2671 		}
2672 		LA7_: ;
2673 	}
2674 	goto LA1_;
2675 	LA3_: ;
2676 	{
2677 		incl__system_5016(s, cell);
2678 		result = NIM_FALSE;
2679 	}
2680 	LA1_: ;
2681 	return result;
2682 }
N_NIMCALL(void,markS__system_5719)2683 N_LIB_PRIVATE N_NIMCALL(void, markS__system_5719)(tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ* gch, tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
2684 	incl__system_5016((&(*gch).marked), c);
2685 	forAllChildren__system_5298(c, ((tyEnum_WalkOp__Wfy7gT5VQ8B3aJBxqU8D9cQ) 1));
2686 	{
2687 		while (1) {
2688 			tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* d;
2689 			if (!(((NI) 0) < (*gch).tempStack.len)) goto LA2;
2690 			(*gch).tempStack.len -= ((NI) 1);
2691 			d = (*gch).tempStack.d[(*gch).tempStack.len];
2692 			{
2693 				NIM_BOOL T5_;
2694 				T5_ = (NIM_BOOL)0;
2695 				T5_ = containsOrIncl__system_5062((&(*gch).marked), d);
2696 				if (!!(T5_)) goto LA6_;
2697 				forAllChildren__system_5298(d, ((tyEnum_WalkOp__Wfy7gT5VQ8B3aJBxqU8D9cQ) 1));
2698 			}
2699 			LA6_: ;
2700 		} LA2: ;
2701 	}
2702 }
N_NIMCALL(void,doOperation__system_5301)2703 N_LIB_PRIVATE N_NIMCALL(void, doOperation__system_5301)(void* p, tyEnum_WalkOp__Wfy7gT5VQ8B3aJBxqU8D9cQ op) {
2704 	tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c;
2705 {	{
2706 		if (!(p == NIM_NIL)) goto LA3_;
2707 		goto BeforeRet_;
2708 	}
2709 	LA3_: ;
2710 	c = usrToCell__system_5270(p);
2711 	switch (op) {
2712 	case ((tyEnum_WalkOp__Wfy7gT5VQ8B3aJBxqU8D9cQ) 2):
2713 	{
2714 		decRef__system_5315(c);
2715 	}
2716 	break;
2717 	case ((tyEnum_WalkOp__Wfy7gT5VQ8B3aJBxqU8D9cQ) 3):
2718 	{
2719 		add__system_4859((&gch__system_5217.tempStack), c);
2720 	}
2721 	break;
2722 	case ((tyEnum_WalkOp__Wfy7gT5VQ8B3aJBxqU8D9cQ) 0):
2723 	{
2724 		markS__system_5719((&gch__system_5217), c);
2725 	}
2726 	break;
2727 	case ((tyEnum_WalkOp__Wfy7gT5VQ8B3aJBxqU8D9cQ) 1):
2728 	{
2729 		add__system_4859((&gch__system_5217.tempStack), c);
2730 	}
2731 	break;
2732 	}
2733 	}BeforeRet_: ;
2734 }
N_NIMCALL(void,nimGCvisit)2735 N_LIB_PRIVATE N_NIMCALL(void, nimGCvisit)(void* d, NI op) {
2736 	doOperation__system_5301(d, ((tyEnum_WalkOp__Wfy7gT5VQ8B3aJBxqU8D9cQ) (op)));
2737 }
N_NIMCALL(void,Marker_tyRef__vU9aO9cTqOMn6CBzhV8rX7Sw)2738 static N_NIMCALL(void, Marker_tyRef__vU9aO9cTqOMn6CBzhV8rX7Sw)(void* p, NI op) {
2739 	Exception* a;
2740 	a = (Exception*)p;
2741 	nimGCvisit((void*)(*a).parent, op);
2742 	nimGCvisit((void*)(*a).message, op);
2743 	nimGCvisit((void*)(*a).trace, op);
2744 	nimGCvisit((void*)(*a).up, op);
2745 }
N_NIMCALL(void,TM__Q5wkpxktOdTGvlSRo9bzt9aw_4)2746 static N_NIMCALL(void, TM__Q5wkpxktOdTGvlSRo9bzt9aw_4)(void) {
2747 	nimGCvisit((void*)currException__system_2566, 0);
2748 }
N_NIMCALL(void,nimRegisterThreadLocalMarker)2749 N_LIB_PRIVATE N_NIMCALL(void, nimRegisterThreadLocalMarker)(tyProc__T4eqaYlFJYZUv9aG9b1TV0bQ markerProc) {
2750 	{
2751 		if (!(threadLocalMarkersLen <= ((NI) 3499))) goto LA3_;
2752 		threadLocalMarkers[(threadLocalMarkersLen)- 0] = markerProc;
2753 		threadLocalMarkersLen += ((NI) 1);
2754 	}
2755 	goto LA1_;
2756 	LA3_: ;
2757 	{
2758 		rawWrite(__stderrp, "[GC] cannot register thread local variable; too many thread local variables");
2759 		exit(((NI) 1));
2760 	}
2761 	LA1_: ;
2762 }
N_INLINE(void,pushSafePoint)2763 static N_INLINE(void, pushSafePoint)(TSafePoint* s) {
2764 	(*s).prev = excHandler__system_2565;
2765 	excHandler__system_2565 = s;
2766 }
N_INLINE(NI,getOccupiedMem__system_4819)2767 static N_INLINE(NI, getOccupiedMem__system_4819)(tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg* a) {
2768 	NI result;
2769 	result = (NI)0;
2770 	result = (*a).occ;
2771 	return result;
2772 }
N_NOINLINE(NI,stackSize__system_5384)2773 N_LIB_PRIVATE N_NOINLINE(NI, stackSize__system_5384)(tyObject_GcStack__7fytPA5bBsob6See21YMRA* stack) {
2774 	NI result;
2775 	void* volatile pos;
2776 	result = (NI)0;
2777 	pos = ((void*) ((&pos)));
2778 	{
2779 		if (!!((pos == NIM_NIL))) goto LA3_;
2780 		result = minuspercent___system_716(((NI) (ptrdiff_t) ((*stack).bottom)), ((NI) (ptrdiff_t) (pos)));
2781 	}
2782 	goto LA1_;
2783 	LA3_: ;
2784 	{
2785 		result = ((NI) 0);
2786 	}
2787 	LA1_: ;
2788 	return result;
2789 }
N_NOINLINE(NI,stackSize__system_5388)2790 N_LIB_PRIVATE N_NOINLINE(NI, stackSize__system_5388)(void) {
2791 	NI result;
2792 	result = (NI)0;
2793 	result = ((NI) 0);
2794 	{
2795 		tyObject_GcStack__7fytPA5bBsob6See21YMRA* stack;
2796 		NI T2_;
2797 		stack = (tyObject_GcStack__7fytPA5bBsob6See21YMRA*)0;
2798 		stack = (&gch__system_5217.stack);
2799 		T2_ = (NI)0;
2800 		T2_ = stackSize__system_5384(stack);
2801 		result = (NI)(result + T2_);
2802 	}
2803 	return result;
2804 }
N_NIMCALL(NI,lowGauge__system_4107)2805 N_LIB_PRIVATE N_NIMCALL(NI, lowGauge__system_4107)(tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* n) {
2806 	NI result;
2807 	tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* it;
2808 	result = (NI)0;
2809 	it = n;
2810 	{
2811 		while (1) {
2812 			if (!!(((*it).link[(((NI) 0))- 0] == it))) goto LA2;
2813 			result = (*it).key;
2814 			it = (*it).link[(((NI) 0))- 0];
2815 		} LA2: ;
2816 	}
2817 	return result;
2818 }
N_NIMCALL(NI,highGauge__system_4115)2819 N_LIB_PRIVATE N_NIMCALL(NI, highGauge__system_4115)(tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* n) {
2820 	NI result;
2821 	tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* it;
2822 	result = (NI)0;
2823 	result = ((NI) -1);
2824 	it = n;
2825 	{
2826 		while (1) {
2827 			if (!!(((*it).link[(((NI) 0))- 0] == it))) goto LA2;
2828 			result = (*it).upperBound;
2829 			it = (*it).link[(((NI) 1))- 0];
2830 		} LA2: ;
2831 	}
2832 	return result;
2833 }
N_INLINE(void,prepareForInteriorPointerChecking__system_4740)2834 static N_INLINE(void, prepareForInteriorPointerChecking__system_4740)(tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg* a) {
2835 	(*a).minLargeObj = lowGauge__system_4107((*a).root);
2836 	(*a).maxLargeObj = highGauge__system_4115((*a).root);
2837 }
N_NIMCALL(void,setPosition__system_5400)2838 N_LIB_PRIVATE N_NIMCALL(void, setPosition__system_5400)(tyObject_GcStack__7fytPA5bBsob6See21YMRA* stack, void* position) {
2839 }
N_NIMCALL(tyObject_GcStack__7fytPA5bBsob6See21YMRA *,getActiveStack__system_5406)2840 N_LIB_PRIVATE N_NIMCALL(tyObject_GcStack__7fytPA5bBsob6See21YMRA*, getActiveStack__system_5406)(tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ* gch) {
2841 	tyObject_GcStack__7fytPA5bBsob6See21YMRA* result;
2842 	result = (tyObject_GcStack__7fytPA5bBsob6See21YMRA*)0;
2843 	result = (&(*gch).stack);
2844 	return result;
2845 }
N_INLINE(NI,percentpercent___system_776)2846 static N_INLINE(NI, percentpercent___system_776)(NI x, NI y) {
2847 	NI result;
2848 	result = (NI)0;
2849 	result = ((NI) ((NU)((NU32)(((NU) (x))) % (NU32)(((NU) (y))))));
2850 	return result;
2851 }
N_INLINE(NIM_BOOL,lteqpercent___system_985)2852 static N_INLINE(NIM_BOOL, lteqpercent___system_985)(NI x, NI y) {
2853 	NIM_BOOL result;
2854 	result = (NIM_BOOL)0;
2855 	result = ((NU32)(((NU) (x))) <= (NU32)(((NU) (y))));
2856 	return result;
2857 }
N_NIMCALL(tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw *,inRange__system_4135)2858 N_LIB_PRIVATE N_NIMCALL(tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw*, inRange__system_4135)(tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* root, NI key) {
2859 	tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* result;
2860 	tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* it;
2861 {	result = (tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw*)0;
2862 	it = root;
2863 	{
2864 		while (1) {
2865 			NIM_BOOL T9_;
2866 			if (!!(((*it).link[(((NI) 0))- 0] == it))) goto LA2;
2867 			{
2868 				NIM_BOOL T5_;
2869 				T5_ = (NIM_BOOL)0;
2870 				T5_ = lteqpercent___system_985((*it).key, key);
2871 				if (!(T5_)) goto LA6_;
2872 				T5_ = ltpercent___system_1005(key, (*it).upperBound);
2873 				LA6_: ;
2874 				if (!T5_) goto LA7_;
2875 				result = it;
2876 				goto BeforeRet_;
2877 			}
2878 			LA7_: ;
2879 			T9_ = (NIM_BOOL)0;
2880 			T9_ = ltpercent___system_1005((*it).key, key);
2881 			it = (*it).link[(T9_)- 0];
2882 		} LA2: ;
2883 	}
2884 	}BeforeRet_: ;
2885 	return result;
2886 }
N_NIMCALL(void *,interiorAllocatedPtr__system_4742)2887 N_LIB_PRIVATE N_NIMCALL(void*, interiorAllocatedPtr__system_4742)(tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg* a, void* p) {
2888 	void* result;
2889 	result = (void*)0;
2890 	{
2891 		NIM_BOOL T3_;
2892 		tyObject_BaseChunk__Sdq7WpT6qAH858F5ZEdG3w* c;
2893 		T3_ = (NIM_BOOL)0;
2894 		T3_ = isAccessible__system_4461(a, p);
2895 		if (!T3_) goto LA4_;
2896 		c = pageAddr__system_4434(p);
2897 		{
2898 			NIM_BOOL T8_;
2899 			T8_ = (NIM_BOOL)0;
2900 			T8_ = chunkUnused__system_4351(c);
2901 			if (!!(T8_)) goto LA9_;
2902 			{
2903 				NIM_BOOL T13_;
2904 				tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ* c_2;
2905 				NI offset;
2906 				T13_ = (NIM_BOOL)0;
2907 				T13_ = isSmallChunk__system_4345(c);
2908 				if (!T13_) goto LA14_;
2909 				c_2 = ((tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ*) (c));
2910 				offset = minuspercent___system_716((NI)(((NI) (ptrdiff_t) (p)) & ((NI) 4095)), ((NI) 32));
2911 				{
2912 					NIM_BOOL T18_;
2913 					tyObject_FreeCell__u6M5LHprqzkn9axr04yg9bGQ* d;
2914 					NI T21_;
2915 					NI T22_;
2916 					NI T23_;
2917 					T18_ = (NIM_BOOL)0;
2918 					T18_ = ltpercent___system_1005(offset, (*c_2).acc);
2919 					if (!T18_) goto LA19_;
2920 					T21_ = (NI)0;
2921 					T21_ = pluspercent___system_696(((NI) (ptrdiff_t) ((*c_2).data)), offset);
2922 					T22_ = (NI)0;
2923 					T22_ = percentpercent___system_776(offset, (*c_2).Sup.size);
2924 					T23_ = (NI)0;
2925 					T23_ = minuspercent___system_716(T21_, T22_);
2926 					d = ((tyObject_FreeCell__u6M5LHprqzkn9axr04yg9bGQ*) (T23_));
2927 					{
2928 						NIM_BOOL T26_;
2929 						T26_ = (NIM_BOOL)0;
2930 						T26_ = ltpercent___system_1005(((NI) 1), (*d).zeroField);
2931 						if (!T26_) goto LA27_;
2932 						result = ((void*) (d));
2933 					}
2934 					LA27_: ;
2935 				}
2936 				LA19_: ;
2937 			}
2938 			goto LA11_;
2939 			LA14_: ;
2940 			{
2941 				tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* c_3;
2942 				NU8* d_2;
2943 				c_3 = ((tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg*) (c));
2944 				d_2 = (*c_3).data;
2945 				{
2946 					NIM_BOOL T32_;
2947 					T32_ = (NIM_BOOL)0;
2948 					T32_ = (((void*) (d_2)) <= p);
2949 					if (!(T32_)) goto LA33_;
2950 					T32_ = ltpercent___system_1005(((NI) 1), (*((tyObject_FreeCell__u6M5LHprqzkn9axr04yg9bGQ*) (d_2))).zeroField);
2951 					LA33_: ;
2952 					if (!T32_) goto LA34_;
2953 					result = ((void*) (d_2));
2954 				}
2955 				LA34_: ;
2956 			}
2957 			LA11_: ;
2958 		}
2959 		LA9_: ;
2960 	}
2961 	goto LA1_;
2962 	LA4_: ;
2963 	{
2964 		NI q;
2965 		q = ((NI) (ptrdiff_t) (p));
2966 		{
2967 			NIM_BOOL T39_;
2968 			tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* avlNode;
2969 			T39_ = (NIM_BOOL)0;
2970 			T39_ = lteqpercent___system_985((*a).minLargeObj, q);
2971 			if (!(T39_)) goto LA40_;
2972 			T39_ = lteqpercent___system_985(q, (*a).maxLargeObj);
2973 			LA40_: ;
2974 			if (!T39_) goto LA41_;
2975 			avlNode = inRange__system_4135((*a).root, q);
2976 			{
2977 				void* k;
2978 				tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* c_4;
2979 				tyObject_BaseChunk__Sdq7WpT6qAH858F5ZEdG3w* T47_;
2980 				if (!!((avlNode == ((tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw*) NIM_NIL)))) goto LA45_;
2981 				k = ((void*) ((*avlNode).key));
2982 				T47_ = (tyObject_BaseChunk__Sdq7WpT6qAH858F5ZEdG3w*)0;
2983 				T47_ = pageAddr__system_4434(k);
2984 				c_4 = ((tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg*) (T47_));
2985 				{
2986 					NIM_BOOL T50_;
2987 					T50_ = (NIM_BOOL)0;
2988 					T50_ = ltpercent___system_1005(((NI) 1), (*((tyObject_FreeCell__u6M5LHprqzkn9axr04yg9bGQ*) (k))).zeroField);
2989 					if (!T50_) goto LA51_;
2990 					result = k;
2991 				}
2992 				LA51_: ;
2993 			}
2994 			LA45_: ;
2995 		}
2996 		LA41_: ;
2997 	}
2998 	LA1_: ;
2999 	return result;
3000 }
N_INLINE(void,incRef__system_5308)3001 static N_INLINE(void, incRef__system_5308)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
3002 	(*c).refcount = pluspercent___system_696((*c).refcount, ((NI) 8));
3003 }
N_INLINE(void,gcMark__system_5768)3004 static N_INLINE(void, gcMark__system_5768)(tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ* gch, void* p) {
3005 	NI c;
3006 	c = ((NI) (ptrdiff_t) (p));
3007 	{
3008 		NIM_BOOL T3_;
3009 		tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* objStart;
3010 		void* T6_;
3011 		T3_ = (NIM_BOOL)0;
3012 		T3_ = ltpercent___system_1005(((NI) 4096), c);
3013 		if (!T3_) goto LA4_;
3014 		T6_ = (void*)0;
3015 		T6_ = interiorAllocatedPtr__system_4742((&(*gch).region), p);
3016 		objStart = ((tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*) (T6_));
3017 		{
3018 			if (!!((objStart == ((tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*) NIM_NIL)))) goto LA9_;
3019 			incRef__system_5308(objStart);
3020 			add__system_4859((&(*gch).decStack), objStart);
3021 		}
3022 		LA9_: ;
3023 	}
3024 	LA4_: ;
3025 }
markStackAndRegisters__system_5777(tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ * gch)3026 CLANG_NO_SANITIZE_ADDRESS N_LIB_PRIVATE void markStackAndRegisters__system_5777(tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ* gch) {
3027 	jmp_buf registers;
3028 	tyObject_GcStack__7fytPA5bBsob6See21YMRA* T1_;
3029 	T1_ = (tyObject_GcStack__7fytPA5bBsob6See21YMRA*)0;
3030 	T1_ = getActiveStack__system_5406(gch);
3031 	setPosition__system_5400(T1_, ((void*) ((&registers))));
3032 	{
3033 		int T4_;
3034 		T4_ = (int)0;
3035 		T4_ = _setjmp(registers);
3036 		if (!(T4_ == ((NI32) 0))) goto LA5_;
3037 		{
3038 			tyObject_GcStack__7fytPA5bBsob6See21YMRA* stack;
3039 			NI max;
3040 			NI sp;
3041 			stack = (tyObject_GcStack__7fytPA5bBsob6See21YMRA*)0;
3042 			stack = (&(*gch).stack);
3043 			max = ((NI) (ptrdiff_t) ((*stack).bottom));
3044 			sp = ((NI) (ptrdiff_t) ((&registers)));
3045 			sp = (NI)(sp & ((NI) -4));
3046 			{
3047 				while (1) {
3048 					NIM_BOOL T10_;
3049 					T10_ = (NIM_BOOL)0;
3050 					T10_ = ltpercent___system_1005(sp, (NI)(max - ((NI) 32)));
3051 					if (!T10_) goto LA9;
3052 					gcMark__system_5768(gch, ((void**) (sp))[(((NI) 0))- 0]);
3053 					gcMark__system_5768(gch, ((void**) (sp))[(((NI) 1))- 0]);
3054 					gcMark__system_5768(gch, ((void**) (sp))[(((NI) 2))- 0]);
3055 					gcMark__system_5768(gch, ((void**) (sp))[(((NI) 3))- 0]);
3056 					gcMark__system_5768(gch, ((void**) (sp))[(((NI) 4))- 0]);
3057 					gcMark__system_5768(gch, ((void**) (sp))[(((NI) 5))- 0]);
3058 					gcMark__system_5768(gch, ((void**) (sp))[(((NI) 6))- 0]);
3059 					gcMark__system_5768(gch, ((void**) (sp))[(((NI) 7))- 0]);
3060 					sp = pluspercent___system_696(sp, ((NI) 32));
3061 				} LA9: ;
3062 			}
3063 			{
3064 				while (1) {
3065 					NIM_BOOL T13_;
3066 					T13_ = (NIM_BOOL)0;
3067 					T13_ = lteqpercent___system_985(sp, max);
3068 					if (!T13_) goto LA12;
3069 					gcMark__system_5768(gch, (*((void**) (sp))));
3070 					sp = pluspercent___system_696(sp, ((NI) 4));
3071 				} LA12: ;
3072 			}
3073 		}
3074 	}
3075 	LA5_: ;
3076 }
N_NIMCALL(void,prepareDealloc__system_5430)3077 N_LIB_PRIVATE N_NIMCALL(void, prepareDealloc__system_5430)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* cell) {
3078 	TNimType* t;
3079 	t = (*cell).typ;
3080 	{
3081 		void* T5_;
3082 		if (!!(((*t).finalizer == NIM_NIL))) goto LA3_;
3083 		gch__system_5217.recGcLock += ((NI) 1);
3084 		T5_ = (void*)0;
3085 		T5_ = cellToUsr__system_5267(cell);
3086 		((Finalizer) ((*t).finalizer))(T5_);
3087 		gch__system_5217.recGcLock -= ((NI) 1);
3088 	}
3089 	LA3_: ;
3090 }
N_NIMCALL(NIM_BOOL,collectZCT__system_5758)3091 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, collectZCT__system_5758)(tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ* gch) {
3092 	NIM_BOOL result;
3093 	NI* L;
3094 	result = (NIM_BOOL)0;
3095 	L = (&(*gch).zct.len);
3096 	{
3097 		while (1) {
3098 			tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c;
3099 			if (!(((NI) 0) < (*L))) goto LA2;
3100 			c = (*gch).zct.d[((NI) 0)];
3101 			(*c).refcount = (NI)((*c).refcount & ((NI) -5));
3102 			(*gch).zct.d[((NI) 0)] = (*gch).zct.d[(NI)((*L) - ((NI) 1))];
3103 			(*L) -= ((NI) 1);
3104 			{
3105 				NIM_BOOL T5_;
3106 				T5_ = (NIM_BOOL)0;
3107 				T5_ = ltpercent___system_1005((*c).refcount, ((NI) 8));
3108 				if (!T5_) goto LA6_;
3109 				prepareDealloc__system_5430(c);
3110 				forAllChildren__system_5298(c, ((tyEnum_WalkOp__Wfy7gT5VQ8B3aJBxqU8D9cQ) 2));
3111 				rawDealloc__system_4688((&(*gch).region), ((void*) (c)));
3112 			}
3113 			LA6_: ;
3114 		} LA2: ;
3115 	}
3116 	result = NIM_TRUE;
3117 	return result;
3118 }
N_NIMCALL(void,deinit__system_4911)3119 N_LIB_PRIVATE N_NIMCALL(void, deinit__system_4911)(tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ* s) {
3120 	tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg* it;
3121 	it = (*s).head;
3122 	{
3123 		while (1) {
3124 			tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg* n;
3125 			if (!!((it == ((tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg*) NIM_NIL)))) goto LA2;
3126 			n = (*it).next;
3127 			dealloc(((void*) (it)));
3128 			it = n;
3129 		} LA2: ;
3130 	}
3131 	(*s).head = ((tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg*) NIM_NIL);
3132 	dealloc(((void*) ((*s).data)));
3133 	(*s).data = ((tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg**) NIM_NIL);
3134 	(*s).counter = ((NI) 0);
3135 }
N_NIMCALL(void,cellsetReset__system_5533)3136 N_LIB_PRIVATE N_NIMCALL(void, cellsetReset__system_5533)(tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ* s) {
3137 	deinit__system_4911(s);
3138 	init__system_4891(s);
3139 }
N_NIMCALL(void,markGlobals__system_5727)3140 N_LIB_PRIVATE N_NIMCALL(void, markGlobals__system_5727)(tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ* gch) {
3141 	tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g** d;
3142 	{
3143 		if (!((*gch).gcThreadId == ((NI) 0))) goto LA3_;
3144 		{
3145 			NI i;
3146 			NI colontmp_;
3147 			NI res;
3148 			i = (NI)0;
3149 			colontmp_ = (NI)0;
3150 			colontmp_ = (NI)(globalMarkersLen - ((NI) 1));
3151 			res = ((NI) 0);
3152 			{
3153 				while (1) {
3154 					if (!(res <= colontmp_)) goto LA7;
3155 					i = res;
3156 					globalMarkers[(i)- 0]();
3157 					res += ((NI) 1);
3158 				} LA7: ;
3159 			}
3160 		}
3161 	}
3162 	LA3_: ;
3163 	{
3164 		NI i_2;
3165 		NI colontmp__2;
3166 		NI res_2;
3167 		i_2 = (NI)0;
3168 		colontmp__2 = (NI)0;
3169 		colontmp__2 = (NI)(threadLocalMarkersLen - ((NI) 1));
3170 		res_2 = ((NI) 0);
3171 		{
3172 			while (1) {
3173 				if (!(res_2 <= colontmp__2)) goto LA10;
3174 				i_2 = res_2;
3175 				threadLocalMarkers[(i_2)- 0]();
3176 				res_2 += ((NI) 1);
3177 			} LA10: ;
3178 		}
3179 	}
3180 	d = (*gch).additionalRoots.d;
3181 	{
3182 		NI i_3;
3183 		NI colontmp__3;
3184 		NI res_3;
3185 		i_3 = (NI)0;
3186 		colontmp__3 = (NI)0;
3187 		colontmp__3 = (NI)((*gch).additionalRoots.len - ((NI) 1));
3188 		res_3 = ((NI) 0);
3189 		{
3190 			while (1) {
3191 				if (!(res_3 <= colontmp__3)) goto LA13;
3192 				i_3 = res_3;
3193 				markS__system_5719(gch, d[i_3]);
3194 				res_3 += ((NI) 1);
3195 			} LA13: ;
3196 		}
3197 	}
3198 }
N_INLINE(NIM_BOOL,isCell__system_4408)3199 static N_INLINE(NIM_BOOL, isCell__system_4408)(void* p) {
3200 	NIM_BOOL result;
3201 	result = (NIM_BOOL)0;
3202 	result = ltpercent___system_1005(((NI) 1), (*((tyObject_FreeCell__u6M5LHprqzkn9axr04yg9bGQ*) (p))).zeroField);
3203 	return result;
3204 }
N_NIMCALL(NIM_BOOL,contains__system_4984)3205 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, contains__system_4984)(tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ s, tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* cell) {
3206 	NIM_BOOL result;
3207 	NU u;
3208 	tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg* t;
3209 	result = (NIM_BOOL)0;
3210 	u = ((NU) (ptrdiff_t) (cell));
3211 	t = cellSetGet__system_4923(s, (NU)((NU32)(u) >> (NU32)(((NI) 12))));
3212 	{
3213 		if (!!((t == ((tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg*) NIM_NIL)))) goto LA3_;
3214 		u = (NU)((NU32)((NU)((NU32)(u) % (NU32)(((NU) 4096)))) / (NU32)(((NU) 16)));
3215 		result = !(((NI)((*t).bits[((NU)((NU32)(u) >> (NU32)(((NI) 5))))- 0] & (NI)((NU32)(((NI) 1)) << (NU32)((NU)(u & ((NU) 31))))) == ((NI) 0)));
3216 	}
3217 	goto LA1_;
3218 	LA3_: ;
3219 	{
3220 		result = NIM_FALSE;
3221 	}
3222 	LA1_: ;
3223 	return result;
3224 }
N_NIMCALL(void,freeCyclicCell__system_5711)3225 N_LIB_PRIVATE N_NIMCALL(void, freeCyclicCell__system_5711)(tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ* gch, tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
3226 	prepareDealloc__system_5430(c);
3227 	rawDealloc__system_4688((&(*gch).region), ((void*) (c)));
3228 }
N_NIMCALL(void,sweep__system_5715)3229 N_LIB_PRIVATE N_NIMCALL(void, sweep__system_5715)(tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ* gch) {
3230 	{
3231 		void* x;
3232 		x = (void*)0;
3233 		(*gch).region.locked = NIM_TRUE;
3234 		{
3235 			NI s;
3236 			s = (NI)0;
3237 			{
3238 				NI h;
3239 				NI res;
3240 				h = (NI)0;
3241 				res = ((NI) 0);
3242 				{
3243 					while (1) {
3244 						tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw* r;
3245 						if (!(res <= ((NI) 255))) goto LA5;
3246 						h = res;
3247 						r = (*gch).region.chunkStarts.data[(h)- 0];
3248 						{
3249 							while (1) {
3250 								NI i;
3251 								if (!!((r == ((tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw*) NIM_NIL)))) goto LA7;
3252 								i = ((NI) 0);
3253 								{
3254 									while (1) {
3255 										NU w;
3256 										NI j;
3257 										if (!(i <= ((NI) 15))) goto LA9;
3258 										w = (*r).bits[(i)- 0];
3259 										j = ((NI) 0);
3260 										{
3261 											while (1) {
3262 												if (!!((w == ((NU) 0)))) goto LA11;
3263 												{
3264 													NI T16_;
3265 													if (!!(((NU)(w & ((NU) 1)) == ((NU) 0)))) goto LA14_;
3266 													T16_ = (NI)0;
3267 													T16_ = pluspercent___system_696((NI)((NU32)(i) << (NU32)(((NI) 5))), j);
3268 													s = (NI)((NI)((NU32)((*r).key) << (NU32)(((NI) 9))) | T16_);
3269 													{
3270 														NIM_BOOL T19_;
3271 														tyObject_BaseChunk__Sdq7WpT6qAH858F5ZEdG3w* c;
3272 														T19_ = (NIM_BOOL)0;
3273 														T19_ = contains__system_4233((&(*gch).region.chunkStarts), s);
3274 														if (!T19_) goto LA20_;
3275 														c = ((tyObject_BaseChunk__Sdq7WpT6qAH858F5ZEdG3w*) ((NI)((NU32)(s) << (NU32)(((NI) 12)))));
3276 														{
3277 															NIM_BOOL T24_;
3278 															T24_ = (NIM_BOOL)0;
3279 															T24_ = chunkUnused__system_4351(c);
3280 															if (!!(T24_)) goto LA25_;
3281 															{
3282 																NIM_BOOL T29_;
3283 																tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ* c_2;
3284 																NI size;
3285 																NI a;
3286 																NI limit;
3287 																T29_ = (NIM_BOOL)0;
3288 																T29_ = isSmallChunk__system_4345(c);
3289 																if (!T29_) goto LA30_;
3290 																c_2 = ((tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ*) (c));
3291 																size = (*c_2).Sup.size;
3292 																a = ((NI) (ptrdiff_t) ((*c_2).data));
3293 																limit = (NI)(a + (*c_2).acc);
3294 																{
3295 																	while (1) {
3296 																		NIM_BOOL T34_;
3297 																		T34_ = (NIM_BOOL)0;
3298 																		T34_ = ltpercent___system_1005(a, limit);
3299 																		if (!T34_) goto LA33;
3300 																		x = ((void*) (a));
3301 																		{
3302 																			NIM_BOOL T37_;
3303 																			tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c_3;
3304 																			T37_ = (NIM_BOOL)0;
3305 																			T37_ = isCell__system_4408(x);
3306 																			if (!T37_) goto LA38_;
3307 																			c_3 = ((tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*) (x));
3308 																			{
3309 																				NIM_BOOL T42_;
3310 																				T42_ = (NIM_BOOL)0;
3311 																				T42_ = contains__system_4984((*gch).marked, c_3);
3312 																				if (!!(T42_)) goto LA43_;
3313 																				freeCyclicCell__system_5711(gch, c_3);
3314 																			}
3315 																			LA43_: ;
3316 																		}
3317 																		LA38_: ;
3318 																		a = pluspercent___system_696(a, size);
3319 																	} LA33: ;
3320 																}
3321 															}
3322 															goto LA27_;
3323 															LA30_: ;
3324 															{
3325 																tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* c_4;
3326 																c_4 = ((tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg*) (c));
3327 																x = ((void*) ((*c_4).data));
3328 																{
3329 																	NIM_BOOL T48_;
3330 																	tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c_5;
3331 																	T48_ = (NIM_BOOL)0;
3332 																	T48_ = isCell__system_4408(x);
3333 																	if (!T48_) goto LA49_;
3334 																	c_5 = ((tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*) (x));
3335 																	{
3336 																		NIM_BOOL T53_;
3337 																		T53_ = (NIM_BOOL)0;
3338 																		T53_ = contains__system_4984((*gch).marked, c_5);
3339 																		if (!!(T53_)) goto LA54_;
3340 																		freeCyclicCell__system_5711(gch, c_5);
3341 																	}
3342 																	LA54_: ;
3343 																}
3344 																LA49_: ;
3345 															}
3346 															LA27_: ;
3347 														}
3348 														LA25_: ;
3349 													}
3350 													LA20_: ;
3351 												}
3352 												LA14_: ;
3353 												j += ((NI) 1);
3354 												w = (NU)((NU32)(w) >> (NU32)(((NI) 1)));
3355 											} LA11: ;
3356 										}
3357 										i += ((NI) 1);
3358 									} LA9: ;
3359 								}
3360 								r = (*r).next;
3361 							} LA7: ;
3362 						}
3363 						res += ((NI) 1);
3364 					} LA5: ;
3365 				}
3366 			}
3367 		}
3368 		(*gch).region.locked = NIM_FALSE;
3369 	}
3370 }
N_NIMCALL(void,collectCycles__system_5760)3371 N_LIB_PRIVATE N_NIMCALL(void, collectCycles__system_5760)(tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ* gch) {
3372 	tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g** d;
3373 	{
3374 		while (1) {
3375 			NIM_BOOL T3_;
3376 			if (!(((NI) 0) < (*gch).zct.len)) goto LA2;
3377 			T3_ = (NIM_BOOL)0;
3378 			T3_ = collectZCT__system_5758(gch);
3379 			(void)(T3_);
3380 		} LA2: ;
3381 	}
3382 	cellsetReset__system_5533((&(*gch).marked));
3383 	d = (*gch).decStack.d;
3384 	{
3385 		NI i;
3386 		NI colontmp_;
3387 		NI res;
3388 		i = (NI)0;
3389 		colontmp_ = (NI)0;
3390 		colontmp_ = (NI)((*gch).decStack.len - ((NI) 1));
3391 		res = ((NI) 0);
3392 		{
3393 			while (1) {
3394 				if (!(res <= colontmp_)) goto LA6;
3395 				i = res;
3396 				markS__system_5719(gch, d[i]);
3397 				res += ((NI) 1);
3398 			} LA6: ;
3399 		}
3400 	}
3401 	markGlobals__system_5727(gch);
3402 	sweep__system_5715(gch);
3403 }
N_NIMCALL(NI,getOccupiedMem__system_1936)3404 N_LIB_PRIVATE N_NIMCALL(NI, getOccupiedMem__system_1936)(void) {
3405 	NI result;
3406 	result = (NI)0;
3407 	result = gch__system_5217.region.occ;
3408 	return result;
3409 }
N_NIMCALL(void,unmarkStackAndRegisters__system_5831)3410 N_LIB_PRIVATE N_NIMCALL(void, unmarkStackAndRegisters__system_5831)(tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ* gch) {
3411 	tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g** d;
3412 	d = (*gch).decStack.d;
3413 	{
3414 		NI i;
3415 		NI colontmp_;
3416 		NI res;
3417 		i = (NI)0;
3418 		colontmp_ = (NI)0;
3419 		colontmp_ = (NI)((*gch).decStack.len - ((NI) 1));
3420 		res = ((NI) 0);
3421 		{
3422 			while (1) {
3423 				if (!(res <= colontmp_)) goto LA3;
3424 				i = res;
3425 				decRef__system_5315(d[i]);
3426 				res += ((NI) 1);
3427 			} LA3: ;
3428 		}
3429 	}
3430 	(*gch).decStack.len = ((NI) 0);
3431 }
N_NIMCALL(void,collectCTBody__system_5839)3432 N_LIB_PRIVATE N_NIMCALL(void, collectCTBody__system_5839)(tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ* gch) {
3433 	NI T1_;
3434 	T1_ = (NI)0;
3435 	T1_ = stackSize__system_5388();
3436 	(*gch).stat.maxStackSize = (((*gch).stat.maxStackSize >= T1_) ? (*gch).stat.maxStackSize : T1_);
3437 	prepareForInteriorPointerChecking__system_4740((&(*gch).region));
3438 	markStackAndRegisters__system_5777(gch);
3439 	(*gch).stat.maxStackCells = (((*gch).stat.maxStackCells >= (*gch).decStack.len) ? (*gch).stat.maxStackCells : (*gch).decStack.len);
3440 	(*gch).stat.stackScans += ((NI) 1);
3441 	{
3442 		NIM_BOOL T4_;
3443 		T4_ = (NIM_BOOL)0;
3444 		T4_ = collectZCT__system_5758(gch);
3445 		if (!T4_) goto LA5_;
3446 		{
3447 			NIM_BOOL T9_;
3448 			NI T10_;
3449 			NI T14_;
3450 			T9_ = (NIM_BOOL)0;
3451 			T10_ = (NI)0;
3452 			T10_ = getOccupiedMem__system_4819((&(*gch).region));
3453 			T9_ = ((*gch).cycleThreshold <= T10_);
3454 			if (T9_) goto LA11_;
3455 			T9_ = NIM_FALSE;
3456 			LA11_: ;
3457 			if (!T9_) goto LA12_;
3458 			collectCycles__system_5760(gch);
3459 			(*gch).stat.cycleCollections += ((NI) 1);
3460 			T14_ = (NI)0;
3461 			T14_ = getOccupiedMem__system_1936();
3462 			(*gch).cycleThreshold = ((((NI) 4194304) >= (NI)(T14_ * ((NI) 2))) ? ((NI) 4194304) : (NI)(T14_ * ((NI) 2)));
3463 			(*gch).stat.maxThreshold = (((*gch).stat.maxThreshold >= (*gch).cycleThreshold) ? (*gch).stat.maxThreshold : (*gch).cycleThreshold);
3464 		}
3465 		LA12_: ;
3466 	}
3467 	LA5_: ;
3468 	unmarkStackAndRegisters__system_5831(gch);
3469 }
N_NIMCALL(void,collectCT__system_5294)3470 N_LIB_PRIVATE N_NIMCALL(void, collectCT__system_5294)(tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ* gch) {
3471 	{
3472 		NIM_BOOL T3_;
3473 		NIM_BOOL T4_;
3474 		NIM_BOOL T5_;
3475 		NIM_BOOL T7_;
3476 		NI T9_;
3477 		T3_ = (NIM_BOOL)0;
3478 		T4_ = (NIM_BOOL)0;
3479 		T5_ = (NIM_BOOL)0;
3480 		T5_ = ((*gch).zctThreshold <= (*gch).zct.len);
3481 		if (T5_) goto LA6_;
3482 		T7_ = (NIM_BOOL)0;
3483 		T7_ = NIM_TRUE;
3484 		if (!(T7_)) goto LA8_;
3485 		T9_ = (NI)0;
3486 		T9_ = getOccupiedMem__system_4819((&(*gch).region));
3487 		T7_ = ((*gch).cycleThreshold <= T9_);
3488 		LA8_: ;
3489 		T5_ = T7_;
3490 		LA6_: ;
3491 		T4_ = T5_;
3492 		if (T4_) goto LA10_;
3493 		T4_ = NIM_FALSE;
3494 		LA10_: ;
3495 		T3_ = T4_;
3496 		if (!(T3_)) goto LA11_;
3497 		T3_ = ((*gch).recGcLock == ((NI) 0));
3498 		LA11_: ;
3499 		if (!T3_) goto LA12_;
3500 		collectCTBody__system_5839(gch);
3501 		(*gch).zctThreshold = ((((NI) 500) >= (NI)((*gch).zct.len * ((NI) 2))) ? ((NI) 500) : (NI)((*gch).zct.len * ((NI) 2)));
3502 	}
3503 	LA12_: ;
3504 }
N_INLINE(void,addNewObjToZCT__system_5632)3505 static N_INLINE(void, addNewObjToZCT__system_5632)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* res, tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ* gch) {
3506 	NI L;
3507 	tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g** d;
3508 {	L = (*gch).zct.len;
3509 	d = (*gch).zct.d;
3510 	{
3511 		tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c;
3512 		if (!(((NI) 8) < L)) goto LA3_;
3513 		c = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
3514 		c = d[(NI)(L - ((NI) 1))];
3515 		{
3516 			NIM_BOOL T7_;
3517 			T7_ = (NIM_BOOL)0;
3518 			T7_ = lteqpercent___system_985(((NI) 8), (*c).refcount);
3519 			if (!T7_) goto LA8_;
3520 			(*c).refcount = (NI)((*c).refcount & ((NI) -5));
3521 			d[(NI)(L - ((NI) 1))] = res;
3522 			goto BeforeRet_;
3523 		}
3524 		LA8_: ;
3525 		c = d[(NI)(L - ((NI) 2))];
3526 		{
3527 			NIM_BOOL T12_;
3528 			T12_ = (NIM_BOOL)0;
3529 			T12_ = lteqpercent___system_985(((NI) 8), (*c).refcount);
3530 			if (!T12_) goto LA13_;
3531 			(*c).refcount = (NI)((*c).refcount & ((NI) -5));
3532 			d[(NI)(L - ((NI) 2))] = res;
3533 			goto BeforeRet_;
3534 		}
3535 		LA13_: ;
3536 		c = d[(NI)(L - ((NI) 3))];
3537 		{
3538 			NIM_BOOL T17_;
3539 			T17_ = (NIM_BOOL)0;
3540 			T17_ = lteqpercent___system_985(((NI) 8), (*c).refcount);
3541 			if (!T17_) goto LA18_;
3542 			(*c).refcount = (NI)((*c).refcount & ((NI) -5));
3543 			d[(NI)(L - ((NI) 3))] = res;
3544 			goto BeforeRet_;
3545 		}
3546 		LA18_: ;
3547 		c = d[(NI)(L - ((NI) 4))];
3548 		{
3549 			NIM_BOOL T22_;
3550 			T22_ = (NIM_BOOL)0;
3551 			T22_ = lteqpercent___system_985(((NI) 8), (*c).refcount);
3552 			if (!T22_) goto LA23_;
3553 			(*c).refcount = (NI)((*c).refcount & ((NI) -5));
3554 			d[(NI)(L - ((NI) 4))] = res;
3555 			goto BeforeRet_;
3556 		}
3557 		LA23_: ;
3558 		c = d[(NI)(L - ((NI) 5))];
3559 		{
3560 			NIM_BOOL T27_;
3561 			T27_ = (NIM_BOOL)0;
3562 			T27_ = lteqpercent___system_985(((NI) 8), (*c).refcount);
3563 			if (!T27_) goto LA28_;
3564 			(*c).refcount = (NI)((*c).refcount & ((NI) -5));
3565 			d[(NI)(L - ((NI) 5))] = res;
3566 			goto BeforeRet_;
3567 		}
3568 		LA28_: ;
3569 		c = d[(NI)(L - ((NI) 6))];
3570 		{
3571 			NIM_BOOL T32_;
3572 			T32_ = (NIM_BOOL)0;
3573 			T32_ = lteqpercent___system_985(((NI) 8), (*c).refcount);
3574 			if (!T32_) goto LA33_;
3575 			(*c).refcount = (NI)((*c).refcount & ((NI) -5));
3576 			d[(NI)(L - ((NI) 6))] = res;
3577 			goto BeforeRet_;
3578 		}
3579 		LA33_: ;
3580 		c = d[(NI)(L - ((NI) 7))];
3581 		{
3582 			NIM_BOOL T37_;
3583 			T37_ = (NIM_BOOL)0;
3584 			T37_ = lteqpercent___system_985(((NI) 8), (*c).refcount);
3585 			if (!T37_) goto LA38_;
3586 			(*c).refcount = (NI)((*c).refcount & ((NI) -5));
3587 			d[(NI)(L - ((NI) 7))] = res;
3588 			goto BeforeRet_;
3589 		}
3590 		LA38_: ;
3591 		c = d[(NI)(L - ((NI) 8))];
3592 		{
3593 			NIM_BOOL T42_;
3594 			T42_ = (NIM_BOOL)0;
3595 			T42_ = lteqpercent___system_985(((NI) 8), (*c).refcount);
3596 			if (!T42_) goto LA43_;
3597 			(*c).refcount = (NI)((*c).refcount & ((NI) -5));
3598 			d[(NI)(L - ((NI) 8))] = res;
3599 			goto BeforeRet_;
3600 		}
3601 		LA43_: ;
3602 		add__system_4859((&(*gch).zct), res);
3603 	}
3604 	goto LA1_;
3605 	LA3_: ;
3606 	{
3607 		d[L] = res;
3608 		(*gch).zct.len += ((NI) 1);
3609 	}
3610 	LA1_: ;
3611 	}BeforeRet_: ;
3612 }
N_NIMCALL(void *,rawNewObj__system_5647)3613 N_LIB_PRIVATE N_NIMCALL(void*, rawNewObj__system_5647)(TNimType* typ, NI size, tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ* gch) {
3614 	void* result;
3615 	tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* res;
3616 	void* T1_;
3617 	result = (void*)0;
3618 	collectCT__system_5294(gch);
3619 	T1_ = (void*)0;
3620 	T1_ = rawAlloc__system_4559((&(*gch).region), (NI)(size + ((NI) 8)));
3621 	res = ((tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*) (T1_));
3622 	(*res).typ = typ;
3623 	(*res).refcount = ((NI) 4);
3624 	addNewObjToZCT__system_5632(res, gch);
3625 	result = cellToUsr__system_5267(res);
3626 	return result;
3627 }
N_NIMCALL(void *,newObjNoInit)3628 N_LIB_PRIVATE N_NIMCALL(void*, newObjNoInit)(TNimType* typ, NI size) {
3629 	void* result;
3630 	result = (void*)0;
3631 	result = rawNewObj__system_5647(typ, size, (&gch__system_5217));
3632 	return result;
3633 }
N_NIMCALL(NimStringDesc *,rawNewStringNoInit)3634 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, rawNewStringNoInit)(NI space) {
3635 	NimStringDesc* result;
3636 	NI s;
3637 	void* T5_;
3638 	result = (NimStringDesc*)0;
3639 	s = space;
3640 	{
3641 		if (!(s < ((NI) 7))) goto LA3_;
3642 		s = ((NI) 7);
3643 	}
3644 	LA3_: ;
3645 	T5_ = (void*)0;
3646 	T5_ = newObjNoInit((&strDesc__system_2412), (NI)((NI)(((NI) 8) + s) + ((NI) 1)));
3647 	result = ((NimStringDesc*) (T5_));
3648 	(*result).Sup.reserved = s;
3649 	(*result).Sup.len = ((NI) 0);
3650 	return result;
3651 }
N_NIMCALL(NimStringDesc *,toNimStr)3652 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, toNimStr)(NCSTRING str, NI len) {
3653 	NimStringDesc* result;
3654 	result = (NimStringDesc*)0;
3655 	result = rawNewStringNoInit(len);
3656 	(*result).Sup.len = len;
3657 	copyMem__system_1727(((void*) ((*result).data)), ((void*) (str)), ((NI) ((NI)(len + ((NI) 1)))));
3658 	return result;
3659 }
N_NIMCALL(NimStringDesc *,cstrToNimstr)3660 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, cstrToNimstr)(NCSTRING str) {
3661 	NimStringDesc* result;
3662 	result = (NimStringDesc*)0;
3663 	{
3664 		if (!(((void*) (str)) == NIM_NIL)) goto LA3_;
3665 		result = ((NimStringDesc*) NIM_NIL);
3666 	}
3667 	goto LA1_;
3668 	LA3_: ;
3669 	{
3670 		result = toNimStr(str, (str ? nimCStrLen(str) : 0));
3671 	}
3672 	LA1_: ;
3673 	return result;
3674 }
N_INLINE(void,popSafePoint)3675 static N_INLINE(void, popSafePoint)(void) {
3676 	excHandler__system_2565 = (*excHandler__system_2565).prev;
3677 }
N_INLINE(void,asgnRef)3678 static N_INLINE(void, asgnRef)(void** dest, void* src) {
3679 	{
3680 		tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T5_;
3681 		if (!!((src == NIM_NIL))) goto LA3_;
3682 		T5_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
3683 		T5_ = usrToCell__system_5270(src);
3684 		incRef__system_5308(T5_);
3685 	}
3686 	LA3_: ;
3687 	{
3688 		tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T10_;
3689 		if (!!(((*dest) == NIM_NIL))) goto LA8_;
3690 		T10_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
3691 		T10_ = usrToCell__system_5270((*dest));
3692 		decRef__system_5315(T10_);
3693 	}
3694 	LA8_: ;
3695 	(*dest) = src;
3696 }
N_INLINE(void,popCurrentException)3697 static N_INLINE(void, popCurrentException)(void) {
3698 	asgnRef((void**) (&currException__system_2566), (*currException__system_2566).up);
3699 }
N_NIMCALL(void,Marker_tyRef__uG62cfJZ15c2siK3CKLmnQ)3700 static N_NIMCALL(void, Marker_tyRef__uG62cfJZ15c2siK3CKLmnQ)(void* p, NI op) {
3701 	tyObject_ReraiseDefect__E0L0wGYS1gPD81VLstNO2g* a;
3702 	a = (tyObject_ReraiseDefect__E0L0wGYS1gPD81VLstNO2g*)p;
3703 	nimGCvisit((void*)(*a).Sup.Sup.parent, op);
3704 	nimGCvisit((void*)(*a).Sup.Sup.message, op);
3705 	nimGCvisit((void*)(*a).Sup.Sup.trace, op);
3706 	nimGCvisit((void*)(*a).Sup.Sup.up, op);
3707 }
N_NOINLINE(void *,newObj)3708 N_LIB_PRIVATE N_NOINLINE(void*, newObj)(TNimType* typ, NI size) {
3709 	void* result;
3710 	result = (void*)0;
3711 	result = rawNewObj__system_5647(typ, size, (&gch__system_5217));
3712 	zeroMem__system_1724(result, ((NI) (size)));
3713 	return result;
3714 }
N_NOINLINE(void *,newObjRC1)3715 N_LIB_PRIVATE N_NOINLINE(void*, newObjRC1)(TNimType* typ, NI size) {
3716 	void* result;
3717 	tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* res;
3718 	void* T1_;
3719 	result = (void*)0;
3720 	collectCT__system_5294((&gch__system_5217));
3721 	T1_ = (void*)0;
3722 	T1_ = rawAlloc__system_4559((&gch__system_5217.region), (NI)(size + ((NI) 8)));
3723 	res = ((tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*) (T1_));
3724 	(*res).typ = typ;
3725 	(*res).refcount = ((NI) 8);
3726 	result = cellToUsr__system_5267(res);
3727 	zeroMem__system_1724(result, ((NI) (size)));
3728 	return result;
3729 }
N_NIMCALL(NimStringDesc *,copyStringRC1)3730 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, copyStringRC1)(NimStringDesc* src) {
3731 	NimStringDesc* result;
3732 	result = (NimStringDesc*)0;
3733 	{
3734 		if (!!((src == ((NimStringDesc*) NIM_NIL)))) goto LA3_;
3735 		{
3736 			tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T9_;
3737 			if (!!(((NI)((*src).Sup.reserved & ((NI) (-2147483647 -1))) == ((NI) 0)))) goto LA7_;
3738 			result = src;
3739 			T9_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
3740 			T9_ = usrToCell__system_5270(((void*) (result)));
3741 			incRef__system_5308(T9_);
3742 		}
3743 		goto LA5_;
3744 		LA7_: ;
3745 		{
3746 			NI s;
3747 			void* T15_;
3748 			s = (*src).Sup.len;
3749 			{
3750 				if (!(s < ((NI) 7))) goto LA13_;
3751 				s = ((NI) 7);
3752 			}
3753 			LA13_: ;
3754 			T15_ = (void*)0;
3755 			T15_ = newObjRC1((&strDesc__system_2412), (NI)((NI)(((NI) 8) + s) + ((NI) 1)));
3756 			result = ((NimStringDesc*) (T15_));
3757 			(*result).Sup.reserved = s;
3758 			(*result).Sup.len = (*src).Sup.len;
3759 			copyMem__system_1727(((void*) ((*result).data)), ((void*) ((*src).data)), ((NI) ((NI)((*src).Sup.len + ((NI) 1)))));
3760 		}
3761 		LA5_: ;
3762 	}
3763 	LA3_: ;
3764 	return result;
3765 }
N_INLINE(void,nimGCunrefNoCycle)3766 static N_INLINE(void, nimGCunrefNoCycle)(void* p) {
3767 	tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T1_;
3768 	T1_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
3769 	T1_ = usrToCell__system_5270(p);
3770 	decRef__system_5315(T1_);
3771 }
N_NIMCALL(void,Marker_tyRef__r8GBEWywN07B3Rat3azS4Q)3772 static N_NIMCALL(void, Marker_tyRef__r8GBEWywN07B3Rat3azS4Q)(void* p, NI op) {
3773 	tyObject_OverflowDefect__9cxMi1BPLc3UKt9br86bGfGQ* a;
3774 	a = (tyObject_OverflowDefect__9cxMi1BPLc3UKt9br86bGfGQ*)p;
3775 	nimGCvisit((void*)(*a).Sup.Sup.Sup.parent, op);
3776 	nimGCvisit((void*)(*a).Sup.Sup.Sup.message, op);
3777 	nimGCvisit((void*)(*a).Sup.Sup.Sup.trace, op);
3778 	nimGCvisit((void*)(*a).Sup.Sup.Sup.up, op);
3779 }
N_INLINE(void,sysFatal__system_3375)3780 static N_INLINE(void, sysFatal__system_3375)(NimStringDesc* message) {
3781 	tyObject_OverflowDefect__9cxMi1BPLc3UKt9br86bGfGQ* T1_;
3782 	NimStringDesc* T2_;
3783 	T1_ = NIM_NIL;
3784 	T1_ = (tyObject_OverflowDefect__9cxMi1BPLc3UKt9br86bGfGQ*) newObj((&NTIrefoverflowdefect__r8GBEWywN07B3Rat3azS4Q_), sizeof(tyObject_OverflowDefect__9cxMi1BPLc3UKt9br86bGfGQ));
3785 	(*T1_).Sup.Sup.Sup.Sup.m_type = (&NTIoverflowdefect__9cxMi1BPLc3UKt9br86bGfGQ_);
3786 	(*T1_).Sup.Sup.Sup.name = "OverflowDefect";
3787 	T2_ = NIM_NIL;
3788 	T2_ = (*T1_).Sup.Sup.Sup.message; (*T1_).Sup.Sup.Sup.message = copyStringRC1(message);
3789 	if (T2_) nimGCunrefNoCycle(T2_);
3790 	raiseExceptionEx((Exception*)T1_, "OverflowDefect", "sysFatal", "fatal.nim", 53);
3791 }
N_NOINLINE(void,raiseOverflow)3792 N_LIB_PRIVATE N_NOINLINE(void, raiseOverflow)(void) {
3793 	sysFatal__system_3375(((NimStringDesc*) &TM__Q5wkpxktOdTGvlSRo9bzt9aw_7));
3794 }
N_NIMCALL(void *,newSeq)3795 N_LIB_PRIVATE N_NIMCALL(void*, newSeq)(TNimType* typ, NI len) {
3796 	void* result;
3797 	NI size;
3798 	NI T1_;
3799 	NI TM__Q5wkpxktOdTGvlSRo9bzt9aw_6;
3800 	NI TM__Q5wkpxktOdTGvlSRo9bzt9aw_8;
3801 	result = (void*)0;
3802 	T1_ = (NI)0;
3803 	T1_ = align__system_1624(((NI) 8), (*(*typ).base).align);
3804 	if (nimMulInt(len, (*(*typ).base).size, &TM__Q5wkpxktOdTGvlSRo9bzt9aw_6)) { raiseOverflow(); };
3805 	if (nimAddInt(T1_, (NI)(TM__Q5wkpxktOdTGvlSRo9bzt9aw_6), &TM__Q5wkpxktOdTGvlSRo9bzt9aw_8)) { raiseOverflow(); };
3806 	size = (NI)(TM__Q5wkpxktOdTGvlSRo9bzt9aw_8);
3807 	result = newObj(typ, size);
3808 	(*((TGenericSeq*) (result))).len = len;
3809 	(*((TGenericSeq*) (result))).reserved = len;
3810 	return result;
3811 }
N_INLINE(NI,resize__system_5894)3812 static N_INLINE(NI, resize__system_5894)(NI old) {
3813 	NI result;
3814 	result = (NI)0;
3815 	{
3816 		if (!(old <= ((NI) 0))) goto LA3_;
3817 		result = ((NI) 4);
3818 	}
3819 	goto LA1_;
3820 	LA3_: ;
3821 	{
3822 		if (!(old < ((NI) 65536))) goto LA6_;
3823 		result = (NI)(old * ((NI) 2));
3824 	}
3825 	goto LA1_;
3826 	LA6_: ;
3827 	{
3828 		result = (NI)((NI)(old * ((NI) 3)) / ((NI) 2));
3829 	}
3830 	LA1_: ;
3831 	return result;
3832 }
N_NIMCALL(void *,dataPointer__system_5884)3833 N_LIB_PRIVATE N_NIMCALL(void*, dataPointer__system_5884)(TGenericSeq* a, NI elemAlign) {
3834 	void* result;
3835 	NI T1_;
3836 	NI T2_;
3837 	result = (void*)0;
3838 	T1_ = (NI)0;
3839 	T1_ = align__system_1624(((NI) 8), elemAlign);
3840 	T2_ = (NI)0;
3841 	T2_ = pluspercent___system_696(((NI) (ptrdiff_t) (a)), T1_);
3842 	result = ((void*) (T2_));
3843 	return result;
3844 }
N_NIMCALL(TGenericSeq *,incrSeqV3)3845 N_LIB_PRIVATE N_NIMCALL(TGenericSeq*, incrSeqV3)(TGenericSeq* s, TNimType* typ) {
3846 	TGenericSeq* result;
3847 	result = (TGenericSeq*)0;
3848 	{
3849 		void* T5_;
3850 		if (!(s == ((TGenericSeq*) NIM_NIL))) goto LA3_;
3851 		T5_ = (void*)0;
3852 		T5_ = newSeq(typ, ((NI) 1));
3853 		result = ((TGenericSeq*) (T5_));
3854 		(*result).len = ((NI) 0);
3855 	}
3856 	goto LA1_;
3857 	LA3_: ;
3858 	{
3859 		result = s;
3860 		{
3861 			NI r;
3862 			void* T11_;
3863 			void* T12_;
3864 			void* T13_;
3865 			if (!((NI)((*result).reserved & ((NI) 1073741823)) <= (*result).len)) goto LA9_;
3866 			r = resize__system_5894((NI)((*result).reserved & ((NI) 1073741823)));
3867 			T11_ = (void*)0;
3868 			T11_ = newSeq(typ, r);
3869 			result = ((TGenericSeq*) (T11_));
3870 			(*result).len = (*s).len;
3871 			T12_ = (void*)0;
3872 			T12_ = dataPointer__system_5884(result, (*(*typ).base).align);
3873 			T13_ = (void*)0;
3874 			T13_ = dataPointer__system_5884(s, (*(*typ).base).align);
3875 			copyMem__system_1727(T12_, T13_, ((NI) ((NI)((*s).len * (*(*typ).base).size))));
3876 			(*s).len = ((NI) 0);
3877 		}
3878 		LA9_: ;
3879 	}
3880 	LA1_: ;
3881 	return result;
3882 }
N_INLINE(void,pushCurrentException)3883 static N_INLINE(void, pushCurrentException)(Exception* e) {
3884 	asgnRef((void**) (&(*e).up), currException__system_2566);
3885 	asgnRef((void**) (&currException__system_2566), e);
3886 }
N_NIMCALL(NimStringDesc *,rawNewString)3887 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, rawNewString)(NI space) {
3888 	NimStringDesc* result;
3889 	NI s;
3890 	void* T5_;
3891 	result = (NimStringDesc*)0;
3892 	s = space;
3893 	{
3894 		if (!(s < ((NI) 7))) goto LA3_;
3895 		s = ((NI) 7);
3896 	}
3897 	LA3_: ;
3898 	T5_ = (void*)0;
3899 	T5_ = newObj((&strDesc__system_2412), (NI)((NI)(((NI) 8) + s) + ((NI) 1)));
3900 	result = ((NimStringDesc*) (T5_));
3901 	(*result).Sup.reserved = s;
3902 	(*result).Sup.len = ((NI) 0);
3903 	return result;
3904 }
N_INLINE(void,appendString)3905 static N_INLINE(void, appendString)(NimStringDesc* dest, NimStringDesc* src) {
3906 	{
3907 		if (!!((src == ((NimStringDesc*) NIM_NIL)))) goto LA3_;
3908 		copyMem__system_1727(((void*) ((&(*dest).data[(*dest).Sup.len]))), ((void*) ((*src).data)), ((NI) ((NI)((*src).Sup.len + ((NI) 1)))));
3909 		(*dest).Sup.len += (*src).Sup.len;
3910 	}
3911 	LA3_: ;
3912 }
N_NIMCALL(NimStringDesc *,resizeString)3913 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, resizeString)(NimStringDesc* dest, NI addlen) {
3914 	NimStringDesc* result;
3915 	result = (NimStringDesc*)0;
3916 	{
3917 		if (!(dest == ((NimStringDesc*) NIM_NIL))) goto LA3_;
3918 		result = rawNewStringNoInit(addlen);
3919 	}
3920 	goto LA1_;
3921 	LA3_: ;
3922 	{
3923 		if (!((NI)((*dest).Sup.len + addlen) <= (NI)((*dest).Sup.reserved & ((NI) 1073741823)))) goto LA6_;
3924 		result = dest;
3925 	}
3926 	goto LA1_;
3927 	LA6_: ;
3928 	{
3929 		NI sp;
3930 		NI T9_;
3931 		T9_ = (NI)0;
3932 		T9_ = resize__system_5894((NI)((*dest).Sup.reserved & ((NI) 1073741823)));
3933 		sp = ((T9_ >= (NI)((*dest).Sup.len + addlen)) ? T9_ : (NI)((*dest).Sup.len + addlen));
3934 		result = rawNewStringNoInit(sp);
3935 		(*result).Sup.len = (*dest).Sup.len;
3936 		copyMem__system_1727(((void*) ((&(*result).data[((NI) 0)]))), ((void*) ((&(*dest).data[((NI) 0)]))), ((NI) ((NI)((*dest).Sup.len + ((NI) 1)))));
3937 		(*result).Sup.reserved = sp;
3938 	}
3939 	LA1_: ;
3940 	return result;
3941 }
N_NIMCALL(NimStringDesc *,addChar)3942 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, addChar)(NimStringDesc* s, NIM_CHAR c) {
3943 	NimStringDesc* result;
3944 	result = (NimStringDesc*)0;
3945 	{
3946 		if (!(s == ((NimStringDesc*) NIM_NIL))) goto LA3_;
3947 		result = rawNewStringNoInit(((NI) 1));
3948 		(*result).Sup.len = ((NI) 0);
3949 	}
3950 	goto LA1_;
3951 	LA3_: ;
3952 	{
3953 		result = s;
3954 		{
3955 			NI r;
3956 			if (!((NI)((*result).Sup.reserved & ((NI) 1073741823)) <= (*result).Sup.len)) goto LA8_;
3957 			r = resize__system_5894((NI)((*result).Sup.reserved & ((NI) 1073741823)));
3958 			result = rawNewStringNoInit(r);
3959 			(*result).Sup.len = (*s).Sup.len;
3960 			copyMem__system_1727(((void*) ((&(*result).data[((NI) 0)]))), ((void*) ((&(*s).data[((NI) 0)]))), ((NI) ((NI)((*s).Sup.len + ((NI) 1)))));
3961 			(*result).Sup.reserved = r;
3962 		}
3963 		LA8_: ;
3964 	}
3965 	LA1_: ;
3966 	(*result).data[(*result).Sup.len] = c;
3967 	(*result).data[(NI)((*result).Sup.len + ((NI) 1))] = 0;
3968 	(*result).Sup.len += ((NI) 1);
3969 	return result;
3970 }
N_NOINLINE(NIM_BOOL,isOnStack__system_5296)3971 N_LIB_PRIVATE N_NOINLINE(NIM_BOOL, isOnStack__system_5296)(void* p) {
3972 	NIM_BOOL result;
3973 	void* volatile stackTop;
3974 	NI a;
3975 	tyObject_GcStack__7fytPA5bBsob6See21YMRA* T1_;
3976 	NI b;
3977 	NI T2_;
3978 	NI x;
3979 	NIM_BOOL T3_;
3980 	result = (NIM_BOOL)0;
3981 	stackTop = ((void*) ((&stackTop)));
3982 	T1_ = (tyObject_GcStack__7fytPA5bBsob6See21YMRA*)0;
3983 	T1_ = getActiveStack__system_5406((&gch__system_5217));
3984 	a = ((NI) (ptrdiff_t) ((*T1_).bottom));
3985 	b = ((NI) (ptrdiff_t) (stackTop));
3986 	T2_ = (NI)0;
3987 	T2_ = a;
3988 	a = b;
3989 	b = T2_;
3990 	x = ((NI) (ptrdiff_t) (p));
3991 	T3_ = (NIM_BOOL)0;
3992 	T3_ = lteqpercent___system_985(a, x);
3993 	if (!(T3_)) goto LA4_;
3994 	T3_ = lteqpercent___system_985(x, b);
3995 	LA4_: ;
3996 	result = T3_;
3997 	return result;
3998 }
N_NIMCALL(void,unsureAsgnRef)3999 N_LIB_PRIVATE N_NIMCALL(void, unsureAsgnRef)(void** dest, void* src) {
4000 	{
4001 		NIM_BOOL T3_;
4002 		T3_ = (NIM_BOOL)0;
4003 		T3_ = isOnStack__system_5296(((void*) (dest)));
4004 		if (!!(T3_)) goto LA4_;
4005 		{
4006 			tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T10_;
4007 			if (!!((src == NIM_NIL))) goto LA8_;
4008 			T10_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
4009 			T10_ = usrToCell__system_5270(src);
4010 			incRef__system_5308(T10_);
4011 		}
4012 		LA8_: ;
4013 		{
4014 			NIM_BOOL T13_;
4015 			tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T16_;
4016 			T13_ = (NIM_BOOL)0;
4017 			T13_ = lteqpercent___system_985(((NI) 4096), ((NI) (ptrdiff_t) ((*dest))));
4018 			if (!T13_) goto LA14_;
4019 			T16_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
4020 			T16_ = usrToCell__system_5270((*dest));
4021 			decRef__system_5315(T16_);
4022 		}
4023 		LA14_: ;
4024 	}
4025 	goto LA1_;
4026 	LA4_: ;
4027 	{
4028 	}
4029 	LA1_: ;
4030 	(*dest) = src;
4031 }
N_NIMCALL(void,add__system_2308)4032 N_LIB_PRIVATE N_NIMCALL(void, add__system_2308)(NimStringDesc** x, NCSTRING y) {
4033 	NI i;
4034 	i = ((NI) 0);
4035 	{
4036 		if (!!((((void*) (y)) == NIM_NIL))) goto LA3_;
4037 		{
4038 			while (1) {
4039 				if (!!(((NU8)(y[i]) == (NU8)(0)))) goto LA6;
4040 				unsureAsgnRef((void**) (&(*x)), addChar((*x), y[i]));
4041 				i += ((NI) 1);
4042 			} LA6: ;
4043 		}
4044 	}
4045 	LA3_: ;
4046 }
N_NIMCALL(NimStringDesc *,mnewString)4047 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, mnewString)(NI len) {
4048 	NimStringDesc* result;
4049 	result = (NimStringDesc*)0;
4050 	result = rawNewString(len);
4051 	(*result).Sup.len = len;
4052 	return result;
4053 }
N_NIMCALL(NimStringDesc *,setLengthStr)4054 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, setLengthStr)(NimStringDesc* s, NI newLen) {
4055 	NimStringDesc* result;
4056 	NI n;
4057 	result = (NimStringDesc*)0;
4058 	n = ((newLen >= ((NI) 0)) ? newLen : ((NI) 0));
4059 	{
4060 		if (!(s == ((NimStringDesc*) NIM_NIL))) goto LA3_;
4061 		result = mnewString(newLen);
4062 	}
4063 	goto LA1_;
4064 	LA3_: ;
4065 	{
4066 		if (!(n <= (NI)((*s).Sup.reserved & ((NI) 1073741823)))) goto LA6_;
4067 		result = s;
4068 	}
4069 	goto LA1_;
4070 	LA6_: ;
4071 	{
4072 		NI sp;
4073 		NI T9_;
4074 		T9_ = (NI)0;
4075 		T9_ = resize__system_5894((NI)((*s).Sup.reserved & ((NI) 1073741823)));
4076 		sp = ((T9_ >= newLen) ? T9_ : newLen);
4077 		result = rawNewStringNoInit(sp);
4078 		(*result).Sup.len = (*s).Sup.len;
4079 		copyMem__system_1727(((void*) ((&(*result).data[((NI) 0)]))), ((void*) ((&(*s).data[((NI) 0)]))), ((NI) ((NI)((*s).Sup.len + ((NI) 1)))));
4080 		zeroMem__system_1724(((void*) ((&(*result).data[(*s).Sup.len]))), ((NI) ((NI)(newLen - (*s).Sup.len))));
4081 		(*result).Sup.reserved = sp;
4082 	}
4083 	LA1_: ;
4084 	(*result).Sup.len = n;
4085 	(*result).data[n] = 0;
4086 	return result;
4087 }
N_INLINE(void,addInt__stdZprivateZdigitsutils_189)4088 static N_INLINE(void, addInt__stdZprivateZdigitsutils_189)(NimStringDesc** result, NI x) {
4089 	addInt__stdZprivateZdigitsutils_167(result, ((NI64) (x)));
4090 }
N_NIMCALL(NimStringDesc *,dollar___system_2723)4091 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar___system_2723)(tySequence__uB9b75OUPRENsBAu4AnoePA* stackTraceEntries) {
4092 	NimStringDesc* result;
4093 	tySequence__uB9b75OUPRENsBAu4AnoePA* s;
4094 	result = NIM_NIL;
4095 	s = stackTraceEntries;
4096 	result = rawNewString(((NI) 2000));
4097 	{
4098 		NI i;
4099 		NI colontmp_;
4100 		NI T2_;
4101 		NI res;
4102 		i = (NI)0;
4103 		colontmp_ = (NI)0;
4104 		T2_ = (s ? s->Sup.len : 0);
4105 		colontmp_ = (NI)(T2_ - ((NI) 1));
4106 		res = ((NI) 0);
4107 		{
4108 			while (1) {
4109 				if (!(res <= colontmp_)) goto LA4;
4110 				i = res;
4111 				{
4112 					if (!(s->data[i].line == ((NI) -10))) goto LA7_;
4113 					result = resizeString(result, 17);
4114 appendString(result, ((NimStringDesc*) &TM__Q5wkpxktOdTGvlSRo9bzt9aw_9));
4115 				}
4116 				goto LA5_;
4117 				LA7_: ;
4118 				{
4119 					if (!(s->data[i].line == ((NI) -100))) goto LA10_;
4120 					result = resizeString(result, 3);
4121 appendString(result, ((NimStringDesc*) &TM__Q5wkpxktOdTGvlSRo9bzt9aw_10));
4122 				}
4123 				goto LA5_;
4124 				LA10_: ;
4125 				{
4126 					NI oldLenX60gensym69_;
4127 					oldLenX60gensym69_ = (result ? result->Sup.len : 0);
4128 					add__system_2308((&result), s->data[i].filename);
4129 					{
4130 						if (!(((NI) 0) < s->data[i].line)) goto LA15_;
4131 						result = resizeString(result, 1);
4132 appendString(result, ((NimStringDesc*) &TM__Q5wkpxktOdTGvlSRo9bzt9aw_11));
4133 						addInt__stdZprivateZdigitsutils_189((&result), s->data[i].line);
4134 						{
4135 							if (!NIM_FALSE) goto LA19_;
4136 							result = resizeString(result, 2);
4137 appendString(result, ((NimStringDesc*) &TM__Q5wkpxktOdTGvlSRo9bzt9aw_12));
4138 							addInt__stdZprivateZdigitsutils_189((&result), ((NI) 0));
4139 						}
4140 						LA19_: ;
4141 						result = resizeString(result, 1);
4142 appendString(result, ((NimStringDesc*) &TM__Q5wkpxktOdTGvlSRo9bzt9aw_13));
4143 					}
4144 					LA15_: ;
4145 					{
4146 						NI kX60gensym69_;
4147 						NI colontmp__2;
4148 						NI res_2;
4149 						kX60gensym69_ = (NI)0;
4150 						colontmp__2 = (NI)0;
4151 						colontmp__2 = ((((NI) 1) >= (NI)(((NI) 25) - (NI)((result ? result->Sup.len : 0) - oldLenX60gensym69_))) ? ((NI) 1) : (NI)(((NI) 25) - (NI)((result ? result->Sup.len : 0) - oldLenX60gensym69_)));
4152 						res_2 = ((NI) 1);
4153 						{
4154 							while (1) {
4155 								if (!(res_2 <= colontmp__2)) goto LA23;
4156 								kX60gensym69_ = res_2;
4157 								result = addChar(result, 32);
4158 								res_2 += ((NI) 1);
4159 							} LA23: ;
4160 						}
4161 					}
4162 					add__system_2308((&result), s->data[i].procname);
4163 					result = resizeString(result, 1);
4164 appendString(result, ((NimStringDesc*) &TM__Q5wkpxktOdTGvlSRo9bzt9aw_14));
4165 				}
4166 				LA5_: ;
4167 				res += ((NI) 1);
4168 			} LA4: ;
4169 		}
4170 	}
4171 	return result;
4172 }
N_INLINE(NCSTRING,nimToCStringConv)4173 static N_INLINE(NCSTRING, nimToCStringConv)(NimStringDesc* s) {
4174 	NCSTRING result;
4175 	result = (NCSTRING)0;
4176 	{
4177 		NIM_BOOL T3_;
4178 		T3_ = (NIM_BOOL)0;
4179 		T3_ = (s == ((NimStringDesc*) NIM_NIL));
4180 		if (T3_) goto LA4_;
4181 		T3_ = ((*s).Sup.len == ((NI) 0));
4182 		LA4_: ;
4183 		if (!T3_) goto LA5_;
4184 		result = "";
4185 	}
4186 	goto LA1_;
4187 	LA5_: ;
4188 	{
4189 		result = ((NCSTRING) ((*s).data));
4190 	}
4191 	LA1_: ;
4192 	return result;
4193 }
N_NIMCALL(void,reportUnhandledErrorAux__system_2752)4194 N_LIB_PRIVATE N_NIMCALL(void, reportUnhandledErrorAux__system_2752)(Exception* e) {
4195 	tyArray__gpc2RrLEcWgv7ONpLYNHOw buf;
4196 	NI L;
4197 	nimZeroMem((void*)buf, sizeof(tyArray__gpc2RrLEcWgv7ONpLYNHOw));
4198 	L = ((NI) 0);
4199 	{
4200 		NI T3_;
4201 		NimStringDesc* trace;
4202 		T3_ = ((*e).trace ? (*e).trace->Sup.len : 0);
4203 		if (!!((T3_ == ((NI) 0)))) goto LA4_;
4204 		trace = dollar___system_2723((*e).trace);
4205 		{
4206 			if (!((NI)(L + (trace ? trace->Sup.len : 0)) < ((NI) 2000))) goto LA8_;
4207 			copyMem__system_1727(((void*) ((&buf[(L)- 0]))), ((void*) (nimToCStringConv(trace))), ((NI) ((trace ? trace->Sup.len : 0))));
4208 			L += (trace ? trace->Sup.len : 0);
4209 		}
4210 		LA8_: ;
4211 		eqdestroy___systemZassertions_23((&trace));
4212 	}
4213 	LA4_: ;
4214 	{
4215 		if (!((NI)(L + ((NI) 28)) < ((NI) 2000))) goto LA12_;
4216 		copyMem__system_1727(((void*) ((&buf[(L)- 0]))), ((void*) ("Error: unhandled exception: ")), ((NI) 28));
4217 		L += ((NI) 28);
4218 	}
4219 	LA12_: ;
4220 	{
4221 		if (!((NI)(L + ((*e).message ? (*e).message->Sup.len : 0)) < ((NI) 2000))) goto LA16_;
4222 		copyMem__system_1727(((void*) ((&buf[(L)- 0]))), ((void*) (nimToCStringConv((*e).message))), ((NI) (((*e).message ? (*e).message->Sup.len : 0))));
4223 		L += ((*e).message ? (*e).message->Sup.len : 0);
4224 	}
4225 	LA16_: ;
4226 	{
4227 		if (!((NI)(L + ((NI) 2)) < ((NI) 2000))) goto LA20_;
4228 		copyMem__system_1727(((void*) ((&buf[(L)- 0]))), ((void*) (" [")), ((NI) 2));
4229 		L += ((NI) 2);
4230 	}
4231 	LA20_: ;
4232 	{
4233 		if (!((NI)(L + ((*e).name ? nimCStrLen((*e).name) : 0)) < ((NI) 2000))) goto LA24_;
4234 		copyMem__system_1727(((void*) ((&buf[(L)- 0]))), ((void*) ((*e).name)), ((NI) (((*e).name ? nimCStrLen((*e).name) : 0))));
4235 		L += ((*e).name ? nimCStrLen((*e).name) : 0);
4236 	}
4237 	LA24_: ;
4238 	{
4239 		if (!((NI)(L + ((NI) 2)) < ((NI) 2000))) goto LA28_;
4240 		copyMem__system_1727(((void*) ((&buf[(L)- 0]))), ((void*) ("]\012")), ((NI) 2));
4241 		L += ((NI) 2);
4242 	}
4243 	LA28_: ;
4244 	{
4245 		NimStringDesc* T34_;
4246 		if (!!((onUnhandledException__system_2751 == NIM_NIL))) goto LA32_;
4247 		T34_ = NIM_NIL;
4248 		T34_ = cstrToNimstr(((NCSTRING) (buf)));
4249 		onUnhandledException__system_2751(T34_);
4250 	}
4251 	goto LA30_;
4252 	LA32_: ;
4253 	{
4254 		showErrorMessage__system_2536(((NCSTRING) (buf)), L);
4255 	}
4256 	LA30_: ;
4257 }
N_NIMCALL(void,reportUnhandledError__system_2855)4258 N_LIB_PRIVATE N_NIMCALL(void, reportUnhandledError__system_2855)(Exception* e) {
4259 	{
4260 		if (!!((unhandledExceptionHook__system_2299 == NIM_NIL))) goto LA3_;
4261 		unhandledExceptionHook__system_2299(e);
4262 	}
4263 	LA3_: ;
4264 	reportUnhandledErrorAux__system_2752(e);
4265 }
N_NIMCALL(void,raiseExceptionAux__system_2866)4266 N_LIB_PRIVATE N_NIMCALL(void, raiseExceptionAux__system_2866)(Exception* e) {
4267 {	{
4268 		if (!!((localRaiseHook__system_2294 == NIM_NIL))) goto LA3_;
4269 		{
4270 			NIM_BOOL T7_;
4271 			T7_ = (NIM_BOOL)0;
4272 			T7_ = localRaiseHook__system_2294(e);
4273 			if (!!(T7_)) goto LA8_;
4274 			goto BeforeRet_;
4275 		}
4276 		LA8_: ;
4277 	}
4278 	LA3_: ;
4279 	{
4280 		if (!!((globalRaiseHook__system_2291 == NIM_NIL))) goto LA12_;
4281 		{
4282 			NIM_BOOL T16_;
4283 			T16_ = (NIM_BOOL)0;
4284 			T16_ = globalRaiseHook__system_2291(e);
4285 			if (!!(T16_)) goto LA17_;
4286 			goto BeforeRet_;
4287 		}
4288 		LA17_: ;
4289 	}
4290 	LA12_: ;
4291 	{
4292 		if (!!((excHandler__system_2565 == ((TSafePoint*) NIM_NIL)))) goto LA21_;
4293 		pushCurrentException(e);
4294 		_longjmp((*excHandler__system_2565).context, ((int) 1));
4295 	}
4296 	goto LA19_;
4297 	LA21_: ;
4298 	{
4299 		reportUnhandledError__system_2855(e);
4300 		exit(((NI) 1));
4301 	}
4302 	LA19_: ;
4303 	}BeforeRet_: ;
4304 }
N_NIMCALL(void,raiseExceptionEx)4305 N_LIB_PRIVATE N_NIMCALL(void, raiseExceptionEx)(Exception* e, NCSTRING ename, NCSTRING procname, NCSTRING filename, NI line) {
4306 	{
4307 		if (!((*e).name == 0)) goto LA3_;
4308 		(*e).name = ename;
4309 	}
4310 	LA3_: ;
4311 	{
4312 		NIM_BOOL T7_;
4313 		tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA T11_;
4314 		NI T12_;
4315 		T7_ = (NIM_BOOL)0;
4316 		T7_ = !((((void*) (procname)) == NIM_NIL));
4317 		if (!(T7_)) goto LA8_;
4318 		T7_ = !((((void*) (filename)) == NIM_NIL));
4319 		LA8_: ;
4320 		if (!T7_) goto LA9_;
4321 		nimZeroMem((void*)(&T11_), sizeof(tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA));
4322 		T11_.procname = procname;
4323 		T11_.filename = filename;
4324 		T11_.line = line;
4325 		asgnRef((void**) (&(*e).trace), (tySequence__uB9b75OUPRENsBAu4AnoePA*) incrSeqV3((TGenericSeq*)((*e).trace), (&NTIseqLstacktraceentryT__uB9b75OUPRENsBAu4AnoePA_)));
4326 		T12_ = (*e).trace->Sup.len++;
4327 		(*e).trace->data[T12_] = T11_;
4328 	}
4329 	LA9_: ;
4330 	raiseExceptionAux__system_2866(e);
4331 }
N_INLINE(void,sysFatal__system_2898)4332 static N_INLINE(void, sysFatal__system_2898)(NimStringDesc* message) {
4333 	tyObject_ReraiseDefect__E0L0wGYS1gPD81VLstNO2g* T1_;
4334 	NimStringDesc* T2_;
4335 	T1_ = NIM_NIL;
4336 	T1_ = (tyObject_ReraiseDefect__E0L0wGYS1gPD81VLstNO2g*) newObj((&NTIrefreraisedefect__uG62cfJZ15c2siK3CKLmnQ_), sizeof(tyObject_ReraiseDefect__E0L0wGYS1gPD81VLstNO2g));
4337 	(*T1_).Sup.Sup.Sup.m_type = (&NTIreraisedefect__E0L0wGYS1gPD81VLstNO2g_);
4338 	(*T1_).Sup.Sup.name = "ReraiseDefect";
4339 	T2_ = NIM_NIL;
4340 	T2_ = (*T1_).Sup.Sup.message; (*T1_).Sup.Sup.message = copyStringRC1(message);
4341 	if (T2_) nimGCunrefNoCycle(T2_);
4342 	raiseExceptionEx((Exception*)T1_, "ReraiseDefect", "sysFatal", "fatal.nim", 53);
4343 }
N_NIMCALL(void,reraiseException)4344 N_LIB_PRIVATE N_NIMCALL(void, reraiseException)(void) {
4345 	{
4346 		if (!(currException__system_2566 == ((Exception*) NIM_NIL))) goto LA3_;
4347 		sysFatal__system_2898(((NimStringDesc*) &TM__Q5wkpxktOdTGvlSRo9bzt9aw_15));
4348 	}
4349 	goto LA1_;
4350 	LA3_: ;
4351 	{
4352 		raiseExceptionAux__system_2866(currException__system_2566);
4353 	}
4354 	LA1_: ;
4355 }
N_INLINE(void,rawWriteString)4356 static N_INLINE(void, rawWriteString)(FILE* f, NCSTRING s, NI length) {
4357 	int T1_;
4358 	int T2_;
4359 	T1_ = (int)0;
4360 	T1_ = fwrite(((void*) (s)), ((size_t) 1), ((size_t) (length)), f);
4361 	(void)(T1_);
4362 	T2_ = (int)0;
4363 	T2_ = fflush(f);
4364 	(void)(T2_);
4365 }
N_NIMCALL(void,writeToStdErr__system_2531)4366 N_LIB_PRIVATE N_NIMCALL(void, writeToStdErr__system_2531)(NCSTRING msg, NI length) {
4367 	rawWriteString(__stderrp, msg, length);
4368 }
N_NIMCALL(void,showErrorMessage__system_2536)4369 N_LIB_PRIVATE N_NIMCALL(void, showErrorMessage__system_2536)(NCSTRING data, NI length) {
4370 	NIM_BOOL volatile toWrite;
4371 	toWrite = NIM_TRUE;
4372 	{
4373 		TSafePoint TM__Q5wkpxktOdTGvlSRo9bzt9aw_5;
4374 		NimStringDesc* T5_;
4375 		if (!!((errorMessageWriter__system_2528 == NIM_NIL))) goto LA3_;
4376 		pushSafePoint(&TM__Q5wkpxktOdTGvlSRo9bzt9aw_5);
4377 		TM__Q5wkpxktOdTGvlSRo9bzt9aw_5.status = _setjmp(TM__Q5wkpxktOdTGvlSRo9bzt9aw_5.context);
4378 		if (TM__Q5wkpxktOdTGvlSRo9bzt9aw_5.status == 0) {
4379 		T5_ = NIM_NIL;
4380 		T5_ = cstrToNimstr(data);
4381 		errorMessageWriter__system_2528(T5_);
4382 		toWrite = NIM_FALSE;
4383 		popSafePoint();
4384 		}
4385 		else {
4386 			popSafePoint();
4387 			{
4388 				TM__Q5wkpxktOdTGvlSRo9bzt9aw_5.status = 0;
4389 				popCurrentException();
4390 			}
4391 		}
4392 		if (TM__Q5wkpxktOdTGvlSRo9bzt9aw_5.status != 0) reraiseException();
4393 	}
4394 	LA3_: ;
4395 	{
4396 		if (!toWrite) goto LA10_;
4397 		writeToStdErr__system_2531(data, length);
4398 	}
4399 	LA10_: ;
4400 }
N_NOCONV(void,signalHandler)4401 N_LIB_PRIVATE N_NOCONV(void, signalHandler)(int sign) {
4402 	NCSTRING msg;
4403 	tyProc__ZEo3s9cIqJYP74f7GMZM2FA T26_;
4404 	int T27_;
4405 	msg = (NCSTRING)0;
4406 	{
4407 		if (!(sign == ((int) 2))) goto LA3_;
4408 		msg = "SIGINT: Interrupted by Ctrl-C.\012";
4409 	}
4410 	goto LA1_;
4411 	LA3_: ;
4412 	{
4413 		if (!(sign == ((int) 11))) goto LA6_;
4414 		msg = "SIGSEGV: Illegal storage access. (Attempt to read from nil\?)\012";
4415 	}
4416 	goto LA1_;
4417 	LA6_: ;
4418 	{
4419 		if (!(sign == ((int) 6))) goto LA9_;
4420 		msg = "SIGABRT: Abnormal termination.\012";
4421 	}
4422 	goto LA1_;
4423 	LA9_: ;
4424 	{
4425 		if (!(sign == ((int) 8))) goto LA12_;
4426 		msg = "SIGFPE: Arithmetic error.\012";
4427 	}
4428 	goto LA1_;
4429 	LA12_: ;
4430 	{
4431 		if (!(sign == ((int) 4))) goto LA15_;
4432 		msg = "SIGILL: Illegal operation.\012";
4433 	}
4434 	goto LA1_;
4435 	LA15_: ;
4436 	{
4437 		if (!NIM_FALSE) goto LA18_;
4438 		msg = "SIGBUS: Illegal storage access. (Attempt to read from nil\?)\012";
4439 	}
4440 	goto LA1_;
4441 	LA18_: ;
4442 	{
4443 		{
4444 			{
4445 				if (!(sign == ((int) 13))) goto LA24_;
4446 				msg = "SIGPIPE: Pipe closed.\012";
4447 				goto LA21;
4448 			}
4449 			LA24_: ;
4450 			msg = "unknown signal\012";
4451 		} LA21: ;
4452 	}
4453 	LA1_: ;
4454 	showErrorMessage__system_2536(msg, (msg ? nimCStrLen(msg) : 0));
4455 	T26_ = (tyProc__ZEo3s9cIqJYP74f7GMZM2FA)0;
4456 	T26_ = signal(sign, ((tyProc__ZEo3s9cIqJYP74f7GMZM2FA) 0));
4457 	T27_ = (int)0;
4458 	T27_ = raise(sign);
4459 	(void)(T27_);
4460 }
N_NIMCALL(void,registerSignalHandler__system_2992)4461 N_LIB_PRIVATE N_NIMCALL(void, registerSignalHandler__system_2992)(void) {
4462 	tyProc__ZEo3s9cIqJYP74f7GMZM2FA T1_;
4463 	tyProc__ZEo3s9cIqJYP74f7GMZM2FA T2_;
4464 	tyProc__ZEo3s9cIqJYP74f7GMZM2FA T3_;
4465 	tyProc__ZEo3s9cIqJYP74f7GMZM2FA T4_;
4466 	tyProc__ZEo3s9cIqJYP74f7GMZM2FA T5_;
4467 	tyProc__ZEo3s9cIqJYP74f7GMZM2FA T6_;
4468 	T1_ = (tyProc__ZEo3s9cIqJYP74f7GMZM2FA)0;
4469 	T1_ = signal(((int) 2), signalHandler);
4470 	T2_ = (tyProc__ZEo3s9cIqJYP74f7GMZM2FA)0;
4471 	T2_ = signal(((int) 11), signalHandler);
4472 	T3_ = (tyProc__ZEo3s9cIqJYP74f7GMZM2FA)0;
4473 	T3_ = signal(((int) 6), signalHandler);
4474 	T4_ = (tyProc__ZEo3s9cIqJYP74f7GMZM2FA)0;
4475 	T4_ = signal(((int) 8), signalHandler);
4476 	T5_ = (tyProc__ZEo3s9cIqJYP74f7GMZM2FA)0;
4477 	T5_ = signal(((int) 4), signalHandler);
4478 	T6_ = (tyProc__ZEo3s9cIqJYP74f7GMZM2FA)0;
4479 	T6_ = signal(((int) 13), SIG_IGN);
4480 }
N_NIMCALL(NI,getRefcount)4481 N_LIB_PRIVATE N_NIMCALL(NI, getRefcount)(void* p) {
4482 	NI result;
4483 	tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T1_;
4484 	result = (NI)0;
4485 	T1_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
4486 	T1_ = usrToCell__system_5270(p);
4487 	result = (NI)((NI32)((*T1_).refcount) >> (NU32)(((NI) 3)));
4488 	return result;
4489 }
N_NIMCALL(void,nimRegisterGlobalMarker)4490 N_LIB_PRIVATE N_NIMCALL(void, nimRegisterGlobalMarker)(tyProc__T4eqaYlFJYZUv9aG9b1TV0bQ markerProc) {
4491 	{
4492 		if (!(globalMarkersLen <= ((NI) 3499))) goto LA3_;
4493 		globalMarkers[(globalMarkersLen)- 0] = markerProc;
4494 		globalMarkersLen += ((NI) 1);
4495 	}
4496 	goto LA1_;
4497 	LA3_: ;
4498 	{
4499 		rawWrite(__stderrp, "[GC] cannot register global variable; too many global variables");
4500 		exit(((NI) 1));
4501 	}
4502 	LA1_: ;
4503 }
N_NIMCALL(NimStringDesc *,reprEnum)4504 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, reprEnum)(NI e, TNimType* typ) {
4505 	NimStringDesc* result;
4506 	TNimNode* n;
4507 	NimStringDesc* T19_;
4508 	NimStringDesc* T20_;
4509 {	result = NIM_NIL;
4510 	n = (*typ).node;
4511 	{
4512 		NI o;
4513 		if (!!((((*typ).flags &((NU8)1<<((NU)(((tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ) 2))&7U)))!=0))) goto LA3_;
4514 		o = (NI)(e - (*(*n).sons[(((NI) 0))- 0]).offset);
4515 		{
4516 			NIM_BOOL T7_;
4517 			T7_ = (NIM_BOOL)0;
4518 			T7_ = (((NI) 0) <= o);
4519 			if (!(T7_)) goto LA8_;
4520 			T7_ = ltpercent___system_1005(o, (*(*typ).node).len);
4521 			LA8_: ;
4522 			if (!T7_) goto LA9_;
4523 			result = cstrToNimstr((*(*n).sons[(o)- 0]).name);
4524 			goto BeforeRet_;
4525 		}
4526 		LA9_: ;
4527 	}
4528 	goto LA1_;
4529 	LA3_: ;
4530 	{
4531 		TNimNode** s;
4532 		s = (*n).sons;
4533 		{
4534 			NI i;
4535 			NI colontmp_;
4536 			NI res;
4537 			i = (NI)0;
4538 			colontmp_ = (NI)0;
4539 			colontmp_ = (NI)((*n).len - ((NI) 1));
4540 			res = ((NI) 0);
4541 			{
4542 				while (1) {
4543 					if (!(res <= colontmp_)) goto LA14;
4544 					i = res;
4545 					{
4546 						if (!((*s[(i)- 0]).offset == e)) goto LA17_;
4547 						result = cstrToNimstr((*s[(i)- 0]).name);
4548 						goto BeforeRet_;
4549 					}
4550 					LA17_: ;
4551 					res += ((NI) 1);
4552 				} LA14: ;
4553 			}
4554 		}
4555 	}
4556 	LA1_: ;
4557 	T19_ = NIM_NIL;
4558 	T20_ = NIM_NIL;
4559 	T20_ = dollar___systemZdollars_3(e);
4560 	T19_ = rawNewString((T20_ ? T20_->Sup.len : 0) + 16);
4561 appendString(T19_, T20_);
4562 appendString(T19_, ((NimStringDesc*) &TM__Q5wkpxktOdTGvlSRo9bzt9aw_16));
4563 	result = T19_;
4564 	}BeforeRet_: ;
4565 	return result;
4566 }
N_NIMCALL(void,Marker_tyRef__8SzoIAgLw9ci2v0yafHj9b6Q)4567 static N_NIMCALL(void, Marker_tyRef__8SzoIAgLw9ci2v0yafHj9b6Q)(void* p, NI op) {
4568 	tyObject_KeyError__t7nhKLvXTQS9cS8ByJU9bIag* a;
4569 	a = (tyObject_KeyError__t7nhKLvXTQS9cS8ByJU9bIag*)p;
4570 	nimGCvisit((void*)(*a).Sup.Sup.Sup.parent, op);
4571 	nimGCvisit((void*)(*a).Sup.Sup.Sup.message, op);
4572 	nimGCvisit((void*)(*a).Sup.Sup.Sup.trace, op);
4573 	nimGCvisit((void*)(*a).Sup.Sup.Sup.up, op);
4574 }
N_NIMCALL(NimStringDesc *,copyString)4575 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, copyString)(NimStringDesc* src) {
4576 	NimStringDesc* result;
4577 	result = (NimStringDesc*)0;
4578 	{
4579 		if (!!((src == ((NimStringDesc*) NIM_NIL)))) goto LA3_;
4580 		{
4581 			if (!!(((NI)((*src).Sup.reserved & ((NI) (-2147483647 -1))) == ((NI) 0)))) goto LA7_;
4582 			result = src;
4583 		}
4584 		goto LA5_;
4585 		LA7_: ;
4586 		{
4587 			result = rawNewStringNoInit((*src).Sup.len);
4588 			(*result).Sup.len = (*src).Sup.len;
4589 			copyMem__system_1727(((void*) ((*result).data)), ((void*) ((*src).data)), ((NI) ((NI)((*src).Sup.len + ((NI) 1)))));
4590 		}
4591 		LA5_: ;
4592 	}
4593 	LA3_: ;
4594 	return result;
4595 }
N_NIMCALL(void *,dataPointer__system_5888)4596 N_LIB_PRIVATE N_NIMCALL(void*, dataPointer__system_5888)(TGenericSeq* a, NI elemAlign, NI elemSize, NI index) {
4597 	void* result;
4598 	NI T1_;
4599 	NI T2_;
4600 	NI T3_;
4601 	NI T4_;
4602 	result = (void*)0;
4603 	T1_ = (NI)0;
4604 	T1_ = align__system_1624(((NI) 8), elemAlign);
4605 	T2_ = (NI)0;
4606 	T2_ = pluspercent___system_696(((NI) (ptrdiff_t) (a)), T1_);
4607 	T3_ = (NI)0;
4608 	T3_ = starpercent___system_736(index, elemSize);
4609 	T4_ = (NI)0;
4610 	T4_ = pluspercent___system_696(T2_, T3_);
4611 	result = ((void*) (T4_));
4612 	return result;
4613 }
N_NIMCALL(TNimType *,extGetCellType)4614 N_LIB_PRIVATE N_NIMCALL(TNimType*, extGetCellType)(void* c) {
4615 	TNimType* result;
4616 	tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T1_;
4617 	result = (TNimType*)0;
4618 	T1_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
4619 	T1_ = usrToCell__system_5270(c);
4620 	result = (*T1_).typ;
4621 	return result;
4622 }
N_NIMCALL(TGenericSeq *,setLengthSeqV2)4623 N_LIB_PRIVATE N_NIMCALL(TGenericSeq*, setLengthSeqV2)(TGenericSeq* s, TNimType* typ, NI newLen) {
4624 	TGenericSeq* result;
4625 	result = (TGenericSeq*)0;
4626 	{
4627 		void* T5_;
4628 		if (!(s == ((TGenericSeq*) NIM_NIL))) goto LA3_;
4629 		T5_ = (void*)0;
4630 		T5_ = newSeq(typ, newLen);
4631 		result = ((TGenericSeq*) (T5_));
4632 	}
4633 	goto LA1_;
4634 	LA3_: ;
4635 	{
4636 		NI elemSize;
4637 		NI elemAlign;
4638 		elemSize = (*(*typ).base).size;
4639 		elemAlign = (*(*typ).base).align;
4640 		{
4641 			NI r;
4642 			NI T11_;
4643 			void* T12_;
4644 			void* T13_;
4645 			void* T14_;
4646 			if (!((NI)((*s).reserved & ((NI) 1073741823)) < newLen)) goto LA9_;
4647 			T11_ = (NI)0;
4648 			T11_ = resize__system_5894((NI)((*s).reserved & ((NI) 1073741823)));
4649 			r = ((T11_ >= newLen) ? T11_ : newLen);
4650 			T12_ = (void*)0;
4651 			T12_ = newSeq(typ, r);
4652 			result = ((TGenericSeq*) (T12_));
4653 			T13_ = (void*)0;
4654 			T13_ = dataPointer__system_5884(result, elemAlign);
4655 			T14_ = (void*)0;
4656 			T14_ = dataPointer__system_5884(s, elemAlign);
4657 			copyMem__system_1727(T13_, T14_, ((NI) ((NI)((*s).len * elemSize))));
4658 			(*s).len = ((NI) 0);
4659 		}
4660 		goto LA7_;
4661 		LA9_: ;
4662 		{
4663 			void* T27_;
4664 			NI T28_;
4665 			NI T29_;
4666 			if (!(newLen < (*s).len)) goto LA16_;
4667 			result = s;
4668 			{
4669 				if (!!((((*(*typ).base).flags &((NU8)1<<((NU)(((tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ) 0))&7U)))!=0))) goto LA20_;
4670 				{
4671 					NI i;
4672 					NI colontmp_;
4673 					NI res;
4674 					i = (NI)0;
4675 					colontmp_ = (NI)0;
4676 					colontmp_ = (NI)((*result).len - ((NI) 1));
4677 					res = newLen;
4678 					{
4679 						while (1) {
4680 							void* T25_;
4681 							TNimType* T26_;
4682 							if (!(res <= colontmp_)) goto LA24;
4683 							i = res;
4684 							T25_ = (void*)0;
4685 							T25_ = dataPointer__system_5888(result, elemAlign, elemSize, i);
4686 							T26_ = (TNimType*)0;
4687 							T26_ = extGetCellType(((void*) (result)));
4688 							forAllChildrenAux__system_5304(T25_, (*T26_).base, ((tyEnum_WalkOp__Wfy7gT5VQ8B3aJBxqU8D9cQ) 2));
4689 							res += ((NI) 1);
4690 						} LA24: ;
4691 					}
4692 				}
4693 			}
4694 			LA20_: ;
4695 			T27_ = (void*)0;
4696 			T27_ = dataPointer__system_5888(result, elemAlign, elemSize, newLen);
4697 			T28_ = (NI)0;
4698 			T28_ = minuspercent___system_716((*result).len, newLen);
4699 			T29_ = (NI)0;
4700 			T29_ = starpercent___system_736(T28_, elemSize);
4701 			zeroMem__system_1724(T27_, ((NI) (T29_)));
4702 		}
4703 		goto LA7_;
4704 		LA16_: ;
4705 		{
4706 			void* T31_;
4707 			NI T32_;
4708 			NI T33_;
4709 			result = s;
4710 			T31_ = (void*)0;
4711 			T31_ = dataPointer__system_5888(result, elemAlign, elemSize, (*result).len);
4712 			T32_ = (NI)0;
4713 			T32_ = minuspercent___system_716(newLen, (*result).len);
4714 			T33_ = (NI)0;
4715 			T33_ = starpercent___system_736(T32_, elemSize);
4716 			zeroMem__system_1724(T31_, ((NI) (T33_)));
4717 		}
4718 		LA7_: ;
4719 		(*result).len = newLen;
4720 	}
4721 	LA1_: ;
4722 	return result;
4723 }
N_NIMCALL(void,Marker_tyRef__S8DV6hfcgC9c0IiUsAoR29cQ)4724 static N_NIMCALL(void, Marker_tyRef__S8DV6hfcgC9c0IiUsAoR29cQ)(void* p, NI op) {
4725 	tyObject_AssertionDefect__PtYxPmY5X0dorfvxAFbJpQ* a;
4726 	a = (tyObject_AssertionDefect__PtYxPmY5X0dorfvxAFbJpQ*)p;
4727 	nimGCvisit((void*)(*a).Sup.Sup.parent, op);
4728 	nimGCvisit((void*)(*a).Sup.Sup.message, op);
4729 	nimGCvisit((void*)(*a).Sup.Sup.trace, op);
4730 	nimGCvisit((void*)(*a).Sup.Sup.up, op);
4731 }
N_NIMCALL(NimStringDesc *,substr__system_7743)4732 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, substr__system_7743)(NimStringDesc* s, NI first, NI last) {
4733 	NimStringDesc* result;
4734 	NI first_2;
4735 	NI L;
4736 	result = NIM_NIL;
4737 	first_2 = ((first >= ((NI) 0)) ? first : ((NI) 0));
4738 	L = (((NI)((NI)(((last <= ((s ? s->Sup.len : 0)-1)) ? last : ((s ? s->Sup.len : 0)-1)) - first_2) + ((NI) 1)) >= ((NI) 0)) ? (NI)((NI)(((last <= ((s ? s->Sup.len : 0)-1)) ? last : ((s ? s->Sup.len : 0)-1)) - first_2) + ((NI) 1)) : ((NI) 0));
4739 	result = mnewString(((NI) (L)));
4740 	{
4741 		NI i;
4742 		NI colontmp_;
4743 		NI res;
4744 		i = (NI)0;
4745 		colontmp_ = (NI)0;
4746 		colontmp_ = (NI)(L - ((NI) 1));
4747 		res = ((NI) 0);
4748 		{
4749 			while (1) {
4750 				if (!(res <= colontmp_)) goto LA3;
4751 				i = res;
4752 				result->data[i] = s->data[(NI)(i + first_2)];
4753 				res += ((NI) 1);
4754 			} LA3: ;
4755 		}
4756 	}
4757 	return result;
4758 }
N_NIMCALL(NimStringDesc *,nimCharToStr)4759 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nimCharToStr)(NIM_CHAR x) {
4760 	NimStringDesc* result;
4761 	result = NIM_NIL;
4762 	result = mnewString(((NI) 1));
4763 	result->data[((NI) 0)] = x;
4764 	return result;
4765 }
N_NIMCALL(void,addFloatRoundtrip__system_3127)4766 N_LIB_PRIVATE N_NIMCALL(void, addFloatRoundtrip__system_3127)(NimStringDesc** result, NF x) {
4767 	tyArray__eVNFTutn6un5gcq48fQLdg buffer;
4768 	NI n;
4769 	n = writeFloatToBufferRoundtrip__systemZformatfloat_13(buffer, x);
4770 	addCstringN__systemZformatfloat_5(result, ((NCSTRING) ((&buffer[(((NI) 0))- 0]))), n);
4771 }
N_NIMCALL(void,GC_disableMarkAndSweep__system_2267)4772 N_LIB_PRIVATE N_NIMCALL(void, GC_disableMarkAndSweep__system_2267)(void) {
4773 	gch__system_5217.cycleThreshold = ((NI) 2147483646);
4774 }
N_NIMCALL(void *,newSeqRC1)4775 N_LIB_PRIVATE N_NIMCALL(void*, newSeqRC1)(TNimType* typ, NI len) {
4776 	void* result;
4777 	NI size;
4778 	NI T1_;
4779 	NI TM__Q5wkpxktOdTGvlSRo9bzt9aw_17;
4780 	NI TM__Q5wkpxktOdTGvlSRo9bzt9aw_18;
4781 	result = (void*)0;
4782 	T1_ = (NI)0;
4783 	T1_ = align__system_1624(((NI) 8), (*(*typ).base).align);
4784 	if (nimMulInt(len, (*(*typ).base).size, &TM__Q5wkpxktOdTGvlSRo9bzt9aw_17)) { raiseOverflow(); };
4785 	if (nimAddInt(T1_, (NI)(TM__Q5wkpxktOdTGvlSRo9bzt9aw_17), &TM__Q5wkpxktOdTGvlSRo9bzt9aw_18)) { raiseOverflow(); };
4786 	size = (NI)(TM__Q5wkpxktOdTGvlSRo9bzt9aw_18);
4787 	result = newObjRC1(typ, size);
4788 	(*((TGenericSeq*) (result))).len = len;
4789 	(*((TGenericSeq*) (result))).reserved = len;
4790 	return result;
4791 }
N_NIMCALL(void *,nimNewSeqOfCap)4792 N_LIB_PRIVATE N_NIMCALL(void*, nimNewSeqOfCap)(TNimType* typ, NI cap) {
4793 	void* result;
4794 	NI s;
4795 	NI T1_;
4796 	NI TM__Q5wkpxktOdTGvlSRo9bzt9aw_19;
4797 	NI TM__Q5wkpxktOdTGvlSRo9bzt9aw_20;
4798 	result = (void*)0;
4799 	T1_ = (NI)0;
4800 	T1_ = align__system_1624(((NI) 8), (*(*typ).base).align);
4801 	if (nimMulInt(cap, (*(*typ).base).size, &TM__Q5wkpxktOdTGvlSRo9bzt9aw_19)) { raiseOverflow(); };
4802 	if (nimAddInt(T1_, (NI)(TM__Q5wkpxktOdTGvlSRo9bzt9aw_19), &TM__Q5wkpxktOdTGvlSRo9bzt9aw_20)) { raiseOverflow(); };
4803 	s = (NI)(TM__Q5wkpxktOdTGvlSRo9bzt9aw_20);
4804 	{
4805 		if (!(((*(*typ).base).flags &((NU8)1<<((NU)(((tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ) 0))&7U)))!=0)) goto LA4_;
4806 		result = newObjNoInit(typ, s);
4807 	}
4808 	goto LA2_;
4809 	LA4_: ;
4810 	{
4811 		result = newObj(typ, s);
4812 	}
4813 	LA2_: ;
4814 	(*((TGenericSeq*) (result))).len = ((NI) 0);
4815 	(*((TGenericSeq*) (result))).reserved = cap;
4816 	return result;
4817 }
N_NIMCALL(void,genericReset)4818 N_LIB_PRIVATE N_NIMCALL(void, genericReset)(void* dest, TNimType* mt) {
4819 	NI d;
4820 	d = ((NI) (ptrdiff_t) (dest));
4821 	switch ((*mt).kind) {
4822 	case ((tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A) 22):
4823 	{
4824 		unsureAsgnRef(((void**) (dest)), NIM_NIL);
4825 	}
4826 	break;
4827 	case ((tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A) 28):
4828 	{
4829 		unsureAsgnRef(((void**) (dest)), NIM_NIL);
4830 	}
4831 	break;
4832 	case ((tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A) 24):
4833 	{
4834 		unsureAsgnRef(((void**) (dest)), NIM_NIL);
4835 	}
4836 	break;
4837 	case ((tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A) 18):
4838 	{
4839 		genericResetAux__system_6402(dest, (*mt).node);
4840 	}
4841 	break;
4842 	case ((tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A) 17):
4843 	{
4844 		TNimType** pint;
4845 		genericResetAux__system_6402(dest, (*mt).node);
4846 		pint = ((TNimType**) (dest));
4847 		(*pint) = ((TNimType*) NIM_NIL);
4848 	}
4849 	break;
4850 	case ((tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A) 16):
4851 	case ((tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A) 4):
4852 	{
4853 		{
4854 			NI i;
4855 			NI colontmp_;
4856 			NI res;
4857 			i = (NI)0;
4858 			colontmp_ = (NI)0;
4859 			colontmp_ = (NI)((NI)((*mt).size / (*(*mt).base).size) - ((NI) 1));
4860 			res = ((NI) 0);
4861 			{
4862 				while (1) {
4863 					NI T10_;
4864 					NI T11_;
4865 					if (!(res <= colontmp_)) goto LA9;
4866 					i = res;
4867 					T10_ = (NI)0;
4868 					T10_ = starpercent___system_736(i, (*(*mt).base).size);
4869 					T11_ = (NI)0;
4870 					T11_ = pluspercent___system_696(d, T10_);
4871 					genericReset(((void*) (T11_)), (*mt).base);
4872 					res += ((NI) 1);
4873 				} LA9: ;
4874 			}
4875 		}
4876 	}
4877 	break;
4878 	default:
4879 	{
4880 		zeroMem__system_1724(dest, ((NI) ((*mt).size)));
4881 	}
4882 	break;
4883 	}
4884 }
N_NIMCALL(void,genericResetAux__system_6402)4885 N_LIB_PRIVATE N_NIMCALL(void, genericResetAux__system_6402)(void* dest, TNimNode* n) {
4886 	NI d;
4887 	d = ((NI) (ptrdiff_t) (dest));
4888 	switch ((*n).kind) {
4889 	case ((tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ) 0):
4890 	{
4891 	}
4892 	break;
4893 	case ((tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ) 1):
4894 	{
4895 		NI T3_;
4896 		T3_ = (NI)0;
4897 		T3_ = pluspercent___system_696(d, (*n).offset);
4898 		genericReset(((void*) (T3_)), (*n).typ);
4899 	}
4900 	break;
4901 	case ((tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ) 2):
4902 	{
4903 		{
4904 			NI i;
4905 			NI colontmp_;
4906 			NI res;
4907 			i = (NI)0;
4908 			colontmp_ = (NI)0;
4909 			colontmp_ = (NI)((*n).len - ((NI) 1));
4910 			res = ((NI) 0);
4911 			{
4912 				while (1) {
4913 					if (!(res <= colontmp_)) goto LA7;
4914 					i = res;
4915 					genericResetAux__system_6402(dest, (*n).sons[(i)- 0]);
4916 					res += ((NI) 1);
4917 				} LA7: ;
4918 			}
4919 		}
4920 	}
4921 	break;
4922 	case ((tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ) 3):
4923 	{
4924 		TNimNode* m;
4925 		NI T13_;
4926 		m = selectBranch__system_3653(dest, n);
4927 		{
4928 			if (!!((m == ((TNimNode*) NIM_NIL)))) goto LA11_;
4929 			genericResetAux__system_6402(dest, m);
4930 		}
4931 		LA11_: ;
4932 		T13_ = (NI)0;
4933 		T13_ = pluspercent___system_696(d, (*n).offset);
4934 		zeroMem__system_1724(((void*) (T13_)), ((NI) ((*(*n).typ).size)));
4935 	}
4936 	break;
4937 	}
4938 }
N_NIMCALL(void,genericAssignAux__system_6410)4939 N_LIB_PRIVATE N_NIMCALL(void, genericAssignAux__system_6410)(void* dest, void* src, TNimNode* n, NIM_BOOL shallow) {
4940 	NI d;
4941 	NI s;
4942 	d = ((NI) (ptrdiff_t) (dest));
4943 	s = ((NI) (ptrdiff_t) (src));
4944 	switch ((*n).kind) {
4945 	case ((tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ) 1):
4946 	{
4947 		NI T2_;
4948 		NI T3_;
4949 		T2_ = (NI)0;
4950 		T2_ = pluspercent___system_696(d, (*n).offset);
4951 		T3_ = (NI)0;
4952 		T3_ = pluspercent___system_696(s, (*n).offset);
4953 		genericAssignAux__system_6405(((void*) (T2_)), ((void*) (T3_)), (*n).typ, shallow);
4954 	}
4955 	break;
4956 	case ((tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ) 2):
4957 	{
4958 		{
4959 			NI i;
4960 			NI colontmp_;
4961 			NI res;
4962 			i = (NI)0;
4963 			colontmp_ = (NI)0;
4964 			colontmp_ = (NI)((*n).len - ((NI) 1));
4965 			res = ((NI) 0);
4966 			{
4967 				while (1) {
4968 					if (!(res <= colontmp_)) goto LA7;
4969 					i = res;
4970 					genericAssignAux__system_6410(dest, src, (*n).sons[(i)- 0], shallow);
4971 					res += ((NI) 1);
4972 				} LA7: ;
4973 			}
4974 		}
4975 	}
4976 	break;
4977 	case ((tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ) 3):
4978 	{
4979 		TNimNode* dd;
4980 		TNimNode* m;
4981 		NI T15_;
4982 		NI T16_;
4983 		dd = selectBranch__system_3653(dest, n);
4984 		m = selectBranch__system_3653(src, n);
4985 		{
4986 			NIM_BOOL T11_;
4987 			T11_ = (NIM_BOOL)0;
4988 			T11_ = !((m == dd));
4989 			if (!(T11_)) goto LA12_;
4990 			T11_ = !((dd == ((TNimNode*) NIM_NIL)));
4991 			LA12_: ;
4992 			if (!T11_) goto LA13_;
4993 			genericResetAux__system_6402(dest, dd);
4994 		}
4995 		LA13_: ;
4996 		T15_ = (NI)0;
4997 		T15_ = pluspercent___system_696(d, (*n).offset);
4998 		T16_ = (NI)0;
4999 		T16_ = pluspercent___system_696(s, (*n).offset);
5000 		copyMem__system_1727(((void*) (T15_)), ((void*) (T16_)), ((NI) ((*(*n).typ).size)));
5001 		{
5002 			if (!!((m == ((TNimNode*) NIM_NIL)))) goto LA19_;
5003 			genericAssignAux__system_6410(dest, src, m, shallow);
5004 		}
5005 		LA19_: ;
5006 	}
5007 	break;
5008 	case ((tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ) 0):
5009 	{
5010 	}
5011 	break;
5012 	}
5013 }
N_NIMCALL(void,Marker_tyRef__C0A9bPZSVeyr2BWpBf4Jxqw)5014 static N_NIMCALL(void, Marker_tyRef__C0A9bPZSVeyr2BWpBf4Jxqw)(void* p, NI op) {
5015 	tyObject_ObjectAssignmentDefect__6toVe0IizlEwN9bORXEdX3g* a;
5016 	a = (tyObject_ObjectAssignmentDefect__6toVe0IizlEwN9bORXEdX3g*)p;
5017 	nimGCvisit((void*)(*a).Sup.Sup.parent, op);
5018 	nimGCvisit((void*)(*a).Sup.Sup.message, op);
5019 	nimGCvisit((void*)(*a).Sup.Sup.trace, op);
5020 	nimGCvisit((void*)(*a).Sup.Sup.up, op);
5021 }
N_INLINE(void,sysFatal__system_3290)5022 static N_INLINE(void, sysFatal__system_3290)(NimStringDesc* message) {
5023 	tyObject_ObjectAssignmentDefect__6toVe0IizlEwN9bORXEdX3g* T1_;
5024 	NimStringDesc* T2_;
5025 	T1_ = NIM_NIL;
5026 	T1_ = (tyObject_ObjectAssignmentDefect__6toVe0IizlEwN9bORXEdX3g*) newObj((&NTIrefobjectassignmentdefect__C0A9bPZSVeyr2BWpBf4Jxqw_), sizeof(tyObject_ObjectAssignmentDefect__6toVe0IizlEwN9bORXEdX3g));
5027 	(*T1_).Sup.Sup.Sup.m_type = (&NTIobjectassignmentdefect__6toVe0IizlEwN9bORXEdX3g_);
5028 	(*T1_).Sup.Sup.name = "ObjectAssignmentDefect";
5029 	T2_ = NIM_NIL;
5030 	T2_ = (*T1_).Sup.Sup.message; (*T1_).Sup.Sup.message = copyStringRC1(message);
5031 	if (T2_) nimGCunrefNoCycle(T2_);
5032 	raiseExceptionEx((Exception*)T1_, "ObjectAssignmentDefect", "sysFatal", "fatal.nim", 53);
5033 }
N_INLINE(void,chckObjAsgn)5034 static N_INLINE(void, chckObjAsgn)(TNimType* a, TNimType* b) {
5035 	{
5036 		if (!!((a == b))) goto LA3_;
5037 		sysFatal__system_3290(((NimStringDesc*) &TM__Q5wkpxktOdTGvlSRo9bzt9aw_21));
5038 	}
5039 	LA3_: ;
5040 }
N_NIMCALL(void,genericAssignAux__system_6405)5041 N_LIB_PRIVATE N_NIMCALL(void, genericAssignAux__system_6405)(void* dest, void* src, TNimType* mt, NIM_BOOL shallow) {
5042 	NI d;
5043 	NI s;
5044 {	d = ((NI) (ptrdiff_t) (dest));
5045 	s = ((NI) (ptrdiff_t) (src));
5046 	switch ((*mt).kind) {
5047 	case ((tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A) 28):
5048 	{
5049 		void** x;
5050 		void* s2;
5051 		x = ((void**) (dest));
5052 		s2 = (*((void**) (s)));
5053 		{
5054 			NIM_BOOL T4_;
5055 			NIM_BOOL T5_;
5056 			T4_ = (NIM_BOOL)0;
5057 			T5_ = (NIM_BOOL)0;
5058 			T5_ = (s2 == NIM_NIL);
5059 			if (T5_) goto LA6_;
5060 			T5_ = shallow;
5061 			LA6_: ;
5062 			T4_ = T5_;
5063 			if (T4_) goto LA7_;
5064 			T4_ = !(((NI)((*((TGenericSeq*) (s2))).reserved & ((NI) (-2147483647 -1))) == ((NI) 0)));
5065 			LA7_: ;
5066 			if (!T4_) goto LA8_;
5067 			unsureAsgnRef(x, s2);
5068 		}
5069 		goto LA2_;
5070 		LA8_: ;
5071 		{
5072 			NimStringDesc* T11_;
5073 			T11_ = (NimStringDesc*)0;
5074 			T11_ = copyString(((NimStringDesc*) (s2)));
5075 			unsureAsgnRef(x, ((void*) (T11_)));
5076 		}
5077 		LA2_: ;
5078 	}
5079 	break;
5080 	case ((tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A) 24):
5081 	{
5082 		void* s2_2;
5083 		TGenericSeq* seq;
5084 		void** x_2;
5085 		s2_2 = (*((void**) (src)));
5086 		seq = ((TGenericSeq*) (s2_2));
5087 		x_2 = ((void**) (dest));
5088 		{
5089 			NIM_BOOL T15_;
5090 			NIM_BOOL T16_;
5091 			T15_ = (NIM_BOOL)0;
5092 			T16_ = (NIM_BOOL)0;
5093 			T16_ = (s2_2 == NIM_NIL);
5094 			if (T16_) goto LA17_;
5095 			T16_ = shallow;
5096 			LA17_: ;
5097 			T15_ = T16_;
5098 			if (T15_) goto LA18_;
5099 			T15_ = !(((NI)((*seq).reserved & ((NI) (-2147483647 -1))) == ((NI) 0)));
5100 			LA18_: ;
5101 			if (!T15_) goto LA19_;
5102 			unsureAsgnRef(x_2, s2_2);
5103 			goto BeforeRet_;
5104 		}
5105 		LA19_: ;
5106 		{
5107 			void* ss;
5108 			NI dst;
5109 			NI T25_;
5110 			NI T26_;
5111 			NI T27_;
5112 			NI T28_;
5113 			NI T29_;
5114 			if (!(((*(*mt).base).flags &((NU8)1<<((NU)(((tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ) 0))&7U)))!=0)) goto LA23_;
5115 			ss = nimNewSeqOfCap(mt, (*seq).len);
5116 			(*((TGenericSeq*) (ss))).len = (*seq).len;
5117 			unsureAsgnRef(x_2, ss);
5118 			dst = ((NI) (ptrdiff_t) ((*((void**) (dest)))));
5119 			T25_ = (NI)0;
5120 			T25_ = align__system_1624(((NI) 8), (*(*mt).base).align);
5121 			T26_ = (NI)0;
5122 			T26_ = pluspercent___system_696(dst, T25_);
5123 			T27_ = (NI)0;
5124 			T27_ = align__system_1624(((NI) 8), (*(*mt).base).align);
5125 			T28_ = (NI)0;
5126 			T28_ = pluspercent___system_696(((NI) (ptrdiff_t) (s2_2)), T27_);
5127 			T29_ = (NI)0;
5128 			T29_ = starpercent___system_736((*seq).len, (*(*mt).base).size);
5129 			copyMem__system_1727(((void*) (T26_)), ((void*) (T28_)), ((NI) (T29_)));
5130 		}
5131 		goto LA21_;
5132 		LA23_: ;
5133 		{
5134 			void* T31_;
5135 			NI dst_2;
5136 			T31_ = (void*)0;
5137 			T31_ = newSeq(mt, (*seq).len);
5138 			unsureAsgnRef(x_2, T31_);
5139 			dst_2 = ((NI) (ptrdiff_t) ((*((void**) (dest)))));
5140 			{
5141 				NI i;
5142 				NI colontmp_;
5143 				NI res;
5144 				i = (NI)0;
5145 				colontmp_ = (NI)0;
5146 				colontmp_ = (NI)((*seq).len - ((NI) 1));
5147 				res = ((NI) 0);
5148 				{
5149 					while (1) {
5150 						NI T35_;
5151 						NI T36_;
5152 						NI T37_;
5153 						NI T38_;
5154 						NI T39_;
5155 						NI T40_;
5156 						NI T41_;
5157 						NI T42_;
5158 						if (!(res <= colontmp_)) goto LA34;
5159 						i = res;
5160 						T35_ = (NI)0;
5161 						T35_ = align__system_1624(((NI) 8), (*(*mt).base).align);
5162 						T36_ = (NI)0;
5163 						T36_ = pluspercent___system_696(dst_2, T35_);
5164 						T37_ = (NI)0;
5165 						T37_ = starpercent___system_736(i, (*(*mt).base).size);
5166 						T38_ = (NI)0;
5167 						T38_ = pluspercent___system_696(T36_, T37_);
5168 						T39_ = (NI)0;
5169 						T39_ = align__system_1624(((NI) 8), (*(*mt).base).align);
5170 						T40_ = (NI)0;
5171 						T40_ = pluspercent___system_696(((NI) (ptrdiff_t) (s2_2)), T39_);
5172 						T41_ = (NI)0;
5173 						T41_ = starpercent___system_736(i, (*(*mt).base).size);
5174 						T42_ = (NI)0;
5175 						T42_ = pluspercent___system_696(T40_, T41_);
5176 						genericAssignAux__system_6405(((void*) (T38_)), ((void*) (T42_)), (*mt).base, shallow);
5177 						res += ((NI) 1);
5178 					} LA34: ;
5179 				}
5180 			}
5181 		}
5182 		LA21_: ;
5183 	}
5184 	break;
5185 	case ((tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A) 17):
5186 	{
5187 		TNimType* it;
5188 		TNimType** pint;
5189 		TNimType* srcType;
5190 		it = (*mt).base;
5191 		{
5192 			while (1) {
5193 				if (!!((it == ((TNimType*) NIM_NIL)))) goto LA45;
5194 				genericAssignAux__system_6410(dest, src, (*it).node, shallow);
5195 				it = (*it).base;
5196 			} LA45: ;
5197 		}
5198 		genericAssignAux__system_6410(dest, src, (*mt).node, shallow);
5199 		pint = ((TNimType**) (dest));
5200 		srcType = (*((TNimType**) (src)));
5201 		{
5202 			if (!!((srcType == ((TNimType*) NIM_NIL)))) goto LA48_;
5203 			chckObjAsgn(srcType, mt);
5204 		}
5205 		LA48_: ;
5206 		(*pint) = mt;
5207 	}
5208 	break;
5209 	case ((tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A) 18):
5210 	{
5211 		genericAssignAux__system_6410(dest, src, (*mt).node, shallow);
5212 	}
5213 	break;
5214 	case ((tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A) 16):
5215 	case ((tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A) 4):
5216 	{
5217 		{
5218 			NI i_2;
5219 			NI colontmp__2;
5220 			NI res_2;
5221 			i_2 = (NI)0;
5222 			colontmp__2 = (NI)0;
5223 			colontmp__2 = (NI)((NI)((*mt).size / (*(*mt).base).size) - ((NI) 1));
5224 			res_2 = ((NI) 0);
5225 			{
5226 				while (1) {
5227 					NI T55_;
5228 					NI T56_;
5229 					NI T57_;
5230 					NI T58_;
5231 					if (!(res_2 <= colontmp__2)) goto LA54;
5232 					i_2 = res_2;
5233 					T55_ = (NI)0;
5234 					T55_ = starpercent___system_736(i_2, (*(*mt).base).size);
5235 					T56_ = (NI)0;
5236 					T56_ = pluspercent___system_696(d, T55_);
5237 					T57_ = (NI)0;
5238 					T57_ = starpercent___system_736(i_2, (*(*mt).base).size);
5239 					T58_ = (NI)0;
5240 					T58_ = pluspercent___system_696(s, T57_);
5241 					genericAssignAux__system_6405(((void*) (T56_)), ((void*) (T58_)), (*mt).base, shallow);
5242 					res_2 += ((NI) 1);
5243 				} LA54: ;
5244 			}
5245 		}
5246 	}
5247 	break;
5248 	case ((tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A) 22):
5249 	{
5250 		unsureAsgnRef(((void**) (dest)), (*((void**) (s))));
5251 	}
5252 	break;
5253 	default:
5254 	{
5255 		copyMem__system_1727(dest, src, ((NI) ((*mt).size)));
5256 	}
5257 	break;
5258 	}
5259 	}BeforeRet_: ;
5260 }
N_NIMCALL(void,genericAssign)5261 N_LIB_PRIVATE N_NIMCALL(void, genericAssign)(void* dest, void* src, TNimType* mt) {
5262 	genericAssignAux__system_6405(dest, src, mt, NIM_FALSE);
5263 }
N_NIMCALL(void,genericSeqAssign)5264 N_LIB_PRIVATE N_NIMCALL(void, genericSeqAssign)(void* dest, void* src, TNimType* mt) {
5265 	void* src_2;
5266 	src_2 = src;
5267 	genericAssign(dest, ((void*) ((&src_2))), mt);
5268 }
N_NIMCALL(void,Marker_tyRef__RJnHOb9cQV3neNC9cDkRgMyw)5269 static N_NIMCALL(void, Marker_tyRef__RJnHOb9cQV3neNC9cDkRgMyw)(void* p, NI op) {
5270 	tyObject_IndexDefect__n6tGEPHKkh7E1AP9bj30WrQ* a;
5271 	a = (tyObject_IndexDefect__n6tGEPHKkh7E1AP9bj30WrQ*)p;
5272 	nimGCvisit((void*)(*a).Sup.Sup.parent, op);
5273 	nimGCvisit((void*)(*a).Sup.Sup.message, op);
5274 	nimGCvisit((void*)(*a).Sup.Sup.trace, op);
5275 	nimGCvisit((void*)(*a).Sup.Sup.up, op);
5276 }
N_NIMCALL(NimStringDesc *,substr__system_7755)5277 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, substr__system_7755)(NimStringDesc* s, NI first) {
5278 	NimStringDesc* result;
5279 	result = NIM_NIL;
5280 	result = substr__system_7743(s, first, ((s ? s->Sup.len : 0)-1));
5281 	return result;
5282 }
N_NIMCALL(NI,hashString)5283 N_LIB_PRIVATE N_NIMCALL(NI, hashString)(NimStringDesc* s) {
5284 	NI result;
5285 	NU h;
5286 	result = (NI)0;
5287 	h = ((NU) 0);
5288 	{
5289 		NI i;
5290 		NI colontmp_;
5291 		NI res;
5292 		i = (NI)0;
5293 		colontmp_ = (NI)0;
5294 		colontmp_ = (NI)((s ? s->Sup.len : 0) - ((NI) 1));
5295 		res = ((NI) 0);
5296 		{
5297 			while (1) {
5298 				if (!(res <= colontmp_)) goto LA3;
5299 				i = res;
5300 				h = (NU)((NU32)(h) + (NU32)(((NU) (((NU8)(s->data[i]))))));
5301 				h = (NU)((NU32)(h) + (NU32)((NU)((NU32)(h) << (NU32)(((NI) 10)))));
5302 				h = (NU)(h ^ (NU)((NU32)(h) >> (NU32)(((NI) 6))));
5303 				res += ((NI) 1);
5304 			} LA3: ;
5305 		}
5306 	}
5307 	h = (NU)((NU32)(h) + (NU32)((NU)((NU32)(h) << (NU32)(((NI) 3)))));
5308 	h = (NU)(h ^ (NU)((NU32)(h) >> (NU32)(((NI) 11))));
5309 	h = (NU)((NU32)(h) + (NU32)((NU)((NU32)(h) << (NU32)(((NI) 15)))));
5310 	result = ((NI) (h));
5311 	return result;
5312 }
N_NIMCALL(void,Marker_tyRef__Ie1m0dv1ZHg72IgPRr1cDw)5313 static N_NIMCALL(void, Marker_tyRef__Ie1m0dv1ZHg72IgPRr1cDw)(void* p, NI op) {
5314 	tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw* a;
5315 	a = (tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw*)p;
5316 	nimGCvisit((void*)(*a).Sup.Sup.parent, op);
5317 	nimGCvisit((void*)(*a).Sup.Sup.message, op);
5318 	nimGCvisit((void*)(*a).Sup.Sup.trace, op);
5319 	nimGCvisit((void*)(*a).Sup.Sup.up, op);
5320 }
N_INLINE(int,nimCmpMem)5321 static N_INLINE(int, nimCmpMem)(void* a, void* b, NI size) {
5322 	int result;
5323 	result = (int)0;
5324 	result = memcmp(a, b, ((size_t) (size)));
5325 	return result;
5326 }
N_NIMCALL(NI,cmp__system_1549)5327 N_LIB_PRIVATE N_NIMCALL(NI, cmp__system_1549)(NimStringDesc* x, NimStringDesc* y) {
5328 	NI result;
5329 	NI minlen;
5330 	int T1_;
5331 	result = (NI)0;
5332 	minlen = (((x ? x->Sup.len : 0) <= (y ? y->Sup.len : 0)) ? (x ? x->Sup.len : 0) : (y ? y->Sup.len : 0));
5333 	T1_ = (int)0;
5334 	T1_ = nimCmpMem(((void*) (nimToCStringConv(x))), ((void*) (nimToCStringConv(y))), ((NI) (((size_t) (minlen)))));
5335 	result = ((NI) (T1_));
5336 	{
5337 		if (!(result == ((NI) 0))) goto LA4_;
5338 		result = (NI)((x ? x->Sup.len : 0) - (y ? y->Sup.len : 0));
5339 	}
5340 	LA4_: ;
5341 	return result;
5342 }
N_NIMCALL(void,Marker_tyRef__9clYsYwyjCqe2PFTuCI3Ubg)5343 static N_NIMCALL(void, Marker_tyRef__9clYsYwyjCqe2PFTuCI3Ubg)(void* p, NI op) {
5344 	tyObject_OSError__BeJgrOdDsczOwEWOZbRfKA* a;
5345 	a = (tyObject_OSError__BeJgrOdDsczOwEWOZbRfKA*)p;
5346 	nimGCvisit((void*)(*a).Sup.Sup.parent, op);
5347 	nimGCvisit((void*)(*a).Sup.Sup.message, op);
5348 	nimGCvisit((void*)(*a).Sup.Sup.trace, op);
5349 	nimGCvisit((void*)(*a).Sup.Sup.up, op);
5350 }
N_NIMCALL(void,nimLeaveFinally)5351 N_LIB_PRIVATE N_NIMCALL(void, nimLeaveFinally)(void) {
5352 	{
5353 		if (!!((excHandler__system_2565 == ((TSafePoint*) NIM_NIL)))) goto LA3_;
5354 		_longjmp((*excHandler__system_2565).context, ((int) 1));
5355 	}
5356 	goto LA1_;
5357 	LA3_: ;
5358 	{
5359 		reportUnhandledError__system_2855(currException__system_2566);
5360 		exit(((NI) 1));
5361 	}
5362 	LA1_: ;
5363 }
N_NIMCALL(void,Marker_tyRef__HMIVdYjdZYWskTmTQVo5BQ)5364 static N_NIMCALL(void, Marker_tyRef__HMIVdYjdZYWskTmTQVo5BQ)(void* p, NI op) {
5365 	tyObject_IOError__iLZrPn9anoh9ad1MmO0RczFw* a;
5366 	a = (tyObject_IOError__iLZrPn9anoh9ad1MmO0RczFw*)p;
5367 	nimGCvisit((void*)(*a).Sup.Sup.parent, op);
5368 	nimGCvisit((void*)(*a).Sup.Sup.message, op);
5369 	nimGCvisit((void*)(*a).Sup.Sup.trace, op);
5370 	nimGCvisit((void*)(*a).Sup.Sup.up, op);
5371 }
N_NIMCALL(NIM_BOOL,isObj)5372 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isObj)(TNimType* obj, TNimType* subclass) {
5373 	NIM_BOOL result;
5374 	TNimType* x;
5375 {	result = (NIM_BOOL)0;
5376 	x = obj;
5377 	{
5378 		if (!(x == subclass)) goto LA3_;
5379 		result = NIM_TRUE;
5380 		goto BeforeRet_;
5381 	}
5382 	LA3_: ;
5383 	{
5384 		while (1) {
5385 			if (!!((x == subclass))) goto LA6;
5386 			{
5387 				if (!(x == ((TNimType*) NIM_NIL))) goto LA9_;
5388 				result = NIM_FALSE;
5389 				goto BeforeRet_;
5390 			}
5391 			LA9_: ;
5392 			x = (*x).base;
5393 		} LA6: ;
5394 	}
5395 	result = NIM_TRUE;
5396 	goto BeforeRet_;
5397 	}BeforeRet_: ;
5398 	return result;
5399 }
N_NIMCALL(void,quit__system_7173)5400 N_LIB_PRIVATE N_NIMCALL(void, quit__system_7173)(NimStringDesc* errormsg, NI errorcode) {
5401 	rawWrite(__stderrp, nimToCStringConv(errormsg));
5402 	rawWrite(__stderrp, "\012");
5403 	exit(errorcode);
5404 }
N_NIMCALL(NIM_BOOL,stackTraceAvailable__system_2747)5405 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, stackTraceAvailable__system_2747)(void) {
5406 	NIM_BOOL result;
5407 	result = (NIM_BOOL)0;
5408 	result = NIM_FALSE;
5409 	return result;
5410 }
N_INLINE(void,showErrorMessage2__system_2544)5411 static N_INLINE(void, showErrorMessage2__system_2544)(NimStringDesc* data) {
5412 	showErrorMessage__system_2536(nimToCStringConv(data), (data ? data->Sup.len : 0));
5413 }
N_NIMCALL(void,writeStackTrace__system_2161)5414 N_LIB_PRIVATE N_NIMCALL(void, writeStackTrace__system_2161)(void) {
5415 	NimStringDesc* s;
5416 	s = copyString(((NimStringDesc*) &TM__Q5wkpxktOdTGvlSRo9bzt9aw_22));
5417 	showErrorMessage2__system_2544(s);
5418 }
N_NIMCALL(void,Marker_tyRef__LEclZrWX2FQAodlapxGITw)5419 static N_NIMCALL(void, Marker_tyRef__LEclZrWX2FQAodlapxGITw)(void* p, NI op) {
5420 	tyObject_EOFError__KGSY1JdrNB7Xi8KDhXFhSg* a;
5421 	a = (tyObject_EOFError__KGSY1JdrNB7Xi8KDhXFhSg*)p;
5422 	nimGCvisit((void*)(*a).Sup.Sup.Sup.parent, op);
5423 	nimGCvisit((void*)(*a).Sup.Sup.Sup.message, op);
5424 	nimGCvisit((void*)(*a).Sup.Sup.Sup.trace, op);
5425 	nimGCvisit((void*)(*a).Sup.Sup.Sup.up, op);
5426 }
N_NIMCALL(void,Marker_tyRef__0vJvi4uHbxjbxlkkX7P1EA)5427 static N_NIMCALL(void, Marker_tyRef__0vJvi4uHbxjbxlkkX7P1EA)(void* p, NI op) {
5428 	RootObj* a;
5429 	a = (RootObj*)p;
5430 }
N_NIMCALL(NI,nimParseBiggestFloat)5431 N_LIB_PRIVATE N_NIMCALL(NI, nimParseBiggestFloat)(NimStringDesc* s, NF* number, NI start) {
5432 	NI result;
5433 	NI i;
5434 	NF sign;
5435 	NI kdigits;
5436 	NI fdigits;
5437 	NI exponent;
5438 	NU64 integer;
5439 	NI fracExponent;
5440 	NI expSign;
5441 	NI firstDigit;
5442 	NIM_BOOL hasSign;
5443 	NI realExponent;
5444 	NIM_BOOL expNegative;
5445 	NI absExponent;
5446 	NI digits;
5447 	tyArray__PGLh8drTnaWr3s1qUUSq2Q t;
5448 	NI ti;
5449 	NI maxlen;
5450 	NI endPos;
5451 {	result = (NI)0;
5452 	i = start;
5453 	sign = 1.0;
5454 	kdigits = ((NI) 0);
5455 	fdigits = ((NI) 0);
5456 	exponent = ((NI) 0);
5457 	integer = 0ULL;
5458 	fracExponent = ((NI) 0);
5459 	expSign = ((NI) 1);
5460 	firstDigit = ((NI) -1);
5461 	hasSign = NIM_FALSE;
5462 	{
5463 		NIM_BOOL T3_;
5464 		NIM_BOOL T5_;
5465 		T3_ = (NIM_BOOL)0;
5466 		T3_ = (i < (s ? s->Sup.len : 0));
5467 		if (!(T3_)) goto LA4_;
5468 		T5_ = (NIM_BOOL)0;
5469 		T5_ = ((NU8)(s->data[i]) == (NU8)(43));
5470 		if (T5_) goto LA6_;
5471 		T5_ = ((NU8)(s->data[i]) == (NU8)(45));
5472 		LA6_: ;
5473 		T3_ = T5_;
5474 		LA4_: ;
5475 		if (!T3_) goto LA7_;
5476 		hasSign = NIM_TRUE;
5477 		{
5478 			if (!((NU8)(s->data[i]) == (NU8)(45))) goto LA11_;
5479 			sign = -1.0;
5480 		}
5481 		LA11_: ;
5482 		i += ((NI) 1);
5483 	}
5484 	LA7_: ;
5485 	{
5486 		NIM_BOOL T15_;
5487 		NIM_BOOL T17_;
5488 		T15_ = (NIM_BOOL)0;
5489 		T15_ = ((NI)(i + ((NI) 2)) < (s ? s->Sup.len : 0));
5490 		if (!(T15_)) goto LA16_;
5491 		T17_ = (NIM_BOOL)0;
5492 		T17_ = ((NU8)(s->data[i]) == (NU8)(78));
5493 		if (T17_) goto LA18_;
5494 		T17_ = ((NU8)(s->data[i]) == (NU8)(110));
5495 		LA18_: ;
5496 		T15_ = T17_;
5497 		LA16_: ;
5498 		if (!T15_) goto LA19_;
5499 		{
5500 			NIM_BOOL T23_;
5501 			T23_ = (NIM_BOOL)0;
5502 			T23_ = ((NU8)(s->data[(NI)(i + ((NI) 1))]) == (NU8)(65));
5503 			if (T23_) goto LA24_;
5504 			T23_ = ((NU8)(s->data[(NI)(i + ((NI) 1))]) == (NU8)(97));
5505 			LA24_: ;
5506 			if (!T23_) goto LA25_;
5507 			{
5508 				NIM_BOOL T29_;
5509 				T29_ = (NIM_BOOL)0;
5510 				T29_ = ((NU8)(s->data[(NI)(i + ((NI) 2))]) == (NU8)(78));
5511 				if (T29_) goto LA30_;
5512 				T29_ = ((NU8)(s->data[(NI)(i + ((NI) 2))]) == (NU8)(110));
5513 				LA30_: ;
5514 				if (!T29_) goto LA31_;
5515 				{
5516 					NIM_BOOL T35_;
5517 					T35_ = (NIM_BOOL)0;
5518 					T35_ = ((s ? s->Sup.len : 0) <= (NI)(i + ((NI) 3)));
5519 					if (T35_) goto LA36_;
5520 					T35_ = !((((NU8)(s->data[(NI)(i + ((NI) 3))])) >= ((NU8)(97)) && ((NU8)(s->data[(NI)(i + ((NI) 3))])) <= ((NU8)(122)) || ((NU8)(s->data[(NI)(i + ((NI) 3))])) >= ((NU8)(65)) && ((NU8)(s->data[(NI)(i + ((NI) 3))])) <= ((NU8)(90)) || ((NU8)(s->data[(NI)(i + ((NI) 3))])) >= ((NU8)(48)) && ((NU8)(s->data[(NI)(i + ((NI) 3))])) <= ((NU8)(57)) || ((NU8)(s->data[(NI)(i + ((NI) 3))])) == ((NU8)(95))));
5521 					LA36_: ;
5522 					if (!T35_) goto LA37_;
5523 					(*number) = NAN;
5524 					result = (NI)((NI)(i + ((NI) 3)) - start);
5525 					goto BeforeRet_;
5526 				}
5527 				LA37_: ;
5528 			}
5529 			LA31_: ;
5530 		}
5531 		LA25_: ;
5532 		result = ((NI) 0);
5533 		goto BeforeRet_;
5534 	}
5535 	LA19_: ;
5536 	{
5537 		NIM_BOOL T41_;
5538 		NIM_BOOL T43_;
5539 		T41_ = (NIM_BOOL)0;
5540 		T41_ = ((NI)(i + ((NI) 2)) < (s ? s->Sup.len : 0));
5541 		if (!(T41_)) goto LA42_;
5542 		T43_ = (NIM_BOOL)0;
5543 		T43_ = ((NU8)(s->data[i]) == (NU8)(73));
5544 		if (T43_) goto LA44_;
5545 		T43_ = ((NU8)(s->data[i]) == (NU8)(105));
5546 		LA44_: ;
5547 		T41_ = T43_;
5548 		LA42_: ;
5549 		if (!T41_) goto LA45_;
5550 		{
5551 			NIM_BOOL T49_;
5552 			T49_ = (NIM_BOOL)0;
5553 			T49_ = ((NU8)(s->data[(NI)(i + ((NI) 1))]) == (NU8)(78));
5554 			if (T49_) goto LA50_;
5555 			T49_ = ((NU8)(s->data[(NI)(i + ((NI) 1))]) == (NU8)(110));
5556 			LA50_: ;
5557 			if (!T49_) goto LA51_;
5558 			{
5559 				NIM_BOOL T55_;
5560 				T55_ = (NIM_BOOL)0;
5561 				T55_ = ((NU8)(s->data[(NI)(i + ((NI) 2))]) == (NU8)(70));
5562 				if (T55_) goto LA56_;
5563 				T55_ = ((NU8)(s->data[(NI)(i + ((NI) 2))]) == (NU8)(102));
5564 				LA56_: ;
5565 				if (!T55_) goto LA57_;
5566 				{
5567 					NIM_BOOL T61_;
5568 					T61_ = (NIM_BOOL)0;
5569 					T61_ = ((s ? s->Sup.len : 0) <= (NI)(i + ((NI) 3)));
5570 					if (T61_) goto LA62_;
5571 					T61_ = !((((NU8)(s->data[(NI)(i + ((NI) 3))])) >= ((NU8)(97)) && ((NU8)(s->data[(NI)(i + ((NI) 3))])) <= ((NU8)(122)) || ((NU8)(s->data[(NI)(i + ((NI) 3))])) >= ((NU8)(65)) && ((NU8)(s->data[(NI)(i + ((NI) 3))])) <= ((NU8)(90)) || ((NU8)(s->data[(NI)(i + ((NI) 3))])) >= ((NU8)(48)) && ((NU8)(s->data[(NI)(i + ((NI) 3))])) <= ((NU8)(57)) || ((NU8)(s->data[(NI)(i + ((NI) 3))])) == ((NU8)(95))));
5572 					LA62_: ;
5573 					if (!T61_) goto LA63_;
5574 					(*number) = ((NF)(INF) * (NF)(sign));
5575 					result = (NI)((NI)(i + ((NI) 3)) - start);
5576 					goto BeforeRet_;
5577 				}
5578 				LA63_: ;
5579 			}
5580 			LA57_: ;
5581 		}
5582 		LA51_: ;
5583 		result = ((NI) 0);
5584 		goto BeforeRet_;
5585 	}
5586 	LA45_: ;
5587 	{
5588 		NIM_BOOL T67_;
5589 		T67_ = (NIM_BOOL)0;
5590 		T67_ = (i < (s ? s->Sup.len : 0));
5591 		if (!(T67_)) goto LA68_;
5592 		T67_ = (((NU8)(s->data[i])) >= ((NU8)(48)) && ((NU8)(s->data[i])) <= ((NU8)(57)));
5593 		LA68_: ;
5594 		if (!T67_) goto LA69_;
5595 		firstDigit = (NI)(((NU8)(s->data[i])) - ((NI) 48));
5596 	}
5597 	LA69_: ;
5598 	{
5599 		while (1) {
5600 			NIM_BOOL T73_;
5601 			T73_ = (NIM_BOOL)0;
5602 			T73_ = (i < (s ? s->Sup.len : 0));
5603 			if (!(T73_)) goto LA74_;
5604 			T73_ = (((NU8)(s->data[i])) >= ((NU8)(48)) && ((NU8)(s->data[i])) <= ((NU8)(57)));
5605 			LA74_: ;
5606 			if (!T73_) goto LA72;
5607 			kdigits += ((NI) 1);
5608 			integer = (NU64)((NU64)((NU64)((NU64)(integer) * (NU64)(10ULL))) + (NU64)(((NU64) ((NI)(((NU8)(s->data[i])) - ((NI) 48))))));
5609 			i += ((NI) 1);
5610 			{
5611 				while (1) {
5612 					NIM_BOOL T77_;
5613 					T77_ = (NIM_BOOL)0;
5614 					T77_ = (i < (s ? s->Sup.len : 0));
5615 					if (!(T77_)) goto LA78_;
5616 					T77_ = ((NU8)(s->data[i]) == (NU8)(95));
5617 					LA78_: ;
5618 					if (!T77_) goto LA76;
5619 					i += ((NI) 1);
5620 				} LA76: ;
5621 			}
5622 		} LA72: ;
5623 	}
5624 	{
5625 		NIM_BOOL T81_;
5626 		T81_ = (NIM_BOOL)0;
5627 		T81_ = (i < (s ? s->Sup.len : 0));
5628 		if (!(T81_)) goto LA82_;
5629 		T81_ = ((NU8)(s->data[i]) == (NU8)(46));
5630 		LA82_: ;
5631 		if (!T81_) goto LA83_;
5632 		i += ((NI) 1);
5633 		{
5634 			if (!(kdigits <= ((NI) 0))) goto LA87_;
5635 			{
5636 				while (1) {
5637 					NIM_BOOL T91_;
5638 					T91_ = (NIM_BOOL)0;
5639 					T91_ = (i < (s ? s->Sup.len : 0));
5640 					if (!(T91_)) goto LA92_;
5641 					T91_ = ((NU8)(s->data[i]) == (NU8)(48));
5642 					LA92_: ;
5643 					if (!T91_) goto LA90;
5644 					fracExponent += ((NI) 1);
5645 					i += ((NI) 1);
5646 					{
5647 						while (1) {
5648 							NIM_BOOL T95_;
5649 							T95_ = (NIM_BOOL)0;
5650 							T95_ = (i < (s ? s->Sup.len : 0));
5651 							if (!(T95_)) goto LA96_;
5652 							T95_ = ((NU8)(s->data[i]) == (NU8)(95));
5653 							LA96_: ;
5654 							if (!T95_) goto LA94;
5655 							i += ((NI) 1);
5656 						} LA94: ;
5657 					}
5658 				} LA90: ;
5659 			}
5660 		}
5661 		LA87_: ;
5662 		{
5663 			NIM_BOOL T99_;
5664 			NIM_BOOL T100_;
5665 			T99_ = (NIM_BOOL)0;
5666 			T100_ = (NIM_BOOL)0;
5667 			T100_ = (firstDigit == ((NI) -1));
5668 			if (!(T100_)) goto LA101_;
5669 			T100_ = (i < (s ? s->Sup.len : 0));
5670 			LA101_: ;
5671 			T99_ = T100_;
5672 			if (!(T99_)) goto LA102_;
5673 			T99_ = (((NU8)(s->data[i])) >= ((NU8)(48)) && ((NU8)(s->data[i])) <= ((NU8)(57)));
5674 			LA102_: ;
5675 			if (!T99_) goto LA103_;
5676 			firstDigit = (NI)(((NU8)(s->data[i])) - ((NI) 48));
5677 		}
5678 		LA103_: ;
5679 		{
5680 			while (1) {
5681 				NIM_BOOL T107_;
5682 				T107_ = (NIM_BOOL)0;
5683 				T107_ = (i < (s ? s->Sup.len : 0));
5684 				if (!(T107_)) goto LA108_;
5685 				T107_ = (((NU8)(s->data[i])) >= ((NU8)(48)) && ((NU8)(s->data[i])) <= ((NU8)(57)));
5686 				LA108_: ;
5687 				if (!T107_) goto LA106;
5688 				fdigits += ((NI) 1);
5689 				fracExponent += ((NI) 1);
5690 				integer = (NU64)((NU64)((NU64)((NU64)(integer) * (NU64)(10ULL))) + (NU64)(((NU64) ((NI)(((NU8)(s->data[i])) - ((NI) 48))))));
5691 				i += ((NI) 1);
5692 				{
5693 					while (1) {
5694 						NIM_BOOL T111_;
5695 						T111_ = (NIM_BOOL)0;
5696 						T111_ = (i < (s ? s->Sup.len : 0));
5697 						if (!(T111_)) goto LA112_;
5698 						T111_ = ((NU8)(s->data[i]) == (NU8)(95));
5699 						LA112_: ;
5700 						if (!T111_) goto LA110;
5701 						i += ((NI) 1);
5702 					} LA110: ;
5703 				}
5704 			} LA106: ;
5705 		}
5706 	}
5707 	LA83_: ;
5708 	{
5709 		NIM_BOOL T115_;
5710 		NIM_BOOL T117_;
5711 		NIM_BOOL T119_;
5712 		T115_ = (NIM_BOOL)0;
5713 		T115_ = ((NI)(kdigits + fdigits) <= ((NI) 0));
5714 		if (!(T115_)) goto LA116_;
5715 		T117_ = (NIM_BOOL)0;
5716 		T117_ = (i == start);
5717 		if (T117_) goto LA118_;
5718 		T119_ = (NIM_BOOL)0;
5719 		T119_ = (i == (NI)(start + ((NI) 1)));
5720 		if (!(T119_)) goto LA120_;
5721 		T119_ = hasSign;
5722 		LA120_: ;
5723 		T117_ = T119_;
5724 		LA118_: ;
5725 		T115_ = T117_;
5726 		LA116_: ;
5727 		if (!T115_) goto LA121_;
5728 		result = ((NI) 0);
5729 		goto BeforeRet_;
5730 	}
5731 	LA121_: ;
5732 	{
5733 		NIM_BOOL T125_;
5734 		T125_ = (NIM_BOOL)0;
5735 		T125_ = ((NI)(i + ((NI) 1)) < (s ? s->Sup.len : 0));
5736 		if (!(T125_)) goto LA126_;
5737 		T125_ = (((NU8)(s->data[i])) == ((NU8)(101)) || ((NU8)(s->data[i])) == ((NU8)(69)));
5738 		LA126_: ;
5739 		if (!T125_) goto LA127_;
5740 		i += ((NI) 1);
5741 		{
5742 			NIM_BOOL T131_;
5743 			T131_ = (NIM_BOOL)0;
5744 			T131_ = ((NU8)(s->data[i]) == (NU8)(43));
5745 			if (T131_) goto LA132_;
5746 			T131_ = ((NU8)(s->data[i]) == (NU8)(45));
5747 			LA132_: ;
5748 			if (!T131_) goto LA133_;
5749 			{
5750 				if (!((NU8)(s->data[i]) == (NU8)(45))) goto LA137_;
5751 				expSign = ((NI) -1);
5752 			}
5753 			LA137_: ;
5754 			i += ((NI) 1);
5755 		}
5756 		LA133_: ;
5757 		{
5758 			if (!!((((NU8)(s->data[i])) >= ((NU8)(48)) && ((NU8)(s->data[i])) <= ((NU8)(57))))) goto LA141_;
5759 			result = ((NI) 0);
5760 			goto BeforeRet_;
5761 		}
5762 		LA141_: ;
5763 		{
5764 			while (1) {
5765 				NIM_BOOL T145_;
5766 				T145_ = (NIM_BOOL)0;
5767 				T145_ = (i < (s ? s->Sup.len : 0));
5768 				if (!(T145_)) goto LA146_;
5769 				T145_ = (((NU8)(s->data[i])) >= ((NU8)(48)) && ((NU8)(s->data[i])) <= ((NU8)(57)));
5770 				LA146_: ;
5771 				if (!T145_) goto LA144;
5772 				exponent = (NI)((NI)(exponent * ((NI) 10)) + (NI)(((NU8)(s->data[i])) - ((NI) 48)));
5773 				i += ((NI) 1);
5774 				{
5775 					while (1) {
5776 						NIM_BOOL T149_;
5777 						T149_ = (NIM_BOOL)0;
5778 						T149_ = (i < (s ? s->Sup.len : 0));
5779 						if (!(T149_)) goto LA150_;
5780 						T149_ = ((NU8)(s->data[i]) == (NU8)(95));
5781 						LA150_: ;
5782 						if (!T149_) goto LA148;
5783 						i += ((NI) 1);
5784 					} LA148: ;
5785 				}
5786 			} LA144: ;
5787 		}
5788 	}
5789 	LA127_: ;
5790 	realExponent = (NI)((NI)(expSign * exponent) - fracExponent);
5791 	expNegative = (realExponent < ((NI) 0));
5792 	absExponent = (realExponent > 0? (realExponent) : -(realExponent));
5793 	{
5794 		if (!(((NI) 999) < absExponent)) goto LA153_;
5795 		{
5796 			if (!expNegative) goto LA157_;
5797 			(*number) = ((NF)(0.0) * (NF)(sign));
5798 		}
5799 		goto LA155_;
5800 		LA157_: ;
5801 		{
5802 			(*number) = ((NF)(INF) * (NF)(sign));
5803 		}
5804 		LA155_: ;
5805 		result = (NI)(i - start);
5806 		goto BeforeRet_;
5807 	}
5808 	LA153_: ;
5809 	digits = (NI)(kdigits + fdigits);
5810 	{
5811 		NIM_BOOL T162_;
5812 		NIM_BOOL T164_;
5813 		NI slop;
5814 		T162_ = (NIM_BOOL)0;
5815 		T162_ = (digits <= ((NI) 15));
5816 		if (T162_) goto LA163_;
5817 		T164_ = (NIM_BOOL)0;
5818 		T164_ = (digits <= ((NI) 16));
5819 		if (!(T164_)) goto LA165_;
5820 		T164_ = (firstDigit <= ((NI) 8));
5821 		LA165_: ;
5822 		T162_ = T164_;
5823 		LA163_: ;
5824 		if (!T162_) goto LA166_;
5825 		{
5826 			if (!(absExponent <= ((NI) 22))) goto LA170_;
5827 			{
5828 				if (!expNegative) goto LA174_;
5829 				(*number) = ((NF)(((NF)(sign) * (NF)(((NF) (integer))))) / (NF)(powtens__system_6152[(absExponent)- 0]));
5830 			}
5831 			goto LA172_;
5832 			LA174_: ;
5833 			{
5834 				(*number) = ((NF)(((NF)(sign) * (NF)(((NF) (integer))))) * (NF)(powtens__system_6152[(absExponent)- 0]));
5835 			}
5836 			LA172_: ;
5837 			result = (NI)(i - start);
5838 			goto BeforeRet_;
5839 		}
5840 		LA170_: ;
5841 		slop = (NI)((NI)(((NI) 15) - kdigits) - fdigits);
5842 		{
5843 			NIM_BOOL T179_;
5844 			T179_ = (NIM_BOOL)0;
5845 			T179_ = (absExponent <= (NI)(((NI) 22) + slop));
5846 			if (!(T179_)) goto LA180_;
5847 			T179_ = !(expNegative);
5848 			LA180_: ;
5849 			if (!T179_) goto LA181_;
5850 			(*number) = ((NF)(((NF)(((NF)(sign) * (NF)(((NF) (integer))))) * (NF)(powtens__system_6152[(slop)- 0]))) * (NF)(powtens__system_6152[((NI)(absExponent - slop))- 0]));
5851 			result = (NI)(i - start);
5852 			goto BeforeRet_;
5853 		}
5854 		LA181_: ;
5855 	}
5856 	LA166_: ;
5857 	nimZeroMem((void*)t, sizeof(tyArray__PGLh8drTnaWr3s1qUUSq2Q));
5858 	ti = ((NI) 0);
5859 	maxlen = ((NI) 494);
5860 	endPos = i;
5861 	result = (NI)(endPos - start);
5862 	i = start;
5863 	{
5864 		NIM_BOOL T185_;
5865 		T185_ = (NIM_BOOL)0;
5866 		T185_ = (i < endPos);
5867 		if (!(T185_)) goto LA186_;
5868 		T185_ = ((NU8)(s->data[i]) == (NU8)(46));
5869 		LA186_: ;
5870 		if (!T185_) goto LA187_;
5871 		i += ((NI) 1);
5872 	}
5873 	LA187_: ;
5874 	{
5875 		while (1) {
5876 			NIM_BOOL T191_;
5877 			T191_ = (NIM_BOOL)0;
5878 			T191_ = (i < endPos);
5879 			if (!(T191_)) goto LA192_;
5880 			T191_ = (((NU8)(s->data[i])) >= ((NU8)(48)) && ((NU8)(s->data[i])) <= ((NU8)(57)) || ((NU8)(s->data[i])) == ((NU8)(43)) || ((NU8)(s->data[i])) == ((NU8)(45)));
5881 			LA192_: ;
5882 			if (!T191_) goto LA190;
5883 			{
5884 				if (!(ti < maxlen)) goto LA195_;
5885 				t[(ti)- 0] = s->data[i];
5886 				ti += ((NI) 1);
5887 			}
5888 			LA195_: ;
5889 			i += ((NI) 1);
5890 			{
5891 				while (1) {
5892 					NIM_BOOL T199_;
5893 					T199_ = (NIM_BOOL)0;
5894 					T199_ = (i < endPos);
5895 					if (!(T199_)) goto LA200_;
5896 					T199_ = (((NU8)(s->data[i])) == ((NU8)(46)) || ((NU8)(s->data[i])) == ((NU8)(95)));
5897 					LA200_: ;
5898 					if (!T199_) goto LA198;
5899 					i += ((NI) 1);
5900 				} LA198: ;
5901 			}
5902 		} LA190: ;
5903 	}
5904 	t[(ti)- 0] = 69;
5905 	ti += ((NI) 1);
5906 	{
5907 		if (!expNegative) goto LA203_;
5908 		t[(ti)- 0] = 45;
5909 	}
5910 	goto LA201_;
5911 	LA203_: ;
5912 	{
5913 		t[(ti)- 0] = 43;
5914 	}
5915 	LA201_: ;
5916 	ti += ((NI) 4);
5917 	t[((NI)(ti - ((NI) 1)))- 0] = ((NIM_CHAR) ((NI)(((NI) 48) + (NI)(absExponent % ((NI) 10)))));
5918 	absExponent = (NI)(absExponent / ((NI) 10));
5919 	t[((NI)(ti - ((NI) 2)))- 0] = ((NIM_CHAR) ((NI)(((NI) 48) + (NI)(absExponent % ((NI) 10)))));
5920 	absExponent = (NI)(absExponent / ((NI) 10));
5921 	t[((NI)(ti - ((NI) 3)))- 0] = ((NIM_CHAR) ((NI)(((NI) 48) + (NI)(absExponent % ((NI) 10)))));
5922 	(*number) = strtod(((NCSTRING) (t)), ((NCSTRING*) NIM_NIL));
5923 	}BeforeRet_: ;
5924 	return result;
5925 }
N_INLINE(void,addFloat__system_3122)5926 static N_INLINE(void, addFloat__system_3122)(NimStringDesc** result, NF x) {
5927 	addFloatRoundtrip__system_3127(result, x);
5928 }
N_NIMCALL(NimStringDesc *,dollar___system_3118)5929 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar___system_3118)(NF x) {
5930 	NimStringDesc* result;
5931 	result = NIM_NIL;
5932 	addFloat__system_3122((&result), x);
5933 	return result;
5934 }
N_NIMCALL(void,objectInitAux__system_6520)5935 N_LIB_PRIVATE N_NIMCALL(void, objectInitAux__system_6520)(void* dest, TNimNode* n) {
5936 	NI d;
5937 	d = ((NI) (ptrdiff_t) (dest));
5938 	switch ((*n).kind) {
5939 	case ((tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ) 0):
5940 	{
5941 	}
5942 	break;
5943 	case ((tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ) 1):
5944 	{
5945 		NI T3_;
5946 		T3_ = (NI)0;
5947 		T3_ = pluspercent___system_696(d, (*n).offset);
5948 		objectInit(((void*) (T3_)), (*n).typ);
5949 	}
5950 	break;
5951 	case ((tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ) 2):
5952 	{
5953 		{
5954 			NI i;
5955 			NI colontmp_;
5956 			NI res;
5957 			i = (NI)0;
5958 			colontmp_ = (NI)0;
5959 			colontmp_ = (NI)((*n).len - ((NI) 1));
5960 			res = ((NI) 0);
5961 			{
5962 				while (1) {
5963 					if (!(res <= colontmp_)) goto LA7;
5964 					i = res;
5965 					objectInitAux__system_6520(dest, (*n).sons[(i)- 0]);
5966 					res += ((NI) 1);
5967 				} LA7: ;
5968 			}
5969 		}
5970 	}
5971 	break;
5972 	case ((tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ) 3):
5973 	{
5974 		TNimNode* m;
5975 		m = selectBranch__system_3653(dest, n);
5976 		{
5977 			if (!!((m == ((TNimNode*) NIM_NIL)))) goto LA11_;
5978 			objectInitAux__system_6520(dest, m);
5979 		}
5980 		LA11_: ;
5981 	}
5982 	break;
5983 	}
5984 }
N_NIMCALL(void,objectInit)5985 N_LIB_PRIVATE N_NIMCALL(void, objectInit)(void* dest, TNimType* typ) {
5986 	NI d;
5987 	d = ((NI) (ptrdiff_t) (dest));
5988 	switch ((*typ).kind) {
5989 	case ((tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A) 17):
5990 	{
5991 		TNimType** pint;
5992 		pint = ((TNimType**) (dest));
5993 		(*pint) = typ;
5994 		objectInitAux__system_6520(dest, (*typ).node);
5995 	}
5996 	break;
5997 	case ((tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A) 18):
5998 	{
5999 		objectInitAux__system_6520(dest, (*typ).node);
6000 	}
6001 	break;
6002 	case ((tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A) 16):
6003 	case ((tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A) 4):
6004 	{
6005 		{
6006 			NI i;
6007 			NI colontmp_;
6008 			NI res;
6009 			i = (NI)0;
6010 			colontmp_ = (NI)0;
6011 			colontmp_ = (NI)((NI)((*typ).size / (*(*typ).base).size) - ((NI) 1));
6012 			res = ((NI) 0);
6013 			{
6014 				while (1) {
6015 					NI T7_;
6016 					if (!(res <= colontmp_)) goto LA6;
6017 					i = res;
6018 					T7_ = (NI)0;
6019 					T7_ = pluspercent___system_696(d, (NI)(i * (*(*typ).base).size));
6020 					objectInit(((void*) (T7_)), (*typ).base);
6021 					res += ((NI) 1);
6022 				} LA6: ;
6023 			}
6024 		}
6025 	}
6026 	break;
6027 	default:
6028 	{
6029 	}
6030 	break;
6031 	}
6032 }
N_NIMCALL(void,genericShallowAssign)6033 N_LIB_PRIVATE N_NIMCALL(void, genericShallowAssign)(void* dest, void* src, TNimType* mt) {
6034 	genericAssignAux__system_6405(dest, src, mt, NIM_TRUE);
6035 }
N_NIMCALL(NI,cmp__system_7452)6036 N_LIB_PRIVATE N_NIMCALL(NI, cmp__system_7452)(NI x, NI y) {
6037 	NI result;
6038 {	result = (NI)0;
6039 	{
6040 		if (!(x == y)) goto LA3_;
6041 		result = ((NI) 0);
6042 		goto BeforeRet_;
6043 	}
6044 	LA3_: ;
6045 	{
6046 		if (!(x < y)) goto LA7_;
6047 		result = ((NI) -1);
6048 		goto BeforeRet_;
6049 	}
6050 	LA7_: ;
6051 	result = ((NI) 1);
6052 	goto BeforeRet_;
6053 	}BeforeRet_: ;
6054 	return result;
6055 }
N_NIMCALL(void,Marker_tyRef__9ai78kkwqt3gikTN9cpHKUVg)6056 static N_NIMCALL(void, Marker_tyRef__9ai78kkwqt3gikTN9cpHKUVg)(void* p, NI op) {
6057 	NI* a;
6058 	a = (NI*)p;
6059 }
N_NIMCALL(NCSTRING *,allocCStringArray__system_2469)6060 N_LIB_PRIVATE N_NIMCALL(NCSTRING*, allocCStringArray__system_2469)(NimStringDesc** a, NI aLen_0) {
6061 	NCSTRING* result;
6062 	void* T1_;
6063 	NimStringDesc** x;
6064 	result = (NCSTRING*)0;
6065 	T1_ = (void*)0;
6066 	T1_ = alloc0Impl__system_1745(((NI) ((NI)((NI)(aLen_0 + ((NI) 1)) * ((NI) 4)))));
6067 	result = ((NCSTRING*) (T1_));
6068 	x = ((NimStringDesc**) (a));
6069 	{
6070 		NI i;
6071 		NI colontmp_;
6072 		NI res;
6073 		i = (NI)0;
6074 		colontmp_ = (NI)0;
6075 		colontmp_ = (aLen_0-1);
6076 		res = ((NI) 0);
6077 		{
6078 			while (1) {
6079 				void* T5_;
6080 				if (!(res <= colontmp_)) goto LA4;
6081 				i = res;
6082 				T5_ = (void*)0;
6083 				T5_ = alloc0Impl__system_1745(((NI) ((NI)((x[i] ? x[i]->Sup.len : 0) + ((NI) 1)))));
6084 				result[i] = ((NCSTRING) (T5_));
6085 				copyMem__system_1727(((void*) (result[i])), ((void*) ((&x[i]->data[((NI) 0)]))), ((NI) ((x[i] ? x[i]->Sup.len : 0))));
6086 				res += ((NI) 1);
6087 			} LA4: ;
6088 		}
6089 	}
6090 	return result;
6091 }
N_NIMCALL(void,deallocCStringArray__system_2503)6092 N_LIB_PRIVATE N_NIMCALL(void, deallocCStringArray__system_2503)(NCSTRING* a) {
6093 	NI i;
6094 	i = ((NI) 0);
6095 	{
6096 		while (1) {
6097 			if (!!((((void*) (a[i])) == NIM_NIL))) goto LA2;
6098 			dealloc(((void*) (a[i])));
6099 			i += ((NI) 1);
6100 		} LA2: ;
6101 	}
6102 	dealloc(((void*) (a)));
6103 }
N_NIMCALL(NimStringDesc *,nimBoolToStr)6104 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nimBoolToStr)(NIM_BOOL x) {
6105 	NimStringDesc* result;
6106 {	result = NIM_NIL;
6107 	{
6108 		if (!x) goto LA3_;
6109 		result = copyString(((NimStringDesc*) &TM__Q5wkpxktOdTGvlSRo9bzt9aw_23));
6110 	}
6111 	goto LA1_;
6112 	LA3_: ;
6113 	{
6114 		result = copyString(((NimStringDesc*) &TM__Q5wkpxktOdTGvlSRo9bzt9aw_24));
6115 	}
6116 	LA1_: ;
6117 	goto BeforeRet_;
6118 	}BeforeRet_: ;
6119 	return result;
6120 }
N_NIMCALL(NI,toInt__system_1708)6121 N_LIB_PRIVATE N_NIMCALL(NI, toInt__system_1708)(NF f) {
6122 	NI result;
6123 	result = (NI)0;
6124 	{
6125 		if (!(0.0 <= f)) goto LA3_;
6126 		result = ((NI) (((NF)(f) + (NF)(0.5))));
6127 	}
6128 	goto LA1_;
6129 	LA3_: ;
6130 	{
6131 		result = ((NI) (((NF)(f) - (NF)(0.5))));
6132 	}
6133 	LA1_: ;
6134 	return result;
6135 }
N_NOINLINE(NIM_BOOL,isObjSlowPath__system_3313)6136 N_LIB_PRIVATE N_NOINLINE(NIM_BOOL, isObjSlowPath__system_3313)(TNimType* obj, TNimType* subclass, TNimType** cache) {
6137 	NIM_BOOL result;
6138 	TNimType* x;
6139 {	result = (NIM_BOOL)0;
6140 	x = (*obj).base;
6141 	{
6142 		while (1) {
6143 			if (!!((x == subclass))) goto LA2;
6144 			{
6145 				if (!(x == ((TNimType*) NIM_NIL))) goto LA5_;
6146 				cache[(((NI) 0))- 0] = obj;
6147 				result = NIM_FALSE;
6148 				goto BeforeRet_;
6149 			}
6150 			LA5_: ;
6151 			x = (*x).base;
6152 		} LA2: ;
6153 	}
6154 	cache[(((NI) 1))- 0] = obj;
6155 	result = NIM_TRUE;
6156 	goto BeforeRet_;
6157 	}BeforeRet_: ;
6158 	return result;
6159 }
N_NIMCALL(void,addFloatRoundtrip__system_6834)6160 N_LIB_PRIVATE N_NIMCALL(void, addFloatRoundtrip__system_6834)(NimStringDesc** result, NF32 x) {
6161 	tyArray__eVNFTutn6un5gcq48fQLdg buffer;
6162 	NI n;
6163 	n = writeFloatToBufferRoundtrip__systemZformatfloat_44(buffer, x);
6164 	addCstringN__systemZformatfloat_5(result, ((NCSTRING) ((&buffer[(((NI) 0))- 0]))), n);
6165 }
N_NIMCALL(void,insert__system_7470)6166 N_LIB_PRIVATE N_NIMCALL(void, insert__system_7470)(NimStringDesc** x, NimStringDesc* item, NI i) {
6167 	NI xl;
6168 	NI j;
6169 	xl = ((*x) ? (*x)->Sup.len : 0);
6170 	unsureAsgnRef((void**) (&(*x)), setLengthStr((*x), ((NI) ((NI)(xl + (item ? item->Sup.len : 0))))));
6171 	j = (NI)(xl - ((NI) 1));
6172 	{
6173 		while (1) {
6174 			if (!(((NI) (i)) <= j)) goto LA2;
6175 			(*x)->data[(NI)(j + (item ? item->Sup.len : 0))] = (*x)->data[j];
6176 			j -= ((NI) 1);
6177 		} LA2: ;
6178 	}
6179 	j = ((NI) 0);
6180 	{
6181 		while (1) {
6182 			if (!(j < (item ? item->Sup.len : 0))) goto LA4;
6183 			(*x)->data[(NI)(j + ((NI) (i)))] = item->data[j];
6184 			j += ((NI) 1);
6185 		} LA4: ;
6186 	}
6187 }
N_NIMCALL(NimStringDesc *,getStackTrace__system_2521)6188 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, getStackTrace__system_2521)(Exception* e) {
6189 	NimStringDesc* result;
6190 	result = NIM_NIL;
6191 	{
6192 		if (!!((e == 0))) goto LA3_;
6193 		result = dollar___system_2723((*e).trace);
6194 	}
6195 	goto LA1_;
6196 	LA3_: ;
6197 	{
6198 		result = ((NimStringDesc*) NIM_NIL);
6199 	}
6200 	LA1_: ;
6201 	return result;
6202 }
N_NIMCALL(NI,getMaxMem__system_3981)6203 N_LIB_PRIVATE N_NIMCALL(NI, getMaxMem__system_3981)(tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg* a) {
6204 	NI result;
6205 	result = (NI)0;
6206 	result = (((*a).currMem >= (*a).maxMem) ? (*a).currMem : (*a).maxMem);
6207 	return result;
6208 }
N_NIMCALL(NI,getMaxMem__system_5242)6209 N_LIB_PRIVATE N_NIMCALL(NI, getMaxMem__system_5242)(void) {
6210 	NI result;
6211 	result = (NI)0;
6212 	result = getMaxMem__system_3981((&gch__system_5217.region));
6213 	return result;
6214 }
N_NIMCALL(NI,getTotalMem__system_1938)6215 N_LIB_PRIVATE N_NIMCALL(NI, getTotalMem__system_1938)(void) {
6216 	NI result;
6217 	result = (NI)0;
6218 	result = gch__system_5217.region.currMem;
6219 	return result;
6220 }
N_NIMCALL(NimStringDesc *,GC_getStatistics__system_2268)6221 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, GC_getStatistics__system_2268)(void) {
6222 	NimStringDesc* result;
6223 	NimStringDesc* T1_;
6224 	NI T2_;
6225 	NimStringDesc* T3_;
6226 	NI T4_;
6227 	NimStringDesc* T5_;
6228 	NimStringDesc* T6_;
6229 	NimStringDesc* T7_;
6230 	NimStringDesc* T8_;
6231 	NimStringDesc* T9_;
6232 	NimStringDesc* T10_;
6233 	NimStringDesc* T11_;
6234 	NimStringDesc* T12_;
6235 	NimStringDesc* T13_;
6236 	NimStringDesc* T14_;
6237 	result = NIM_NIL;
6238 	T1_ = NIM_NIL;
6239 	T2_ = (NI)0;
6240 	T2_ = getTotalMem__system_1938();
6241 	T3_ = NIM_NIL;
6242 	T3_ = dollar___systemZdollars_3(T2_);
6243 	T4_ = (NI)0;
6244 	T4_ = getOccupiedMem__system_1936();
6245 	T5_ = NIM_NIL;
6246 	T5_ = dollar___systemZdollars_3(T4_);
6247 	T6_ = NIM_NIL;
6248 	T6_ = dollar___systemZdollars_3(gch__system_5217.stat.stackScans);
6249 	T7_ = NIM_NIL;
6250 	T7_ = dollar___systemZdollars_3(gch__system_5217.stat.maxStackCells);
6251 	T8_ = NIM_NIL;
6252 	T8_ = dollar___systemZdollars_3(gch__system_5217.stat.cycleCollections);
6253 	T9_ = NIM_NIL;
6254 	T9_ = dollar___systemZdollars_3(gch__system_5217.stat.maxThreshold);
6255 	T10_ = NIM_NIL;
6256 	T10_ = dollar___systemZdollars_3(gch__system_5217.zct.cap);
6257 	T11_ = NIM_NIL;
6258 	T11_ = dollar___systemZdollars_3(gch__system_5217.stat.cycleTableSize);
6259 	T12_ = NIM_NIL;
6260 	T12_ = dollar___systemZdollars_6((NI64)(gch__system_5217.stat.maxPause / IL64(1000000)));
6261 	T1_ = rawNewString((T3_ ? T3_->Sup.len : 0) + (T5_ ? T5_->Sup.len : 0) + (T6_ ? T6_->Sup.len : 0) + (T7_ ? T7_->Sup.len : 0) + (T8_ ? T8_->Sup.len : 0) + (T9_ ? T9_->Sup.len : 0) + (T10_ ? T10_->Sup.len : 0) + (T11_ ? T11_->Sup.len : 0) + (T12_ ? T12_->Sup.len : 0) + 202);
6262 appendString(T1_, ((NimStringDesc*) &TM__Q5wkpxktOdTGvlSRo9bzt9aw_25));
6263 appendString(T1_, T3_);
6264 appendString(T1_, ((NimStringDesc*) &TM__Q5wkpxktOdTGvlSRo9bzt9aw_26));
6265 appendString(T1_, T5_);
6266 appendString(T1_, ((NimStringDesc*) &TM__Q5wkpxktOdTGvlSRo9bzt9aw_27));
6267 appendString(T1_, T6_);
6268 appendString(T1_, ((NimStringDesc*) &TM__Q5wkpxktOdTGvlSRo9bzt9aw_28));
6269 appendString(T1_, T7_);
6270 appendString(T1_, ((NimStringDesc*) &TM__Q5wkpxktOdTGvlSRo9bzt9aw_29));
6271 appendString(T1_, T8_);
6272 appendString(T1_, ((NimStringDesc*) &TM__Q5wkpxktOdTGvlSRo9bzt9aw_30));
6273 appendString(T1_, T9_);
6274 appendString(T1_, ((NimStringDesc*) &TM__Q5wkpxktOdTGvlSRo9bzt9aw_31));
6275 appendString(T1_, T10_);
6276 appendString(T1_, ((NimStringDesc*) &TM__Q5wkpxktOdTGvlSRo9bzt9aw_32));
6277 appendString(T1_, T11_);
6278 appendString(T1_, ((NimStringDesc*) &TM__Q5wkpxktOdTGvlSRo9bzt9aw_33));
6279 appendString(T1_, T12_);
6280 appendString(T1_, ((NimStringDesc*) &TM__Q5wkpxktOdTGvlSRo9bzt9aw_14));
6281 	result = T1_;
6282 	T13_ = NIM_NIL;
6283 	T14_ = NIM_NIL;
6284 	T14_ = dollar___systemZdollars_3(gch__system_5217.stat.maxStackSize);
6285 	T13_ = rawNewString((T14_ ? T14_->Sup.len : 0) + 22);
6286 appendString(T13_, ((NimStringDesc*) &TM__Q5wkpxktOdTGvlSRo9bzt9aw_34));
6287 appendString(T13_, T14_);
6288 appendString(T13_, ((NimStringDesc*) &TM__Q5wkpxktOdTGvlSRo9bzt9aw_14));
6289 	result = resizeString(result, (T13_ ? T13_->Sup.len : 0) + 0);
6290 appendString(result, T13_);
6291 	return result;
6292 }
N_INLINE(void,initStackBottomWith)6293 static N_INLINE(void, initStackBottomWith)(void* locals) {
6294 	nimGC_setStackBottom(locals);
6295 }
N_NIMCALL(void,systemInit000)6296 N_LIB_PRIVATE N_NIMCALL(void, systemInit000)(void) {
6297 {
6298 	TFrame FR_; FR_.len = 0;
6299 
6300 	nimRegisterThreadLocalMarker(TM__Q5wkpxktOdTGvlSRo9bzt9aw_4);
6301 
6302 }/* preInitProc end */
6303 {
6304 	initStackBottom();
6305 	initGC__system_2398();
6306 	registerSignalHandler__system_2992();
6307 }
6308 }
6309 
N_NIMCALL(void,systemDatInit000)6310 N_LIB_PRIVATE N_NIMCALL(void, systemDatInit000)(void) {
6311 static TNimNode* TM__Q5wkpxktOdTGvlSRo9bzt9aw_2_5[5];
6312 static TNimNode* TM__Q5wkpxktOdTGvlSRo9bzt9aw_3_3[3];
6313 static TNimNode TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[26];
6314 NTIrootobj__ytyiCJqK439aF9cIibuRVpAg_.size = sizeof(RootObj);
6315 NTIrootobj__ytyiCJqK439aF9cIibuRVpAg_.align = NIM_ALIGNOF(RootObj);
6316 NTIrootobj__ytyiCJqK439aF9cIibuRVpAg_.kind = 17;
6317 NTIrootobj__ytyiCJqK439aF9cIibuRVpAg_.base = 0;
6318 NTIrootobj__ytyiCJqK439aF9cIibuRVpAg_.flags = 1;
6319 TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[0].len = 0; TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[0].kind = 2;
6320 NTIrootobj__ytyiCJqK439aF9cIibuRVpAg_.node = &TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[0];
6321 NTIexception__XEycrCsme5C8CVWAYEcdBQ_.size = sizeof(Exception);
6322 NTIexception__XEycrCsme5C8CVWAYEcdBQ_.align = NIM_ALIGNOF(Exception);
6323 NTIexception__XEycrCsme5C8CVWAYEcdBQ_.kind = 17;
6324 NTIexception__XEycrCsme5C8CVWAYEcdBQ_.base = (&NTIrootobj__ytyiCJqK439aF9cIibuRVpAg_);
6325 TM__Q5wkpxktOdTGvlSRo9bzt9aw_2_5[0] = &TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[2];
6326 TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[2].kind = 1;
6327 TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[2].offset = offsetof(Exception, parent);
6328 TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[2].typ = (&NTIrefexception__vU9aO9cTqOMn6CBzhV8rX7Sw_);
6329 TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[2].name = "parent";
6330 TM__Q5wkpxktOdTGvlSRo9bzt9aw_2_5[1] = &TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[3];
6331 NTIcstring__S9agCYBinaYZnGWcjTdxclg_.size = sizeof(NCSTRING);
6332 NTIcstring__S9agCYBinaYZnGWcjTdxclg_.align = NIM_ALIGNOF(NCSTRING);
6333 NTIcstring__S9agCYBinaYZnGWcjTdxclg_.kind = 29;
6334 NTIcstring__S9agCYBinaYZnGWcjTdxclg_.base = 0;
6335 NTIcstring__S9agCYBinaYZnGWcjTdxclg_.flags = 3;
6336 TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[3].kind = 1;
6337 TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[3].offset = offsetof(Exception, name);
6338 TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[3].typ = (&NTIcstring__S9agCYBinaYZnGWcjTdxclg_);
6339 TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[3].name = "name";
6340 TM__Q5wkpxktOdTGvlSRo9bzt9aw_2_5[2] = &TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[4];
6341 NTIstring__77mFvmsOLKik79ci2hXkHEg_.size = sizeof(NimStringDesc*);
6342 NTIstring__77mFvmsOLKik79ci2hXkHEg_.align = NIM_ALIGNOF(NimStringDesc*);
6343 NTIstring__77mFvmsOLKik79ci2hXkHEg_.kind = 28;
6344 NTIstring__77mFvmsOLKik79ci2hXkHEg_.base = 0;
6345 NTIstring__77mFvmsOLKik79ci2hXkHEg_.flags = 2;
6346 TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[4].kind = 1;
6347 TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[4].offset = offsetof(Exception, message);
6348 TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[4].typ = (&NTIstring__77mFvmsOLKik79ci2hXkHEg_);
6349 TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[4].name = "msg";
6350 TM__Q5wkpxktOdTGvlSRo9bzt9aw_2_5[3] = &TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[5];
6351 NTIstacktraceentry__oLyohQ7O2XOvGnflOss8EA_.size = sizeof(tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA);
6352 NTIstacktraceentry__oLyohQ7O2XOvGnflOss8EA_.align = NIM_ALIGNOF(tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA);
6353 NTIstacktraceentry__oLyohQ7O2XOvGnflOss8EA_.kind = 18;
6354 NTIstacktraceentry__oLyohQ7O2XOvGnflOss8EA_.base = 0;
6355 NTIstacktraceentry__oLyohQ7O2XOvGnflOss8EA_.flags = 1;
6356 TM__Q5wkpxktOdTGvlSRo9bzt9aw_3_3[0] = &TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[7];
6357 TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[7].kind = 1;
6358 TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[7].offset = offsetof(tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA, procname);
6359 TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[7].typ = (&NTIcstring__S9agCYBinaYZnGWcjTdxclg_);
6360 TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[7].name = "procname";
6361 TM__Q5wkpxktOdTGvlSRo9bzt9aw_3_3[1] = &TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[8];
6362 NTIint__rR5Bzr1D5krxoo1NcNyeMA_.size = sizeof(NI);
6363 NTIint__rR5Bzr1D5krxoo1NcNyeMA_.align = NIM_ALIGNOF(NI);
6364 NTIint__rR5Bzr1D5krxoo1NcNyeMA_.kind = 31;
6365 NTIint__rR5Bzr1D5krxoo1NcNyeMA_.base = 0;
6366 NTIint__rR5Bzr1D5krxoo1NcNyeMA_.flags = 3;
6367 TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[8].kind = 1;
6368 TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[8].offset = offsetof(tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA, line);
6369 TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[8].typ = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_);
6370 TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[8].name = "line";
6371 TM__Q5wkpxktOdTGvlSRo9bzt9aw_3_3[2] = &TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[9];
6372 TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[9].kind = 1;
6373 TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[9].offset = offsetof(tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA, filename);
6374 TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[9].typ = (&NTIcstring__S9agCYBinaYZnGWcjTdxclg_);
6375 TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[9].name = "filename";
6376 TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[6].len = 3; TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[6].kind = 2; TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[6].sons = &TM__Q5wkpxktOdTGvlSRo9bzt9aw_3_3[0];
6377 NTIstacktraceentry__oLyohQ7O2XOvGnflOss8EA_.node = &TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[6];
6378 NTIseqLstacktraceentryT__uB9b75OUPRENsBAu4AnoePA_.size = sizeof(tySequence__uB9b75OUPRENsBAu4AnoePA*);
6379 NTIseqLstacktraceentryT__uB9b75OUPRENsBAu4AnoePA_.align = NIM_ALIGNOF(tySequence__uB9b75OUPRENsBAu4AnoePA*);
6380 NTIseqLstacktraceentryT__uB9b75OUPRENsBAu4AnoePA_.kind = 24;
6381 NTIseqLstacktraceentryT__uB9b75OUPRENsBAu4AnoePA_.base = (&NTIstacktraceentry__oLyohQ7O2XOvGnflOss8EA_);
6382 NTIseqLstacktraceentryT__uB9b75OUPRENsBAu4AnoePA_.marker = Marker_tySequence__uB9b75OUPRENsBAu4AnoePA;
6383 TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[5].kind = 1;
6384 TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[5].offset = offsetof(Exception, trace);
6385 TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[5].typ = (&NTIseqLstacktraceentryT__uB9b75OUPRENsBAu4AnoePA_);
6386 TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[5].name = "trace";
6387 TM__Q5wkpxktOdTGvlSRo9bzt9aw_2_5[4] = &TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[10];
6388 TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[10].kind = 1;
6389 TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[10].offset = offsetof(Exception, up);
6390 TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[10].typ = (&NTIrefexception__vU9aO9cTqOMn6CBzhV8rX7Sw_);
6391 TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[10].name = "up";
6392 TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[1].len = 5; TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[1].kind = 2; TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[1].sons = &TM__Q5wkpxktOdTGvlSRo9bzt9aw_2_5[0];
6393 NTIexception__XEycrCsme5C8CVWAYEcdBQ_.node = &TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[1];
6394 NTIrefexception__vU9aO9cTqOMn6CBzhV8rX7Sw_.size = sizeof(Exception*);
6395 NTIrefexception__vU9aO9cTqOMn6CBzhV8rX7Sw_.align = NIM_ALIGNOF(Exception*);
6396 NTIrefexception__vU9aO9cTqOMn6CBzhV8rX7Sw_.kind = 22;
6397 NTIrefexception__vU9aO9cTqOMn6CBzhV8rX7Sw_.base = (&NTIexception__XEycrCsme5C8CVWAYEcdBQ_);
6398 NTIrefexception__vU9aO9cTqOMn6CBzhV8rX7Sw_.marker = Marker_tyRef__vU9aO9cTqOMn6CBzhV8rX7Sw;
6399 NTIdefect__LbeSGvgPzGzXnW9caIkJqMA_.size = sizeof(tyObject_Defect__LbeSGvgPzGzXnW9caIkJqMA);
6400 NTIdefect__LbeSGvgPzGzXnW9caIkJqMA_.align = NIM_ALIGNOF(tyObject_Defect__LbeSGvgPzGzXnW9caIkJqMA);
6401 NTIdefect__LbeSGvgPzGzXnW9caIkJqMA_.kind = 17;
6402 NTIdefect__LbeSGvgPzGzXnW9caIkJqMA_.base = (&NTIexception__XEycrCsme5C8CVWAYEcdBQ_);
6403 TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[11].len = 0; TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[11].kind = 2;
6404 NTIdefect__LbeSGvgPzGzXnW9caIkJqMA_.node = &TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[11];
6405 NTIreraisedefect__E0L0wGYS1gPD81VLstNO2g_.size = sizeof(tyObject_ReraiseDefect__E0L0wGYS1gPD81VLstNO2g);
6406 NTIreraisedefect__E0L0wGYS1gPD81VLstNO2g_.align = NIM_ALIGNOF(tyObject_ReraiseDefect__E0L0wGYS1gPD81VLstNO2g);
6407 NTIreraisedefect__E0L0wGYS1gPD81VLstNO2g_.kind = 17;
6408 NTIreraisedefect__E0L0wGYS1gPD81VLstNO2g_.base = (&NTIdefect__LbeSGvgPzGzXnW9caIkJqMA_);
6409 TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[12].len = 0; TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[12].kind = 2;
6410 NTIreraisedefect__E0L0wGYS1gPD81VLstNO2g_.node = &TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[12];
6411 NTIrefreraisedefect__uG62cfJZ15c2siK3CKLmnQ_.size = sizeof(tyObject_ReraiseDefect__E0L0wGYS1gPD81VLstNO2g*);
6412 NTIrefreraisedefect__uG62cfJZ15c2siK3CKLmnQ_.align = NIM_ALIGNOF(tyObject_ReraiseDefect__E0L0wGYS1gPD81VLstNO2g*);
6413 NTIrefreraisedefect__uG62cfJZ15c2siK3CKLmnQ_.kind = 22;
6414 NTIrefreraisedefect__uG62cfJZ15c2siK3CKLmnQ_.base = (&NTIreraisedefect__E0L0wGYS1gPD81VLstNO2g_);
6415 NTIrefreraisedefect__uG62cfJZ15c2siK3CKLmnQ_.marker = Marker_tyRef__uG62cfJZ15c2siK3CKLmnQ;
6416 NTIarithmeticdefect__cT9c9bHlHSpA1QTnKbHjnIkA_.size = sizeof(tyObject_ArithmeticDefect__cT9c9bHlHSpA1QTnKbHjnIkA);
6417 NTIarithmeticdefect__cT9c9bHlHSpA1QTnKbHjnIkA_.align = NIM_ALIGNOF(tyObject_ArithmeticDefect__cT9c9bHlHSpA1QTnKbHjnIkA);
6418 NTIarithmeticdefect__cT9c9bHlHSpA1QTnKbHjnIkA_.kind = 17;
6419 NTIarithmeticdefect__cT9c9bHlHSpA1QTnKbHjnIkA_.base = (&NTIdefect__LbeSGvgPzGzXnW9caIkJqMA_);
6420 TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[13].len = 0; TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[13].kind = 2;
6421 NTIarithmeticdefect__cT9c9bHlHSpA1QTnKbHjnIkA_.node = &TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[13];
6422 NTIoverflowdefect__9cxMi1BPLc3UKt9br86bGfGQ_.size = sizeof(tyObject_OverflowDefect__9cxMi1BPLc3UKt9br86bGfGQ);
6423 NTIoverflowdefect__9cxMi1BPLc3UKt9br86bGfGQ_.align = NIM_ALIGNOF(tyObject_OverflowDefect__9cxMi1BPLc3UKt9br86bGfGQ);
6424 NTIoverflowdefect__9cxMi1BPLc3UKt9br86bGfGQ_.kind = 17;
6425 NTIoverflowdefect__9cxMi1BPLc3UKt9br86bGfGQ_.base = (&NTIarithmeticdefect__cT9c9bHlHSpA1QTnKbHjnIkA_);
6426 TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[14].len = 0; TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[14].kind = 2;
6427 NTIoverflowdefect__9cxMi1BPLc3UKt9br86bGfGQ_.node = &TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[14];
6428 NTIrefoverflowdefect__r8GBEWywN07B3Rat3azS4Q_.size = sizeof(tyObject_OverflowDefect__9cxMi1BPLc3UKt9br86bGfGQ*);
6429 NTIrefoverflowdefect__r8GBEWywN07B3Rat3azS4Q_.align = NIM_ALIGNOF(tyObject_OverflowDefect__9cxMi1BPLc3UKt9br86bGfGQ*);
6430 NTIrefoverflowdefect__r8GBEWywN07B3Rat3azS4Q_.kind = 22;
6431 NTIrefoverflowdefect__r8GBEWywN07B3Rat3azS4Q_.base = (&NTIoverflowdefect__9cxMi1BPLc3UKt9br86bGfGQ_);
6432 NTIrefoverflowdefect__r8GBEWywN07B3Rat3azS4Q_.marker = Marker_tyRef__r8GBEWywN07B3Rat3azS4Q;
6433 NTIbool__VaVACK0bpYmqIQ0mKcHfQQ_.size = sizeof(NIM_BOOL);
6434 NTIbool__VaVACK0bpYmqIQ0mKcHfQQ_.align = NIM_ALIGNOF(NIM_BOOL);
6435 NTIbool__VaVACK0bpYmqIQ0mKcHfQQ_.kind = 1;
6436 NTIbool__VaVACK0bpYmqIQ0mKcHfQQ_.base = 0;
6437 NTIbool__VaVACK0bpYmqIQ0mKcHfQQ_.flags = 3;
6438 NTIcatchableerror__qrLSDoe2oBoAqNtJ9badtnA_.size = sizeof(tyObject_CatchableError__qrLSDoe2oBoAqNtJ9badtnA);
6439 NTIcatchableerror__qrLSDoe2oBoAqNtJ9badtnA_.align = NIM_ALIGNOF(tyObject_CatchableError__qrLSDoe2oBoAqNtJ9badtnA);
6440 NTIcatchableerror__qrLSDoe2oBoAqNtJ9badtnA_.kind = 17;
6441 NTIcatchableerror__qrLSDoe2oBoAqNtJ9badtnA_.base = (&NTIexception__XEycrCsme5C8CVWAYEcdBQ_);
6442 TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[15].len = 0; TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[15].kind = 2;
6443 NTIcatchableerror__qrLSDoe2oBoAqNtJ9badtnA_.node = &TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[15];
6444 NTIvalueerror__yoNlBGx0D2tRizIdhQuENw_.size = sizeof(tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw);
6445 NTIvalueerror__yoNlBGx0D2tRizIdhQuENw_.align = NIM_ALIGNOF(tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw);
6446 NTIvalueerror__yoNlBGx0D2tRizIdhQuENw_.kind = 17;
6447 NTIvalueerror__yoNlBGx0D2tRizIdhQuENw_.base = (&NTIcatchableerror__qrLSDoe2oBoAqNtJ9badtnA_);
6448 TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[16].len = 0; TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[16].kind = 2;
6449 NTIvalueerror__yoNlBGx0D2tRizIdhQuENw_.node = &TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[16];
6450 NTIkeyerror__t7nhKLvXTQS9cS8ByJU9bIag_.size = sizeof(tyObject_KeyError__t7nhKLvXTQS9cS8ByJU9bIag);
6451 NTIkeyerror__t7nhKLvXTQS9cS8ByJU9bIag_.align = NIM_ALIGNOF(tyObject_KeyError__t7nhKLvXTQS9cS8ByJU9bIag);
6452 NTIkeyerror__t7nhKLvXTQS9cS8ByJU9bIag_.kind = 17;
6453 NTIkeyerror__t7nhKLvXTQS9cS8ByJU9bIag_.base = (&NTIvalueerror__yoNlBGx0D2tRizIdhQuENw_);
6454 TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[17].len = 0; TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[17].kind = 2;
6455 NTIkeyerror__t7nhKLvXTQS9cS8ByJU9bIag_.node = &TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[17];
6456 NTIrefkeyerror__8SzoIAgLw9ci2v0yafHj9b6Q_.size = sizeof(tyObject_KeyError__t7nhKLvXTQS9cS8ByJU9bIag*);
6457 NTIrefkeyerror__8SzoIAgLw9ci2v0yafHj9b6Q_.align = NIM_ALIGNOF(tyObject_KeyError__t7nhKLvXTQS9cS8ByJU9bIag*);
6458 NTIrefkeyerror__8SzoIAgLw9ci2v0yafHj9b6Q_.kind = 22;
6459 NTIrefkeyerror__8SzoIAgLw9ci2v0yafHj9b6Q_.base = (&NTIkeyerror__t7nhKLvXTQS9cS8ByJU9bIag_);
6460 NTIrefkeyerror__8SzoIAgLw9ci2v0yafHj9b6Q_.marker = Marker_tyRef__8SzoIAgLw9ci2v0yafHj9b6Q;
6461 NTIassertiondefect__PtYxPmY5X0dorfvxAFbJpQ_.size = sizeof(tyObject_AssertionDefect__PtYxPmY5X0dorfvxAFbJpQ);
6462 NTIassertiondefect__PtYxPmY5X0dorfvxAFbJpQ_.align = NIM_ALIGNOF(tyObject_AssertionDefect__PtYxPmY5X0dorfvxAFbJpQ);
6463 NTIassertiondefect__PtYxPmY5X0dorfvxAFbJpQ_.kind = 17;
6464 NTIassertiondefect__PtYxPmY5X0dorfvxAFbJpQ_.base = (&NTIdefect__LbeSGvgPzGzXnW9caIkJqMA_);
6465 TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[18].len = 0; TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[18].kind = 2;
6466 NTIassertiondefect__PtYxPmY5X0dorfvxAFbJpQ_.node = &TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[18];
6467 NTIrefassertiondefect__S8DV6hfcgC9c0IiUsAoR29cQ_.size = sizeof(tyObject_AssertionDefect__PtYxPmY5X0dorfvxAFbJpQ*);
6468 NTIrefassertiondefect__S8DV6hfcgC9c0IiUsAoR29cQ_.align = NIM_ALIGNOF(tyObject_AssertionDefect__PtYxPmY5X0dorfvxAFbJpQ*);
6469 NTIrefassertiondefect__S8DV6hfcgC9c0IiUsAoR29cQ_.kind = 22;
6470 NTIrefassertiondefect__S8DV6hfcgC9c0IiUsAoR29cQ_.base = (&NTIassertiondefect__PtYxPmY5X0dorfvxAFbJpQ_);
6471 NTIrefassertiondefect__S8DV6hfcgC9c0IiUsAoR29cQ_.marker = Marker_tyRef__S8DV6hfcgC9c0IiUsAoR29cQ;
6472 NTIuint4954__M4na42GvebBMnI5wV9cYMxg_.size = sizeof(NU16);
6473 NTIuint4954__M4na42GvebBMnI5wV9cYMxg_.align = NIM_ALIGNOF(NU16);
6474 NTIuint4954__M4na42GvebBMnI5wV9cYMxg_.kind = 42;
6475 NTIuint4954__M4na42GvebBMnI5wV9cYMxg_.base = 0;
6476 NTIuint4954__M4na42GvebBMnI5wV9cYMxg_.flags = 3;
6477 NTIint4954__kDPg4wXyR8DDyA0MeEjIsw_.size = sizeof(NI16);
6478 NTIint4954__kDPg4wXyR8DDyA0MeEjIsw_.align = NIM_ALIGNOF(NI16);
6479 NTIint4954__kDPg4wXyR8DDyA0MeEjIsw_.kind = 33;
6480 NTIint4954__kDPg4wXyR8DDyA0MeEjIsw_.base = 0;
6481 NTIint4954__kDPg4wXyR8DDyA0MeEjIsw_.flags = 3;
6482 NTIint5150__sVg18TP9cLifHyygRe9cro9aA_.size = sizeof(NI32);
6483 NTIint5150__sVg18TP9cLifHyygRe9cro9aA_.align = NIM_ALIGNOF(NI32);
6484 NTIint5150__sVg18TP9cLifHyygRe9cro9aA_.kind = 34;
6485 NTIint5150__sVg18TP9cLifHyygRe9cro9aA_.base = 0;
6486 NTIint5150__sVg18TP9cLifHyygRe9cro9aA_.flags = 3;
6487 NTIint56__chXunH2dwinSkhpA6JnsXw_.size = sizeof(NI8);
6488 NTIint56__chXunH2dwinSkhpA6JnsXw_.align = NIM_ALIGNOF(NI8);
6489 NTIint56__chXunH2dwinSkhpA6JnsXw_.kind = 32;
6490 NTIint56__chXunH2dwinSkhpA6JnsXw_.base = 0;
6491 NTIint56__chXunH2dwinSkhpA6JnsXw_.flags = 3;
6492 NTIfloat__w9bl9a1ul9ctRJWiMl9cNnIMvg_.size = sizeof(NF);
6493 NTIfloat__w9bl9a1ul9ctRJWiMl9cNnIMvg_.align = NIM_ALIGNOF(NF);
6494 NTIfloat__w9bl9a1ul9ctRJWiMl9cNnIMvg_.kind = 36;
6495 NTIfloat__w9bl9a1ul9ctRJWiMl9cNnIMvg_.base = 0;
6496 NTIfloat__w9bl9a1ul9ctRJWiMl9cNnIMvg_.flags = 3;
6497 NTIchar__nmiMWKVIe46vacnhAFrQvw_.size = sizeof(NIM_CHAR);
6498 NTIchar__nmiMWKVIe46vacnhAFrQvw_.align = NIM_ALIGNOF(NIM_CHAR);
6499 NTIchar__nmiMWKVIe46vacnhAFrQvw_.kind = 2;
6500 NTIchar__nmiMWKVIe46vacnhAFrQvw_.base = 0;
6501 NTIchar__nmiMWKVIe46vacnhAFrQvw_.flags = 3;
6502 NTIobjectassignmentdefect__6toVe0IizlEwN9bORXEdX3g_.size = sizeof(tyObject_ObjectAssignmentDefect__6toVe0IizlEwN9bORXEdX3g);
6503 NTIobjectassignmentdefect__6toVe0IizlEwN9bORXEdX3g_.align = NIM_ALIGNOF(tyObject_ObjectAssignmentDefect__6toVe0IizlEwN9bORXEdX3g);
6504 NTIobjectassignmentdefect__6toVe0IizlEwN9bORXEdX3g_.kind = 17;
6505 NTIobjectassignmentdefect__6toVe0IizlEwN9bORXEdX3g_.base = (&NTIdefect__LbeSGvgPzGzXnW9caIkJqMA_);
6506 TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[19].len = 0; TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[19].kind = 2;
6507 NTIobjectassignmentdefect__6toVe0IizlEwN9bORXEdX3g_.node = &TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[19];
6508 NTIrefobjectassignmentdefect__C0A9bPZSVeyr2BWpBf4Jxqw_.size = sizeof(tyObject_ObjectAssignmentDefect__6toVe0IizlEwN9bORXEdX3g*);
6509 NTIrefobjectassignmentdefect__C0A9bPZSVeyr2BWpBf4Jxqw_.align = NIM_ALIGNOF(tyObject_ObjectAssignmentDefect__6toVe0IizlEwN9bORXEdX3g*);
6510 NTIrefobjectassignmentdefect__C0A9bPZSVeyr2BWpBf4Jxqw_.kind = 22;
6511 NTIrefobjectassignmentdefect__C0A9bPZSVeyr2BWpBf4Jxqw_.base = (&NTIobjectassignmentdefect__6toVe0IizlEwN9bORXEdX3g_);
6512 NTIrefobjectassignmentdefect__C0A9bPZSVeyr2BWpBf4Jxqw_.marker = Marker_tyRef__C0A9bPZSVeyr2BWpBf4Jxqw;
6513 NTIindexdefect__n6tGEPHKkh7E1AP9bj30WrQ_.size = sizeof(tyObject_IndexDefect__n6tGEPHKkh7E1AP9bj30WrQ);
6514 NTIindexdefect__n6tGEPHKkh7E1AP9bj30WrQ_.align = NIM_ALIGNOF(tyObject_IndexDefect__n6tGEPHKkh7E1AP9bj30WrQ);
6515 NTIindexdefect__n6tGEPHKkh7E1AP9bj30WrQ_.kind = 17;
6516 NTIindexdefect__n6tGEPHKkh7E1AP9bj30WrQ_.base = (&NTIdefect__LbeSGvgPzGzXnW9caIkJqMA_);
6517 TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[20].len = 0; TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[20].kind = 2;
6518 NTIindexdefect__n6tGEPHKkh7E1AP9bj30WrQ_.node = &TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[20];
6519 NTIrefindexdefect__RJnHOb9cQV3neNC9cDkRgMyw_.size = sizeof(tyObject_IndexDefect__n6tGEPHKkh7E1AP9bj30WrQ*);
6520 NTIrefindexdefect__RJnHOb9cQV3neNC9cDkRgMyw_.align = NIM_ALIGNOF(tyObject_IndexDefect__n6tGEPHKkh7E1AP9bj30WrQ*);
6521 NTIrefindexdefect__RJnHOb9cQV3neNC9cDkRgMyw_.kind = 22;
6522 NTIrefindexdefect__RJnHOb9cQV3neNC9cDkRgMyw_.base = (&NTIindexdefect__n6tGEPHKkh7E1AP9bj30WrQ_);
6523 NTIrefindexdefect__RJnHOb9cQV3neNC9cDkRgMyw_.marker = Marker_tyRef__RJnHOb9cQV3neNC9cDkRgMyw;
6524 NTIrefvalueerror__Ie1m0dv1ZHg72IgPRr1cDw_.size = sizeof(tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw*);
6525 NTIrefvalueerror__Ie1m0dv1ZHg72IgPRr1cDw_.align = NIM_ALIGNOF(tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw*);
6526 NTIrefvalueerror__Ie1m0dv1ZHg72IgPRr1cDw_.kind = 22;
6527 NTIrefvalueerror__Ie1m0dv1ZHg72IgPRr1cDw_.base = (&NTIvalueerror__yoNlBGx0D2tRizIdhQuENw_);
6528 NTIrefvalueerror__Ie1m0dv1ZHg72IgPRr1cDw_.marker = Marker_tyRef__Ie1m0dv1ZHg72IgPRr1cDw;
6529 NTIoserror__BeJgrOdDsczOwEWOZbRfKA_.size = sizeof(tyObject_OSError__BeJgrOdDsczOwEWOZbRfKA);
6530 NTIoserror__BeJgrOdDsczOwEWOZbRfKA_.align = NIM_ALIGNOF(tyObject_OSError__BeJgrOdDsczOwEWOZbRfKA);
6531 NTIoserror__BeJgrOdDsczOwEWOZbRfKA_.kind = 17;
6532 NTIoserror__BeJgrOdDsczOwEWOZbRfKA_.base = (&NTIcatchableerror__qrLSDoe2oBoAqNtJ9badtnA_);
6533 TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[21].kind = 1;
6534 TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[21].offset = offsetof(tyObject_OSError__BeJgrOdDsczOwEWOZbRfKA, errorCode);
6535 TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[21].typ = (&NTIint5150__sVg18TP9cLifHyygRe9cro9aA_);
6536 TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[21].name = "errorCode";
6537 NTIoserror__BeJgrOdDsczOwEWOZbRfKA_.node = &TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[21];
6538 NTIrefoserror__9clYsYwyjCqe2PFTuCI3Ubg_.size = sizeof(tyObject_OSError__BeJgrOdDsczOwEWOZbRfKA*);
6539 NTIrefoserror__9clYsYwyjCqe2PFTuCI3Ubg_.align = NIM_ALIGNOF(tyObject_OSError__BeJgrOdDsczOwEWOZbRfKA*);
6540 NTIrefoserror__9clYsYwyjCqe2PFTuCI3Ubg_.kind = 22;
6541 NTIrefoserror__9clYsYwyjCqe2PFTuCI3Ubg_.base = (&NTIoserror__BeJgrOdDsczOwEWOZbRfKA_);
6542 NTIrefoserror__9clYsYwyjCqe2PFTuCI3Ubg_.marker = Marker_tyRef__9clYsYwyjCqe2PFTuCI3Ubg;
6543 NTIioerror__iLZrPn9anoh9ad1MmO0RczFw_.size = sizeof(tyObject_IOError__iLZrPn9anoh9ad1MmO0RczFw);
6544 NTIioerror__iLZrPn9anoh9ad1MmO0RczFw_.align = NIM_ALIGNOF(tyObject_IOError__iLZrPn9anoh9ad1MmO0RczFw);
6545 NTIioerror__iLZrPn9anoh9ad1MmO0RczFw_.kind = 17;
6546 NTIioerror__iLZrPn9anoh9ad1MmO0RczFw_.base = (&NTIcatchableerror__qrLSDoe2oBoAqNtJ9badtnA_);
6547 TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[22].len = 0; TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[22].kind = 2;
6548 NTIioerror__iLZrPn9anoh9ad1MmO0RczFw_.node = &TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[22];
6549 NTIrefioerror__HMIVdYjdZYWskTmTQVo5BQ_.size = sizeof(tyObject_IOError__iLZrPn9anoh9ad1MmO0RczFw*);
6550 NTIrefioerror__HMIVdYjdZYWskTmTQVo5BQ_.align = NIM_ALIGNOF(tyObject_IOError__iLZrPn9anoh9ad1MmO0RczFw*);
6551 NTIrefioerror__HMIVdYjdZYWskTmTQVo5BQ_.kind = 22;
6552 NTIrefioerror__HMIVdYjdZYWskTmTQVo5BQ_.base = (&NTIioerror__iLZrPn9anoh9ad1MmO0RczFw_);
6553 NTIrefioerror__HMIVdYjdZYWskTmTQVo5BQ_.marker = Marker_tyRef__HMIVdYjdZYWskTmTQVo5BQ;
6554 NTIeoferror__KGSY1JdrNB7Xi8KDhXFhSg_.size = sizeof(tyObject_EOFError__KGSY1JdrNB7Xi8KDhXFhSg);
6555 NTIeoferror__KGSY1JdrNB7Xi8KDhXFhSg_.align = NIM_ALIGNOF(tyObject_EOFError__KGSY1JdrNB7Xi8KDhXFhSg);
6556 NTIeoferror__KGSY1JdrNB7Xi8KDhXFhSg_.kind = 17;
6557 NTIeoferror__KGSY1JdrNB7Xi8KDhXFhSg_.base = (&NTIioerror__iLZrPn9anoh9ad1MmO0RczFw_);
6558 TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[23].len = 0; TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[23].kind = 2;
6559 NTIeoferror__KGSY1JdrNB7Xi8KDhXFhSg_.node = &TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[23];
6560 NTIrefeoferror__LEclZrWX2FQAodlapxGITw_.size = sizeof(tyObject_EOFError__KGSY1JdrNB7Xi8KDhXFhSg*);
6561 NTIrefeoferror__LEclZrWX2FQAodlapxGITw_.align = NIM_ALIGNOF(tyObject_EOFError__KGSY1JdrNB7Xi8KDhXFhSg*);
6562 NTIrefeoferror__LEclZrWX2FQAodlapxGITw_.kind = 22;
6563 NTIrefeoferror__LEclZrWX2FQAodlapxGITw_.base = (&NTIeoferror__KGSY1JdrNB7Xi8KDhXFhSg_);
6564 NTIrefeoferror__LEclZrWX2FQAodlapxGITw_.marker = Marker_tyRef__LEclZrWX2FQAodlapxGITw;
6565 NTIbiggestint__Aav8dQoMlCFnZRxA0IhTHQ_.size = sizeof(NI64);
6566 NTIbiggestint__Aav8dQoMlCFnZRxA0IhTHQ_.align = NIM_ALIGNOF(NI64);
6567 NTIbiggestint__Aav8dQoMlCFnZRxA0IhTHQ_.kind = 35;
6568 NTIbiggestint__Aav8dQoMlCFnZRxA0IhTHQ_.base = 0;
6569 NTIbiggestint__Aav8dQoMlCFnZRxA0IhTHQ_.flags = 3;
6570 NTIuint5150__JrFyJbYm9b5I4hJ9cWDqvfYA_.size = sizeof(NU32);
6571 NTIuint5150__JrFyJbYm9b5I4hJ9cWDqvfYA_.align = NIM_ALIGNOF(NU32);
6572 NTIuint5150__JrFyJbYm9b5I4hJ9cWDqvfYA_.kind = 43;
6573 NTIuint5150__JrFyJbYm9b5I4hJ9cWDqvfYA_.base = 0;
6574 NTIuint5150__JrFyJbYm9b5I4hJ9cWDqvfYA_.flags = 3;
6575 NTIrootref__0vJvi4uHbxjbxlkkX7P1EA_.size = sizeof(RootObj*);
6576 NTIrootref__0vJvi4uHbxjbxlkkX7P1EA_.align = NIM_ALIGNOF(RootObj*);
6577 NTIrootref__0vJvi4uHbxjbxlkkX7P1EA_.kind = 22;
6578 NTIrootref__0vJvi4uHbxjbxlkkX7P1EA_.base = (&NTIrootobj__ytyiCJqK439aF9cIibuRVpAg_);
6579 NTIrootref__0vJvi4uHbxjbxlkkX7P1EA_.marker = Marker_tyRef__0vJvi4uHbxjbxlkkX7P1EA;
6580 NTIuint56__k3HXouOuhqAKq0dx450lXQ_.size = sizeof(NU8);
6581 NTIuint56__k3HXouOuhqAKq0dx450lXQ_.align = NIM_ALIGNOF(NU8);
6582 NTIuint56__k3HXouOuhqAKq0dx450lXQ_.kind = 41;
6583 NTIuint56__k3HXouOuhqAKq0dx450lXQ_.base = 0;
6584 NTIuint56__k3HXouOuhqAKq0dx450lXQ_.flags = 3;
6585 NTIrangedefect__Rp9adJYTsbbIUzQ8fWxwgdA_.size = sizeof(tyObject_RangeDefect__Rp9adJYTsbbIUzQ8fWxwgdA);
6586 NTIrangedefect__Rp9adJYTsbbIUzQ8fWxwgdA_.align = NIM_ALIGNOF(tyObject_RangeDefect__Rp9adJYTsbbIUzQ8fWxwgdA);
6587 NTIrangedefect__Rp9adJYTsbbIUzQ8fWxwgdA_.kind = 17;
6588 NTIrangedefect__Rp9adJYTsbbIUzQ8fWxwgdA_.base = (&NTIdefect__LbeSGvgPzGzXnW9caIkJqMA_);
6589 TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[24].len = 0; TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[24].kind = 2;
6590 NTIrangedefect__Rp9adJYTsbbIUzQ8fWxwgdA_.node = &TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[24];
6591 NTIint__xHTZrq9aYs6boc9bCba0JbpQ_.size = sizeof(NI);
6592 NTIint__xHTZrq9aYs6boc9bCba0JbpQ_.align = NIM_ALIGNOF(NI);
6593 NTIint__xHTZrq9aYs6boc9bCba0JbpQ_.kind = 31;
6594 NTIint__xHTZrq9aYs6boc9bCba0JbpQ_.base = 0;
6595 NTIint__xHTZrq9aYs6boc9bCba0JbpQ_.flags = 3;
6596 NTIrefint__9ai78kkwqt3gikTN9cpHKUVg_.size = sizeof(NI*);
6597 NTIrefint__9ai78kkwqt3gikTN9cpHKUVg_.align = NIM_ALIGNOF(NI*);
6598 NTIrefint__9ai78kkwqt3gikTN9cpHKUVg_.kind = 22;
6599 NTIrefint__9ai78kkwqt3gikTN9cpHKUVg_.base = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_);
6600 NTIrefint__9ai78kkwqt3gikTN9cpHKUVg_.marker = Marker_tyRef__9ai78kkwqt3gikTN9cpHKUVg;
6601 NTIptrstring__Y36n7l9b7WX4rcaAYCe6LWw_.size = sizeof(NimStringDesc**);
6602 NTIptrstring__Y36n7l9b7WX4rcaAYCe6LWw_.align = NIM_ALIGNOF(NimStringDesc**);
6603 NTIptrstring__Y36n7l9b7WX4rcaAYCe6LWw_.kind = 21;
6604 NTIptrstring__Y36n7l9b7WX4rcaAYCe6LWw_.base = (&NTIstring__77mFvmsOLKik79ci2hXkHEg_);
6605 NTIptrstring__Y36n7l9b7WX4rcaAYCe6LWw_.flags = 3;
6606 NTIcint__nlCscttRCss70IBTyuBqnA_.size = sizeof(int);
6607 NTIcint__nlCscttRCss70IBTyuBqnA_.align = NIM_ALIGNOF(int);
6608 NTIcint__nlCscttRCss70IBTyuBqnA_.kind = 34;
6609 NTIcint__nlCscttRCss70IBTyuBqnA_.base = 0;
6610 NTIcint__nlCscttRCss70IBTyuBqnA_.flags = 3;
6611 NTIuncheckedarrayLcstringT__nvS6J9clHMUMHfoZd8Ad2zg_.size = sizeof(tyUncheckedArray__nvS6J9clHMUMHfoZd8Ad2zg);
6612 NTIuncheckedarrayLcstringT__nvS6J9clHMUMHfoZd8Ad2zg_.align = NIM_ALIGNOF(tyUncheckedArray__nvS6J9clHMUMHfoZd8Ad2zg);
6613 NTIuncheckedarrayLcstringT__nvS6J9clHMUMHfoZd8Ad2zg_.kind = 49;
6614 NTIuncheckedarrayLcstringT__nvS6J9clHMUMHfoZd8Ad2zg_.base = (&NTIcstring__S9agCYBinaYZnGWcjTdxclg_);
6615 NTIuncheckedarrayLcstringT__nvS6J9clHMUMHfoZd8Ad2zg_.flags = 3;
6616 NTIcstringarray__vCtGdhfQAmBlRFXaVFklkQ_.size = sizeof(NCSTRING*);
6617 NTIcstringarray__vCtGdhfQAmBlRFXaVFklkQ_.align = NIM_ALIGNOF(NCSTRING*);
6618 NTIcstringarray__vCtGdhfQAmBlRFXaVFklkQ_.kind = 21;
6619 NTIcstringarray__vCtGdhfQAmBlRFXaVFklkQ_.base = (&NTIuncheckedarrayLcstringT__nvS6J9clHMUMHfoZd8Ad2zg_);
6620 NTIcstringarray__vCtGdhfQAmBlRFXaVFklkQ_.flags = 3;
6621 NTIdivbyzerodefect__n3A4gjRrFZBuNnTYx1h9a8w_.size = sizeof(tyObject_DivByZeroDefect__n3A4gjRrFZBuNnTYx1h9a8w);
6622 NTIdivbyzerodefect__n3A4gjRrFZBuNnTYx1h9a8w_.align = NIM_ALIGNOF(tyObject_DivByZeroDefect__n3A4gjRrFZBuNnTYx1h9a8w);
6623 NTIdivbyzerodefect__n3A4gjRrFZBuNnTYx1h9a8w_.kind = 17;
6624 NTIdivbyzerodefect__n3A4gjRrFZBuNnTYx1h9a8w_.base = (&NTIarithmeticdefect__cT9c9bHlHSpA1QTnKbHjnIkA_);
6625 TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[25].len = 0; TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[25].kind = 2;
6626 NTIdivbyzerodefect__n3A4gjRrFZBuNnTYx1h9a8w_.node = &TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[25];
6627 NTIint__u50F0puw9b9c6p256tX4eJLQ_.size = sizeof(NI);
6628 NTIint__u50F0puw9b9c6p256tX4eJLQ_.align = NIM_ALIGNOF(NI);
6629 NTIint__u50F0puw9b9c6p256tX4eJLQ_.kind = 31;
6630 NTIint__u50F0puw9b9c6p256tX4eJLQ_.base = 0;
6631 NTIint__u50F0puw9b9c6p256tX4eJLQ_.flags = 3;
6632 }
6633 
6634