1 /* Generated by Nim Compiler v1.6.2 */
2 #define NIM_INTBITS 64
3
4 #include "nimbase.h"
5 #include <string.h>
6 #include <dirent.h>
7 #include <setjmp.h>
8 #include <sys/types.h>
9 #include <sys/stat.h>
10 #include <time.h>
11 #include <glob.h>
12 #undef LANGUAGE_C
13 #undef MIPSEB
14 #undef MIPSEL
15 #undef PPC
16 #undef R3000
17 #undef R4000
18 #undef i386
19 #undef linux
20 #undef mips
21 #undef near
22 #undef far
23 #undef powerpc
24 #undef unix
25 #define nimfr_(x, y)
26 #define nimln_(x, y)
27 typedef struct tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw;
28 typedef struct NimStringDesc NimStringDesc;
29 typedef struct TGenericSeq TGenericSeq;
30 typedef struct tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q;
31 typedef struct tyObject_Target__9abOl5DLX8suLujOaHSvGzw tyObject_Target__9abOl5DLX8suLujOaHSvGzw;
32 typedef struct tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg;
33 typedef struct tyObject_MsgConfig__kV7r8HWT0SqOYW2k2ukC6A tyObject_MsgConfig__kV7r8HWT0SqOYW2k2ukC6A;
34 typedef struct tySequence__tNFrR3kRuS1FSwuiLGoSSA tySequence__tNFrR3kRuS1FSwuiLGoSSA;
35 typedef struct tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA;
36 typedef struct tySequence__7lEisrXlQEzwtUKW5pzRCw tySequence__7lEisrXlQEzwtUKW5pzRCw;
37 typedef struct tySequence__Zi9cGbCWofbtABoHJ5RbLNQ tySequence__Zi9cGbCWofbtABoHJ5RbLNQ;
38 typedef struct tyObject_HashSet__CD8Dpv0WGmASelVaNSo6zg tyObject_HashSet__CD8Dpv0WGmASelVaNSo6zg;
39 typedef struct tySequence__4eRCaZmrYLLw2k30GPTiMw tySequence__4eRCaZmrYLLw2k30GPTiMw;
40 typedef struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ tySequence__sM4lkSb7zS6F7OVMvW9cffQ;
41 typedef struct tyTuple__47w2DboNEPf69aPgubZdd7Q tyTuple__47w2DboNEPf69aPgubZdd7Q;
42 typedef struct tySequence__pK3qSsBZwdXd6qyUMkd5Jw tySequence__pK3qSsBZwdXd6qyUMkd5Jw;
43 typedef struct tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ;
44 typedef struct tyObject_ProfileDatacolonObjectType___rPBBfFL4X0b9cQ6rfMNPXig tyObject_ProfileDatacolonObjectType___rPBBfFL4X0b9cQ6rfMNPXig;
45 typedef struct TNimType TNimType;
46 typedef struct TNimNode TNimNode;
47 typedef struct tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g;
48 typedef struct tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w;
49 typedef struct tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ;
50 typedef struct tyObject_GcStack__7fytPA5bBsob6See21YMRA tyObject_GcStack__7fytPA5bBsob6See21YMRA;
51 typedef struct tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg;
52 typedef struct tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ;
53 typedef struct tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg;
54 typedef struct tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw;
55 typedef struct tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA;
56 typedef struct tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw;
57 typedef struct tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw;
58 typedef struct tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg;
59 typedef struct tyTuple__ujsjpB2O9cjj3uDHsXbnSzg tyTuple__ujsjpB2O9cjj3uDHsXbnSzg;
60 typedef struct tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg;
61 typedef struct tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ;
62 typedef struct tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg;
63 typedef struct tyObject_Table__d05ldtnZIkg8hVpY02dsdA tyObject_Table__d05ldtnZIkg8hVpY02dsdA;
64 typedef struct tySequence__6j25whH7XTBoIXcM0x1T7A tySequence__6j25whH7XTBoIXcM0x1T7A;
65 typedef struct Exception Exception;
66 typedef struct RootObj RootObj;
67 typedef struct tySequence__uB9b75OUPRENsBAu4AnoePA tySequence__uB9b75OUPRENsBAu4AnoePA;
68 typedef struct TSafePoint TSafePoint;
69 typedef struct tyTuple__7q7q3E6Oj24ZNVJb9aonhAg tyTuple__7q7q3E6Oj24ZNVJb9aonhAg;
70 typedef struct tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA;
71 typedef struct tyTuple__UV3llMMYFckfui8YMBuUZA tyTuple__UV3llMMYFckfui8YMBuUZA;
72 typedef struct tyTuple__9cdgeqdY7FRioNKBoD6G66A tyTuple__9cdgeqdY7FRioNKBoD6G66A;
73 typedef struct tyTuple__kN8up2W6YKc5YA9avn5mV5w tyTuple__kN8up2W6YKc5YA9avn5mV5w;
74 typedef struct tyTuple__z822nu9bFF1AlQnLrHjdwpA tyTuple__z822nu9bFF1AlQnLrHjdwpA;
75 typedef struct tyTuple__xYhUhS7X82rKTqbT9bRfCnw tyTuple__xYhUhS7X82rKTqbT9bRfCnw;
76 typedef struct tyObject_TFileInfo__GE3hAakXKOEpch4ap3zXAw tyObject_TFileInfo__GE3hAakXKOEpch4ap3zXAw;
77 typedef struct tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA;
78 typedef struct tyTuple__QeWl6B6ffS4pU6WWrtcrDw tyTuple__QeWl6B6ffS4pU6WWrtcrDw;
79 typedef struct tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg;
80 typedef struct tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA;
81 struct TGenericSeq {
82 NI len;
83 NI reserved;
84 };
85 struct NimStringDesc {
86 TGenericSeq Sup;
87 NIM_CHAR data[SEQ_DECL_SIZE];
88 };
89 struct tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q {
90 NU16 line;
91 NI16 col;
92 NI32 fileIndex;
93 };
94 typedef NU8 tyEnum_TBackend__4OBsgZ9cscH2JLUE5Wcz01g;
95 typedef NU8 tyEnum_TSystemCPU__XYDt7D1G3qcClFyZy1Ky9ag;
96 typedef NU8 tyEnum_TSystemOS__s7Mlr1t66SUqP6BKJMXLaQ;
97 struct tyObject_Target__9abOl5DLX8suLujOaHSvGzw {
98 tyEnum_TSystemCPU__XYDt7D1G3qcClFyZy1Ky9ag targetCPU;
99 tyEnum_TSystemCPU__XYDt7D1G3qcClFyZy1Ky9ag hostCPU;
100 tyEnum_TSystemOS__s7Mlr1t66SUqP6BKJMXLaQ targetOS;
101 tyEnum_TSystemOS__s7Mlr1t66SUqP6BKJMXLaQ hostOS;
102 NI intSize;
103 NI floatSize;
104 NI ptrSize;
105 NimStringDesc* tnl;
106 };
107 typedef NU32 tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg;
108 typedef NU64 tySet_tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw;
109 typedef NU8 tySet_tyEnum_TErrorOutput__fBf8Teueoz9aAkO5cXaxrpA;
110 struct tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA {
111 tySequence__7lEisrXlQEzwtUKW5pzRCw* data;
112 NI counter;
113 };
114 struct tyObject_MsgConfig__kV7r8HWT0SqOYW2k2ukC6A {
115 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q trackPos;
116 NIM_BOOL trackPosAttached;
117 tySet_tyEnum_TErrorOutput__fBf8Teueoz9aAkO5cXaxrpA errorOutputs;
118 tySequence__tNFrR3kRuS1FSwuiLGoSSA* msgContext;
119 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q lastError;
120 tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA filenameToIndexTbl;
121 tySequence__Zi9cGbCWofbtABoHJ5RbLNQ* fileInfos;
122 NI32 systemFileIdx;
123 };
124 typedef NU8 tyEnum_FilenameOption__eL86bAtPxXWHj24F5gOMFQ;
125 typedef NU8 tyEnum_Command__0zjcIQ623TIRGPdtjLwTFA;
126 typedef NU8 tyEnum_TGCMode__tkz389aDYNd8ykeZszCuBSw;
127 typedef NU8 tyEnum_ExceptionSystem__1mkAogyaDAT7g9cQjzsgKLQ;
128 typedef NU8 tyEnum_SymbolFilesOption__gBES9bqm1ru9ape8SeMRAFgQ;
129 struct tyObject_HashSet__CD8Dpv0WGmASelVaNSo6zg {
130 tySequence__4eRCaZmrYLLw2k30GPTiMw* data;
131 NI counter;
132 };
133 typedef NU32 tySet_tyEnum_Feature__01UoAKYz1MxZiuG1X2VhNQ;
134 typedef NU8 tySet_tyEnum_LegacyFeature__hGCD9aOrxPvpXn4Ne6W6OVA;
135 typedef NU8 tyEnum_IdeCmd__1Ced39bl5eePmZ1PKMPXigQ;
136 typedef NU8 tyEnum_TSystemCC__1eWBJUonHMOnlBwsOvpFmA;
137 typedef NU8 tySet_tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug[11];
138 struct tyTuple__47w2DboNEPf69aPgubZdd7Q {
139 NI Field0;
140 NI Field1;
141 NI Field2;
142 };
143 typedef NU8 tySet_tyEnum_StdOrrKind__6cbmyTzDPaZU9afMe4mz3Ug;
144 typedef struct {
145 N_NIMCALL_PTR(void, ClP_0) (tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ* result, void* ClE_0);
146 void* ClE_0;
147 } tyProc__YD0MR9bJ2x4beJkZdnjXN9cA;
148 typedef struct {
149 N_NIMCALL_PTR(void, ClP_0) (NimStringDesc* output, void* ClE_0);
150 void* ClE_0;
151 } tyProc__k2HFjxisIgDALbEUFojxaQ;
152 typedef NU8 tyEnum_Severity__x5BWBPGAbIH9clm5pmNp5DA;
153 typedef struct {
154 N_NIMCALL_PTR(void, ClP_0) (tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* config, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, NimStringDesc* msg, tyEnum_Severity__x5BWBPGAbIH9clm5pmNp5DA severity, void* ClE_0);
155 void* ClE_0;
156 } tyProc__oL9coyIA2VDTGdUcur9aL9bew;
157 struct tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw {
158 tyEnum_TBackend__4OBsgZ9cscH2JLUE5Wcz01g backend;
159 tyObject_Target__9abOl5DLX8suLujOaHSvGzw target;
160 NI linesCompiled;
161 tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg options;
162 tySet_tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw globalOptions;
163 tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* macrosToExpand;
164 tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* arcToExpand;
165 tyObject_MsgConfig__kV7r8HWT0SqOYW2k2ukC6A m;
166 tyEnum_FilenameOption__eL86bAtPxXWHj24F5gOMFQ filenameOption;
167 NimStringDesc* unitSep;
168 NI evalTemplateCounter;
169 NI evalMacroCounter;
170 NI8 exitcode;
171 tyEnum_Command__0zjcIQ623TIRGPdtjLwTFA cmd;
172 NimStringDesc* cmdInput;
173 NIM_BOOL projectIsCmd;
174 NIM_BOOL implicitCmd;
175 tyEnum_TGCMode__tkz389aDYNd8ykeZszCuBSw selectedGC;
176 tyEnum_ExceptionSystem__1mkAogyaDAT7g9cQjzsgKLQ exc;
177 NIM_BOOL hintProcessingDots;
178 NI verbosity;
179 NI numberOfProcessors;
180 NF lastCmdTime;
181 tyEnum_SymbolFilesOption__gBES9bqm1ru9ape8SeMRAFgQ symbolFiles;
182 NI spellSuggestMax;
183 tyObject_HashSet__CD8Dpv0WGmASelVaNSo6zg cppDefines;
184 NimStringDesc* headerFile;
185 tySet_tyEnum_Feature__01UoAKYz1MxZiuG1X2VhNQ features;
186 tySet_tyEnum_LegacyFeature__hGCD9aOrxPvpXn4Ne6W6OVA legacyFeatures;
187 NimStringDesc* arguments;
188 tyEnum_IdeCmd__1Ced39bl5eePmZ1PKMPXigQ ideCmd;
189 NIM_BOOL oldNewlines;
190 tyEnum_TSystemCC__1eWBJUonHMOnlBwsOvpFmA cCompiler;
191 tySet_tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug modifiedyNotes;
192 tySet_tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug cmdlineNotes;
193 tySet_tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug foreignPackageNotes;
194 tySet_tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug notes;
195 tySet_tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug warningAsErrors;
196 tySet_tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug mainPackageNotes;
197 NI mainPackageId;
198 NI errorCounter;
199 NI hintCounter;
200 NI warnCounter;
201 NI errorMax;
202 NI maxLoopIterationsVM;
203 NIM_BOOL isVmTrace;
204 tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* configVars;
205 tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* symbols;
206 tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* packageCache;
207 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* nimblePaths;
208 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* searchPaths;
209 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* lazyPaths;
210 NimStringDesc* outFile;
211 NimStringDesc* outDir;
212 NimStringDesc* jsonBuildFile;
213 NimStringDesc* prefixDir;
214 NimStringDesc* libpath;
215 NimStringDesc* nimcacheDir;
216 tyTuple__47w2DboNEPf69aPgubZdd7Q nimStdlibVersion;
217 tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* dllOverrides;
218 tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* moduleOverrides;
219 tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* cfileSpecificOptions;
220 NimStringDesc* projectName;
221 NimStringDesc* projectPath;
222 NimStringDesc* projectFull;
223 NIM_BOOL projectIsStdin;
224 tySet_tyEnum_StdOrrKind__6cbmyTzDPaZU9afMe4mz3Ug lastMsgWasDot;
225 NI32 projectMainIdx;
226 NI32 projectMainIdx2;
227 NimStringDesc* command;
228 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* commandArgs;
229 NimStringDesc* commandLine;
230 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* extraCmds;
231 NIM_BOOL keepComments;
232 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* implicitImports;
233 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* implicitIncludes;
234 NimStringDesc* docSeeSrcUrl;
235 NimStringDesc* docRoot;
236 NimStringDesc* docCmd;
237 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* configFiles;
238 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* cIncludes;
239 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* cLibs;
240 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* cLinkedLibs;
241 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* externalToLink;
242 NimStringDesc* linkOptionsCmd;
243 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* compileOptionsCmd;
244 NimStringDesc* linkOptions;
245 NimStringDesc* compileOptions;
246 NimStringDesc* cCompilerPath;
247 tySequence__pK3qSsBZwdXd6qyUMkd5Jw* toCompile;
248 tyProc__YD0MR9bJ2x4beJkZdnjXN9cA suggestionResultHook;
249 NI suggestVersion;
250 NI suggestMaxResults;
251 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q lastLineInfo;
252 tyProc__k2HFjxisIgDALbEUFojxaQ writelnHook;
253 tyProc__oL9coyIA2VDTGdUcur9aL9bew structuredErrorHook;
254 NimStringDesc* cppCustomNamespace;
255 NimStringDesc* nimMainPrefix;
256 tyObject_ProfileDatacolonObjectType___rPBBfFL4X0b9cQ6rfMNPXig* vmProfileData;
257 };
258 typedef NU8 tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A;
259 typedef NU8 tySet_tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ;
260 typedef N_NIMCALL_PTR(void, tyProc__ojoeKfW4VYIm36I9cpDTQIg) (void* p, NI op);
261 typedef N_NIMCALL_PTR(void*, tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ) (void* p);
262 struct TNimType {
263 NI size;
264 NI align;
265 tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A kind;
266 tySet_tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ flags;
267 TNimType* base;
268 TNimNode* node;
269 void* finalizer;
270 tyProc__ojoeKfW4VYIm36I9cpDTQIg marker;
271 tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ deepcopy;
272 };
273 typedef NU8 tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ;
274 struct TNimNode {
275 tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ kind;
276 NI offset;
277 TNimType* typ;
278 NCSTRING name;
279 NI len;
280 TNimNode** sons;
281 };
282 struct tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g {
283 NI refcount;
284 TNimType* typ;
285 };
286 struct tyObject_GcStack__7fytPA5bBsob6See21YMRA {
287 void* bottom;
288 };
289 struct tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w {
290 NI len;
291 NI cap;
292 tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g** d;
293 };
294 typedef tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ* tyArray__SPr7N6UKfuF549bNPiUvSRw[256];
295 typedef NU32 tyArray__BHbOSqU1t9b3Gt7K2c6fQig[24];
296 typedef tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* tyArray__N1u1nqOgmuJN9cSZrnMHgOQ[32];
297 typedef tyArray__N1u1nqOgmuJN9cSZrnMHgOQ tyArray__B6durA4ZCi1xjJvRtyYxMg[24];
298 typedef tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw* tyArray__lh2A89ahMmYg9bCmpVaplLbA[256];
299 struct tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA {
300 tyArray__lh2A89ahMmYg9bCmpVaplLbA data;
301 };
302 typedef tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* tyArray__0aOLqZchNi8nWtMTi8ND8w[2];
303 struct tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw {
304 tyArray__0aOLqZchNi8nWtMTi8ND8w link;
305 NI key;
306 NI upperBound;
307 NI level;
308 };
309 struct tyTuple__ujsjpB2O9cjj3uDHsXbnSzg {
310 tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* Field0;
311 NI Field1;
312 };
313 typedef tyTuple__ujsjpB2O9cjj3uDHsXbnSzg tyArray__LzOv2eCDGiceMKQstCLmhw[30];
314 struct tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg {
315 NI len;
316 tyArray__LzOv2eCDGiceMKQstCLmhw chunks;
317 tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg* next;
318 };
319 struct tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg {
320 NI minLargeObj;
321 NI maxLargeObj;
322 tyArray__SPr7N6UKfuF549bNPiUvSRw freeSmallChunks;
323 NU32 flBitmap;
324 tyArray__BHbOSqU1t9b3Gt7K2c6fQig slBitmap;
325 tyArray__B6durA4ZCi1xjJvRtyYxMg matrix;
326 tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw* llmem;
327 NI currMem;
328 NI maxMem;
329 NI freeMem;
330 NI occ;
331 NI lastSize;
332 tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA chunkStarts;
333 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* root;
334 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* deleted;
335 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* last;
336 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* freeAvlNodes;
337 NIM_BOOL locked;
338 NIM_BOOL blockChunkSizeIncrease;
339 NI nextChunkSize;
340 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw bottomData;
341 tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg heapLinks;
342 };
343 struct tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg {
344 NI stackScans;
345 NI cycleCollections;
346 NI maxThreshold;
347 NI maxStackSize;
348 NI maxStackCells;
349 NI cycleTableSize;
350 NI64 maxPause;
351 };
352 struct tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ {
353 NI counter;
354 NI max;
355 tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg* head;
356 tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg** data;
357 };
358 struct tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ {
359 tyObject_GcStack__7fytPA5bBsob6See21YMRA stack;
360 NI cycleThreshold;
361 NI zctThreshold;
362 tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w zct;
363 tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w decStack;
364 tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w tempStack;
365 NI recGcLock;
366 tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg region;
367 tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg stat;
368 tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ marked;
369 tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w additionalRoots;
370 NI gcThreadId;
371 };
372 struct tyObject_Table__d05ldtnZIkg8hVpY02dsdA {
373 tySequence__6j25whH7XTBoIXcM0x1T7A* data;
374 NI counter;
375 };
376 typedef NU8 tyEnum_PathComponent__9c1SIU9cO1wHcl09b703A9cDrg;
377 struct RootObj {
378 TNimType* m_type;
379 };
380 struct Exception {
381 RootObj Sup;
382 Exception* parent;
383 NCSTRING name;
384 NimStringDesc* message;
385 tySequence__uB9b75OUPRENsBAu4AnoePA* trace;
386 Exception* up;
387 };
388 typedef long tyArray__TcvIiMAJvcwzNLsZkfnFnQ[25];
389 struct TSafePoint {
390 TSafePoint* prev;
391 NI status;
392 jmp_buf context;
393 };
394 typedef char tyArray__XKk9bNZbVEtY3RuROG9aRBgw[256];
395 struct tyTuple__7q7q3E6Oj24ZNVJb9aonhAg {
396 NimStringDesc* Field0;
397 NimStringDesc* Field1;
398 NimStringDesc* Field2;
399 };
400 struct tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA {
401 NI a;
402 NI b;
403 };
404 struct tyTuple__UV3llMMYFckfui8YMBuUZA {
405 NimStringDesc* Field0;
406 NimStringDesc* Field1;
407 };
408 struct tyTuple__9cdgeqdY7FRioNKBoD6G66A {
409 NI Field0;
410 NimStringDesc* Field1;
411 tyTuple__UV3llMMYFckfui8YMBuUZA Field2;
412 };
413 typedef NU8 tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w;
414 typedef NU8 tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw;
415 struct tyTuple__kN8up2W6YKc5YA9avn5mV5w {
416 NimStringDesc* Field0;
417 NI Field1;
418 NI Field2;
419 };
420 typedef NCSTRING tyUncheckedArray__nvS6J9clHMUMHfoZd8Ad2zg[1];
421 struct tyTuple__z822nu9bFF1AlQnLrHjdwpA {
422 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q Field0;
423 NimStringDesc* Field1;
424 };
425 struct tyTuple__xYhUhS7X82rKTqbT9bRfCnw {
426 NI Field0;
427 NimStringDesc* Field1;
428 NI32 Field2;
429 };
430 struct tyObject_TFileInfo__GE3hAakXKOEpch4ap3zXAw {
431 NimStringDesc* fullPath;
432 NimStringDesc* projPath;
433 NimStringDesc* shortName;
434 tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* quotedName;
435 tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* quotedFullName;
436 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* lines;
437 NimStringDesc* dirtyFile;
438 NimStringDesc* hash;
439 NIM_BOOL dirty;
440 };
441 struct tyTuple__QeWl6B6ffS4pU6WWrtcrDw {
442 NI Field0;
443 NimStringDesc* Field1;
444 };
445 typedef NU8 tySet_tyEnum_CfileFlag__Vl9c9ayddDuXiWtnWTsEYGsA;
446 struct tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg {
447 NimStringDesc* nimname;
448 NimStringDesc* cname;
449 NimStringDesc* obj;
450 tySet_tyEnum_CfileFlag__Vl9c9ayddDuXiWtnWTsEYGsA flags;
451 NimStringDesc* customArgs;
452 };
453 struct tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA {
454 NCSTRING procname;
455 NI line;
456 NCSTRING filename;
457 };
458 struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ {
459 TGenericSeq Sup;
460 NimStringDesc* data[SEQ_DECL_SIZE];
461 };
462 struct tySequence__6j25whH7XTBoIXcM0x1T7A {
463 TGenericSeq Sup;
464 tyTuple__9cdgeqdY7FRioNKBoD6G66A data[SEQ_DECL_SIZE];
465 };
466 struct tySequence__tNFrR3kRuS1FSwuiLGoSSA {
467 TGenericSeq Sup;
468 tyTuple__z822nu9bFF1AlQnLrHjdwpA data[SEQ_DECL_SIZE];
469 };
470 struct tySequence__7lEisrXlQEzwtUKW5pzRCw {
471 TGenericSeq Sup;
472 tyTuple__xYhUhS7X82rKTqbT9bRfCnw data[SEQ_DECL_SIZE];
473 };
474 struct tySequence__Zi9cGbCWofbtABoHJ5RbLNQ {
475 TGenericSeq Sup;
476 tyObject_TFileInfo__GE3hAakXKOEpch4ap3zXAw data[SEQ_DECL_SIZE];
477 };
478 struct tySequence__4eRCaZmrYLLw2k30GPTiMw {
479 TGenericSeq Sup;
480 tyTuple__QeWl6B6ffS4pU6WWrtcrDw data[SEQ_DECL_SIZE];
481 };
482 struct tySequence__pK3qSsBZwdXd6qyUMkd5Jw {
483 TGenericSeq Sup;
484 tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg data[SEQ_DECL_SIZE];
485 };
486 struct tySequence__uB9b75OUPRENsBAu4AnoePA {
487 TGenericSeq Sup;
488 tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA data[SEQ_DECL_SIZE];
489 };
490 static N_INLINE(NIM_BOOL, contains__nimblecmd_15)(NimStringDesc** a, NI aLen_0, NimStringDesc* item);
491 static N_INLINE(NI, find__nimblecmd_20)(NimStringDesc** a, NI aLen_0, NimStringDesc* item);
492 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, eqeq___options_4073)(NimStringDesc* x, NimStringDesc* y);
493 N_LIB_PRIVATE N_NIMCALL(void, insert__nimblecmd_47)(tySequence__sM4lkSb7zS6F7OVMvW9cffQ** x, NimStringDesc* item, NI i);
494 N_LIB_PRIVATE N_NIMCALL(TGenericSeq*, setLengthSeqV2)(TGenericSeq* s, TNimType* typ, NI newLen);
495 N_LIB_PRIVATE N_NIMCALL(void, unsureAsgnRef)(void** dest, void* src);
496 static N_INLINE(void, asgnRef)(void** dest, void* src);
497 static N_INLINE(void, incRef__system_5317)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
498 static N_INLINE(NI, pluspercent___system_696)(NI x, NI y);
499 static N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*, usrToCell__system_5279)(void* usr);
500 static N_INLINE(NI, minuspercent___system_716)(NI x, NI y);
501 static N_INLINE(void, decRef__system_5324)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
502 static N_INLINE(NIM_BOOL, ltpercent___system_1005)(NI x, NI y);
503 static N_INLINE(void, rtlAddZCT__system_5322)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
504 N_LIB_PRIVATE N_NOINLINE(void, addZCT__system_5273)(tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w* s, tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
505 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, copyStringRC1)(NimStringDesc* src);
506 static N_INLINE(void, nimGCunrefNoCycle)(void* p);
507 N_LIB_PRIVATE N_NIMCALL(void, addPathRec__nimblecmd_2087)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, NimStringDesc* dir, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
508 static N_INLINE(void, nimZeroMem)(void* p, NI size);
509 static N_INLINE(void, nimSetMem__systemZmemory_7)(void* a, int v, NI size);
510 static N_INLINE(NCSTRING, nimToCStringConv)(NimStringDesc* s);
511 N_LIB_PRIVATE N_NOINLINE(void, raiseOSError__pureZos_405)(NI32 errorCode, NimStringDesc* additionalInfo);
512 N_LIB_PRIVATE N_NIMCALL(NI32, osLastError__pureZos_408)(void);
513 static N_INLINE(void, pushSafePoint)(TSafePoint* s);
514 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, cstrToNimstr)(NCSTRING str);
515 static N_INLINE(NIM_BOOL, eqStrings)(NimStringDesc* a, NimStringDesc* b);
516 static N_INLINE(NIM_BOOL, equalMem__system_1735)(void* a, void* b, NI size);
517 static N_INLINE(int, nimCmpMem)(void* a, void* b, NI size);
518 static N_INLINE(NimStringDesc*, slash___pureZos_121)(NimStringDesc* head, NimStringDesc* tail);
519 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nosjoinPath)(NimStringDesc* head, NimStringDesc* tail);
520 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, copyString)(NimStringDesc* src);
521 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, nosdirExists)(NimStringDesc* dir);
522 N_LIB_PRIVATE N_NIMCALL(tyEnum_PathComponent__9c1SIU9cO1wHcl09b703A9cDrg, getSymlinkFileKind__pureZos_1212)(NimStringDesc* path);
523 N_LIB_PRIVATE N_NIMCALL(void, addPackage__nimblecmd_206)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_Table__d05ldtnZIkg8hVpY02dsdA* packages, NimStringDesc* p, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
524 N_LIB_PRIVATE N_NIMCALL(void, getPathVersionChecksum__nimblecmd_171)(NimStringDesc* p, tyTuple__7q7q3E6Oj24ZNVJb9aonhAg* Result);
525 N_LIB_PRIVATE N_NIMCALL(NI, nsuRFindChar)(NimStringDesc* s, NIM_CHAR sub, NI start, NI last);
526 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, substr__system_7766)(NimStringDesc* s, NI first);
527 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isValidSha1Hash__stdZsha49_949)(NimStringDesc* s);
528 N_LIB_PRIVATE N_NIMCALL(NI, nsuRFindStr)(NimStringDesc* s, NimStringDesc* sub, NI start, NI last);
529 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, substr__system_7754)(NimStringDesc* s, NI first, NI last);
530 static N_INLINE(NimStringDesc*, X5BX5D___pureZunicode_865)(NimStringDesc* s, tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA x);
531 N_NIMCALL(NimStringDesc*, mnewString)(NI len);
532 static N_INLINE(tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA, dotdot___pureZunicode_840)(NI a, NI b);
533 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isValidVersion__nimblecmd_135)(NimStringDesc* v);
534 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, newVersion__nimblecmd_107)(NimStringDesc* ver);
535 N_LIB_PRIVATE N_NIMCALL(void, failedAssertImpl__systemZassertions_56)(NimStringDesc* msg);
536 static N_INLINE(void, appendString)(NimStringDesc* dest, NimStringDesc* src);
537 static N_INLINE(void, copyMem__system_1727)(void* dest, void* source, NI size);
538 static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size);
539 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, rawNewString)(NI space);
540 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, lt___nimblecmd_146)(NimStringDesc* ver, NimStringDesc* ver2);
541 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isSpecial__nimblecmd_132)(NimStringDesc* ver);
542 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nsuNormalize)(NimStringDesc* s);
543 N_LIB_PRIVATE N_NIMCALL(tySequence__sM4lkSb7zS6F7OVMvW9cffQ*, nsuSplitChar)(NimStringDesc* s, NIM_CHAR sep, NI maxsplit);
544 N_LIB_PRIVATE N_NIMCALL(NI, npuParseInt)(NimStringDesc* s, NI* number, NI start);
545 N_LIB_PRIVATE N_NIMCALL(void, getOrDefault__nimblecmd_281)(tyObject_Table__d05ldtnZIkg8hVpY02dsdA t, NimStringDesc* key, tyTuple__UV3llMMYFckfui8YMBuUZA* Result);
546 static N_INLINE(NI, rawGet__nimblecmd_290)(tyObject_Table__d05ldtnZIkg8hVpY02dsdA t, NimStringDesc* key, NI* hc);
547 N_LIB_PRIVATE N_NIMCALL(NI, hash__pureZhashes_279)(NimStringDesc* x);
548 static N_INLINE(NIM_BOOL, isFilled__pureZcollectionsZtables_31)(NI hcode);
549 static N_INLINE(NI, nextTry__pureZcollectionsZtables_34)(NI h, NI maxHash);
550 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasKey__nimblecmd_623)(tyObject_Table__d05ldtnZIkg8hVpY02dsdA t, NimStringDesc* key);
551 N_LIB_PRIVATE N_NIMCALL(void, X5BX5Deq___nimblecmd_676)(tyObject_Table__d05ldtnZIkg8hVpY02dsdA* t, NimStringDesc* key, tyTuple__UV3llMMYFckfui8YMBuUZA val);
552 static N_INLINE(NI, slotsNeeded__pureZcollectionsZtables_42)(NI count);
553 N_LIB_PRIVATE N_NIMCALL(NI, nextPowerOfTwo__pureZmath_177)(NI x);
554 N_LIB_PRIVATE N_NIMCALL(void*, newSeq)(TNimType* typ, NI len);
555 N_LIB_PRIVATE N_NIMCALL(void, nimGCvisit)(void* d, NI op);
556 static N_NIMCALL(void, Marker_tySequence__6j25whH7XTBoIXcM0x1T7A)(void* p, NI op);
557 static N_INLINE(NIM_BOOL, mustRehash__nimblecmd_849)(tyObject_Table__d05ldtnZIkg8hVpY02dsdA t);
558 N_LIB_PRIVATE N_NIMCALL(void, enlarge__nimblecmd_1002)(tyObject_Table__d05ldtnZIkg8hVpY02dsdA* t);
559 N_LIB_PRIVATE N_NIMCALL(void, rawInsert__nimblecmd_1306)(tyObject_Table__d05ldtnZIkg8hVpY02dsdA* t, tySequence__6j25whH7XTBoIXcM0x1T7A** data, NimStringDesc* key, tyTuple__UV3llMMYFckfui8YMBuUZA val, NI hc, NI h);
560 static N_INLINE(NI, rawGetKnownHC__nimblecmd_1475)(tyObject_Table__d05ldtnZIkg8hVpY02dsdA t, NimStringDesc* key, NI hc);
561 N_LIB_PRIVATE N_NOINLINE(void, liMessage__msgs_1118)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w msg, NimStringDesc* arg, tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw eh, tyTuple__kN8up2W6YKc5YA9avn5mV5w info2, NIM_BOOL isRaw);
562 static N_INLINE(void, popSafePoint)(void);
563 N_LIB_PRIVATE N_NIMCALL(void, nimLeaveFinally)(void);
564 N_LIB_PRIVATE N_NIMCALL(void, reraiseException)(void);
565 N_LIB_PRIVATE N_NIMCALL(NI, len__nimblecmd_1808)(tyObject_Table__d05ldtnZIkg8hVpY02dsdA t);
566 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, addChar)(NimStringDesc* s, NIM_CHAR c);
567 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, resizeString)(NimStringDesc* dest, NI addlen);
568 N_LIB_PRIVATE N_NIMCALL(void, addNimblePath__nimblecmd_2053)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, NimStringDesc* p, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
569 N_LIB_PRIVATE N_NIMCALL(TGenericSeq*, incrSeqV3)(TGenericSeq* s, TNimType* typ);
570 N_LIB_PRIVATE N_NIMCALL(tySequence__sM4lkSb7zS6F7OVMvW9cffQ*, nsuSplitLines)(NimStringDesc* s, NIM_BOOL keepEol);
571 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, readFile__systemZio_472)(NimStringDesc* filename);
572 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, nosisAbsolute)(NimStringDesc* path);
573 static N_INLINE(NI, find__nimblecmd_2112)(tySequence__sM4lkSb7zS6F7OVMvW9cffQ* a, NimStringDesc* item);
574 N_LIB_PRIVATE N_NIMCALL(void, delete__nimblecmd_2131)(tySequence__sM4lkSb7zS6F7OVMvW9cffQ** x, NI i);
575 extern TNimType NTIseqLstringT__sM4lkSb7zS6F7OVMvW9cffQ_;
576 STRING_LITERAL(TM__asNQM9aynXXg9ccUABbReyew_3, ".", 1);
577 STRING_LITERAL(TM__asNQM9aynXXg9ccUABbReyew_4, "..", 2);
578 STRING_LITERAL(TM__asNQM9aynXXg9ccUABbReyew_5, "-#", 2);
579 STRING_LITERAL(TM__asNQM9aynXXg9ccUABbReyew_6, "nimblecmd.nim(26, 11) `ver.len == 0 or ver[0] in {\'#\', \'\\x00\'} + Digits` Wrong version: ", 88);
580 STRING_LITERAL(TM__asNQM9aynXXg9ccUABbReyew_7, "#head", 5);
581 N_LIB_PRIVATE TNimType NTIkeyvaluepair__9cdgeqdY7FRioNKBoD6G66A_;
582 extern TNimType NTIint__rR5Bzr1D5krxoo1NcNyeMA_;
583 extern TNimType NTIstring__77mFvmsOLKik79ci2hXkHEg_;
584 N_LIB_PRIVATE TNimType NTItupleLversion58string_checksum58stringT__UV3llMMYFckfui8YMBuUZA_;
585 N_LIB_PRIVATE TNimType NTIkeyvaluepairseq__6j25whH7XTBoIXcM0x1T7A_;
586 STRING_LITERAL(TM__asNQM9aynXXg9ccUABbReyew_10, "invalid package name: ", 22);
587 STRING_LITERAL(TM__asNQM9aynXXg9ccUABbReyew_12, "/home/runner/work/nightlies/nightlies/nim/compiler/nimblecmd.nim", 64);
588 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__asNQM9aynXXg9ccUABbReyew_11 = {((NimStringDesc*) &TM__asNQM9aynXXg9ccUABbReyew_12),
589 ((NI) 113),
590 ((NI) 14)}
591 ;
592 STRING_LITERAL(TM__asNQM9aynXXg9ccUABbReyew_13, "*.nimble-link", 13);
593 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__asNQM9aynXXg9ccUABbReyew_15 = {((NimStringDesc*) &TM__asNQM9aynXXg9ccUABbReyew_12),
594 ((NI) 139),
595 ((NI) 11)}
596 ;
597 extern tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ gch__system_5226;
598 extern TSafePoint* excHandler__system_2565;
599 extern TSafePoint* excHandler__system_2565;
600 extern TSafePoint* excHandler__system_2565;
601 extern TSafePoint* excHandler__system_2565;
N_INLINE(NI,find__nimblecmd_20)602 static N_INLINE(NI, find__nimblecmd_20)(NimStringDesc** a, NI aLen_0, NimStringDesc* item) {
603 NI result;
604 { result = (NI)0;
605 result = ((NI) 0);
606 {
607 NimStringDesc** i;
608 NI i_2;
609 i = (NimStringDesc**)0;
610 i_2 = ((NI) 0);
611 {
612 while (1) {
613 if (!(i_2 < aLen_0)) goto LA3;
614 i = (&a[i_2]);
615 {
616 NIM_BOOL T6_;
617 T6_ = (NIM_BOOL)0;
618 T6_ = eqeq___options_4073((*i), item);
619 if (!T6_) goto LA7_;
620 goto BeforeRet_;
621 }
622 LA7_: ;
623 result += ((NI) 1);
624 i_2 += ((NI) 1);
625 } LA3: ;
626 }
627 }
628 result = ((NI) -1);
629 }BeforeRet_: ;
630 return result;
631 }
N_INLINE(NIM_BOOL,contains__nimblecmd_15)632 static N_INLINE(NIM_BOOL, contains__nimblecmd_15)(NimStringDesc** a, NI aLen_0, NimStringDesc* item) {
633 NIM_BOOL result;
634 NI T1_;
635 { result = (NIM_BOOL)0;
636 T1_ = (NI)0;
637 T1_ = find__nimblecmd_20(a, aLen_0, item);
638 result = (((NI) 0) <= T1_);
639 goto BeforeRet_;
640 }BeforeRet_: ;
641 return result;
642 }
N_INLINE(NI,pluspercent___system_696)643 static N_INLINE(NI, pluspercent___system_696)(NI x, NI y) {
644 NI result;
645 result = (NI)0;
646 result = ((NI) ((NU)((NU64)(((NU) (x))) + (NU64)(((NU) (y))))));
647 return result;
648 }
N_INLINE(void,incRef__system_5317)649 static N_INLINE(void, incRef__system_5317)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
650 (*c).refcount = pluspercent___system_696((*c).refcount, ((NI) 8));
651 }
N_INLINE(NI,minuspercent___system_716)652 static N_INLINE(NI, minuspercent___system_716)(NI x, NI y) {
653 NI result;
654 result = (NI)0;
655 result = ((NI) ((NU)((NU64)(((NU) (x))) - (NU64)(((NU) (y))))));
656 return result;
657 }
N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g *,usrToCell__system_5279)658 static N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*, usrToCell__system_5279)(void* usr) {
659 tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* result;
660 NI T1_;
661 result = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
662 T1_ = (NI)0;
663 T1_ = minuspercent___system_716(((NI) (ptrdiff_t) (usr)), ((NI) 16));
664 result = ((tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*) (T1_));
665 return result;
666 }
N_INLINE(NIM_BOOL,ltpercent___system_1005)667 static N_INLINE(NIM_BOOL, ltpercent___system_1005)(NI x, NI y) {
668 NIM_BOOL result;
669 result = (NIM_BOOL)0;
670 result = ((NU64)(((NU) (x))) < (NU64)(((NU) (y))));
671 return result;
672 }
N_INLINE(void,rtlAddZCT__system_5322)673 static N_INLINE(void, rtlAddZCT__system_5322)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
674 addZCT__system_5273((&gch__system_5226.zct), c);
675 }
N_INLINE(void,decRef__system_5324)676 static N_INLINE(void, decRef__system_5324)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
677 (*c).refcount = minuspercent___system_716((*c).refcount, ((NI) 8));
678 {
679 NIM_BOOL T3_;
680 T3_ = (NIM_BOOL)0;
681 T3_ = ltpercent___system_1005((*c).refcount, ((NI) 8));
682 if (!T3_) goto LA4_;
683 rtlAddZCT__system_5322(c);
684 }
685 LA4_: ;
686 }
N_INLINE(void,asgnRef)687 static N_INLINE(void, asgnRef)(void** dest, void* src) {
688 {
689 tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T5_;
690 if (!!((src == NIM_NIL))) goto LA3_;
691 T5_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
692 T5_ = usrToCell__system_5279(src);
693 incRef__system_5317(T5_);
694 }
695 LA3_: ;
696 {
697 tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T10_;
698 if (!!(((*dest) == NIM_NIL))) goto LA8_;
699 T10_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
700 T10_ = usrToCell__system_5279((*dest));
701 decRef__system_5324(T10_);
702 }
703 LA8_: ;
704 (*dest) = src;
705 }
N_INLINE(void,nimGCunrefNoCycle)706 static N_INLINE(void, nimGCunrefNoCycle)(void* p) {
707 tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T1_;
708 T1_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
709 T1_ = usrToCell__system_5279(p);
710 decRef__system_5324(T1_);
711 }
N_NIMCALL(void,insert__nimblecmd_47)712 N_LIB_PRIVATE N_NIMCALL(void, insert__nimblecmd_47)(tySequence__sM4lkSb7zS6F7OVMvW9cffQ** x, NimStringDesc* item, NI i) {
713 NI xlX60gensym1_;
714 NI T1_;
715 NI jX60gensym1_;
716 NimStringDesc* T4_;
717 T1_ = ((*x) ? (*x)->Sup.len : 0);
718 xlX60gensym1_ = T1_;
719 unsureAsgnRef((void**) (&(*x)), (tySequence__sM4lkSb7zS6F7OVMvW9cffQ*) setLengthSeqV2(&((*x))->Sup, (&NTIseqLstringT__sM4lkSb7zS6F7OVMvW9cffQ_), ((NI) ((NI)(xlX60gensym1_ + ((NI) 1))))));
720 jX60gensym1_ = (NI)(xlX60gensym1_ - ((NI) 1));
721 {
722 while (1) {
723 if (!(((NI) (i)) <= jX60gensym1_)) goto LA3;
724 asgnRef((void**) (&(*x)->data[(NI)(jX60gensym1_ + ((NI) 1))]), (*x)->data[jX60gensym1_]);
725 jX60gensym1_ -= ((NI) 1);
726 } LA3: ;
727 }
728 T4_ = NIM_NIL;
729 T4_ = (*x)->data[i]; (*x)->data[i] = copyStringRC1(item);
730 if (T4_) nimGCunrefNoCycle(T4_);
731 }
N_NIMCALL(void,addPath__nimblecmd_11)732 N_LIB_PRIVATE N_NIMCALL(void, addPath__nimblecmd_11)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, NimStringDesc* path, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info) {
733 {
734 NIM_BOOL T3_;
735 T3_ = (NIM_BOOL)0;
736 T3_ = contains__nimblecmd_15((*conf).searchPaths->data, ((*conf).searchPaths ? (*conf).searchPaths->Sup.len : 0), path);
737 if (!!(T3_)) goto LA4_;
738 insert__nimblecmd_47((&(*conf).searchPaths), path, ((NI) 0));
739 }
740 LA4_: ;
741 }
N_INLINE(void,nimSetMem__systemZmemory_7)742 static N_INLINE(void, nimSetMem__systemZmemory_7)(void* a, int v, NI size) {
743 void* T1_;
744 T1_ = (void*)0;
745 T1_ = memset(a, v, ((size_t) (size)));
746 }
N_INLINE(void,nimZeroMem)747 static N_INLINE(void, nimZeroMem)(void* p, NI size) {
748 nimSetMem__systemZmemory_7(p, ((int) 0), size);
749 }
N_INLINE(NCSTRING,nimToCStringConv)750 static N_INLINE(NCSTRING, nimToCStringConv)(NimStringDesc* s) {
751 NCSTRING result;
752 result = (NCSTRING)0;
753 {
754 NIM_BOOL T3_;
755 T3_ = (NIM_BOOL)0;
756 T3_ = (s == ((NimStringDesc*) NIM_NIL));
757 if (T3_) goto LA4_;
758 T3_ = ((*s).Sup.len == ((NI) 0));
759 LA4_: ;
760 if (!T3_) goto LA5_;
761 result = "";
762 }
763 goto LA1_;
764 LA5_: ;
765 {
766 result = ((NCSTRING) ((*s).data));
767 }
768 LA1_: ;
769 return result;
770 }
N_INLINE(void,pushSafePoint)771 static N_INLINE(void, pushSafePoint)(TSafePoint* s) {
772 (*s).prev = excHandler__system_2565;
773 excHandler__system_2565 = s;
774 }
N_INLINE(int,nimCmpMem)775 static N_INLINE(int, nimCmpMem)(void* a, void* b, NI size) {
776 int result;
777 result = (int)0;
778 result = memcmp(a, b, ((size_t) (size)));
779 return result;
780 }
N_INLINE(NIM_BOOL,equalMem__system_1735)781 static N_INLINE(NIM_BOOL, equalMem__system_1735)(void* a, void* b, NI size) {
782 NIM_BOOL result;
783 int T1_;
784 result = (NIM_BOOL)0;
785 T1_ = (int)0;
786 T1_ = nimCmpMem(a, b, size);
787 result = (T1_ == ((NI32) 0));
788 return result;
789 }
N_INLINE(NIM_BOOL,eqStrings)790 static N_INLINE(NIM_BOOL, eqStrings)(NimStringDesc* a, NimStringDesc* b) {
791 NIM_BOOL result;
792 NI alen;
793 NI blen;
794 { result = (NIM_BOOL)0;
795 alen = (a ? a->Sup.len : 0);
796 blen = (b ? b->Sup.len : 0);
797 {
798 if (!(alen == blen)) goto LA3_;
799 {
800 if (!(alen == ((NI) 0))) goto LA7_;
801 result = NIM_TRUE;
802 goto BeforeRet_;
803 }
804 LA7_: ;
805 result = equalMem__system_1735(((void*) ((&a->data[((NI) 0)]))), ((void*) ((&b->data[((NI) 0)]))), ((NI) (alen)));
806 goto BeforeRet_;
807 }
808 LA3_: ;
809 }BeforeRet_: ;
810 return result;
811 }
N_INLINE(NimStringDesc *,slash___pureZos_121)812 static N_INLINE(NimStringDesc*, slash___pureZos_121)(NimStringDesc* head, NimStringDesc* tail) {
813 NimStringDesc* result;
814 result = NIM_NIL;
815 result = nosjoinPath(head, tail);
816 return result;
817 }
N_INLINE(NimStringDesc *,X5BX5D___pureZunicode_865)818 static N_INLINE(NimStringDesc*, X5BX5D___pureZunicode_865)(NimStringDesc* s, tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA x) {
819 NimStringDesc* result;
820 NI a;
821 NI L;
822 result = NIM_NIL;
823 a = x.a;
824 L = (NI)((NI)(x.b - a) + ((NI) 1));
825 result = mnewString(((NI) (L)));
826 {
827 NI i;
828 NI i_2;
829 i = (NI)0;
830 i_2 = ((NI) 0);
831 {
832 while (1) {
833 if (!(i_2 < L)) goto LA3;
834 i = i_2;
835 result->data[i] = s->data[(NI)(i + a)];
836 i_2 += ((NI) 1);
837 } LA3: ;
838 }
839 }
840 return result;
841 }
N_INLINE(tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA,dotdot___pureZunicode_840)842 static N_INLINE(tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA, dotdot___pureZunicode_840)(NI a, NI b) {
843 tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA result;
844 nimZeroMem((void*)(&result), sizeof(tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA));
845 nimZeroMem((void*)(&result), sizeof(tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA));
846 result.a = a;
847 result.b = b;
848 return result;
849 }
N_NIMCALL(void,getPathVersionChecksum__nimblecmd_171)850 N_LIB_PRIVATE N_NIMCALL(void, getPathVersionChecksum__nimblecmd_171)(NimStringDesc* p, tyTuple__7q7q3E6Oj24ZNVJb9aonhAg* Result) {
851 NI checksumSeparatorIndex;
852 NI versionSeparatorIndex;
853 tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA T21_;
854 unsureAsgnRef((void**)&(*Result).Field0, NIM_NIL);
855 unsureAsgnRef((void**)&(*Result).Field1, NIM_NIL);
856 unsureAsgnRef((void**)&(*Result).Field2, NIM_NIL);
857 checksumSeparatorIndex = nsuRFindChar(p, 45, ((NI) 0), ((NI) -1));
858 {
859 if (!!((checksumSeparatorIndex == ((NI) -1)))) goto LA3_;
860 unsureAsgnRef((void**) (&(*Result).Field2), substr__system_7766(p, (NI)(checksumSeparatorIndex + ((NI) 1))));
861 {
862 NIM_BOOL T7_;
863 T7_ = (NIM_BOOL)0;
864 T7_ = isValidSha1Hash__stdZsha49_949((*Result).Field2);
865 if (!!(T7_)) goto LA8_;
866 unsureAsgnRef((void**) (&(*Result).Field2), ((NimStringDesc*) NIM_NIL));
867 checksumSeparatorIndex = (p ? p->Sup.len : 0);
868 }
869 LA8_: ;
870 }
871 goto LA1_;
872 LA3_: ;
873 {
874 checksumSeparatorIndex = (p ? p->Sup.len : 0);
875 }
876 LA1_: ;
877 versionSeparatorIndex = nsuRFindStr(p, ((NimStringDesc*) &TM__asNQM9aynXXg9ccUABbReyew_5), ((NI) 0), (NI)(checksumSeparatorIndex - ((NI) 1)));
878 {
879 if (!!((versionSeparatorIndex == ((NI) -1)))) goto LA13_;
880 unsureAsgnRef((void**) (&(*Result).Field1), substr__system_7754(p, (NI)(versionSeparatorIndex + ((NI) 1)), (NI)(checksumSeparatorIndex - ((NI) 1))));
881 }
882 goto LA11_;
883 LA13_: ;
884 {
885 versionSeparatorIndex = nsuRFindChar(p, 45, ((NI) 0), (NI)(checksumSeparatorIndex - ((NI) 1)));
886 {
887 if (!!((versionSeparatorIndex == ((NI) -1)))) goto LA18_;
888 unsureAsgnRef((void**) (&(*Result).Field1), substr__system_7754(p, (NI)(versionSeparatorIndex + ((NI) 1)), (NI)(checksumSeparatorIndex - ((NI) 1))));
889 }
890 goto LA16_;
891 LA18_: ;
892 {
893 versionSeparatorIndex = checksumSeparatorIndex;
894 }
895 LA16_: ;
896 }
897 LA11_: ;
898 T21_ = dotdot___pureZunicode_840(((NI) 0), (NI)(versionSeparatorIndex - ((NI) 1)));
899 unsureAsgnRef((void**) (&(*Result).Field0), X5BX5D___pureZunicode_865(p, T21_));
900 }
N_NIMCALL(NIM_BOOL,isValidVersion__nimblecmd_135)901 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isValidVersion__nimblecmd_135)(NimStringDesc* v) {
902 NIM_BOOL result;
903 { result = (NIM_BOOL)0;
904 {
905 if (!(((NI) 0) < (v ? v->Sup.len : 0))) goto LA3_;
906 {
907 if (!(((NU8)(v->data[((NI) 0)])) == ((NU8)(35)) || ((NU8)(v->data[((NI) 0)])) >= ((NU8)(48)) && ((NU8)(v->data[((NI) 0)])) <= ((NU8)(57)))) goto LA7_;
908 result = NIM_TRUE;
909 goto BeforeRet_;
910 }
911 LA7_: ;
912 }
913 LA3_: ;
914 }BeforeRet_: ;
915 return result;
916 }
N_INLINE(void,nimCopyMem)917 static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size) {
918 void* T1_;
919 T1_ = (void*)0;
920 T1_ = memcpy(dest, source, ((size_t) (size)));
921 }
N_INLINE(void,copyMem__system_1727)922 static N_INLINE(void, copyMem__system_1727)(void* dest, void* source, NI size) {
923 nimCopyMem(dest, source, size);
924 }
N_INLINE(void,appendString)925 static N_INLINE(void, appendString)(NimStringDesc* dest, NimStringDesc* src) {
926 {
927 if (!!((src == ((NimStringDesc*) NIM_NIL)))) goto LA3_;
928 copyMem__system_1727(((void*) ((&(*dest).data[(*dest).Sup.len]))), ((void*) ((*src).data)), ((NI) ((NI)((*src).Sup.len + ((NI) 1)))));
929 (*dest).Sup.len += (*src).Sup.len;
930 }
931 LA3_: ;
932 }
N_NIMCALL(NimStringDesc *,newVersion__nimblecmd_107)933 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, newVersion__nimblecmd_107)(NimStringDesc* ver) {
934 NimStringDesc* result;
935 { result = NIM_NIL;
936 {
937 NIM_BOOL T3_;
938 NimStringDesc* T7_;
939 T3_ = (NIM_BOOL)0;
940 T3_ = ((ver ? ver->Sup.len : 0) == ((NI) 0));
941 if (T3_) goto LA4_;
942 T3_ = (((NU8)(ver->data[((NI) 0)])) == ((NU8)(0)) || ((NU8)(ver->data[((NI) 0)])) == ((NU8)(35)) || ((NU8)(ver->data[((NI) 0)])) >= ((NU8)(48)) && ((NU8)(ver->data[((NI) 0)])) <= ((NU8)(57)));
943 LA4_: ;
944 if (!!(T3_)) goto LA5_;
945 T7_ = NIM_NIL;
946 T7_ = rawNewString((ver ? ver->Sup.len : 0) + 88);
947 appendString(T7_, ((NimStringDesc*) &TM__asNQM9aynXXg9ccUABbReyew_6));
948 appendString(T7_, ver);
949 failedAssertImpl__systemZassertions_56(T7_);
950 }
951 LA5_: ;
952 result = copyString(ver);
953 goto BeforeRet_;
954 }BeforeRet_: ;
955 return result;
956 }
N_NIMCALL(NIM_BOOL,isSpecial__nimblecmd_132)957 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isSpecial__nimblecmd_132)(NimStringDesc* ver) {
958 NIM_BOOL result;
959 NIM_BOOL T1_;
960 { result = (NIM_BOOL)0;
961 T1_ = (NIM_BOOL)0;
962 T1_ = (((NI) 0) < (ver ? ver->Sup.len : 0));
963 if (!(T1_)) goto LA2_;
964 T1_ = ((NU8)(ver->data[((NI) 0)]) == (NU8)(35));
965 LA2_: ;
966 result = T1_;
967 goto BeforeRet_;
968 }BeforeRet_: ;
969 return result;
970 }
N_NIMCALL(NIM_BOOL,lt___nimblecmd_146)971 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, lt___nimblecmd_146)(NimStringDesc* ver, NimStringDesc* ver2) {
972 NIM_BOOL result;
973 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* sVer;
974 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* sVer2;
975 { result = (NIM_BOOL)0;
976 {
977 NIM_BOOL T3_;
978 T3_ = (NIM_BOOL)0;
979 T3_ = isSpecial__nimblecmd_132(ver);
980 if (T3_) goto LA4_;
981 T3_ = isSpecial__nimblecmd_132(ver2);
982 LA4_: ;
983 if (!T3_) goto LA5_;
984 {
985 NIM_BOOL T9_;
986 NimStringDesc* T11_;
987 NimStringDesc* T14_;
988 T9_ = (NIM_BOOL)0;
989 T9_ = isSpecial__nimblecmd_132(ver2);
990 if (!(T9_)) goto LA10_;
991 T11_ = NIM_NIL;
992 T11_ = nsuNormalize(ver2);
993 T9_ = eqStrings(T11_, ((NimStringDesc*) &TM__asNQM9aynXXg9ccUABbReyew_7));
994 LA10_: ;
995 if (!T9_) goto LA12_;
996 T14_ = NIM_NIL;
997 T14_ = nsuNormalize(ver);
998 result = !(eqStrings(T14_, ((NimStringDesc*) &TM__asNQM9aynXXg9ccUABbReyew_7)));
999 goto BeforeRet_;
1000 }
1001 LA12_: ;
1002 {
1003 NIM_BOOL T17_;
1004 NimStringDesc* T20_;
1005 T17_ = (NIM_BOOL)0;
1006 T17_ = isSpecial__nimblecmd_132(ver2);
1007 if (!!(T17_)) goto LA18_;
1008 T20_ = NIM_NIL;
1009 T20_ = nsuNormalize(ver);
1010 result = !(eqStrings(T20_, ((NimStringDesc*) &TM__asNQM9aynXXg9ccUABbReyew_7)));
1011 goto BeforeRet_;
1012 }
1013 LA18_: ;
1014 }
1015 LA5_: ;
1016 sVer = nsuSplitChar(ver, 46, ((NI) -1));
1017 sVer2 = nsuSplitChar(ver2, 46, ((NI) -1));
1018 {
1019 NI i;
1020 NI colontmp_;
1021 NI T22_;
1022 NI T23_;
1023 NI i_2;
1024 i = (NI)0;
1025 colontmp_ = (NI)0;
1026 T22_ = (sVer ? sVer->Sup.len : 0);
1027 T23_ = (sVer2 ? sVer2->Sup.len : 0);
1028 colontmp_ = ((T22_ >= T23_) ? T22_ : T23_);
1029 i_2 = ((NI) 0);
1030 {
1031 while (1) {
1032 NI sVerI;
1033 NI sVerI2;
1034 if (!(i_2 < colontmp_)) goto LA25;
1035 i = i_2;
1036 sVerI = ((NI) 0);
1037 {
1038 NI T28_;
1039 NI T31_;
1040 T28_ = (sVer ? sVer->Sup.len : 0);
1041 if (!(i < T28_)) goto LA29_;
1042 T31_ = (NI)0;
1043 T31_ = npuParseInt(sVer->data[i], (&sVerI), ((NI) 0));
1044 (void)(T31_);
1045 }
1046 LA29_: ;
1047 sVerI2 = ((NI) 0);
1048 {
1049 NI T34_;
1050 NI T37_;
1051 T34_ = (sVer2 ? sVer2->Sup.len : 0);
1052 if (!(i < T34_)) goto LA35_;
1053 T37_ = (NI)0;
1054 T37_ = npuParseInt(sVer2->data[i], (&sVerI2), ((NI) 0));
1055 (void)(T37_);
1056 }
1057 LA35_: ;
1058 {
1059 if (!(sVerI < sVerI2)) goto LA40_;
1060 result = NIM_TRUE;
1061 goto BeforeRet_;
1062 }
1063 goto LA38_;
1064 LA40_: ;
1065 {
1066 if (!(sVerI == sVerI2)) goto LA43_;
1067 }
1068 goto LA38_;
1069 LA43_: ;
1070 {
1071 result = NIM_FALSE;
1072 goto BeforeRet_;
1073 }
1074 LA38_: ;
1075 i_2 += ((NI) 1);
1076 } LA25: ;
1077 }
1078 }
1079 }BeforeRet_: ;
1080 return result;
1081 }
N_INLINE(NIM_BOOL,isFilled__pureZcollectionsZtables_31)1082 static N_INLINE(NIM_BOOL, isFilled__pureZcollectionsZtables_31)(NI hcode) {
1083 NIM_BOOL result;
1084 result = (NIM_BOOL)0;
1085 result = !((hcode == ((NI) 0)));
1086 return result;
1087 }
N_INLINE(NI,nextTry__pureZcollectionsZtables_34)1088 static N_INLINE(NI, nextTry__pureZcollectionsZtables_34)(NI h, NI maxHash) {
1089 NI result;
1090 result = (NI)0;
1091 result = (NI)((NI)(h + ((NI) 1)) & maxHash);
1092 return result;
1093 }
N_INLINE(NI,rawGet__nimblecmd_290)1094 static N_INLINE(NI, rawGet__nimblecmd_290)(tyObject_Table__d05ldtnZIkg8hVpY02dsdA t, NimStringDesc* key, NI* hc) {
1095 NI result;
1096 NI h;
1097 NI T10_;
1098 { result = (NI)0;
1099 (*hc) = hash__pureZhashes_279(key);
1100 {
1101 if (!((*hc) == ((NI) 0))) goto LA3_;
1102 (*hc) = ((NI) 314159265);
1103 }
1104 LA3_: ;
1105 {
1106 NI T7_;
1107 T7_ = (t.data ? t.data->Sup.len : 0);
1108 if (!(T7_ == ((NI) 0))) goto LA8_;
1109 result = ((NI) -1);
1110 goto BeforeRet_;
1111 }
1112 LA8_: ;
1113 T10_ = ((t.data ? t.data->Sup.len : 0)-1);
1114 h = (NI)((*hc) & T10_);
1115 {
1116 while (1) {
1117 NIM_BOOL T13_;
1118 NI T20_;
1119 T13_ = (NIM_BOOL)0;
1120 T13_ = isFilled__pureZcollectionsZtables_31(t.data->data[h].Field0);
1121 if (!T13_) goto LA12;
1122 {
1123 NIM_BOOL T16_;
1124 T16_ = (NIM_BOOL)0;
1125 T16_ = (t.data->data[h].Field0 == (*hc));
1126 if (!(T16_)) goto LA17_;
1127 T16_ = eqStrings(t.data->data[h].Field1, key);
1128 LA17_: ;
1129 if (!T16_) goto LA18_;
1130 result = h;
1131 goto BeforeRet_;
1132 }
1133 LA18_: ;
1134 T20_ = ((t.data ? t.data->Sup.len : 0)-1);
1135 h = nextTry__pureZcollectionsZtables_34(h, T20_);
1136 } LA12: ;
1137 }
1138 result = (NI)(((NI) -1) - h);
1139 }BeforeRet_: ;
1140 return result;
1141 }
N_NIMCALL(void,getOrDefault__nimblecmd_281)1142 N_LIB_PRIVATE N_NIMCALL(void, getOrDefault__nimblecmd_281)(tyObject_Table__d05ldtnZIkg8hVpY02dsdA t, NimStringDesc* key, tyTuple__UV3llMMYFckfui8YMBuUZA* Result) {
1143 NI hcX60gensym14_;
1144 NI indexX60gensym14_;
1145 unsureAsgnRef((void**)&(*Result).Field0, NIM_NIL);
1146 unsureAsgnRef((void**)&(*Result).Field1, NIM_NIL);
1147 hcX60gensym14_ = (NI)0;
1148 indexX60gensym14_ = rawGet__nimblecmd_290(t, key, (&hcX60gensym14_));
1149 {
1150 if (!(((NI) 0) <= indexX60gensym14_)) goto LA3_;
1151 unsureAsgnRef((void**) (&(*Result).Field0), copyString(t.data->data[indexX60gensym14_].Field2.Field0));
1152 unsureAsgnRef((void**) (&(*Result).Field1), copyString(t.data->data[indexX60gensym14_].Field2.Field1));
1153 }
1154 LA3_: ;
1155 }
N_NIMCALL(NIM_BOOL,hasKey__nimblecmd_623)1156 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasKey__nimblecmd_623)(tyObject_Table__d05ldtnZIkg8hVpY02dsdA t, NimStringDesc* key) {
1157 NIM_BOOL result;
1158 NI hc;
1159 NI T1_;
1160 result = (NIM_BOOL)0;
1161 hc = (NI)0;
1162 T1_ = (NI)0;
1163 T1_ = rawGet__nimblecmd_290(t, key, (&hc));
1164 result = (((NI) 0) <= T1_);
1165 return result;
1166 }
N_INLINE(NI,slotsNeeded__pureZcollectionsZtables_42)1167 static N_INLINE(NI, slotsNeeded__pureZcollectionsZtables_42)(NI count) {
1168 NI result;
1169 result = (NI)0;
1170 result = nextPowerOfTwo__pureZmath_177((NI)((NI)((NI)(((NI) (count)) * ((NI) 3)) / ((NI) 2)) + ((NI) 4)));
1171 return result;
1172 }
N_NIMCALL(void,Marker_tySequence__6j25whH7XTBoIXcM0x1T7A)1173 static N_NIMCALL(void, Marker_tySequence__6j25whH7XTBoIXcM0x1T7A)(void* p, NI op) {
1174 tySequence__6j25whH7XTBoIXcM0x1T7A* a;
1175 NI T1_;
1176 a = (tySequence__6j25whH7XTBoIXcM0x1T7A*)p;
1177 T1_ = (NI)0;
1178 for (T1_ = 0; T1_ < (a ? a->Sup.len : 0); T1_++) {
1179 nimGCvisit((void*)a->data[T1_].Field1, op);
1180 nimGCvisit((void*)a->data[T1_].Field2.Field0, op);
1181 nimGCvisit((void*)a->data[T1_].Field2.Field1, op);
1182 }
1183 }
N_INLINE(NIM_BOOL,mustRehash__nimblecmd_849)1184 static N_INLINE(NIM_BOOL, mustRehash__nimblecmd_849)(tyObject_Table__d05ldtnZIkg8hVpY02dsdA t) {
1185 NIM_BOOL result;
1186 NIM_BOOL T1_;
1187 NI T2_;
1188 NI T4_;
1189 result = (NIM_BOOL)0;
1190 T1_ = (NIM_BOOL)0;
1191 T2_ = (t.data ? t.data->Sup.len : 0);
1192 T1_ = ((NI)(T2_ * ((NI) 2)) < (NI)(t.counter * ((NI) 3)));
1193 if (T1_) goto LA3_;
1194 T4_ = (t.data ? t.data->Sup.len : 0);
1195 T1_ = ((NI)(T4_ - t.counter) < ((NI) 4));
1196 LA3_: ;
1197 result = T1_;
1198 return result;
1199 }
N_NIMCALL(void,rawInsert__nimblecmd_1306)1200 N_LIB_PRIVATE N_NIMCALL(void, rawInsert__nimblecmd_1306)(tyObject_Table__d05ldtnZIkg8hVpY02dsdA* t, tySequence__6j25whH7XTBoIXcM0x1T7A** data, NimStringDesc* key, tyTuple__UV3llMMYFckfui8YMBuUZA val, NI hc, NI h) {
1201 NimStringDesc* T1_;
1202 NimStringDesc* T2_;
1203 NimStringDesc* T3_;
1204 T1_ = NIM_NIL;
1205 T1_ = (*data)->data[h].Field1; (*data)->data[h].Field1 = copyStringRC1(key);
1206 if (T1_) nimGCunrefNoCycle(T1_);
1207 T2_ = NIM_NIL;
1208 T2_ = (*data)->data[h].Field2.Field0; (*data)->data[h].Field2.Field0 = copyStringRC1(val.Field0);
1209 if (T2_) nimGCunrefNoCycle(T2_);
1210 T3_ = NIM_NIL;
1211 T3_ = (*data)->data[h].Field2.Field1; (*data)->data[h].Field2.Field1 = copyStringRC1(val.Field1);
1212 if (T3_) nimGCunrefNoCycle(T3_);
1213 (*data)->data[h].Field0 = hc;
1214 }
N_NIMCALL(void,enlarge__nimblecmd_1002)1215 N_LIB_PRIVATE N_NIMCALL(void, enlarge__nimblecmd_1002)(tyObject_Table__d05ldtnZIkg8hVpY02dsdA* t) {
1216 tySequence__6j25whH7XTBoIXcM0x1T7A* n;
1217 NI T1_;
1218 tySequence__6j25whH7XTBoIXcM0x1T7A* T2_;
1219 n = NIM_NIL;
1220 T1_ = ((*t).data ? (*t).data->Sup.len : 0);
1221 n = (tySequence__6j25whH7XTBoIXcM0x1T7A*) newSeq((&NTIkeyvaluepairseq__6j25whH7XTBoIXcM0x1T7A_), ((NI) ((NI)(T1_ * ((NI) 2)))));
1222 T2_ = NIM_NIL;
1223 T2_ = (*t).data;
1224 unsureAsgnRef((void**) (&(*t).data), n);
1225 n = T2_;
1226 {
1227 NI i;
1228 NI colontmp_;
1229 NI T4_;
1230 NI res;
1231 i = (NI)0;
1232 colontmp_ = (NI)0;
1233 T4_ = ((n ? n->Sup.len : 0)-1);
1234 colontmp_ = T4_;
1235 res = ((NI) 0);
1236 {
1237 while (1) {
1238 NI eh;
1239 if (!(res <= colontmp_)) goto LA6;
1240 i = res;
1241 eh = n->data[i].Field0;
1242 {
1243 NIM_BOOL T9_;
1244 NI j;
1245 NI T12_;
1246 NimStringDesc* T17_;
1247 tyTuple__UV3llMMYFckfui8YMBuUZA T18_;
1248 T9_ = (NIM_BOOL)0;
1249 T9_ = isFilled__pureZcollectionsZtables_31(eh);
1250 if (!T9_) goto LA10_;
1251 T12_ = (((*t).data ? (*t).data->Sup.len : 0)-1);
1252 j = (NI)(eh & T12_);
1253 {
1254 while (1) {
1255 NIM_BOOL T15_;
1256 NI T16_;
1257 T15_ = (NIM_BOOL)0;
1258 T15_ = isFilled__pureZcollectionsZtables_31((*t).data->data[j].Field0);
1259 if (!T15_) goto LA14;
1260 T16_ = (((*t).data ? (*t).data->Sup.len : 0)-1);
1261 j = nextTry__pureZcollectionsZtables_34(j, T16_);
1262 } LA14: ;
1263 }
1264 T17_ = NIM_NIL;
1265 T17_ = n->data[i].Field1;
1266 asgnRef((void**) (&n->data[i].Field1), NIM_NIL);
1267 nimZeroMem((void*)(&T18_), sizeof(tyTuple__UV3llMMYFckfui8YMBuUZA));
1268 T18_.Field0 = n->data[i].Field2.Field0;
1269 T18_.Field1 = n->data[i].Field2.Field1;
1270 unsureAsgnRef((void**)&n->data[i].Field2.Field0, NIM_NIL);
1271 unsureAsgnRef((void**)&n->data[i].Field2.Field1, NIM_NIL);
1272 rawInsert__nimblecmd_1306(t, (&(*t).data), T17_, T18_, eh, j);
1273 }
1274 LA10_: ;
1275 res += ((NI) 1);
1276 } LA6: ;
1277 }
1278 }
1279 }
N_INLINE(NI,rawGetKnownHC__nimblecmd_1475)1280 static N_INLINE(NI, rawGetKnownHC__nimblecmd_1475)(tyObject_Table__d05ldtnZIkg8hVpY02dsdA t, NimStringDesc* key, NI hc) {
1281 NI result;
1282 NI h;
1283 NI T6_;
1284 { result = (NI)0;
1285 {
1286 NI T3_;
1287 T3_ = (t.data ? t.data->Sup.len : 0);
1288 if (!(T3_ == ((NI) 0))) goto LA4_;
1289 result = ((NI) -1);
1290 goto BeforeRet_;
1291 }
1292 LA4_: ;
1293 T6_ = ((t.data ? t.data->Sup.len : 0)-1);
1294 h = (NI)(hc & T6_);
1295 {
1296 while (1) {
1297 NIM_BOOL T9_;
1298 NI T16_;
1299 T9_ = (NIM_BOOL)0;
1300 T9_ = isFilled__pureZcollectionsZtables_31(t.data->data[h].Field0);
1301 if (!T9_) goto LA8;
1302 {
1303 NIM_BOOL T12_;
1304 T12_ = (NIM_BOOL)0;
1305 T12_ = (t.data->data[h].Field0 == hc);
1306 if (!(T12_)) goto LA13_;
1307 T12_ = eqStrings(t.data->data[h].Field1, key);
1308 LA13_: ;
1309 if (!T12_) goto LA14_;
1310 result = h;
1311 goto BeforeRet_;
1312 }
1313 LA14_: ;
1314 T16_ = ((t.data ? t.data->Sup.len : 0)-1);
1315 h = nextTry__pureZcollectionsZtables_34(h, T16_);
1316 } LA8: ;
1317 }
1318 result = (NI)(((NI) -1) - h);
1319 }BeforeRet_: ;
1320 return result;
1321 }
N_NIMCALL(void,X5BX5Deq___nimblecmd_676)1322 N_LIB_PRIVATE N_NIMCALL(void, X5BX5Deq___nimblecmd_676)(tyObject_Table__d05ldtnZIkg8hVpY02dsdA* t, NimStringDesc* key, tyTuple__UV3llMMYFckfui8YMBuUZA val) {
1323 NI hc;
1324 NI index;
1325 {
1326 NI T3_;
1327 NI correctSizeX60gensym19_;
1328 T3_ = ((*t).data ? (*t).data->Sup.len : 0);
1329 if (!(T3_ == ((NI) 0))) goto LA4_;
1330 correctSizeX60gensym19_ = slotsNeeded__pureZcollectionsZtables_42(((NI) 32));
1331 (*t).counter = ((NI) 0);
1332 unsureAsgnRef((void**) (&(*t).data), (tySequence__6j25whH7XTBoIXcM0x1T7A*) newSeq((&NTIkeyvaluepairseq__6j25whH7XTBoIXcM0x1T7A_), ((NI) (correctSizeX60gensym19_))));
1333 }
1334 LA4_: ;
1335 hc = (NI)0;
1336 index = rawGet__nimblecmd_290((*t), key, (&hc));
1337 {
1338 NimStringDesc* T10_;
1339 NimStringDesc* T11_;
1340 if (!(((NI) 0) <= index)) goto LA8_;
1341 T10_ = NIM_NIL;
1342 T10_ = (*t).data->data[index].Field2.Field0; (*t).data->data[index].Field2.Field0 = copyStringRC1(val.Field0);
1343 if (T10_) nimGCunrefNoCycle(T10_);
1344 T11_ = NIM_NIL;
1345 T11_ = (*t).data->data[index].Field2.Field1; (*t).data->data[index].Field2.Field1 = copyStringRC1(val.Field1);
1346 if (T11_) nimGCunrefNoCycle(T11_);
1347 }
1348 goto LA6_;
1349 LA8_: ;
1350 {
1351 {
1352 NI T15_;
1353 NI correctSizeX60gensym22_;
1354 T15_ = ((*t).data ? (*t).data->Sup.len : 0);
1355 if (!(T15_ == ((NI) 0))) goto LA16_;
1356 correctSizeX60gensym22_ = slotsNeeded__pureZcollectionsZtables_42(((NI) 32));
1357 (*t).counter = ((NI) 0);
1358 unsureAsgnRef((void**) (&(*t).data), (tySequence__6j25whH7XTBoIXcM0x1T7A*) newSeq((&NTIkeyvaluepairseq__6j25whH7XTBoIXcM0x1T7A_), ((NI) (correctSizeX60gensym22_))));
1359 }
1360 LA16_: ;
1361 {
1362 NIM_BOOL T20_;
1363 T20_ = (NIM_BOOL)0;
1364 T20_ = mustRehash__nimblecmd_849((*t));
1365 if (!T20_) goto LA21_;
1366 enlarge__nimblecmd_1002(t);
1367 index = rawGetKnownHC__nimblecmd_1475((*t), key, hc);
1368 }
1369 LA21_: ;
1370 index = (NI)(((NI) -1) - index);
1371 rawInsert__nimblecmd_1306(t, (&(*t).data), key, val, hc, index);
1372 (*t).counter += ((NI) 1);
1373 }
1374 LA6_: ;
1375 }
N_NIMCALL(void,addPackage__nimblecmd_206)1376 N_LIB_PRIVATE N_NIMCALL(void, addPackage__nimblecmd_206)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_Table__d05ldtnZIkg8hVpY02dsdA* packages, NimStringDesc* p, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info) {
1377 tyTuple__7q7q3E6Oj24ZNVJb9aonhAg T1_;
1378 NimStringDesc* name;
1379 NimStringDesc* ver;
1380 NimStringDesc* checksum;
1381 nimZeroMem((void*)(&T1_), sizeof(tyTuple__7q7q3E6Oj24ZNVJb9aonhAg));
1382 getPathVersionChecksum__nimblecmd_171(p, (&T1_));
1383 name = NIM_NIL;
1384 name = T1_.Field0;
1385 ver = NIM_NIL;
1386 ver = T1_.Field1;
1387 checksum = NIM_NIL;
1388 checksum = T1_.Field2;
1389 {
1390 NIM_BOOL T4_;
1391 NimStringDesc* version;
1392 T4_ = (NIM_BOOL)0;
1393 T4_ = isValidVersion__nimblecmd_135(ver);
1394 if (!T4_) goto LA5_;
1395 version = newVersion__nimblecmd_107(ver);
1396 {
1397 NIM_BOOL T9_;
1398 tyTuple__UV3llMMYFckfui8YMBuUZA T10_;
1399 NimStringDesc* T11_;
1400 NIM_BOOL T13_;
1401 T9_ = (NIM_BOOL)0;
1402 nimZeroMem((void*)(&T10_), sizeof(tyTuple__UV3llMMYFckfui8YMBuUZA));
1403 getOrDefault__nimblecmd_281((*packages), name, (&T10_));
1404 T11_ = NIM_NIL;
1405 T11_ = newVersion__nimblecmd_107(T10_.Field0);
1406 T9_ = lt___nimblecmd_146(T11_, version);
1407 if (T9_) goto LA12_;
1408 T13_ = (NIM_BOOL)0;
1409 T13_ = hasKey__nimblecmd_623((*packages), name);
1410 T9_ = !(T13_);
1411 LA12_: ;
1412 if (!T9_) goto LA14_;
1413 {
1414 NIM_BOOL T18_;
1415 tyTuple__UV3llMMYFckfui8YMBuUZA T21_;
1416 T18_ = (NIM_BOOL)0;
1417 T18_ = isValidSha1Hash__stdZsha49_949(checksum);
1418 if (!T18_) goto LA19_;
1419 nimZeroMem((void*)(&T21_), sizeof(tyTuple__UV3llMMYFckfui8YMBuUZA));
1420 T21_.Field0 = copyString(version);
1421 T21_.Field1 = copyString(checksum);
1422 X5BX5Deq___nimblecmd_676(packages, name, T21_);
1423 }
1424 goto LA16_;
1425 LA19_: ;
1426 {
1427 tyTuple__UV3llMMYFckfui8YMBuUZA T23_;
1428 nimZeroMem((void*)(&T23_), sizeof(tyTuple__UV3llMMYFckfui8YMBuUZA));
1429 T23_.Field0 = copyString(version);
1430 T23_.Field1 = ((NimStringDesc*) NIM_NIL);
1431 X5BX5Deq___nimblecmd_676(packages, name, T23_);
1432 }
1433 LA16_: ;
1434 }
1435 LA14_: ;
1436 }
1437 goto LA2_;
1438 LA5_: ;
1439 {
1440 NimStringDesc* T25_;
1441 T25_ = NIM_NIL;
1442 T25_ = rawNewString((p ? p->Sup.len : 0) + 22);
1443 appendString(T25_, ((NimStringDesc*) &TM__asNQM9aynXXg9ccUABbReyew_10));
1444 appendString(T25_, p);
1445 liMessage__msgs_1118(conf, info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T25_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__asNQM9aynXXg9ccUABbReyew_11, NIM_FALSE);
1446 }
1447 LA2_: ;
1448 }
N_INLINE(void,popSafePoint)1449 static N_INLINE(void, popSafePoint)(void) {
1450 excHandler__system_2565 = (*excHandler__system_2565).prev;
1451 }
N_NIMCALL(NI,len__nimblecmd_1808)1452 N_LIB_PRIVATE N_NIMCALL(NI, len__nimblecmd_1808)(tyObject_Table__d05ldtnZIkg8hVpY02dsdA t) {
1453 NI result;
1454 result = (NI)0;
1455 result = t.counter;
1456 return result;
1457 }
N_NIMCALL(void,addNimblePath__nimblecmd_2053)1458 N_LIB_PRIVATE N_NIMCALL(void, addNimblePath__nimblecmd_2053)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, NimStringDesc* p, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info) {
1459 NimStringDesc* path;
1460 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* nimbleLinks;
1461 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* resultX60gensym38_;
1462 path = copyString(p);
1463 resultX60gensym38_ = NIM_NIL;
1464 {
1465 NimStringDesc* xX60gensym38_;
1466 NimStringDesc* colontmp_;
1467 glob_t fX60gensym132_;
1468 NI resX60gensym132_;
1469 int T2_;
1470 TSafePoint TM__asNQM9aynXXg9ccUABbReyew_14;
1471 xX60gensym38_ = NIM_NIL;
1472 colontmp_ = NIM_NIL;
1473 colontmp_ = slash___pureZos_121(p, ((NimStringDesc*) &TM__asNQM9aynXXg9ccUABbReyew_13));
1474 nimZeroMem((void*)(&fX60gensym132_), sizeof(glob_t));
1475 resX60gensym132_ = (NI)0;
1476 fX60gensym132_.gl_offs = ((size_t) 0);
1477 fX60gensym132_.gl_pathc = ((size_t) 0);
1478 fX60gensym132_.gl_pathv = ((NCSTRING*) NIM_NIL);
1479 T2_ = (int)0;
1480 T2_ = glob(nimToCStringConv(colontmp_), ((int) 0), NIM_NIL, (&fX60gensym132_));
1481 resX60gensym132_ = ((NI) (T2_));
1482 pushSafePoint(&TM__asNQM9aynXXg9ccUABbReyew_14);
1483 TM__asNQM9aynXXg9ccUABbReyew_14.status = setjmp(TM__asNQM9aynXXg9ccUABbReyew_14.context);
1484 if (TM__asNQM9aynXXg9ccUABbReyew_14.status == 0) {
1485 {
1486 if (!(resX60gensym132_ == ((NI) 0))) goto LA5_;
1487 {
1488 NU64 iX60gensym132_;
1489 NU64 colontmp__2;
1490 NU64 res;
1491 iX60gensym132_ = (NU64)0;
1492 colontmp__2 = (NU64)0;
1493 colontmp__2 = ((NU64) ((NU)((NU64)(fX60gensym132_.gl_pathc) - (NU64)(((NU) 1)))));
1494 res = 0ULL;
1495 {
1496 while (1) {
1497 NimStringDesc* pathX60gensym132_;
1498 if (!((NU64)(res) <= (NU64)(colontmp__2))) goto LA9;
1499 iX60gensym132_ = res;
1500 pathX60gensym132_ = cstrToNimstr(fX60gensym132_.gl_pathv[iX60gensym132_]);
1501 {
1502 NI T14_;
1503 NimStringDesc* T15_;
1504 if (!NIM_TRUE) goto LA12_;
1505 xX60gensym38_ = pathX60gensym132_;
1506 resultX60gensym38_ = (tySequence__sM4lkSb7zS6F7OVMvW9cffQ*) incrSeqV3((TGenericSeq*)(resultX60gensym38_), (&NTIseqLstringT__sM4lkSb7zS6F7OVMvW9cffQ_));
1507 T14_ = resultX60gensym38_->Sup.len++;
1508 T15_ = NIM_NIL;
1509 T15_ = resultX60gensym38_->data[T14_]; resultX60gensym38_->data[T14_] = copyStringRC1(xX60gensym38_);
1510 if (T15_) nimGCunrefNoCycle(T15_);
1511 }
1512 LA12_: ;
1513 res += ((NI) 1);
1514 } LA9: ;
1515 }
1516 }
1517 }
1518 LA5_: ;
1519 popSafePoint();
1520 }
1521 else {
1522 popSafePoint();
1523 }
1524 {
1525 globfree((&fX60gensym132_));
1526 if (TM__asNQM9aynXXg9ccUABbReyew_14.status != 0) nimLeaveFinally();
1527 }
1528 if (TM__asNQM9aynXXg9ccUABbReyew_14.status != 0) reraiseException();
1529 }
1530 nimbleLinks = resultX60gensym38_;
1531 {
1532 NI T20_;
1533 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* nimbleLinkLines;
1534 NimStringDesc* T23_;
1535 T20_ = (nimbleLinks ? nimbleLinks->Sup.len : 0);
1536 if (!(((NI) 0) < T20_)) goto LA21_;
1537 T23_ = NIM_NIL;
1538 T23_ = readFile__systemZio_472(nimbleLinks->data[((NI) 0)]);
1539 nimbleLinkLines = nsuSplitLines(T23_, NIM_FALSE);
1540 path = copyString(nimbleLinkLines->data[((NI) 1)]);
1541 {
1542 NIM_BOOL T26_;
1543 T26_ = (NIM_BOOL)0;
1544 T26_ = nosisAbsolute(path);
1545 if (!!(T26_)) goto LA27_;
1546 path = slash___pureZos_121(p, path);
1547 }
1548 LA27_: ;
1549 }
1550 LA21_: ;
1551 {
1552 NIM_BOOL T31_;
1553 T31_ = (NIM_BOOL)0;
1554 T31_ = contains__nimblecmd_15((*conf).searchPaths->data, ((*conf).searchPaths ? (*conf).searchPaths->Sup.len : 0), path);
1555 if (!!(T31_)) goto LA32_;
1556 liMessage__msgs_1118(conf, info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 84), path, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__asNQM9aynXXg9ccUABbReyew_15, NIM_FALSE);
1557 insert__nimblecmd_47((&(*conf).lazyPaths), path, ((NI) 0));
1558 }
1559 LA32_: ;
1560 }
N_NIMCALL(void,addPathRec__nimblecmd_2087)1561 N_LIB_PRIVATE N_NIMCALL(void, addPathRec__nimblecmd_2087)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, NimStringDesc* dir, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info) {
1562 tyObject_Table__d05ldtnZIkg8hVpY02dsdA packages;
1563 NI pos;
1564 nimZeroMem((void*)(&packages), sizeof(tyObject_Table__d05ldtnZIkg8hVpY02dsdA));
1565 pos = (NI)((dir ? dir->Sup.len : 0) - ((NI) 1));
1566 {
1567 if (!(((NU8)(dir->data[pos])) == ((NU8)(47)) || ((NU8)(dir->data[pos])) == ((NU8)(47)))) goto LA3_;
1568 pos += ((NI) 1);
1569 }
1570 LA3_: ;
1571 {
1572 tyEnum_PathComponent__9c1SIU9cO1wHcl09b703A9cDrg k;
1573 NimStringDesc* p;
1574 DIR* d;
1575 k = (tyEnum_PathComponent__9c1SIU9cO1wHcl09b703A9cDrg)0;
1576 p = NIM_NIL;
1577 d = opendir(nimToCStringConv(dir));
1578 {
1579 if (!(d == ((DIR*) NIM_NIL))) goto LA8_;
1580 {
1581 NI32 T14_;
1582 if (!NIM_FALSE) goto LA12_;
1583 T14_ = (NI32)0;
1584 T14_ = osLastError__pureZos_408();
1585 raiseOSError__pureZos_405(T14_, dir);
1586 }
1587 LA12_: ;
1588 }
1589 goto LA6_;
1590 LA8_: ;
1591 {
1592 TSafePoint TM__asNQM9aynXXg9ccUABbReyew_2;
1593 pushSafePoint(&TM__asNQM9aynXXg9ccUABbReyew_2);
1594 TM__asNQM9aynXXg9ccUABbReyew_2.status = setjmp(TM__asNQM9aynXXg9ccUABbReyew_2.context);
1595 if (TM__asNQM9aynXXg9ccUABbReyew_2.status == 0) {
1596 {
1597 while (1) {
1598 {
1599 struct dirent* x;
1600 NimStringDesc* y;
1601 x = readdir(d);
1602 {
1603 if (!(x == ((struct dirent*) NIM_NIL))) goto LA21_;
1604 goto LA16;
1605 }
1606 LA21_: ;
1607 y = cstrToNimstr(((NCSTRING) ((*x).d_name)));
1608 {
1609 NIM_BOOL T25_;
1610 struct stat s;
1611 NimStringDesc* path;
1612 tyEnum_PathComponent__9c1SIU9cO1wHcl09b703A9cDrg k_2;
1613 T25_ = (NIM_BOOL)0;
1614 T25_ = !(eqStrings(y, ((NimStringDesc*) &TM__asNQM9aynXXg9ccUABbReyew_3)));
1615 if (!(T25_)) goto LA26_;
1616 T25_ = !(eqStrings(y, ((NimStringDesc*) &TM__asNQM9aynXXg9ccUABbReyew_4)));
1617 LA26_: ;
1618 if (!T25_) goto LA27_;
1619 nimZeroMem((void*)(&s), sizeof(struct stat));
1620 path = slash___pureZos_121(dir, y);
1621 {
1622 if (!NIM_TRUE) goto LA31_;
1623 y = copyString(path);
1624 }
1625 LA31_: ;
1626 k_2 = ((tyEnum_PathComponent__9c1SIU9cO1wHcl09b703A9cDrg) 0);
1627 switch ((*x).d_type) {
1628 case ((NI) 4):
1629 {
1630 k_2 = ((tyEnum_PathComponent__9c1SIU9cO1wHcl09b703A9cDrg) 2);
1631 }
1632 break;
1633 case ((NI) 10):
1634 {
1635 {
1636 NIM_BOOL T37_;
1637 T37_ = (NIM_BOOL)0;
1638 T37_ = nosdirExists(path);
1639 if (!T37_) goto LA38_;
1640 k_2 = ((tyEnum_PathComponent__9c1SIU9cO1wHcl09b703A9cDrg) 3);
1641 }
1642 goto LA35_;
1643 LA38_: ;
1644 {
1645 k_2 = ((tyEnum_PathComponent__9c1SIU9cO1wHcl09b703A9cDrg) 1);
1646 }
1647 LA35_: ;
1648 }
1649 break;
1650 case ((NI) 0):
1651 {
1652 {
1653 int T44_;
1654 T44_ = (int)0;
1655 T44_ = lstat(nimToCStringConv(path), (&s));
1656 if (!(T44_ < ((NI32) 0))) goto LA45_;
1657 goto LA18;
1658 }
1659 goto LA42_;
1660 LA45_: ;
1661 {
1662 NIM_BOOL T48_;
1663 T48_ = (NIM_BOOL)0;
1664 T48_ = S_ISDIR(s.st_mode);
1665 if (!T48_) goto LA49_;
1666 k_2 = ((tyEnum_PathComponent__9c1SIU9cO1wHcl09b703A9cDrg) 2);
1667 }
1668 goto LA42_;
1669 LA49_: ;
1670 {
1671 NIM_BOOL T52_;
1672 T52_ = (NIM_BOOL)0;
1673 T52_ = S_ISLNK(s.st_mode);
1674 if (!T52_) goto LA53_;
1675 k_2 = getSymlinkFileKind__pureZos_1212(path);
1676 }
1677 goto LA42_;
1678 LA53_: ;
1679 LA42_: ;
1680 }
1681 break;
1682 default:
1683 {
1684 }
1685 break;
1686 }
1687 k = k_2;
1688 p = y;
1689 {
1690 NIM_BOOL T58_;
1691 T58_ = (NIM_BOOL)0;
1692 T58_ = (k == ((tyEnum_PathComponent__9c1SIU9cO1wHcl09b703A9cDrg) 2));
1693 if (!(T58_)) goto LA59_;
1694 T58_ = !(((NU8)(p->data[pos]) == (NU8)(46)));
1695 LA59_: ;
1696 if (!T58_) goto LA60_;
1697 addPackage__nimblecmd_206(conf, (&packages), p, info);
1698 }
1699 LA60_: ;
1700 }
1701 LA27_: ;
1702 } LA18: ;
1703 }
1704 } LA16: ;
1705 popSafePoint();
1706 }
1707 else {
1708 popSafePoint();
1709 }
1710 {
1711 int T64_;
1712 T64_ = (int)0;
1713 T64_ = closedir(d);
1714 (void)(T64_);
1715 if (TM__asNQM9aynXXg9ccUABbReyew_2.status != 0) nimLeaveFinally();
1716 }
1717 if (TM__asNQM9aynXXg9ccUABbReyew_2.status != 0) reraiseException();
1718 }
1719 LA6_: ;
1720 }
1721 {
1722 NimStringDesc* p_2;
1723 p_2 = NIM_NIL;
1724 {
1725 NimStringDesc* key;
1726 tyTuple__UV3llMMYFckfui8YMBuUZA val;
1727 NI L;
1728 key = NIM_NIL;
1729 nimZeroMem((void*)(&val), sizeof(tyTuple__UV3llMMYFckfui8YMBuUZA));
1730 L = len__nimblecmd_1808(packages);
1731 {
1732 NI h;
1733 NI colontmp_;
1734 NI T68_;
1735 NI res;
1736 h = (NI)0;
1737 colontmp_ = (NI)0;
1738 T68_ = ((packages.data ? packages.data->Sup.len : 0)-1);
1739 colontmp_ = T68_;
1740 res = ((NI) 0);
1741 {
1742 while (1) {
1743 if (!(res <= colontmp_)) goto LA70;
1744 h = res;
1745 {
1746 NIM_BOOL T73_;
1747 NimStringDesc* res_2;
1748 T73_ = (NIM_BOOL)0;
1749 T73_ = isFilled__pureZcollectionsZtables_31(packages.data->data[h].Field0);
1750 if (!T73_) goto LA74_;
1751 key = packages.data->data[h].Field1;
1752 val.Field0 = packages.data->data[h].Field2.Field0;
1753 val.Field1 = packages.data->data[h].Field2.Field1;
1754 res_2 = copyString(key);
1755 {
1756 if (!!(((val.Field0 ? val.Field0->Sup.len : 0) == ((NI) 0)))) goto LA78_;
1757 res_2 = addChar(res_2, 45);
1758 res_2 = resizeString(res_2, (val.Field0 ? val.Field0->Sup.len : 0) + 0);
1759 appendString(res_2, val.Field0);
1760 }
1761 LA78_: ;
1762 {
1763 if (!!(((val.Field1 ? val.Field1->Sup.len : 0) == ((NI) 0)))) goto LA82_;
1764 res_2 = addChar(res_2, 45);
1765 res_2 = resizeString(res_2, (val.Field1 ? val.Field1->Sup.len : 0) + 0);
1766 appendString(res_2, val.Field1);
1767 }
1768 LA82_: ;
1769 p_2 = res_2;
1770 addNimblePath__nimblecmd_2053(conf, p_2, info);
1771 }
1772 LA74_: ;
1773 res += ((NI) 1);
1774 } LA70: ;
1775 }
1776 }
1777 }
1778 }
1779 }
N_INLINE(NI,find__nimblecmd_2112)1780 static N_INLINE(NI, find__nimblecmd_2112)(tySequence__sM4lkSb7zS6F7OVMvW9cffQ* a, NimStringDesc* item) {
1781 NI result;
1782 { result = (NI)0;
1783 result = ((NI) 0);
1784 {
1785 NimStringDesc** i;
1786 NI i_2;
1787 NI L;
1788 NI T2_;
1789 i = (NimStringDesc**)0;
1790 i_2 = ((NI) 0);
1791 T2_ = (a ? a->Sup.len : 0);
1792 L = T2_;
1793 {
1794 while (1) {
1795 if (!(i_2 < L)) goto LA4;
1796 i = (&a->data[i_2]);
1797 {
1798 NIM_BOOL T7_;
1799 T7_ = (NIM_BOOL)0;
1800 T7_ = eqeq___options_4073((*i), item);
1801 if (!T7_) goto LA8_;
1802 goto BeforeRet_;
1803 }
1804 LA8_: ;
1805 result += ((NI) 1);
1806 i_2 += ((NI) 1);
1807 } LA4: ;
1808 }
1809 }
1810 result = ((NI) -1);
1811 }BeforeRet_: ;
1812 return result;
1813 }
N_NIMCALL(void,delete__nimblecmd_2131)1814 N_LIB_PRIVATE N_NIMCALL(void, delete__nimblecmd_2131)(tySequence__sM4lkSb7zS6F7OVMvW9cffQ** x, NI i) {
1815 NI xlX60gensym46_;
1816 NI T1_;
1817 T1_ = ((*x) ? (*x)->Sup.len : 0);
1818 xlX60gensym46_ = T1_;
1819 {
1820 NI jX60gensym46_;
1821 NI colontmp_;
1822 NI colontmp__2;
1823 NI res;
1824 jX60gensym46_ = (NI)0;
1825 colontmp_ = (NI)0;
1826 colontmp__2 = (NI)0;
1827 colontmp_ = ((NI) (i));
1828 colontmp__2 = (NI)(xlX60gensym46_ - ((NI) 2));
1829 res = colontmp_;
1830 {
1831 while (1) {
1832 if (!(res <= colontmp__2)) goto LA4;
1833 jX60gensym46_ = res;
1834 asgnRef((void**) (&(*x)->data[jX60gensym46_]), (*x)->data[(NI)(jX60gensym46_ + ((NI) 1))]);
1835 res += ((NI) 1);
1836 } LA4: ;
1837 }
1838 }
1839 unsureAsgnRef((void**) (&(*x)), (tySequence__sM4lkSb7zS6F7OVMvW9cffQ*) setLengthSeqV2(&((*x))->Sup, (&NTIseqLstringT__sM4lkSb7zS6F7OVMvW9cffQ_), ((NI) ((NI)(xlX60gensym46_ - ((NI) 1))))));
1840 }
N_NIMCALL(void,nimblePath__nimblecmd_2108)1841 N_LIB_PRIVATE N_NIMCALL(void, nimblePath__nimblecmd_2108)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, NimStringDesc* path, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info) {
1842 NI i;
1843 addPathRec__nimblecmd_2087(conf, path, info);
1844 addNimblePath__nimblecmd_2053(conf, path, info);
1845 i = find__nimblecmd_2112((*conf).nimblePaths, path);
1846 {
1847 if (!!((i == ((NI) -1)))) goto LA3_;
1848 delete__nimblecmd_2131((&(*conf).nimblePaths), ((NI) (i)));
1849 }
1850 LA3_: ;
1851 insert__nimblecmd_47((&(*conf).nimblePaths), path, ((NI) 0));
1852 }
N_NIMCALL(void,compiler_nimblecmdDatInit000)1853 N_LIB_PRIVATE N_NIMCALL(void, compiler_nimblecmdDatInit000)(void) {
1854 static TNimNode* TM__asNQM9aynXXg9ccUABbReyew_8_3[3];
1855 static TNimNode* TM__asNQM9aynXXg9ccUABbReyew_9_2[2];
1856 static TNimNode TM__asNQM9aynXXg9ccUABbReyew_0[7];
1857 NTIkeyvaluepair__9cdgeqdY7FRioNKBoD6G66A_.size = sizeof(tyTuple__9cdgeqdY7FRioNKBoD6G66A);
1858 NTIkeyvaluepair__9cdgeqdY7FRioNKBoD6G66A_.align = NIM_ALIGNOF(tyTuple__9cdgeqdY7FRioNKBoD6G66A);
1859 NTIkeyvaluepair__9cdgeqdY7FRioNKBoD6G66A_.kind = 18;
1860 NTIkeyvaluepair__9cdgeqdY7FRioNKBoD6G66A_.base = 0;
1861 TM__asNQM9aynXXg9ccUABbReyew_8_3[0] = &TM__asNQM9aynXXg9ccUABbReyew_0[1];
1862 TM__asNQM9aynXXg9ccUABbReyew_0[1].kind = 1;
1863 TM__asNQM9aynXXg9ccUABbReyew_0[1].offset = offsetof(tyTuple__9cdgeqdY7FRioNKBoD6G66A, Field0);
1864 TM__asNQM9aynXXg9ccUABbReyew_0[1].typ = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_);
1865 TM__asNQM9aynXXg9ccUABbReyew_0[1].name = "Field0";
1866 TM__asNQM9aynXXg9ccUABbReyew_8_3[1] = &TM__asNQM9aynXXg9ccUABbReyew_0[2];
1867 TM__asNQM9aynXXg9ccUABbReyew_0[2].kind = 1;
1868 TM__asNQM9aynXXg9ccUABbReyew_0[2].offset = offsetof(tyTuple__9cdgeqdY7FRioNKBoD6G66A, Field1);
1869 TM__asNQM9aynXXg9ccUABbReyew_0[2].typ = (&NTIstring__77mFvmsOLKik79ci2hXkHEg_);
1870 TM__asNQM9aynXXg9ccUABbReyew_0[2].name = "Field1";
1871 TM__asNQM9aynXXg9ccUABbReyew_8_3[2] = &TM__asNQM9aynXXg9ccUABbReyew_0[3];
1872 NTItupleLversion58string_checksum58stringT__UV3llMMYFckfui8YMBuUZA_.size = sizeof(tyTuple__UV3llMMYFckfui8YMBuUZA);
1873 NTItupleLversion58string_checksum58stringT__UV3llMMYFckfui8YMBuUZA_.align = NIM_ALIGNOF(tyTuple__UV3llMMYFckfui8YMBuUZA);
1874 NTItupleLversion58string_checksum58stringT__UV3llMMYFckfui8YMBuUZA_.kind = 18;
1875 NTItupleLversion58string_checksum58stringT__UV3llMMYFckfui8YMBuUZA_.base = 0;
1876 TM__asNQM9aynXXg9ccUABbReyew_9_2[0] = &TM__asNQM9aynXXg9ccUABbReyew_0[5];
1877 TM__asNQM9aynXXg9ccUABbReyew_0[5].kind = 1;
1878 TM__asNQM9aynXXg9ccUABbReyew_0[5].offset = offsetof(tyTuple__UV3llMMYFckfui8YMBuUZA, Field0);
1879 TM__asNQM9aynXXg9ccUABbReyew_0[5].typ = (&NTIstring__77mFvmsOLKik79ci2hXkHEg_);
1880 TM__asNQM9aynXXg9ccUABbReyew_0[5].name = "Field0";
1881 TM__asNQM9aynXXg9ccUABbReyew_9_2[1] = &TM__asNQM9aynXXg9ccUABbReyew_0[6];
1882 TM__asNQM9aynXXg9ccUABbReyew_0[6].kind = 1;
1883 TM__asNQM9aynXXg9ccUABbReyew_0[6].offset = offsetof(tyTuple__UV3llMMYFckfui8YMBuUZA, Field1);
1884 TM__asNQM9aynXXg9ccUABbReyew_0[6].typ = (&NTIstring__77mFvmsOLKik79ci2hXkHEg_);
1885 TM__asNQM9aynXXg9ccUABbReyew_0[6].name = "Field1";
1886 TM__asNQM9aynXXg9ccUABbReyew_0[4].len = 2; TM__asNQM9aynXXg9ccUABbReyew_0[4].kind = 2; TM__asNQM9aynXXg9ccUABbReyew_0[4].sons = &TM__asNQM9aynXXg9ccUABbReyew_9_2[0];
1887 NTItupleLversion58string_checksum58stringT__UV3llMMYFckfui8YMBuUZA_.node = &TM__asNQM9aynXXg9ccUABbReyew_0[4];
1888 TM__asNQM9aynXXg9ccUABbReyew_0[3].kind = 1;
1889 TM__asNQM9aynXXg9ccUABbReyew_0[3].offset = offsetof(tyTuple__9cdgeqdY7FRioNKBoD6G66A, Field2);
1890 TM__asNQM9aynXXg9ccUABbReyew_0[3].typ = (&NTItupleLversion58string_checksum58stringT__UV3llMMYFckfui8YMBuUZA_);
1891 TM__asNQM9aynXXg9ccUABbReyew_0[3].name = "Field2";
1892 TM__asNQM9aynXXg9ccUABbReyew_0[0].len = 3; TM__asNQM9aynXXg9ccUABbReyew_0[0].kind = 2; TM__asNQM9aynXXg9ccUABbReyew_0[0].sons = &TM__asNQM9aynXXg9ccUABbReyew_8_3[0];
1893 NTIkeyvaluepair__9cdgeqdY7FRioNKBoD6G66A_.node = &TM__asNQM9aynXXg9ccUABbReyew_0[0];
1894 NTIkeyvaluepairseq__6j25whH7XTBoIXcM0x1T7A_.size = sizeof(tySequence__6j25whH7XTBoIXcM0x1T7A*);
1895 NTIkeyvaluepairseq__6j25whH7XTBoIXcM0x1T7A_.align = NIM_ALIGNOF(tySequence__6j25whH7XTBoIXcM0x1T7A*);
1896 NTIkeyvaluepairseq__6j25whH7XTBoIXcM0x1T7A_.kind = 24;
1897 NTIkeyvaluepairseq__6j25whH7XTBoIXcM0x1T7A_.base = (&NTIkeyvaluepair__9cdgeqdY7FRioNKBoD6G66A_);
1898 NTIkeyvaluepairseq__6j25whH7XTBoIXcM0x1T7A_.marker = Marker_tySequence__6j25whH7XTBoIXcM0x1T7A;
1899 }
1900
1901