1 /* Generated by Nim Compiler v1.6.2 */
2 #define NIM_INTBITS 32
3 #define NIM_EmulateOverflowChecks
4 
5 #include "nimbase.h"
6 #include <string.h>
7 #include <setjmp.h>
8 #include <stdio.h>
9 #undef LANGUAGE_C
10 #undef MIPSEB
11 #undef MIPSEL
12 #undef PPC
13 #undef R3000
14 #undef R4000
15 #undef i386
16 #undef linux
17 #undef mips
18 #undef near
19 #undef far
20 #undef powerpc
21 #undef unix
22 #define nimfr_(x, y)
23 #define nimln_(x, y)
24 typedef struct NimStringDesc NimStringDesc;
25 typedef struct TGenericSeq TGenericSeq;
26 typedef struct tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q;
27 typedef struct tyObject_OrderedTable__ZZvSdVkA2s2sIyifu4cpkg tyObject_OrderedTable__ZZvSdVkA2s2sIyifu4cpkg;
28 typedef struct tySequence__MlAD6nAPq9bHKla9cWiIZP0g tySequence__MlAD6nAPq9bHKla9cWiIZP0g;
29 typedef struct tySequence__oLpBKXzW3hF9aCVMo5EymfQ tySequence__oLpBKXzW3hF9aCVMo5EymfQ;
30 typedef struct tyTuple__awOivLjlO76sGdHY7nQUjQ tyTuple__awOivLjlO76sGdHY7nQUjQ;
31 typedef struct TNimType TNimType;
32 typedef struct TNimNode TNimNode;
33 typedef struct tyObject_KeyError__t7nhKLvXTQS9cS8ByJU9bIag tyObject_KeyError__t7nhKLvXTQS9cS8ByJU9bIag;
34 typedef struct tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw;
35 typedef struct tyObject_CatchableError__qrLSDoe2oBoAqNtJ9badtnA tyObject_CatchableError__qrLSDoe2oBoAqNtJ9badtnA;
36 typedef struct Exception Exception;
37 typedef struct RootObj RootObj;
38 typedef struct tySequence__uB9b75OUPRENsBAu4AnoePA tySequence__uB9b75OUPRENsBAu4AnoePA;
39 typedef struct tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g;
40 typedef struct tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w;
41 typedef struct tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ;
42 typedef struct tyObject_GcStack__7fytPA5bBsob6See21YMRA tyObject_GcStack__7fytPA5bBsob6See21YMRA;
43 typedef struct tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg;
44 typedef struct tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ;
45 typedef struct tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg;
46 typedef struct tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw;
47 typedef struct tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA;
48 typedef struct tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw;
49 typedef struct tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw;
50 typedef struct tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg;
51 typedef struct tyTuple__ujsjpB2O9cjj3uDHsXbnSzg tyTuple__ujsjpB2O9cjj3uDHsXbnSzg;
52 typedef struct tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg;
53 typedef struct tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ;
54 typedef struct tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg;
55 typedef struct tyObject_JsonKindError__GezlryuJLt9aOJ0RpuN6G8g tyObject_JsonKindError__GezlryuJLt9aOJ0RpuN6G8g;
56 typedef struct tyObject_FileStreamObj__9bEVSsOIpkY9cf5lCtaS39bPQ tyObject_FileStreamObj__9bEVSsOIpkY9cf5lCtaS39bPQ;
57 typedef struct tyObject_IOError__iLZrPn9anoh9ad1MmO0RczFw tyObject_IOError__iLZrPn9anoh9ad1MmO0RczFw;
58 typedef struct tyObject_StreamObj__THYguAi9bSgidczZ3ywEIMQ tyObject_StreamObj__THYguAi9bSgidczZ3ywEIMQ;
59 typedef struct tyObject_JsonParser__KWIQnzXEOUqdWsnCUL9atyQ tyObject_JsonParser__KWIQnzXEOUqdWsnCUL9atyQ;
60 typedef struct tyObject_BaseLexer__MAw8rJZtJ279bVV3TWMtXSg tyObject_BaseLexer__MAw8rJZtJ279bVV3TWMtXSg;
61 typedef struct tySequence__Ih0V9cYug0VPJyBBGvgEH7Q tySequence__Ih0V9cYug0VPJyBBGvgEH7Q;
62 typedef struct TSafePoint TSafePoint;
63 typedef struct tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA;
64 typedef struct tyTuple__jq7X5k7hWG0tdTZTDkiyGQ tyTuple__jq7X5k7hWG0tdTZTDkiyGQ;
65 typedef struct tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA;
66 struct TGenericSeq {
67 NI len;
68 NI reserved;
69 };
70 struct NimStringDesc {
71   TGenericSeq Sup;
72 NIM_CHAR data[SEQ_DECL_SIZE];
73 };
74 typedef NU8 tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg;
75 struct tyObject_OrderedTable__ZZvSdVkA2s2sIyifu4cpkg {
76 tySequence__MlAD6nAPq9bHKla9cWiIZP0g* data;
77 NI counter;
78 NI first;
79 NI last;
80 };
81 struct tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q {
82 NIM_BOOL isUnquoted;
83 tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg kind;
84 union{
85 struct {NimStringDesc* str;
86 } _kind_1;
87 struct {NI64 num;
88 } _kind_2;
89 struct {NF fnum;
90 } _kind_3;
91 struct {NIM_BOOL bval;
92 } _kind_4;
93 struct {tyObject_OrderedTable__ZZvSdVkA2s2sIyifu4cpkg fields;
94 } _kind_6;
95 struct {tySequence__oLpBKXzW3hF9aCVMo5EymfQ* elems;
96 } _kind_7;
97 };
98 };
99 struct tyTuple__awOivLjlO76sGdHY7nQUjQ {
100 NI Field0;
101 NI Field1;
102 NimStringDesc* Field2;
103 tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* Field3;
104 };
105 typedef NU8 tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A;
106 typedef NU8 tySet_tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ;
107 typedef N_NIMCALL_PTR(void, tyProc__ojoeKfW4VYIm36I9cpDTQIg) (void* p, NI op);
108 typedef N_NIMCALL_PTR(void*, tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ) (void* p);
109 struct TNimType {
110 NI size;
111 NI align;
112 tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A kind;
113 tySet_tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ flags;
114 TNimType* base;
115 TNimNode* node;
116 void* finalizer;
117 tyProc__ojoeKfW4VYIm36I9cpDTQIg marker;
118 tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ deepcopy;
119 };
120 struct RootObj {
121 TNimType* m_type;
122 };
123 struct Exception {
124   RootObj Sup;
125 Exception* parent;
126 NCSTRING name;
127 NimStringDesc* message;
128 tySequence__uB9b75OUPRENsBAu4AnoePA* trace;
129 Exception* up;
130 };
131 struct tyObject_CatchableError__qrLSDoe2oBoAqNtJ9badtnA {
132   Exception Sup;
133 };
134 struct tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw {
135   tyObject_CatchableError__qrLSDoe2oBoAqNtJ9badtnA Sup;
136 };
137 struct tyObject_KeyError__t7nhKLvXTQS9cS8ByJU9bIag {
138   tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw Sup;
139 };
140 typedef NU8 tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ;
141 struct TNimNode {
142 tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ kind;
143 NI offset;
144 TNimType* typ;
145 NCSTRING name;
146 NI len;
147 TNimNode** sons;
148 };
149 struct tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g {
150 NI refcount;
151 TNimType* typ;
152 };
153 struct tyObject_GcStack__7fytPA5bBsob6See21YMRA {
154 void* bottom;
155 };
156 struct tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w {
157 NI len;
158 NI cap;
159 tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g** d;
160 };
161 typedef tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ* tyArray__SPr7N6UKfuF549bNPiUvSRw[256];
162 typedef NU32 tyArray__BHbOSqU1t9b3Gt7K2c6fQig[24];
163 typedef tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* tyArray__N1u1nqOgmuJN9cSZrnMHgOQ[32];
164 typedef tyArray__N1u1nqOgmuJN9cSZrnMHgOQ tyArray__B6durA4ZCi1xjJvRtyYxMg[24];
165 typedef tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw* tyArray__lh2A89ahMmYg9bCmpVaplLbA[256];
166 struct tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA {
167 tyArray__lh2A89ahMmYg9bCmpVaplLbA data;
168 };
169 typedef tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* tyArray__0aOLqZchNi8nWtMTi8ND8w[2];
170 struct tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw {
171 tyArray__0aOLqZchNi8nWtMTi8ND8w link;
172 NI key;
173 NI upperBound;
174 NI level;
175 };
176 struct tyTuple__ujsjpB2O9cjj3uDHsXbnSzg {
177 tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* Field0;
178 NI Field1;
179 };
180 typedef tyTuple__ujsjpB2O9cjj3uDHsXbnSzg tyArray__LzOv2eCDGiceMKQstCLmhw[30];
181 struct tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg {
182 NI len;
183 tyArray__LzOv2eCDGiceMKQstCLmhw chunks;
184 tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg* next;
185 };
186 struct tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg {
187 NI minLargeObj;
188 NI maxLargeObj;
189 tyArray__SPr7N6UKfuF549bNPiUvSRw freeSmallChunks;
190 NU32 flBitmap;
191 tyArray__BHbOSqU1t9b3Gt7K2c6fQig slBitmap;
192 tyArray__B6durA4ZCi1xjJvRtyYxMg matrix;
193 tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw* llmem;
194 NI currMem;
195 NI maxMem;
196 NI freeMem;
197 NI occ;
198 NI lastSize;
199 tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA chunkStarts;
200 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* root;
201 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* deleted;
202 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* last;
203 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* freeAvlNodes;
204 NIM_BOOL locked;
205 NIM_BOOL blockChunkSizeIncrease;
206 NI nextChunkSize;
207 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw bottomData;
208 tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg heapLinks;
209 };
210 struct tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg {
211 NI stackScans;
212 NI cycleCollections;
213 NI maxThreshold;
214 NI maxStackSize;
215 NI maxStackCells;
216 NI cycleTableSize;
217 NI64 maxPause;
218 };
219 struct tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ {
220 NI counter;
221 NI max;
222 tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg* head;
223 tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg** data;
224 };
225 struct tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ {
226 tyObject_GcStack__7fytPA5bBsob6See21YMRA stack;
227 NI cycleThreshold;
228 NI zctThreshold;
229 tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w zct;
230 tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w decStack;
231 tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w tempStack;
232 NI recGcLock;
233 tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg region;
234 tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg stat;
235 tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ marked;
236 tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w additionalRoots;
237 NI gcThreadId;
238 };
239 typedef NimStringDesc* tyArray__24KAM9afIUgUaqBaEBB6r9bg[3];
240 typedef NU8 tySet_tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg;
241 struct tyObject_JsonKindError__GezlryuJLt9aOJ0RpuN6G8g {
242   tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw Sup;
243 };
244 typedef NU8 tyEnum_FileMode__ZJfK20XeZ9bv2j1pZjw9aswg;
245 struct tyObject_IOError__iLZrPn9anoh9ad1MmO0RczFw {
246   tyObject_CatchableError__qrLSDoe2oBoAqNtJ9badtnA Sup;
247 };
248 typedef NU8 tySet_tyChar__nmiMWKVIe46vacnhAFrQvw[32];
249 struct tyObject_BaseLexer__MAw8rJZtJ279bVV3TWMtXSg {
250   RootObj Sup;
251 NI bufpos;
252 NimStringDesc* buf;
253 tyObject_StreamObj__THYguAi9bSgidczZ3ywEIMQ* input;
254 NI lineNumber;
255 NI sentinel;
256 NI lineStart;
257 NI offsetBase;
258 tySet_tyChar__nmiMWKVIe46vacnhAFrQvw refillChars;
259 };
260 typedef NU8 tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw;
261 typedef NU8 tyEnum_JsonEventKind__0zjE9c54eTrq224F5wMcaFA;
262 typedef NU8 tyEnum_JsonError__G9cw5MrJXJrcpID5JXaplew;
263 struct tyObject_JsonParser__KWIQnzXEOUqdWsnCUL9atyQ {
264   tyObject_BaseLexer__MAw8rJZtJ279bVV3TWMtXSg Sup;
265 NimStringDesc* a;
266 tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw tok;
267 tyEnum_JsonEventKind__0zjE9c54eTrq224F5wMcaFA kind;
268 tyEnum_JsonError__G9cw5MrJXJrcpID5JXaplew err;
269 tySequence__Ih0V9cYug0VPJyBBGvgEH7Q* state;
270 NimStringDesc* filename;
271 NIM_BOOL rawStringLiterals;
272 };
273 struct TSafePoint {
274 TSafePoint* prev;
275 NI status;
276 jmp_buf context;
277 };
278 typedef N_NIMCALL_PTR(void, tyProc__JQrsH08b4uPTH9cyFPlVOZg) (tyObject_StreamObj__THYguAi9bSgidczZ3ywEIMQ* s);
279 typedef N_NIMCALL_PTR(NIM_BOOL, tyProc__9bmhFrLahRsL2hltfRDVtlQ) (tyObject_StreamObj__THYguAi9bSgidczZ3ywEIMQ* s);
280 typedef N_NIMCALL_PTR(void, tyProc__3svSoGIUJIsHkaBL7q4DAQ) (tyObject_StreamObj__THYguAi9bSgidczZ3ywEIMQ* s, NI pos);
281 typedef N_NIMCALL_PTR(NI, tyProc__xflqkf2D1uVClg70czEDHA) (tyObject_StreamObj__THYguAi9bSgidczZ3ywEIMQ* s);
282 typedef N_NIMCALL_PTR(NI, tyProc__c9c0f59ak4YGQ6neEym8LPKw) (tyObject_StreamObj__THYguAi9bSgidczZ3ywEIMQ* s, NimStringDesc** buffer, tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA slice);
283 typedef N_NIMCALL_PTR(NIM_BOOL, tyProc__7jFfqMk9ajToCz6Hv9atCA4A) (tyObject_StreamObj__THYguAi9bSgidczZ3ywEIMQ* s, NimStringDesc** line);
284 typedef N_NIMCALL_PTR(NI, tyProc__2VVzVL9bOnKhj1eZKkf9cEuA) (tyObject_StreamObj__THYguAi9bSgidczZ3ywEIMQ* s, void* buffer, NI bufLen);
285 typedef N_NIMCALL_PTR(void, tyProc__ki6p1QyfOkJLQJ9aw5NI0AQ) (tyObject_StreamObj__THYguAi9bSgidczZ3ywEIMQ* s, void* buffer, NI bufLen);
286 struct tyObject_StreamObj__THYguAi9bSgidczZ3ywEIMQ {
287   RootObj Sup;
288 tyProc__JQrsH08b4uPTH9cyFPlVOZg closeImpl;
289 tyProc__9bmhFrLahRsL2hltfRDVtlQ atEndImpl;
290 tyProc__3svSoGIUJIsHkaBL7q4DAQ setPositionImpl;
291 tyProc__xflqkf2D1uVClg70czEDHA getPositionImpl;
292 tyProc__c9c0f59ak4YGQ6neEym8LPKw readDataStrImpl;
293 tyProc__7jFfqMk9ajToCz6Hv9atCA4A readLineImpl;
294 tyProc__2VVzVL9bOnKhj1eZKkf9cEuA readDataImpl;
295 tyProc__2VVzVL9bOnKhj1eZKkf9cEuA peekDataImpl;
296 tyProc__ki6p1QyfOkJLQJ9aw5NI0AQ writeDataImpl;
297 tyProc__JQrsH08b4uPTH9cyFPlVOZg flushImpl;
298 };
299 struct tyObject_FileStreamObj__9bEVSsOIpkY9cf5lCtaS39bPQ {
300   tyObject_StreamObj__THYguAi9bSgidczZ3ywEIMQ Sup;
301 FILE* f;
302 };
303 struct tyTuple__jq7X5k7hWG0tdTZTDkiyGQ {
304 NimStringDesc* Field0;
305 tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* Field1;
306 };
307 struct tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA {
308 NCSTRING procname;
309 NI line;
310 NCSTRING filename;
311 };
312 typedef NU8 tyEnum_ParserState__Na0rM2Zdr3RpxeNeXbvLrQ;
313 struct tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA {
314 NI a;
315 NI b;
316 };
317 struct tySequence__oLpBKXzW3hF9aCVMo5EymfQ {
318   TGenericSeq Sup;
319   tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* data[SEQ_DECL_SIZE];
320 };
321 struct tySequence__MlAD6nAPq9bHKla9cWiIZP0g {
322   TGenericSeq Sup;
323   tyTuple__awOivLjlO76sGdHY7nQUjQ data[SEQ_DECL_SIZE];
324 };
325 struct tySequence__uB9b75OUPRENsBAu4AnoePA {
326   TGenericSeq Sup;
327   tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA data[SEQ_DECL_SIZE];
328 };
329 struct tySequence__Ih0V9cYug0VPJyBBGvgEH7Q {
330   TGenericSeq Sup;
331   tyEnum_ParserState__Na0rM2Zdr3RpxeNeXbvLrQ data[SEQ_DECL_SIZE];
332 };
333 N_NIMCALL(NimStringDesc*, rawNewString)(NI cap);
334 N_LIB_PRIVATE N_NIMCALL(void, escapeJson__pureZjson_4352)(NimStringDesc* s, NimStringDesc** result);
335 static N_INLINE(void, appendString)(NimStringDesc* dest, NimStringDesc* src);
336 static N_INLINE(void, copyMem__system_1727)(void* dest, void* source, NI size);
337 static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size);
338 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, resizeString)(NimStringDesc* dest, NI addlen);
339 N_LIB_PRIVATE N_NIMCALL(void, unsureAsgnRef)(void** dest, void* src);
340 N_LIB_PRIVATE N_NIMCALL(void, escapeJsonUnquoted__pureZjson_4331)(NimStringDesc* s, NimStringDesc** result);
341 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar___systemZdollars_3)(NI x);
342 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, toHex__pureZstrutils_1792)(NI x, NI len);
343 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, addChar)(NimStringDesc* s, NIM_CHAR c);
344 static N_INLINE(NIM_BOOL, eqStrings)(NimStringDesc* a, NimStringDesc* b);
345 static N_INLINE(NIM_BOOL, equalMem__system_1735)(void* a, void* b, NI size);
346 static N_INLINE(int, nimCmpMem)(void* a, void* b, NI size);
347 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, eqeq___pureZjson_2061)(tySequence__oLpBKXzW3hF9aCVMo5EymfQ* x, tySequence__oLpBKXzW3hF9aCVMo5EymfQ* y);
348 static N_INLINE(void*, seqToPtr__pureZjson_2077)(tySequence__oLpBKXzW3hF9aCVMo5EymfQ* x);
349 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, eqeq___pureZjson_2044)(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* a, tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* b);
350 static N_INLINE(NI, len__pureZjson_2142)(tyObject_OrderedTable__ZZvSdVkA2s2sIyifu4cpkg t);
351 static N_INLINE(void, nimZeroMem)(void* p, NI size);
352 static N_INLINE(void, nimSetMem__systemZmemory_7)(void* a, int v, NI size);
353 static N_INLINE(NIM_BOOL, isFilled__pureZcollectionsZtables_31)(NI hcode);
354 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasKey__pureZjson_2564)(tyObject_OrderedTable__ZZvSdVkA2s2sIyifu4cpkg t, NimStringDesc* key);
355 N_LIB_PRIVATE N_NIMCALL(NI, rawGet__pureZjson_356)(tyObject_OrderedTable__ZZvSdVkA2s2sIyifu4cpkg t, NimStringDesc* key, NI* hc);
356 N_LIB_PRIVATE N_NIMCALL(NI, hash__pureZhashes_279)(NimStringDesc* x);
357 static N_INLINE(NI, nextTry__pureZcollectionsZtables_34)(NI h, NI maxHash);
358 N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q**, X5BX5D___pureZjson_2638)(tyObject_OrderedTable__ZZvSdVkA2s2sIyifu4cpkg* t, NimStringDesc* key);
359 static N_INLINE(NI, rawGet__pureZjson_2645)(tyObject_OrderedTable__ZZvSdVkA2s2sIyifu4cpkg t, NimStringDesc* key, NI* hc);
360 N_LIB_PRIVATE N_NOINLINE(void, raiseKeyError__msgs_300)(NimStringDesc* key) __attribute__((noreturn));
361 N_LIB_PRIVATE N_NIMCALL(NI, len__pureZjson_2989)(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* n);
362 N_LIB_PRIVATE N_NIMCALL(void, toUgly__pureZjson_4362)(NimStringDesc** result, tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* node);
363 N_LIB_PRIVATE N_NIMCALL(void, addInt__stdZprivateZdigitsutils_167)(NimStringDesc** result, NI64 x);
364 static N_INLINE(void, addFloat__system_3122)(NimStringDesc** result, NF x);
365 N_LIB_PRIVATE N_NIMCALL(void, addFloatRoundtrip__system_3127)(NimStringDesc** result, NF x);
366 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, copyString)(NimStringDesc* src);
367 N_LIB_PRIVATE N_NOINLINE(void*, newObj)(TNimType* typ, NI size);
368 static N_INLINE(void, asgnRef)(void** dest, void* src);
369 static N_INLINE(void, incRef__system_5329)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
370 static N_INLINE(NI, pluspercent___system_696)(NI x, NI y);
371 static N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*, usrToCell__system_5291)(void* usr);
372 static N_INLINE(NI, minuspercent___system_716)(NI x, NI y);
373 static N_INLINE(void, decRef__system_5336)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
374 static N_INLINE(NIM_BOOL, ltpercent___system_1005)(NI x, NI y);
375 static N_INLINE(void, rtlAddZCT__system_5334)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
376 N_LIB_PRIVATE N_NOINLINE(void, addZCT__system_5285)(tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w* s, tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
377 N_LIB_PRIVATE N_NIMCALL(void, raiseExceptionEx)(Exception* e, NCSTRING ename, NCSTRING procname, NCSTRING filename, NI line);
378 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nsuFormatOpenArray)(NimStringDesc* formatstr, NimStringDesc** a, NI aLen_0);
379 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar___pureZjson_5339)(tySet_tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg x);
380 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, collectionToString__pureZjson_5343)(tySet_tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg x, NimStringDesc* prefix, NimStringDesc* separator, NimStringDesc* suffix);
381 N_LIB_PRIVATE N_NIMCALL(void, addQuoted__pureZjson_5375)(NimStringDesc** s, tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg x);
382 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, reprEnum)(NI e, TNimType* typ);
383 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, copyStringRC1)(NimStringDesc* src);
384 static N_INLINE(void, nimGCunrefNoCycle)(void* p);
385 N_LIB_PRIVATE N_NIMCALL(void, genericSeqAssign)(void* dest, void* src, TNimType* mt);
386 N_LIB_PRIVATE N_NIMCALL(void, nimGCvisit)(void* d, NI op);
387 static N_NIMCALL(void, Marker_tySequence__MlAD6nAPq9bHKla9cWiIZP0g)(void* p, NI op);
388 static N_NIMCALL(void, Marker_tyRef__zfzzuQ8txrdZAYK0WGWpHg)(void* p, NI op);
389 static N_NIMCALL(void, Marker_tySequence__oLpBKXzW3hF9aCVMo5EymfQ)(void* p, NI op);
390 N_LIB_PRIVATE N_NIMCALL(tyObject_FileStreamObj__9bEVSsOIpkY9cf5lCtaS39bPQ*, newFileStream__pureZstreams_832)(NimStringDesc* filename, tyEnum_FileMode__ZJfK20XeZ9bv2j1pZjw9aswg mode, NI bufSize);
391 N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*, parseJson__pureZjson_5216)(tyObject_StreamObj__THYguAi9bSgidczZ3ywEIMQ* s, NimStringDesc* filename, NIM_BOOL rawIntegers, NIM_BOOL rawFloats);
392 N_LIB_PRIVATE N_NIMCALL(void, open__pureZparsejson_97)(tyObject_JsonParser__KWIQnzXEOUqdWsnCUL9atyQ* my, tyObject_StreamObj__THYguAi9bSgidczZ3ywEIMQ* input, NimStringDesc* filename, NIM_BOOL rawStringLiterals);
393 static N_INLINE(void, pushSafePoint)(TSafePoint* s);
394 N_LIB_PRIVATE N_NIMCALL(tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw, getTok__pureZparsejson_425)(tyObject_JsonParser__KWIQnzXEOUqdWsnCUL9atyQ* my);
395 N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*, parseJson__pureZjson_5178)(tyObject_JsonParser__KWIQnzXEOUqdWsnCUL9atyQ* p, NIM_BOOL rawIntegers, NIM_BOOL rawFloats, NI depth);
396 N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*, newJStringMove__pureZjson_78)(NimStringDesc* s);
397 N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*, newJRawNumber__pureZjson_75)(NimStringDesc* s);
398 N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*, newJInt__pureZjson_81)(NI64 n);
399 N_LIB_PRIVATE N_NIMCALL(NI64, nsuParseBiggestInt)(NimStringDesc* s);
400 static N_INLINE(void, popSafePoint)(void);
401 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isObj)(TNimType* obj, TNimType* subclass);
402 static N_INLINE(Exception*, nimBorrowCurrentException)(void);
403 static N_INLINE(void, popCurrentException)(void);
404 N_LIB_PRIVATE N_NIMCALL(void, reraiseException)(void);
405 N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*, newJFloat__pureZjson_84)(NF n);
406 N_LIB_PRIVATE N_NIMCALL(NF, nsuParseFloat)(NimStringDesc* s);
407 N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*, newJBool__pureZjson_87)(NIM_BOOL b);
408 N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*, newJNull__pureZjson_90)(void);
409 N_LIB_PRIVATE N_NOINLINE(void, raiseParseErr__pureZparsejson_580)(tyObject_JsonParser__KWIQnzXEOUqdWsnCUL9atyQ* p, NimStringDesc* msg) __attribute__((noreturn));
410 N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*, newJObject__pureZjson_92)(void);
411 N_LIB_PRIVATE N_NIMCALL(void, initOrderedTable__pureZjson_94)(NI initialSize, tyObject_OrderedTable__ZZvSdVkA2s2sIyifu4cpkg* Result);
412 static N_INLINE(NI, slotsNeeded__pureZcollectionsZtables_42)(NI count);
413 N_LIB_PRIVATE N_NIMCALL(NI, nextPowerOfTwo__pureZmath_176)(NI x);
414 N_LIB_PRIVATE N_NIMCALL(void*, newSeq)(TNimType* typ, NI len);
415 N_LIB_PRIVATE N_NIMCALL(void, eat__pureZparsejson_602)(tyObject_JsonParser__KWIQnzXEOUqdWsnCUL9atyQ* p, tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw tok);
416 static N_INLINE(void, X5BX5Deq___pureZjson_1923)(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* obj, NimStringDesc* key, tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* val);
417 N_LIB_PRIVATE N_NIMCALL(void, X5BX5Deq___pureZjson_287)(tyObject_OrderedTable__ZZvSdVkA2s2sIyifu4cpkg* t, NimStringDesc* key, tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* val);
418 static N_INLINE(NIM_BOOL, mustRehash__pureZjson_692)(tyObject_OrderedTable__ZZvSdVkA2s2sIyifu4cpkg t);
419 N_LIB_PRIVATE N_NIMCALL(void, enlarge__pureZjson_853)(tyObject_OrderedTable__ZZvSdVkA2s2sIyifu4cpkg* t);
420 N_LIB_PRIVATE N_NIMCALL(void, rawInsert__pureZjson_1264)(tyObject_OrderedTable__ZZvSdVkA2s2sIyifu4cpkg* t, tySequence__MlAD6nAPq9bHKla9cWiIZP0g** data, NimStringDesc* key, tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* val, NI hc, NI h);
421 N_LIB_PRIVATE N_NIMCALL(NI, rawGetKnownHC__pureZjson_1546)(tyObject_OrderedTable__ZZvSdVkA2s2sIyifu4cpkg t, NimStringDesc* key, NI hc);
422 N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*, newJArray__pureZjson_123)(void);
423 static N_INLINE(void, nimGCunrefRC1)(void* p);
424 N_LIB_PRIVATE N_NIMCALL(void, add__pureZjson_222)(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* father, tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* child);
425 N_LIB_PRIVATE N_NIMCALL(TGenericSeq*, incrSeqV3)(TGenericSeq* s, TNimType* typ);
426 static N_INLINE(void, close__pureZparsejson_151)(tyObject_JsonParser__KWIQnzXEOUqdWsnCUL9atyQ* my);
427 N_LIB_PRIVATE N_NIMCALL(void, close__pureZlexbase_14)(tyObject_BaseLexer__MAw8rJZtJ279bVV3TWMtXSg* L);
428 N_LIB_PRIVATE N_NIMCALL(void, nimLeaveFinally)(void);
429 N_LIB_PRIVATE N_NIMCALL(void, toPretty__pureZjson_4380)(NimStringDesc** result, tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* node, NI indent, NIM_BOOL ml, NIM_BOOL lstArr, NI currIndent);
430 N_LIB_PRIVATE N_NIMCALL(void, indent__pureZjson_4320)(NimStringDesc** s, NI i);
431 static N_INLINE(NimStringDesc*, spaces__pureZstrutils_1029)(NI n);
432 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nsuRepeatChar)(NIM_CHAR c, NI count);
433 N_LIB_PRIVATE N_NIMCALL(void, nl__pureZjson_4328)(NimStringDesc** s, NIM_BOOL ml);
434 N_LIB_PRIVATE N_NIMCALL(NI, newIndent__pureZjson_4323)(NI curr, NI indent, NIM_BOOL ml);
435 STRING_LITERAL(TM__9b9bytt1stv9cZ8uqII7HFgew_2, "\"", 1);
436 STRING_LITERAL(TM__9b9bytt1stv9cZ8uqII7HFgew_3, "\\n", 2);
437 STRING_LITERAL(TM__9b9bytt1stv9cZ8uqII7HFgew_4, "\\b", 2);
438 STRING_LITERAL(TM__9b9bytt1stv9cZ8uqII7HFgew_5, "\\f", 2);
439 STRING_LITERAL(TM__9b9bytt1stv9cZ8uqII7HFgew_6, "\\t", 2);
440 STRING_LITERAL(TM__9b9bytt1stv9cZ8uqII7HFgew_7, "\\u000b", 6);
441 STRING_LITERAL(TM__9b9bytt1stv9cZ8uqII7HFgew_8, "\\r", 2);
442 STRING_LITERAL(TM__9b9bytt1stv9cZ8uqII7HFgew_9, "\\\"", 2);
443 STRING_LITERAL(TM__9b9bytt1stv9cZ8uqII7HFgew_10, "\\u000", 5);
444 STRING_LITERAL(TM__9b9bytt1stv9cZ8uqII7HFgew_11, "\\u00", 4);
445 STRING_LITERAL(TM__9b9bytt1stv9cZ8uqII7HFgew_12, "\\\\", 2);
446 STRING_LITERAL(TM__9b9bytt1stv9cZ8uqII7HFgew_13, "[", 1);
447 STRING_LITERAL(TM__9b9bytt1stv9cZ8uqII7HFgew_14, ",", 1);
448 STRING_LITERAL(TM__9b9bytt1stv9cZ8uqII7HFgew_15, "]", 1);
449 STRING_LITERAL(TM__9b9bytt1stv9cZ8uqII7HFgew_16, "{", 1);
450 STRING_LITERAL(TM__9b9bytt1stv9cZ8uqII7HFgew_17, ":", 1);
451 STRING_LITERAL(TM__9b9bytt1stv9cZ8uqII7HFgew_18, "}", 1);
452 STRING_LITERAL(TM__9b9bytt1stv9cZ8uqII7HFgew_19, "true", 4);
453 STRING_LITERAL(TM__9b9bytt1stv9cZ8uqII7HFgew_20, "false", 5);
454 STRING_LITERAL(TM__9b9bytt1stv9cZ8uqII7HFgew_21, "null", 4);
455 N_LIB_PRIVATE TNimType NTIjsonnodekind__RUngo7nCHe6O8aBGIcrhtg_;
456 extern TNimType NTIrefkeyerror__8SzoIAgLw9ci2v0yafHj9b6Q_;
457 extern TNimType NTIkeyerror__t7nhKLvXTQS9cS8ByJU9bIag_;
458 STRING_LITERAL(TM__9b9bytt1stv9cZ8uqII7HFgew_25, "key not found: ", 15);
459 STRING_LITERAL(TM__9b9bytt1stv9cZ8uqII7HFgew_26, "Incorrect JSON kind. Wanted \'$1\' in \'$2\' but got \'$3\'.", 54);
460 STRING_LITERAL(TM__9b9bytt1stv9cZ8uqII7HFgew_27, ", ", 2);
461 extern TNimType NTIrefjsonkinderror__tn3kJ9cInprO2X2FSPir4WQ_;
462 extern TNimType NTIjsonkinderror__GezlryuJLt9aOJ0RpuN6G8g_;
463 N_LIB_PRIVATE TNimType NTIjsonnodeobj__df9bshXB7C9cTiWPIOtX3j1Q_;
464 extern TNimType NTIbool__VaVACK0bpYmqIQ0mKcHfQQ_;
465 TNimNode* NimDT___df9bshXB7C9cTiWPIOtX3j1Q_kind[8];
466 extern TNimType NTIstring__77mFvmsOLKik79ci2hXkHEg_;
467 extern TNimType NTIbiggestint__Aav8dQoMlCFnZRxA0IhTHQ_;
468 extern TNimType NTIfloat__w9bl9a1ul9ctRJWiMl9cNnIMvg_;
469 N_LIB_PRIVATE TNimType NTIorderedtable__ZZvSdVkA2s2sIyifu4cpkg_;
470 N_LIB_PRIVATE TNimType NTIorderedkeyvaluepair__awOivLjlO76sGdHY7nQUjQ_;
471 extern TNimType NTIint__rR5Bzr1D5krxoo1NcNyeMA_;
472 N_LIB_PRIVATE TNimType NTIorderedkeyvaluepairseq__MlAD6nAPq9bHKla9cWiIZP0g_;
473 N_LIB_PRIVATE TNimType NTIjsonnode__zfzzuQ8txrdZAYK0WGWpHg_;
474 N_LIB_PRIVATE TNimType NTIseqLjsonnodeT__oLpBKXzW3hF9aCVMo5EymfQ_;
475 extern TNimType NTIrefioerror__HMIVdYjdZYWskTmTQVo5BQ_;
476 extern TNimType NTIioerror__iLZrPn9anoh9ad1MmO0RczFw_;
477 STRING_LITERAL(TM__9b9bytt1stv9cZ8uqII7HFgew_31, "cannot read from file: ", 23);
478 extern TNimType NTIjsonparser__KWIQnzXEOUqdWsnCUL9atyQ_;
479 extern TNimType NTIvalueerror__yoNlBGx0D2tRizIdhQuENw_;
480 STRING_LITERAL(TM__9b9bytt1stv9cZ8uqII7HFgew_35, "string literal as key", 21);
481 STRING_LITERAL(TM__9b9bytt1stv9cZ8uqII7HFgew_36, "\012", 1);
482 STRING_LITERAL(TM__9b9bytt1stv9cZ8uqII7HFgew_37, " ", 1);
483 STRING_LITERAL(TM__9b9bytt1stv9cZ8uqII7HFgew_38, ": ", 2);
484 STRING_LITERAL(TM__9b9bytt1stv9cZ8uqII7HFgew_39, "{}", 2);
485 STRING_LITERAL(TM__9b9bytt1stv9cZ8uqII7HFgew_40, "[]", 2);
486 extern tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ gch__system_5238;
487 extern TSafePoint* excHandler__system_2565;
488 extern TSafePoint* excHandler__system_2565;
489 extern TSafePoint* excHandler__system_2565;
490 extern TSafePoint* excHandler__system_2565;
491 extern Exception* currException__system_2566;
492 extern Exception* currException__system_2566;
493 extern Exception* currException__system_2566;
N_INLINE(void,nimCopyMem)494 static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size) {
495 	void* T1_;
496 	T1_ = (void*)0;
497 	T1_ = memcpy(dest, source, ((size_t) (size)));
498 }
N_INLINE(void,copyMem__system_1727)499 static N_INLINE(void, copyMem__system_1727)(void* dest, void* source, NI size) {
500 	nimCopyMem(dest, source, size);
501 }
N_INLINE(void,appendString)502 static N_INLINE(void, appendString)(NimStringDesc* dest, NimStringDesc* src) {
503 	{
504 		if (!!((src == ((NimStringDesc*) NIM_NIL)))) goto LA3_;
505 		copyMem__system_1727(((void*) ((&(*dest).data[(*dest).Sup.len]))), ((void*) ((*src).data)), ((NI) ((NI)((*src).Sup.len + ((NI) 1)))));
506 		(*dest).Sup.len += (*src).Sup.len;
507 	}
508 	LA3_: ;
509 }
N_NIMCALL(void,escapeJsonUnquoted__pureZjson_4331)510 N_LIB_PRIVATE N_NIMCALL(void, escapeJsonUnquoted__pureZjson_4331)(NimStringDesc* s, NimStringDesc** result) {
511 	{
512 		NIM_CHAR c;
513 		NI i;
514 		NI L;
515 		c = (NIM_CHAR)0;
516 		i = ((NI) 0);
517 		L = (s ? s->Sup.len : 0);
518 		{
519 			while (1) {
520 				if (!(i < L)) goto LA3;
521 				c = s->data[i];
522 				switch (((NU8)(c))) {
523 				case 10:
524 				{
525 					unsureAsgnRef((void**) (&(*result)), resizeString((*result), 2));
526 appendString((*result), ((NimStringDesc*) &TM__9b9bytt1stv9cZ8uqII7HFgew_3));
527 				}
528 				break;
529 				case 8:
530 				{
531 					unsureAsgnRef((void**) (&(*result)), resizeString((*result), 2));
532 appendString((*result), ((NimStringDesc*) &TM__9b9bytt1stv9cZ8uqII7HFgew_4));
533 				}
534 				break;
535 				case 12:
536 				{
537 					unsureAsgnRef((void**) (&(*result)), resizeString((*result), 2));
538 appendString((*result), ((NimStringDesc*) &TM__9b9bytt1stv9cZ8uqII7HFgew_5));
539 				}
540 				break;
541 				case 9:
542 				{
543 					unsureAsgnRef((void**) (&(*result)), resizeString((*result), 2));
544 appendString((*result), ((NimStringDesc*) &TM__9b9bytt1stv9cZ8uqII7HFgew_6));
545 				}
546 				break;
547 				case 11:
548 				{
549 					unsureAsgnRef((void**) (&(*result)), resizeString((*result), 6));
550 appendString((*result), ((NimStringDesc*) &TM__9b9bytt1stv9cZ8uqII7HFgew_7));
551 				}
552 				break;
553 				case 13:
554 				{
555 					unsureAsgnRef((void**) (&(*result)), resizeString((*result), 2));
556 appendString((*result), ((NimStringDesc*) &TM__9b9bytt1stv9cZ8uqII7HFgew_8));
557 				}
558 				break;
559 				case 34:
560 				{
561 					unsureAsgnRef((void**) (&(*result)), resizeString((*result), 2));
562 appendString((*result), ((NimStringDesc*) &TM__9b9bytt1stv9cZ8uqII7HFgew_9));
563 				}
564 				break;
565 				case 0 ... 7:
566 				{
567 					NimStringDesc* T12_;
568 					NimStringDesc* T13_;
569 					T12_ = NIM_NIL;
570 					T13_ = NIM_NIL;
571 					T13_ = dollar___systemZdollars_3(((NU8)(c)));
572 					T12_ = rawNewString((T13_ ? T13_->Sup.len : 0) + 5);
573 appendString(T12_, ((NimStringDesc*) &TM__9b9bytt1stv9cZ8uqII7HFgew_10));
574 appendString(T12_, T13_);
575 					unsureAsgnRef((void**) (&(*result)), resizeString((*result), (T12_ ? T12_->Sup.len : 0) + 0));
576 appendString((*result), T12_);
577 				}
578 				break;
579 				case 14 ... 31:
580 				{
581 					NimStringDesc* T15_;
582 					NimStringDesc* T16_;
583 					T15_ = NIM_NIL;
584 					T16_ = NIM_NIL;
585 					T16_ = toHex__pureZstrutils_1792(((NU8)(c)), ((NI) 2));
586 					T15_ = rawNewString((T16_ ? T16_->Sup.len : 0) + 4);
587 appendString(T15_, ((NimStringDesc*) &TM__9b9bytt1stv9cZ8uqII7HFgew_11));
588 appendString(T15_, T16_);
589 					unsureAsgnRef((void**) (&(*result)), resizeString((*result), (T15_ ? T15_->Sup.len : 0) + 0));
590 appendString((*result), T15_);
591 				}
592 				break;
593 				case 92:
594 				{
595 					unsureAsgnRef((void**) (&(*result)), resizeString((*result), 2));
596 appendString((*result), ((NimStringDesc*) &TM__9b9bytt1stv9cZ8uqII7HFgew_12));
597 				}
598 				break;
599 				default:
600 				{
601 					unsureAsgnRef((void**) (&(*result)), addChar((*result), c));
602 				}
603 				break;
604 				}
605 				i += ((NI) 1);
606 			} LA3: ;
607 		}
608 	}
609 }
N_NIMCALL(void,escapeJson__pureZjson_4352)610 N_LIB_PRIVATE N_NIMCALL(void, escapeJson__pureZjson_4352)(NimStringDesc* s, NimStringDesc** result) {
611 	unsureAsgnRef((void**) (&(*result)), resizeString((*result), 1));
612 appendString((*result), ((NimStringDesc*) &TM__9b9bytt1stv9cZ8uqII7HFgew_2));
613 	escapeJsonUnquoted__pureZjson_4331(s, result);
614 	unsureAsgnRef((void**) (&(*result)), resizeString((*result), 1));
615 appendString((*result), ((NimStringDesc*) &TM__9b9bytt1stv9cZ8uqII7HFgew_2));
616 }
N_NIMCALL(NimStringDesc *,escapeJson__pureZjson_4355)617 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, escapeJson__pureZjson_4355)(NimStringDesc* s) {
618 	NimStringDesc* result;
619 	result = NIM_NIL;
620 	result = rawNewString(((NI) ((NI)((s ? s->Sup.len : 0) + (NI)((NI32)((s ? s->Sup.len : 0)) >> (NU32)(((NI) 3)))))));
621 	escapeJson__pureZjson_4352(s, (&result));
622 	return result;
623 }
N_INLINE(int,nimCmpMem)624 static N_INLINE(int, nimCmpMem)(void* a, void* b, NI size) {
625 	int result;
626 	result = (int)0;
627 	result = memcmp(a, b, ((size_t) (size)));
628 	return result;
629 }
N_INLINE(NIM_BOOL,equalMem__system_1735)630 static N_INLINE(NIM_BOOL, equalMem__system_1735)(void* a, void* b, NI size) {
631 	NIM_BOOL result;
632 	int T1_;
633 	result = (NIM_BOOL)0;
634 	T1_ = (int)0;
635 	T1_ = nimCmpMem(a, b, size);
636 	result = (T1_ == ((NI32) 0));
637 	return result;
638 }
N_INLINE(NIM_BOOL,eqStrings)639 static N_INLINE(NIM_BOOL, eqStrings)(NimStringDesc* a, NimStringDesc* b) {
640 	NIM_BOOL result;
641 	NI alen;
642 	NI blen;
643 {	result = (NIM_BOOL)0;
644 	alen = (a ? a->Sup.len : 0);
645 	blen = (b ? b->Sup.len : 0);
646 	{
647 		if (!(alen == blen)) goto LA3_;
648 		{
649 			if (!(alen == ((NI) 0))) goto LA7_;
650 			result = NIM_TRUE;
651 			goto BeforeRet_;
652 		}
653 		LA7_: ;
654 		result = equalMem__system_1735(((void*) ((&a->data[((NI) 0)]))), ((void*) ((&b->data[((NI) 0)]))), ((NI) (alen)));
655 		goto BeforeRet_;
656 	}
657 	LA3_: ;
658 	}BeforeRet_: ;
659 	return result;
660 }
N_INLINE(void *,seqToPtr__pureZjson_2077)661 static N_INLINE(void*, seqToPtr__pureZjson_2077)(tySequence__oLpBKXzW3hF9aCVMo5EymfQ* x) {
662 	void* result;
663 	result = (void*)0;
664 	result = ((void*) (x));
665 	return result;
666 }
N_NIMCALL(NIM_BOOL,eqeq___pureZjson_2061)667 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, eqeq___pureZjson_2061)(tySequence__oLpBKXzW3hF9aCVMo5EymfQ* x, tySequence__oLpBKXzW3hF9aCVMo5EymfQ* y) {
668 	NIM_BOOL result;
669 {	result = (NIM_BOOL)0;
670 	{
671 		void* T3_;
672 		void* T4_;
673 		T3_ = (void*)0;
674 		T3_ = seqToPtr__pureZjson_2077(x);
675 		T4_ = (void*)0;
676 		T4_ = seqToPtr__pureZjson_2077(y);
677 		if (!(T3_ == T4_)) goto LA5_;
678 		result = NIM_TRUE;
679 		goto BeforeRet_;
680 	}
681 	LA5_: ;
682 	{
683 		NI T9_;
684 		NI T10_;
685 		T9_ = (x ? x->Sup.len : 0);
686 		T10_ = (y ? y->Sup.len : 0);
687 		if (!!((T9_ == T10_))) goto LA11_;
688 		result = NIM_FALSE;
689 		goto BeforeRet_;
690 	}
691 	LA11_: ;
692 	{
693 		NI i;
694 		NI colontmp_;
695 		NI T14_;
696 		NI res;
697 		i = (NI)0;
698 		colontmp_ = (NI)0;
699 		T14_ = (x ? x->Sup.len : 0);
700 		colontmp_ = (NI)(T14_ - ((NI) 1));
701 		res = ((NI) 0);
702 		{
703 			while (1) {
704 				if (!(res <= colontmp_)) goto LA16;
705 				i = res;
706 				{
707 					NIM_BOOL T19_;
708 					T19_ = (NIM_BOOL)0;
709 					T19_ = eqeq___pureZjson_2044(x->data[i], y->data[i]);
710 					if (!!(T19_)) goto LA20_;
711 					result = NIM_FALSE;
712 					goto BeforeRet_;
713 				}
714 				LA20_: ;
715 				res += ((NI) 1);
716 			} LA16: ;
717 		}
718 	}
719 	result = NIM_TRUE;
720 	goto BeforeRet_;
721 	}BeforeRet_: ;
722 	return result;
723 }
N_INLINE(NI,len__pureZjson_2142)724 static N_INLINE(NI, len__pureZjson_2142)(tyObject_OrderedTable__ZZvSdVkA2s2sIyifu4cpkg t) {
725 	NI result;
726 	result = (NI)0;
727 	result = t.counter;
728 	return result;
729 }
N_INLINE(void,nimSetMem__systemZmemory_7)730 static N_INLINE(void, nimSetMem__systemZmemory_7)(void* a, int v, NI size) {
731 	void* T1_;
732 	T1_ = (void*)0;
733 	T1_ = memset(a, v, ((size_t) (size)));
734 }
N_INLINE(void,nimZeroMem)735 static N_INLINE(void, nimZeroMem)(void* p, NI size) {
736 	nimSetMem__systemZmemory_7(p, ((int) 0), size);
737 }
N_INLINE(NIM_BOOL,isFilled__pureZcollectionsZtables_31)738 static N_INLINE(NIM_BOOL, isFilled__pureZcollectionsZtables_31)(NI hcode) {
739 	NIM_BOOL result;
740 	result = (NIM_BOOL)0;
741 	result = !((hcode == ((NI) 0)));
742 	return result;
743 }
N_INLINE(NI,nextTry__pureZcollectionsZtables_34)744 static N_INLINE(NI, nextTry__pureZcollectionsZtables_34)(NI h, NI maxHash) {
745 	NI result;
746 	result = (NI)0;
747 	result = (NI)((NI)(h + ((NI) 1)) & maxHash);
748 	return result;
749 }
N_NIMCALL(NI,rawGet__pureZjson_356)750 N_LIB_PRIVATE N_NIMCALL(NI, rawGet__pureZjson_356)(tyObject_OrderedTable__ZZvSdVkA2s2sIyifu4cpkg t, NimStringDesc* key, NI* hc) {
751 	NI result;
752 	NI h;
753 	NI T10_;
754 {	result = (NI)0;
755 	(*hc) = hash__pureZhashes_279(key);
756 	{
757 		if (!((*hc) == ((NI) 0))) goto LA3_;
758 		(*hc) = ((NI) 314159265);
759 	}
760 	LA3_: ;
761 	{
762 		NI T7_;
763 		T7_ = (t.data ? t.data->Sup.len : 0);
764 		if (!(T7_ == ((NI) 0))) goto LA8_;
765 		result = ((NI) -1);
766 		goto BeforeRet_;
767 	}
768 	LA8_: ;
769 	T10_ = ((t.data ? t.data->Sup.len : 0)-1);
770 	h = (NI)((*hc) & T10_);
771 	{
772 		while (1) {
773 			NIM_BOOL T13_;
774 			NI T20_;
775 			T13_ = (NIM_BOOL)0;
776 			T13_ = isFilled__pureZcollectionsZtables_31(t.data->data[h].Field0);
777 			if (!T13_) goto LA12;
778 			{
779 				NIM_BOOL T16_;
780 				T16_ = (NIM_BOOL)0;
781 				T16_ = (t.data->data[h].Field0 == (*hc));
782 				if (!(T16_)) goto LA17_;
783 				T16_ = eqStrings(t.data->data[h].Field2, key);
784 				LA17_: ;
785 				if (!T16_) goto LA18_;
786 				result = h;
787 				goto BeforeRet_;
788 			}
789 			LA18_: ;
790 			T20_ = ((t.data ? t.data->Sup.len : 0)-1);
791 			h = nextTry__pureZcollectionsZtables_34(h, T20_);
792 		} LA12: ;
793 	}
794 	result = (NI)(((NI) -1) - h);
795 	}BeforeRet_: ;
796 	return result;
797 }
N_NIMCALL(NIM_BOOL,hasKey__pureZjson_2564)798 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasKey__pureZjson_2564)(tyObject_OrderedTable__ZZvSdVkA2s2sIyifu4cpkg t, NimStringDesc* key) {
799 	NIM_BOOL result;
800 	NI hc;
801 	NI T1_;
802 	result = (NIM_BOOL)0;
803 	hc = (NI)0;
804 	T1_ = (NI)0;
805 	T1_ = rawGet__pureZjson_356(t, key, (&hc));
806 	result = (((NI) 0) <= T1_);
807 	return result;
808 }
N_INLINE(NI,rawGet__pureZjson_2645)809 static N_INLINE(NI, rawGet__pureZjson_2645)(tyObject_OrderedTable__ZZvSdVkA2s2sIyifu4cpkg t, NimStringDesc* key, NI* hc) {
810 	NI result;
811 	NI h;
812 	NI T10_;
813 {	result = (NI)0;
814 	(*hc) = hash__pureZhashes_279(key);
815 	{
816 		if (!((*hc) == ((NI) 0))) goto LA3_;
817 		(*hc) = ((NI) 314159265);
818 	}
819 	LA3_: ;
820 	{
821 		NI T7_;
822 		T7_ = (t.data ? t.data->Sup.len : 0);
823 		if (!(T7_ == ((NI) 0))) goto LA8_;
824 		result = ((NI) -1);
825 		goto BeforeRet_;
826 	}
827 	LA8_: ;
828 	T10_ = ((t.data ? t.data->Sup.len : 0)-1);
829 	h = (NI)((*hc) & T10_);
830 	{
831 		while (1) {
832 			NIM_BOOL T13_;
833 			NI T20_;
834 			T13_ = (NIM_BOOL)0;
835 			T13_ = isFilled__pureZcollectionsZtables_31(t.data->data[h].Field0);
836 			if (!T13_) goto LA12;
837 			{
838 				NIM_BOOL T16_;
839 				T16_ = (NIM_BOOL)0;
840 				T16_ = (t.data->data[h].Field0 == (*hc));
841 				if (!(T16_)) goto LA17_;
842 				T16_ = eqStrings(t.data->data[h].Field2, key);
843 				LA17_: ;
844 				if (!T16_) goto LA18_;
845 				result = h;
846 				goto BeforeRet_;
847 			}
848 			LA18_: ;
849 			T20_ = ((t.data ? t.data->Sup.len : 0)-1);
850 			h = nextTry__pureZcollectionsZtables_34(h, T20_);
851 		} LA12: ;
852 	}
853 	result = (NI)(((NI) -1) - h);
854 	}BeforeRet_: ;
855 	return result;
856 }
N_NIMCALL(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q **,X5BX5D___pureZjson_2638)857 N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q**, X5BX5D___pureZjson_2638)(tyObject_OrderedTable__ZZvSdVkA2s2sIyifu4cpkg* t, NimStringDesc* key) {
858 	tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q** result;
859 	NI hcX60gensym89_;
860 	NI indexX60gensym89_;
861 	result = (tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q**)0;
862 	hcX60gensym89_ = (NI)0;
863 	indexX60gensym89_ = rawGet__pureZjson_2645((*t), key, (&hcX60gensym89_));
864 	{
865 		if (!(((NI) 0) <= indexX60gensym89_)) goto LA3_;
866 		result = &(*t).data->data[indexX60gensym89_].Field3;
867 	}
868 	goto LA1_;
869 	LA3_: ;
870 	{
871 		raiseKeyError__msgs_300(key);
872 	}
873 	LA1_: ;
874 	return result;
875 }
N_NIMCALL(NIM_BOOL,eqeq___pureZjson_2044)876 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, eqeq___pureZjson_2044)(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* a, tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* b) {
877 	NIM_BOOL result;
878 {	result = (NIM_BOOL)0;
879 	{
880 		if (!(a == 0)) goto LA3_;
881 		{
882 			if (!(b == 0)) goto LA7_;
883 			result = NIM_TRUE;
884 			goto BeforeRet_;
885 		}
886 		LA7_: ;
887 		result = NIM_FALSE;
888 		goto BeforeRet_;
889 	}
890 	goto LA1_;
891 	LA3_: ;
892 	{
893 		NIM_BOOL T10_;
894 		T10_ = (NIM_BOOL)0;
895 		T10_ = (b == 0);
896 		if (T10_) goto LA11_;
897 		T10_ = !(((*a).kind == (*b).kind));
898 		LA11_: ;
899 		if (!T10_) goto LA12_;
900 		result = NIM_FALSE;
901 		goto BeforeRet_;
902 	}
903 	goto LA1_;
904 	LA12_: ;
905 	{
906 		switch ((*a).kind) {
907 		case ((tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg) 4):
908 		{
909 			result = eqStrings((*a)._kind_1.str, (*b)._kind_1.str);
910 		}
911 		break;
912 		case ((tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg) 2):
913 		{
914 			result = ((*a)._kind_2.num == (*b)._kind_2.num);
915 		}
916 		break;
917 		case ((tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg) 3):
918 		{
919 			result = ((*a)._kind_3.fnum == (*b)._kind_3.fnum);
920 		}
921 		break;
922 		case ((tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg) 1):
923 		{
924 			result = ((*a)._kind_4.bval == (*b)._kind_4.bval);
925 		}
926 		break;
927 		case ((tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg) 0):
928 		{
929 			result = NIM_TRUE;
930 		}
931 		break;
932 		case ((tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg) 6):
933 		{
934 			result = eqeq___pureZjson_2061((*a)._kind_7.elems, (*b)._kind_7.elems);
935 		}
936 		break;
937 		case ((tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg) 5):
938 		{
939 			{
940 				NI T24_;
941 				NI T25_;
942 				T24_ = (NI)0;
943 				T24_ = len__pureZjson_2142((*a)._kind_6.fields);
944 				T25_ = (NI)0;
945 				T25_ = len__pureZjson_2142((*b)._kind_6.fields);
946 				if (!!((T24_ == T25_))) goto LA26_;
947 				result = NIM_FALSE;
948 				goto BeforeRet_;
949 			}
950 			LA26_: ;
951 			{
952 				NimStringDesc* key;
953 				tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* val;
954 				tyObject_OrderedTable__ZZvSdVkA2s2sIyifu4cpkg colontmp_;
955 				NI L;
956 				key = NIM_NIL;
957 				val = NIM_NIL;
958 				nimZeroMem((void*)(&colontmp_), sizeof(tyObject_OrderedTable__ZZvSdVkA2s2sIyifu4cpkg));
959 				colontmp_.data = (*a)._kind_6.fields.data;
960 				colontmp_.counter = (*a)._kind_6.fields.counter;
961 				colontmp_.first = (*a)._kind_6.fields.first;
962 				colontmp_.last = (*a)._kind_6.fields.last;
963 				L = len__pureZjson_2142(colontmp_);
964 				{
965 					NI h;
966 					if (!(((NI) 0) < colontmp_.counter)) goto LA31_;
967 					h = colontmp_.first;
968 					{
969 						while (1) {
970 							NI nxt;
971 							if (!(((NI) 0) <= h)) goto LA34;
972 							nxt = colontmp_.data->data[h].Field1;
973 							{
974 								NIM_BOOL T37_;
975 								T37_ = (NIM_BOOL)0;
976 								T37_ = isFilled__pureZcollectionsZtables_31(colontmp_.data->data[h].Field0);
977 								if (!T37_) goto LA38_;
978 								key = colontmp_.data->data[h].Field2;
979 								val = colontmp_.data->data[h].Field3;
980 								{
981 									NIM_BOOL T42_;
982 									T42_ = (NIM_BOOL)0;
983 									T42_ = hasKey__pureZjson_2564((*b)._kind_6.fields, key);
984 									if (!!(T42_)) goto LA43_;
985 									result = NIM_FALSE;
986 									goto BeforeRet_;
987 								}
988 								LA43_: ;
989 								{
990 									tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q** T47_;
991 									NIM_BOOL T48_;
992 									T47_ = (tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q**)0;
993 									T47_ = X5BX5D___pureZjson_2638((&(*b)._kind_6.fields), key);
994 									T48_ = (NIM_BOOL)0;
995 									T48_ = eqeq___pureZjson_2044((*T47_), val);
996 									if (!!(T48_)) goto LA49_;
997 									result = NIM_FALSE;
998 									goto BeforeRet_;
999 								}
1000 								LA49_: ;
1001 							}
1002 							LA38_: ;
1003 							h = nxt;
1004 						} LA34: ;
1005 					}
1006 				}
1007 				LA31_: ;
1008 			}
1009 			result = NIM_TRUE;
1010 		}
1011 		break;
1012 		}
1013 	}
1014 	LA1_: ;
1015 	}BeforeRet_: ;
1016 	return result;
1017 }
N_NIMCALL(NI,len__pureZjson_2989)1018 N_LIB_PRIVATE N_NIMCALL(NI, len__pureZjson_2989)(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* n) {
1019 	NI result;
1020 	result = (NI)0;
1021 	switch ((*n).kind) {
1022 	case ((tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg) 6):
1023 	{
1024 		NI T2_;
1025 		T2_ = ((*n)._kind_7.elems ? (*n)._kind_7.elems->Sup.len : 0);
1026 		result = T2_;
1027 	}
1028 	break;
1029 	case ((tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg) 5):
1030 	{
1031 		result = len__pureZjson_2142((*n)._kind_6.fields);
1032 	}
1033 	break;
1034 	default:
1035 	{
1036 	}
1037 	break;
1038 	}
1039 	return result;
1040 }
N_INLINE(void,addFloat__system_3122)1041 static N_INLINE(void, addFloat__system_3122)(NimStringDesc** result, NF x) {
1042 	addFloatRoundtrip__system_3127(result, x);
1043 }
N_NIMCALL(void,toUgly__pureZjson_4362)1044 N_LIB_PRIVATE N_NIMCALL(void, toUgly__pureZjson_4362)(NimStringDesc** result, tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* node) {
1045 	NIM_BOOL comma;
1046 	comma = NIM_FALSE;
1047 	switch ((*node).kind) {
1048 	case ((tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg) 6):
1049 	{
1050 		unsureAsgnRef((void**) (&(*result)), resizeString((*result), 1));
1051 appendString((*result), ((NimStringDesc*) &TM__9b9bytt1stv9cZ8uqII7HFgew_13));
1052 		{
1053 			tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q** child;
1054 			tySequence__oLpBKXzW3hF9aCVMo5EymfQ* colontmp_;
1055 			NI i;
1056 			NI L;
1057 			NI T3_;
1058 			child = (tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q**)0;
1059 			colontmp_ = NIM_NIL;
1060 			colontmp_ = (*node)._kind_7.elems;
1061 			i = ((NI) 0);
1062 			T3_ = (colontmp_ ? colontmp_->Sup.len : 0);
1063 			L = T3_;
1064 			{
1065 				while (1) {
1066 					if (!(i < L)) goto LA5;
1067 					child = &colontmp_->data[i];
1068 					{
1069 						if (!comma) goto LA8_;
1070 						unsureAsgnRef((void**) (&(*result)), resizeString((*result), 1));
1071 appendString((*result), ((NimStringDesc*) &TM__9b9bytt1stv9cZ8uqII7HFgew_14));
1072 					}
1073 					goto LA6_;
1074 					LA8_: ;
1075 					{
1076 						comma = NIM_TRUE;
1077 					}
1078 					LA6_: ;
1079 					toUgly__pureZjson_4362(result, (*child));
1080 					i += ((NI) 1);
1081 				} LA5: ;
1082 			}
1083 		}
1084 		unsureAsgnRef((void**) (&(*result)), resizeString((*result), 1));
1085 appendString((*result), ((NimStringDesc*) &TM__9b9bytt1stv9cZ8uqII7HFgew_15));
1086 	}
1087 	break;
1088 	case ((tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg) 5):
1089 	{
1090 		unsureAsgnRef((void**) (&(*result)), resizeString((*result), 1));
1091 appendString((*result), ((NimStringDesc*) &TM__9b9bytt1stv9cZ8uqII7HFgew_16));
1092 		{
1093 			NimStringDesc* key;
1094 			tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* value;
1095 			tyObject_OrderedTable__ZZvSdVkA2s2sIyifu4cpkg colontmp__2;
1096 			NI L_2;
1097 			key = NIM_NIL;
1098 			value = NIM_NIL;
1099 			nimZeroMem((void*)(&colontmp__2), sizeof(tyObject_OrderedTable__ZZvSdVkA2s2sIyifu4cpkg));
1100 			colontmp__2.data = (*node)._kind_6.fields.data;
1101 			colontmp__2.counter = (*node)._kind_6.fields.counter;
1102 			colontmp__2.first = (*node)._kind_6.fields.first;
1103 			colontmp__2.last = (*node)._kind_6.fields.last;
1104 			L_2 = len__pureZjson_2142(colontmp__2);
1105 			{
1106 				NI h;
1107 				if (!(((NI) 0) < colontmp__2.counter)) goto LA15_;
1108 				h = colontmp__2.first;
1109 				{
1110 					while (1) {
1111 						NI nxt;
1112 						if (!(((NI) 0) <= h)) goto LA18;
1113 						nxt = colontmp__2.data->data[h].Field1;
1114 						{
1115 							NIM_BOOL T21_;
1116 							T21_ = (NIM_BOOL)0;
1117 							T21_ = isFilled__pureZcollectionsZtables_31(colontmp__2.data->data[h].Field0);
1118 							if (!T21_) goto LA22_;
1119 							key = colontmp__2.data->data[h].Field2;
1120 							value = colontmp__2.data->data[h].Field3;
1121 							{
1122 								if (!comma) goto LA26_;
1123 								unsureAsgnRef((void**) (&(*result)), resizeString((*result), 1));
1124 appendString((*result), ((NimStringDesc*) &TM__9b9bytt1stv9cZ8uqII7HFgew_14));
1125 							}
1126 							goto LA24_;
1127 							LA26_: ;
1128 							{
1129 								comma = NIM_TRUE;
1130 							}
1131 							LA24_: ;
1132 							escapeJson__pureZjson_4352(key, result);
1133 							unsureAsgnRef((void**) (&(*result)), resizeString((*result), 1));
1134 appendString((*result), ((NimStringDesc*) &TM__9b9bytt1stv9cZ8uqII7HFgew_17));
1135 							toUgly__pureZjson_4362(result, value);
1136 						}
1137 						LA22_: ;
1138 						h = nxt;
1139 					} LA18: ;
1140 				}
1141 			}
1142 			LA15_: ;
1143 		}
1144 		unsureAsgnRef((void**) (&(*result)), resizeString((*result), 1));
1145 appendString((*result), ((NimStringDesc*) &TM__9b9bytt1stv9cZ8uqII7HFgew_18));
1146 	}
1147 	break;
1148 	case ((tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg) 4):
1149 	{
1150 		{
1151 			if (!(*node).isUnquoted) goto LA32_;
1152 			unsureAsgnRef((void**) (&(*result)), resizeString((*result), ((*node)._kind_1.str ? (*node)._kind_1.str->Sup.len : 0) + 0));
1153 appendString((*result), (*node)._kind_1.str);
1154 		}
1155 		goto LA30_;
1156 		LA32_: ;
1157 		{
1158 			escapeJson__pureZjson_4352((*node)._kind_1.str, result);
1159 		}
1160 		LA30_: ;
1161 	}
1162 	break;
1163 	case ((tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg) 2):
1164 	{
1165 		addInt__stdZprivateZdigitsutils_167(result, (*node)._kind_2.num);
1166 	}
1167 	break;
1168 	case ((tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg) 3):
1169 	{
1170 		addFloat__system_3122(result, (*node)._kind_3.fnum);
1171 	}
1172 	break;
1173 	case ((tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg) 1):
1174 	{
1175 		NimStringDesc* T38_;
1176 		T38_ = NIM_NIL;
1177 		{
1178 			if (!(*node)._kind_4.bval) goto LA41_;
1179 			T38_ = copyString(((NimStringDesc*) &TM__9b9bytt1stv9cZ8uqII7HFgew_19));
1180 		}
1181 		goto LA39_;
1182 		LA41_: ;
1183 		{
1184 			T38_ = copyString(((NimStringDesc*) &TM__9b9bytt1stv9cZ8uqII7HFgew_20));
1185 		}
1186 		LA39_: ;
1187 		unsureAsgnRef((void**) (&(*result)), resizeString((*result), (T38_ ? T38_->Sup.len : 0) + 0));
1188 appendString((*result), T38_);
1189 	}
1190 	break;
1191 	case ((tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg) 0):
1192 	{
1193 		unsureAsgnRef((void**) (&(*result)), resizeString((*result), 4));
1194 appendString((*result), ((NimStringDesc*) &TM__9b9bytt1stv9cZ8uqII7HFgew_21));
1195 	}
1196 	break;
1197 	}
1198 }
N_NIMCALL(NimStringDesc *,dollar___pureZjson_4465)1199 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar___pureZjson_4465)(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* node) {
1200 	NimStringDesc* result;
1201 	NI T1_;
1202 	result = NIM_NIL;
1203 	T1_ = (NI)0;
1204 	T1_ = len__pureZjson_2989(node);
1205 	result = rawNewString(((NI) ((NI)((NU32)(T1_) << (NU32)(((NI) 1))))));
1206 	toUgly__pureZjson_4362((&result), node);
1207 	return result;
1208 }
N_NIMCALL(NIM_BOOL,hasKey__pureZjson_3152)1209 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasKey__pureZjson_3152)(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* node, NimStringDesc* key) {
1210 	NIM_BOOL result;
1211 	result = (NIM_BOOL)0;
1212 	result = hasKey__pureZjson_2564((*node)._kind_6.fields, key);
1213 	return result;
1214 }
N_INLINE(NI,pluspercent___system_696)1215 static N_INLINE(NI, pluspercent___system_696)(NI x, NI y) {
1216 	NI result;
1217 	result = (NI)0;
1218 	result = ((NI) ((NU)((NU32)(((NU) (x))) + (NU32)(((NU) (y))))));
1219 	return result;
1220 }
N_INLINE(void,incRef__system_5329)1221 static N_INLINE(void, incRef__system_5329)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
1222 	(*c).refcount = pluspercent___system_696((*c).refcount, ((NI) 8));
1223 }
N_INLINE(NI,minuspercent___system_716)1224 static N_INLINE(NI, minuspercent___system_716)(NI x, NI y) {
1225 	NI result;
1226 	result = (NI)0;
1227 	result = ((NI) ((NU)((NU32)(((NU) (x))) - (NU32)(((NU) (y))))));
1228 	return result;
1229 }
N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g *,usrToCell__system_5291)1230 static N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*, usrToCell__system_5291)(void* usr) {
1231 	tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* result;
1232 	NI T1_;
1233 	result = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
1234 	T1_ = (NI)0;
1235 	T1_ = minuspercent___system_716(((NI) (ptrdiff_t) (usr)), ((NI) 8));
1236 	result = ((tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*) (T1_));
1237 	return result;
1238 }
N_INLINE(NIM_BOOL,ltpercent___system_1005)1239 static N_INLINE(NIM_BOOL, ltpercent___system_1005)(NI x, NI y) {
1240 	NIM_BOOL result;
1241 	result = (NIM_BOOL)0;
1242 	result = ((NU32)(((NU) (x))) < (NU32)(((NU) (y))));
1243 	return result;
1244 }
N_INLINE(void,rtlAddZCT__system_5334)1245 static N_INLINE(void, rtlAddZCT__system_5334)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
1246 	addZCT__system_5285((&gch__system_5238.zct), c);
1247 }
N_INLINE(void,decRef__system_5336)1248 static N_INLINE(void, decRef__system_5336)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
1249 	(*c).refcount = minuspercent___system_716((*c).refcount, ((NI) 8));
1250 	{
1251 		NIM_BOOL T3_;
1252 		T3_ = (NIM_BOOL)0;
1253 		T3_ = ltpercent___system_1005((*c).refcount, ((NI) 8));
1254 		if (!T3_) goto LA4_;
1255 		rtlAddZCT__system_5334(c);
1256 	}
1257 	LA4_: ;
1258 }
N_INLINE(void,asgnRef)1259 static N_INLINE(void, asgnRef)(void** dest, void* src) {
1260 	{
1261 		tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T5_;
1262 		if (!!((src == NIM_NIL))) goto LA3_;
1263 		T5_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
1264 		T5_ = usrToCell__system_5291(src);
1265 		incRef__system_5329(T5_);
1266 	}
1267 	LA3_: ;
1268 	{
1269 		tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T10_;
1270 		if (!!(((*dest) == NIM_NIL))) goto LA8_;
1271 		T10_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
1272 		T10_ = usrToCell__system_5291((*dest));
1273 		decRef__system_5336(T10_);
1274 	}
1275 	LA8_: ;
1276 	(*dest) = src;
1277 }
N_NIMCALL(void,addQuoted__pureZjson_5375)1278 N_LIB_PRIVATE N_NIMCALL(void, addQuoted__pureZjson_5375)(NimStringDesc** s, tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg x) {
1279 	unsureAsgnRef((void**) (&(*s)), resizeString((*s), (reprEnum((NI)x, (&NTIjsonnodekind__RUngo7nCHe6O8aBGIcrhtg_)) ? reprEnum((NI)x, (&NTIjsonnodekind__RUngo7nCHe6O8aBGIcrhtg_))->Sup.len : 0) + 0));
1280 appendString((*s), reprEnum((NI)x, (&NTIjsonnodekind__RUngo7nCHe6O8aBGIcrhtg_)));
1281 }
N_NIMCALL(NimStringDesc *,collectionToString__pureZjson_5343)1282 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, collectionToString__pureZjson_5343)(tySet_tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg x, NimStringDesc* prefix, NimStringDesc* separator, NimStringDesc* suffix) {
1283 	NimStringDesc* result;
1284 	NIM_BOOL firstElement;
1285 	result = NIM_NIL;
1286 	result = copyString(prefix);
1287 	firstElement = NIM_TRUE;
1288 	{
1289 		tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg value;
1290 		NI i;
1291 		value = (tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg)0;
1292 		i = ((NI) 0);
1293 		{
1294 			while (1) {
1295 				if (!(i <= ((NI) 6))) goto LA3;
1296 				{
1297 					if (!((x &((NU8)1<<((NU)(((tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg) (i)))&7U)))!=0)) goto LA6_;
1298 					value = ((tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg) (i));
1299 					{
1300 						if (!firstElement) goto LA10_;
1301 						firstElement = NIM_FALSE;
1302 					}
1303 					goto LA8_;
1304 					LA10_: ;
1305 					{
1306 						result = resizeString(result, (separator ? separator->Sup.len : 0) + 0);
1307 appendString(result, separator);
1308 					}
1309 					LA8_: ;
1310 					addQuoted__pureZjson_5375((&result), value);
1311 				}
1312 				LA6_: ;
1313 				i += ((NI) 1);
1314 			} LA3: ;
1315 		}
1316 	}
1317 	result = resizeString(result, (suffix ? suffix->Sup.len : 0) + 0);
1318 appendString(result, suffix);
1319 	return result;
1320 }
N_NIMCALL(NimStringDesc *,dollar___pureZjson_5339)1321 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar___pureZjson_5339)(tySet_tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg x) {
1322 	NimStringDesc* result;
1323 	result = NIM_NIL;
1324 	result = collectionToString__pureZjson_5343(x, ((NimStringDesc*) &TM__9b9bytt1stv9cZ8uqII7HFgew_16), ((NimStringDesc*) &TM__9b9bytt1stv9cZ8uqII7HFgew_27), ((NimStringDesc*) &TM__9b9bytt1stv9cZ8uqII7HFgew_18));
1325 	return result;
1326 }
N_INLINE(void,nimGCunrefNoCycle)1327 static N_INLINE(void, nimGCunrefNoCycle)(void* p) {
1328 	tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T1_;
1329 	T1_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
1330 	T1_ = usrToCell__system_5291(p);
1331 	decRef__system_5336(T1_);
1332 }
N_NIMCALL(void,initFromJson__pureZjson_5260)1333 N_LIB_PRIVATE N_NIMCALL(void, initFromJson__pureZjson_5260)(NimStringDesc** dst, tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* jsonNode, NimStringDesc** jsonPath) {
1334 	{
1335 		NIM_BOOL T3_;
1336 		tyObject_KeyError__t7nhKLvXTQS9cS8ByJU9bIag* T6_;
1337 		NimStringDesc* T7_;
1338 		T3_ = (NIM_BOOL)0;
1339 		T3_ = eqeq___pureZjson_2044(jsonNode, ((tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*) NIM_NIL));
1340 		if (!T3_) goto LA4_;
1341 		T6_ = NIM_NIL;
1342 		T6_ = (tyObject_KeyError__t7nhKLvXTQS9cS8ByJU9bIag*) newObj((&NTIrefkeyerror__8SzoIAgLw9ci2v0yafHj9b6Q_), sizeof(tyObject_KeyError__t7nhKLvXTQS9cS8ByJU9bIag));
1343 		(*T6_).Sup.Sup.Sup.Sup.m_type = (&NTIkeyerror__t7nhKLvXTQS9cS8ByJU9bIag_);
1344 		(*T6_).Sup.Sup.Sup.name = "KeyError";
1345 		T7_ = NIM_NIL;
1346 		T7_ = rawNewString(((*jsonPath) ? (*jsonPath)->Sup.len : 0) + 15);
1347 appendString(T7_, ((NimStringDesc*) &TM__9b9bytt1stv9cZ8uqII7HFgew_25));
1348 appendString(T7_, (*jsonPath));
1349 		asgnRef((void**) (&(*T6_).Sup.Sup.Sup.message), T7_);
1350 		asgnRef((void**) (&(*T6_).Sup.Sup.Sup.parent), ((Exception*) NIM_NIL));
1351 		raiseExceptionEx((Exception*)T6_, "KeyError", "initFromJson", "json.nim", 1050);
1352 	}
1353 	goto LA1_;
1354 	LA4_: ;
1355 	{
1356 		NimStringDesc* msgX60gensym96_;
1357 		tyArray__24KAM9afIUgUaqBaEBB6r9bg T11_;
1358 		tyObject_JsonKindError__GezlryuJLt9aOJ0RpuN6G8g* T12_;
1359 		NimStringDesc* T13_;
1360 		if (!!(((17 &((NU8)1<<((NU)((*jsonNode).kind)&7U)))!=0))) goto LA9_;
1361 		nimZeroMem((void*)T11_, sizeof(tyArray__24KAM9afIUgUaqBaEBB6r9bg));
1362 		T11_[0] = dollar___pureZjson_5339(17);
1363 		T11_[1] = copyString((*jsonPath));
1364 		T11_[2] = reprEnum((NI)(*jsonNode).kind, (&NTIjsonnodekind__RUngo7nCHe6O8aBGIcrhtg_));
1365 		msgX60gensym96_ = nsuFormatOpenArray(((NimStringDesc*) &TM__9b9bytt1stv9cZ8uqII7HFgew_26), T11_, 3);
1366 		T12_ = NIM_NIL;
1367 		T12_ = (tyObject_JsonKindError__GezlryuJLt9aOJ0RpuN6G8g*) newObj((&NTIrefjsonkinderror__tn3kJ9cInprO2X2FSPir4WQ_), sizeof(tyObject_JsonKindError__GezlryuJLt9aOJ0RpuN6G8g));
1368 		(*T12_).Sup.Sup.Sup.Sup.m_type = (&NTIjsonkinderror__GezlryuJLt9aOJ0RpuN6G8g_);
1369 		(*T12_).Sup.Sup.Sup.name = "JsonKindError";
1370 		T13_ = NIM_NIL;
1371 		T13_ = (*T12_).Sup.Sup.Sup.message; (*T12_).Sup.Sup.Sup.message = copyStringRC1(msgX60gensym96_);
1372 		if (T13_) nimGCunrefNoCycle(T13_);
1373 		asgnRef((void**) (&(*T12_).Sup.Sup.Sup.parent), ((Exception*) NIM_NIL));
1374 		raiseExceptionEx((Exception*)T12_, "JsonKindError", "initFromJson", "json.nim", 1057);
1375 	}
1376 	goto LA1_;
1377 	LA9_: ;
1378 	LA1_: ;
1379 	{
1380 		if (!((*jsonNode).kind == ((tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg) 0))) goto LA16_;
1381 		unsureAsgnRef((void**) (&(*dst)), ((NimStringDesc*) NIM_NIL));
1382 	}
1383 	goto LA14_;
1384 	LA16_: ;
1385 	{
1386 		unsureAsgnRef((void**) (&(*dst)), copyString((*jsonNode)._kind_1.str));
1387 	}
1388 	LA14_: ;
1389 }
N_NIMCALL(void,Marker_tySequence__MlAD6nAPq9bHKla9cWiIZP0g)1390 static N_NIMCALL(void, Marker_tySequence__MlAD6nAPq9bHKla9cWiIZP0g)(void* p, NI op) {
1391 	tySequence__MlAD6nAPq9bHKla9cWiIZP0g* a;
1392 	NI T1_;
1393 	a = (tySequence__MlAD6nAPq9bHKla9cWiIZP0g*)p;
1394 	T1_ = (NI)0;
1395 	for (T1_ = 0; T1_ < (a ? a->Sup.len : 0); T1_++) {
1396 	nimGCvisit((void*)a->data[T1_].Field2, op);
1397 	nimGCvisit((void*)a->data[T1_].Field3, op);
1398 	}
1399 }
N_NIMCALL(void,Marker_tyRef__zfzzuQ8txrdZAYK0WGWpHg)1400 static N_NIMCALL(void, Marker_tyRef__zfzzuQ8txrdZAYK0WGWpHg)(void* p, NI op) {
1401 	tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* a;
1402 	a = (tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*)p;
1403 	switch ((*a).kind) {
1404 	case ((tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg) 4):
1405 	nimGCvisit((void*)(*a)._kind_1.str, op);
1406 	break;
1407 	case ((tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg) 2):
1408 	break;
1409 	case ((tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg) 3):
1410 	break;
1411 	case ((tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg) 1):
1412 	break;
1413 	case ((tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg) 0):
1414 	break;
1415 	case ((tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg) 5):
1416 	nimGCvisit((void*)(*a)._kind_6.fields.data, op);
1417 	break;
1418 	case ((tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg) 6):
1419 	nimGCvisit((void*)(*a)._kind_7.elems, op);
1420 	break;
1421 	}
1422 }
N_NIMCALL(void,Marker_tySequence__oLpBKXzW3hF9aCVMo5EymfQ)1423 static N_NIMCALL(void, Marker_tySequence__oLpBKXzW3hF9aCVMo5EymfQ)(void* p, NI op) {
1424 	tySequence__oLpBKXzW3hF9aCVMo5EymfQ* a;
1425 	NI T1_;
1426 	a = (tySequence__oLpBKXzW3hF9aCVMo5EymfQ*)p;
1427 	T1_ = (NI)0;
1428 	for (T1_ = 0; T1_ < (a ? a->Sup.len : 0); T1_++) {
1429 	nimGCvisit((void*)a->data[T1_], op);
1430 	}
1431 }
N_NIMCALL(tySequence__oLpBKXzW3hF9aCVMo5EymfQ *,getElems__pureZjson_207)1432 N_LIB_PRIVATE N_NIMCALL(tySequence__oLpBKXzW3hF9aCVMo5EymfQ*, getElems__pureZjson_207)(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* n, tySequence__oLpBKXzW3hF9aCVMo5EymfQ* default_0) {
1433 	tySequence__oLpBKXzW3hF9aCVMo5EymfQ* result;
1434 {	result = NIM_NIL;
1435 	{
1436 		NIM_BOOL T3_;
1437 		T3_ = (NIM_BOOL)0;
1438 		T3_ = (n == 0);
1439 		if (T3_) goto LA4_;
1440 		T3_ = !(((*n).kind == ((tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg) 6)));
1441 		LA4_: ;
1442 		if (!T3_) goto LA5_;
1443 		genericSeqAssign((&result), default_0, (&NTIseqLjsonnodeT__oLpBKXzW3hF9aCVMo5EymfQ_));
1444 		goto BeforeRet_;
1445 	}
1446 	goto LA1_;
1447 	LA5_: ;
1448 	{
1449 		genericSeqAssign((&result), (*n)._kind_7.elems, (&NTIseqLjsonnodeT__oLpBKXzW3hF9aCVMo5EymfQ_));
1450 		goto BeforeRet_;
1451 	}
1452 	LA1_: ;
1453 	}BeforeRet_: ;
1454 	return result;
1455 }
N_NIMCALL(void,initFromJson__pureZjson_5264)1456 N_LIB_PRIVATE N_NIMCALL(void, initFromJson__pureZjson_5264)(NIM_BOOL* dst, tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* jsonNode, NimStringDesc** jsonPath) {
1457 	{
1458 		NIM_BOOL T3_;
1459 		tyObject_KeyError__t7nhKLvXTQS9cS8ByJU9bIag* T6_;
1460 		NimStringDesc* T7_;
1461 		T3_ = (NIM_BOOL)0;
1462 		T3_ = eqeq___pureZjson_2044(jsonNode, ((tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*) NIM_NIL));
1463 		if (!T3_) goto LA4_;
1464 		T6_ = NIM_NIL;
1465 		T6_ = (tyObject_KeyError__t7nhKLvXTQS9cS8ByJU9bIag*) newObj((&NTIrefkeyerror__8SzoIAgLw9ci2v0yafHj9b6Q_), sizeof(tyObject_KeyError__t7nhKLvXTQS9cS8ByJU9bIag));
1466 		(*T6_).Sup.Sup.Sup.Sup.m_type = (&NTIkeyerror__t7nhKLvXTQS9cS8ByJU9bIag_);
1467 		(*T6_).Sup.Sup.Sup.name = "KeyError";
1468 		T7_ = NIM_NIL;
1469 		T7_ = rawNewString(((*jsonPath) ? (*jsonPath)->Sup.len : 0) + 15);
1470 appendString(T7_, ((NimStringDesc*) &TM__9b9bytt1stv9cZ8uqII7HFgew_25));
1471 appendString(T7_, (*jsonPath));
1472 		asgnRef((void**) (&(*T6_).Sup.Sup.Sup.message), T7_);
1473 		asgnRef((void**) (&(*T6_).Sup.Sup.Sup.parent), ((Exception*) NIM_NIL));
1474 		raiseExceptionEx((Exception*)T6_, "KeyError", "initFromJson", "json.nim", 1050);
1475 	}
1476 	goto LA1_;
1477 	LA4_: ;
1478 	{
1479 		NimStringDesc* msgX60gensym100_;
1480 		tyArray__24KAM9afIUgUaqBaEBB6r9bg T11_;
1481 		tyObject_JsonKindError__GezlryuJLt9aOJ0RpuN6G8g* T12_;
1482 		NimStringDesc* T13_;
1483 		if (!!(((2 &((NU8)1<<((NU)((*jsonNode).kind)&7U)))!=0))) goto LA9_;
1484 		nimZeroMem((void*)T11_, sizeof(tyArray__24KAM9afIUgUaqBaEBB6r9bg));
1485 		T11_[0] = dollar___pureZjson_5339(2);
1486 		T11_[1] = copyString((*jsonPath));
1487 		T11_[2] = reprEnum((NI)(*jsonNode).kind, (&NTIjsonnodekind__RUngo7nCHe6O8aBGIcrhtg_));
1488 		msgX60gensym100_ = nsuFormatOpenArray(((NimStringDesc*) &TM__9b9bytt1stv9cZ8uqII7HFgew_26), T11_, 3);
1489 		T12_ = NIM_NIL;
1490 		T12_ = (tyObject_JsonKindError__GezlryuJLt9aOJ0RpuN6G8g*) newObj((&NTIrefjsonkinderror__tn3kJ9cInprO2X2FSPir4WQ_), sizeof(tyObject_JsonKindError__GezlryuJLt9aOJ0RpuN6G8g));
1491 		(*T12_).Sup.Sup.Sup.Sup.m_type = (&NTIjsonkinderror__GezlryuJLt9aOJ0RpuN6G8g_);
1492 		(*T12_).Sup.Sup.Sup.name = "JsonKindError";
1493 		T13_ = NIM_NIL;
1494 		T13_ = (*T12_).Sup.Sup.Sup.message; (*T12_).Sup.Sup.Sup.message = copyStringRC1(msgX60gensym100_);
1495 		if (T13_) nimGCunrefNoCycle(T13_);
1496 		asgnRef((void**) (&(*T12_).Sup.Sup.Sup.parent), ((Exception*) NIM_NIL));
1497 		raiseExceptionEx((Exception*)T12_, "JsonKindError", "initFromJson", "json.nim", 1057);
1498 	}
1499 	goto LA1_;
1500 	LA9_: ;
1501 	LA1_: ;
1502 	(*dst) = (*jsonNode)._kind_4.bval;
1503 }
N_INLINE(void,pushSafePoint)1504 static N_INLINE(void, pushSafePoint)(TSafePoint* s) {
1505 	(*s).prev = excHandler__system_2565;
1506 	excHandler__system_2565 = s;
1507 }
N_NIMCALL(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q *,newJStringMove__pureZjson_78)1508 N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*, newJStringMove__pureZjson_78)(NimStringDesc* s) {
1509 	tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* result;
1510 	tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* T1_;
1511 	result = NIM_NIL;
1512 	T1_ = NIM_NIL;
1513 	T1_ = (tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*) newObj((&NTIjsonnode__zfzzuQ8txrdZAYK0WGWpHg_), sizeof(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q));
1514 	(*T1_).kind = ((tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg) 4);
1515 	result = T1_;
1516 	asgnRef((void**) (&(*result)._kind_1.str), s);
1517 	return result;
1518 }
N_NIMCALL(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q *,newJRawNumber__pureZjson_75)1519 N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*, newJRawNumber__pureZjson_75)(NimStringDesc* s) {
1520 	tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* result;
1521 	tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* T1_;
1522 	NimStringDesc* T2_;
1523 	result = NIM_NIL;
1524 	T1_ = NIM_NIL;
1525 	T1_ = (tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*) newObj((&NTIjsonnode__zfzzuQ8txrdZAYK0WGWpHg_), sizeof(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q));
1526 	(*T1_).kind = ((tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg) 4);
1527 	T2_ = NIM_NIL;
1528 	T2_ = (*T1_)._kind_1.str; (*T1_)._kind_1.str = copyStringRC1(s);
1529 	if (T2_) nimGCunrefNoCycle(T2_);
1530 	(*T1_).isUnquoted = NIM_TRUE;
1531 	result = T1_;
1532 	return result;
1533 }
N_NIMCALL(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q *,newJInt__pureZjson_81)1534 N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*, newJInt__pureZjson_81)(NI64 n) {
1535 	tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* result;
1536 	tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* T1_;
1537 	result = NIM_NIL;
1538 	T1_ = NIM_NIL;
1539 	T1_ = (tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*) newObj((&NTIjsonnode__zfzzuQ8txrdZAYK0WGWpHg_), sizeof(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q));
1540 	(*T1_).kind = ((tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg) 2);
1541 	(*T1_)._kind_2.num = n;
1542 	result = T1_;
1543 	return result;
1544 }
N_INLINE(void,popSafePoint)1545 static N_INLINE(void, popSafePoint)(void) {
1546 	excHandler__system_2565 = (*excHandler__system_2565).prev;
1547 }
N_INLINE(Exception *,nimBorrowCurrentException)1548 static N_INLINE(Exception*, nimBorrowCurrentException)(void) {
1549 	Exception* result;
1550 	result = NIM_NIL;
1551 	result = currException__system_2566;
1552 	return result;
1553 }
N_INLINE(void,popCurrentException)1554 static N_INLINE(void, popCurrentException)(void) {
1555 	asgnRef((void**) (&currException__system_2566), (*currException__system_2566).up);
1556 }
N_NIMCALL(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q *,newJFloat__pureZjson_84)1557 N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*, newJFloat__pureZjson_84)(NF n) {
1558 	tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* result;
1559 	tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* T1_;
1560 	result = NIM_NIL;
1561 	T1_ = NIM_NIL;
1562 	T1_ = (tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*) newObj((&NTIjsonnode__zfzzuQ8txrdZAYK0WGWpHg_), sizeof(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q));
1563 	(*T1_).kind = ((tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg) 3);
1564 	(*T1_)._kind_3.fnum = n;
1565 	result = T1_;
1566 	return result;
1567 }
N_NIMCALL(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q *,newJBool__pureZjson_87)1568 N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*, newJBool__pureZjson_87)(NIM_BOOL b) {
1569 	tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* result;
1570 	tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* T1_;
1571 	result = NIM_NIL;
1572 	T1_ = NIM_NIL;
1573 	T1_ = (tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*) newObj((&NTIjsonnode__zfzzuQ8txrdZAYK0WGWpHg_), sizeof(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q));
1574 	(*T1_).kind = ((tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg) 1);
1575 	(*T1_)._kind_4.bval = b;
1576 	result = T1_;
1577 	return result;
1578 }
N_NIMCALL(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q *,newJNull__pureZjson_90)1579 N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*, newJNull__pureZjson_90)(void) {
1580 	tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* result;
1581 	tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* T1_;
1582 	result = NIM_NIL;
1583 	T1_ = NIM_NIL;
1584 	T1_ = (tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*) newObj((&NTIjsonnode__zfzzuQ8txrdZAYK0WGWpHg_), sizeof(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q));
1585 	(*T1_).kind = ((tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg) 0);
1586 	result = T1_;
1587 	return result;
1588 }
N_INLINE(NI,slotsNeeded__pureZcollectionsZtables_42)1589 static N_INLINE(NI, slotsNeeded__pureZcollectionsZtables_42)(NI count) {
1590 	NI result;
1591 	result = (NI)0;
1592 	result = nextPowerOfTwo__pureZmath_176((NI)((NI)((NI)(((NI) (count)) * ((NI) 3)) / ((NI) 2)) + ((NI) 4)));
1593 	return result;
1594 }
N_NIMCALL(void,initOrderedTable__pureZjson_94)1595 N_LIB_PRIVATE N_NIMCALL(void, initOrderedTable__pureZjson_94)(NI initialSize, tyObject_OrderedTable__ZZvSdVkA2s2sIyifu4cpkg* Result) {
1596 	NI correctSizeX60gensym0_;
1597 	unsureAsgnRef((void**)&(*Result).data, NIM_NIL);
1598 	(*Result).counter = 0;
1599 	(*Result).first = 0;
1600 	(*Result).last = 0;
1601 	correctSizeX60gensym0_ = slotsNeeded__pureZcollectionsZtables_42(((NI) (initialSize)));
1602 	(*Result).counter = ((NI) 0);
1603 	unsureAsgnRef((void**) (&(*Result).data), (tySequence__MlAD6nAPq9bHKla9cWiIZP0g*) newSeq((&NTIorderedkeyvaluepairseq__MlAD6nAPq9bHKla9cWiIZP0g_), ((NI) (correctSizeX60gensym0_))));
1604 	(*Result).first = ((NI) -1);
1605 	(*Result).last = ((NI) -1);
1606 }
N_NIMCALL(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q *,newJObject__pureZjson_92)1607 N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*, newJObject__pureZjson_92)(void) {
1608 	tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* result;
1609 	tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* T1_;
1610 	result = NIM_NIL;
1611 	T1_ = NIM_NIL;
1612 	T1_ = (tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*) newObj((&NTIjsonnode__zfzzuQ8txrdZAYK0WGWpHg_), sizeof(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q));
1613 	(*T1_).kind = ((tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg) 5);
1614 	initOrderedTable__pureZjson_94(((NI) 2), (&(*T1_)._kind_6.fields));
1615 	result = T1_;
1616 	return result;
1617 }
N_INLINE(NIM_BOOL,mustRehash__pureZjson_692)1618 static N_INLINE(NIM_BOOL, mustRehash__pureZjson_692)(tyObject_OrderedTable__ZZvSdVkA2s2sIyifu4cpkg t) {
1619 	NIM_BOOL result;
1620 	NIM_BOOL T1_;
1621 	NI T2_;
1622 	NI T4_;
1623 	result = (NIM_BOOL)0;
1624 	T1_ = (NIM_BOOL)0;
1625 	T2_ = (t.data ? t.data->Sup.len : 0);
1626 	T1_ = ((NI)(T2_ * ((NI) 2)) < (NI)(t.counter * ((NI) 3)));
1627 	if (T1_) goto LA3_;
1628 	T4_ = (t.data ? t.data->Sup.len : 0);
1629 	T1_ = ((NI)(T4_ - t.counter) < ((NI) 4));
1630 	LA3_: ;
1631 	result = T1_;
1632 	return result;
1633 }
N_NIMCALL(void,rawInsert__pureZjson_1264)1634 N_LIB_PRIVATE N_NIMCALL(void, rawInsert__pureZjson_1264)(tyObject_OrderedTable__ZZvSdVkA2s2sIyifu4cpkg* t, tySequence__MlAD6nAPq9bHKla9cWiIZP0g** data, NimStringDesc* key, tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* val, NI hc, NI h) {
1635 	NimStringDesc* T1_;
1636 	T1_ = NIM_NIL;
1637 	T1_ = (*data)->data[h].Field2; (*data)->data[h].Field2 = copyStringRC1(key);
1638 	if (T1_) nimGCunrefNoCycle(T1_);
1639 	asgnRef((void**) (&(*data)->data[h].Field3), val);
1640 	(*data)->data[h].Field0 = hc;
1641 	(*data)->data[h].Field1 = ((NI) -1);
1642 	{
1643 		if (!((*t).first < ((NI) 0))) goto LA4_;
1644 		(*t).first = h;
1645 	}
1646 	LA4_: ;
1647 	{
1648 		if (!(((NI) 0) <= (*t).last)) goto LA8_;
1649 		(*data)->data[(*t).last].Field1 = h;
1650 	}
1651 	LA8_: ;
1652 	(*t).last = h;
1653 }
N_NIMCALL(void,enlarge__pureZjson_853)1654 N_LIB_PRIVATE N_NIMCALL(void, enlarge__pureZjson_853)(tyObject_OrderedTable__ZZvSdVkA2s2sIyifu4cpkg* t) {
1655 	tySequence__MlAD6nAPq9bHKla9cWiIZP0g* n;
1656 	NI T1_;
1657 	NI h;
1658 	tySequence__MlAD6nAPq9bHKla9cWiIZP0g* T2_;
1659 	n = NIM_NIL;
1660 	T1_ = ((*t).data ? (*t).data->Sup.len : 0);
1661 	n = (tySequence__MlAD6nAPq9bHKla9cWiIZP0g*) newSeq((&NTIorderedkeyvaluepairseq__MlAD6nAPq9bHKla9cWiIZP0g_), ((NI) ((NI)(T1_ * ((NI) 2)))));
1662 	h = (*t).first;
1663 	(*t).first = ((NI) -1);
1664 	(*t).last = ((NI) -1);
1665 	T2_ = NIM_NIL;
1666 	T2_ = (*t).data;
1667 	unsureAsgnRef((void**) (&(*t).data), n);
1668 	n = T2_;
1669 	{
1670 		while (1) {
1671 			NI nxt;
1672 			NI eh;
1673 			if (!(((NI) 0) <= h)) goto LA4;
1674 			nxt = n->data[h].Field1;
1675 			eh = n->data[h].Field0;
1676 			{
1677 				NIM_BOOL T7_;
1678 				NI j;
1679 				NI T10_;
1680 				NimStringDesc* T15_;
1681 				tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* T16_;
1682 				T7_ = (NIM_BOOL)0;
1683 				T7_ = isFilled__pureZcollectionsZtables_31(eh);
1684 				if (!T7_) goto LA8_;
1685 				T10_ = (((*t).data ? (*t).data->Sup.len : 0)-1);
1686 				j = (NI)(eh & T10_);
1687 				{
1688 					while (1) {
1689 						NIM_BOOL T13_;
1690 						NI T14_;
1691 						T13_ = (NIM_BOOL)0;
1692 						T13_ = isFilled__pureZcollectionsZtables_31((*t).data->data[j].Field0);
1693 						if (!T13_) goto LA12;
1694 						T14_ = (((*t).data ? (*t).data->Sup.len : 0)-1);
1695 						j = nextTry__pureZcollectionsZtables_34(j, T14_);
1696 					} LA12: ;
1697 				}
1698 				T15_ = NIM_NIL;
1699 				T15_ = n->data[h].Field2;
1700 				asgnRef((void**) (&n->data[h].Field2), NIM_NIL);
1701 				T16_ = NIM_NIL;
1702 				T16_ = n->data[h].Field3;
1703 				asgnRef((void**) (&n->data[h].Field3), NIM_NIL);
1704 				rawInsert__pureZjson_1264(t, (&(*t).data), T15_, T16_, n->data[h].Field0, j);
1705 			}
1706 			LA8_: ;
1707 			h = nxt;
1708 		} LA4: ;
1709 	}
1710 }
N_NIMCALL(NI,rawGetKnownHC__pureZjson_1546)1711 N_LIB_PRIVATE N_NIMCALL(NI, rawGetKnownHC__pureZjson_1546)(tyObject_OrderedTable__ZZvSdVkA2s2sIyifu4cpkg t, NimStringDesc* key, NI hc) {
1712 	NI result;
1713 	NI h;
1714 	NI T6_;
1715 {	result = (NI)0;
1716 	{
1717 		NI T3_;
1718 		T3_ = (t.data ? t.data->Sup.len : 0);
1719 		if (!(T3_ == ((NI) 0))) goto LA4_;
1720 		result = ((NI) -1);
1721 		goto BeforeRet_;
1722 	}
1723 	LA4_: ;
1724 	T6_ = ((t.data ? t.data->Sup.len : 0)-1);
1725 	h = (NI)(hc & T6_);
1726 	{
1727 		while (1) {
1728 			NIM_BOOL T9_;
1729 			NI T16_;
1730 			T9_ = (NIM_BOOL)0;
1731 			T9_ = isFilled__pureZcollectionsZtables_31(t.data->data[h].Field0);
1732 			if (!T9_) goto LA8;
1733 			{
1734 				NIM_BOOL T12_;
1735 				T12_ = (NIM_BOOL)0;
1736 				T12_ = (t.data->data[h].Field0 == hc);
1737 				if (!(T12_)) goto LA13_;
1738 				T12_ = eqStrings(t.data->data[h].Field2, key);
1739 				LA13_: ;
1740 				if (!T12_) goto LA14_;
1741 				result = h;
1742 				goto BeforeRet_;
1743 			}
1744 			LA14_: ;
1745 			T16_ = ((t.data ? t.data->Sup.len : 0)-1);
1746 			h = nextTry__pureZcollectionsZtables_34(h, T16_);
1747 		} LA8: ;
1748 	}
1749 	result = (NI)(((NI) -1) - h);
1750 	}BeforeRet_: ;
1751 	return result;
1752 }
N_NIMCALL(void,X5BX5Deq___pureZjson_287)1753 N_LIB_PRIVATE N_NIMCALL(void, X5BX5Deq___pureZjson_287)(tyObject_OrderedTable__ZZvSdVkA2s2sIyifu4cpkg* t, NimStringDesc* key, tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* val) {
1754 	NI hc;
1755 	NI index;
1756 	{
1757 		NI T3_;
1758 		NI correctSizeX60gensym13_;
1759 		T3_ = ((*t).data ? (*t).data->Sup.len : 0);
1760 		if (!(T3_ == ((NI) 0))) goto LA4_;
1761 		correctSizeX60gensym13_ = slotsNeeded__pureZcollectionsZtables_42(((NI) 32));
1762 		(*t).counter = ((NI) 0);
1763 		unsureAsgnRef((void**) (&(*t).data), (tySequence__MlAD6nAPq9bHKla9cWiIZP0g*) newSeq((&NTIorderedkeyvaluepairseq__MlAD6nAPq9bHKla9cWiIZP0g_), ((NI) (correctSizeX60gensym13_))));
1764 		(*t).first = ((NI) -1);
1765 		(*t).last = ((NI) -1);
1766 	}
1767 	LA4_: ;
1768 	hc = (NI)0;
1769 	index = rawGet__pureZjson_356((*t), key, (&hc));
1770 	{
1771 		if (!(((NI) 0) <= index)) goto LA8_;
1772 		asgnRef((void**) (&(*t).data->data[index].Field3), val);
1773 	}
1774 	goto LA6_;
1775 	LA8_: ;
1776 	{
1777 		{
1778 			NI T13_;
1779 			NI correctSizeX60gensym18_;
1780 			T13_ = ((*t).data ? (*t).data->Sup.len : 0);
1781 			if (!(T13_ == ((NI) 0))) goto LA14_;
1782 			correctSizeX60gensym18_ = slotsNeeded__pureZcollectionsZtables_42(((NI) 32));
1783 			(*t).counter = ((NI) 0);
1784 			unsureAsgnRef((void**) (&(*t).data), (tySequence__MlAD6nAPq9bHKla9cWiIZP0g*) newSeq((&NTIorderedkeyvaluepairseq__MlAD6nAPq9bHKla9cWiIZP0g_), ((NI) (correctSizeX60gensym18_))));
1785 			(*t).first = ((NI) -1);
1786 			(*t).last = ((NI) -1);
1787 		}
1788 		LA14_: ;
1789 		{
1790 			NIM_BOOL T18_;
1791 			T18_ = (NIM_BOOL)0;
1792 			T18_ = mustRehash__pureZjson_692((*t));
1793 			if (!T18_) goto LA19_;
1794 			enlarge__pureZjson_853(t);
1795 			index = rawGetKnownHC__pureZjson_1546((*t), key, hc);
1796 		}
1797 		LA19_: ;
1798 		index = (NI)(((NI) -1) - index);
1799 		rawInsert__pureZjson_1264(t, (&(*t).data), key, val, hc, index);
1800 		(*t).counter += ((NI) 1);
1801 	}
1802 	LA6_: ;
1803 }
N_INLINE(void,X5BX5Deq___pureZjson_1923)1804 static N_INLINE(void, X5BX5Deq___pureZjson_1923)(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* obj, NimStringDesc* key, tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* val) {
1805 	X5BX5Deq___pureZjson_287((&(*obj)._kind_6.fields), key, val);
1806 }
N_INLINE(void,nimGCunrefRC1)1807 static N_INLINE(void, nimGCunrefRC1)(void* p) {
1808 	tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T1_;
1809 	T1_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
1810 	T1_ = usrToCell__system_5291(p);
1811 	decRef__system_5336(T1_);
1812 }
N_NIMCALL(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q *,newJArray__pureZjson_123)1813 N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*, newJArray__pureZjson_123)(void) {
1814 	tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* result;
1815 	tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* T1_;
1816 	result = NIM_NIL;
1817 	T1_ = NIM_NIL;
1818 	T1_ = (tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*) newObj((&NTIjsonnode__zfzzuQ8txrdZAYK0WGWpHg_), sizeof(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q));
1819 	(*T1_).kind = ((tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg) 6);
1820 	if ((*T1_)._kind_7.elems) { nimGCunrefRC1((*T1_)._kind_7.elems); (*T1_)._kind_7.elems = NIM_NIL; }
1821 	result = T1_;
1822 	return result;
1823 }
N_NIMCALL(void,add__pureZjson_222)1824 N_LIB_PRIVATE N_NIMCALL(void, add__pureZjson_222)(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* father, tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* child) {
1825 	NI T1_;
1826 	asgnRef((void**) (&(*father)._kind_7.elems), (tySequence__oLpBKXzW3hF9aCVMo5EymfQ*) incrSeqV3((TGenericSeq*)((*father)._kind_7.elems), (&NTIseqLjsonnodeT__oLpBKXzW3hF9aCVMo5EymfQ_)));
1827 	T1_ = (*father)._kind_7.elems->Sup.len++;
1828 	asgnRef((void**) (&(*father)._kind_7.elems->data[T1_]), child);
1829 }
N_NIMCALL(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q *,parseJson__pureZjson_5178)1830 N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*, parseJson__pureZjson_5178)(tyObject_JsonParser__KWIQnzXEOUqdWsnCUL9atyQ* p, NIM_BOOL rawIntegers, NIM_BOOL rawFloats, NI depth) {
1831 	tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* volatile result;
1832 	result = NIM_NIL;
1833 	switch ((*p).tok) {
1834 	case ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw) 2):
1835 	{
1836 		tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw T2_;
1837 		result = newJStringMove__pureZjson_78((*p).a);
1838 		unsureAsgnRef((void**) (&(*p).a), ((NimStringDesc*) NIM_NIL));
1839 		T2_ = (tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw)0;
1840 		T2_ = getTok__pureZparsejson_425(p);
1841 		(void)(T2_);
1842 	}
1843 	break;
1844 	case ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw) 3):
1845 	{
1846 		tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw T12_;
1847 		{
1848 			if (!rawIntegers) goto LA6_;
1849 			result = newJRawNumber__pureZjson_75((*p).a);
1850 		}
1851 		goto LA4_;
1852 		LA6_: ;
1853 		{
1854 			TSafePoint TM__9b9bytt1stv9cZ8uqII7HFgew_33;
1855 			NI64 T9_;
1856 			pushSafePoint(&TM__9b9bytt1stv9cZ8uqII7HFgew_33);
1857 			TM__9b9bytt1stv9cZ8uqII7HFgew_33.status = setjmp(TM__9b9bytt1stv9cZ8uqII7HFgew_33.context);
1858 			if (TM__9b9bytt1stv9cZ8uqII7HFgew_33.status == 0) {
1859 			T9_ = (NI64)0;
1860 			T9_ = nsuParseBiggestInt((*p).a);
1861 			result = newJInt__pureZjson_81(T9_);
1862 			popSafePoint();
1863 			}
1864 			else {
1865 				popSafePoint();
1866 				if (isObj(nimBorrowCurrentException()->Sup.m_type, (&NTIvalueerror__yoNlBGx0D2tRizIdhQuENw_))) {
1867 					TM__9b9bytt1stv9cZ8uqII7HFgew_33.status = 0;
1868 					result = newJRawNumber__pureZjson_75((*p).a);
1869 					popCurrentException();
1870 				}
1871 			}
1872 			if (TM__9b9bytt1stv9cZ8uqII7HFgew_33.status != 0) reraiseException();
1873 		}
1874 		LA4_: ;
1875 		T12_ = (tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw)0;
1876 		T12_ = getTok__pureZparsejson_425(p);
1877 		(void)(T12_);
1878 	}
1879 	break;
1880 	case ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw) 4):
1881 	{
1882 		tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw T22_;
1883 		{
1884 			if (!rawFloats) goto LA16_;
1885 			result = newJRawNumber__pureZjson_75((*p).a);
1886 		}
1887 		goto LA14_;
1888 		LA16_: ;
1889 		{
1890 			TSafePoint TM__9b9bytt1stv9cZ8uqII7HFgew_34;
1891 			NF T19_;
1892 			pushSafePoint(&TM__9b9bytt1stv9cZ8uqII7HFgew_34);
1893 			TM__9b9bytt1stv9cZ8uqII7HFgew_34.status = setjmp(TM__9b9bytt1stv9cZ8uqII7HFgew_34.context);
1894 			if (TM__9b9bytt1stv9cZ8uqII7HFgew_34.status == 0) {
1895 			T19_ = (NF)0;
1896 			T19_ = nsuParseFloat((*p).a);
1897 			result = newJFloat__pureZjson_84(T19_);
1898 			popSafePoint();
1899 			}
1900 			else {
1901 				popSafePoint();
1902 				if (isObj(nimBorrowCurrentException()->Sup.m_type, (&NTIvalueerror__yoNlBGx0D2tRizIdhQuENw_))) {
1903 					TM__9b9bytt1stv9cZ8uqII7HFgew_34.status = 0;
1904 					result = newJRawNumber__pureZjson_75((*p).a);
1905 					popCurrentException();
1906 				}
1907 			}
1908 			if (TM__9b9bytt1stv9cZ8uqII7HFgew_34.status != 0) reraiseException();
1909 		}
1910 		LA14_: ;
1911 		T22_ = (tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw)0;
1912 		T22_ = getTok__pureZparsejson_425(p);
1913 		(void)(T22_);
1914 	}
1915 	break;
1916 	case ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw) 5):
1917 	{
1918 		tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw T24_;
1919 		result = newJBool__pureZjson_87(NIM_TRUE);
1920 		T24_ = (tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw)0;
1921 		T24_ = getTok__pureZparsejson_425(p);
1922 		(void)(T24_);
1923 	}
1924 	break;
1925 	case ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw) 6):
1926 	{
1927 		tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw T26_;
1928 		result = newJBool__pureZjson_87(NIM_FALSE);
1929 		T26_ = (tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw)0;
1930 		T26_ = getTok__pureZparsejson_425(p);
1931 		(void)(T26_);
1932 	}
1933 	break;
1934 	case ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw) 7):
1935 	{
1936 		tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw T28_;
1937 		result = newJNull__pureZjson_90();
1938 		T28_ = (tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw)0;
1939 		T28_ = getTok__pureZparsejson_425(p);
1940 		(void)(T28_);
1941 	}
1942 	break;
1943 	case ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw) 8):
1944 	{
1945 		tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw T34_;
1946 		{
1947 			if (!(((NI) 1000) < depth)) goto LA32_;
1948 			raiseParseErr__pureZparsejson_580((&(*p)), ((NimStringDesc*) &TM__9b9bytt1stv9cZ8uqII7HFgew_18));
1949 		}
1950 		LA32_: ;
1951 		result = newJObject__pureZjson_92();
1952 		T34_ = (tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw)0;
1953 		T34_ = getTok__pureZparsejson_425(p);
1954 		(void)(T34_);
1955 		{
1956 			while (1) {
1957 				NimStringDesc* key;
1958 				tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw T41_;
1959 				tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* val;
1960 				tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw T46_;
1961 				if (!!(((*p).tok == ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw) 9)))) goto LA36;
1962 				{
1963 					if (!!(((*p).tok == ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw) 2)))) goto LA39_;
1964 					raiseParseErr__pureZparsejson_580((&(*p)), ((NimStringDesc*) &TM__9b9bytt1stv9cZ8uqII7HFgew_35));
1965 				}
1966 				LA39_: ;
1967 				key = copyString((*p).a);
1968 				T41_ = (tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw)0;
1969 				T41_ = getTok__pureZparsejson_425(p);
1970 				(void)(T41_);
1971 				eat__pureZparsejson_602(p, ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw) 12));
1972 				val = parseJson__pureZjson_5178(p, rawIntegers, rawFloats, (NI)(depth + ((NI) 1)));
1973 				X5BX5Deq___pureZjson_1923(result, key, val);
1974 				{
1975 					if (!!(((*p).tok == ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw) 13)))) goto LA44_;
1976 					goto LA35;
1977 				}
1978 				LA44_: ;
1979 				T46_ = (tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw)0;
1980 				T46_ = getTok__pureZparsejson_425(p);
1981 				(void)(T46_);
1982 			} LA36: ;
1983 		} LA35: ;
1984 		eat__pureZparsejson_602(p, ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw) 9));
1985 	}
1986 	break;
1987 	case ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw) 10):
1988 	{
1989 		tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw T52_;
1990 		{
1991 			if (!(((NI) 1000) < depth)) goto LA50_;
1992 			raiseParseErr__pureZparsejson_580((&(*p)), ((NimStringDesc*) &TM__9b9bytt1stv9cZ8uqII7HFgew_15));
1993 		}
1994 		LA50_: ;
1995 		result = newJArray__pureZjson_123();
1996 		T52_ = (tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw)0;
1997 		T52_ = getTok__pureZparsejson_425(p);
1998 		(void)(T52_);
1999 		{
2000 			while (1) {
2001 				tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* T55_;
2002 				tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw T60_;
2003 				if (!!(((*p).tok == ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw) 11)))) goto LA54;
2004 				T55_ = NIM_NIL;
2005 				T55_ = parseJson__pureZjson_5178(p, rawIntegers, rawFloats, (NI)(depth + ((NI) 1)));
2006 				add__pureZjson_222(result, T55_);
2007 				{
2008 					if (!!(((*p).tok == ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw) 13)))) goto LA58_;
2009 					goto LA53;
2010 				}
2011 				LA58_: ;
2012 				T60_ = (tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw)0;
2013 				T60_ = getTok__pureZparsejson_425(p);
2014 				(void)(T60_);
2015 			} LA54: ;
2016 		} LA53: ;
2017 		eat__pureZparsejson_602(p, ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw) 11));
2018 	}
2019 	break;
2020 	case ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw) 0):
2021 	case ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw) 9):
2022 	case ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw) 11):
2023 	case ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw) 12):
2024 	case ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw) 13):
2025 	case ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw) 1):
2026 	{
2027 		raiseParseErr__pureZparsejson_580((&(*p)), ((NimStringDesc*) &TM__9b9bytt1stv9cZ8uqII7HFgew_16));
2028 	}
2029 	break;
2030 	}
2031 	return result;
2032 }
N_INLINE(void,close__pureZparsejson_151)2033 static N_INLINE(void, close__pureZparsejson_151)(tyObject_JsonParser__KWIQnzXEOUqdWsnCUL9atyQ* my) {
2034 	close__pureZlexbase_14(&my->Sup);
2035 }
N_NIMCALL(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q *,parseJson__pureZjson_5216)2036 N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*, parseJson__pureZjson_5216)(tyObject_StreamObj__THYguAi9bSgidczZ3ywEIMQ* s, NimStringDesc* filename, NIM_BOOL rawIntegers, NIM_BOOL rawFloats) {
2037 	tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* volatile result;
2038 	tyObject_JsonParser__KWIQnzXEOUqdWsnCUL9atyQ p;
2039 	TSafePoint TM__9b9bytt1stv9cZ8uqII7HFgew_32;
2040 	tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw T1_;
2041 	result = NIM_NIL;
2042 	nimZeroMem((void*)(&p), sizeof(tyObject_JsonParser__KWIQnzXEOUqdWsnCUL9atyQ));
2043 	p.Sup.Sup.m_type = (&NTIjsonparser__KWIQnzXEOUqdWsnCUL9atyQ_);
2044 	open__pureZparsejson_97((&p), s, filename, NIM_FALSE);
2045 	pushSafePoint(&TM__9b9bytt1stv9cZ8uqII7HFgew_32);
2046 	TM__9b9bytt1stv9cZ8uqII7HFgew_32.status = setjmp(TM__9b9bytt1stv9cZ8uqII7HFgew_32.context);
2047 	if (TM__9b9bytt1stv9cZ8uqII7HFgew_32.status == 0) {
2048 	T1_ = (tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw)0;
2049 	T1_ = getTok__pureZparsejson_425((&p));
2050 	(void)(T1_);
2051 	result = parseJson__pureZjson_5178((&p), rawIntegers, rawFloats, ((NI) 0));
2052 	eat__pureZparsejson_602((&p), ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw) 1));
2053 	popSafePoint();
2054 	}
2055 	else {
2056 		popSafePoint();
2057 	}
2058 	{
2059 		close__pureZparsejson_151((&p));
2060 		if (TM__9b9bytt1stv9cZ8uqII7HFgew_32.status != 0) nimLeaveFinally();
2061 	}
2062 	if (TM__9b9bytt1stv9cZ8uqII7HFgew_32.status != 0) reraiseException();
2063 	return result;
2064 }
N_NIMCALL(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q *,parseFile__pureZjson_5228)2065 N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*, parseFile__pureZjson_5228)(NimStringDesc* filename) {
2066 	tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* result;
2067 	tyObject_FileStreamObj__9bEVSsOIpkY9cf5lCtaS39bPQ* stream;
2068 	result = NIM_NIL;
2069 	stream = newFileStream__pureZstreams_832(filename, ((tyEnum_FileMode__ZJfK20XeZ9bv2j1pZjw9aswg) 0), ((NI) -1));
2070 	{
2071 		tyObject_IOError__iLZrPn9anoh9ad1MmO0RczFw* T5_;
2072 		NimStringDesc* T6_;
2073 		if (!(stream == ((tyObject_FileStreamObj__9bEVSsOIpkY9cf5lCtaS39bPQ*) NIM_NIL))) goto LA3_;
2074 		T5_ = NIM_NIL;
2075 		T5_ = (tyObject_IOError__iLZrPn9anoh9ad1MmO0RczFw*) newObj((&NTIrefioerror__HMIVdYjdZYWskTmTQVo5BQ_), sizeof(tyObject_IOError__iLZrPn9anoh9ad1MmO0RczFw));
2076 		(*T5_).Sup.Sup.Sup.m_type = (&NTIioerror__iLZrPn9anoh9ad1MmO0RczFw_);
2077 		(*T5_).Sup.Sup.name = "IOError";
2078 		T6_ = NIM_NIL;
2079 		T6_ = rawNewString((filename ? filename->Sup.len : 0) + 23);
2080 appendString(T6_, ((NimStringDesc*) &TM__9b9bytt1stv9cZ8uqII7HFgew_31));
2081 appendString(T6_, filename);
2082 		asgnRef((void**) (&(*T5_).Sup.Sup.message), T6_);
2083 		asgnRef((void**) (&(*T5_).Sup.Sup.parent), ((Exception*) NIM_NIL));
2084 		raiseExceptionEx((Exception*)T5_, "IOError", "parseFile", "json.nim", 1042);
2085 	}
2086 	LA3_: ;
2087 	result = parseJson__pureZjson_5216((*((tyObject_StreamObj__THYguAi9bSgidczZ3ywEIMQ**) (&(stream)))), filename, NIM_FALSE, NIM_FALSE);
2088 	return result;
2089 }
N_INLINE(NimStringDesc *,spaces__pureZstrutils_1029)2090 static N_INLINE(NimStringDesc*, spaces__pureZstrutils_1029)(NI n) {
2091 	NimStringDesc* result;
2092 	result = NIM_NIL;
2093 	result = nsuRepeatChar(32, n);
2094 	return result;
2095 }
N_NIMCALL(void,indent__pureZjson_4320)2096 N_LIB_PRIVATE N_NIMCALL(void, indent__pureZjson_4320)(NimStringDesc** s, NI i) {
2097 	NimStringDesc* T1_;
2098 	T1_ = NIM_NIL;
2099 	T1_ = spaces__pureZstrutils_1029(((NI) (i)));
2100 	unsureAsgnRef((void**) (&(*s)), resizeString((*s), (T1_ ? T1_->Sup.len : 0) + 0));
2101 appendString((*s), T1_);
2102 }
N_NIMCALL(void,nl__pureZjson_4328)2103 N_LIB_PRIVATE N_NIMCALL(void, nl__pureZjson_4328)(NimStringDesc** s, NIM_BOOL ml) {
2104 	NimStringDesc* T1_;
2105 	T1_ = NIM_NIL;
2106 	{
2107 		if (!ml) goto LA4_;
2108 		T1_ = copyString(((NimStringDesc*) &TM__9b9bytt1stv9cZ8uqII7HFgew_36));
2109 	}
2110 	goto LA2_;
2111 	LA4_: ;
2112 	{
2113 		T1_ = copyString(((NimStringDesc*) &TM__9b9bytt1stv9cZ8uqII7HFgew_37));
2114 	}
2115 	LA2_: ;
2116 	unsureAsgnRef((void**) (&(*s)), resizeString((*s), (T1_ ? T1_->Sup.len : 0) + 0));
2117 appendString((*s), T1_);
2118 }
N_NIMCALL(NI,newIndent__pureZjson_4323)2119 N_LIB_PRIVATE N_NIMCALL(NI, newIndent__pureZjson_4323)(NI curr, NI indent, NIM_BOOL ml) {
2120 	NI result;
2121 {	result = (NI)0;
2122 	{
2123 		if (!ml) goto LA3_;
2124 		result = (NI)(curr + indent);
2125 		goto BeforeRet_;
2126 	}
2127 	goto LA1_;
2128 	LA3_: ;
2129 	{
2130 		result = indent;
2131 		goto BeforeRet_;
2132 	}
2133 	LA1_: ;
2134 	}BeforeRet_: ;
2135 	return result;
2136 }
N_NIMCALL(void,toPretty__pureZjson_4380)2137 N_LIB_PRIVATE N_NIMCALL(void, toPretty__pureZjson_4380)(NimStringDesc** result, tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* node, NI indent, NIM_BOOL ml, NIM_BOOL lstArr, NI currIndent) {
2138 	switch ((*node).kind) {
2139 	case ((tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg) 5):
2140 	{
2141 		{
2142 			if (!lstArr) goto LA4_;
2143 			indent__pureZjson_4320(result, currIndent);
2144 		}
2145 		LA4_: ;
2146 		{
2147 			NI T8_;
2148 			NI i;
2149 			T8_ = (NI)0;
2150 			T8_ = len__pureZjson_2142((*node)._kind_6.fields);
2151 			if (!(((NI) 0) < T8_)) goto LA9_;
2152 			unsureAsgnRef((void**) (&(*result)), resizeString((*result), 1));
2153 appendString((*result), ((NimStringDesc*) &TM__9b9bytt1stv9cZ8uqII7HFgew_16));
2154 			nl__pureZjson_4328(result, ml);
2155 			i = ((NI) 0);
2156 			{
2157 				NimStringDesc* key;
2158 				tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* val;
2159 				tyObject_OrderedTable__ZZvSdVkA2s2sIyifu4cpkg colontmp_;
2160 				NI L;
2161 				key = NIM_NIL;
2162 				val = NIM_NIL;
2163 				nimZeroMem((void*)(&colontmp_), sizeof(tyObject_OrderedTable__ZZvSdVkA2s2sIyifu4cpkg));
2164 				colontmp_.data = (*node)._kind_6.fields.data;
2165 				colontmp_.counter = (*node)._kind_6.fields.counter;
2166 				colontmp_.first = (*node)._kind_6.fields.first;
2167 				colontmp_.last = (*node)._kind_6.fields.last;
2168 				L = len__pureZjson_2142(colontmp_);
2169 				{
2170 					NI h;
2171 					if (!(((NI) 0) < colontmp_.counter)) goto LA14_;
2172 					h = colontmp_.first;
2173 					{
2174 						while (1) {
2175 							NI nxt;
2176 							if (!(((NI) 0) <= h)) goto LA17;
2177 							nxt = colontmp_.data->data[h].Field1;
2178 							{
2179 								NIM_BOOL T20_;
2180 								NI T27_;
2181 								NI T28_;
2182 								T20_ = (NIM_BOOL)0;
2183 								T20_ = isFilled__pureZcollectionsZtables_31(colontmp_.data->data[h].Field0);
2184 								if (!T20_) goto LA21_;
2185 								key = colontmp_.data->data[h].Field2;
2186 								val = colontmp_.data->data[h].Field3;
2187 								{
2188 									if (!(((NI) 0) < i)) goto LA25_;
2189 									unsureAsgnRef((void**) (&(*result)), resizeString((*result), 1));
2190 appendString((*result), ((NimStringDesc*) &TM__9b9bytt1stv9cZ8uqII7HFgew_14));
2191 									nl__pureZjson_4328(result, ml);
2192 								}
2193 								LA25_: ;
2194 								i += ((NI) 1);
2195 								T27_ = (NI)0;
2196 								T27_ = newIndent__pureZjson_4323(currIndent, indent, ml);
2197 								indent__pureZjson_4320(result, T27_);
2198 								escapeJson__pureZjson_4352(key, result);
2199 								unsureAsgnRef((void**) (&(*result)), resizeString((*result), 2));
2200 appendString((*result), ((NimStringDesc*) &TM__9b9bytt1stv9cZ8uqII7HFgew_38));
2201 								T28_ = (NI)0;
2202 								T28_ = newIndent__pureZjson_4323(currIndent, indent, ml);
2203 								toPretty__pureZjson_4380(result, val, indent, ml, NIM_FALSE, T28_);
2204 							}
2205 							LA21_: ;
2206 							h = nxt;
2207 						} LA17: ;
2208 					}
2209 				}
2210 				LA14_: ;
2211 			}
2212 			nl__pureZjson_4328(result, ml);
2213 			indent__pureZjson_4320(result, currIndent);
2214 			unsureAsgnRef((void**) (&(*result)), resizeString((*result), 1));
2215 appendString((*result), ((NimStringDesc*) &TM__9b9bytt1stv9cZ8uqII7HFgew_18));
2216 		}
2217 		goto LA6_;
2218 		LA9_: ;
2219 		{
2220 			unsureAsgnRef((void**) (&(*result)), resizeString((*result), 2));
2221 appendString((*result), ((NimStringDesc*) &TM__9b9bytt1stv9cZ8uqII7HFgew_39));
2222 		}
2223 		LA6_: ;
2224 	}
2225 	break;
2226 	case ((tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg) 4):
2227 	{
2228 		{
2229 			if (!lstArr) goto LA33_;
2230 			indent__pureZjson_4320(result, currIndent);
2231 		}
2232 		LA33_: ;
2233 		toUgly__pureZjson_4362(result, node);
2234 	}
2235 	break;
2236 	case ((tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg) 2):
2237 	{
2238 		{
2239 			if (!lstArr) goto LA38_;
2240 			indent__pureZjson_4320(result, currIndent);
2241 		}
2242 		LA38_: ;
2243 		addInt__stdZprivateZdigitsutils_167(result, (*node)._kind_2.num);
2244 	}
2245 	break;
2246 	case ((tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg) 3):
2247 	{
2248 		{
2249 			if (!lstArr) goto LA43_;
2250 			indent__pureZjson_4320(result, currIndent);
2251 		}
2252 		LA43_: ;
2253 		addFloat__system_3122(result, (*node)._kind_3.fnum);
2254 	}
2255 	break;
2256 	case ((tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg) 1):
2257 	{
2258 		NimStringDesc* T50_;
2259 		{
2260 			if (!lstArr) goto LA48_;
2261 			indent__pureZjson_4320(result, currIndent);
2262 		}
2263 		LA48_: ;
2264 		T50_ = NIM_NIL;
2265 		{
2266 			if (!(*node)._kind_4.bval) goto LA53_;
2267 			T50_ = copyString(((NimStringDesc*) &TM__9b9bytt1stv9cZ8uqII7HFgew_19));
2268 		}
2269 		goto LA51_;
2270 		LA53_: ;
2271 		{
2272 			T50_ = copyString(((NimStringDesc*) &TM__9b9bytt1stv9cZ8uqII7HFgew_20));
2273 		}
2274 		LA51_: ;
2275 		unsureAsgnRef((void**) (&(*result)), resizeString((*result), (T50_ ? T50_->Sup.len : 0) + 0));
2276 appendString((*result), T50_);
2277 	}
2278 	break;
2279 	case ((tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg) 6):
2280 	{
2281 		{
2282 			if (!lstArr) goto LA59_;
2283 			indent__pureZjson_4320(result, currIndent);
2284 		}
2285 		LA59_: ;
2286 		{
2287 			NI T63_;
2288 			T63_ = ((*node)._kind_7.elems ? (*node)._kind_7.elems->Sup.len : 0);
2289 			if (!!((T63_ == ((NI) 0)))) goto LA64_;
2290 			unsureAsgnRef((void**) (&(*result)), resizeString((*result), 1));
2291 appendString((*result), ((NimStringDesc*) &TM__9b9bytt1stv9cZ8uqII7HFgew_13));
2292 			nl__pureZjson_4328(result, ml);
2293 			{
2294 				NI i_2;
2295 				NI colontmp__2;
2296 				NI T67_;
2297 				NI res;
2298 				i_2 = (NI)0;
2299 				colontmp__2 = (NI)0;
2300 				T67_ = ((*node)._kind_7.elems ? (*node)._kind_7.elems->Sup.len : 0);
2301 				colontmp__2 = (NI)(T67_ - ((NI) 1));
2302 				res = ((NI) 0);
2303 				{
2304 					while (1) {
2305 						NI T74_;
2306 						if (!(res <= colontmp__2)) goto LA69;
2307 						i_2 = res;
2308 						{
2309 							if (!(((NI) 0) < i_2)) goto LA72_;
2310 							unsureAsgnRef((void**) (&(*result)), resizeString((*result), 1));
2311 appendString((*result), ((NimStringDesc*) &TM__9b9bytt1stv9cZ8uqII7HFgew_14));
2312 							nl__pureZjson_4328(result, ml);
2313 						}
2314 						LA72_: ;
2315 						T74_ = (NI)0;
2316 						T74_ = newIndent__pureZjson_4323(currIndent, indent, ml);
2317 						toPretty__pureZjson_4380(result, (*node)._kind_7.elems->data[i_2], indent, ml, NIM_TRUE, T74_);
2318 						res += ((NI) 1);
2319 					} LA69: ;
2320 				}
2321 			}
2322 			nl__pureZjson_4328(result, ml);
2323 			indent__pureZjson_4320(result, currIndent);
2324 			unsureAsgnRef((void**) (&(*result)), resizeString((*result), 1));
2325 appendString((*result), ((NimStringDesc*) &TM__9b9bytt1stv9cZ8uqII7HFgew_15));
2326 		}
2327 		goto LA61_;
2328 		LA64_: ;
2329 		{
2330 			unsureAsgnRef((void**) (&(*result)), resizeString((*result), 2));
2331 appendString((*result), ((NimStringDesc*) &TM__9b9bytt1stv9cZ8uqII7HFgew_40));
2332 		}
2333 		LA61_: ;
2334 	}
2335 	break;
2336 	case ((tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg) 0):
2337 	{
2338 		{
2339 			if (!lstArr) goto LA79_;
2340 			indent__pureZjson_4320(result, currIndent);
2341 		}
2342 		LA79_: ;
2343 		unsureAsgnRef((void**) (&(*result)), resizeString((*result), 4));
2344 appendString((*result), ((NimStringDesc*) &TM__9b9bytt1stv9cZ8uqII7HFgew_21));
2345 	}
2346 	break;
2347 	}
2348 }
N_NIMCALL(NimStringDesc *,pretty__pureZjson_4461)2349 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, pretty__pureZjson_4461)(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* node, NI indent) {
2350 	NimStringDesc* result;
2351 	result = NIM_NIL;
2352 	result = ((NimStringDesc*) NIM_NIL);
2353 	toPretty__pureZjson_4380((&result), node, indent, NIM_TRUE, NIM_FALSE, ((NI) 0));
2354 	return result;
2355 }
N_NIMCALL(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q *,percent___pureZjson_1790)2356 N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*, percent___pureZjson_1790)(NimStringDesc* s) {
2357 	tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* result;
2358 	tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* T1_;
2359 	NimStringDesc* T2_;
2360 	result = NIM_NIL;
2361 	T1_ = NIM_NIL;
2362 	T1_ = (tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*) newObj((&NTIjsonnode__zfzzuQ8txrdZAYK0WGWpHg_), sizeof(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q));
2363 	(*T1_).kind = ((tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg) 4);
2364 	T2_ = NIM_NIL;
2365 	T2_ = (*T1_)._kind_1.str; (*T1_)._kind_1.str = copyStringRC1(s);
2366 	if (T2_) nimGCunrefNoCycle(T2_);
2367 	result = T1_;
2368 	return result;
2369 }
N_NIMCALL(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q *,percent___pureZjson_1816)2370 N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*, percent___pureZjson_1816)(NIM_BOOL b) {
2371 	tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* result;
2372 	tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* T1_;
2373 	result = NIM_NIL;
2374 	T1_ = NIM_NIL;
2375 	T1_ = (tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*) newObj((&NTIjsonnode__zfzzuQ8txrdZAYK0WGWpHg_), sizeof(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q));
2376 	(*T1_).kind = ((tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg) 1);
2377 	(*T1_)._kind_4.bval = b;
2378 	result = T1_;
2379 	return result;
2380 }
N_NIMCALL(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q *,percent___pureZjson_1800)2381 N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*, percent___pureZjson_1800)(NI n) {
2382 	tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* result;
2383 	tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* T1_;
2384 	result = NIM_NIL;
2385 	T1_ = NIM_NIL;
2386 	T1_ = (tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*) newObj((&NTIjsonnode__zfzzuQ8txrdZAYK0WGWpHg_), sizeof(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q));
2387 	(*T1_).kind = ((tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg) 2);
2388 	(*T1_)._kind_2.num = ((NI64) (n));
2389 	result = T1_;
2390 	return result;
2391 }
N_NIMCALL(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q *,percent___pureZjson_1819)2392 N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*, percent___pureZjson_1819)(tyTuple__jq7X5k7hWG0tdTZTDkiyGQ* keyVals, NI keyValsLen_0) {
2393 	tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* result;
2394 {	result = NIM_NIL;
2395 	{
2396 		if (!(keyValsLen_0 == ((NI) 0))) goto LA3_;
2397 		result = newJArray__pureZjson_123();
2398 		goto BeforeRet_;
2399 	}
2400 	LA3_: ;
2401 	result = newJObject__pureZjson_92();
2402 	{
2403 		NimStringDesc** key;
2404 		tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q** val;
2405 		NI i;
2406 		key = (NimStringDesc**)0;
2407 		val = (tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q**)0;
2408 		i = ((NI) 0);
2409 		{
2410 			while (1) {
2411 				if (!(i < keyValsLen_0)) goto LA7;
2412 				key = (&keyVals[i].Field0);
2413 				val = &keyVals[i].Field1;
2414 				X5BX5Deq___pureZjson_287((&(*result)._kind_6.fields), (*key), (*val));
2415 				i += ((NI) 1);
2416 			} LA7: ;
2417 		}
2418 	}
2419 	}BeforeRet_: ;
2420 	return result;
2421 }
N_NIMCALL(void,stdlib_jsonDatInit000)2422 N_LIB_PRIVATE N_NIMCALL(void, stdlib_jsonDatInit000)(void) {
2423 static TNimNode* TM__9b9bytt1stv9cZ8uqII7HFgew_22_7[7];
2424 NI TM__9b9bytt1stv9cZ8uqII7HFgew_24;
2425 static char* NIM_CONST TM__9b9bytt1stv9cZ8uqII7HFgew_23[7] = {
2426 "JNull",
2427 "JBool",
2428 "JInt",
2429 "JFloat",
2430 "JString",
2431 "JObject",
2432 "JArray"};
2433 static TNimNode* TM__9b9bytt1stv9cZ8uqII7HFgew_28_2[2];
2434 static TNimNode* TM__9b9bytt1stv9cZ8uqII7HFgew_29_4[4];
2435 static TNimNode* TM__9b9bytt1stv9cZ8uqII7HFgew_30_4[4];
2436 static TNimNode TM__9b9bytt1stv9cZ8uqII7HFgew_0[28];
2437 NTIjsonnodekind__RUngo7nCHe6O8aBGIcrhtg_.size = sizeof(tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg);
2438 NTIjsonnodekind__RUngo7nCHe6O8aBGIcrhtg_.align = NIM_ALIGNOF(tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg);
2439 NTIjsonnodekind__RUngo7nCHe6O8aBGIcrhtg_.kind = 14;
2440 NTIjsonnodekind__RUngo7nCHe6O8aBGIcrhtg_.base = 0;
2441 NTIjsonnodekind__RUngo7nCHe6O8aBGIcrhtg_.flags = 3;
2442 for (TM__9b9bytt1stv9cZ8uqII7HFgew_24 = 0; TM__9b9bytt1stv9cZ8uqII7HFgew_24 < 7; TM__9b9bytt1stv9cZ8uqII7HFgew_24++) {
2443 TM__9b9bytt1stv9cZ8uqII7HFgew_0[TM__9b9bytt1stv9cZ8uqII7HFgew_24+0].kind = 1;
2444 TM__9b9bytt1stv9cZ8uqII7HFgew_0[TM__9b9bytt1stv9cZ8uqII7HFgew_24+0].offset = TM__9b9bytt1stv9cZ8uqII7HFgew_24;
2445 TM__9b9bytt1stv9cZ8uqII7HFgew_0[TM__9b9bytt1stv9cZ8uqII7HFgew_24+0].name = TM__9b9bytt1stv9cZ8uqII7HFgew_23[TM__9b9bytt1stv9cZ8uqII7HFgew_24];
2446 TM__9b9bytt1stv9cZ8uqII7HFgew_22_7[TM__9b9bytt1stv9cZ8uqII7HFgew_24] = &TM__9b9bytt1stv9cZ8uqII7HFgew_0[TM__9b9bytt1stv9cZ8uqII7HFgew_24+0];
2447 }
2448 TM__9b9bytt1stv9cZ8uqII7HFgew_0[7].len = 7; TM__9b9bytt1stv9cZ8uqII7HFgew_0[7].kind = 2; TM__9b9bytt1stv9cZ8uqII7HFgew_0[7].sons = &TM__9b9bytt1stv9cZ8uqII7HFgew_22_7[0];
2449 NTIjsonnodekind__RUngo7nCHe6O8aBGIcrhtg_.node = &TM__9b9bytt1stv9cZ8uqII7HFgew_0[7];
2450 NTIjsonnodeobj__df9bshXB7C9cTiWPIOtX3j1Q_.size = sizeof(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q);
2451 NTIjsonnodeobj__df9bshXB7C9cTiWPIOtX3j1Q_.align = NIM_ALIGNOF(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q);
2452 NTIjsonnodeobj__df9bshXB7C9cTiWPIOtX3j1Q_.kind = 18;
2453 NTIjsonnodeobj__df9bshXB7C9cTiWPIOtX3j1Q_.base = 0;
2454 NTIjsonnodeobj__df9bshXB7C9cTiWPIOtX3j1Q_.flags = 2;
2455 TM__9b9bytt1stv9cZ8uqII7HFgew_28_2[0] = &TM__9b9bytt1stv9cZ8uqII7HFgew_0[9];
2456 TM__9b9bytt1stv9cZ8uqII7HFgew_0[9].kind = 1;
2457 TM__9b9bytt1stv9cZ8uqII7HFgew_0[9].offset = offsetof(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q, isUnquoted);
2458 TM__9b9bytt1stv9cZ8uqII7HFgew_0[9].typ = (&NTIbool__VaVACK0bpYmqIQ0mKcHfQQ_);
2459 TM__9b9bytt1stv9cZ8uqII7HFgew_0[9].name = "isUnquoted";
2460 TM__9b9bytt1stv9cZ8uqII7HFgew_28_2[1] = &TM__9b9bytt1stv9cZ8uqII7HFgew_0[10];
2461 TM__9b9bytt1stv9cZ8uqII7HFgew_0[10].kind = 3;
2462 TM__9b9bytt1stv9cZ8uqII7HFgew_0[10].offset = offsetof(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q, kind);
2463 TM__9b9bytt1stv9cZ8uqII7HFgew_0[10].typ = (&NTIjsonnodekind__RUngo7nCHe6O8aBGIcrhtg_);
2464 TM__9b9bytt1stv9cZ8uqII7HFgew_0[10].name = "kind";
2465 TM__9b9bytt1stv9cZ8uqII7HFgew_0[10].sons = &NimDT___df9bshXB7C9cTiWPIOtX3j1Q_kind[0];
2466 TM__9b9bytt1stv9cZ8uqII7HFgew_0[10].len = 7;
2467 TM__9b9bytt1stv9cZ8uqII7HFgew_0[11].kind = 1;
2468 TM__9b9bytt1stv9cZ8uqII7HFgew_0[11].offset = offsetof(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q, _kind_1.str);
2469 TM__9b9bytt1stv9cZ8uqII7HFgew_0[11].typ = (&NTIstring__77mFvmsOLKik79ci2hXkHEg_);
2470 TM__9b9bytt1stv9cZ8uqII7HFgew_0[11].name = "str";
2471 NimDT___df9bshXB7C9cTiWPIOtX3j1Q_kind[4] = &TM__9b9bytt1stv9cZ8uqII7HFgew_0[11];
2472 TM__9b9bytt1stv9cZ8uqII7HFgew_0[12].kind = 1;
2473 TM__9b9bytt1stv9cZ8uqII7HFgew_0[12].offset = offsetof(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q, _kind_2.num);
2474 TM__9b9bytt1stv9cZ8uqII7HFgew_0[12].typ = (&NTIbiggestint__Aav8dQoMlCFnZRxA0IhTHQ_);
2475 TM__9b9bytt1stv9cZ8uqII7HFgew_0[12].name = "num";
2476 NimDT___df9bshXB7C9cTiWPIOtX3j1Q_kind[2] = &TM__9b9bytt1stv9cZ8uqII7HFgew_0[12];
2477 TM__9b9bytt1stv9cZ8uqII7HFgew_0[13].kind = 1;
2478 TM__9b9bytt1stv9cZ8uqII7HFgew_0[13].offset = offsetof(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q, _kind_3.fnum);
2479 TM__9b9bytt1stv9cZ8uqII7HFgew_0[13].typ = (&NTIfloat__w9bl9a1ul9ctRJWiMl9cNnIMvg_);
2480 TM__9b9bytt1stv9cZ8uqII7HFgew_0[13].name = "fnum";
2481 NimDT___df9bshXB7C9cTiWPIOtX3j1Q_kind[3] = &TM__9b9bytt1stv9cZ8uqII7HFgew_0[13];
2482 TM__9b9bytt1stv9cZ8uqII7HFgew_0[14].kind = 1;
2483 TM__9b9bytt1stv9cZ8uqII7HFgew_0[14].offset = offsetof(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q, _kind_4.bval);
2484 TM__9b9bytt1stv9cZ8uqII7HFgew_0[14].typ = (&NTIbool__VaVACK0bpYmqIQ0mKcHfQQ_);
2485 TM__9b9bytt1stv9cZ8uqII7HFgew_0[14].name = "bval";
2486 NimDT___df9bshXB7C9cTiWPIOtX3j1Q_kind[1] = &TM__9b9bytt1stv9cZ8uqII7HFgew_0[14];
2487 TM__9b9bytt1stv9cZ8uqII7HFgew_0[15].len = 0; TM__9b9bytt1stv9cZ8uqII7HFgew_0[15].kind = 2;
2488 NimDT___df9bshXB7C9cTiWPIOtX3j1Q_kind[0] = &TM__9b9bytt1stv9cZ8uqII7HFgew_0[15];
2489 NTIorderedtable__ZZvSdVkA2s2sIyifu4cpkg_.size = sizeof(tyObject_OrderedTable__ZZvSdVkA2s2sIyifu4cpkg);
2490 NTIorderedtable__ZZvSdVkA2s2sIyifu4cpkg_.align = NIM_ALIGNOF(tyObject_OrderedTable__ZZvSdVkA2s2sIyifu4cpkg);
2491 NTIorderedtable__ZZvSdVkA2s2sIyifu4cpkg_.kind = 18;
2492 NTIorderedtable__ZZvSdVkA2s2sIyifu4cpkg_.base = 0;
2493 TM__9b9bytt1stv9cZ8uqII7HFgew_29_4[0] = &TM__9b9bytt1stv9cZ8uqII7HFgew_0[18];
2494 NTIorderedkeyvaluepair__awOivLjlO76sGdHY7nQUjQ_.size = sizeof(tyTuple__awOivLjlO76sGdHY7nQUjQ);
2495 NTIorderedkeyvaluepair__awOivLjlO76sGdHY7nQUjQ_.align = NIM_ALIGNOF(tyTuple__awOivLjlO76sGdHY7nQUjQ);
2496 NTIorderedkeyvaluepair__awOivLjlO76sGdHY7nQUjQ_.kind = 18;
2497 NTIorderedkeyvaluepair__awOivLjlO76sGdHY7nQUjQ_.base = 0;
2498 TM__9b9bytt1stv9cZ8uqII7HFgew_30_4[0] = &TM__9b9bytt1stv9cZ8uqII7HFgew_0[20];
2499 TM__9b9bytt1stv9cZ8uqII7HFgew_0[20].kind = 1;
2500 TM__9b9bytt1stv9cZ8uqII7HFgew_0[20].offset = offsetof(tyTuple__awOivLjlO76sGdHY7nQUjQ, Field0);
2501 TM__9b9bytt1stv9cZ8uqII7HFgew_0[20].typ = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_);
2502 TM__9b9bytt1stv9cZ8uqII7HFgew_0[20].name = "Field0";
2503 TM__9b9bytt1stv9cZ8uqII7HFgew_30_4[1] = &TM__9b9bytt1stv9cZ8uqII7HFgew_0[21];
2504 TM__9b9bytt1stv9cZ8uqII7HFgew_0[21].kind = 1;
2505 TM__9b9bytt1stv9cZ8uqII7HFgew_0[21].offset = offsetof(tyTuple__awOivLjlO76sGdHY7nQUjQ, Field1);
2506 TM__9b9bytt1stv9cZ8uqII7HFgew_0[21].typ = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_);
2507 TM__9b9bytt1stv9cZ8uqII7HFgew_0[21].name = "Field1";
2508 TM__9b9bytt1stv9cZ8uqII7HFgew_30_4[2] = &TM__9b9bytt1stv9cZ8uqII7HFgew_0[22];
2509 TM__9b9bytt1stv9cZ8uqII7HFgew_0[22].kind = 1;
2510 TM__9b9bytt1stv9cZ8uqII7HFgew_0[22].offset = offsetof(tyTuple__awOivLjlO76sGdHY7nQUjQ, Field2);
2511 TM__9b9bytt1stv9cZ8uqII7HFgew_0[22].typ = (&NTIstring__77mFvmsOLKik79ci2hXkHEg_);
2512 TM__9b9bytt1stv9cZ8uqII7HFgew_0[22].name = "Field2";
2513 TM__9b9bytt1stv9cZ8uqII7HFgew_30_4[3] = &TM__9b9bytt1stv9cZ8uqII7HFgew_0[23];
2514 TM__9b9bytt1stv9cZ8uqII7HFgew_0[23].kind = 1;
2515 TM__9b9bytt1stv9cZ8uqII7HFgew_0[23].offset = offsetof(tyTuple__awOivLjlO76sGdHY7nQUjQ, Field3);
2516 TM__9b9bytt1stv9cZ8uqII7HFgew_0[23].typ = (&NTIjsonnode__zfzzuQ8txrdZAYK0WGWpHg_);
2517 TM__9b9bytt1stv9cZ8uqII7HFgew_0[23].name = "Field3";
2518 TM__9b9bytt1stv9cZ8uqII7HFgew_0[19].len = 4; TM__9b9bytt1stv9cZ8uqII7HFgew_0[19].kind = 2; TM__9b9bytt1stv9cZ8uqII7HFgew_0[19].sons = &TM__9b9bytt1stv9cZ8uqII7HFgew_30_4[0];
2519 NTIorderedkeyvaluepair__awOivLjlO76sGdHY7nQUjQ_.node = &TM__9b9bytt1stv9cZ8uqII7HFgew_0[19];
2520 NTIorderedkeyvaluepairseq__MlAD6nAPq9bHKla9cWiIZP0g_.size = sizeof(tySequence__MlAD6nAPq9bHKla9cWiIZP0g*);
2521 NTIorderedkeyvaluepairseq__MlAD6nAPq9bHKla9cWiIZP0g_.align = NIM_ALIGNOF(tySequence__MlAD6nAPq9bHKla9cWiIZP0g*);
2522 NTIorderedkeyvaluepairseq__MlAD6nAPq9bHKla9cWiIZP0g_.kind = 24;
2523 NTIorderedkeyvaluepairseq__MlAD6nAPq9bHKla9cWiIZP0g_.base = (&NTIorderedkeyvaluepair__awOivLjlO76sGdHY7nQUjQ_);
2524 NTIorderedkeyvaluepairseq__MlAD6nAPq9bHKla9cWiIZP0g_.marker = Marker_tySequence__MlAD6nAPq9bHKla9cWiIZP0g;
2525 TM__9b9bytt1stv9cZ8uqII7HFgew_0[18].kind = 1;
2526 TM__9b9bytt1stv9cZ8uqII7HFgew_0[18].offset = offsetof(tyObject_OrderedTable__ZZvSdVkA2s2sIyifu4cpkg, data);
2527 TM__9b9bytt1stv9cZ8uqII7HFgew_0[18].typ = (&NTIorderedkeyvaluepairseq__MlAD6nAPq9bHKla9cWiIZP0g_);
2528 TM__9b9bytt1stv9cZ8uqII7HFgew_0[18].name = "data";
2529 TM__9b9bytt1stv9cZ8uqII7HFgew_29_4[1] = &TM__9b9bytt1stv9cZ8uqII7HFgew_0[24];
2530 TM__9b9bytt1stv9cZ8uqII7HFgew_0[24].kind = 1;
2531 TM__9b9bytt1stv9cZ8uqII7HFgew_0[24].offset = offsetof(tyObject_OrderedTable__ZZvSdVkA2s2sIyifu4cpkg, counter);
2532 TM__9b9bytt1stv9cZ8uqII7HFgew_0[24].typ = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_);
2533 TM__9b9bytt1stv9cZ8uqII7HFgew_0[24].name = "counter";
2534 TM__9b9bytt1stv9cZ8uqII7HFgew_29_4[2] = &TM__9b9bytt1stv9cZ8uqII7HFgew_0[25];
2535 TM__9b9bytt1stv9cZ8uqII7HFgew_0[25].kind = 1;
2536 TM__9b9bytt1stv9cZ8uqII7HFgew_0[25].offset = offsetof(tyObject_OrderedTable__ZZvSdVkA2s2sIyifu4cpkg, first);
2537 TM__9b9bytt1stv9cZ8uqII7HFgew_0[25].typ = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_);
2538 TM__9b9bytt1stv9cZ8uqII7HFgew_0[25].name = "first";
2539 TM__9b9bytt1stv9cZ8uqII7HFgew_29_4[3] = &TM__9b9bytt1stv9cZ8uqII7HFgew_0[26];
2540 TM__9b9bytt1stv9cZ8uqII7HFgew_0[26].kind = 1;
2541 TM__9b9bytt1stv9cZ8uqII7HFgew_0[26].offset = offsetof(tyObject_OrderedTable__ZZvSdVkA2s2sIyifu4cpkg, last);
2542 TM__9b9bytt1stv9cZ8uqII7HFgew_0[26].typ = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_);
2543 TM__9b9bytt1stv9cZ8uqII7HFgew_0[26].name = "last";
2544 TM__9b9bytt1stv9cZ8uqII7HFgew_0[17].len = 4; TM__9b9bytt1stv9cZ8uqII7HFgew_0[17].kind = 2; TM__9b9bytt1stv9cZ8uqII7HFgew_0[17].sons = &TM__9b9bytt1stv9cZ8uqII7HFgew_29_4[0];
2545 NTIorderedtable__ZZvSdVkA2s2sIyifu4cpkg_.node = &TM__9b9bytt1stv9cZ8uqII7HFgew_0[17];
2546 TM__9b9bytt1stv9cZ8uqII7HFgew_0[16].kind = 1;
2547 TM__9b9bytt1stv9cZ8uqII7HFgew_0[16].offset = offsetof(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q, _kind_6.fields);
2548 TM__9b9bytt1stv9cZ8uqII7HFgew_0[16].typ = (&NTIorderedtable__ZZvSdVkA2s2sIyifu4cpkg_);
2549 TM__9b9bytt1stv9cZ8uqII7HFgew_0[16].name = "fields";
2550 NimDT___df9bshXB7C9cTiWPIOtX3j1Q_kind[5] = &TM__9b9bytt1stv9cZ8uqII7HFgew_0[16];
2551 TM__9b9bytt1stv9cZ8uqII7HFgew_0[27].kind = 1;
2552 TM__9b9bytt1stv9cZ8uqII7HFgew_0[27].offset = offsetof(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q, _kind_7.elems);
2553 TM__9b9bytt1stv9cZ8uqII7HFgew_0[27].typ = (&NTIseqLjsonnodeT__oLpBKXzW3hF9aCVMo5EymfQ_);
2554 TM__9b9bytt1stv9cZ8uqII7HFgew_0[27].name = "elems";
2555 NimDT___df9bshXB7C9cTiWPIOtX3j1Q_kind[6] = &TM__9b9bytt1stv9cZ8uqII7HFgew_0[27];
2556 TM__9b9bytt1stv9cZ8uqII7HFgew_0[8].len = 2; TM__9b9bytt1stv9cZ8uqII7HFgew_0[8].kind = 2; TM__9b9bytt1stv9cZ8uqII7HFgew_0[8].sons = &TM__9b9bytt1stv9cZ8uqII7HFgew_28_2[0];
2557 NTIjsonnodeobj__df9bshXB7C9cTiWPIOtX3j1Q_.node = &TM__9b9bytt1stv9cZ8uqII7HFgew_0[8];
2558 NTIjsonnode__zfzzuQ8txrdZAYK0WGWpHg_.size = sizeof(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*);
2559 NTIjsonnode__zfzzuQ8txrdZAYK0WGWpHg_.align = NIM_ALIGNOF(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*);
2560 NTIjsonnode__zfzzuQ8txrdZAYK0WGWpHg_.kind = 22;
2561 NTIjsonnode__zfzzuQ8txrdZAYK0WGWpHg_.base = (&NTIjsonnodeobj__df9bshXB7C9cTiWPIOtX3j1Q_);
2562 NTIjsonnode__zfzzuQ8txrdZAYK0WGWpHg_.marker = Marker_tyRef__zfzzuQ8txrdZAYK0WGWpHg;
2563 NTIseqLjsonnodeT__oLpBKXzW3hF9aCVMo5EymfQ_.size = sizeof(tySequence__oLpBKXzW3hF9aCVMo5EymfQ*);
2564 NTIseqLjsonnodeT__oLpBKXzW3hF9aCVMo5EymfQ_.align = NIM_ALIGNOF(tySequence__oLpBKXzW3hF9aCVMo5EymfQ*);
2565 NTIseqLjsonnodeT__oLpBKXzW3hF9aCVMo5EymfQ_.kind = 24;
2566 NTIseqLjsonnodeT__oLpBKXzW3hF9aCVMo5EymfQ_.base = (&NTIjsonnode__zfzzuQ8txrdZAYK0WGWpHg_);
2567 NTIseqLjsonnodeT__oLpBKXzW3hF9aCVMo5EymfQ_.marker = Marker_tySequence__oLpBKXzW3hF9aCVMo5EymfQ;
2568 }
2569 
2570