1 /* Generated by Nim Compiler v1.6.2 */
2 #define NIM_INTBITS 32
3 
4 #include "nimbase.h"
5 #include <string.h>
6 #undef LANGUAGE_C
7 #undef MIPSEB
8 #undef MIPSEL
9 #undef PPC
10 #undef R3000
11 #undef R4000
12 #undef i386
13 #undef linux
14 #undef mips
15 #undef near
16 #undef far
17 #undef powerpc
18 #undef unix
19 #define nimfr_(x, y)
20 #define nimln_(x, y)
21 typedef struct tySequence__hj4BvueOlKB8Z1Qw2ZU4nQ tySequence__hj4BvueOlKB8Z1Qw2ZU4nQ;
22 typedef struct TGenericSeq TGenericSeq;
23 typedef struct tyObject_Instr__Iclb1njvAJfjjEpCLzUzZg tyObject_Instr__Iclb1njvAJfjjEpCLzUzZg;
24 typedef struct tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw;
25 typedef struct tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ;
26 typedef struct tyObject_Con__eFhkbMY30pSTdER2YWz9cRw tyObject_Con__eFhkbMY30pSTdER2YWz9cRw;
27 typedef struct tySequence__bZP29c0SHT9aMkbSl4EFvgCg tySequence__bZP29c0SHT9aMkbSl4EFvgCg;
28 typedef struct tyObject_TBlock__J29b9b9cJiD9aK19cdoA7IwWiyA tyObject_TBlock__J29b9b9cJiD9aK19cdoA7IwWiyA;
29 typedef struct tySequence__m6h1zim2DFUPFJioFj0P9cg tySequence__m6h1zim2DFUPFJioFj0P9cg;
30 typedef struct tySequence__qwqHTkRvwhrRyENtudHQ7g tySequence__qwqHTkRvwhrRyENtudHQ7g;
31 typedef struct TNimType TNimType;
32 typedef struct TNimNode TNimNode;
33 typedef struct tyTuple__tFiYBoaBrKZKt1Te12yKUQ tyTuple__tFiYBoaBrKZKt1Te12yKUQ;
34 typedef struct tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ;
35 typedef struct tyObject_TType__facALICuu8zUj0hjvbTLFg tyObject_TType__facALICuu8zUj0hjvbTLFg;
36 typedef struct tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q;
37 typedef struct NimStringDesc NimStringDesc;
38 typedef struct tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA;
39 typedef struct tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w;
40 typedef struct RootObj RootObj;
41 typedef struct tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g;
42 typedef struct tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA;
43 typedef struct tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA;
44 typedef struct tyObject_TLib__NBMxlJ6g3utqUlplqTTHkA tyObject_TLib__NBMxlJ6g3utqUlplqTTHkA;
45 typedef struct tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A;
46 typedef struct tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g;
47 typedef struct tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w;
48 typedef struct tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ;
49 typedef struct tyObject_GcStack__7fytPA5bBsob6See21YMRA tyObject_GcStack__7fytPA5bBsob6See21YMRA;
50 typedef struct tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg;
51 typedef struct tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ;
52 typedef struct tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg;
53 typedef struct tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw;
54 typedef struct tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA;
55 typedef struct tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw;
56 typedef struct tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw;
57 typedef struct tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg;
58 typedef struct tyTuple__ujsjpB2O9cjj3uDHsXbnSzg tyTuple__ujsjpB2O9cjj3uDHsXbnSzg;
59 typedef struct tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg;
60 typedef struct tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ;
61 typedef struct tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg;
62 struct TGenericSeq {
63 NI len;
64 NI reserved;
65 };
66 typedef NU8 tyEnum_InstrKind__kmjEwko0gQNypI4MTa9chwQ;
67 struct tyObject_Instr__Iclb1njvAJfjjEpCLzUzZg {
68 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n;
69 tyEnum_InstrKind__kmjEwko0gQNypI4MTa9chwQ kind;
70 union{
71 NI dest;
72 };
73 };
74 struct tyObject_Con__eFhkbMY30pSTdER2YWz9cRw {
75 tySequence__hj4BvueOlKB8Z1Qw2ZU4nQ* code;
76 NI inTryStmt;
77 tySequence__bZP29c0SHT9aMkbSl4EFvgCg* blocks;
78 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner;
79 };
80 struct tyObject_TBlock__J29b9b9cJiD9aK19cdoA7IwWiyA {
81 NIM_BOOL isTryBlock;
82 union{
83 struct {tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* label;
84 tySequence__m6h1zim2DFUPFJioFj0P9cg* breakFixups;
85 } _isTryBlock_1;
86 struct {tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* finale;
87 tySequence__qwqHTkRvwhrRyENtudHQ7g* raiseFixups;
88 } _isTryBlock_2;
89 };
90 };
91 typedef NU8 tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A;
92 typedef NU8 tySet_tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ;
93 typedef N_NIMCALL_PTR(void, tyProc__ojoeKfW4VYIm36I9cpDTQIg) (void* p, NI op);
94 typedef N_NIMCALL_PTR(void*, tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ) (void* p);
95 struct TNimType {
96 NI size;
97 NI align;
98 tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A kind;
99 tySet_tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ flags;
100 TNimType* base;
101 TNimNode* node;
102 void* finalizer;
103 tyProc__ojoeKfW4VYIm36I9cpDTQIg marker;
104 tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ deepcopy;
105 };
106 typedef NU8 tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ;
107 struct TNimNode {
108 tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ kind;
109 NI offset;
110 TNimType* typ;
111 NCSTRING name;
112 NI len;
113 TNimNode** sons;
114 };
115 struct tyTuple__tFiYBoaBrKZKt1Te12yKUQ {
116 NI Field0;
117 tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ* Field1;
118 };
119 struct tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q {
120 NU16 line;
121 NI16 col;
122 NI32 fileIndex;
123 };
124 typedef NU32 tySet_tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg;
125 typedef NU8 tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw;
126 struct NimStringDesc {
127   TGenericSeq Sup;
128 NIM_CHAR data[SEQ_DECL_SIZE];
129 };
130 struct tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw {
131 tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
132 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info;
133 tySet_tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg flags;
134 tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind;
135 union{
136 struct {NI64 intVal;
137 } _kind_1;
138 struct {NF floatVal;
139 } _kind_2;
140 struct {NimStringDesc* strVal;
141 } _kind_3;
142 struct {tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym;
143 } _kind_4;
144 struct {tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* ident;
145 } _kind_5;
146 struct {tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ* sons;
147 } _kind_6;
148 };
149 };
150 struct RootObj {
151 TNimType* m_type;
152 };
153 struct tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g {
154 NI32 module;
155 NI32 item;
156 };
157 struct tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w {
158   RootObj Sup;
159 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g itemId;
160 };
161 typedef NU8 tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw;
162 typedef NU16 tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg;
163 typedef NU64 tySet_tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw;
164 typedef NU32 tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg;
165 typedef NU8 tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg;
166 typedef NU8 tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw;
167 typedef NU16 tySet_tyEnum_TLocFlag__o2bqJgR4ceIupnUSpxiudA;
168 struct tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA {
169 tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg k;
170 tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw storage;
171 tySet_tyEnum_TLocFlag__o2bqJgR4ceIupnUSpxiudA flags;
172 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* lode;
173 tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* r;
174 };
175 struct tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ {
176   tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w Sup;
177 tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw kind;
178 union{
179 struct {tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* gcUnsafetyReason;
180 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* transformedBody;
181 } _kind_1;
182 struct {tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* guard;
183 NI bitsize;
184 NI alignment;
185 } _kind_2;
186 };
187 tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg magic;
188 tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
189 tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* name;
190 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info;
191 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner;
192 tySet_tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw flags;
193 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ast;
194 tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg options;
195 NI position;
196 NI offset;
197 tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA loc;
198 tyObject_TLib__NBMxlJ6g3utqUlplqTTHkA* annex;
199 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* constraint;
200 };
201 typedef NU8 tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag;
202 typedef NU8 tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA;
203 typedef NU64 tySet_tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw;
204 struct tyObject_TType__facALICuu8zUj0hjvbTLFg {
205   tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w Sup;
206 tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kind;
207 tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA callConv;
208 tySet_tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw flags;
209 tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A* sons;
210 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n;
211 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner;
212 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym;
213 NI64 size;
214 NI16 align;
215 NI16 paddingAtEnd;
216 NI16 lockLevel;
217 tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA loc;
218 tyObject_TType__facALICuu8zUj0hjvbTLFg* typeInst;
219 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g uniqueId;
220 };
221 typedef NU8 tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag[9];
222 struct tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g {
223 NI refcount;
224 TNimType* typ;
225 };
226 struct tyObject_GcStack__7fytPA5bBsob6See21YMRA {
227 void* bottom;
228 };
229 struct tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w {
230 NI len;
231 NI cap;
232 tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g** d;
233 };
234 typedef tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ* tyArray__SPr7N6UKfuF549bNPiUvSRw[256];
235 typedef NU32 tyArray__BHbOSqU1t9b3Gt7K2c6fQig[24];
236 typedef tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* tyArray__N1u1nqOgmuJN9cSZrnMHgOQ[32];
237 typedef tyArray__N1u1nqOgmuJN9cSZrnMHgOQ tyArray__B6durA4ZCi1xjJvRtyYxMg[24];
238 typedef tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw* tyArray__lh2A89ahMmYg9bCmpVaplLbA[256];
239 struct tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA {
240 tyArray__lh2A89ahMmYg9bCmpVaplLbA data;
241 };
242 typedef tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* tyArray__0aOLqZchNi8nWtMTi8ND8w[2];
243 struct tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw {
244 tyArray__0aOLqZchNi8nWtMTi8ND8w link;
245 NI key;
246 NI upperBound;
247 NI level;
248 };
249 struct tyTuple__ujsjpB2O9cjj3uDHsXbnSzg {
250 tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* Field0;
251 NI Field1;
252 };
253 typedef tyTuple__ujsjpB2O9cjj3uDHsXbnSzg tyArray__LzOv2eCDGiceMKQstCLmhw[30];
254 struct tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg {
255 NI len;
256 tyArray__LzOv2eCDGiceMKQstCLmhw chunks;
257 tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg* next;
258 };
259 struct tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg {
260 NI minLargeObj;
261 NI maxLargeObj;
262 tyArray__SPr7N6UKfuF549bNPiUvSRw freeSmallChunks;
263 NU32 flBitmap;
264 tyArray__BHbOSqU1t9b3Gt7K2c6fQig slBitmap;
265 tyArray__B6durA4ZCi1xjJvRtyYxMg matrix;
266 tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw* llmem;
267 NI currMem;
268 NI maxMem;
269 NI freeMem;
270 NI occ;
271 NI lastSize;
272 tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA chunkStarts;
273 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* root;
274 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* deleted;
275 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* last;
276 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* freeAvlNodes;
277 NIM_BOOL locked;
278 NIM_BOOL blockChunkSizeIncrease;
279 NI nextChunkSize;
280 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw bottomData;
281 tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg heapLinks;
282 };
283 struct tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg {
284 NI stackScans;
285 NI cycleCollections;
286 NI maxThreshold;
287 NI maxStackSize;
288 NI maxStackCells;
289 NI cycleTableSize;
290 NI64 maxPause;
291 };
292 struct tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ {
293 NI counter;
294 NI max;
295 tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg* head;
296 tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg** data;
297 };
298 struct tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ {
299 tyObject_GcStack__7fytPA5bBsob6See21YMRA stack;
300 NI cycleThreshold;
301 NI zctThreshold;
302 tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w zct;
303 tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w decStack;
304 tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w tempStack;
305 NI recGcLock;
306 tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg region;
307 tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg stat;
308 tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ marked;
309 tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w additionalRoots;
310 NI gcThreadId;
311 };
312 typedef NU8 tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw;
313 typedef NU8 tySet_tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw[21];
314 typedef NI tyArray__HU7qaqKu9czJLT84iCBJnsA[2];
315 typedef NU8 tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg;
316 typedef NU8 tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw;
317 struct tySequence__hj4BvueOlKB8Z1Qw2ZU4nQ {
318   TGenericSeq Sup;
319   tyObject_Instr__Iclb1njvAJfjjEpCLzUzZg data[SEQ_DECL_SIZE];
320 };
321 struct tySequence__bZP29c0SHT9aMkbSl4EFvgCg {
322   TGenericSeq Sup;
323   tyObject_TBlock__J29b9b9cJiD9aK19cdoA7IwWiyA data[SEQ_DECL_SIZE];
324 };
325 struct tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ {
326   TGenericSeq Sup;
327   tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* data[SEQ_DECL_SIZE];
328 };
329 struct tySequence__m6h1zim2DFUPFJioFj0P9cg {
330   TGenericSeq Sup;
331   tyTuple__tFiYBoaBrKZKt1Te12yKUQ data[SEQ_DECL_SIZE];
332 };
333 struct tySequence__qwqHTkRvwhrRyENtudHQ7g {
334   TGenericSeq Sup;
335   NI data[SEQ_DECL_SIZE];
336 };
337 struct tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A {
338   TGenericSeq Sup;
339   tyObject_TType__facALICuu8zUj0hjvbTLFg* data[SEQ_DECL_SIZE];
340 };
341 static N_INLINE(void, nimZeroMem)(void* p, NI size);
342 static N_INLINE(void, nimSetMem__systemZmemory_7)(void* a, int v, NI size);
343 N_LIB_PRIVATE N_NIMCALL(TGenericSeq*, incrSeqV3)(TGenericSeq* s, TNimType* typ);
344 N_LIB_PRIVATE N_NIMCALL(void, nimGCvisit)(void* d, NI op);
345 static N_NIMCALL(void, Marker_tySequence__m6h1zim2DFUPFJioFj0P9cg)(void* p, NI op);
346 static N_NIMCALL(void, Marker_tySequence__bZP29c0SHT9aMkbSl4EFvgCg)(void* p, NI op);
347 N_LIB_PRIVATE N_NIMCALL(void, genericAssign)(void* dest, void* src, TNimType* mt);
348 N_LIB_PRIVATE N_NIMCALL(void, gen__dfa_198)(tyObject_Con__eFhkbMY30pSTdER2YWz9cRw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
349 N_LIB_PRIVATE N_NIMCALL(void, genUse__dfa_963)(tyObject_Con__eFhkbMY30pSTdER2YWz9cRw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* orig);
350 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, skipTrivials__dfa_951)(tyObject_Con__eFhkbMY30pSTdER2YWz9cRw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
351 static N_NIMCALL(void, Marker_tySequence__hj4BvueOlKB8Z1Qw2ZU4nQ)(void* p, NI op);
352 N_LIB_PRIVATE N_NIMCALL(void, unsureAsgnRef)(void** dest, void* src);
353 N_LIB_PRIVATE N_NIMCALL(void, genMagic__dfa_1026)(tyObject_Con__eFhkbMY30pSTdER2YWz9cRw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg m);
354 N_LIB_PRIVATE N_NIMCALL(void, genAndOr__dfa_444)(tyObject_Con__eFhkbMY30pSTdER2YWz9cRw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
355 N_LIB_PRIVATE N_NIMCALL(NI, forkI__dfa_83)(tyObject_Con__eFhkbMY30pSTdER2YWz9cRw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
356 N_LIB_PRIVATE N_NIMCALL(void, patch__dfa_173)(tyObject_Con__eFhkbMY30pSTdER2YWz9cRw* c, NI p);
357 N_LIB_PRIVATE N_NIMCALL(void, failedAssertImpl__systemZassertions_56)(NimStringDesc* msg);
358 N_LIB_PRIVATE N_NIMCALL(void, genDef__dfa_979)(tyObject_Con__eFhkbMY30pSTdER2YWz9cRw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* orig);
359 static N_INLINE(NI, len__ast_3198)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
360 N_LIB_PRIVATE N_NIMCALL(void, genCall__dfa_995)(tyObject_Con__eFhkbMY30pSTdER2YWz9cRw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
361 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, skipTypes__ast_3735)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kinds);
362 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, canRaiseConservative__ast_5076)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* fn);
363 N_LIB_PRIVATE N_NIMCALL(void, genBreakOrRaiseAux__dfa_555)(tyObject_Con__eFhkbMY30pSTdER2YWz9cRw* c, NI i, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
364 N_LIB_PRIVATE N_NIMCALL(NI, gotoI__dfa_124)(tyObject_Con__eFhkbMY30pSTdER2YWz9cRw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
365 static N_INLINE(void, asgnRef)(void** dest, void* src);
366 static N_INLINE(void, incRef__system_5308)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
367 static N_INLINE(NI, pluspercent___system_696)(NI x, NI y);
368 static N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*, usrToCell__system_5270)(void* usr);
369 static N_INLINE(NI, minuspercent___system_716)(NI x, NI y);
370 static N_INLINE(void, decRef__system_5315)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
371 static N_INLINE(NIM_BOOL, ltpercent___system_1005)(NI x, NI y);
372 static N_INLINE(void, rtlAddZCT__system_5313)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
373 N_LIB_PRIVATE N_NOINLINE(void, addZCT__system_5264)(tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w* s, tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
374 N_LIB_PRIVATE N_NIMCALL(void, genericSeqAssign)(void* dest, void* src, TNimType* mt);
375 N_LIB_PRIVATE N_NIMCALL(void, genIf__dfa_395)(tyObject_Con__eFhkbMY30pSTdER2YWz9cRw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
376 N_LIB_PRIVATE N_NIMCALL(void, genCase__dfa_451)(tyObject_Con__eFhkbMY30pSTdER2YWz9cRw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
377 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, lastSon__ast_4832)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
378 static N_INLINE(NI*, X5BX5D___dfa_492)(NI* s, NI sLen_0, NI i);
379 N_LIB_PRIVATE N_NIMCALL(void, genWhile__dfa_316)(tyObject_Con__eFhkbMY30pSTdER2YWz9cRw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
380 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isTrue__dfa_301)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
381 N_LIB_PRIVATE N_NIMCALL(void, popBlock__dfa_201)(tyObject_Con__eFhkbMY30pSTdER2YWz9cRw* c, NI oldLen);
382 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newNode__ast_3332)(tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind);
383 N_LIB_PRIVATE N_NIMCALL(TGenericSeq*, setLengthSeqV2)(TGenericSeq* s, TNimType* typ, NI newLen);
384 N_LIB_PRIVATE N_NIMCALL(void, genBlock__dfa_541)(tyObject_Con__eFhkbMY30pSTdER2YWz9cRw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
385 N_LIB_PRIVATE N_NIMCALL(void, genReturn__dfa_768)(tyObject_Con__eFhkbMY30pSTdER2YWz9cRw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
386 N_LIB_PRIVATE N_NIMCALL(void, genImplicitReturn__dfa_758)(tyObject_Con__eFhkbMY30pSTdER2YWz9cRw* c);
387 N_LIB_PRIVATE N_NIMCALL(void, genRaise__dfa_731)(tyObject_Con__eFhkbMY30pSTdER2YWz9cRw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
388 N_LIB_PRIVATE N_NIMCALL(void, genBreak__dfa_609)(tyObject_Con__eFhkbMY30pSTdER2YWz9cRw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
389 N_LIB_PRIVATE N_NIMCALL(void, genTry__dfa_640)(tyObject_Con__eFhkbMY30pSTdER2YWz9cRw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
390 static N_INLINE(NI, safeLen__ast_3191)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
391 N_LIB_PRIVATE N_NIMCALL(void, genVarSection__dfa_1040)(tyObject_Con__eFhkbMY30pSTdER2YWz9cRw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
392 static N_INLINE(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw**, X5BX5D___ast_4836)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** s, NI sLen_0, NI i);
393 static N_INLINE(NIM_BOOL, isSinkParam__ast_5030)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
394 N_LIB_PRIVATE TNimType NTItblock__J29b9b9cJiD9aK19cdoA7IwWiyA_;
395 extern TNimType NTIbool__VaVACK0bpYmqIQ0mKcHfQQ_;
396 TNimNode* NimDT___J29b9b9cJiD9aK19cdoA7IwWiyA_isTryBlock[3];
397 extern TNimType NTIpsym__dG2QVH5Z69aMUY38zTqWxaA_;
398 N_LIB_PRIVATE TNimType NTILtposition_seqLpnodeTT__tFiYBoaBrKZKt1Te12yKUQ_;
399 extern TNimType NTIint__rR5Bzr1D5krxoo1NcNyeMA_;
400 extern TNimType NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_;
401 N_LIB_PRIVATE TNimType NTIseqLLtposition_seqLpnodeTTT__m6h1zim2DFUPFJioFj0P9cg_;
402 extern TNimType NTIpnode__fKfcLzXYiz5jNu3NH3Tv8Q_;
403 extern TNimType NTIseqLtpositionT__qwqHTkRvwhrRyENtudHQ7g_;
404 N_LIB_PRIVATE TNimType NTIseqLtblockT__bZP29c0SHT9aMkbSl4EFvgCg_;
405 N_LIB_PRIVATE TNimType NTIinstr__Iclb1njvAJfjjEpCLzUzZg_;
406 N_LIB_PRIVATE TNimType NTIinstrkind__kmjEwko0gQNypI4MTa9chwQ_;
407 TNimNode* NimDT___Iclb1njvAJfjjEpCLzUzZg_kind[5];
408 N_LIB_PRIVATE TNimType NTIcontrolflowgraph__hj4BvueOlKB8Z1Qw2ZU4nQ_;
409 STRING_LITERAL(TM__rmUZTUif19aNVU5raHE2xtA_9, "dfa.nim(272, 12) `low(int) div 2 + 1 < c.code.len - p.int and c.code.len - p.int < high(int) div 2` ", 100);
410 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__rmUZTUif19aNVU5raHE2xtA_10 = {
411 0x10, 0xa9, 0x00, 0x00, 0x00, 0x60, 0x80, 0x00,
412 0x00}
413 ;
414 static NIM_CONST tySet_tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw TM__rmUZTUif19aNVU5raHE2xtA_11 = {
415 0x00, 0x00, 0x00, 0x00, 0x00, 0xe4, 0x00, 0x80,
416 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
417 0x00, 0x00, 0x00, 0x00, 0x00}
418 ;
419 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__rmUZTUif19aNVU5raHE2xtA_12 = {
420 0x10, 0xa8, 0x90, 0x00, 0x00, 0x60, 0x80, 0x00,
421 0x00}
422 ;
423 STRING_LITERAL(TM__rmUZTUif19aNVU5raHE2xtA_13, "dfa.nim(809, 24) `false` dfa construction pass requires the elimination of \'defer\'", 82);
424 N_LIB_PRIVATE TNimType NTIaliaskind__mOZtJx9b3QXuy9bfWq9cuUNCg_;
425 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__rmUZTUif19aNVU5raHE2xtA_17 = {
426 0x10, 0xa9, 0x00, 0x00, 0x00, 0x40, 0x80, 0x00,
427 0x00}
428 ;
429 extern tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ gch__system_5217;
N_INLINE(void,nimSetMem__systemZmemory_7)430 static N_INLINE(void, nimSetMem__systemZmemory_7)(void* a, int v, NI size) {
431 	void* T1_;
432 	T1_ = (void*)0;
433 	T1_ = memset(a, v, ((size_t) (size)));
434 }
N_INLINE(void,nimZeroMem)435 static N_INLINE(void, nimZeroMem)(void* p, NI size) {
436 	nimSetMem__systemZmemory_7(p, ((int) 0), size);
437 }
N_NIMCALL(void,Marker_tySequence__m6h1zim2DFUPFJioFj0P9cg)438 static N_NIMCALL(void, Marker_tySequence__m6h1zim2DFUPFJioFj0P9cg)(void* p, NI op) {
439 	tySequence__m6h1zim2DFUPFJioFj0P9cg* a;
440 	NI T1_;
441 	a = (tySequence__m6h1zim2DFUPFJioFj0P9cg*)p;
442 	T1_ = (NI)0;
443 	for (T1_ = 0; T1_ < (a ? a->Sup.len : 0); T1_++) {
444 	nimGCvisit((void*)a->data[T1_].Field1, op);
445 	}
446 }
N_NIMCALL(void,Marker_tySequence__bZP29c0SHT9aMkbSl4EFvgCg)447 static N_NIMCALL(void, Marker_tySequence__bZP29c0SHT9aMkbSl4EFvgCg)(void* p, NI op) {
448 	tySequence__bZP29c0SHT9aMkbSl4EFvgCg* a;
449 	NI T1_;
450 	a = (tySequence__bZP29c0SHT9aMkbSl4EFvgCg*)p;
451 	T1_ = (NI)0;
452 	for (T1_ = 0; T1_ < (a ? a->Sup.len : 0); T1_++) {
453 	switch (a->data[T1_].isTryBlock) {
454 	case NIM_FALSE:
455 	nimGCvisit((void*)a->data[T1_]._isTryBlock_1.label, op);
456 	nimGCvisit((void*)a->data[T1_]._isTryBlock_1.breakFixups, op);
457 	break;
458 	case NIM_TRUE:
459 	nimGCvisit((void*)a->data[T1_]._isTryBlock_2.finale, op);
460 	nimGCvisit((void*)a->data[T1_]._isTryBlock_2.raiseFixups, op);
461 	break;
462 	}
463 	}
464 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,skipTrivials__dfa_951)465 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, skipTrivials__dfa_951)(tyObject_Con__eFhkbMY30pSTdER2YWz9cRw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
466 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
467 	result = NIM_NIL;
468 	result = n;
469 	{
470 		while (1) {
471 			switch ((*result).kind) {
472 			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 45) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 47):
473 			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 63) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 67):
474 			{
475 				result = (*result)._kind_6.sons->data[((NI) 0)];
476 			}
477 			break;
478 			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 42):
479 			{
480 				gen__dfa_198(c, (*result)._kind_6.sons->data[((NI) 1)]);
481 				result = (*result)._kind_6.sons->data[((NI) 0)];
482 			}
483 			break;
484 			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 58) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 59):
485 			{
486 				result = (*result)._kind_6.sons->data[((NI) 1)];
487 			}
488 			break;
489 			default:
490 			{
491 				goto LA1;
492 			}
493 			break;
494 			}
495 		}
496 	} LA1: ;
497 	return result;
498 }
N_NIMCALL(void,Marker_tySequence__hj4BvueOlKB8Z1Qw2ZU4nQ)499 static N_NIMCALL(void, Marker_tySequence__hj4BvueOlKB8Z1Qw2ZU4nQ)(void* p, NI op) {
500 	tySequence__hj4BvueOlKB8Z1Qw2ZU4nQ* a;
501 	NI T1_;
502 	a = (tySequence__hj4BvueOlKB8Z1Qw2ZU4nQ*)p;
503 	T1_ = (NI)0;
504 	for (T1_ = 0; T1_ < (a ? a->Sup.len : 0); T1_++) {
505 	nimGCvisit((void*)a->data[T1_].n, op);
506 	switch (a->data[T1_].kind) {
507 	case ((tyEnum_InstrKind__kmjEwko0gQNypI4MTa9chwQ) 0):
508 	case ((tyEnum_InstrKind__kmjEwko0gQNypI4MTa9chwQ) 1):
509 	break;
510 	default:
511 	break;
512 	}
513 	}
514 }
N_NIMCALL(void,genUse__dfa_963)515 N_LIB_PRIVATE N_NIMCALL(void, genUse__dfa_963)(tyObject_Con__eFhkbMY30pSTdER2YWz9cRw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* orig) {
516 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n;
517 	n = skipTrivials__dfa_951(c, orig);
518 	{
519 		if (!((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA3_;
520 		{
521 			tyObject_Instr__Iclb1njvAJfjjEpCLzUzZg T9_;
522 			NI T10_;
523 			if (!((2100008 &((NU32)1<<((NU)((*(*n)._kind_4.sym).kind)&31U)))!=0)) goto LA7_;
524 			nimZeroMem((void*)(&T9_), sizeof(tyObject_Instr__Iclb1njvAJfjjEpCLzUzZg));
525 			nimZeroMem((void*)(&T9_), sizeof(tyObject_Instr__Iclb1njvAJfjjEpCLzUzZg));
526 			T9_.n = orig;
527 			T9_.kind = ((tyEnum_InstrKind__kmjEwko0gQNypI4MTa9chwQ) 3);
528 			unsureAsgnRef((void**) (&(*c).code), (tySequence__hj4BvueOlKB8Z1Qw2ZU4nQ*) incrSeqV3((TGenericSeq*)((*c).code), (&NTIcontrolflowgraph__hj4BvueOlKB8Z1Qw2ZU4nQ_)));
529 			T10_ = (*c).code->Sup.len++;
530 			genericAssign((void*)(&(*c).code->data[T10_]), (void*)(&T9_), (&NTIinstr__Iclb1njvAJfjjEpCLzUzZg_));
531 		}
532 		LA7_: ;
533 	}
534 	goto LA1_;
535 	LA3_: ;
536 	{
537 		gen__dfa_198(c, n);
538 	}
539 	LA1_: ;
540 }
N_NIMCALL(NI,forkI__dfa_83)541 N_LIB_PRIVATE N_NIMCALL(NI, forkI__dfa_83)(tyObject_Con__eFhkbMY30pSTdER2YWz9cRw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
542 	NI result;
543 	NI T1_;
544 	tyObject_Instr__Iclb1njvAJfjjEpCLzUzZg T2_;
545 	NI T3_;
546 	result = (NI)0;
547 	T1_ = ((*c).code ? (*c).code->Sup.len : 0);
548 	result = T1_;
549 	nimZeroMem((void*)(&T2_), sizeof(tyObject_Instr__Iclb1njvAJfjjEpCLzUzZg));
550 	nimZeroMem((void*)(&T2_), sizeof(tyObject_Instr__Iclb1njvAJfjjEpCLzUzZg));
551 	T2_.n = n;
552 	T2_.kind = ((tyEnum_InstrKind__kmjEwko0gQNypI4MTa9chwQ) 1);
553 	T2_.dest = ((NI) 0);
554 	unsureAsgnRef((void**) (&(*c).code), (tySequence__hj4BvueOlKB8Z1Qw2ZU4nQ*) incrSeqV3((TGenericSeq*)((*c).code), (&NTIcontrolflowgraph__hj4BvueOlKB8Z1Qw2ZU4nQ_)));
555 	T3_ = (*c).code->Sup.len++;
556 	genericAssign((void*)(&(*c).code->data[T3_]), (void*)(&T2_), (&NTIinstr__Iclb1njvAJfjjEpCLzUzZg_));
557 	return result;
558 }
N_NIMCALL(void,patch__dfa_173)559 N_LIB_PRIVATE N_NIMCALL(void, patch__dfa_173)(tyObject_Con__eFhkbMY30pSTdER2YWz9cRw* c, NI p) {
560 	NI T9_;
561 	{
562 		NIM_BOOL T3_;
563 		NI T4_;
564 		NI T6_;
565 		T3_ = (NIM_BOOL)0;
566 		T4_ = ((*c).code ? (*c).code->Sup.len : 0);
567 		T3_ = (((NI) -1073741823) < (NI)(T4_ - p));
568 		if (!(T3_)) goto LA5_;
569 		T6_ = ((*c).code ? (*c).code->Sup.len : 0);
570 		T3_ = ((NI)(T6_ - p) < ((NI) 1073741823));
571 		LA5_: ;
572 		if (!!(T3_)) goto LA7_;
573 		failedAssertImpl__systemZassertions_56(((NimStringDesc*) &TM__rmUZTUif19aNVU5raHE2xtA_9));
574 	}
575 	LA7_: ;
576 	T9_ = ((*c).code ? (*c).code->Sup.len : 0);
577 	(*c).code->data[p].dest = (NI)(T9_ - p);
578 }
N_NIMCALL(void,genAndOr__dfa_444)579 N_LIB_PRIVATE N_NIMCALL(void, genAndOr__dfa_444)(tyObject_Con__eFhkbMY30pSTdER2YWz9cRw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
580 	NI lab1X60gensym28_;
581 	gen__dfa_198(c, (*n)._kind_6.sons->data[((NI) 1)]);
582 	lab1X60gensym28_ = forkI__dfa_83(c, n);
583 	gen__dfa_198(c, (*n)._kind_6.sons->data[((NI) 2)]);
584 	patch__dfa_173(c, lab1X60gensym28_);
585 }
N_NIMCALL(void,genDef__dfa_979)586 N_LIB_PRIVATE N_NIMCALL(void, genDef__dfa_979)(tyObject_Con__eFhkbMY30pSTdER2YWz9cRw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* orig) {
587 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n;
588 	n = skipTrivials__dfa_951(c, orig);
589 	{
590 		NIM_BOOL T3_;
591 		tyObject_Instr__Iclb1njvAJfjjEpCLzUzZg T7_;
592 		NI T8_;
593 		T3_ = (NIM_BOOL)0;
594 		T3_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
595 		if (!(T3_)) goto LA4_;
596 		T3_ = ((2100008 &((NU32)1<<((NU)((*(*n)._kind_4.sym).kind)&31U)))!=0);
597 		LA4_: ;
598 		if (!T3_) goto LA5_;
599 		nimZeroMem((void*)(&T7_), sizeof(tyObject_Instr__Iclb1njvAJfjjEpCLzUzZg));
600 		nimZeroMem((void*)(&T7_), sizeof(tyObject_Instr__Iclb1njvAJfjjEpCLzUzZg));
601 		T7_.n = orig;
602 		T7_.kind = ((tyEnum_InstrKind__kmjEwko0gQNypI4MTa9chwQ) 2);
603 		unsureAsgnRef((void**) (&(*c).code), (tySequence__hj4BvueOlKB8Z1Qw2ZU4nQ*) incrSeqV3((TGenericSeq*)((*c).code), (&NTIcontrolflowgraph__hj4BvueOlKB8Z1Qw2ZU4nQ_)));
604 		T8_ = (*c).code->Sup.len++;
605 		genericAssign((void*)(&(*c).code->data[T8_]), (void*)(&T7_), (&NTIinstr__Iclb1njvAJfjjEpCLzUzZg_));
606 	}
607 	LA5_: ;
608 }
N_INLINE(NI,len__ast_3198)609 static N_INLINE(NI, len__ast_3198)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
610 	NI result;
611 	NI T1_;
612 	result = (NI)0;
613 	T1_ = ((*n)._kind_6.sons ? (*n)._kind_6.sons->Sup.len : 0);
614 	result = T1_;
615 	return result;
616 }
N_NIMCALL(NI,gotoI__dfa_124)617 N_LIB_PRIVATE N_NIMCALL(NI, gotoI__dfa_124)(tyObject_Con__eFhkbMY30pSTdER2YWz9cRw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
618 	NI result;
619 	NI T1_;
620 	tyObject_Instr__Iclb1njvAJfjjEpCLzUzZg T2_;
621 	NI T3_;
622 	result = (NI)0;
623 	T1_ = ((*c).code ? (*c).code->Sup.len : 0);
624 	result = T1_;
625 	nimZeroMem((void*)(&T2_), sizeof(tyObject_Instr__Iclb1njvAJfjjEpCLzUzZg));
626 	nimZeroMem((void*)(&T2_), sizeof(tyObject_Instr__Iclb1njvAJfjjEpCLzUzZg));
627 	T2_.n = n;
628 	T2_.kind = ((tyEnum_InstrKind__kmjEwko0gQNypI4MTa9chwQ) 0);
629 	T2_.dest = ((NI) 0);
630 	unsureAsgnRef((void**) (&(*c).code), (tySequence__hj4BvueOlKB8Z1Qw2ZU4nQ*) incrSeqV3((TGenericSeq*)((*c).code), (&NTIcontrolflowgraph__hj4BvueOlKB8Z1Qw2ZU4nQ_)));
631 	T3_ = (*c).code->Sup.len++;
632 	genericAssign((void*)(&(*c).code->data[T3_]), (void*)(&T2_), (&NTIinstr__Iclb1njvAJfjjEpCLzUzZg_));
633 	return result;
634 }
N_INLINE(NI,pluspercent___system_696)635 static N_INLINE(NI, pluspercent___system_696)(NI x, NI y) {
636 	NI result;
637 	result = (NI)0;
638 	result = ((NI) ((NU)((NU32)(((NU) (x))) + (NU32)(((NU) (y))))));
639 	return result;
640 }
N_INLINE(void,incRef__system_5308)641 static N_INLINE(void, incRef__system_5308)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
642 	(*c).refcount = pluspercent___system_696((*c).refcount, ((NI) 8));
643 }
N_INLINE(NI,minuspercent___system_716)644 static N_INLINE(NI, minuspercent___system_716)(NI x, NI y) {
645 	NI result;
646 	result = (NI)0;
647 	result = ((NI) ((NU)((NU32)(((NU) (x))) - (NU32)(((NU) (y))))));
648 	return result;
649 }
N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g *,usrToCell__system_5270)650 static N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*, usrToCell__system_5270)(void* usr) {
651 	tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* result;
652 	NI T1_;
653 	result = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
654 	T1_ = (NI)0;
655 	T1_ = minuspercent___system_716(((NI) (ptrdiff_t) (usr)), ((NI) 8));
656 	result = ((tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*) (T1_));
657 	return result;
658 }
N_INLINE(NIM_BOOL,ltpercent___system_1005)659 static N_INLINE(NIM_BOOL, ltpercent___system_1005)(NI x, NI y) {
660 	NIM_BOOL result;
661 	result = (NIM_BOOL)0;
662 	result = ((NU32)(((NU) (x))) < (NU32)(((NU) (y))));
663 	return result;
664 }
N_INLINE(void,rtlAddZCT__system_5313)665 static N_INLINE(void, rtlAddZCT__system_5313)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
666 	addZCT__system_5264((&gch__system_5217.zct), c);
667 }
N_INLINE(void,decRef__system_5315)668 static N_INLINE(void, decRef__system_5315)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
669 	(*c).refcount = minuspercent___system_716((*c).refcount, ((NI) 8));
670 	{
671 		NIM_BOOL T3_;
672 		T3_ = (NIM_BOOL)0;
673 		T3_ = ltpercent___system_1005((*c).refcount, ((NI) 8));
674 		if (!T3_) goto LA4_;
675 		rtlAddZCT__system_5313(c);
676 	}
677 	LA4_: ;
678 }
N_INLINE(void,asgnRef)679 static N_INLINE(void, asgnRef)(void** dest, void* src) {
680 	{
681 		tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T5_;
682 		if (!!((src == NIM_NIL))) goto LA3_;
683 		T5_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
684 		T5_ = usrToCell__system_5270(src);
685 		incRef__system_5308(T5_);
686 	}
687 	LA3_: ;
688 	{
689 		tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T10_;
690 		if (!!(((*dest) == NIM_NIL))) goto LA8_;
691 		T10_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
692 		T10_ = usrToCell__system_5270((*dest));
693 		decRef__system_5315(T10_);
694 	}
695 	LA8_: ;
696 	(*dest) = src;
697 }
N_NIMCALL(void,genBreakOrRaiseAux__dfa_555)698 N_LIB_PRIVATE N_NIMCALL(void, genBreakOrRaiseAux__dfa_555)(tyObject_Con__eFhkbMY30pSTdER2YWz9cRw* c, NI i, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
699 	NI lab1;
700 	lab1 = gotoI__dfa_124(c, n);
701 	{
702 		NI T5_;
703 		if (!(*c).blocks->data[i].isTryBlock) goto LA3_;
704 		asgnRef((void**) (&(*c).blocks->data[i]._isTryBlock_2.raiseFixups), (tySequence__qwqHTkRvwhrRyENtudHQ7g*) incrSeqV3((TGenericSeq*)((*c).blocks->data[i]._isTryBlock_2.raiseFixups), (&NTIseqLtpositionT__qwqHTkRvwhrRyENtudHQ7g_)));
705 		T5_ = (*c).blocks->data[i]._isTryBlock_2.raiseFixups->Sup.len++;
706 		(*c).blocks->data[i]._isTryBlock_2.raiseFixups->data[T5_] = lab1;
707 	}
708 	goto LA1_;
709 	LA3_: ;
710 	{
711 		tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ* trailingFinales;
712 		tyTuple__tFiYBoaBrKZKt1Te12yKUQ T20_;
713 		NI T21_;
714 		trailingFinales = NIM_NIL;
715 		{
716 			if (!(((NI) 0) < (*c).inTryStmt)) goto LA9_;
717 			{
718 				NI b;
719 				NI colontmp_;
720 				NI T12_;
721 				NI res;
722 				b = (NI)0;
723 				colontmp_ = (NI)0;
724 				T12_ = (((*c).blocks ? (*c).blocks->Sup.len : 0)-1);
725 				colontmp_ = T12_;
726 				res = colontmp_;
727 				{
728 					while (1) {
729 						if (!(i <= res)) goto LA14;
730 						b = res;
731 						{
732 							NI T19_;
733 							if (!(*c).blocks->data[b].isTryBlock) goto LA17_;
734 							trailingFinales = (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) incrSeqV3((TGenericSeq*)(trailingFinales), (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_));
735 							T19_ = trailingFinales->Sup.len++;
736 							asgnRef((void**) (&trailingFinales->data[T19_]), (*c).blocks->data[b]._isTryBlock_2.finale);
737 						}
738 						LA17_: ;
739 						res -= ((NI) 1);
740 					} LA14: ;
741 				}
742 			}
743 		}
744 		LA9_: ;
745 		nimZeroMem((void*)(&T20_), sizeof(tyTuple__tFiYBoaBrKZKt1Te12yKUQ));
746 		T20_.Field0 = lab1;
747 		genericSeqAssign((&T20_.Field1), trailingFinales, (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_));
748 		asgnRef((void**) (&(*c).blocks->data[i]._isTryBlock_1.breakFixups), (tySequence__m6h1zim2DFUPFJioFj0P9cg*) incrSeqV3((TGenericSeq*)((*c).blocks->data[i]._isTryBlock_1.breakFixups), (&NTIseqLLtposition_seqLpnodeTTT__m6h1zim2DFUPFJioFj0P9cg_)));
749 		T21_ = (*c).blocks->data[i]._isTryBlock_1.breakFixups->Sup.len++;
750 		(*c).blocks->data[i]._isTryBlock_1.breakFixups->data[T21_].Field0 = T20_.Field0;
751 		genericSeqAssign((&(*c).blocks->data[i]._isTryBlock_1.breakFixups->data[T21_].Field1), T20_.Field1, (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_));
752 	}
753 	LA1_: ;
754 }
N_NIMCALL(void,genCall__dfa_995)755 N_LIB_PRIVATE N_NIMCALL(void, genCall__dfa_995)(tyObject_Con__eFhkbMY30pSTdER2YWz9cRw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
756 	tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
757 	gen__dfa_198(c, (*n)._kind_6.sons->data[((NI) 0)]);
758 	t = (*(*n)._kind_6.sons->data[((NI) 0)]).typ;
759 	{
760 		if (!!((t == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA3_;
761 		t = skipTypes__ast_3735(t, TM__rmUZTUif19aNVU5raHE2xtA_10);
762 	}
763 	LA3_: ;
764 	{
765 		NI i;
766 		NI colontmp_;
767 		NI i_2;
768 		i = (NI)0;
769 		colontmp_ = (NI)0;
770 		colontmp_ = len__ast_3198(n);
771 		i_2 = ((NI) 1);
772 		{
773 			while (1) {
774 				if (!(i_2 < colontmp_)) goto LA7;
775 				i = i_2;
776 				gen__dfa_198(c, (*n)._kind_6.sons->data[i]);
777 				i_2 += ((NI) 1);
778 			} LA7: ;
779 		}
780 	}
781 	{
782 		NIM_BOOL T10_;
783 		NI lab1X60gensym114_;
784 		T10_ = (NIM_BOOL)0;
785 		T10_ = (((NI) 0) < (*c).inTryStmt);
786 		if (!(T10_)) goto LA11_;
787 		T10_ = canRaiseConservative__ast_5076((*n)._kind_6.sons->data[((NI) 0)]);
788 		LA11_: ;
789 		if (!T10_) goto LA12_;
790 		lab1X60gensym114_ = forkI__dfa_83(c, n);
791 		{
792 			NI i_3;
793 			NI colontmp__2;
794 			NI T15_;
795 			NI res;
796 			i_3 = (NI)0;
797 			colontmp__2 = (NI)0;
798 			T15_ = (((*c).blocks ? (*c).blocks->Sup.len : 0)-1);
799 			colontmp__2 = T15_;
800 			res = colontmp__2;
801 			{
802 				while (1) {
803 					if (!(((NI) 0) <= res)) goto LA17;
804 					i_3 = res;
805 					{
806 						if (!(*c).blocks->data[i_3].isTryBlock) goto LA20_;
807 						genBreakOrRaiseAux__dfa_555(c, i_3, n);
808 						goto LA14;
809 					}
810 					LA20_: ;
811 					res -= ((NI) 1);
812 				} LA17: ;
813 			}
814 		} LA14: ;
815 		patch__dfa_173(c, lab1X60gensym114_);
816 	}
817 	LA12_: ;
818 }
N_NIMCALL(void,genMagic__dfa_1026)819 N_LIB_PRIVATE N_NIMCALL(void, genMagic__dfa_1026)(tyObject_Con__eFhkbMY30pSTdER2YWz9cRw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg m) {
820 	switch (m) {
821 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 109):
822 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 110):
823 	{
824 		genAndOr__dfa_444(c, n);
825 	}
826 	break;
827 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 32):
828 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 33):
829 	{
830 		genDef__dfa_979(c, (*n)._kind_6.sons->data[((NI) 1)]);
831 		{
832 			NI i;
833 			NI colontmp_;
834 			NI i_2;
835 			i = (NI)0;
836 			colontmp_ = (NI)0;
837 			colontmp_ = len__ast_3198(n);
838 			i_2 = ((NI) 2);
839 			{
840 				while (1) {
841 					if (!(i_2 < colontmp_)) goto LA5;
842 					i = i_2;
843 					gen__dfa_198(c, (*n)._kind_6.sons->data[i]);
844 					i_2 += ((NI) 1);
845 				} LA5: ;
846 			}
847 		}
848 	}
849 	break;
850 	default:
851 	{
852 		genCall__dfa_995(c, n);
853 	}
854 	break;
855 	}
856 }
N_NIMCALL(void,genIf__dfa_395)857 N_LIB_PRIVATE N_NIMCALL(void, genIf__dfa_395)(tyObject_Con__eFhkbMY30pSTdER2YWz9cRw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
858 	tySequence__qwqHTkRvwhrRyENtudHQ7g* endings;
859 	endings = NIM_NIL;
860 	{
861 		NI i;
862 		NI colontmp_;
863 		NI i_2;
864 		i = (NI)0;
865 		colontmp_ = (NI)0;
866 		colontmp_ = len__ast_3198(n);
867 		i_2 = ((NI) 0);
868 		{
869 			while (1) {
870 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* it;
871 				if (!(i_2 < colontmp_)) goto LA3;
872 				i = i_2;
873 				it = (*n)._kind_6.sons->data[i];
874 				gen__dfa_198(c, (*it)._kind_6.sons->data[((NI) 0)]);
875 				{
876 					NI T6_;
877 					NI lab1X60gensym23_;
878 					NI T9_;
879 					NI T10_;
880 					T6_ = (NI)0;
881 					T6_ = len__ast_3198(it);
882 					if (!(T6_ == ((NI) 2))) goto LA7_;
883 					lab1X60gensym23_ = forkI__dfa_83(c, (*it)._kind_6.sons->data[((NI) 1)]);
884 					gen__dfa_198(c, (*it)._kind_6.sons->data[((NI) 1)]);
885 					T9_ = (NI)0;
886 					T9_ = gotoI__dfa_124(c, (*it)._kind_6.sons->data[((NI) 1)]);
887 					endings = (tySequence__qwqHTkRvwhrRyENtudHQ7g*) incrSeqV3((TGenericSeq*)(endings), (&NTIseqLtpositionT__qwqHTkRvwhrRyENtudHQ7g_));
888 					T10_ = endings->Sup.len++;
889 					endings->data[T10_] = T9_;
890 					patch__dfa_173(c, lab1X60gensym23_);
891 				}
892 				LA7_: ;
893 				i_2 += ((NI) 1);
894 			} LA3: ;
895 		}
896 	}
897 	{
898 		NI i_3;
899 		NI colontmp__2;
900 		NI T12_;
901 		NI res;
902 		i_3 = (NI)0;
903 		colontmp__2 = (NI)0;
904 		T12_ = ((endings ? endings->Sup.len : 0)-1);
905 		colontmp__2 = T12_;
906 		res = colontmp__2;
907 		{
908 			while (1) {
909 				if (!(((NI) 0) <= res)) goto LA14;
910 				i_3 = res;
911 				patch__dfa_173(c, endings->data[i_3]);
912 				res -= ((NI) 1);
913 			} LA14: ;
914 		}
915 	}
916 }
N_INLINE(NI *,X5BX5D___dfa_492)917 static N_INLINE(NI*, X5BX5D___dfa_492)(NI* s, NI sLen_0, NI i) {
918 	NI* result;
919 	result = (NI*)0;
920 	result = (&s[(NI)(sLen_0 - i)]);
921 	return result;
922 }
N_NIMCALL(void,genCase__dfa_451)923 N_LIB_PRIVATE N_NIMCALL(void, genCase__dfa_451)(tyObject_Con__eFhkbMY30pSTdER2YWz9cRw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
924 	NIM_BOOL isExhaustive;
925 	tyObject_TType__facALICuu8zUj0hjvbTLFg* T1_;
926 	tySequence__qwqHTkRvwhrRyENtudHQ7g* endings;
927 	T1_ = NIM_NIL;
928 	T1_ = skipTypes__ast_3735((*(*n)._kind_6.sons->data[((NI) 0)]).typ, TM__rmUZTUif19aNVU5raHE2xtA_12);
929 	isExhaustive = !(((*T1_).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 36) && (*T1_).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 39) || (*T1_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 28)));
930 	endings = NIM_NIL;
931 	gen__dfa_198(c, (*n)._kind_6.sons->data[((NI) 0)]);
932 	{
933 		NI i;
934 		NI colontmp_;
935 		NI i_2;
936 		i = (NI)0;
937 		colontmp_ = (NI)0;
938 		colontmp_ = len__ast_3198(n);
939 		i_2 = ((NI) 1);
940 		{
941 			while (1) {
942 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* it;
943 				if (!(i_2 < colontmp_)) goto LA4;
944 				i = i_2;
945 				it = (*n)._kind_6.sons->data[i];
946 				{
947 					NIM_BOOL T7_;
948 					NI T8_;
949 					NIM_BOOL T10_;
950 					NI T11_;
951 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T15_;
952 					T7_ = (NIM_BOOL)0;
953 					T8_ = (NI)0;
954 					T8_ = len__ast_3198(it);
955 					T7_ = (T8_ == ((NI) 1));
956 					if (T7_) goto LA9_;
957 					T10_ = (NIM_BOOL)0;
958 					T11_ = (NI)0;
959 					T11_ = len__ast_3198(n);
960 					T10_ = (i == (NI)(T11_ - ((NI) 1)));
961 					if (!(T10_)) goto LA12_;
962 					T10_ = isExhaustive;
963 					LA12_: ;
964 					T7_ = T10_;
965 					LA9_: ;
966 					if (!T7_) goto LA13_;
967 					T15_ = NIM_NIL;
968 					T15_ = lastSon__ast_4832(it);
969 					gen__dfa_198(c, T15_);
970 					{
971 						NI T18_;
972 						NI* T21_;
973 						T18_ = (endings ? endings->Sup.len : 0);
974 						if (!!((T18_ == ((NI) 0)))) goto LA19_;
975 						T21_ = (NI*)0;
976 						T21_ = X5BX5D___dfa_492(endings->data, (endings ? endings->Sup.len : 0), ((NI) 1));
977 						patch__dfa_173(c, (*T21_));
978 					}
979 					LA19_: ;
980 				}
981 				goto LA5_;
982 				LA13_: ;
983 				{
984 					NI lab1X60gensym36_;
985 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T23_;
986 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T24_;
987 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T31_;
988 					NI T32_;
989 					NI T33_;
990 					T23_ = NIM_NIL;
991 					T23_ = lastSon__ast_4832(it);
992 					lab1X60gensym36_ = forkI__dfa_83(c, T23_);
993 					T24_ = NIM_NIL;
994 					T24_ = lastSon__ast_4832(it);
995 					gen__dfa_198(c, T24_);
996 					{
997 						NI T27_;
998 						NI* T30_;
999 						T27_ = (endings ? endings->Sup.len : 0);
1000 						if (!!((T27_ == ((NI) 0)))) goto LA28_;
1001 						T30_ = (NI*)0;
1002 						T30_ = X5BX5D___dfa_492(endings->data, (endings ? endings->Sup.len : 0), ((NI) 1));
1003 						patch__dfa_173(c, (*T30_));
1004 					}
1005 					LA28_: ;
1006 					T31_ = NIM_NIL;
1007 					T31_ = lastSon__ast_4832(it);
1008 					T32_ = (NI)0;
1009 					T32_ = gotoI__dfa_124(c, T31_);
1010 					endings = (tySequence__qwqHTkRvwhrRyENtudHQ7g*) incrSeqV3((TGenericSeq*)(endings), (&NTIseqLtpositionT__qwqHTkRvwhrRyENtudHQ7g_));
1011 					T33_ = endings->Sup.len++;
1012 					endings->data[T33_] = T32_;
1013 					patch__dfa_173(c, lab1X60gensym36_);
1014 				}
1015 				LA5_: ;
1016 				i_2 += ((NI) 1);
1017 			} LA4: ;
1018 		}
1019 	}
1020 }
N_NIMCALL(NIM_BOOL,isTrue__dfa_301)1021 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isTrue__dfa_301)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
1022 	NIM_BOOL result;
1023 	NIM_BOOL T1_;
1024 	NIM_BOOL T2_;
1025 	NIM_BOOL T3_;
1026 	NIM_BOOL T7_;
1027 	result = (NIM_BOOL)0;
1028 	T1_ = (NIM_BOOL)0;
1029 	T2_ = (NIM_BOOL)0;
1030 	T3_ = (NIM_BOOL)0;
1031 	T3_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
1032 	if (!(T3_)) goto LA4_;
1033 	T3_ = ((*(*n)._kind_4.sym).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 20));
1034 	LA4_: ;
1035 	T2_ = T3_;
1036 	if (!(T2_)) goto LA5_;
1037 	T2_ = !(((*(*n)._kind_4.sym).position == ((NI) 0)));
1038 	LA5_: ;
1039 	T1_ = T2_;
1040 	if (T1_) goto LA6_;
1041 	T7_ = (NIM_BOOL)0;
1042 	T7_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6));
1043 	if (!(T7_)) goto LA8_;
1044 	T7_ = !(((*n)._kind_1.intVal == IL64(0)));
1045 	LA8_: ;
1046 	T1_ = T7_;
1047 	LA6_: ;
1048 	result = T1_;
1049 	return result;
1050 }
N_NIMCALL(void,popBlock__dfa_201)1051 N_LIB_PRIVATE N_NIMCALL(void, popBlock__dfa_201)(tyObject_Con__eFhkbMY30pSTdER2YWz9cRw* c, NI oldLen) {
1052 	tySequence__qwqHTkRvwhrRyENtudHQ7g* exits;
1053 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T1_;
1054 	NI T2_;
1055 	NI T3_;
1056 	exits = NIM_NIL;
1057 	T1_ = NIM_NIL;
1058 	T1_ = newNode__ast_3332(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1));
1059 	T2_ = (NI)0;
1060 	T2_ = gotoI__dfa_124(c, T1_);
1061 	exits = (tySequence__qwqHTkRvwhrRyENtudHQ7g*) incrSeqV3((TGenericSeq*)(exits), (&NTIseqLtpositionT__qwqHTkRvwhrRyENtudHQ7g_));
1062 	T3_ = exits->Sup.len++;
1063 	exits->data[T3_] = T2_;
1064 	{
1065 		tyTuple__tFiYBoaBrKZKt1Te12yKUQ* f;
1066 		tySequence__m6h1zim2DFUPFJioFj0P9cg* colontmp_;
1067 		NI i;
1068 		NI L;
1069 		NI T5_;
1070 		f = (tyTuple__tFiYBoaBrKZKt1Te12yKUQ*)0;
1071 		colontmp_ = NIM_NIL;
1072 		colontmp_ = (*c).blocks->data[oldLen]._isTryBlock_1.breakFixups;
1073 		i = ((NI) 0);
1074 		T5_ = (colontmp_ ? colontmp_->Sup.len : 0);
1075 		L = T5_;
1076 		{
1077 			while (1) {
1078 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T12_;
1079 				NI T13_;
1080 				NI T14_;
1081 				if (!(i < L)) goto LA7;
1082 				f = (&colontmp_->data[i]);
1083 				patch__dfa_173(c, (*f).Field0);
1084 				{
1085 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** finale;
1086 					tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ* colontmp__2;
1087 					NI i_2;
1088 					NI L_2;
1089 					NI T9_;
1090 					finale = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw**)0;
1091 					colontmp__2 = NIM_NIL;
1092 					colontmp__2 = (*f).Field1;
1093 					i_2 = ((NI) 0);
1094 					T9_ = (colontmp__2 ? colontmp__2->Sup.len : 0);
1095 					L_2 = T9_;
1096 					{
1097 						while (1) {
1098 							if (!(i_2 < L_2)) goto LA11;
1099 							finale = &colontmp__2->data[i_2];
1100 							gen__dfa_198(c, (*finale));
1101 							i_2 += ((NI) 1);
1102 						} LA11: ;
1103 					}
1104 				}
1105 				T12_ = NIM_NIL;
1106 				T12_ = newNode__ast_3332(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1));
1107 				T13_ = (NI)0;
1108 				T13_ = gotoI__dfa_124(c, T12_);
1109 				exits = (tySequence__qwqHTkRvwhrRyENtudHQ7g*) incrSeqV3((TGenericSeq*)(exits), (&NTIseqLtpositionT__qwqHTkRvwhrRyENtudHQ7g_));
1110 				T14_ = exits->Sup.len++;
1111 				exits->data[T14_] = T13_;
1112 				i += ((NI) 1);
1113 			} LA7: ;
1114 		}
1115 	}
1116 	{
1117 		NI* e;
1118 		NI i_3;
1119 		NI L_3;
1120 		NI T16_;
1121 		e = (NI*)0;
1122 		i_3 = ((NI) 0);
1123 		T16_ = (exits ? exits->Sup.len : 0);
1124 		L_3 = T16_;
1125 		{
1126 			while (1) {
1127 				if (!(i_3 < L_3)) goto LA18;
1128 				e = (&exits->data[i_3]);
1129 				patch__dfa_173(c, (*e));
1130 				i_3 += ((NI) 1);
1131 			} LA18: ;
1132 		}
1133 	}
1134 	unsureAsgnRef((void**) (&(*c).blocks), (tySequence__bZP29c0SHT9aMkbSl4EFvgCg*) setLengthSeqV2(&((*c).blocks)->Sup, (&NTIseqLtblockT__bZP29c0SHT9aMkbSl4EFvgCg_), ((NI) (oldLen))));
1135 }
N_NIMCALL(void,genWhile__dfa_316)1136 N_LIB_PRIVATE N_NIMCALL(void, genWhile__dfa_316)(tyObject_Con__eFhkbMY30pSTdER2YWz9cRw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
1137 	{
1138 		NIM_BOOL T3_;
1139 		NI oldLenX60gensym16_;
1140 		NI T6_;
1141 		tyObject_TBlock__J29b9b9cJiD9aK19cdoA7IwWiyA T7_;
1142 		NI T8_;
1143 		T3_ = (NIM_BOOL)0;
1144 		T3_ = isTrue__dfa_301((*n)._kind_6.sons->data[((NI) 0)]);
1145 		if (!T3_) goto LA4_;
1146 		T6_ = ((*c).blocks ? (*c).blocks->Sup.len : 0);
1147 		oldLenX60gensym16_ = T6_;
1148 		nimZeroMem((void*)(&T7_), sizeof(tyObject_TBlock__J29b9b9cJiD9aK19cdoA7IwWiyA));
1149 		nimZeroMem((void*)(&T7_), sizeof(tyObject_TBlock__J29b9b9cJiD9aK19cdoA7IwWiyA));
1150 		T7_.isTryBlock = NIM_FALSE;
1151 		T7_._isTryBlock_1.label = ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL);
1152 		unsureAsgnRef((void**) (&(*c).blocks), (tySequence__bZP29c0SHT9aMkbSl4EFvgCg*) incrSeqV3((TGenericSeq*)((*c).blocks), (&NTIseqLtblockT__bZP29c0SHT9aMkbSl4EFvgCg_)));
1153 		T8_ = (*c).blocks->Sup.len++;
1154 		genericAssign((void*)(&(*c).blocks->data[T8_]), (void*)(&T7_), (&NTItblock__J29b9b9cJiD9aK19cdoA7IwWiyA_));
1155 		{
1156 			NI i;
1157 			NI res;
1158 			i = (NI)0;
1159 			res = ((NI) 0);
1160 			{
1161 				while (1) {
1162 					if (!(res <= ((NI) 1))) goto LA11;
1163 					i = res;
1164 					gen__dfa_198(c, (*n)._kind_6.sons->data[((NI) 1)]);
1165 					res += ((NI) 1);
1166 				} LA11: ;
1167 			}
1168 		}
1169 		popBlock__dfa_201(c, oldLenX60gensym16_);
1170 	}
1171 	goto LA1_;
1172 	LA4_: ;
1173 	{
1174 		NI oldLenX60gensym18_;
1175 		NI T13_;
1176 		tyObject_TBlock__J29b9b9cJiD9aK19cdoA7IwWiyA T14_;
1177 		NI T15_;
1178 		tyArray__HU7qaqKu9czJLT84iCBJnsA endings;
1179 		T13_ = ((*c).blocks ? (*c).blocks->Sup.len : 0);
1180 		oldLenX60gensym18_ = T13_;
1181 		nimZeroMem((void*)(&T14_), sizeof(tyObject_TBlock__J29b9b9cJiD9aK19cdoA7IwWiyA));
1182 		nimZeroMem((void*)(&T14_), sizeof(tyObject_TBlock__J29b9b9cJiD9aK19cdoA7IwWiyA));
1183 		T14_.isTryBlock = NIM_FALSE;
1184 		T14_._isTryBlock_1.label = ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL);
1185 		unsureAsgnRef((void**) (&(*c).blocks), (tySequence__bZP29c0SHT9aMkbSl4EFvgCg*) incrSeqV3((TGenericSeq*)((*c).blocks), (&NTIseqLtblockT__bZP29c0SHT9aMkbSl4EFvgCg_)));
1186 		T15_ = (*c).blocks->Sup.len++;
1187 		genericAssign((void*)(&(*c).blocks->data[T15_]), (void*)(&T14_), (&NTItblock__J29b9b9cJiD9aK19cdoA7IwWiyA_));
1188 		nimZeroMem((void*)endings, sizeof(tyArray__HU7qaqKu9czJLT84iCBJnsA));
1189 		{
1190 			NI i_2;
1191 			NI res_2;
1192 			i_2 = (NI)0;
1193 			res_2 = ((NI) 0);
1194 			{
1195 				while (1) {
1196 					if (!(res_2 <= ((NI) 1))) goto LA18;
1197 					i_2 = res_2;
1198 					gen__dfa_198(c, (*n)._kind_6.sons->data[((NI) 0)]);
1199 					endings[(i_2)- 0] = forkI__dfa_83(c, n);
1200 					gen__dfa_198(c, (*n)._kind_6.sons->data[((NI) 1)]);
1201 					res_2 += ((NI) 1);
1202 				} LA18: ;
1203 			}
1204 		}
1205 		{
1206 			NI i_3;
1207 			NI res_3;
1208 			i_3 = (NI)0;
1209 			res_3 = ((NI) 1);
1210 			{
1211 				while (1) {
1212 					if (!(((NI) 0) <= res_3)) goto LA21;
1213 					i_3 = ((NI) (res_3));
1214 					patch__dfa_173(c, endings[(i_3)- 0]);
1215 					res_3 -= ((NI) 1);
1216 				} LA21: ;
1217 			}
1218 		}
1219 		popBlock__dfa_201(c, oldLenX60gensym18_);
1220 	}
1221 	LA1_: ;
1222 }
N_NIMCALL(void,genBlock__dfa_541)1223 N_LIB_PRIVATE N_NIMCALL(void, genBlock__dfa_541)(tyObject_Con__eFhkbMY30pSTdER2YWz9cRw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
1224 	NI oldLenX60gensym40_;
1225 	NI T1_;
1226 	tyObject_TBlock__J29b9b9cJiD9aK19cdoA7IwWiyA T2_;
1227 	NI T3_;
1228 	T1_ = ((*c).blocks ? (*c).blocks->Sup.len : 0);
1229 	oldLenX60gensym40_ = T1_;
1230 	nimZeroMem((void*)(&T2_), sizeof(tyObject_TBlock__J29b9b9cJiD9aK19cdoA7IwWiyA));
1231 	nimZeroMem((void*)(&T2_), sizeof(tyObject_TBlock__J29b9b9cJiD9aK19cdoA7IwWiyA));
1232 	T2_.isTryBlock = NIM_FALSE;
1233 	T2_._isTryBlock_1.label = (*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym;
1234 	unsureAsgnRef((void**) (&(*c).blocks), (tySequence__bZP29c0SHT9aMkbSl4EFvgCg*) incrSeqV3((TGenericSeq*)((*c).blocks), (&NTIseqLtblockT__bZP29c0SHT9aMkbSl4EFvgCg_)));
1235 	T3_ = (*c).blocks->Sup.len++;
1236 	genericAssign((void*)(&(*c).blocks->data[T3_]), (void*)(&T2_), (&NTItblock__J29b9b9cJiD9aK19cdoA7IwWiyA_));
1237 	gen__dfa_198(c, (*n)._kind_6.sons->data[((NI) 1)]);
1238 	popBlock__dfa_201(c, oldLenX60gensym40_);
1239 }
N_NIMCALL(void,genImplicitReturn__dfa_758)1240 N_LIB_PRIVATE N_NIMCALL(void, genImplicitReturn__dfa_758)(tyObject_Con__eFhkbMY30pSTdER2YWz9cRw* c) {
1241 	{
1242 		NIM_BOOL T3_;
1243 		NI T5_;
1244 		T3_ = (NIM_BOOL)0;
1245 		T3_ = ((126976 &((NU32)1<<((NU)((*(*c).owner).kind)&31U)))!=0);
1246 		if (!(T3_)) goto LA4_;
1247 		T5_ = (NI)0;
1248 		T5_ = len__ast_3198((*(*c).owner).ast);
1249 		T3_ = (((NI) 7) < T5_);
1250 		LA4_: ;
1251 		if (!T3_) goto LA6_;
1252 		gen__dfa_198(c, (*(*(*c).owner).ast)._kind_6.sons->data[((NI) 7)]);
1253 	}
1254 	LA6_: ;
1255 }
N_NIMCALL(void,genReturn__dfa_768)1256 N_LIB_PRIVATE N_NIMCALL(void, genReturn__dfa_768)(tyObject_Con__eFhkbMY30pSTdER2YWz9cRw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
1257 	{
1258 		if (!!(((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA3_;
1259 		gen__dfa_198(c, (*n)._kind_6.sons->data[((NI) 0)]);
1260 	}
1261 	goto LA1_;
1262 	LA3_: ;
1263 	{
1264 		genImplicitReturn__dfa_758(c);
1265 	}
1266 	LA1_: ;
1267 	genBreakOrRaiseAux__dfa_555(c, ((NI) 0), n);
1268 }
N_NIMCALL(void,genRaise__dfa_731)1269 N_LIB_PRIVATE N_NIMCALL(void, genRaise__dfa_731)(tyObject_Con__eFhkbMY30pSTdER2YWz9cRw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
1270 {	gen__dfa_198(c, (*n)._kind_6.sons->data[((NI) 0)]);
1271 	{
1272 		if (!(((NI) 0) < (*c).inTryStmt)) goto LA3_;
1273 		{
1274 			NI i;
1275 			NI colontmp_;
1276 			NI T6_;
1277 			NI res;
1278 			i = (NI)0;
1279 			colontmp_ = (NI)0;
1280 			T6_ = (((*c).blocks ? (*c).blocks->Sup.len : 0)-1);
1281 			colontmp_ = T6_;
1282 			res = colontmp_;
1283 			{
1284 				while (1) {
1285 					if (!(((NI) 0) <= res)) goto LA8;
1286 					i = res;
1287 					{
1288 						if (!(*c).blocks->data[i].isTryBlock) goto LA11_;
1289 						genBreakOrRaiseAux__dfa_555(c, i, n);
1290 						goto BeforeRet_;
1291 					}
1292 					LA11_: ;
1293 					res -= ((NI) 1);
1294 				} LA8: ;
1295 			}
1296 		}
1297 	}
1298 	goto LA1_;
1299 	LA3_: ;
1300 	{
1301 		tyObject_Instr__Iclb1njvAJfjjEpCLzUzZg T14_;
1302 		NI T15_;
1303 		NI T16_;
1304 		nimZeroMem((void*)(&T14_), sizeof(tyObject_Instr__Iclb1njvAJfjjEpCLzUzZg));
1305 		nimZeroMem((void*)(&T14_), sizeof(tyObject_Instr__Iclb1njvAJfjjEpCLzUzZg));
1306 		T14_.n = n;
1307 		T14_.kind = ((tyEnum_InstrKind__kmjEwko0gQNypI4MTa9chwQ) 0);
1308 		T15_ = ((*c).code ? (*c).code->Sup.len : 0);
1309 		T14_.dest = (NI)(((NI) 2147483647) - T15_);
1310 		unsureAsgnRef((void**) (&(*c).code), (tySequence__hj4BvueOlKB8Z1Qw2ZU4nQ*) incrSeqV3((TGenericSeq*)((*c).code), (&NTIcontrolflowgraph__hj4BvueOlKB8Z1Qw2ZU4nQ_)));
1311 		T16_ = (*c).code->Sup.len++;
1312 		genericAssign((void*)(&(*c).code->data[T16_]), (void*)(&T14_), (&NTIinstr__Iclb1njvAJfjjEpCLzUzZg_));
1313 	}
1314 	LA1_: ;
1315 	}BeforeRet_: ;
1316 }
N_NIMCALL(void,genBreak__dfa_609)1317 N_LIB_PRIVATE N_NIMCALL(void, genBreak__dfa_609)(tyObject_Con__eFhkbMY30pSTdER2YWz9cRw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
1318 {	{
1319 		if (!((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA3_;
1320 		{
1321 			NI i;
1322 			NI colontmp_;
1323 			NI T6_;
1324 			NI res;
1325 			i = (NI)0;
1326 			colontmp_ = (NI)0;
1327 			T6_ = (((*c).blocks ? (*c).blocks->Sup.len : 0)-1);
1328 			colontmp_ = T6_;
1329 			res = colontmp_;
1330 			{
1331 				while (1) {
1332 					if (!(((NI) 0) <= res)) goto LA8;
1333 					i = res;
1334 					{
1335 						NIM_BOOL T11_;
1336 						T11_ = (NIM_BOOL)0;
1337 						T11_ = !((*c).blocks->data[i].isTryBlock);
1338 						if (!(T11_)) goto LA12_;
1339 						T11_ = ((*c).blocks->data[i]._isTryBlock_1.label == (*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym);
1340 						LA12_: ;
1341 						if (!T11_) goto LA13_;
1342 						genBreakOrRaiseAux__dfa_555(c, i, n);
1343 						goto BeforeRet_;
1344 					}
1345 					LA13_: ;
1346 					res -= ((NI) 1);
1347 				} LA8: ;
1348 			}
1349 		}
1350 	}
1351 	goto LA1_;
1352 	LA3_: ;
1353 	{
1354 		{
1355 			NI i_2;
1356 			NI colontmp__2;
1357 			NI T17_;
1358 			NI res_2;
1359 			i_2 = (NI)0;
1360 			colontmp__2 = (NI)0;
1361 			T17_ = (((*c).blocks ? (*c).blocks->Sup.len : 0)-1);
1362 			colontmp__2 = T17_;
1363 			res_2 = colontmp__2;
1364 			{
1365 				while (1) {
1366 					if (!(((NI) 0) <= res_2)) goto LA19;
1367 					i_2 = res_2;
1368 					{
1369 						if (!!((*c).blocks->data[i_2].isTryBlock)) goto LA22_;
1370 						genBreakOrRaiseAux__dfa_555(c, i_2, n);
1371 						goto BeforeRet_;
1372 					}
1373 					LA22_: ;
1374 					res_2 -= ((NI) 1);
1375 				} LA19: ;
1376 			}
1377 		}
1378 	}
1379 	LA1_: ;
1380 	}BeforeRet_: ;
1381 }
N_NIMCALL(void,genTry__dfa_640)1382 N_LIB_PRIVATE N_NIMCALL(void, genTry__dfa_640)(tyObject_Con__eFhkbMY30pSTdER2YWz9cRw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
1383 	tySequence__qwqHTkRvwhrRyENtudHQ7g* endings;
1384 	NI oldLen;
1385 	NI T1_;
1386 	tyObject_TBlock__J29b9b9cJiD9aK19cdoA7IwWiyA T2_;
1387 	NI T10_;
1388 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* fin;
1389 	endings = NIM_NIL;
1390 	T1_ = ((*c).blocks ? (*c).blocks->Sup.len : 0);
1391 	oldLen = T1_;
1392 	nimZeroMem((void*)(&T2_), sizeof(tyObject_TBlock__J29b9b9cJiD9aK19cdoA7IwWiyA));
1393 	nimZeroMem((void*)(&T2_), sizeof(tyObject_TBlock__J29b9b9cJiD9aK19cdoA7IwWiyA));
1394 	T2_.isTryBlock = NIM_TRUE;
1395 	{
1396 		NI T5_;
1397 		NI T8_;
1398 		T5_ = (NI)0;
1399 		T5_ = len__ast_3198(n);
1400 		if (!((*(*n)._kind_6.sons->data[(NI)(T5_ - ((NI) 1))]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 107))) goto LA6_;
1401 		T8_ = (NI)0;
1402 		T8_ = len__ast_3198(n);
1403 		T2_._isTryBlock_2.finale = (*n)._kind_6.sons->data[(NI)(T8_ - ((NI) 1))];
1404 	}
1405 	goto LA3_;
1406 	LA6_: ;
1407 	{
1408 		T2_._isTryBlock_2.finale = newNode__ast_3332(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1));
1409 	}
1410 	LA3_: ;
1411 	unsureAsgnRef((void**) (&(*c).blocks), (tySequence__bZP29c0SHT9aMkbSl4EFvgCg*) incrSeqV3((TGenericSeq*)((*c).blocks), (&NTIseqLtblockT__bZP29c0SHT9aMkbSl4EFvgCg_)));
1412 	T10_ = (*c).blocks->Sup.len++;
1413 	genericAssign((void*)(&(*c).blocks->data[T10_]), (void*)(&T2_), (&NTItblock__J29b9b9cJiD9aK19cdoA7IwWiyA_));
1414 	(*c).inTryStmt += ((NI) 1);
1415 	gen__dfa_198(c, (*n)._kind_6.sons->data[((NI) 0)]);
1416 	(*c).inTryStmt -= ((NI) 1);
1417 	{
1418 		NI* f;
1419 		tySequence__qwqHTkRvwhrRyENtudHQ7g* colontmp_;
1420 		NI i;
1421 		NI L;
1422 		NI T12_;
1423 		f = (NI*)0;
1424 		colontmp_ = NIM_NIL;
1425 		colontmp_ = (*c).blocks->data[oldLen]._isTryBlock_2.raiseFixups;
1426 		i = ((NI) 0);
1427 		T12_ = (colontmp_ ? colontmp_->Sup.len : 0);
1428 		L = T12_;
1429 		{
1430 			while (1) {
1431 				if (!(i < L)) goto LA14;
1432 				f = (&colontmp_->data[i]);
1433 				patch__dfa_173(c, (*f));
1434 				i += ((NI) 1);
1435 			} LA14: ;
1436 		}
1437 	}
1438 	unsureAsgnRef((void**) (&(*c).blocks), (tySequence__bZP29c0SHT9aMkbSl4EFvgCg*) setLengthSeqV2(&((*c).blocks)->Sup, (&NTIseqLtblockT__bZP29c0SHT9aMkbSl4EFvgCg_), ((NI) (oldLen))));
1439 	{
1440 		NI i_2;
1441 		NI colontmp__2;
1442 		NI i_3;
1443 		i_2 = (NI)0;
1444 		colontmp__2 = (NI)0;
1445 		colontmp__2 = len__ast_3198(n);
1446 		i_3 = ((NI) 1);
1447 		{
1448 			while (1) {
1449 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* it;
1450 				if (!(i_3 < colontmp__2)) goto LA17;
1451 				i_2 = i_3;
1452 				it = (*n)._kind_6.sons->data[i_2];
1453 				{
1454 					NI lab1X60gensym54_;
1455 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T22_;
1456 					NI T23_;
1457 					NI T24_;
1458 					if (!!(((*it).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 107)))) goto LA20_;
1459 					lab1X60gensym54_ = forkI__dfa_83(c, it);
1460 					T22_ = NIM_NIL;
1461 					T22_ = lastSon__ast_4832(it);
1462 					gen__dfa_198(c, T22_);
1463 					T23_ = (NI)0;
1464 					T23_ = gotoI__dfa_124(c, it);
1465 					endings = (tySequence__qwqHTkRvwhrRyENtudHQ7g*) incrSeqV3((TGenericSeq*)(endings), (&NTIseqLtpositionT__qwqHTkRvwhrRyENtudHQ7g_));
1466 					T24_ = endings->Sup.len++;
1467 					endings->data[T24_] = T23_;
1468 					patch__dfa_173(c, lab1X60gensym54_);
1469 				}
1470 				LA20_: ;
1471 				i_3 += ((NI) 1);
1472 			} LA17: ;
1473 		}
1474 	}
1475 	{
1476 		NI i_4;
1477 		NI colontmp__3;
1478 		NI T26_;
1479 		NI res;
1480 		i_4 = (NI)0;
1481 		colontmp__3 = (NI)0;
1482 		T26_ = ((endings ? endings->Sup.len : 0)-1);
1483 		colontmp__3 = T26_;
1484 		res = colontmp__3;
1485 		{
1486 			while (1) {
1487 				if (!(((NI) 0) <= res)) goto LA28;
1488 				i_4 = res;
1489 				patch__dfa_173(c, endings->data[i_4]);
1490 				res -= ((NI) 1);
1491 			} LA28: ;
1492 		}
1493 	}
1494 	fin = lastSon__ast_4832(n);
1495 	{
1496 		if (!((*fin).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 107))) goto LA31_;
1497 		gen__dfa_198(c, (*fin)._kind_6.sons->data[((NI) 0)]);
1498 	}
1499 	LA31_: ;
1500 }
N_INLINE(NI,safeLen__ast_3191)1501 static N_INLINE(NI, safeLen__ast_3191)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
1502 	NI result;
1503 	result = (NI)0;
1504 	{
1505 		if (!((*n).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 0) && (*n).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23))) goto LA3_;
1506 		result = ((NI) 0);
1507 	}
1508 	goto LA1_;
1509 	LA3_: ;
1510 	{
1511 		result = len__ast_3198(n);
1512 	}
1513 	LA1_: ;
1514 	return result;
1515 }
N_NIMCALL(void,genVarSection__dfa_1040)1516 N_LIB_PRIVATE N_NIMCALL(void, genVarSection__dfa_1040)(tyObject_Con__eFhkbMY30pSTdER2YWz9cRw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
1517 	{
1518 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a;
1519 		a = NIM_NIL;
1520 		{
1521 			NI i;
1522 			NI colontmp_;
1523 			NI i_2;
1524 			i = (NI)0;
1525 			colontmp_ = (NI)0;
1526 			colontmp_ = safeLen__ast_3191(n);
1527 			i_2 = ((NI) 0);
1528 			{
1529 				while (1) {
1530 					if (!(i_2 < colontmp_)) goto LA4;
1531 					i = i_2;
1532 					a = (*n)._kind_6.sons->data[i];
1533 					{
1534 						if (!((*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 125))) goto LA7_;
1535 					}
1536 					goto LA5_;
1537 					LA7_: ;
1538 					{
1539 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T12_;
1540 						if (!((*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 36))) goto LA10_;
1541 						T12_ = NIM_NIL;
1542 						T12_ = lastSon__ast_4832(a);
1543 						gen__dfa_198(c, T12_);
1544 						{
1545 							NI i_3;
1546 							NI colontmp__2;
1547 							NI T14_;
1548 							NI i_4;
1549 							i_3 = (NI)0;
1550 							colontmp__2 = (NI)0;
1551 							T14_ = (NI)0;
1552 							T14_ = len__ast_3198(a);
1553 							colontmp__2 = (NI)(T14_ - ((NI) 2));
1554 							i_4 = ((NI) 0);
1555 							{
1556 								while (1) {
1557 									if (!(i_4 < colontmp__2)) goto LA16;
1558 									i_3 = i_4;
1559 									genDef__dfa_979(c, (*a)._kind_6.sons->data[i_3]);
1560 									i_4 += ((NI) 1);
1561 								} LA16: ;
1562 							}
1563 						}
1564 					}
1565 					goto LA5_;
1566 					LA10_: ;
1567 					{
1568 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T18_;
1569 						T18_ = NIM_NIL;
1570 						T18_ = lastSon__ast_4832(a);
1571 						gen__dfa_198(c, T18_);
1572 						{
1573 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T21_;
1574 							T21_ = NIM_NIL;
1575 							T21_ = lastSon__ast_4832(a);
1576 							if (!!(((*T21_).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA22_;
1577 							genDef__dfa_979(c, (*a)._kind_6.sons->data[((NI) 0)]);
1578 						}
1579 						LA22_: ;
1580 					}
1581 					LA5_: ;
1582 					i_2 += ((NI) 1);
1583 				} LA4: ;
1584 			}
1585 		}
1586 	}
1587 }
N_NIMCALL(void,gen__dfa_198)1588 N_LIB_PRIVATE N_NIMCALL(void, gen__dfa_198)(tyObject_Con__eFhkbMY30pSTdER2YWz9cRw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
1589 	switch ((*n).kind) {
1590 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
1591 	{
1592 		genUse__dfa_963(c, n);
1593 	}
1594 	break;
1595 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 26) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 32):
1596 	{
1597 		{
1598 			tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
1599 			if (!((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA5_;
1600 			s = (*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym;
1601 			{
1602 				if (!!(((*s).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 0)))) goto LA9_;
1603 				genMagic__dfa_1026(c, n, (*s).magic);
1604 			}
1605 			goto LA7_;
1606 			LA9_: ;
1607 			{
1608 				genCall__dfa_995(c, n);
1609 			}
1610 			LA7_: ;
1611 			{
1612 				tyObject_Instr__Iclb1njvAJfjjEpCLzUzZg T16_;
1613 				NI T17_;
1614 				NI T18_;
1615 				if (!(((*(*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 16))&63U)))!=0)) goto LA14_;
1616 				nimZeroMem((void*)(&T16_), sizeof(tyObject_Instr__Iclb1njvAJfjjEpCLzUzZg));
1617 				nimZeroMem((void*)(&T16_), sizeof(tyObject_Instr__Iclb1njvAJfjjEpCLzUzZg));
1618 				T16_.n = n;
1619 				T16_.kind = ((tyEnum_InstrKind__kmjEwko0gQNypI4MTa9chwQ) 0);
1620 				T17_ = ((*c).code ? (*c).code->Sup.len : 0);
1621 				T16_.dest = (NI)(((NI) 2147483647) - T17_);
1622 				unsureAsgnRef((void**) (&(*c).code), (tySequence__hj4BvueOlKB8Z1Qw2ZU4nQ*) incrSeqV3((TGenericSeq*)((*c).code), (&NTIcontrolflowgraph__hj4BvueOlKB8Z1Qw2ZU4nQ_)));
1623 				T18_ = (*c).code->Sup.len++;
1624 				genericAssign((void*)(&(*c).code->data[T18_]), (void*)(&T16_), (&NTIinstr__Iclb1njvAJfjjEpCLzUzZg_));
1625 			}
1626 			LA14_: ;
1627 		}
1628 		goto LA3_;
1629 		LA5_: ;
1630 		{
1631 			genCall__dfa_995(c, n);
1632 		}
1633 		LA3_: ;
1634 	}
1635 	break;
1636 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 5) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23):
1637 	{
1638 	}
1639 	break;
1640 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 73):
1641 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 74):
1642 	{
1643 		gen__dfa_198(c, (*n)._kind_6.sons->data[((NI) 1)]);
1644 		{
1645 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a;
1646 			if (!((TM__rmUZTUif19aNVU5raHE2xtA_11[(NU)((*(*n)._kind_6.sons->data[((NI) 0)]).kind)>>3] &(1U<<((NU)((*(*n)._kind_6.sons->data[((NI) 0)]).kind)&7U)))!=0)) goto LA24_;
1647 			a = skipTrivials__dfa_951(c, (*n)._kind_6.sons->data[((NI) 0)]);
1648 			{
1649 				if (!((*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27) || (*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 29) || (*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 30) || (*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 31) || (*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 26) || (*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 28) || (*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 32))) goto LA28_;
1650 				gen__dfa_198(c, a);
1651 			}
1652 			LA28_: ;
1653 		}
1654 		LA24_: ;
1655 		genDef__dfa_979(c, (*n)._kind_6.sons->data[((NI) 0)]);
1656 	}
1657 	break;
1658 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 42):
1659 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 45) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 47):
1660 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 63) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 65):
1661 	{
1662 		genUse__dfa_963(c, n);
1663 	}
1664 	break;
1665 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 92):
1666 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 48):
1667 	{
1668 		genIf__dfa_395(c, n);
1669 	}
1670 	break;
1671 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 93):
1672 	{
1673 		gen__dfa_198(c, (*(*n)._kind_6.sons->data[((NI) 0)])._kind_6.sons->data[((NI) 1)]);
1674 	}
1675 	break;
1676 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 97):
1677 	{
1678 		genCase__dfa_451(c, n);
1679 	}
1680 	break;
1681 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 96):
1682 	{
1683 		genWhile__dfa_316(c, n);
1684 	}
1685 	break;
1686 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 127):
1687 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 112):
1688 	{
1689 		genBlock__dfa_541(c, n);
1690 	}
1691 	break;
1692 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 109):
1693 	{
1694 		genReturn__dfa_768(c, n);
1695 	}
1696 	break;
1697 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 108):
1698 	{
1699 		genRaise__dfa_731(c, n);
1700 	}
1701 	break;
1702 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 110):
1703 	{
1704 		genBreak__dfa_609(c, n);
1705 	}
1706 	break;
1707 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 106):
1708 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 154):
1709 	{
1710 		genTry__dfa_640(c, n);
1711 	}
1712 	break;
1713 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115):
1714 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126):
1715 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 68):
1716 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 69):
1717 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 70):
1718 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 41):
1719 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 39):
1720 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 37):
1721 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 160):
1722 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 155):
1723 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 38):
1724 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 104):
1725 	{
1726 		{
1727 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x;
1728 			x = NIM_NIL;
1729 			{
1730 				NI i;
1731 				NI colontmp_;
1732 				NI i_2;
1733 				i = (NI)0;
1734 				colontmp_ = (NI)0;
1735 				colontmp_ = safeLen__ast_3191(n);
1736 				i_2 = ((NI) 0);
1737 				{
1738 					while (1) {
1739 						if (!(i_2 < colontmp_)) goto LA44;
1740 						i = i_2;
1741 						x = (*n)._kind_6.sons->data[i];
1742 						gen__dfa_198(c, x);
1743 						i_2 += ((NI) 1);
1744 					} LA44: ;
1745 				}
1746 			}
1747 		}
1748 	}
1749 	break;
1750 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 91):
1751 	{
1752 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T46_;
1753 		T46_ = NIM_NIL;
1754 		T46_ = lastSon__ast_4832(n);
1755 		gen__dfa_198(c, T46_);
1756 	}
1757 	break;
1758 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 114):
1759 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 66):
1760 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 67):
1761 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 71):
1762 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 72):
1763 	{
1764 		gen__dfa_198(c, (*n)._kind_6.sons->data[((NI) 0)]);
1765 	}
1766 	break;
1767 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 60):
1768 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 34):
1769 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 33):
1770 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 61):
1771 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 58) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 59):
1772 	{
1773 		gen__dfa_198(c, (*n)._kind_6.sons->data[((NI) 1)]);
1774 	}
1775 	break;
1776 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 99):
1777 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 100):
1778 	{
1779 		genVarSection__dfa_1040(c, n);
1780 	}
1781 	break;
1782 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 105):
1783 	{
1784 		{
1785 			if (!NIM_TRUE) goto LA53_;
1786 			failedAssertImpl__systemZassertions_56(((NimStringDesc*) &TM__rmUZTUif19aNVU5raHE2xtA_13));
1787 		}
1788 		LA53_: ;
1789 	}
1790 	break;
1791 	default:
1792 	{
1793 	}
1794 	break;
1795 	}
1796 }
N_NIMCALL(tySequence__hj4BvueOlKB8Z1Qw2ZU4nQ *,constructCfg__dfa_1135)1797 N_LIB_PRIVATE N_NIMCALL(tySequence__hj4BvueOlKB8Z1Qw2ZU4nQ*, constructCfg__dfa_1135)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* body) {
1798 	tySequence__hj4BvueOlKB8Z1Qw2ZU4nQ* result;
1799 	tyObject_Con__eFhkbMY30pSTdER2YWz9cRw c;
1800 	NI oldLenX60gensym138_;
1801 	NI T1_;
1802 	tyObject_TBlock__J29b9b9cJiD9aK19cdoA7IwWiyA T2_;
1803 	NI T3_;
1804 	result = NIM_NIL;
1805 	nimZeroMem((void*)(&c), sizeof(tyObject_Con__eFhkbMY30pSTdER2YWz9cRw));
1806 	nimZeroMem((void*)(&c), sizeof(tyObject_Con__eFhkbMY30pSTdER2YWz9cRw));
1807 	c.code = NIM_NIL;
1808 	c.blocks = NIM_NIL;
1809 	c.owner = s;
1810 	T1_ = (c.blocks ? c.blocks->Sup.len : 0);
1811 	oldLenX60gensym138_ = T1_;
1812 	nimZeroMem((void*)(&T2_), sizeof(tyObject_TBlock__J29b9b9cJiD9aK19cdoA7IwWiyA));
1813 	nimZeroMem((void*)(&T2_), sizeof(tyObject_TBlock__J29b9b9cJiD9aK19cdoA7IwWiyA));
1814 	T2_.isTryBlock = NIM_FALSE;
1815 	T2_._isTryBlock_1.label = s;
1816 	c.blocks = (tySequence__bZP29c0SHT9aMkbSl4EFvgCg*) incrSeqV3((TGenericSeq*)(c.blocks), (&NTIseqLtblockT__bZP29c0SHT9aMkbSl4EFvgCg_));
1817 	T3_ = c.blocks->Sup.len++;
1818 	genericAssign((void*)(&c.blocks->data[T3_]), (void*)(&T2_), (&NTItblock__J29b9b9cJiD9aK19cdoA7IwWiyA_));
1819 	gen__dfa_198((&c), body);
1820 	genImplicitReturn__dfa_758((&c));
1821 	popBlock__dfa_201((&c), oldLenX60gensym138_);
1822 	result = c.code;
1823 	return result;
1824 }
N_INLINE(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw **,X5BX5D___ast_4836)1825 static N_INLINE(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw**, X5BX5D___ast_4836)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** s, NI sLen_0, NI i) {
1826 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** result;
1827 	result = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw**)0;
1828 	result = &s[(NI)(sLen_0 - i)];
1829 	return result;
1830 }
N_NIMCALL(tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg,aliases__dfa_792)1831 N_LIB_PRIVATE N_NIMCALL(tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg, aliases__dfa_792)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* obj, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* field) {
1832 	tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg result;
1833 	tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ* objImportantNodes;
1834 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* obj_2;
1835 	tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ* fieldImportantNodes;
1836 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* field_2;
1837 {	result = (tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg)0;
1838 	objImportantNodes = NIM_NIL;
1839 	obj_2 = obj;
1840 	{
1841 		while (1) {
1842 			switch ((*obj_2).kind) {
1843 			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 47):
1844 			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 63) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 67):
1845 			{
1846 				obj_2 = (*obj_2)._kind_6.sons->data[((NI) 0)];
1847 			}
1848 			break;
1849 			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 58) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 59):
1850 			{
1851 				obj_2 = (*obj_2)._kind_6.sons->data[((NI) 1)];
1852 			}
1853 			break;
1854 			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 45):
1855 			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 46):
1856 			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 42):
1857 			{
1858 				NI T6_;
1859 				objImportantNodes = (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) incrSeqV3((TGenericSeq*)(objImportantNodes), (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_));
1860 				T6_ = objImportantNodes->Sup.len++;
1861 				asgnRef((void**) (&objImportantNodes->data[T6_]), obj_2);
1862 				obj_2 = (*obj_2)._kind_6.sons->data[((NI) 0)];
1863 			}
1864 			break;
1865 			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
1866 			{
1867 				NI T8_;
1868 				objImportantNodes = (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) incrSeqV3((TGenericSeq*)(objImportantNodes), (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_));
1869 				T8_ = objImportantNodes->Sup.len++;
1870 				asgnRef((void**) (&objImportantNodes->data[T8_]), obj_2);
1871 				goto LA1;
1872 			}
1873 			break;
1874 			default:
1875 			{
1876 				result = ((tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg) 1);
1877 				goto BeforeRet_;
1878 			}
1879 			break;
1880 			}
1881 		}
1882 	} LA1: ;
1883 	fieldImportantNodes = NIM_NIL;
1884 	field_2 = field;
1885 	{
1886 		while (1) {
1887 			switch ((*field_2).kind) {
1888 			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 47):
1889 			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 63) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 67):
1890 			{
1891 				field_2 = (*field_2)._kind_6.sons->data[((NI) 0)];
1892 			}
1893 			break;
1894 			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 58) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 59):
1895 			{
1896 				field_2 = (*field_2)._kind_6.sons->data[((NI) 1)];
1897 			}
1898 			break;
1899 			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 45):
1900 			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 46):
1901 			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 42):
1902 			{
1903 				NI T15_;
1904 				fieldImportantNodes = (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) incrSeqV3((TGenericSeq*)(fieldImportantNodes), (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_));
1905 				T15_ = fieldImportantNodes->Sup.len++;
1906 				asgnRef((void**) (&fieldImportantNodes->data[T15_]), field_2);
1907 				field_2 = (*field_2)._kind_6.sons->data[((NI) 0)];
1908 			}
1909 			break;
1910 			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
1911 			{
1912 				NI T17_;
1913 				fieldImportantNodes = (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) incrSeqV3((TGenericSeq*)(fieldImportantNodes), (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_));
1914 				T17_ = fieldImportantNodes->Sup.len++;
1915 				asgnRef((void**) (&fieldImportantNodes->data[T17_]), field_2);
1916 				goto LA10;
1917 			}
1918 			break;
1919 			default:
1920 			{
1921 				result = ((tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg) 1);
1922 				goto BeforeRet_;
1923 			}
1924 			break;
1925 			}
1926 		}
1927 	} LA10: ;
1928 	{
1929 		NI T21_;
1930 		NI T22_;
1931 		T21_ = (fieldImportantNodes ? fieldImportantNodes->Sup.len : 0);
1932 		T22_ = (objImportantNodes ? objImportantNodes->Sup.len : 0);
1933 		if (!(T21_ < T22_)) goto LA23_;
1934 		result = ((tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg) 1);
1935 		goto BeforeRet_;
1936 	}
1937 	LA23_: ;
1938 	result = ((tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg) 0);
1939 	{
1940 		NI i;
1941 		NI colontmp_;
1942 		NI T26_;
1943 		NI res;
1944 		i = (NI)0;
1945 		colontmp_ = (NI)0;
1946 		T26_ = (objImportantNodes ? objImportantNodes->Sup.len : 0);
1947 		colontmp_ = T26_;
1948 		res = ((NI) 1);
1949 		{
1950 			while (1) {
1951 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* currFieldPath;
1952 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** T29_;
1953 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* currObjPath;
1954 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** T30_;
1955 				if (!(res <= colontmp_)) goto LA28;
1956 				i = res;
1957 				T29_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw**)0;
1958 				T29_ = X5BX5D___ast_4836(fieldImportantNodes->data, (fieldImportantNodes ? fieldImportantNodes->Sup.len : 0), i);
1959 				currFieldPath = (*T29_);
1960 				T30_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw**)0;
1961 				T30_ = X5BX5D___ast_4836(objImportantNodes->data, (objImportantNodes ? objImportantNodes->Sup.len : 0), i);
1962 				currObjPath = (*T30_);
1963 				{
1964 					if (!!(((*currFieldPath).kind == (*currObjPath).kind))) goto LA33_;
1965 					result = ((tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg) 1);
1966 					goto BeforeRet_;
1967 				}
1968 				LA33_: ;
1969 				switch ((*currFieldPath).kind) {
1970 				case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
1971 				{
1972 					{
1973 						if (!!(((*currFieldPath)._kind_4.sym == (*currObjPath)._kind_4.sym))) goto LA38_;
1974 						result = ((tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg) 1);
1975 						goto BeforeRet_;
1976 					}
1977 					LA38_: ;
1978 				}
1979 				break;
1980 				case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 45):
1981 				{
1982 					{
1983 						if (!!(((*(*currFieldPath)._kind_6.sons->data[((NI) 1)])._kind_4.sym == (*(*currObjPath)._kind_6.sons->data[((NI) 1)])._kind_4.sym))) goto LA43_;
1984 						result = ((tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg) 1);
1985 						goto BeforeRet_;
1986 					}
1987 					LA43_: ;
1988 				}
1989 				break;
1990 				case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 46):
1991 				{
1992 					{
1993 						if (!!(((*(*(*currFieldPath)._kind_6.sons->data[((NI) 0)])._kind_6.sons->data[((NI) 1)])._kind_4.sym == (*(*(*currObjPath)._kind_6.sons->data[((NI) 0)])._kind_6.sons->data[((NI) 1)])._kind_4.sym))) goto LA48_;
1994 						result = ((tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg) 1);
1995 						goto BeforeRet_;
1996 					}
1997 					LA48_: ;
1998 				}
1999 				break;
2000 				case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 42):
2001 				{
2002 					{
2003 						NIM_BOOL T53_;
2004 						T53_ = (NIM_BOOL)0;
2005 						T53_ = ((*(*currFieldPath)._kind_6.sons->data[((NI) 1)]).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 5) && (*(*currFieldPath)._kind_6.sons->data[((NI) 1)]).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 22));
2006 						if (!(T53_)) goto LA54_;
2007 						T53_ = ((*(*currObjPath)._kind_6.sons->data[((NI) 1)]).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 5) && (*(*currObjPath)._kind_6.sons->data[((NI) 1)]).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 22));
2008 						LA54_: ;
2009 						if (!T53_) goto LA55_;
2010 						{
2011 							if (!!(((*(*currFieldPath)._kind_6.sons->data[((NI) 1)])._kind_1.intVal == (*(*currObjPath)._kind_6.sons->data[((NI) 1)])._kind_1.intVal))) goto LA59_;
2012 							result = ((tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg) 1);
2013 							goto BeforeRet_;
2014 						}
2015 						LA59_: ;
2016 					}
2017 					goto LA51_;
2018 					LA55_: ;
2019 					{
2020 						result = ((tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg) 2);
2021 					}
2022 					LA51_: ;
2023 				}
2024 				break;
2025 				default:
2026 				{
2027 				}
2028 				break;
2029 				}
2030 				res += ((NI) 1);
2031 			} LA28: ;
2032 		}
2033 	}
2034 	}BeforeRet_: ;
2035 	return result;
2036 }
N_INLINE(NIM_BOOL,isSinkParam__ast_5030)2037 static N_INLINE(NIM_BOOL, isSinkParam__ast_5030)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s) {
2038 	NIM_BOOL result;
2039 	NIM_BOOL T1_;
2040 	NIM_BOOL T3_;
2041 	result = (NIM_BOOL)0;
2042 	T1_ = (NIM_BOOL)0;
2043 	T1_ = ((*s).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
2044 	if (!(T1_)) goto LA2_;
2045 	T3_ = (NIM_BOOL)0;
2046 	T3_ = ((*(*s).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 46));
2047 	if (T3_) goto LA4_;
2048 	T3_ = (((*(*s).typ).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 4))&63U)))!=0);
2049 	LA4_: ;
2050 	T1_ = T3_;
2051 	LA2_: ;
2052 	result = T1_;
2053 	return result;
2054 }
N_NIMCALL(NIM_BOOL,isAnalysableFieldAccess__dfa_903)2055 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isAnalysableFieldAccess__dfa_903)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* orig, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner) {
2056 	NIM_BOOL result;
2057 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n;
2058 	NIM_BOOL T12_;
2059 	NIM_BOOL T13_;
2060 	NIM_BOOL T14_;
2061 	NIM_BOOL T18_;
2062 {	result = (NIM_BOOL)0;
2063 	n = orig;
2064 	{
2065 		while (1) {
2066 			switch ((*n).kind) {
2067 			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 42):
2068 			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 45) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 46):
2069 			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 63) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 64):
2070 			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 66) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 67):
2071 			{
2072 				n = (*n)._kind_6.sons->data[((NI) 0)];
2073 			}
2074 			break;
2075 			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 58) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 59):
2076 			{
2077 				n = (*n)._kind_6.sons->data[((NI) 1)];
2078 			}
2079 			break;
2080 			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 65):
2081 			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 47):
2082 			{
2083 				NIM_BOOL T6_;
2084 				NIM_BOOL T7_;
2085 				tyObject_TType__facALICuu8zUj0hjvbTLFg* T10_;
2086 				n = (*n)._kind_6.sons->data[((NI) 0)];
2087 				T6_ = (NIM_BOOL)0;
2088 				T7_ = (NIM_BOOL)0;
2089 				T7_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
2090 				if (!(T7_)) goto LA8_;
2091 				T7_ = ((*(*n)._kind_4.sym).owner == owner);
2092 				LA8_: ;
2093 				T6_ = T7_;
2094 				if (!(T6_)) goto LA9_;
2095 				T10_ = NIM_NIL;
2096 				T10_ = skipTypes__ast_3735((*(*n)._kind_4.sym).typ, TM__rmUZTUif19aNVU5raHE2xtA_17);
2097 				T6_ = ((*T10_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 45));
2098 				LA9_: ;
2099 				result = T6_;
2100 				goto BeforeRet_;
2101 			}
2102 			break;
2103 			default:
2104 			{
2105 				goto LA1;
2106 			}
2107 			break;
2108 			}
2109 		}
2110 	} LA1: ;
2111 	T12_ = (NIM_BOOL)0;
2112 	T13_ = (NIM_BOOL)0;
2113 	T14_ = (NIM_BOOL)0;
2114 	T14_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
2115 	if (!(T14_)) goto LA15_;
2116 	T14_ = ((*(*n)._kind_4.sym).owner == owner);
2117 	LA15_: ;
2118 	T13_ = T14_;
2119 	if (!(T13_)) goto LA16_;
2120 	T13_ = ((IL64(2199090364424) & (*(*n)._kind_4.sym).flags) == 0);
2121 	LA16_: ;
2122 	T12_ = T13_;
2123 	if (!(T12_)) goto LA17_;
2124 	T18_ = (NIM_BOOL)0;
2125 	T18_ = !(((*(*n)._kind_4.sym).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3)));
2126 	if (T18_) goto LA19_;
2127 	T18_ = isSinkParam__ast_5030((*n)._kind_4.sym);
2128 	LA19_: ;
2129 	T12_ = T18_;
2130 	LA17_: ;
2131 	result = T12_;
2132 	}BeforeRet_: ;
2133 	return result;
2134 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,skipConvDfa__dfa_780)2135 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, skipConvDfa__dfa_780)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
2136 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
2137 	result = NIM_NIL;
2138 	result = n;
2139 	{
2140 		while (1) {
2141 			switch ((*result).kind) {
2142 			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 66):
2143 			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 67):
2144 			{
2145 				result = (*result)._kind_6.sons->data[((NI) 0)];
2146 			}
2147 			break;
2148 			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 58) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 59):
2149 			{
2150 				result = (*result)._kind_6.sons->data[((NI) 1)];
2151 			}
2152 			break;
2153 			default:
2154 			{
2155 				goto LA1;
2156 			}
2157 			break;
2158 			}
2159 		}
2160 	} LA1: ;
2161 	return result;
2162 }
N_NIMCALL(void,compiler_dfaDatInit000)2163 N_LIB_PRIVATE N_NIMCALL(void, compiler_dfaDatInit000)(void) {
2164 static TNimNode* TM__rmUZTUif19aNVU5raHE2xtA_2_2[2];
2165 static TNimNode* TM__rmUZTUif19aNVU5raHE2xtA_3_2[2];
2166 static TNimNode* TM__rmUZTUif19aNVU5raHE2xtA_4_2[2];
2167 static TNimNode* TM__rmUZTUif19aNVU5raHE2xtA_5_2[2];
2168 static TNimNode* TM__rmUZTUif19aNVU5raHE2xtA_6_4[4];
2169 NI TM__rmUZTUif19aNVU5raHE2xtA_8;
2170 static char* NIM_CONST TM__rmUZTUif19aNVU5raHE2xtA_7[4] = {
2171 "goto",
2172 "fork",
2173 "def",
2174 "use"};
2175 static TNimNode* TM__rmUZTUif19aNVU5raHE2xtA_14_3[3];
2176 NI TM__rmUZTUif19aNVU5raHE2xtA_16;
2177 static char* NIM_CONST TM__rmUZTUif19aNVU5raHE2xtA_15[3] = {
2178 "yes",
2179 "no",
2180 "maybe"};
2181 static TNimNode TM__rmUZTUif19aNVU5raHE2xtA_0[24];
2182 NTItblock__J29b9b9cJiD9aK19cdoA7IwWiyA_.size = sizeof(tyObject_TBlock__J29b9b9cJiD9aK19cdoA7IwWiyA);
2183 NTItblock__J29b9b9cJiD9aK19cdoA7IwWiyA_.align = NIM_ALIGNOF(tyObject_TBlock__J29b9b9cJiD9aK19cdoA7IwWiyA);
2184 NTItblock__J29b9b9cJiD9aK19cdoA7IwWiyA_.kind = 18;
2185 NTItblock__J29b9b9cJiD9aK19cdoA7IwWiyA_.base = 0;
2186 TM__rmUZTUif19aNVU5raHE2xtA_0[0].kind = 3;
2187 TM__rmUZTUif19aNVU5raHE2xtA_0[0].offset = offsetof(tyObject_TBlock__J29b9b9cJiD9aK19cdoA7IwWiyA, isTryBlock);
2188 TM__rmUZTUif19aNVU5raHE2xtA_0[0].typ = (&NTIbool__VaVACK0bpYmqIQ0mKcHfQQ_);
2189 TM__rmUZTUif19aNVU5raHE2xtA_0[0].name = "isTryBlock";
2190 TM__rmUZTUif19aNVU5raHE2xtA_0[0].sons = &NimDT___J29b9b9cJiD9aK19cdoA7IwWiyA_isTryBlock[0];
2191 TM__rmUZTUif19aNVU5raHE2xtA_0[0].len = 2;
2192 TM__rmUZTUif19aNVU5raHE2xtA_2_2[0] = &TM__rmUZTUif19aNVU5raHE2xtA_0[2];
2193 TM__rmUZTUif19aNVU5raHE2xtA_0[2].kind = 1;
2194 TM__rmUZTUif19aNVU5raHE2xtA_0[2].offset = offsetof(tyObject_TBlock__J29b9b9cJiD9aK19cdoA7IwWiyA, _isTryBlock_1.label);
2195 TM__rmUZTUif19aNVU5raHE2xtA_0[2].typ = (&NTIpsym__dG2QVH5Z69aMUY38zTqWxaA_);
2196 TM__rmUZTUif19aNVU5raHE2xtA_0[2].name = "label";
2197 TM__rmUZTUif19aNVU5raHE2xtA_2_2[1] = &TM__rmUZTUif19aNVU5raHE2xtA_0[3];
2198 NTILtposition_seqLpnodeTT__tFiYBoaBrKZKt1Te12yKUQ_.size = sizeof(tyTuple__tFiYBoaBrKZKt1Te12yKUQ);
2199 NTILtposition_seqLpnodeTT__tFiYBoaBrKZKt1Te12yKUQ_.align = NIM_ALIGNOF(tyTuple__tFiYBoaBrKZKt1Te12yKUQ);
2200 NTILtposition_seqLpnodeTT__tFiYBoaBrKZKt1Te12yKUQ_.kind = 18;
2201 NTILtposition_seqLpnodeTT__tFiYBoaBrKZKt1Te12yKUQ_.base = 0;
2202 TM__rmUZTUif19aNVU5raHE2xtA_3_2[0] = &TM__rmUZTUif19aNVU5raHE2xtA_0[5];
2203 TM__rmUZTUif19aNVU5raHE2xtA_0[5].kind = 1;
2204 TM__rmUZTUif19aNVU5raHE2xtA_0[5].offset = offsetof(tyTuple__tFiYBoaBrKZKt1Te12yKUQ, Field0);
2205 TM__rmUZTUif19aNVU5raHE2xtA_0[5].typ = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_);
2206 TM__rmUZTUif19aNVU5raHE2xtA_0[5].name = "Field0";
2207 TM__rmUZTUif19aNVU5raHE2xtA_3_2[1] = &TM__rmUZTUif19aNVU5raHE2xtA_0[6];
2208 TM__rmUZTUif19aNVU5raHE2xtA_0[6].kind = 1;
2209 TM__rmUZTUif19aNVU5raHE2xtA_0[6].offset = offsetof(tyTuple__tFiYBoaBrKZKt1Te12yKUQ, Field1);
2210 TM__rmUZTUif19aNVU5raHE2xtA_0[6].typ = (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_);
2211 TM__rmUZTUif19aNVU5raHE2xtA_0[6].name = "Field1";
2212 TM__rmUZTUif19aNVU5raHE2xtA_0[4].len = 2; TM__rmUZTUif19aNVU5raHE2xtA_0[4].kind = 2; TM__rmUZTUif19aNVU5raHE2xtA_0[4].sons = &TM__rmUZTUif19aNVU5raHE2xtA_3_2[0];
2213 NTILtposition_seqLpnodeTT__tFiYBoaBrKZKt1Te12yKUQ_.node = &TM__rmUZTUif19aNVU5raHE2xtA_0[4];
2214 NTIseqLLtposition_seqLpnodeTTT__m6h1zim2DFUPFJioFj0P9cg_.size = sizeof(tySequence__m6h1zim2DFUPFJioFj0P9cg*);
2215 NTIseqLLtposition_seqLpnodeTTT__m6h1zim2DFUPFJioFj0P9cg_.align = NIM_ALIGNOF(tySequence__m6h1zim2DFUPFJioFj0P9cg*);
2216 NTIseqLLtposition_seqLpnodeTTT__m6h1zim2DFUPFJioFj0P9cg_.kind = 24;
2217 NTIseqLLtposition_seqLpnodeTTT__m6h1zim2DFUPFJioFj0P9cg_.base = (&NTILtposition_seqLpnodeTT__tFiYBoaBrKZKt1Te12yKUQ_);
2218 NTIseqLLtposition_seqLpnodeTTT__m6h1zim2DFUPFJioFj0P9cg_.marker = Marker_tySequence__m6h1zim2DFUPFJioFj0P9cg;
2219 TM__rmUZTUif19aNVU5raHE2xtA_0[3].kind = 1;
2220 TM__rmUZTUif19aNVU5raHE2xtA_0[3].offset = offsetof(tyObject_TBlock__J29b9b9cJiD9aK19cdoA7IwWiyA, _isTryBlock_1.breakFixups);
2221 TM__rmUZTUif19aNVU5raHE2xtA_0[3].typ = (&NTIseqLLtposition_seqLpnodeTTT__m6h1zim2DFUPFJioFj0P9cg_);
2222 TM__rmUZTUif19aNVU5raHE2xtA_0[3].name = "breakFixups";
2223 TM__rmUZTUif19aNVU5raHE2xtA_0[1].len = 2; TM__rmUZTUif19aNVU5raHE2xtA_0[1].kind = 2; TM__rmUZTUif19aNVU5raHE2xtA_0[1].sons = &TM__rmUZTUif19aNVU5raHE2xtA_2_2[0];
2224 NimDT___J29b9b9cJiD9aK19cdoA7IwWiyA_isTryBlock[0] = &TM__rmUZTUif19aNVU5raHE2xtA_0[1];
2225 TM__rmUZTUif19aNVU5raHE2xtA_4_2[0] = &TM__rmUZTUif19aNVU5raHE2xtA_0[8];
2226 TM__rmUZTUif19aNVU5raHE2xtA_0[8].kind = 1;
2227 TM__rmUZTUif19aNVU5raHE2xtA_0[8].offset = offsetof(tyObject_TBlock__J29b9b9cJiD9aK19cdoA7IwWiyA, _isTryBlock_2.finale);
2228 TM__rmUZTUif19aNVU5raHE2xtA_0[8].typ = (&NTIpnode__fKfcLzXYiz5jNu3NH3Tv8Q_);
2229 TM__rmUZTUif19aNVU5raHE2xtA_0[8].name = "finale";
2230 TM__rmUZTUif19aNVU5raHE2xtA_4_2[1] = &TM__rmUZTUif19aNVU5raHE2xtA_0[9];
2231 TM__rmUZTUif19aNVU5raHE2xtA_0[9].kind = 1;
2232 TM__rmUZTUif19aNVU5raHE2xtA_0[9].offset = offsetof(tyObject_TBlock__J29b9b9cJiD9aK19cdoA7IwWiyA, _isTryBlock_2.raiseFixups);
2233 TM__rmUZTUif19aNVU5raHE2xtA_0[9].typ = (&NTIseqLtpositionT__qwqHTkRvwhrRyENtudHQ7g_);
2234 TM__rmUZTUif19aNVU5raHE2xtA_0[9].name = "raiseFixups";
2235 TM__rmUZTUif19aNVU5raHE2xtA_0[7].len = 2; TM__rmUZTUif19aNVU5raHE2xtA_0[7].kind = 2; TM__rmUZTUif19aNVU5raHE2xtA_0[7].sons = &TM__rmUZTUif19aNVU5raHE2xtA_4_2[0];
2236 NimDT___J29b9b9cJiD9aK19cdoA7IwWiyA_isTryBlock[1] = &TM__rmUZTUif19aNVU5raHE2xtA_0[7];
2237 NTItblock__J29b9b9cJiD9aK19cdoA7IwWiyA_.node = &TM__rmUZTUif19aNVU5raHE2xtA_0[0];
2238 NTIseqLtblockT__bZP29c0SHT9aMkbSl4EFvgCg_.size = sizeof(tySequence__bZP29c0SHT9aMkbSl4EFvgCg*);
2239 NTIseqLtblockT__bZP29c0SHT9aMkbSl4EFvgCg_.align = NIM_ALIGNOF(tySequence__bZP29c0SHT9aMkbSl4EFvgCg*);
2240 NTIseqLtblockT__bZP29c0SHT9aMkbSl4EFvgCg_.kind = 24;
2241 NTIseqLtblockT__bZP29c0SHT9aMkbSl4EFvgCg_.base = (&NTItblock__J29b9b9cJiD9aK19cdoA7IwWiyA_);
2242 NTIseqLtblockT__bZP29c0SHT9aMkbSl4EFvgCg_.marker = Marker_tySequence__bZP29c0SHT9aMkbSl4EFvgCg;
2243 NTIinstr__Iclb1njvAJfjjEpCLzUzZg_.size = sizeof(tyObject_Instr__Iclb1njvAJfjjEpCLzUzZg);
2244 NTIinstr__Iclb1njvAJfjjEpCLzUzZg_.align = NIM_ALIGNOF(tyObject_Instr__Iclb1njvAJfjjEpCLzUzZg);
2245 NTIinstr__Iclb1njvAJfjjEpCLzUzZg_.kind = 18;
2246 NTIinstr__Iclb1njvAJfjjEpCLzUzZg_.base = 0;
2247 TM__rmUZTUif19aNVU5raHE2xtA_5_2[0] = &TM__rmUZTUif19aNVU5raHE2xtA_0[11];
2248 TM__rmUZTUif19aNVU5raHE2xtA_0[11].kind = 1;
2249 TM__rmUZTUif19aNVU5raHE2xtA_0[11].offset = offsetof(tyObject_Instr__Iclb1njvAJfjjEpCLzUzZg, n);
2250 TM__rmUZTUif19aNVU5raHE2xtA_0[11].typ = (&NTIpnode__fKfcLzXYiz5jNu3NH3Tv8Q_);
2251 TM__rmUZTUif19aNVU5raHE2xtA_0[11].name = "n";
2252 TM__rmUZTUif19aNVU5raHE2xtA_5_2[1] = &TM__rmUZTUif19aNVU5raHE2xtA_0[12];
2253 NTIinstrkind__kmjEwko0gQNypI4MTa9chwQ_.size = sizeof(tyEnum_InstrKind__kmjEwko0gQNypI4MTa9chwQ);
2254 NTIinstrkind__kmjEwko0gQNypI4MTa9chwQ_.align = NIM_ALIGNOF(tyEnum_InstrKind__kmjEwko0gQNypI4MTa9chwQ);
2255 NTIinstrkind__kmjEwko0gQNypI4MTa9chwQ_.kind = 14;
2256 NTIinstrkind__kmjEwko0gQNypI4MTa9chwQ_.base = 0;
2257 NTIinstrkind__kmjEwko0gQNypI4MTa9chwQ_.flags = 3;
2258 for (TM__rmUZTUif19aNVU5raHE2xtA_8 = 0; TM__rmUZTUif19aNVU5raHE2xtA_8 < 4; TM__rmUZTUif19aNVU5raHE2xtA_8++) {
2259 TM__rmUZTUif19aNVU5raHE2xtA_0[TM__rmUZTUif19aNVU5raHE2xtA_8+13].kind = 1;
2260 TM__rmUZTUif19aNVU5raHE2xtA_0[TM__rmUZTUif19aNVU5raHE2xtA_8+13].offset = TM__rmUZTUif19aNVU5raHE2xtA_8;
2261 TM__rmUZTUif19aNVU5raHE2xtA_0[TM__rmUZTUif19aNVU5raHE2xtA_8+13].name = TM__rmUZTUif19aNVU5raHE2xtA_7[TM__rmUZTUif19aNVU5raHE2xtA_8];
2262 TM__rmUZTUif19aNVU5raHE2xtA_6_4[TM__rmUZTUif19aNVU5raHE2xtA_8] = &TM__rmUZTUif19aNVU5raHE2xtA_0[TM__rmUZTUif19aNVU5raHE2xtA_8+13];
2263 }
2264 TM__rmUZTUif19aNVU5raHE2xtA_0[17].len = 4; TM__rmUZTUif19aNVU5raHE2xtA_0[17].kind = 2; TM__rmUZTUif19aNVU5raHE2xtA_0[17].sons = &TM__rmUZTUif19aNVU5raHE2xtA_6_4[0];
2265 NTIinstrkind__kmjEwko0gQNypI4MTa9chwQ_.node = &TM__rmUZTUif19aNVU5raHE2xtA_0[17];
2266 TM__rmUZTUif19aNVU5raHE2xtA_0[12].kind = 3;
2267 TM__rmUZTUif19aNVU5raHE2xtA_0[12].offset = offsetof(tyObject_Instr__Iclb1njvAJfjjEpCLzUzZg, kind);
2268 TM__rmUZTUif19aNVU5raHE2xtA_0[12].typ = (&NTIinstrkind__kmjEwko0gQNypI4MTa9chwQ_);
2269 TM__rmUZTUif19aNVU5raHE2xtA_0[12].name = "kind";
2270 TM__rmUZTUif19aNVU5raHE2xtA_0[12].sons = &NimDT___Iclb1njvAJfjjEpCLzUzZg_kind[0];
2271 TM__rmUZTUif19aNVU5raHE2xtA_0[12].len = 4;
2272 TM__rmUZTUif19aNVU5raHE2xtA_0[18].kind = 1;
2273 TM__rmUZTUif19aNVU5raHE2xtA_0[18].offset = offsetof(tyObject_Instr__Iclb1njvAJfjjEpCLzUzZg, dest);
2274 TM__rmUZTUif19aNVU5raHE2xtA_0[18].typ = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_);
2275 TM__rmUZTUif19aNVU5raHE2xtA_0[18].name = "dest";
2276 NimDT___Iclb1njvAJfjjEpCLzUzZg_kind[0] = &TM__rmUZTUif19aNVU5raHE2xtA_0[18];
2277 NimDT___Iclb1njvAJfjjEpCLzUzZg_kind[1] = &TM__rmUZTUif19aNVU5raHE2xtA_0[18];
2278 TM__rmUZTUif19aNVU5raHE2xtA_0[19].len = 0; TM__rmUZTUif19aNVU5raHE2xtA_0[19].kind = 2;
2279 NimDT___Iclb1njvAJfjjEpCLzUzZg_kind[4] = &TM__rmUZTUif19aNVU5raHE2xtA_0[19];
2280 TM__rmUZTUif19aNVU5raHE2xtA_0[10].len = 2; TM__rmUZTUif19aNVU5raHE2xtA_0[10].kind = 2; TM__rmUZTUif19aNVU5raHE2xtA_0[10].sons = &TM__rmUZTUif19aNVU5raHE2xtA_5_2[0];
2281 NTIinstr__Iclb1njvAJfjjEpCLzUzZg_.node = &TM__rmUZTUif19aNVU5raHE2xtA_0[10];
2282 NTIcontrolflowgraph__hj4BvueOlKB8Z1Qw2ZU4nQ_.size = sizeof(tySequence__hj4BvueOlKB8Z1Qw2ZU4nQ*);
2283 NTIcontrolflowgraph__hj4BvueOlKB8Z1Qw2ZU4nQ_.align = NIM_ALIGNOF(tySequence__hj4BvueOlKB8Z1Qw2ZU4nQ*);
2284 NTIcontrolflowgraph__hj4BvueOlKB8Z1Qw2ZU4nQ_.kind = 24;
2285 NTIcontrolflowgraph__hj4BvueOlKB8Z1Qw2ZU4nQ_.base = (&NTIinstr__Iclb1njvAJfjjEpCLzUzZg_);
2286 NTIcontrolflowgraph__hj4BvueOlKB8Z1Qw2ZU4nQ_.marker = Marker_tySequence__hj4BvueOlKB8Z1Qw2ZU4nQ;
2287 NTIaliaskind__mOZtJx9b3QXuy9bfWq9cuUNCg_.size = sizeof(tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg);
2288 NTIaliaskind__mOZtJx9b3QXuy9bfWq9cuUNCg_.align = NIM_ALIGNOF(tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg);
2289 NTIaliaskind__mOZtJx9b3QXuy9bfWq9cuUNCg_.kind = 14;
2290 NTIaliaskind__mOZtJx9b3QXuy9bfWq9cuUNCg_.base = 0;
2291 NTIaliaskind__mOZtJx9b3QXuy9bfWq9cuUNCg_.flags = 3;
2292 for (TM__rmUZTUif19aNVU5raHE2xtA_16 = 0; TM__rmUZTUif19aNVU5raHE2xtA_16 < 3; TM__rmUZTUif19aNVU5raHE2xtA_16++) {
2293 TM__rmUZTUif19aNVU5raHE2xtA_0[TM__rmUZTUif19aNVU5raHE2xtA_16+20].kind = 1;
2294 TM__rmUZTUif19aNVU5raHE2xtA_0[TM__rmUZTUif19aNVU5raHE2xtA_16+20].offset = TM__rmUZTUif19aNVU5raHE2xtA_16;
2295 TM__rmUZTUif19aNVU5raHE2xtA_0[TM__rmUZTUif19aNVU5raHE2xtA_16+20].name = TM__rmUZTUif19aNVU5raHE2xtA_15[TM__rmUZTUif19aNVU5raHE2xtA_16];
2296 TM__rmUZTUif19aNVU5raHE2xtA_14_3[TM__rmUZTUif19aNVU5raHE2xtA_16] = &TM__rmUZTUif19aNVU5raHE2xtA_0[TM__rmUZTUif19aNVU5raHE2xtA_16+20];
2297 }
2298 TM__rmUZTUif19aNVU5raHE2xtA_0[23].len = 3; TM__rmUZTUif19aNVU5raHE2xtA_0[23].kind = 2; TM__rmUZTUif19aNVU5raHE2xtA_0[23].sons = &TM__rmUZTUif19aNVU5raHE2xtA_14_3[0];
2299 NTIaliaskind__mOZtJx9b3QXuy9bfWq9cuUNCg_.node = &TM__rmUZTUif19aNVU5raHE2xtA_0[23];
2300 }
2301 
2302