/* Generated by Nim Compiler v1.4.0 */
/*   (c) 2020 Andreas Rumpf */
/* The generated code is subject to the original license. */
#define NIM_INTBITS 64
#define NIM_EmulateOverflowChecks

/* section: NIM_merge_HEADERS */

#include "nimbase.h"
#include <string.h>
#include <setjmp.h>
#include <glob.h>
#include <stdio.h>
#undef LANGUAGE_C
#undef MIPSEB
#undef MIPSEL
#undef PPC
#undef R3000
#undef R4000
#undef i386
#undef linux
#undef mips
#undef near
#undef far
#undef powerpc
#undef unix

/* section: NIM_merge_FRAME_DEFINES */
#define nimfr_(x, y)
#define nimln_(x, y)

/* section: NIM_merge_FORWARD_TYPES */
typedef struct tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw;
typedef struct NimStringDesc NimStringDesc;
typedef struct TGenericSeq TGenericSeq;
typedef struct tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg;
typedef struct tyTuple__7q7q3E6Oj24ZNVJb9aonhAg tyTuple__7q7q3E6Oj24ZNVJb9aonhAg;
typedef struct tyTuple__yByxe8FSFNTgs4tcAkTYag tyTuple__yByxe8FSFNTgs4tcAkTYag;
typedef struct tyObject_Target__9abOl5DLX8suLujOaHSvGzw tyObject_Target__9abOl5DLX8suLujOaHSvGzw;
typedef struct tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg;
typedef struct tyObject_MsgConfig__kV7r8HWT0SqOYW2k2ukC6A tyObject_MsgConfig__kV7r8HWT0SqOYW2k2ukC6A;
typedef struct tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q;
typedef struct tySequence__tNFrR3kRuS1FSwuiLGoSSA tySequence__tNFrR3kRuS1FSwuiLGoSSA;
typedef struct tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA;
typedef struct tySequence__7lEisrXlQEzwtUKW5pzRCw tySequence__7lEisrXlQEzwtUKW5pzRCw;
typedef struct tySequence__Zi9cGbCWofbtABoHJ5RbLNQ tySequence__Zi9cGbCWofbtABoHJ5RbLNQ;
typedef struct tyObject_HashSet__CD8Dpv0WGmASelVaNSo6zg tyObject_HashSet__CD8Dpv0WGmASelVaNSo6zg;
typedef struct tySequence__4eRCaZmrYLLw2k30GPTiMw tySequence__4eRCaZmrYLLw2k30GPTiMw;
typedef struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ tySequence__sM4lkSb7zS6F7OVMvW9cffQ;
typedef struct tySequence__pK3qSsBZwdXd6qyUMkd5Jw tySequence__pK3qSsBZwdXd6qyUMkd5Jw;
typedef struct tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ;
typedef struct tyObject_ProfileDatacolonObjectType___rPBBfFL4X0b9cQ6rfMNPXig tyObject_ProfileDatacolonObjectType___rPBBfFL4X0b9cQ6rfMNPXig;
typedef struct tyTuple__5L3fCt9bX0gyEcO30ervPLw tyTuple__5L3fCt9bX0gyEcO30ervPLw;
typedef struct tyTuple__UpiOGlu5Ux6DLM73wSrdpg tyTuple__UpiOGlu5Ux6DLM73wSrdpg;
typedef struct TNimType TNimType;
typedef struct TNimNode TNimNode;
typedef struct tyTuple__kN8up2W6YKc5YA9avn5mV5w tyTuple__kN8up2W6YKc5YA9avn5mV5w;
typedef struct tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g;
typedef struct tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w;
typedef struct tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ;
typedef struct tyObject_GcStack__7fytPA5bBsob6See21YMRA tyObject_GcStack__7fytPA5bBsob6See21YMRA;
typedef struct tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg;
typedef struct tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ;
typedef struct tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg;
typedef struct tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw;
typedef struct tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA;
typedef struct tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw;
typedef struct tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw;
typedef struct tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg;
typedef struct tyTuple__ujsjpB2O9cjj3uDHsXbnSzg tyTuple__ujsjpB2O9cjj3uDHsXbnSzg;
typedef struct tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg;
typedef struct tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ;
typedef struct tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg;
typedef struct tyObject_HSlice__7MLmFrMXlWlXV4VMUMaFZw tyObject_HSlice__7MLmFrMXlWlXV4VMUMaFZw;
typedef struct Exception Exception;
typedef struct RootObj RootObj;
typedef struct tySequence__uB9b75OUPRENsBAu4AnoePA tySequence__uB9b75OUPRENsBAu4AnoePA;
typedef struct TSafePoint TSafePoint;
typedef struct tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q;
typedef struct tyObject_OrderedTable__ZZvSdVkA2s2sIyifu4cpkg tyObject_OrderedTable__ZZvSdVkA2s2sIyifu4cpkg;
typedef struct tySequence__MlAD6nAPq9bHKla9cWiIZP0g tySequence__MlAD6nAPq9bHKla9cWiIZP0g;
typedef struct tySequence__oLpBKXzW3hF9aCVMo5EymfQ tySequence__oLpBKXzW3hF9aCVMo5EymfQ;
typedef struct tyTuple__XOVT24GHXwqiEj5GCsEGCA tyTuple__XOVT24GHXwqiEj5GCsEGCA;
typedef struct tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA;
typedef struct tyObject_Env_extccompdotnim_callCCompiler___5IBXZ8SwOH2SKZ9aFV2UlKA tyObject_Env_extccompdotnim_callCCompiler___5IBXZ8SwOH2SKZ9aFV2UlKA;
typedef struct tyObject_Env_extccompdotnim_execCmdsInParallel___4Ms6MGgcp8EDnUBSlKFk9bg tyObject_Env_extccompdotnim_execCmdsInParallel___4Ms6MGgcp8EDnUBSlKFk9bg;
typedef struct tyObject_ProcessObj__2rGNQnv9bU4hanI2g3svReg tyObject_ProcessObj__2rGNQnv9bU4hanI2g3svReg;
typedef struct tyObject_OSError__BeJgrOdDsczOwEWOZbRfKA tyObject_OSError__BeJgrOdDsczOwEWOZbRfKA;
typedef struct tyObject_CatchableError__qrLSDoe2oBoAqNtJ9badtnA tyObject_CatchableError__qrLSDoe2oBoAqNtJ9badtnA;
typedef struct tyObject_DateTime__d9cK9cyKZPJJxFXUmx8dSpPw tyObject_DateTime__d9cK9cyKZPJJxFXUmx8dSpPw;
typedef struct tyObject_TimezonecolonObjectType___F8OvqlxXyGXRSiK9c1fCDVw tyObject_TimezonecolonObjectType___F8OvqlxXyGXRSiK9c1fCDVw;
typedef struct tyObject_TFileInfo__GE3hAakXKOEpch4ap3zXAw tyObject_TFileInfo__GE3hAakXKOEpch4ap3zXAw;
typedef struct tyObject_Env_extccompdotnim_runJsonBuildInstructions___JADVv1Eiz6JDXeCPTMF3cQ tyObject_Env_extccompdotnim_runJsonBuildInstructions___JADVv1Eiz6JDXeCPTMF3cQ;
typedef struct tyTuple__z822nu9bFF1AlQnLrHjdwpA tyTuple__z822nu9bFF1AlQnLrHjdwpA;
typedef struct tyTuple__xYhUhS7X82rKTqbT9bRfCnw tyTuple__xYhUhS7X82rKTqbT9bRfCnw;
typedef struct tyTuple__QeWl6B6ffS4pU6WWrtcrDw tyTuple__QeWl6B6ffS4pU6WWrtcrDw;
typedef struct tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA;
typedef struct tyTuple__awOivLjlO76sGdHY7nQUjQ tyTuple__awOivLjlO76sGdHY7nQUjQ;

/* section: NIM_merge_TYPES */
struct TGenericSeq {
NI len;
NI reserved;
};
struct NimStringDesc {
  TGenericSeq Sup;
NIM_CHAR data[SEQ_DECL_SIZE];
};
typedef NU8 tySet_tyEnum_CfileFlag__Vl9c9ayddDuXiWtnWTsEYGsA;
struct tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg {
NimStringDesc* nimname;
NimStringDesc* cname;
NimStringDesc* obj;
tySet_tyEnum_CfileFlag__Vl9c9ayddDuXiWtnWTsEYGsA flags;
NimStringDesc* customArgs;
};
struct tyTuple__7q7q3E6Oj24ZNVJb9aonhAg {
NimStringDesc* Field0;
NimStringDesc* Field1;
NimStringDesc* Field2;
};
typedef NU8 tySet_tyEnum_TInfoCCProp__49cn73TjZ7Rt9b8QCAU8tLNg;
struct tyTuple__yByxe8FSFNTgs4tcAkTYag {
NimStringDesc* Field0;
NimStringDesc* Field1;
NimStringDesc* Field2;
NimStringDesc* Field3;
NimStringDesc* Field4;
NimStringDesc* Field5;
NimStringDesc* Field6;
NimStringDesc* Field7;
NimStringDesc* Field8;
NimStringDesc* Field9;
NimStringDesc* Field10;
NimStringDesc* Field11;
NimStringDesc* Field12;
NimStringDesc* Field13;
NimStringDesc* Field14;
NimStringDesc* Field15;
NimStringDesc* Field16;
NimStringDesc* Field17;
NimStringDesc* Field18;
NimStringDesc* Field19;
NimStringDesc* Field20;
tySet_tyEnum_TInfoCCProp__49cn73TjZ7Rt9b8QCAU8tLNg Field21;
};
typedef tyTuple__yByxe8FSFNTgs4tcAkTYag tyArray__sa9aJ6U8e9b7Bj4Yq8itsR8w[11];
typedef NU8 tyEnum_TBackend__4OBsgZ9cscH2JLUE5Wcz01g;
typedef NU8 tyEnum_TSystemCPU__XYDt7D1G3qcClFyZy1Ky9ag;
typedef NU8 tyEnum_TSystemOS__s7Mlr1t66SUqP6BKJMXLaQ;
struct tyObject_Target__9abOl5DLX8suLujOaHSvGzw {
tyEnum_TSystemCPU__XYDt7D1G3qcClFyZy1Ky9ag targetCPU;
tyEnum_TSystemCPU__XYDt7D1G3qcClFyZy1Ky9ag hostCPU;
tyEnum_TSystemOS__s7Mlr1t66SUqP6BKJMXLaQ targetOS;
tyEnum_TSystemOS__s7Mlr1t66SUqP6BKJMXLaQ hostOS;
NI intSize;
NI floatSize;
NI ptrSize;
NimStringDesc* tnl;
};
typedef NU32 tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg;
typedef NU64 tySet_tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw;
struct tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q {
NU16 line;
NI16 col;
NI32 fileIndex;
};
typedef NU8 tySet_tyEnum_TErrorOutput__fBf8Teueoz9aAkO5cXaxrpA;
struct tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA {
tySequence__7lEisrXlQEzwtUKW5pzRCw* data;
NI counter;
};
struct tyObject_MsgConfig__kV7r8HWT0SqOYW2k2ukC6A {
tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q trackPos;
NIM_BOOL trackPosAttached;
tySet_tyEnum_TErrorOutput__fBf8Teueoz9aAkO5cXaxrpA errorOutputs;
tySequence__tNFrR3kRuS1FSwuiLGoSSA* msgContext;
tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q lastError;
tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA filenameToIndexTbl;
tySequence__Zi9cGbCWofbtABoHJ5RbLNQ* fileInfos;
NI32 systemFileIdx;
};
typedef NU8 tyEnum_TCommands__VH3ghgQVwLSg3krOAoXigw;
typedef NU8 tyEnum_TGCMode__tkz389aDYNd8ykeZszCuBSw;
typedef NU8 tyEnum_ExceptionSystem__1mkAogyaDAT7g9cQjzsgKLQ;
typedef NU8 tyEnum_SymbolFilesOption__gBES9bqm1ru9ape8SeMRAFgQ;
struct tyObject_HashSet__CD8Dpv0WGmASelVaNSo6zg {
tySequence__4eRCaZmrYLLw2k30GPTiMw* data;
NI counter;
};
typedef NU16 tySet_tyEnum_Feature__01UoAKYz1MxZiuG1X2VhNQ;
typedef NU8 tySet_tyEnum_LegacyFeature__hGCD9aOrxPvpXn4Ne6W6OVA;
typedef NU8 tyEnum_IdeCmd__1Ced39bl5eePmZ1PKMPXigQ;
typedef NU8 tyEnum_TSystemCC__1eWBJUonHMOnlBwsOvpFmA;
typedef NU8 tySet_tyEnum_TMsgKind__6kx5ul0BSa9aHxHPGwkvVHg[9];
typedef struct {
N_NIMCALL_PTR(void, ClP_0) (tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ* result, void* ClE_0);
void* ClE_0;
} tyProc__YD0MR9bJ2x4beJkZdnjXN9cA;
typedef struct {
N_NIMCALL_PTR(void, ClP_0) (NimStringDesc* output, void* ClE_0);
void* ClE_0;
} tyProc__k2HFjxisIgDALbEUFojxaQ;
typedef NU8 tyEnum_Severity__x5BWBPGAbIH9clm5pmNp5DA;
typedef struct {
N_NIMCALL_PTR(void, ClP_0) (tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* config, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, NimStringDesc* msg, tyEnum_Severity__x5BWBPGAbIH9clm5pmNp5DA severity, void* ClE_0);
void* ClE_0;
} tyProc__oL9coyIA2VDTGdUcur9aL9bew;
struct tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw {
tyEnum_TBackend__4OBsgZ9cscH2JLUE5Wcz01g backend;
tyObject_Target__9abOl5DLX8suLujOaHSvGzw target;
NI linesCompiled;
tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg options;
tySet_tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw globalOptions;
tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* macrosToExpand;
tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* arcToExpand;
tyObject_MsgConfig__kV7r8HWT0SqOYW2k2ukC6A m;
NI evalTemplateCounter;
NI evalMacroCounter;
NI8 exitcode;
tyEnum_TCommands__VH3ghgQVwLSg3krOAoXigw cmd;
tyEnum_TGCMode__tkz389aDYNd8ykeZszCuBSw selectedGC;
tyEnum_ExceptionSystem__1mkAogyaDAT7g9cQjzsgKLQ exc;
NI verbosity;
NI numberOfProcessors;
NimStringDesc* evalExpr;
NF lastCmdTime;
tyEnum_SymbolFilesOption__gBES9bqm1ru9ape8SeMRAFgQ symbolFiles;
tyObject_HashSet__CD8Dpv0WGmASelVaNSo6zg cppDefines;
NimStringDesc* headerFile;
tySet_tyEnum_Feature__01UoAKYz1MxZiuG1X2VhNQ features;
tySet_tyEnum_LegacyFeature__hGCD9aOrxPvpXn4Ne6W6OVA legacyFeatures;
NimStringDesc* arguments;
tyEnum_IdeCmd__1Ced39bl5eePmZ1PKMPXigQ ideCmd;
NIM_BOOL oldNewlines;
tyEnum_TSystemCC__1eWBJUonHMOnlBwsOvpFmA cCompiler;
tySet_tyEnum_TMsgKind__6kx5ul0BSa9aHxHPGwkvVHg modifiedyNotes;
tySet_tyEnum_TMsgKind__6kx5ul0BSa9aHxHPGwkvVHg cmdlineNotes;
tySet_tyEnum_TMsgKind__6kx5ul0BSa9aHxHPGwkvVHg foreignPackageNotes;
tySet_tyEnum_TMsgKind__6kx5ul0BSa9aHxHPGwkvVHg notes;
tySet_tyEnum_TMsgKind__6kx5ul0BSa9aHxHPGwkvVHg warningAsErrors;
tySet_tyEnum_TMsgKind__6kx5ul0BSa9aHxHPGwkvVHg mainPackageNotes;
NI mainPackageId;
NI errorCounter;
NI hintCounter;
NI warnCounter;
NI errorMax;
NI maxLoopIterationsVM;
tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* configVars;
tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* symbols;
tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* packageCache;
tySequence__sM4lkSb7zS6F7OVMvW9cffQ* nimblePaths;
tySequence__sM4lkSb7zS6F7OVMvW9cffQ* searchPaths;
tySequence__sM4lkSb7zS6F7OVMvW9cffQ* lazyPaths;
NimStringDesc* outFile;
NimStringDesc* outDir;
NimStringDesc* jsonBuildFile;
NimStringDesc* prefixDir;
NimStringDesc* libpath;
NimStringDesc* nimcacheDir;
tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* dllOverrides;
tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* moduleOverrides;
tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* cfileSpecificOptions;
NimStringDesc* projectName;
NimStringDesc* projectPath;
NimStringDesc* projectFull;
NIM_BOOL projectIsStdin;
NIM_BOOL lastMsgWasDot;
NI32 projectMainIdx;
NI32 projectMainIdx2;
NimStringDesc* command;
tySequence__sM4lkSb7zS6F7OVMvW9cffQ* commandArgs;
NimStringDesc* commandLine;
tySequence__sM4lkSb7zS6F7OVMvW9cffQ* extraCmds;
NIM_BOOL keepComments;
tySequence__sM4lkSb7zS6F7OVMvW9cffQ* implicitImports;
tySequence__sM4lkSb7zS6F7OVMvW9cffQ* implicitIncludes;
NimStringDesc* docSeeSrcUrl;
NimStringDesc* docRoot;
NimStringDesc* docCmd;
tySequence__sM4lkSb7zS6F7OVMvW9cffQ* cIncludes;
tySequence__sM4lkSb7zS6F7OVMvW9cffQ* cLibs;
tySequence__sM4lkSb7zS6F7OVMvW9cffQ* cLinkedLibs;
tySequence__sM4lkSb7zS6F7OVMvW9cffQ* externalToLink;
NimStringDesc* linkOptionsCmd;
tySequence__sM4lkSb7zS6F7OVMvW9cffQ* compileOptionsCmd;
NimStringDesc* linkOptions;
NimStringDesc* compileOptions;
NimStringDesc* cCompilerPath;
tySequence__pK3qSsBZwdXd6qyUMkd5Jw* toCompile;
tyProc__YD0MR9bJ2x4beJkZdnjXN9cA suggestionResultHook;
NI suggestVersion;
NI suggestMaxResults;
tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q lastLineInfo;
tyProc__k2HFjxisIgDALbEUFojxaQ writelnHook;
tyProc__oL9coyIA2VDTGdUcur9aL9bew structuredErrorHook;
NimStringDesc* cppCustomNamespace;
tyObject_ProfileDatacolonObjectType___rPBBfFL4X0b9cQ6rfMNPXig* vmProfileData;
};
typedef NU8 tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw;
typedef NU8 tyArray__YtcvxHNKV4YiecPE9ap1mcA[20];
typedef NU8 tySet_tyEnum_TInfoOSProp__thetQwB9agpeQ13qFmAcWhg;
struct tyTuple__5L3fCt9bX0gyEcO30ervPLw {
NimStringDesc* Field0;
NimStringDesc* Field1;
NimStringDesc* Field2;
NimStringDesc* Field3;
NimStringDesc* Field4;
NimStringDesc* Field5;
NimStringDesc* Field6;
NimStringDesc* Field7;
NimStringDesc* Field8;
NimStringDesc* Field9;
NimStringDesc* Field10;
NimStringDesc* Field11;
tySet_tyEnum_TInfoOSProp__thetQwB9agpeQ13qFmAcWhg Field12;
};
typedef tyTuple__5L3fCt9bX0gyEcO30ervPLw tyArray__geAxQ09aiJ4i2plLZEkYDpg[31];
typedef NU8 tyEnum_TEndian__bQ3yFYQJojZPNYsZnS7Zjg;
struct tyTuple__UpiOGlu5Ux6DLM73wSrdpg {
NimStringDesc* Field0;
NI Field1;
tyEnum_TEndian__bQ3yFYQJojZPNYsZnS7Zjg Field2;
NI Field3;
NI Field4;
};
typedef tyTuple__UpiOGlu5Ux6DLM73wSrdpg tyArray__8d8P9caia9cszVjIJKsQGMQA[25];
typedef NU8 tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A;
typedef NU8 tySet_tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ;
typedef N_NIMCALL_PTR(void, tyProc__ojoeKfW4VYIm36I9cpDTQIg) (void* p, NI op);
typedef N_NIMCALL_PTR(void*, tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ) (void* p);
struct TNimType {
NI size;
NI align;
tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A kind;
tySet_tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ flags;
TNimType* base;
TNimNode* node;
void* finalizer;
tyProc__ojoeKfW4VYIm36I9cpDTQIg marker;
tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ deepcopy;
};
typedef NU8 tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ;
struct TNimNode {
tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ kind;
NI offset;
TNimType* typ;
NCSTRING name;
NI len;
TNimNode** sons;
};
typedef NU8 tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg;
typedef NU8 tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w;
typedef NU8 tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw;
struct tyTuple__kN8up2W6YKc5YA9avn5mV5w {
NimStringDesc* Field0;
NI Field1;
NI Field2;
};
typedef NU8 tyEnum_TInfoOSProp__thetQwB9agpeQ13qFmAcWhg;
typedef NimStringDesc* tyArray__Re75IspeoxXy2oCZHwcRrA[2];
typedef NU8 tyEnum_CfileFlag__Vl9c9ayddDuXiWtnWTsEYGsA;
typedef NimStringDesc* tyArray__rmMMhDIqORJzUU5zqeitSQ[16];
typedef NimStringDesc* tyArray__68WB4OcBspSFyW4LY9cOceA[18];
typedef NU8 tyEnum_FileMode__ZJfK20XeZ9bv2j1pZjw9aswg;
typedef NimStringDesc* tyArray__nHXaesL0DJZHyVS07ARPRA[1];
struct tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g {
NI refcount;
TNimType* typ;
};
struct tyObject_GcStack__7fytPA5bBsob6See21YMRA {
void* bottom;
};
struct tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w {
NI len;
NI cap;
tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g** d;
};
typedef tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ* tyArray__SPr7N6UKfuF549bNPiUvSRw[256];
typedef NU32 tyArray__BHbOSqU1t9b3Gt7K2c6fQig[24];
typedef tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* tyArray__N1u1nqOgmuJN9cSZrnMHgOQ[32];
typedef tyArray__N1u1nqOgmuJN9cSZrnMHgOQ tyArray__B6durA4ZCi1xjJvRtyYxMg[24];
typedef tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw* tyArray__lh2A89ahMmYg9bCmpVaplLbA[256];
struct tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA {
tyArray__lh2A89ahMmYg9bCmpVaplLbA data;
};
typedef tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* tyArray__0aOLqZchNi8nWtMTi8ND8w[2];
struct tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw {
tyArray__0aOLqZchNi8nWtMTi8ND8w link;
NI key;
NI upperBound;
NI level;
};
struct tyTuple__ujsjpB2O9cjj3uDHsXbnSzg {
tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* Field0;
NI Field1;
};
typedef tyTuple__ujsjpB2O9cjj3uDHsXbnSzg tyArray__LzOv2eCDGiceMKQstCLmhw[30];
struct tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg {
NI len;
tyArray__LzOv2eCDGiceMKQstCLmhw chunks;
tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg* next;
};
struct tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg {
NI minLargeObj;
NI maxLargeObj;
tyArray__SPr7N6UKfuF549bNPiUvSRw freeSmallChunks;
NU32 flBitmap;
tyArray__BHbOSqU1t9b3Gt7K2c6fQig slBitmap;
tyArray__B6durA4ZCi1xjJvRtyYxMg matrix;
tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw* llmem;
NI currMem;
NI maxMem;
NI freeMem;
NI occ;
NI lastSize;
tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA chunkStarts;
tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* root;
tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* deleted;
tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* last;
tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* freeAvlNodes;
NIM_BOOL locked;
NIM_BOOL blockChunkSizeIncrease;
NI nextChunkSize;
tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw bottomData;
tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg heapLinks;
};
struct tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg {
NI stackScans;
NI cycleCollections;
NI maxThreshold;
NI maxStackSize;
NI maxStackCells;
NI cycleTableSize;
NI64 maxPause;
};
struct tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ {
NI counter;
NI max;
tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg* head;
tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg** data;
};
struct tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ {
tyObject_GcStack__7fytPA5bBsob6See21YMRA stack;
NI cycleThreshold;
NI zctThreshold;
tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w zct;
tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w decStack;
tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w tempStack;
NI recGcLock;
tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg region;
tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg stat;
tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ marked;
tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w additionalRoots;
NI gcThreadId;
};
struct tyObject_HSlice__7MLmFrMXlWlXV4VMUMaFZw {
tyEnum_TSystemOS__s7Mlr1t66SUqP6BKJMXLaQ a;
tyEnum_TSystemOS__s7Mlr1t66SUqP6BKJMXLaQ b;
};
typedef NU8 tyEnum_TSystemCC__ZeHvrqzZ3PwBFstnv8kDYg;
struct RootObj {
TNimType* m_type;
};
struct Exception {
  RootObj Sup;
Exception* parent;
NCSTRING name;
NimStringDesc* message;
tySequence__uB9b75OUPRENsBAu4AnoePA* trace;
Exception* up;
};
struct TSafePoint {
TSafePoint* prev;
NI status;
jmp_buf context;
};
typedef NU8 tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg;
struct tyObject_OrderedTable__ZZvSdVkA2s2sIyifu4cpkg {
tySequence__MlAD6nAPq9bHKla9cWiIZP0g* data;
NI counter;
NI first;
NI last;
};
struct tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q {
tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg kind;
union{
struct {NimStringDesc* str;
} _kind_1;
struct {NI64 num;
} _kind_2;
struct {NF fnum;
} _kind_3;
struct {NIM_BOOL bval;
} _kind_4;
struct {tyObject_OrderedTable__ZZvSdVkA2s2sIyifu4cpkg fields;
} _kind_6;
struct {tySequence__oLpBKXzW3hF9aCVMo5EymfQ* elems;
} _kind_7;
};
};
struct tyTuple__XOVT24GHXwqiEj5GCsEGCA {
NimStringDesc* Field0;
NI Field1;
};
typedef NU8 tySet_tyEnum_ProcessOption__bnU6W8LhTMnT4JaSWtGlSA;
typedef tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* tyArray__JiWwrsTRC6xqNlGcBthSVA[1];
struct tyObject_Env_extccompdotnim_callCCompiler___5IBXZ8SwOH2SKZ9aFV2UlKA {
  RootObj Sup;
NI colonstate_;
tySequence__sM4lkSb7zS6F7OVMvW9cffQ* prettyCmds1;
};
typedef struct {
N_NIMCALL_PTR(void, ClP_0) (NI idx, void* ClE_0);
void* ClE_0;
} tyProc__SqRJqa5aOiKB4EuKlKh9asA;
typedef NU8 tyEnum_TMsgKind__6kx5ul0BSa9aHxHPGwkvVHg;
struct tyObject_Env_extccompdotnim_execCmdsInParallel___4Ms6MGgcp8EDnUBSlKFk9bg {
  RootObj Sup;
NI colonstate_;
tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf1;
tySequence__sM4lkSb7zS6F7OVMvW9cffQ* cmds2;
};
typedef struct {
N_NIMCALL_PTR(void, ClP_0) (NI idx, tyObject_ProcessObj__2rGNQnv9bU4hanI2g3svReg* p, void* ClE_0);
void* ClE_0;
} tyProc__oudJckli4GdxAXLVzBBlAw;
struct tyObject_CatchableError__qrLSDoe2oBoAqNtJ9badtnA {
  Exception Sup;
};
struct tyObject_OSError__BeJgrOdDsczOwEWOZbRfKA {
  tyObject_CatchableError__qrLSDoe2oBoAqNtJ9badtnA Sup;
NI32 errorCode;
};
typedef NimStringDesc* tyArray__sMpvt1sOxOJ3LFGulnbeMQ[4];
typedef NU8 tyEnum_WeekDay__SVfemTA9aCOyua2TJYa6yBg;
struct tyObject_DateTime__d9cK9cyKZPJJxFXUmx8dSpPw {
  RootObj Sup;
NI nanosecond;
NI second;
NI minute;
NI hour;
NI monthdayZero;
NI monthZero;
NI year;
tyEnum_WeekDay__SVfemTA9aCOyua2TJYa6yBg weekday;
NI yearday;
NIM_BOOL isDst;
tyObject_TimezonecolonObjectType___F8OvqlxXyGXRSiK9c1fCDVw* timezone;
NI utcOffset;
};
typedef NCSTRING tyUncheckedArray__nvS6J9clHMUMHfoZd8Ad2zg[1];
typedef struct {
N_NIMCALL_PTR(NimStringDesc*, ClP_0) (NimStringDesc* x, void* ClE_0);
void* ClE_0;
} tyProc__oFHfEKFsiYTMAy9a42cSiKw;
typedef N_CLOSURE_PTR(NimStringDesc*, TM__OyL9acDBDoBfMwa5zb1Y88w_180) (NimStringDesc* x);
typedef N_CLOSURE_PTR(NimStringDesc*, TM__OyL9acDBDoBfMwa5zb1Y88w_182) (NimStringDesc* x, void* ClE_0);
struct tyObject_TFileInfo__GE3hAakXKOEpch4ap3zXAw {
NimStringDesc* fullPath;
NimStringDesc* projPath;
NimStringDesc* shortName;
tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* quotedName;
tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* quotedFullName;
tySequence__sM4lkSb7zS6F7OVMvW9cffQ* lines;
NimStringDesc* dirtyFile;
NimStringDesc* hash;
NIM_BOOL dirty;
};
struct tyObject_Env_extccompdotnim_runJsonBuildInstructions___JADVv1Eiz6JDXeCPTMF3cQ {
  RootObj Sup;
NI colonstate_;
tySequence__sM4lkSb7zS6F7OVMvW9cffQ* prettyCmds1;
};
typedef NimStringDesc* tyArray__24KAM9afIUgUaqBaEBB6r9bg[3];
struct tyTuple__z822nu9bFF1AlQnLrHjdwpA {
tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q Field0;
NimStringDesc* Field1;
};
struct tyTuple__xYhUhS7X82rKTqbT9bRfCnw {
NI Field0;
NimStringDesc* Field1;
NI32 Field2;
};
struct tyTuple__QeWl6B6ffS4pU6WWrtcrDw {
NI Field0;
NimStringDesc* Field1;
};
struct tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA {
NCSTRING procname;
NI line;
NCSTRING filename;
};
struct tyTuple__awOivLjlO76sGdHY7nQUjQ {
NI Field0;
NI Field1;
NimStringDesc* Field2;
tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* Field3;
};

/* section: NIM_merge_SEQ_TYPES */
struct tySequence__pK3qSsBZwdXd6qyUMkd5Jw {
  TGenericSeq Sup;
  tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg data[SEQ_DECL_SIZE];
};
struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ {
  TGenericSeq Sup;
  NimStringDesc* data[SEQ_DECL_SIZE];
};
struct tySequence__oLpBKXzW3hF9aCVMo5EymfQ {
  TGenericSeq Sup;
  tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* data[SEQ_DECL_SIZE];
};
struct tySequence__tNFrR3kRuS1FSwuiLGoSSA {
  TGenericSeq Sup;
  tyTuple__z822nu9bFF1AlQnLrHjdwpA data[SEQ_DECL_SIZE];
};
struct tySequence__7lEisrXlQEzwtUKW5pzRCw {
  TGenericSeq Sup;
  tyTuple__xYhUhS7X82rKTqbT9bRfCnw data[SEQ_DECL_SIZE];
};
struct tySequence__Zi9cGbCWofbtABoHJ5RbLNQ {
  TGenericSeq Sup;
  tyObject_TFileInfo__GE3hAakXKOEpch4ap3zXAw data[SEQ_DECL_SIZE];
};
struct tySequence__4eRCaZmrYLLw2k30GPTiMw {
  TGenericSeq Sup;
  tyTuple__QeWl6B6ffS4pU6WWrtcrDw data[SEQ_DECL_SIZE];
};
struct tySequence__uB9b75OUPRENsBAu4AnoePA {
  TGenericSeq Sup;
  tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA data[SEQ_DECL_SIZE];
};
struct tySequence__MlAD6nAPq9bHKla9cWiIZP0g {
  TGenericSeq Sup;
  tyTuple__awOivLjlO76sGdHY7nQUjQ data[SEQ_DECL_SIZE];
};

/* section: NIM_merge_PROC_HEADERS */
static N_INLINE(void, nimZeroMem)(void* p, NI size);
static N_INLINE(void, nimSetMem__zxfKBYntu9cBapkhrCOk1fgmemory)(void* a, int v, NI size);
N_LIB_PRIVATE N_NIMCALL(void, splitFile__z7B4FbwzX3Y0L1EA2lLGXw)(NimStringDesc* x, tyTuple__7q7q3E6Oj24ZNVJb9aonhAg* Result);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, copyString)(NimStringDesc* src);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, toObjFile__GMjJ0d3khWrmxAqhh9anEsw)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, NimStringDesc* filename);
static N_INLINE(void, appendString)(NimStringDesc* dest, NimStringDesc* src);
static N_INLINE(void, copyMem__i80o3k0SgEI5gTRCzYdyWAsystem)(void* dest, void* source, NI size);
static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, rawNewString)(NI space);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, completeCfilePath__VmrjcznbGOrooG3SBIdEFQ)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, NimStringDesc* cfile, NIM_BOOL createSubDir);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, completeGeneratedFilePath__0Bq74PTyfNijlbTXdbzW9bw)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, NimStringDesc* f, NIM_BOOL createSubDir);
N_LIB_PRIVATE N_NIMCALL(void, addExternalFileToCompile__INt9bhJYC8JcZL7VjCVQHWQ)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg* c);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, nosfileExists)(NimStringDesc* filename);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, externalFileChanged__5MVIsXG7b0bFfj09ayjls4w)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg* cfile);
N_LIB_PRIVATE N_NIMCALL(void, failedAssertImpl__W9cjVocn1tjhW7p7xohJj6A)(NimStringDesc* msg);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, toGeneratedFile__vfkVoeYdbq9cXWDTNf536TQ)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, NimStringDesc* path, NimStringDesc* ext);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, withPackageName__9bhgFqdEZM7DoX7p3U69bQEg_2)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, NimStringDesc* path);
N_LIB_PRIVATE N_NIMCALL(void, footprint__u2hVmnnAsUCCGDxJqGKZow)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg* cfile, tyArray__YtcvxHNKV4YiecPE9ap1mcA Result);
N_LIB_PRIVATE N_NIMCALL(void, secureHash__qi7bJ7Ntyvry4psMKnopTA)(NIM_CHAR* str, NI strLen_0, tyArray__YtcvxHNKV4YiecPE9ap1mcA Result);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar___2r9adABFqPoalSCAWfm1KJQ)(tyArray__YtcvxHNKV4YiecPE9ap1mcA self);
N_LIB_PRIVATE N_NIMCALL(void, secureHashFile__EWwG0WuhtSH9c26DD9b9a6DLw)(NimStringDesc* filename, tyArray__YtcvxHNKV4YiecPE9ap1mcA Result);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, getCompileCFileCmd__uOCPoEVtEQdC7k9cm7JeVsw)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg* cfile, NIM_BOOL isMainFile, NIM_BOOL produceOutput);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, cFileSpecificOptions__qenQYPV4hXyQmNT9c9aOOH9cQ)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, NimStringDesc* nimname, NimStringDesc* fullNimFile);
N_LIB_PRIVATE N_NIMCALL(NI, nsuFindStr)(NimStringDesc* s, NimStringDesc* sub, NI start, NI last);
N_LIB_PRIVATE N_NIMCALL(void, addOpt__uSovO2RAvymqBoy9crgVjtA)(NimStringDesc** dest, NimStringDesc* src);
static N_INLINE(NIM_CHAR, X5BX5D___okzHJ6GE9cv0bYG3b4r5KCAsystem)(NimStringDesc* s, NI i);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, resizeString)(NimStringDesc* dest, NI addlen);
N_LIB_PRIVATE N_NIMCALL(void, unsureAsgnRef)(void** dest, void* src);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, existsConfigVar__ut8y6zhxwL6n6Sz9akfQBGg)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, NimStringDesc* key);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, getConfigVar__nT6pi8CimjduqrsM6Cc8mQ)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, NimStringDesc* key, NimStringDesc* default_0);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, getDebug__fHOlJ3I1m1sG8h0fniEtOw)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyEnum_TSystemCC__1eWBJUonHMOnlBwsOvpFmA c);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, getConfigVar__yFoF7FUju4sVQL0kUhJ68Q)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyEnum_TSystemCC__1eWBJUonHMOnlBwsOvpFmA c, NimStringDesc* suffix);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, reprEnum)(NI e, TNimType* typ);
static N_INLINE(void, appendChar)(NimStringDesc* dest, NIM_CHAR c);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, getOptSpeed__fHOlJ3I1m1sG8h0fniEtOw_2)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyEnum_TSystemCC__1eWBJUonHMOnlBwsOvpFmA c);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, getOptSize__fHOlJ3I1m1sG8h0fniEtOw_3)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyEnum_TSystemCC__1eWBJUonHMOnlBwsOvpFmA c);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, getOrDefault__2a0cbxcfpWcXtK45m9bR5Kg)(tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* t, NimStringDesc* key, NimStringDesc* default_0);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, noschangeFileExt)(NimStringDesc* filename, NimStringDesc* ext);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, useCpp__CiPnKL2TIba667EvWphSyw)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, NimStringDesc* cfile);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, nsuEndsWith)(NimStringDesc* s, NimStringDesc* suffix);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, getCompilerExe__C0I5a08dQ0OlRyrYrGtPrw)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyEnum_TSystemCC__1eWBJUonHMOnlBwsOvpFmA compiler, NimStringDesc* cfile);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, getEnv__hhED57tMl0Iaa5bOg9cJaig)(NimStringDesc* key, NimStringDesc* default_0);
N_LIB_PRIVATE N_NOINLINE(void, liMessage__Q6JNH4uRwLyZrj0dJakHew)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w msg, NimStringDesc* arg, tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw eh, tyTuple__kN8up2W6YKc5YA9avn5mV5w info2, NIM_BOOL isRaw);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nsuFormatSingleElem)(NimStringDesc* formatstr, NimStringDesc* a);
static N_INLINE(NIM_BOOL, needsExeExt__wURcJahTBWvB1wOD7H1W2Aextccomp)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nosaddFileExt)(NimStringDesc* filename, NimStringDesc* ext);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hcrOn__UhPXgqyDuuU9cKcS8FM883w)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, addChar)(NimStringDesc* s, NIM_CHAR c);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nospquoteShell)(NimStringDesc* s);
static N_INLINE(NIM_BOOL, noAbsolutePaths__wURcJahTBWvB1wOD7H1W2A_2extccomp)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nsuJoinSep)(NimStringDesc** a, NI aLen_0, NimStringDesc* sep);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nosjoinPath)(NimStringDesc* head, NimStringDesc* tail);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nosextractFilename)(NimStringDesc* path);
static N_INLINE(NIM_BOOL, isEmpty__kPpSxL0H5sJ9a6ujvdQ0QVQpathutils)(NimStringDesc* x);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nsuFormatOpenArray)(NimStringDesc* formatstr, NimStringDesc** a, NI aLen_0);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, getPrefixDir__oltK69akg0xLqkR2ITKbomg)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, envFlags__cS1sZo7H4weUdOP9bStq60g)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf);
N_LIB_PRIVATE N_NIMCALL(void, nsuAddf)(NimStringDesc** s, NimStringDesc* formatstr, NimStringDesc** a, NI aLen_0);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, vccplatform__cS1sZo7H4weUdOP9bStq60g_2)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf);
static N_INLINE(NIM_BOOL, eqStrings)(NimStringDesc* a, NimStringDesc* b);
static N_INLINE(NIM_BOOL, equalMem__9bGgqEk7RXXl6eqM9c1HdELAsystem)(void* a, void* b, NI size);
static N_INLINE(int, nimCmpMem)(void* a, void* b, NI size);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, open__gq12VLhVO0NBzUTnGgz4nw)(FILE** f, NimStringDesc* filename, tyEnum_FileMode__ZJfK20XeZ9bv2j1pZjw9aswg mode, NI bufSize);
N_LIB_PRIVATE N_NIMCALL(void, parseSecureHash__S6VQ00WVRv4bBNU469arlSA)(NimStringDesc* hash, tyArray__YtcvxHNKV4YiecPE9ap1mcA Result);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, readLine__IfmAdseskhTUnfEYpOo5fA)(FILE* f);
N_LIB_PRIVATE N_NIMCALL(void, close__fU6ZlJAtQ9bre04EDZLdGsA_3)(FILE* f);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, eqeq___gecBgtI3c7HdE9cwshfzHjQ)(tyArray__YtcvxHNKV4YiecPE9ap1mcA a, tyArray__YtcvxHNKV4YiecPE9ap1mcA b);
static N_INLINE(void, writeLine__45Em82MGXqv9biomV0DEbSgio)(FILE* f, NimStringDesc** x, NI xLen_0);
N_LIB_PRIVATE N_NIMCALL(void, write__PArlm09bKklm2BLsCg6YtaA)(FILE* f, NimStringDesc* s);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, nostryRemoveFile)(NimStringDesc* file);
N_LIB_PRIVATE N_NIMCALL(TGenericSeq*, incrSeqV3)(TGenericSeq* s, TNimType* typ);
static N_INLINE(void, asgnRef)(void** dest, void* src);
static N_INLINE(void, incRef__AT1eRuflKWyTTBdLjEDZbg_3system)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
static N_INLINE(NI, pluspercent___dgYAo7RfdUVVpvkfKDym8wsystem)(NI x, NI y);
static N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*, usrToCell__QFQqcLB3lgOdwipkv9a60xwsystem)(void* usr);
static N_INLINE(NI, minuspercent___dgYAo7RfdUVVpvkfKDym8w_2system)(NI x, NI y);
static N_INLINE(void, decRef__AT1eRuflKWyTTBdLjEDZbgsystem)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
static N_INLINE(NIM_BOOL, ltpercent___hPljn3JCDQ00ua1R07X9bxQsystem)(NI x, NI y);
static N_INLINE(void, rtlAddZCT__AT1eRuflKWyTTBdLjEDZbg_2system)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
N_LIB_PRIVATE N_NOINLINE(void, addZCT__Y66tOYFjgwJ0k4aLz4bc0Q)(tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w* s, tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
N_LIB_PRIVATE N_NIMCALL(void, genericAssign)(void* dest, void* src, TNimType* mt);
N_LIB_PRIVATE N_NIMCALL(void, insert__QiSrmi7QFVZLWumqReTo7w)(tySequence__sM4lkSb7zS6F7OVMvW9cffQ** x, NimStringDesc* item, NI i);
static N_INLINE(NIM_BOOL, contains__EQHiVlZqrFcv49bmeFYQO7wsystem)(tyObject_HSlice__7MLmFrMXlWlXV4VMUMaFZw s, tyEnum_TSystemOS__s7Mlr1t66SUqP6BKJMXLaQ value);
static N_INLINE(tyObject_HSlice__7MLmFrMXlWlXV4VMUMaFZw, dotdot___HRURE3r5U9cfpGGC9cl5U3bgsystem)(tyEnum_TSystemOS__s7Mlr1t66SUqP6BKJMXLaQ a, tyEnum_TSystemOS__s7Mlr1t66SUqP6BKJMXLaQ b);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, copyStringRC1)(NimStringDesc* src);
static N_INLINE(void, nimGCunrefNoCycle)(void* p);
N_LIB_PRIVATE N_NIMCALL(tyEnum_TSystemCC__1eWBJUonHMOnlBwsOvpFmA, nameToCC__Yt3Ruf9aSDKDuGmcv9aVeFng)(NimStringDesc* name);
N_LIB_PRIVATE N_NIMCALL(NI, nsuCmpIgnoreStyle)(NimStringDesc* a, NimStringDesc* b);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, listCCnames__5miaX9cEY77uVmI2vxeZy2g)(void);
N_LIB_PRIVATE N_NIMCALL(void, undefSymbol__7r39cyzHGkKGsFt9bPVES2hQ)(tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* symbols, NimStringDesc* symbol);
N_LIB_PRIVATE N_NIMCALL(void, defineSymbol__znuJizGq3isbcihOOtUY0A)(tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* symbols, NimStringDesc* symbol, NimStringDesc* value);
N_LIB_PRIVATE N_NIMCALL(void, nstPut)(tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* t, NimStringDesc* key, NimStringDesc* val);
N_LIB_PRIVATE N_NIMCALL(void, addCompileOption__siPDo9a2eQzwubdmcIGchWg_4)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, NimStringDesc* option);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, absOutFile__ea9bsNo9cwchKzwCi7UjcP7g)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf);
static N_INLINE(void, pushSafePoint)(TSafePoint* s);
N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*, parseFile__Q9bbQtVlwjGc4S8fnWe9b3YA)(NimStringDesc* filename);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasKey__zrDHfVBiQiPv9bNJ29c1ZINg)(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* node, NimStringDesc* key);
static N_INLINE(void, popSafePoint)(void);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, getStr__QeJX1ptVmfOrOg9cwOVpcAA)(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* n, NimStringDesc* default_0);
static N_INLINE(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*, X5BX5D___277k8m8OstpfbY4dHQex6wjson)(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* node, NimStringDesc* name);
N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q**, X5BX5D___l9atGRY9bA25fn4p5uueZfUQ)(tyObject_OrderedTable__ZZvSdVkA2s2sIyifu4cpkg* t, NimStringDesc* key);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nosgetAppFilename)(void);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, getBool__WLYG2J5rvQY8w8vO47RYig)(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* n, NIM_BOOL default_0);
N_LIB_PRIVATE N_NIMCALL(NI, len__Og3BmQpaL5V6gYg5JnWK3Q)(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* n);
static N_INLINE(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*, X5BX5D___iGpexJJNbY5V0TEMs9aHjwQjson)(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* node, NI index);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isObj)(TNimType* obj, TNimType* subclass);
static N_INLINE(Exception*, nimBorrowCurrentException)(void);
static N_INLINE(NimStringDesc*, getCurrentExceptionMsg__jLt3ACHcgYt9bbV4Vf9a5mgwsystem)(void);
N_LIB_PRIVATE N_NIMCALL(void, echoBinSafe)(NimStringDesc** args, NI argsLen_0);
static N_INLINE(void, popCurrentException)(void);
N_LIB_PRIVATE N_NIMCALL(void, reraiseException)(void);
N_LIB_PRIVATE N_NIMCALL(void, execCmdEx__130zQ9a9cS3YNDwoh0G9at3bw)(NimStringDesc* command, tySet_tyEnum_ProcessOption__bnU6W8LhTMnT4JaSWtGlSA options, tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* env, NimStringDesc* workingDir, NimStringDesc* input, tyTuple__XOVT24GHXwqiEj5GCsEGCA* Result);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, rope__yShmEg9cffWxI7s5XzEKBow)(NimStringDesc* s);
N_LIB_PRIVATE N_NIMCALL(void, add__IM4kcMNkkOLJtqdEqSxR8A)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** a, tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* b);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, genMappingFiles__Sc7FKKR45LmnWaDAT8Bwgg)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tySequence__pK3qSsBZwdXd6qyUMkd5Jw* list);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___T3CpMgcFHzYracJ80CUZBQ)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(void, add__yG4AKzsBRS1W4MANDlXQeg)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** a, NimStringDesc* b);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nsuEscape)(NimStringDesc* s, NimStringDesc* prefix, NimStringDesc* suffix);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, getCompileOptions__cS1sZo7H4weUdOP9bStq60g_3)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, getLinkOptions__cS1sZo7H4weUdOP9bStq60g_4)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___6wQcdZnh9aH29ay5rwY6M5fA)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, slash___QVqo5OOQAdrjFqBsPctklw)(NimStringDesc* base, NimStringDesc* f);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, writeRope__LLRRC42xWBSkxzV9bsPu7lA)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* head, NimStringDesc* filename);
N_LIB_PRIVATE N_NIMCALL(void, nimGCvisit)(void* d, NI op);
static N_NIMCALL(void, Marker_tyRef__yDouvGWqXnyQWbY9cNZcRzQ)(void* p, NI op);
N_LIB_PRIVATE N_NIMCALL(void*, newObj)(TNimType* typ, NI size);
N_LIB_PRIVATE N_CLOSURE(void, colonanonymous___hBvIN9auPUbX5e9cdQWMzpuw)(NI idx, void* ClE_0);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, displayProgressCC__YMkaaRmiXAy7tuQvcY3ZXQ)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, NimStringDesc* path, NimStringDesc* compileCmd);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasHint__zh6OC34d9cPUHXjZ4qVA9bkw_2)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyEnum_TMsgKind__6kx5ul0BSa9aHxHPGwkvVHg note);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, demanglePackageName__nbuWUOJELn5idXbWiYOmOA_2)(NimStringDesc* path);
N_LIB_PRIVATE N_NIMCALL(void, nossplitFile)(NimStringDesc* path, tyTuple__7q7q3E6Oj24ZNVJb9aonhAg* Result);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar___l9cjIIY6CNqmzrJ1PC9apeYg)(NimStringDesc* x);
N_LIB_PRIVATE N_NIMCALL(void, execCmdsInParallel__p9bWc9cmeT2sDJod9aZ3WxNoA)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tySequence__sM4lkSb7zS6F7OVMvW9cffQ* cmds, tyProc__SqRJqa5aOiKB4EuKlKh9asA prettyCb);
static N_NIMCALL(void, Marker_tyRef__pkCPBZYDmG8KoijaqNdsQw)(void* p, NI op);
N_LIB_PRIVATE N_NIMCALL(void, genericSeqAssign)(void* dest, void* src, TNimType* mt);
N_LIB_PRIVATE N_CLOSURE(void, colonanonymous___WqkV17r9cfXD1dIjACqZLaQ)(NI idx, tyObject_ProcessObj__2rGNQnv9bU4hanI2g3svReg* p, void* ClE_0);
N_LIB_PRIVATE N_NIMCALL(NI, nosppeekExitCode)(tyObject_ProcessObj__2rGNQnv9bU4hanI2g3svReg* p);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nimIntToStr)(NI x);
N_LIB_PRIVATE N_NIMCALL(NI, nospcountProcessors)(void);
N_LIB_PRIVATE N_NIMCALL(NI, execWithEcho__QZ9b9cAU2keYADlSDvZBGVww)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, NimStringDesc* cmd, tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w msg);
N_LIB_PRIVATE N_NIMCALL(NI, nospexecCmd)(NimStringDesc* command);
static N_INLINE(Exception*, getCurrentException)(void);
N_LIB_PRIVATE N_NIMCALL(NI, nospexecProcesses)(NimStringDesc** cmds, NI cmdsLen_0, tySet_tyEnum_ProcessOption__bnU6W8LhTMnT4JaSWtGlSA options, NI n, tyProc__SqRJqa5aOiKB4EuKlKh9asA beforeRunEvent, tyProc__oudJckli4GdxAXLVzBBlAw afterRunEvent);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, getObjFilePath__MWUvOFBaPcc9cZCok9b0wp8g)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg* f);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, hcrLinkTargetName__OBP5lDxQn83E8M7sr5ilGA)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, NimStringDesc* objFile, NIM_BOOL isMain);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, getNimcacheDir__oltK69akg0xLqkR2ITKbomg_2)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, getLinkCmd__19boGzcEM5vCX8rTqqyOQAg)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, NimStringDesc* output, NimStringDesc* objfiles, NIM_BOOL isDllBuild);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, getLinkerExe__PFrMJEjCj8UsEEpKzPSF4g)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyEnum_TSystemCC__1eWBJUonHMOnlBwsOvpFmA compiler);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isVSCompatible__nRr0tdRhl8rTyvIdRrQiFA)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf);
N_LIB_PRIVATE N_NIMCALL(void, now__YmAcAi9bz5G8OQqVFWHN2uA)(tyObject_DateTime__d9cK9cyKZPJJxFXUmx8dSpPw* Result);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, format__ADP1KtY4gYCU9cpquETfo6A)(tyObject_DateTime__d9cK9cyKZPJJxFXUmx8dSpPw* dt);
static N_INLINE(NI, nanosecond__7rRL9cpRm0fzlI9bi1R5Kapwtimes)(tyObject_DateTime__d9cK9cyKZPJJxFXUmx8dSpPw* dt);
static N_INLINE(NCSTRING, nimToCStringConv)(NimStringDesc* s);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, cstrToNimstr)(NCSTRING str);
N_LIB_PRIVATE N_NIMCALL(void, nimLeaveFinally)(void);
static N_INLINE(tySequence__sM4lkSb7zS6F7OVMvW9cffQ*, map__9coqkyenQbauN87L29cwpJ9cwsequtils)(NimStringDesc** s, NI sLen_0, tyProc__oFHfEKFsiYTMAy9a42cSiKw op);
N_LIB_PRIVATE N_NIMCALL(void*, newSeq)(TNimType* typ, NI len);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, colonanonymous___i9cgDJyzGp9cHl61u0ZxciCA)(NimStringDesc* curr);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nsuReplaceStr)(NimStringDesc* s, NimStringDesc* sub, NimStringDesc* by);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, prepareToWriteOutput__ea9bsNo9cwchKzwCi7UjcP7g_2)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf);
N_LIB_PRIVATE N_NIMCALL(void, copyFileWithPermissions__H9b5Dl0Yjd60VeosKvlvXkA)(NimStringDesc* source, NimStringDesc* dest, NIM_BOOL ignorePermissionErrors);
N_LIB_PRIVATE N_NIMCALL(tySequence__sM4lkSb7zS6F7OVMvW9cffQ*, getExtraCmds__6Lz77eqBBT2GZa5zgnK9c9bw)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, NimStringDesc* output);
N_LIB_PRIVATE N_NIMCALL(void, linkViaResponseFile__ECoEwi5ccD2gjgW5HRJ5HQ)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, NimStringDesc* cmd);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, substr__iGg0RIKceRvsmvq8FUHOEw)(NimStringDesc* s, NI first);
N_LIB_PRIVATE N_NIMCALL(void, writeFile__D6Pj9c29aCLEJP9beOWa08HYA)(NimStringDesc* filename, NimStringDesc* content);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nsuReplaceChar)(NimStringDesc* s, NIM_CHAR sub, NIM_CHAR by);
N_LIB_PRIVATE N_NIMCALL(void, execLinkCmd__Qd0sm1DhO9cMJXoMjKvYd2g)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, NimStringDesc* linkCmd);
N_LIB_PRIVATE N_NIMCALL(void, execExternalProgram__WKaD677f7aLTxInYSr0wMw)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, NimStringDesc* cmd, tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w msg);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, substr__2yh9cer0ymNRHlOOg8P7IuA)(NimStringDesc* s, NI first, NI last);
N_LIB_PRIVATE N_NIMCALL(void, nosremoveFile)(NimStringDesc* file);
N_LIB_PRIVATE N_NIMCALL(void, generateScript__3qbYlJiAgCuEfXNA9ai9bidw)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* script);
N_NIMCALL(NimStringDesc*, rawNewString)(NI cap);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, setLengthStr)(NimStringDesc* s, NI newLen);
N_LIB_PRIVATE N_NIMCALL(void, escapeJson__YID1CO5Pb6vZOjpjrUt6Lw)(NimStringDesc* s, NimStringDesc** result);
N_LIB_PRIVATE N_NIMCALL(void, cfiles__7tj9aCcfua0Pyu5qurKtY9aQ)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, FILE* f, NimStringDesc** buf, tySequence__pK3qSsBZwdXd6qyUMkd5Jw* clist, NIM_BOOL isExternal);
N_LIB_PRIVATE N_NIMCALL(void, linkfiles__ZuAFP27RPsKG7qELLFYzkw)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, FILE* f, NimStringDesc** buf, NimStringDesc** objfiles, tySequence__pK3qSsBZwdXd6qyUMkd5Jw* clist, tySequence__sM4lkSb7zS6F7OVMvW9cffQ* llist);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar___79aIqF5QC8ZRJgu2hlv9bdjw)(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* node);
N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*, percent___I6r3ll22EMgXToNIadEMNg)(NimStringDesc** elements, NI elementsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*, percent___cUNUWspDCIapW3x6fFYyZQ_2)(NIM_BOOL b);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isDefined__jkXTnxDf8MX1Pmks3s0XxA)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, NimStringDesc* symbol);
N_LIB_PRIVATE N_NIMCALL(void, depfiles__voaYiECxgPWZnLuhOES9aRQ)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, FILE* f);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, nosisAbsolute)(NimStringDesc* path);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, escapeJson__NGTWHwdUy0ADNv9alK3ECRA)(NimStringDesc* s);
static N_NIMCALL(void, Marker_tyRef__qi0Yv9aQBTcZiM6f9a3Qd8QQ)(void* p, NI op);
N_LIB_PRIVATE N_NIMCALL(void, noscreateDir)(NimStringDesc* dir);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nosparentDir)(NimStringDesc* path);
N_LIB_PRIVATE N_CLOSURE(void, colonanonymous___hBvIN9auPUbX5e9cdQWMzpuw_2)(NI idx, void* ClE_0);
N_LIB_PRIVATE N_NIMCALL(void, quit__q8QKbUwWyOe9b9a1QNJQr71A)(NimStringDesc* errormsg, NI errorcode) __attribute__((noreturn));
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, getStackTrace__UTyxM84G9cIKwBP74ZFOh4A)(Exception* e);

/* section: NIM_merge_DATA */
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_2, ".", 1);
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_3, "gcc", 3);
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_4, "o", 1);
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_5, " -O3 -fno-ident", 15);
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_6, " -Os -fno-ident", 15);
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_7, "g++", 3);
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_8, "-c $options $include -o $objfile $file", 38);
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_9, " -mwindows", 10);
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_10, " -shared", 8);
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_11, "ar rcs $libfile $objfiles", 25);
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_12, "$buildgui $builddll -o $exefile $objfiles $options", 50);
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_13, " -I", 3);
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_14, " -L", 3);
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_15, " -l$1", 5);
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_16, "-fPIC", 5);
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_17, "asm($1);$n", 10);
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_18, "$1 $3 $2 ", 9);
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_19, "-Wa,-acdl=$asmfile -g -fverbose-asm -masm=intel", 47);
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_20, "-std=gnu++14 -funsigned-char", 28);
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_21, "switch_gcc", 10);
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_22, " -O3 ", 5);
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_23, " -Os ", 5);
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_24, "aarch64-none-elf-gcc", 20);
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_25, "aarch64-none-elf-g++", 20);
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_26, "-w -MMD -MP -MF $dfile -c $options $include -o $objfile $file", 61);
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_27, "aarch64-none-elf-gcc-ar rcs $libfile $objfiles", 46);
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_28, "$buildgui $builddll -Wl,-Map,$mapfile -o $exefile $objfiles $op"
"tions", 68);
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_29, "-fPIE", 5);
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_30, "llvm_gcc", 8);
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_31, "llvm-gcc", 8);
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_32, "llvm-g++", 8);
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_33, "llvm-ar rcs $libfile $objfiles", 30);
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_34, "clang", 5);
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_35, "clang++", 7);
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_36, "bcc", 3);
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_37, "obj", 3);
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_38, " -O3 -6 ", 8);
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_39, " -O1 -6 ", 8);
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_40, "bcc32c", 6);
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_41, "cpp32c", 6);
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_42, "-c $options $include -o$objfile $file", 37);
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_43, " -tW", 4);
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_44, " -tWD", 5);
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_45, "bcc32", 5);
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_46, "$options $buildgui $builddll -e$exefile $objfiles", 49);
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_47, "__asm{$n$1$n}$n", 15);
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_48, "$1 $2", 5);
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_49, "vcc", 3);
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_50, " /Ogityb2 ", 10);
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_51, " /O1 ", 5);
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_52, "cl", 2);
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_53, "/c$vccplatform $options $include /nologo /Fo$objfile $file", 58);
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_54, " /SUBSYSTEM:WINDOWS user32.lib ", 31);
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_55, " /LD", 4);
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_56, "lib /OUT:$libfile $objfiles", 27);
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_57, "$builddll$vccplatform /Fe$exefile $objfiles $buildgui /nologo $"
"options", 70);
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_58, " /I", 3);
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_59, " /LIBPATH:", 10);
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_60, " $1.lib", 7);
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_61, " /RTC1 /Z7 ", 11);
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_62, "$3$n$1 $2", 9);
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_63, "/Fa$asmfile", 11);
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_64, "tcc", 3);
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_65, "-Wl,-subsystem=gui", 18);
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_66, "-o $exefile $options $buildgui $builddll $objfiles", 50);
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_67, " -g ", 4);
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_68, "env", 3);
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_69, " -O1 ", 5);
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_70, "-c $ccenvflags $options $include -o $objfile $file", 50);
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_71, " -shared ", 9);
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_72, "cc", 2);
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_73, "-o $exefile $buildgui $builddll $objfiles $options", 50);
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_74, "icl", 3);
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_75, "icc", 3);
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_76, "clang_cl", 8);
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_77, "clang-cl", 8);
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_78, "-fuse-ld=lld $builddll$vccplatform /Fe$exefile $objfiles $build"
"gui /nologo $options", 83);
N_LIB_PRIVATE NIM_CONST tyArray__sa9aJ6U8e9b7Bj4Yq8itsR8w CC__78I18QZNZFIv9ah7oETc0jg = {{((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_3),
((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_4),
((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_5),
((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_6),
((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_3),
((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_7),
((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_8),
((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_9),
((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_10),
((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_11),
((NimStringDesc*) NIM_NIL),
((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_12),
((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_13),
((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_14),
((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_15),
((NimStringDesc*) NIM_NIL),
((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_16),
((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_17),
((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_18),
((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_19),
((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_20),
183}
,
{((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_21),
((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_4),
((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_22),
((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_23),
((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_24),
((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_25),
((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_26),
((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_9),
((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_10),
((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_27),
((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_24),
((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_28),
((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_13),
((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_14),
((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_15),
((NimStringDesc*) NIM_NIL),
((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_29),
((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_17),
((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_18),
((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_19),
((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_20),
183}
,
{((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_30),
((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_4),
((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_5),
((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_6),
((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_31),
((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_32),
((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_8),
((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_9),
((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_10),
((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_33),
((NimStringDesc*) NIM_NIL),
((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_12),
((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_13),
((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_14),
((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_15),
((NimStringDesc*) NIM_NIL),
((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_16),
((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_17),
((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_18),
((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_19),
((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_20),
183}
,
{((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_34),
((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_4),
((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_5),
((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_6),
((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_34),
((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_35),
((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_8),
((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_9),
((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_10),
((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_33),
((NimStringDesc*) NIM_NIL),
((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_12),
((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_13),
((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_14),
((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_15),
((NimStringDesc*) NIM_NIL),
((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_16),
((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_17),
((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_18),
((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_19),
((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_20),
183}
,
{((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_36),
((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_37),
((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_38),
((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_39),
((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_40),
((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_41),
((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_42),
((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_43),
((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_44),
((NimStringDesc*) NIM_NIL),
((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_45),
((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_46),
((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_13),
((NimStringDesc*) NIM_NIL),
((NimStringDesc*) NIM_NIL),
((NimStringDesc*) NIM_NIL),
((NimStringDesc*) NIM_NIL),
((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_47),
((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_48),
((NimStringDesc*) NIM_NIL),
((NimStringDesc*) NIM_NIL),
151}
,
{((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_49),
((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_37),
((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_50),
((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_51),
((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_52),
((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_52),
((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_53),
((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_54),
((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_55),
((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_56),
((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_52),
((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_57),
((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_58),
((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_59),
((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_60),
((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_61),
((NimStringDesc*) NIM_NIL),
((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_47),
((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_62),
((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_63),
((NimStringDesc*) NIM_NIL),
76}
,
{((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_64),
((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_4),
((NimStringDesc*) NIM_NIL),
((NimStringDesc*) NIM_NIL),
((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_64),
((NimStringDesc*) NIM_NIL),
((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_8),
((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_65),
((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_10),
((NimStringDesc*) NIM_NIL),
((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_64),
((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_66),
((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_13),
((NimStringDesc*) NIM_NIL),
((NimStringDesc*) NIM_NIL),
((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_67),
((NimStringDesc*) NIM_NIL),
((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_17),
((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_48),
((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_19),
((NimStringDesc*) NIM_NIL),
35}
,
{((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_68),
((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_4),
((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_22),
((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_69),
((NimStringDesc*) NIM_NIL),
((NimStringDesc*) NIM_NIL),
((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_70),
((NimStringDesc*) NIM_NIL),
((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_71),
((NimStringDesc*) NIM_NIL),
((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_72),
((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_73),
((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_13),
((NimStringDesc*) NIM_NIL),
((NimStringDesc*) NIM_NIL),
((NimStringDesc*) NIM_NIL),
((NimStringDesc*) NIM_NIL),
((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_47),
((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_48),
((NimStringDesc*) NIM_NIL),
((NimStringDesc*) NIM_NIL),
32}
,
{((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_74),
((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_37),
((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_50),
((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_51),
((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_74),
((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_52),
((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_53),
((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_54),
((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_55),
((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_56),
((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_74),
((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_57),
((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_58),
((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_59),
((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_60),
((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_61),
((NimStringDesc*) NIM_NIL),
((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_47),
((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_62),
((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_63),
((NimStringDesc*) NIM_NIL),
76}
,
{((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_75),
((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_4),
((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_5),
((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_6),
((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_75),
((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_7),
((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_8),
((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_9),
((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_10),
((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_11),
((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_75),
((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_12),
((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_13),
((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_14),
((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_15),
((NimStringDesc*) NIM_NIL),
((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_16),
((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_17),
((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_18),
((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_19),
((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_20),
183}
,
{((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_76),
((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_37),
((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_50),
((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_51),
((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_77),
((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_77),
((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_53),
((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_54),
((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_55),
((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_56),
((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_77),
((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_78),
((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_58),
((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_59),
((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_60),
((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_61),
((NimStringDesc*) NIM_NIL),
((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_47),
((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_62),
((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_63),
((NimStringDesc*) NIM_NIL),
76}
}
;
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_79, "extccomp.nim(631, 31) `false` ", 30);
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_80, "sha1", 4);
extern NIM_CONST tyArray__geAxQ09aiJ4i2plLZEkYDpg OS__Jx0qy9c9bSo4fGkMxUfUaAaw;
extern NIM_CONST tyArray__8d8P9caia9cszVjIJKsQGMQA CPU__uYXopJX8pM87pQDCtmgWfQ;
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_81, " ", 1);
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_82, ".debug", 6);
extern TNimType NTI__4OBsgZ9cscH2JLUE5Wcz01g_;
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_83, ".options.debug", 14);
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_84, ".speed", 6);
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_85, ".options.speed", 14);
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_86, ".size", 5);
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_87, ".options.size", 13);
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_88, ".always", 7);
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_89, ".c", 2);
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_90, ".exe", 4);
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_91, "CXX", 3);
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_92, "CC", 2);
extern NIM_CONST tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q unknownLineInfo__Adg58D2FIbt5TWh9aavBqbg;
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_93, "Compiler \'$1\' doesn\'t support the requested target", 50);
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_95, "/home/runner/work/nightlies/nightlies/nim/compiler/extccomp.nim", 63);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__OyL9acDBDoBfMwa5zb1Y88w_94 = {((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_95),
((NI) 501),
((NI) 14)}
;
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_96, "exe", 3);
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_97, ".d", 2);
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_98, "dfile", 5);
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_99, "file", 4);
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_100, "objfile", 7);
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_101, "options", 7);
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_102, "include", 7);
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_103, "nim", 3);
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_104, "lib", 3);
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_105, "ccenvflags", 10);
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_106, "CXXFLAGS", 8);
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_107, "CFLAGS", 6);
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_108, ".asm", 4);
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_109, "asmfile", 7);
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_110, "Produced assembler here: ", 25);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__OyL9acDBDoBfMwa5zb1Y88w_111 = {((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_95),
((NI) 605),
((NI) 18)}
;
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_112, "Couldn\'t produce assembler listing for the selected C compiler:"
" ", 64);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__OyL9acDBDoBfMwa5zb1Y88w_113 = {((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_95),
((NI) 608),
((NI) 18)}
;
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_114, "vccplatform", 11);
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_115, "vccexe.exe", 10);
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_116, " --platform:x86", 15);
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_117, " --platform:arm", 15);
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_118, " --platform:amd64", 17);
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_119, "\012", 1);
extern TNimType NTI__pK3qSsBZwdXd6qyUMkd5Jw_;
extern TNimType NTI__i9cKq1ZGd1wgagjUEHLVFtg_;
extern TNimType NTI__sM4lkSb7zS6F7OVMvW9cffQ_;
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_120, "unknown C compiler: \'$1\'. Available options are: $2", 51);
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_121, ", ", 2);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__OyL9acDBDoBfMwa5zb1Y88w_122 = {((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_95),
((NI) 330),
((NI) 14)}
;
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_123, ".options.always", 15);
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_124, ".path", 5);
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_125, "true", 4);
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_126, "json", 4);
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_128, "depfiles", 8);
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_129, "cmdline", 7);
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_130, "nimexe", 6);
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_131, "stdinInput", 10);
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_132, "extccomp.nim(1060, 14) `depfilesPairs.kind == JArray` ", 54);
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_133, "extccomp.nim(1062, 16) `p.kind == JArray` ", 42);
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_134, "extccomp.nim(1064, 16) `p.len >= 2` ", 36);
extern TNimType NTI__iLZrPn9anoh9ad1MmO0RczFw_;
extern TNimType NTI__BeJgrOdDsczOwEWOZbRfKA_;
extern TNimType NTI__yoNlBGx0D2tRizIdhQuENw_;
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_135, "Warning: JSON processing failed: ", 33);
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_137, " --version", 10);
static NIM_CONST tyTuple__XOVT24GHXwqiEj5GCsEGCA TM__OyL9acDBDoBfMwa5zb1Y88w_138 = {((NimStringDesc*) NIM_NIL),
((NI) 1)}
;
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_139, "[C_Files]\012", 10);
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_140, "\012[C_Compiler]\012Flags=", 20);
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_141, "__dummy__", 9);
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_142, "\"", 1);
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_143, "\012[Linker]\012Flags=", 16);
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_144, ".options.linker", 15);
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_145, "\012[Environment]\012libpath=", 23);
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_146, "mapping.txt", 11);
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_147, "could not write to file: ", 25);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__OyL9acDBDoBfMwa5zb1Y88w_148 = {((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_95),
((NI) 1142),
((NI) 14)}
;
extern TNimType NTI__ytyiCJqK439aF9cIibuRVpAg_;
N_LIB_PRIVATE TNimType NTI__5IBXZ8SwOH2SKZ9aFV2UlKA_;
extern TNimType NTI__xHTZrq9aYs6boc9bCba0JbpQ_;
N_LIB_PRIVATE TNimType NTI__yDouvGWqXnyQWbY9cNZcRzQ_;
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_150, "CC: $1", 6);
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_151, ": ", 2);
N_LIB_PRIVATE TNimType NTI__4Ms6MGgcp8EDnUBSlKFk9bg_;
extern TNimType NTI__a8lycfSA25OQltN3OMeBsA_;
N_LIB_PRIVATE TNimType NTI__pkCPBZYDmG8KoijaqNdsQw_;
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_153, "execution of an external compiler program \'", 43);
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_154, "\' failed with exit code: ", 25);
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_155, "\012\012", 2);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__OyL9acDBDoBfMwa5zb1Y88w_156 = {((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_95),
((NI) 779),
((NI) 16)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__OyL9acDBDoBfMwa5zb1Y88w_158 = {((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_95),
((NI) 393),
((NI) 12)}
;
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_159, "invocation of external compiler program failed. ", 48);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__OyL9acDBDoBfMwa5zb1Y88w_160 = {((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_95),
((NI) 759),
((NI) 16)}
;
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_161, "execution of an external program failed: \'$1\'", 45);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__OyL9acDBDoBfMwa5zb1Y88w_162 = {((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_95),
((NI) 761),
((NI) 16)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__OyL9acDBDoBfMwa5zb1Y88w_163 = {((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_95),
((NI) 788),
((NI) 18)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__OyL9acDBDoBfMwa5zb1Y88w_165 = {((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_95),
((NI) 796),
((NI) 16)}
;
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_166, "libfile", 7);
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_167, "objfiles", 8);
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_168, ".linkerexe", 10);
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_169, ".map", 4);
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_170, ".linkTmpl", 9);
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_171, "builddll", 8);
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_172, "mapfile", 7);
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_173, "buildgui", 8);
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_174, "exefile", 7);
extern TNimType NTI__d9cK9cyKZPJJxFXUmx8dSpPw_;
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_175, ".pdb", 4);
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_176, " /link /PDB:", 12);
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_177, " /Zi /FS /Od", 12);
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_178, ".*.pdb", 6);
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_181, "Link", 4);
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_183, "_linkerArgs.txt", 15);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__OyL9acDBDoBfMwa5zb1Y88w_186 = {((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_95),
((NI) 398),
((NI) 14)}
;
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_187, "invocation of external linker program failed. ", 46);
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_188, " @", 2);
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_189, "compile_", 8);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__OyL9acDBDoBfMwa5zb1Y88w_190 = {((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_95),
((NI) 406),
((NI) 14)}
;
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_191, ".json", 5);
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_192, "{\012", 2);
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_193, "\"outputFile\": ", 14);
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_194, ",\012\"compile\":[\012", 14);
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_195, ",\012", 2);
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_196, "[", 1);
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_197, "]", 1);
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_198, "],\012\"link\":[\012", 12);
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_199, "],\012\"linkcmd\": ", 14);
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_200, ",\012\"extraCmds\": ", 15);
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_201, ",\012\"stdinInput\": ", 16);
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_202, "nimBetterRun", 12);
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_203, ",\012\"cmdline\": ", 13);
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_204, ",\012\"depfiles\":[\012", 15);
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_205, "],\012", 3);
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_206, "]\012", 2);
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_207, "],\012\"nimexe\": \012", 14);
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_208, "\012}\012", 3);
N_LIB_PRIVATE TNimType NTI__JADVv1Eiz6JDXeCPTMF3cQ_;
N_LIB_PRIVATE TNimType NTI__qi0Yv9aQBTcZiM6f9a3Qd8QQ_;
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_211, "outputFile", 10);
extern NIM_CONST tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q gCmdLineInfo__yhfh3fjBy4h9bf6keLoh9aXQ;
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_212, "jsonscript command outputFile \'$1\' must match \'$2\' which was sp"
"ecified during --compileOnly, see \"outputFile\" entry in \'$3\' ", 124);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__OyL9acDBDoBfMwa5zb1Y88w_213 = {((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_95),
((NI) 1087),
((NI) 17)}
;
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_214, "compile", 7);
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_215, "extccomp.nim(1090, 14) `toCompile.kind == JArray` ", 50);
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_216, "extccomp.nim(1097, 16) `c.kind == JArray` ", 42);
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_217, "extccomp.nim(1098, 16) `c.len >= 2` ", 36);
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_218, "linkcmd", 7);
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_219, "extccomp.nim(1106, 14) `linkCmd.kind == JString` ", 49);
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_220, "extraCmds", 9);
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_221, "extccomp.nim(1110, 16) `extraCmds.kind == JArray` ", 50);
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_222, "extccomp.nim(1112, 18) `cmd.kind == JString` ", 45);
extern TNimType NTI__RUngo7nCHe6O8aBGIcrhtg_;
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_223, "\012caught exception:\012", 19);
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_224, "\012stacktrace:\012", 13);
STRING_LITERAL(TM__OyL9acDBDoBfMwa5zb1Y88w_225, "error evaluating JSON file: ", 28);

/* section: NIM_merge_VARS */
extern tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ gch__IcYaEuuWivYAS86vFMTS3Q;
extern TSafePoint* excHandler__rqLlY5bs9atDw2OXYqJEn5g;
extern TSafePoint* excHandler__rqLlY5bs9atDw2OXYqJEn5g;
extern TSafePoint* excHandler__rqLlY5bs9atDw2OXYqJEn5g;
extern TSafePoint* excHandler__rqLlY5bs9atDw2OXYqJEn5g;
extern Exception* currException__9bVPeDJlYTi9bQApZpfH8wjg;
extern Exception* currException__9bVPeDJlYTi9bQApZpfH8wjg;
extern Exception* currException__9bVPeDJlYTi9bQApZpfH8wjg;
extern Exception* currException__9bVPeDJlYTi9bQApZpfH8wjg;
extern Exception* currException__9bVPeDJlYTi9bQApZpfH8wjg;
extern Exception* currException__9bVPeDJlYTi9bQApZpfH8wjg;

/* section: NIM_merge_PROCS */
static N_INLINE(void, nimSetMem__zxfKBYntu9cBapkhrCOk1fgmemory)(void* a, int v, NI size) {
	void* T1_;
	T1_ = (void*)0;
	T1_ = memset(a, v, ((size_t) (size)));
}
static N_INLINE(void, nimZeroMem)(void* p, NI size) {
	nimSetMem__zxfKBYntu9cBapkhrCOk1fgmemory(p, ((int) 0), size);
}
static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size) {
	void* T1_;
	T1_ = (void*)0;
	T1_ = memcpy(dest, source, ((size_t) (size)));
}
static N_INLINE(void, copyMem__i80o3k0SgEI5gTRCzYdyWAsystem)(void* dest, void* source, NI size) {
	nimCopyMem(dest, source, size);
}
static N_INLINE(void, appendString)(NimStringDesc* dest, NimStringDesc* src) {
	{
		void* T5_;
		void* T6_;
		if (!!((src == NIM_NIL))) goto LA3_;
		T5_ = (void*)0;
		T5_ = ((void*) ((&(*dest).data[(*dest).Sup.len])));
		T6_ = (void*)0;
		T6_ = ((void*) ((*src).data));
		copyMem__i80o3k0SgEI5gTRCzYdyWAsystem(T5_, T6_, ((NI) ((NI)((*src).Sup.len + ((NI) 1)))));
		(*dest).Sup.len += (*src).Sup.len;
	}
	LA3_: ;
}
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, toObjFile__GMjJ0d3khWrmxAqhh9anEsw)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, NimStringDesc* filename) {
	NimStringDesc* result;
	NimStringDesc* T1_;
	result = (NimStringDesc*)0;
	T1_ = (NimStringDesc*)0;
	T1_ = rawNewString((filename ? filename->Sup.len : 0) + (CC__78I18QZNZFIv9ah7oETc0jg[((*conf).cCompiler)- 1].Field1 ? CC__78I18QZNZFIv9ah7oETc0jg[((*conf).cCompiler)- 1].Field1->Sup.len : 0) + 1);
appendString(T1_, filename);
appendString(T1_, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_2));
appendString(T1_, CC__78I18QZNZFIv9ah7oETc0jg[((*conf).cCompiler)- 1].Field1);
	result = T1_;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, completeCfilePath__VmrjcznbGOrooG3SBIdEFQ)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, NimStringDesc* cfile, NIM_BOOL createSubDir) {
	NimStringDesc* result;
	result = (NimStringDesc*)0;
	result = completeGeneratedFilePath__0Bq74PTyfNijlbTXdbzW9bw(conf, cfile, createSubDir);
	return result;
}
static N_INLINE(NIM_CHAR, X5BX5D___okzHJ6GE9cv0bYG3b4r5KCAsystem)(NimStringDesc* s, NI i) {
	NIM_CHAR result;
	result = (NIM_CHAR)0;
	result = s->data[(NI)((s ? s->Sup.len : 0) - i)];
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, addOpt__uSovO2RAvymqBoy9crgVjtA)(NimStringDesc** dest, NimStringDesc* src) {
	{
		NIM_BOOL T3_;
		NIM_CHAR T5_;
		T3_ = (NIM_BOOL)0;
		T3_ = (((*dest) ? (*dest)->Sup.len : 0) == ((NI) 0));
		if (T3_) goto LA4_;
		T5_ = (NIM_CHAR)0;
		T5_ = X5BX5D___okzHJ6GE9cv0bYG3b4r5KCAsystem((*dest), ((NI) 1));
		T3_ = !(((NU8)(T5_) == (NU8)(32)));
		LA4_: ;
		if (!T3_) goto LA6_;
		unsureAsgnRef((void**) (&(*dest)), resizeString((*dest), 1));
appendString((*dest), ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_81));
	}
	LA6_: ;
	unsureAsgnRef((void**) (&(*dest)), resizeString((*dest), (src ? src->Sup.len : 0) + 0));
appendString((*dest), src);
}
static N_INLINE(void, appendChar)(NimStringDesc* dest, NIM_CHAR c) {
	(*dest).data[(*dest).Sup.len] = c;
	(*dest).data[(NI)((*dest).Sup.len + ((NI) 1))] = 0;
	(*dest).Sup.len += ((NI) 1);
}
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, getConfigVar__yFoF7FUju4sVQL0kUhJ68Q)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyEnum_TSystemCC__1eWBJUonHMOnlBwsOvpFmA c, NimStringDesc* suffix) {
	NimStringDesc* result;
	NimStringDesc* fullSuffix;
{	result = (NimStringDesc*)0;
	fullSuffix = copyString(suffix);
	switch ((*conf).backend) {
	case ((tyEnum_TBackend__4OBsgZ9cscH2JLUE5Wcz01g) 2):
	case ((tyEnum_TBackend__4OBsgZ9cscH2JLUE5Wcz01g) 3):
	case ((tyEnum_TBackend__4OBsgZ9cscH2JLUE5Wcz01g) 4):
	{
		NimStringDesc* T2_;
		T2_ = (NimStringDesc*)0;
		T2_ = rawNewString((reprEnum((NI)(*conf).backend, (&NTI__4OBsgZ9cscH2JLUE5Wcz01g_)) ? reprEnum((NI)(*conf).backend, (&NTI__4OBsgZ9cscH2JLUE5Wcz01g_))->Sup.len : 0) + (suffix ? suffix->Sup.len : 0) + 1);
appendString(T2_, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_2));
appendString(T2_, reprEnum((NI)(*conf).backend, (&NTI__4OBsgZ9cscH2JLUE5Wcz01g_)));
appendString(T2_, suffix);
		fullSuffix = T2_;
	}
	break;
	case ((tyEnum_TBackend__4OBsgZ9cscH2JLUE5Wcz01g) 1):
	{
	}
	break;
	case ((tyEnum_TBackend__4OBsgZ9cscH2JLUE5Wcz01g) 0):
	{
		result = ((NimStringDesc*) NIM_NIL);
		goto BeforeRet_;
	}
	break;
	}
	{
		NIM_BOOL T7_;
		NIM_BOOL T8_;
		NimStringDesc* fullCCname;
		NimStringDesc* T13_;
		T7_ = (NIM_BOOL)0;
		T8_ = (NIM_BOOL)0;
		T8_ = !(((*conf).target.hostOS == (*conf).target.targetOS));
		if (T8_) goto LA9_;
		T8_ = !(((*conf).target.hostCPU == (*conf).target.targetCPU));
		LA9_: ;
		T7_ = T8_;
		if (!(T7_)) goto LA10_;
		T7_ = !((((*conf).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 4))&63U)))!=0));
		LA10_: ;
		if (!T7_) goto LA11_;
		T13_ = (NimStringDesc*)0;
		T13_ = rawNewString((CPU__uYXopJX8pM87pQDCtmgWfQ[((*conf).target.targetCPU)- 1].Field0 ? CPU__uYXopJX8pM87pQDCtmgWfQ[((*conf).target.targetCPU)- 1].Field0->Sup.len : 0) + (OS__Jx0qy9c9bSo4fGkMxUfUaAaw[((*conf).target.targetOS)- 1].Field0 ? OS__Jx0qy9c9bSo4fGkMxUfUaAaw[((*conf).target.targetOS)- 1].Field0->Sup.len : 0) + (CC__78I18QZNZFIv9ah7oETc0jg[(c)- 1].Field0 ? CC__78I18QZNZFIv9ah7oETc0jg[(c)- 1].Field0->Sup.len : 0) + (fullSuffix ? fullSuffix->Sup.len : 0) + 2);
appendString(T13_, CPU__uYXopJX8pM87pQDCtmgWfQ[((*conf).target.targetCPU)- 1].Field0);
appendChar(T13_, 46);
appendString(T13_, OS__Jx0qy9c9bSo4fGkMxUfUaAaw[((*conf).target.targetOS)- 1].Field0);
appendChar(T13_, 46);
appendString(T13_, CC__78I18QZNZFIv9ah7oETc0jg[(c)- 1].Field0);
appendString(T13_, fullSuffix);
		fullCCname = T13_;
		result = getConfigVar__nT6pi8CimjduqrsM6Cc8mQ(conf, fullCCname, ((NimStringDesc*) NIM_NIL));
		{
			NimStringDesc* T18_;
			if (!((result ? result->Sup.len : 0) == ((NI) 0))) goto LA16_;
			T18_ = (NimStringDesc*)0;
			T18_ = rawNewString((CC__78I18QZNZFIv9ah7oETc0jg[(c)- 1].Field0 ? CC__78I18QZNZFIv9ah7oETc0jg[(c)- 1].Field0->Sup.len : 0) + (fullSuffix ? fullSuffix->Sup.len : 0) + 0);
appendString(T18_, CC__78I18QZNZFIv9ah7oETc0jg[(c)- 1].Field0);
appendString(T18_, fullSuffix);
			result = getConfigVar__nT6pi8CimjduqrsM6Cc8mQ(conf, T18_, ((NimStringDesc*) NIM_NIL));
		}
		LA16_: ;
	}
	goto LA5_;
	LA11_: ;
	{
		NimStringDesc* T20_;
		T20_ = (NimStringDesc*)0;
		T20_ = rawNewString((CC__78I18QZNZFIv9ah7oETc0jg[(c)- 1].Field0 ? CC__78I18QZNZFIv9ah7oETc0jg[(c)- 1].Field0->Sup.len : 0) + (fullSuffix ? fullSuffix->Sup.len : 0) + 0);
appendString(T20_, CC__78I18QZNZFIv9ah7oETc0jg[(c)- 1].Field0);
appendString(T20_, fullSuffix);
		result = getConfigVar__nT6pi8CimjduqrsM6Cc8mQ(conf, T20_, ((NimStringDesc*) NIM_NIL));
	}
	LA5_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, getDebug__fHOlJ3I1m1sG8h0fniEtOw)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyEnum_TSystemCC__1eWBJUonHMOnlBwsOvpFmA c) {
	NimStringDesc* result;
	result = (NimStringDesc*)0;
	result = getConfigVar__yFoF7FUju4sVQL0kUhJ68Q(conf, c, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_83));
	{
		if (!((result ? result->Sup.len : 0) == 0)) goto LA3_;
		result = copyString(CC__78I18QZNZFIv9ah7oETc0jg[(c)- 1].Field15);
	}
	LA3_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, getOptSpeed__fHOlJ3I1m1sG8h0fniEtOw_2)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyEnum_TSystemCC__1eWBJUonHMOnlBwsOvpFmA c) {
	NimStringDesc* result;
	result = (NimStringDesc*)0;
	result = getConfigVar__yFoF7FUju4sVQL0kUhJ68Q(conf, c, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_85));
	{
		if (!((result ? result->Sup.len : 0) == 0)) goto LA3_;
		result = copyString(CC__78I18QZNZFIv9ah7oETc0jg[(c)- 1].Field2);
	}
	LA3_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, getOptSize__fHOlJ3I1m1sG8h0fniEtOw_3)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyEnum_TSystemCC__1eWBJUonHMOnlBwsOvpFmA c) {
	NimStringDesc* result;
	result = (NimStringDesc*)0;
	result = getConfigVar__yFoF7FUju4sVQL0kUhJ68Q(conf, c, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_87));
	{
		if (!((result ? result->Sup.len : 0) == 0)) goto LA3_;
		result = copyString(CC__78I18QZNZFIv9ah7oETc0jg[(c)- 1].Field3);
	}
	LA3_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, cFileSpecificOptions__qenQYPV4hXyQmNT9c9aOOH9cQ)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, NimStringDesc* nimname, NimStringDesc* fullNimFile) {
	NimStringDesc* result;
	NimStringDesc* key_4;
	NimStringDesc* T48_;
	NimStringDesc* T55_;
	result = (NimStringDesc*)0;
	result = copyString((*conf).compileOptions);
	{
		NimStringDesc** option;
		NI i;
		NI L;
		NI T2_;
		option = (NimStringDesc**)0;
		i = ((NI) 0);
		T2_ = ((*conf).compileOptionsCmd ? (*conf).compileOptionsCmd->Sup.len : 0);
		L = T2_;
		{
			while (1) {
				if (!(i < L)) goto LA4;
				option = (&(*conf).compileOptionsCmd->data[i]);
				{
					NI T7_;
					T7_ = (NI)0;
					T7_ = nsuFindStr(result, (*option), ((NI) 0), ((NI) 0));
					if (!(T7_ < ((NI) 0))) goto LA8_;
					addOpt__uSovO2RAvymqBoy9crgVjtA((&result), (*option));
				}
				LA8_: ;
				i += ((NI) 1);
			} LA4: ;
		}
	}
	{
		NimStringDesc* key;
		NimStringDesc* T14_;
		if (!(((*conf).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 6))&63U)))!=0)) goto LA12_;
		T14_ = (NimStringDesc*)0;
		T14_ = rawNewString((nimname ? nimname->Sup.len : 0) + 6);
appendString(T14_, nimname);
appendString(T14_, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_82));
		key = T14_;
		{
			NIM_BOOL T17_;
			NimStringDesc* T20_;
			T17_ = (NIM_BOOL)0;
			T17_ = existsConfigVar__ut8y6zhxwL6n6Sz9akfQBGg(conf, key);
			if (!T17_) goto LA18_;
			T20_ = (NimStringDesc*)0;
			T20_ = getConfigVar__nT6pi8CimjduqrsM6Cc8mQ(conf, key, ((NimStringDesc*) NIM_NIL));
			addOpt__uSovO2RAvymqBoy9crgVjtA((&result), T20_);
		}
		goto LA15_;
		LA18_: ;
		{
			NimStringDesc* T22_;
			T22_ = (NimStringDesc*)0;
			T22_ = getDebug__fHOlJ3I1m1sG8h0fniEtOw(conf, (*conf).cCompiler);
			addOpt__uSovO2RAvymqBoy9crgVjtA((&result), T22_);
		}
		LA15_: ;
	}
	LA12_: ;
	{
		NimStringDesc* key_2;
		NimStringDesc* T27_;
		if (!(((*conf).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 15))&31U)))!=0)) goto LA25_;
		T27_ = (NimStringDesc*)0;
		T27_ = rawNewString((nimname ? nimname->Sup.len : 0) + 6);
appendString(T27_, nimname);
appendString(T27_, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_84));
		key_2 = T27_;
		{
			NIM_BOOL T30_;
			NimStringDesc* T33_;
			T30_ = (NIM_BOOL)0;
			T30_ = existsConfigVar__ut8y6zhxwL6n6Sz9akfQBGg(conf, key_2);
			if (!T30_) goto LA31_;
			T33_ = (NimStringDesc*)0;
			T33_ = getConfigVar__nT6pi8CimjduqrsM6Cc8mQ(conf, key_2, ((NimStringDesc*) NIM_NIL));
			addOpt__uSovO2RAvymqBoy9crgVjtA((&result), T33_);
		}
		goto LA28_;
		LA31_: ;
		{
			NimStringDesc* T35_;
			T35_ = (NimStringDesc*)0;
			T35_ = getOptSpeed__fHOlJ3I1m1sG8h0fniEtOw_2(conf, (*conf).cCompiler);
			addOpt__uSovO2RAvymqBoy9crgVjtA((&result), T35_);
		}
		LA28_: ;
	}
	goto LA23_;
	LA25_: ;
	{
		NimStringDesc* key_3;
		NimStringDesc* T39_;
		if (!(((*conf).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 16))&31U)))!=0)) goto LA37_;
		T39_ = (NimStringDesc*)0;
		T39_ = rawNewString((nimname ? nimname->Sup.len : 0) + 5);
appendString(T39_, nimname);
appendString(T39_, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_86));
		key_3 = T39_;
		{
			NIM_BOOL T42_;
			NimStringDesc* T45_;
			T42_ = (NIM_BOOL)0;
			T42_ = existsConfigVar__ut8y6zhxwL6n6Sz9akfQBGg(conf, key_3);
			if (!T42_) goto LA43_;
			T45_ = (NimStringDesc*)0;
			T45_ = getConfigVar__nT6pi8CimjduqrsM6Cc8mQ(conf, key_3, ((NimStringDesc*) NIM_NIL));
			addOpt__uSovO2RAvymqBoy9crgVjtA((&result), T45_);
		}
		goto LA40_;
		LA43_: ;
		{
			NimStringDesc* T47_;
			T47_ = (NimStringDesc*)0;
			T47_ = getOptSize__fHOlJ3I1m1sG8h0fniEtOw_3(conf, (*conf).cCompiler);
			addOpt__uSovO2RAvymqBoy9crgVjtA((&result), T47_);
		}
		LA40_: ;
	}
	goto LA23_;
	LA37_: ;
	LA23_: ;
	T48_ = (NimStringDesc*)0;
	T48_ = rawNewString((nimname ? nimname->Sup.len : 0) + 7);
appendString(T48_, nimname);
appendString(T48_, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_88));
	key_4 = T48_;
	{
		NIM_BOOL T51_;
		NimStringDesc* T54_;
		T51_ = (NIM_BOOL)0;
		T51_ = existsConfigVar__ut8y6zhxwL6n6Sz9akfQBGg(conf, key_4);
		if (!T51_) goto LA52_;
		T54_ = (NimStringDesc*)0;
		T54_ = getConfigVar__nT6pi8CimjduqrsM6Cc8mQ(conf, key_4, ((NimStringDesc*) NIM_NIL));
		addOpt__uSovO2RAvymqBoy9crgVjtA((&result), T54_);
	}
	LA52_: ;
	T55_ = (NimStringDesc*)0;
	T55_ = getOrDefault__2a0cbxcfpWcXtK45m9bR5Kg((*conf).cfileSpecificOptions, fullNimFile, ((NimStringDesc*) NIM_NIL));
	addOpt__uSovO2RAvymqBoy9crgVjtA((&result), T55_);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, useCpp__CiPnKL2TIba667EvWphSyw)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, NimStringDesc* cfile) {
	NIM_BOOL result;
	NIM_BOOL T1_;
	NIM_BOOL T3_;
	result = (NIM_BOOL)0;
	T1_ = (NIM_BOOL)0;
	T1_ = ((*conf).backend == ((tyEnum_TBackend__4OBsgZ9cscH2JLUE5Wcz01g) 2));
	if (!(T1_)) goto LA2_;
	T3_ = (NIM_BOOL)0;
	T3_ = nsuEndsWith(cfile, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_89));
	T1_ = !(T3_);
	LA2_: ;
	result = T1_;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, getCompilerExe__C0I5a08dQ0OlRyrYrGtPrw)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyEnum_TSystemCC__1eWBJUonHMOnlBwsOvpFmA compiler, NimStringDesc* cfile) {
	NimStringDesc* result;
	result = (NimStringDesc*)0;
	{
		if (!(compiler == ((tyEnum_TSystemCC__1eWBJUonHMOnlBwsOvpFmA) 8))) goto LA3_;
		{
			NIM_BOOL T7_;
			T7_ = (NIM_BOOL)0;
			T7_ = useCpp__CiPnKL2TIba667EvWphSyw(conf, cfile);
			if (!T7_) goto LA8_;
			result = getEnv__hhED57tMl0Iaa5bOg9cJaig(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_91), ((NimStringDesc*) NIM_NIL));
		}
		goto LA5_;
		LA8_: ;
		{
			result = getEnv__hhED57tMl0Iaa5bOg9cJaig(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_92), ((NimStringDesc*) NIM_NIL));
		}
		LA5_: ;
	}
	goto LA1_;
	LA3_: ;
	{
		{
			NIM_BOOL T14_;
			T14_ = (NIM_BOOL)0;
			T14_ = useCpp__CiPnKL2TIba667EvWphSyw(conf, cfile);
			if (!T14_) goto LA15_;
			result = copyString(CC__78I18QZNZFIv9ah7oETc0jg[(compiler)- 1].Field5);
		}
		goto LA12_;
		LA15_: ;
		{
			result = copyString(CC__78I18QZNZFIv9ah7oETc0jg[(compiler)- 1].Field4);
		}
		LA12_: ;
	}
	LA1_: ;
	{
		NimStringDesc* T22_;
		if (!((result ? result->Sup.len : 0) == ((NI) 0))) goto LA20_;
		T22_ = (NimStringDesc*)0;
		T22_ = nsuFormatSingleElem(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_93), CC__78I18QZNZFIv9ah7oETc0jg[(compiler)- 1].Field0);
		liMessage__Q6JNH4uRwLyZrj0dJakHew(conf, unknownLineInfo__Adg58D2FIbt5TWh9aavBqbg, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 10), T22_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 1), TM__OyL9acDBDoBfMwa5zb1Y88w_94, NIM_FALSE);
	}
	LA20_: ;
	return result;
}
static N_INLINE(NIM_BOOL, needsExeExt__wURcJahTBWvB1wOD7H1W2Aextccomp)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf) {
	NIM_BOOL result;
	NIM_BOOL T1_;
	NIM_BOOL T2_;
	result = (NIM_BOOL)0;
	T1_ = (NIM_BOOL)0;
	T2_ = (NIM_BOOL)0;
	T2_ = (((*conf).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 10))&63U)))!=0);
	if (!(T2_)) goto LA3_;
	T2_ = ((*conf).target.targetOS == ((tyEnum_TSystemOS__s7Mlr1t66SUqP6BKJMXLaQ) 2));
	LA3_: ;
	T1_ = T2_;
	if (T1_) goto LA4_;
	T1_ = ((*conf).target.hostOS == ((tyEnum_TSystemOS__s7Mlr1t66SUqP6BKJMXLaQ) 2));
	LA4_: ;
	result = T1_;
	return result;
}
static N_INLINE(NIM_BOOL, noAbsolutePaths__wURcJahTBWvB1wOD7H1W2A_2extccomp)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf) {
	NIM_BOOL result;
	result = (NIM_BOOL)0;
	result = !((((*conf).globalOptions & 3072) == 0));
	return result;
}
static N_INLINE(NIM_BOOL, isEmpty__kPpSxL0H5sJ9a6ujvdQ0QVQpathutils)(NimStringDesc* x) {
	NIM_BOOL result;
	result = (NIM_BOOL)0;
	result = ((x ? x->Sup.len : 0) == ((NI) 0));
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, envFlags__cS1sZo7H4weUdOP9bStq60g)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf) {
	NimStringDesc* result;
	result = (NimStringDesc*)0;
	{
		if (!((*conf).backend == ((tyEnum_TBackend__4OBsgZ9cscH2JLUE5Wcz01g) 2))) goto LA3_;
		result = getEnv__hhED57tMl0Iaa5bOg9cJaig(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_106), ((NimStringDesc*) NIM_NIL));
	}
	goto LA1_;
	LA3_: ;
	{
		result = getEnv__hhED57tMl0Iaa5bOg9cJaig(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_107), ((NimStringDesc*) NIM_NIL));
	}
	LA1_: ;
	return result;
}
static N_INLINE(int, nimCmpMem)(void* a, void* b, NI size) {
	int result;
	result = (int)0;
	result = memcmp(a, b, ((size_t) (size)));
	return result;
}
static N_INLINE(NIM_BOOL, equalMem__9bGgqEk7RXXl6eqM9c1HdELAsystem)(void* a, void* b, NI size) {
	NIM_BOOL result;
	int T1_;
	result = (NIM_BOOL)0;
	T1_ = (int)0;
	T1_ = nimCmpMem(a, b, size);
	result = (T1_ == ((NI32) 0));
	return result;
}
static N_INLINE(NIM_BOOL, eqStrings)(NimStringDesc* a, NimStringDesc* b) {
	NIM_BOOL result;
	NI alen;
	NI blen;
{	result = (NIM_BOOL)0;
	alen = (a ? a->Sup.len : 0);
	blen = (b ? b->Sup.len : 0);
	{
		if (!(alen == blen)) goto LA3_;
		{
			if (!(alen == ((NI) 0))) goto LA7_;
			result = NIM_TRUE;
			goto BeforeRet_;
		}
		LA7_: ;
		result = equalMem__9bGgqEk7RXXl6eqM9c1HdELAsystem(((void*) ((&a->data[((NI) 0)]))), ((void*) ((&b->data[((NI) 0)]))), ((NI) (alen)));
		goto BeforeRet_;
	}
	LA3_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, vccplatform__cS1sZo7H4weUdOP9bStq60g_2)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf) {
	NimStringDesc* result;
	result = (NimStringDesc*)0;
	{
		NimStringDesc* exe;
		if (!((*conf).cCompiler == ((tyEnum_TSystemCC__1eWBJUonHMOnlBwsOvpFmA) 6))) goto LA3_;
		exe = getConfigVar__yFoF7FUju4sVQL0kUhJ68Q(conf, (*conf).cCompiler, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_90));
		{
			NimStringDesc* T7_;
			T7_ = (NimStringDesc*)0;
			T7_ = nosextractFilename(exe);
			if (!eqStrings(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_115), T7_)) goto LA8_;
			switch ((*conf).target.targetCPU) {
			case ((tyEnum_TSystemCPU__XYDt7D1G3qcClFyZy1Ky9ag) 1):
			{
				result = copyString(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_116));
			}
			break;
			case ((tyEnum_TSystemCPU__XYDt7D1G3qcClFyZy1Ky9ag) 14):
			{
				result = copyString(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_117));
			}
			break;
			case ((tyEnum_TSystemCPU__XYDt7D1G3qcClFyZy1Ky9ag) 11):
			{
				result = copyString(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_118));
			}
			break;
			default:
			{
				result = ((NimStringDesc*) NIM_NIL);
			}
			break;
			}
		}
		LA8_: ;
	}
	LA3_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, getCompileCFileCmd__uOCPoEVtEQdC7k9cm7JeVsw)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg* cfile, NIM_BOOL isMainFile, NIM_BOOL produceOutput) {
	NimStringDesc* result;
	tyEnum_TSystemCC__1eWBJUonHMOnlBwsOvpFmA c;
	NimStringDesc* options;
	NimStringDesc* T1_;
	NimStringDesc* T2_;
	NimStringDesc* exe;
	NimStringDesc* compilePattern;
	NimStringDesc* includeCmd;
	NimStringDesc* T33_;
	NimStringDesc* T34_;
	tyArray__Re75IspeoxXy2oCZHwcRrA T47_;
	NimStringDesc* T48_;
	NimStringDesc* cf;
	NimStringDesc* objfile;
	NimStringDesc* dfile;
	NimStringDesc* T74_;
	NimStringDesc* cfsh;
	tyArray__rmMMhDIqORJzUU5zqeitSQ T75_;
	NimStringDesc* T76_;
	tyArray__68WB4OcBspSFyW4LY9cOceA T100_;
	NimStringDesc* T101_;
	result = (NimStringDesc*)0;
	c = (*conf).cCompiler;
	T1_ = (NimStringDesc*)0;
	T1_ = (*cfile).nimname;
	T2_ = (NimStringDesc*)0;
	T2_ = noschangeFileExt((*cfile).cname, ((NimStringDesc*) NIM_NIL));
	options = cFileSpecificOptions__qenQYPV4hXyQmNT9c9aOOH9cQ(conf, T1_, T2_);
	{
		NIM_BOOL T5_;
		NimStringDesc* T8_;
		T5_ = (NIM_BOOL)0;
		T5_ = useCpp__CiPnKL2TIba667EvWphSyw(conf, (*cfile).cname);
		if (!T5_) goto LA6_;
		T8_ = (NimStringDesc*)0;
		T8_ = rawNewString((CC__78I18QZNZFIv9ah7oETc0jg[(c)- 1].Field20 ? CC__78I18QZNZFIv9ah7oETc0jg[(c)- 1].Field20->Sup.len : 0) + (options ? options->Sup.len : 0) + 1);
appendString(T8_, CC__78I18QZNZFIv9ah7oETc0jg[(c)- 1].Field20);
appendChar(T8_, 32);
appendString(T8_, options);
		options = T8_;
	}
	LA6_: ;
	exe = getConfigVar__yFoF7FUju4sVQL0kUhJ68Q(conf, c, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_90));
	{
		if (!((exe ? exe->Sup.len : 0) == ((NI) 0))) goto LA11_;
		exe = getCompilerExe__C0I5a08dQ0OlRyrYrGtPrw(conf, c, (*cfile).cname);
	}
	LA11_: ;
	{
		NIM_BOOL T15_;
		T15_ = (NIM_BOOL)0;
		T15_ = needsExeExt__wURcJahTBWvB1wOD7H1W2Aextccomp(conf);
		if (!T15_) goto LA16_;
		exe = nosaddFileExt(exe, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_96));
	}
	LA16_: ;
	{
		NIM_BOOL T20_;
		NIM_BOOL T21_;
		NIM_BOOL T23_;
		NimStringDesc* T28_;
		T20_ = (NIM_BOOL)0;
		T21_ = (NIM_BOOL)0;
		T21_ = (((*conf).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 7))&63U)))!=0);
		if (T21_) goto LA22_;
		T23_ = (NIM_BOOL)0;
		T23_ = hcrOn__UhPXgqyDuuU9cKcS8FM883w(conf);
		if (!(T23_)) goto LA24_;
		T23_ = !(isMainFile);
		LA24_: ;
		T21_ = T23_;
		LA22_: ;
		T20_ = T21_;
		if (!(T20_)) goto LA25_;
		T20_ = ((OS__Jx0qy9c9bSo4fGkMxUfUaAaw[((*conf).target.targetOS)- 1].Field12 &((NU8)1<<((NU)(((tyEnum_TInfoOSProp__thetQwB9agpeQ13qFmAcWhg) 0))&7U)))!=0);
		LA25_: ;
		if (!T20_) goto LA26_;
		T28_ = (NimStringDesc*)0;
		T28_ = rawNewString((CC__78I18QZNZFIv9ah7oETc0jg[(c)- 1].Field16 ? CC__78I18QZNZFIv9ah7oETc0jg[(c)- 1].Field16->Sup.len : 0) + 1);
appendChar(T28_, 32);
appendString(T28_, CC__78I18QZNZFIv9ah7oETc0jg[(c)- 1].Field16);
		options = resizeString(options, (T28_ ? T28_->Sup.len : 0) + 0);
appendString(options, T28_);
	}
	LA26_: ;
	{
		if (!!((((*cfile).customArgs ? (*cfile).customArgs->Sup.len : 0) == 0))) goto LA31_;
		options = addChar(options, 32);
		options = resizeString(options, ((*cfile).customArgs ? (*cfile).customArgs->Sup.len : 0) + 0);
appendString(options, (*cfile).customArgs);
	}
	LA31_: ;
	compilePattern = (NimStringDesc*)0;
	T33_ = (NimStringDesc*)0;
	T34_ = (NimStringDesc*)0;
	T34_ = nospquoteShell((*conf).libpath);
	T33_ = rawNewString((CC__78I18QZNZFIv9ah7oETc0jg[(c)- 1].Field12 ? CC__78I18QZNZFIv9ah7oETc0jg[(c)- 1].Field12->Sup.len : 0) + (T34_ ? T34_->Sup.len : 0) + 0);
appendString(T33_, CC__78I18QZNZFIv9ah7oETc0jg[(c)- 1].Field12);
appendString(T33_, T34_);
	includeCmd = T33_;
	{
		NIM_BOOL T37_;
		T37_ = (NIM_BOOL)0;
		T37_ = noAbsolutePaths__wURcJahTBWvB1wOD7H1W2A_2extccomp(conf);
		if (!!(T37_)) goto LA38_;
		{
			NimStringDesc** includeDir;
			NI i;
			NI L;
			NI T41_;
			includeDir = (NimStringDesc**)0;
			i = ((NI) 0);
			T41_ = ((*conf).cIncludes ? (*conf).cIncludes->Sup.len : 0);
			L = T41_;
			{
				while (1) {
					tyArray__Re75IspeoxXy2oCZHwcRrA T44_;
					NimStringDesc* T45_;
					if (!(i < L)) goto LA43;
					includeDir = (&(*conf).cIncludes->data[i]);
					nimZeroMem((void*)T44_, sizeof(tyArray__Re75IspeoxXy2oCZHwcRrA));
					T44_[0] = copyString(CC__78I18QZNZFIv9ah7oETc0jg[(c)- 1].Field12);
					T44_[1] = nospquoteShell((*includeDir));
					T45_ = (NimStringDesc*)0;
					T45_ = nsuJoinSep(T44_, 2, ((NimStringDesc*) NIM_NIL));
					includeCmd = resizeString(includeCmd, (T45_ ? T45_->Sup.len : 0) + 0);
appendString(includeCmd, T45_);
					i += ((NI) 1);
				} LA43: ;
			}
		}
		compilePattern = nosjoinPath((*conf).cCompilerPath, exe);
	}
	goto LA35_;
	LA38_: ;
	{
		compilePattern = getCompilerExe__C0I5a08dQ0OlRyrYrGtPrw(conf, c, (*cfile).cname);
	}
	LA35_: ;
	nimZeroMem((void*)T47_, sizeof(tyArray__Re75IspeoxXy2oCZHwcRrA));
	T47_[0] = copyString(CC__78I18QZNZFIv9ah7oETc0jg[(c)- 1].Field12);
	T47_[1] = nospquoteShell((*conf).projectPath);
	T48_ = (NimStringDesc*)0;
	T48_ = nsuJoinSep(T47_, 2, ((NimStringDesc*) NIM_NIL));
	includeCmd = resizeString(includeCmd, (T48_ ? T48_->Sup.len : 0) + 0);
appendString(includeCmd, T48_);
	{
		NIM_BOOL T51_;
		T51_ = (NIM_BOOL)0;
		T51_ = noAbsolutePaths__wURcJahTBWvB1wOD7H1W2A_2extccomp(conf);
		if (!T51_) goto LA52_;
		cf = nosextractFilename((*cfile).cname);
	}
	goto LA49_;
	LA52_: ;
	{
		cf = copyString((*cfile).cname);
	}
	LA49_: ;
	{
		NIM_BOOL T57_;
		T57_ = (NIM_BOOL)0;
		T57_ = isEmpty__kPpSxL0H5sJ9a6ujvdQ0QVQpathutils((*cfile).obj);
		if (!T57_) goto LA58_;
		{
			NIM_BOOL T62_;
			T62_ = (NIM_BOOL)0;
			T62_ = !((((*cfile).flags &((NU8)1<<((NU)(((tyEnum_CfileFlag__Vl9c9ayddDuXiWtnWTsEYGsA) 1))&7U)))!=0));
			if (T62_) goto LA63_;
			T62_ = noAbsolutePaths__wURcJahTBWvB1wOD7H1W2A_2extccomp(conf);
			LA63_: ;
			if (!T62_) goto LA64_;
			objfile = toObjFile__GMjJ0d3khWrmxAqhh9anEsw(conf, cf);
		}
		goto LA60_;
		LA64_: ;
		{
			tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* T67_;
			NimStringDesc* T68_;
			T67_ = (tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw*)0;
			T67_ = conf;
			T68_ = (NimStringDesc*)0;
			T68_ = toObjFile__GMjJ0d3khWrmxAqhh9anEsw(conf, cf);
			objfile = completeCfilePath__VmrjcznbGOrooG3SBIdEFQ(T67_, T68_, NIM_TRUE);
		}
		LA60_: ;
	}
	goto LA55_;
	LA58_: ;
	{
		NIM_BOOL T70_;
		T70_ = (NIM_BOOL)0;
		T70_ = noAbsolutePaths__wURcJahTBWvB1wOD7H1W2A_2extccomp(conf);
		if (!T70_) goto LA71_;
		objfile = nosextractFilename((*cfile).obj);
	}
	goto LA55_;
	LA71_: ;
	{
		objfile = copyString((*cfile).obj);
	}
	LA55_: ;
	T74_ = (NimStringDesc*)0;
	T74_ = noschangeFileExt(objfile, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_97));
	dfile = nospquoteShell(T74_);
	cfsh = nospquoteShell(cf);
	nimZeroMem((void*)T75_, sizeof(tyArray__rmMMhDIqORJzUU5zqeitSQ));
	T75_[0] = copyString(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_98));
	T75_[1] = copyString(dfile);
	T75_[2] = copyString(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_99));
	T75_[3] = copyString(cfsh);
	T75_[4] = copyString(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_100));
	T75_[5] = nospquoteShell(objfile);
	T75_[6] = copyString(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_101));
	T75_[7] = copyString(options);
	T75_[8] = copyString(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_102));
	T75_[9] = copyString(includeCmd);
	T75_[10] = copyString(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_103));
	T75_[11] = getPrefixDir__oltK69akg0xLqkR2ITKbomg(conf);
	T75_[12] = copyString(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_104));
	T75_[13] = copyString((*conf).libpath);
	T75_[14] = copyString(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_105));
	T75_[15] = envFlags__cS1sZo7H4weUdOP9bStq60g(conf);
	T76_ = (NimStringDesc*)0;
	T76_ = nsuFormatOpenArray(compilePattern, T75_, 16);
	result = nospquoteShell(T76_);
	{
		if (!(((*conf).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 45))&63U)))!=0)) goto LA79_;
		{
			NimStringDesc* asmfile;
			NimStringDesc* T85_;
			tyArray__Re75IspeoxXy2oCZHwcRrA T86_;
			NimStringDesc* T87_;
			if (!(((NI) 0) < (CC__78I18QZNZFIv9ah7oETc0jg[((*conf).cCompiler)- 1].Field19 ? CC__78I18QZNZFIv9ah7oETc0jg[((*conf).cCompiler)- 1].Field19->Sup.len : 0))) goto LA83_;
			T85_ = (NimStringDesc*)0;
			T85_ = noschangeFileExt(objfile, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_108));
			asmfile = nospquoteShell(T85_);
			nimZeroMem((void*)T86_, sizeof(tyArray__Re75IspeoxXy2oCZHwcRrA));
			T86_[0] = copyString(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_109));
			T86_[1] = copyString(asmfile);
			T87_ = (NimStringDesc*)0;
			T87_ = nsuFormatOpenArray(CC__78I18QZNZFIv9ah7oETc0jg[((*conf).cCompiler)- 1].Field19, T86_, 2);
			addOpt__uSovO2RAvymqBoy9crgVjtA((&result), T87_);
			{
				NimStringDesc* T92_;
				if (!produceOutput) goto LA90_;
				T92_ = (NimStringDesc*)0;
				T92_ = rawNewString((asmfile ? asmfile->Sup.len : 0) + 25);
appendString(T92_, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_110));
appendString(T92_, asmfile);
				liMessage__Q6JNH4uRwLyZrj0dJakHew(conf, unknownLineInfo__Adg58D2FIbt5TWh9aavBqbg, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 81), T92_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 1), TM__OyL9acDBDoBfMwa5zb1Y88w_111, NIM_FALSE);
			}
			LA90_: ;
		}
		goto LA81_;
		LA83_: ;
		{
			{
				tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* T98_;
				NimStringDesc* T99_;
				if (!produceOutput) goto LA96_;
				T98_ = (tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw*)0;
				T98_ = conf;
				T99_ = (NimStringDesc*)0;
				T99_ = rawNewString((CC__78I18QZNZFIv9ah7oETc0jg[((*conf).cCompiler)- 1].Field0 ? CC__78I18QZNZFIv9ah7oETc0jg[((*conf).cCompiler)- 1].Field0->Sup.len : 0) + 64);
appendString(T99_, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_112));
appendString(T99_, CC__78I18QZNZFIv9ah7oETc0jg[((*conf).cCompiler)- 1].Field0);
				liMessage__Q6JNH4uRwLyZrj0dJakHew(T98_, unknownLineInfo__Adg58D2FIbt5TWh9aavBqbg, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 81), T99_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 1), TM__OyL9acDBDoBfMwa5zb1Y88w_113, NIM_FALSE);
			}
			LA96_: ;
		}
		LA81_: ;
	}
	LA79_: ;
	result = addChar(result, 32);
	nimZeroMem((void*)T100_, sizeof(tyArray__68WB4OcBspSFyW4LY9cOceA));
	T100_[0] = copyString(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_98));
	T100_[1] = copyString(dfile);
	T100_[2] = copyString(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_99));
	T100_[3] = copyString(cfsh);
	T100_[4] = copyString(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_100));
	T100_[5] = nospquoteShell(objfile);
	T100_[6] = copyString(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_101));
	T100_[7] = copyString(options);
	T100_[8] = copyString(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_102));
	T100_[9] = copyString(includeCmd);
	T100_[10] = copyString(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_103));
	T101_ = (NimStringDesc*)0;
	T101_ = getPrefixDir__oltK69akg0xLqkR2ITKbomg(conf);
	T100_[11] = nospquoteShell(T101_);
	T100_[12] = copyString(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_104));
	T100_[13] = nospquoteShell((*conf).libpath);
	T100_[14] = copyString(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_114));
	T100_[15] = vccplatform__cS1sZo7H4weUdOP9bStq60g_2(conf);
	T100_[16] = copyString(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_105));
	T100_[17] = envFlags__cS1sZo7H4weUdOP9bStq60g(conf);
	nsuAddf((&result), CC__78I18QZNZFIv9ah7oETc0jg[(c)- 1].Field6, T100_, 18);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, footprint__u2hVmnnAsUCCGDxJqGKZow)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg* cfile, tyArray__YtcvxHNKV4YiecPE9ap1mcA Result) {
	NimStringDesc* T1_;
	tyArray__YtcvxHNKV4YiecPE9ap1mcA T2_;
	NimStringDesc* T3_;
	NimStringDesc* T4_;
	T1_ = (NimStringDesc*)0;
	nimZeroMem((void*)T2_, sizeof(tyArray__YtcvxHNKV4YiecPE9ap1mcA));
	secureHashFile__EWwG0WuhtSH9c26DD9b9a6DLw((*cfile).cname, T2_);
	T3_ = (NimStringDesc*)0;
	T3_ = dollar___2r9adABFqPoalSCAWfm1KJQ(T2_);
	T4_ = (NimStringDesc*)0;
	T4_ = getCompileCFileCmd__uOCPoEVtEQdC7k9cm7JeVsw(conf, cfile, NIM_FALSE, NIM_FALSE);
	T1_ = rawNewString((T3_ ? T3_->Sup.len : 0) + (OS__Jx0qy9c9bSo4fGkMxUfUaAaw[((*conf).target.targetOS)- 1].Field0 ? OS__Jx0qy9c9bSo4fGkMxUfUaAaw[((*conf).target.targetOS)- 1].Field0->Sup.len : 0) + (CPU__uYXopJX8pM87pQDCtmgWfQ[((*conf).target.targetCPU)- 1].Field0 ? CPU__uYXopJX8pM87pQDCtmgWfQ[((*conf).target.targetCPU)- 1].Field0->Sup.len : 0) + (CC__78I18QZNZFIv9ah7oETc0jg[((*conf).cCompiler)- 1].Field0 ? CC__78I18QZNZFIv9ah7oETc0jg[((*conf).cCompiler)- 1].Field0->Sup.len : 0) + (T4_ ? T4_->Sup.len : 0) + 0);
appendString(T1_, T3_);
appendString(T1_, OS__Jx0qy9c9bSo4fGkMxUfUaAaw[((*conf).target.targetOS)- 1].Field0);
appendString(T1_, CPU__uYXopJX8pM87pQDCtmgWfQ[((*conf).target.targetCPU)- 1].Field0);
appendString(T1_, CC__78I18QZNZFIv9ah7oETc0jg[((*conf).cCompiler)- 1].Field0);
appendString(T1_, T4_);
	secureHash__qi7bJ7Ntyvry4psMKnopTA(T1_->data, (T1_ ? T1_->Sup.len : 0), Result);
}
static N_INLINE(void, writeLine__45Em82MGXqv9biomV0DEbSgio)(FILE* f, NimStringDesc** x, NI xLen_0) {
	{
		NimStringDesc** i;
		NI i_2;
		i = (NimStringDesc**)0;
		i_2 = ((NI) 0);
		{
			while (1) {
				if (!(i_2 < xLen_0)) goto LA3;
				i = (&x[i_2]);
				write__PArlm09bKklm2BLsCg6YtaA(f, (*i));
				i_2 += ((NI) 1);
			} LA3: ;
		}
	}
	write__PArlm09bKklm2BLsCg6YtaA(f, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_119));
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, externalFileChanged__5MVIsXG7b0bFfj09ayjls4w)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg* cfile) {
	NIM_BOOL result;
	NimStringDesc* hashFile;
	tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* T8_;
	NimStringDesc* T9_;
	tyArray__YtcvxHNKV4YiecPE9ap1mcA currentHash;
	FILE* f;
{	result = (NIM_BOOL)0;
	switch ((*conf).backend) {
	case ((tyEnum_TBackend__4OBsgZ9cscH2JLUE5Wcz01g) 0):
	{
		{
			if (!NIM_TRUE) goto LA4_;
			failedAssertImpl__W9cjVocn1tjhW7p7xohJj6A(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_79));
		}
		LA4_: ;
	}
	break;
	case ((tyEnum_TBackend__4OBsgZ9cscH2JLUE5Wcz01g) 3):
	{
		result = NIM_FALSE;
		goto BeforeRet_;
	}
	break;
	default:
	{
	}
	break;
	}
	T8_ = (tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw*)0;
	T8_ = conf;
	T9_ = (NimStringDesc*)0;
	T9_ = withPackageName__9bhgFqdEZM7DoX7p3U69bQEg_2(conf, (*cfile).cname);
	hashFile = toGeneratedFile__vfkVoeYdbq9cXWDTNf536TQ(T8_, T9_, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_80));
	nimZeroMem((void*)currentHash, sizeof(tyArray__YtcvxHNKV4YiecPE9ap1mcA));
	footprint__u2hVmnnAsUCCGDxJqGKZow(conf, cfile, currentHash);
	f = (FILE*)0;
	{
		NIM_BOOL T12_;
		tyArray__YtcvxHNKV4YiecPE9ap1mcA oldHash;
		NimStringDesc* T15_;
		NIM_BOOL T16_;
		T12_ = (NIM_BOOL)0;
		T12_ = open__gq12VLhVO0NBzUTnGgz4nw(&f, hashFile, ((tyEnum_FileMode__ZJfK20XeZ9bv2j1pZjw9aswg) 0), ((NI) -1));
		if (!T12_) goto LA13_;
		nimZeroMem((void*)oldHash, sizeof(tyArray__YtcvxHNKV4YiecPE9ap1mcA));
		T15_ = (NimStringDesc*)0;
		T15_ = readLine__IfmAdseskhTUnfEYpOo5fA(f);
		parseSecureHash__S6VQ00WVRv4bBNU469arlSA(T15_, oldHash);
		close__fU6ZlJAtQ9bre04EDZLdGsA_3(f);
		T16_ = (NIM_BOOL)0;
		T16_ = eqeq___gecBgtI3c7HdE9cwshfzHjQ(oldHash, currentHash);
		result = !(T16_);
	}
	goto LA10_;
	LA13_: ;
	{
		result = NIM_TRUE;
	}
	LA10_: ;
	{
		if (!result) goto LA20_;
		{
			NIM_BOOL T24_;
			tyArray__nHXaesL0DJZHyVS07ARPRA T27_;
			T24_ = (NIM_BOOL)0;
			T24_ = open__gq12VLhVO0NBzUTnGgz4nw(&f, hashFile, ((tyEnum_FileMode__ZJfK20XeZ9bv2j1pZjw9aswg) 1), ((NI) -1));
			if (!T24_) goto LA25_;
			nimZeroMem((void*)T27_, sizeof(tyArray__nHXaesL0DJZHyVS07ARPRA));
			T27_[0] = dollar___2r9adABFqPoalSCAWfm1KJQ(currentHash);
			writeLine__45Em82MGXqv9biomV0DEbSgio(f, T27_, 1);
			close__fU6ZlJAtQ9bre04EDZLdGsA_3(f);
		}
		LA25_: ;
	}
	LA20_: ;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NI, pluspercent___dgYAo7RfdUVVpvkfKDym8wsystem)(NI x, NI y) {
	NI result;
	result = (NI)0;
	result = ((NI) ((NU)((NU64)(((NU) (x))) + (NU64)(((NU) (y))))));
	return result;
}
static N_INLINE(void, incRef__AT1eRuflKWyTTBdLjEDZbg_3system)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
	(*c).refcount = pluspercent___dgYAo7RfdUVVpvkfKDym8wsystem((*c).refcount, ((NI) 8));
}
static N_INLINE(NI, minuspercent___dgYAo7RfdUVVpvkfKDym8w_2system)(NI x, NI y) {
	NI result;
	result = (NI)0;
	result = ((NI) ((NU)((NU64)(((NU) (x))) - (NU64)(((NU) (y))))));
	return result;
}
static N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*, usrToCell__QFQqcLB3lgOdwipkv9a60xwsystem)(void* usr) {
	tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* result;
	NI T1_;
	result = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
	T1_ = (NI)0;
	T1_ = minuspercent___dgYAo7RfdUVVpvkfKDym8w_2system(((NI) (ptrdiff_t) (usr)), ((NI) 16));
	result = ((tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*) (T1_));
	return result;
}
static N_INLINE(NIM_BOOL, ltpercent___hPljn3JCDQ00ua1R07X9bxQsystem)(NI x, NI y) {
	NIM_BOOL result;
	result = (NIM_BOOL)0;
	result = ((NU64)(((NU) (x))) < (NU64)(((NU) (y))));
	return result;
}
static N_INLINE(void, rtlAddZCT__AT1eRuflKWyTTBdLjEDZbg_2system)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
	addZCT__Y66tOYFjgwJ0k4aLz4bc0Q((&gch__IcYaEuuWivYAS86vFMTS3Q.zct), c);
}
static N_INLINE(void, decRef__AT1eRuflKWyTTBdLjEDZbgsystem)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
	(*c).refcount = minuspercent___dgYAo7RfdUVVpvkfKDym8w_2system((*c).refcount, ((NI) 8));
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = ltpercent___hPljn3JCDQ00ua1R07X9bxQsystem((*c).refcount, ((NI) 8));
		if (!T3_) goto LA4_;
		rtlAddZCT__AT1eRuflKWyTTBdLjEDZbg_2system(c);
	}
	LA4_: ;
}
static N_INLINE(void, asgnRef)(void** dest, void* src) {
	{
		tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T5_;
		if (!!((src == NIM_NIL))) goto LA3_;
		T5_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
		T5_ = usrToCell__QFQqcLB3lgOdwipkv9a60xwsystem(src);
		incRef__AT1eRuflKWyTTBdLjEDZbg_3system(T5_);
	}
	LA3_: ;
	{
		tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T10_;
		if (!!(((*dest) == NIM_NIL))) goto LA8_;
		T10_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
		T10_ = usrToCell__QFQqcLB3lgOdwipkv9a60xwsystem((*dest));
		decRef__AT1eRuflKWyTTBdLjEDZbgsystem(T10_);
	}
	LA8_: ;
	(*dest) = src;
}
N_LIB_PRIVATE N_NIMCALL(void, addExternalFileToCompile__INt9bhJYC8JcZL7VjCVQHWQ)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg* c) {
	NI T12_;
	{
		NIM_BOOL T3_;
		NIM_BOOL T4_;
		NIM_BOOL T7_;
		T3_ = (NIM_BOOL)0;
		T4_ = (NIM_BOOL)0;
		T4_ = !((((*conf).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 1))&63U)))!=0));
		if (!(T4_)) goto LA5_;
		T4_ = nosfileExists((*c).obj);
		LA5_: ;
		T3_ = T4_;
		if (!(T3_)) goto LA6_;
		T7_ = (NIM_BOOL)0;
		T7_ = externalFileChanged__5MVIsXG7b0bFfj09ayjls4w(conf, (&(*c)));
		T3_ = !(T7_);
		LA6_: ;
		if (!T3_) goto LA8_;
		(*c).flags |= ((NU8)1)<<((((tyEnum_CfileFlag__Vl9c9ayddDuXiWtnWTsEYGsA) 0)) & 7);
	}
	goto LA1_;
	LA8_: ;
	{
		NIM_BOOL T11_;
		T11_ = (NIM_BOOL)0;
		T11_ = nostryRemoveFile((*c).obj);
		(void)(T11_);
	}
	LA1_: ;
	asgnRef((void**) (&(*conf).toCompile), (tySequence__pK3qSsBZwdXd6qyUMkd5Jw*) incrSeqV3((TGenericSeq*)((*conf).toCompile), (&NTI__pK3qSsBZwdXd6qyUMkd5Jw_)));
	T12_ = (*conf).toCompile->Sup.len++;
	genericAssign((void*)(&(*conf).toCompile->data[T12_]), (void*)(&(*c)), (&NTI__i9cKq1ZGd1wgagjUEHLVFtg_));
}
N_LIB_PRIVATE N_NIMCALL(void, addExternalFileToCompile__VWI2GZGxWbHzjYJHzOr3dA)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, NimStringDesc* filename) {
	tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg c;
	tyTuple__7q7q3E6Oj24ZNVJb9aonhAg T1_;
	tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* T2_;
	NimStringDesc* T3_;
	nimZeroMem((void*)(&c), sizeof(tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg));
	nimZeroMem((void*)(&c), sizeof(tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg));
	nimZeroMem((void*)(&T1_), sizeof(tyTuple__7q7q3E6Oj24ZNVJb9aonhAg));
	splitFile__z7B4FbwzX3Y0L1EA2lLGXw(filename, (&T1_));
	c.nimname = copyString(T1_.Field1);
	c.cname = copyString(filename);
	T2_ = (tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw*)0;
	T2_ = conf;
	T3_ = (NimStringDesc*)0;
	T3_ = completeCfilePath__VmrjcznbGOrooG3SBIdEFQ(conf, filename, NIM_FALSE);
	c.obj = toObjFile__GMjJ0d3khWrmxAqhh9anEsw(T2_, T3_);
	c.flags = 2;
	addExternalFileToCompile__INt9bhJYC8JcZL7VjCVQHWQ(conf, (&c));
}
N_LIB_PRIVATE N_NIMCALL(void, addExternalFileToLink__VWI2GZGxWbHzjYJHzOr3dA_2)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, NimStringDesc* filename) {
	insert__QiSrmi7QFVZLWumqReTo7w((&(*conf).externalToLink), filename, ((NI) 0));
}
static N_INLINE(NIM_BOOL, contains__EQHiVlZqrFcv49bmeFYQO7wsystem)(tyObject_HSlice__7MLmFrMXlWlXV4VMUMaFZw s, tyEnum_TSystemOS__s7Mlr1t66SUqP6BKJMXLaQ value) {
	NIM_BOOL result;
	NIM_BOOL T1_;
	result = (NIM_BOOL)0;
	T1_ = (NIM_BOOL)0;
	T1_ = (s.a <= value);
	if (!(T1_)) goto LA2_;
	T1_ = (value <= s.b);
	LA2_: ;
	result = T1_;
	return result;
}
static N_INLINE(tyObject_HSlice__7MLmFrMXlWlXV4VMUMaFZw, dotdot___HRURE3r5U9cfpGGC9cl5U3bgsystem)(tyEnum_TSystemOS__s7Mlr1t66SUqP6BKJMXLaQ a, tyEnum_TSystemOS__s7Mlr1t66SUqP6BKJMXLaQ b) {
	tyObject_HSlice__7MLmFrMXlWlXV4VMUMaFZw result;
	nimZeroMem((void*)(&result), sizeof(tyObject_HSlice__7MLmFrMXlWlXV4VMUMaFZw));
	nimZeroMem((void*)(&result), sizeof(tyObject_HSlice__7MLmFrMXlWlXV4VMUMaFZw));
	result.a = a;
	result.b = b;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isVSCompatible__nRr0tdRhl8rTyvIdRrQiFA)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf) {
	NIM_BOOL result;
	NIM_BOOL T1_;
	NIM_BOOL T2_;
	NIM_BOOL T5_;
	tyObject_HSlice__7MLmFrMXlWlXV4VMUMaFZw T7_;
{	result = (NIM_BOOL)0;
	T1_ = (NIM_BOOL)0;
	T2_ = (NIM_BOOL)0;
	T2_ = ((*conf).cCompiler == ((tyEnum_TSystemCC__1eWBJUonHMOnlBwsOvpFmA) 6));
	if (T2_) goto LA3_;
	T2_ = ((*conf).cCompiler == ((tyEnum_TSystemCC__1eWBJUonHMOnlBwsOvpFmA) 11));
	LA3_: ;
	T1_ = T2_;
	if (T1_) goto LA4_;
	T5_ = (NIM_BOOL)0;
	T5_ = ((*conf).cCompiler == ((tyEnum_TSystemCC__1eWBJUonHMOnlBwsOvpFmA) 9));
	if (!(T5_)) goto LA6_;
	T7_ = dotdot___HRURE3r5U9cfpGGC9cl5U3bgsystem(((tyEnum_TSystemOS__s7Mlr1t66SUqP6BKJMXLaQ) 1), ((tyEnum_TSystemOS__s7Mlr1t66SUqP6BKJMXLaQ) 2));
	T5_ = contains__EQHiVlZqrFcv49bmeFYQO7wsystem(T7_, (*conf).target.hostOS);
	LA6_: ;
	T1_ = T5_;
	LA4_: ;
	result = T1_;
	goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(void, nimGCunrefNoCycle)(void* p) {
	tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T1_;
	T1_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
	T1_ = usrToCell__QFQqcLB3lgOdwipkv9a60xwsystem(p);
	decRef__AT1eRuflKWyTTBdLjEDZbgsystem(T1_);
}
N_LIB_PRIVATE N_NIMCALL(void, addCompileOptionCmd__siPDo9a2eQzwubdmcIGchWg)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, NimStringDesc* option) {
	NI T1_;
	NimStringDesc* T2_;
	asgnRef((void**) (&(*conf).compileOptionsCmd), (tySequence__sM4lkSb7zS6F7OVMvW9cffQ*) incrSeqV3((TGenericSeq*)((*conf).compileOptionsCmd), (&NTI__sM4lkSb7zS6F7OVMvW9cffQ_)));
	T1_ = (*conf).compileOptionsCmd->Sup.len++;
	T2_ = (NimStringDesc*)0;
	T2_ = (*conf).compileOptionsCmd->data[T1_]; (*conf).compileOptionsCmd->data[T1_] = copyStringRC1(option);
	if (T2_) nimGCunrefNoCycle(T2_);
}
N_LIB_PRIVATE N_NIMCALL(void, addLinkOptionCmd__siPDo9a2eQzwubdmcIGchWg_2)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, NimStringDesc* option) {
	addOpt__uSovO2RAvymqBoy9crgVjtA((&(*conf).linkOptionsCmd), option);
}
N_LIB_PRIVATE N_NIMCALL(tyEnum_TSystemCC__1eWBJUonHMOnlBwsOvpFmA, nameToCC__Yt3Ruf9aSDKDuGmcv9aVeFng)(NimStringDesc* name) {
	tyEnum_TSystemCC__1eWBJUonHMOnlBwsOvpFmA result;
{	result = (tyEnum_TSystemCC__1eWBJUonHMOnlBwsOvpFmA)0;
	{
		tyEnum_TSystemCC__1eWBJUonHMOnlBwsOvpFmA i;
		NI res;
		i = (tyEnum_TSystemCC__1eWBJUonHMOnlBwsOvpFmA)0;
		res = ((NI) 1);
		{
			while (1) {
				if (!(res <= ((NI) 11))) goto LA3;
				i = ((tyEnum_TSystemCC__1eWBJUonHMOnlBwsOvpFmA) (res));
				{
					NI T6_;
					T6_ = (NI)0;
					T6_ = nsuCmpIgnoreStyle(name, CC__78I18QZNZFIv9ah7oETc0jg[(i)- 1].Field0);
					if (!(T6_ == ((NI) 0))) goto LA7_;
					result = i;
					goto BeforeRet_;
				}
				LA7_: ;
				res += ((NI) 1);
			} LA3: ;
		}
	}
	result = ((tyEnum_TSystemCC__1eWBJUonHMOnlBwsOvpFmA) 0);
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, listCCnames__5miaX9cEY77uVmI2vxeZy2g)(void) {
	NimStringDesc* result;
	result = (NimStringDesc*)0;
	result = ((NimStringDesc*) NIM_NIL);
	{
		tyEnum_TSystemCC__1eWBJUonHMOnlBwsOvpFmA i;
		NI res;
		i = (tyEnum_TSystemCC__1eWBJUonHMOnlBwsOvpFmA)0;
		res = ((NI) 1);
		{
			while (1) {
				if (!(res <= ((NI) 11))) goto LA3;
				i = ((tyEnum_TSystemCC__1eWBJUonHMOnlBwsOvpFmA) (res));
				{
					if (!(((tyEnum_TSystemCC__1eWBJUonHMOnlBwsOvpFmA) 1) < i)) goto LA6_;
					result = resizeString(result, 2);
appendString(result, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_121));
				}
				LA6_: ;
				result = resizeString(result, (CC__78I18QZNZFIv9ah7oETc0jg[(i)- 1].Field0 ? CC__78I18QZNZFIv9ah7oETc0jg[(i)- 1].Field0->Sup.len : 0) + 0);
appendString(result, CC__78I18QZNZFIv9ah7oETc0jg[(i)- 1].Field0);
				res += ((NI) 1);
			} LA3: ;
		}
	}
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, setCC__Ep9cdURuQvSQKtNomcBwdFQ)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, NimStringDesc* ccname, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info) {
	(*conf).cCompiler = nameToCC__Yt3Ruf9aSDKDuGmcv9aVeFng(ccname);
	{
		tyArray__Re75IspeoxXy2oCZHwcRrA T5_;
		NimStringDesc* T6_;
		if (!((*conf).cCompiler == ((tyEnum_TSystemCC__1eWBJUonHMOnlBwsOvpFmA) 0))) goto LA3_;
		nimZeroMem((void*)T5_, sizeof(tyArray__Re75IspeoxXy2oCZHwcRrA));
		T5_[0] = copyString(ccname);
		T5_[1] = listCCnames__5miaX9cEY77uVmI2vxeZy2g();
		T6_ = (NimStringDesc*)0;
		T6_ = nsuFormatOpenArray(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_120), T5_, 2);
		liMessage__Q6JNH4uRwLyZrj0dJakHew(conf, info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 10), T6_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__OyL9acDBDoBfMwa5zb1Y88w_122, NIM_FALSE);
	}
	LA3_: ;
	asgnRef((void**) (&(*conf).compileOptions), getConfigVar__yFoF7FUju4sVQL0kUhJ68Q(conf, (*conf).cCompiler, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_123)));
	asgnRef((void**) (&(*conf).linkOptions), ((NimStringDesc*) NIM_NIL));
	asgnRef((void**) (&(*conf).cCompilerPath), getConfigVar__yFoF7FUju4sVQL0kUhJ68Q(conf, (*conf).cCompiler, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_124)));
	{
		tyTuple__yByxe8FSFNTgs4tcAkTYag c;
		tyEnum_TSystemCC__ZeHvrqzZ3PwBFstnv8kDYg i;
		nimZeroMem((void*)(&c), sizeof(tyTuple__yByxe8FSFNTgs4tcAkTYag));
		i = ((tyEnum_TSystemCC__ZeHvrqzZ3PwBFstnv8kDYg) 1);
		{
			if (!(i <= ((tyEnum_TSystemCC__ZeHvrqzZ3PwBFstnv8kDYg) 11))) goto LA10_;
			{
				while (1) {
					nimCopyMem((void*)(&c), (NIM_CONST void*)(&CC__78I18QZNZFIv9ah7oETc0jg[(i)- 1]), sizeof(c));
					undefSymbol__7r39cyzHGkKGsFt9bPVES2hQ((*conf).symbols, c.Field0);
					{
						if (!(((tyEnum_TSystemCC__ZeHvrqzZ3PwBFstnv8kDYg) 11) <= i)) goto LA16_;
						goto LA12;
					}
					LA16_: ;
					i += ((NI) 1);
				}
			} LA12: ;
		}
		LA10_: ;
	}
	defineSymbol__znuJizGq3isbcihOOtUY0A((*conf).symbols, CC__78I18QZNZFIv9ah7oETc0jg[((*conf).cCompiler)- 1].Field0, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_125));
}
N_LIB_PRIVATE N_NIMCALL(void, addLinkOption__siPDo9a2eQzwubdmcIGchWg_3)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, NimStringDesc* option) {
	addOpt__uSovO2RAvymqBoy9crgVjtA((&(*conf).linkOptions), option);
}
N_LIB_PRIVATE N_NIMCALL(void, addCompileOption__siPDo9a2eQzwubdmcIGchWg_4)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, NimStringDesc* option) {
	{
		NI T3_;
		T3_ = (NI)0;
		T3_ = nsuFindStr((*conf).compileOptions, option, ((NI) 0), ((NI) 0));
		if (!(T3_ < ((NI) 0))) goto LA4_;
		addOpt__uSovO2RAvymqBoy9crgVjtA((&(*conf).compileOptions), option);
	}
	LA4_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, addLocalCompileOption__9aZ1lkFxjUUC2WDEd4sU9ckQ)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, NimStringDesc* option, NimStringDesc* nimfile) {
	NimStringDesc* key;
	tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* T1_;
	NimStringDesc* T2_;
	NimStringDesc* value;
	T1_ = (tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw*)0;
	T1_ = conf;
	T2_ = (NimStringDesc*)0;
	T2_ = withPackageName__9bhgFqdEZM7DoX7p3U69bQEg_2(conf, nimfile);
	key = completeCfilePath__VmrjcznbGOrooG3SBIdEFQ(T1_, T2_, NIM_TRUE);
	value = getOrDefault__2a0cbxcfpWcXtK45m9bR5Kg((*conf).cfileSpecificOptions, key, ((NimStringDesc*) NIM_NIL));
	{
		NI T5_;
		T5_ = (NI)0;
		T5_ = nsuFindStr(value, option, ((NI) 0), ((NI) 0));
		if (!(T5_ < ((NI) 0))) goto LA6_;
		addOpt__uSovO2RAvymqBoy9crgVjtA((&value), option);
		nstPut((*conf).cfileSpecificOptions, key, value);
	}
	LA6_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, initVars__LewyFn4Dwlat7Ce2QWFbZA)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf) {
	tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* T12_;
	NimStringDesc* T13_;
	{
		tyTuple__yByxe8FSFNTgs4tcAkTYag c;
		tyEnum_TSystemCC__ZeHvrqzZ3PwBFstnv8kDYg i;
		nimZeroMem((void*)(&c), sizeof(tyTuple__yByxe8FSFNTgs4tcAkTYag));
		i = ((tyEnum_TSystemCC__ZeHvrqzZ3PwBFstnv8kDYg) 1);
		{
			if (!(i <= ((tyEnum_TSystemCC__ZeHvrqzZ3PwBFstnv8kDYg) 11))) goto LA4_;
			{
				while (1) {
					nimCopyMem((void*)(&c), (NIM_CONST void*)(&CC__78I18QZNZFIv9ah7oETc0jg[(i)- 1]), sizeof(c));
					undefSymbol__7r39cyzHGkKGsFt9bPVES2hQ((*conf).symbols, c.Field0);
					{
						if (!(((tyEnum_TSystemCC__ZeHvrqzZ3PwBFstnv8kDYg) 11) <= i)) goto LA10_;
						goto LA6;
					}
					LA10_: ;
					i += ((NI) 1);
				}
			} LA6: ;
		}
		LA4_: ;
	}
	defineSymbol__znuJizGq3isbcihOOtUY0A((*conf).symbols, CC__78I18QZNZFIv9ah7oETc0jg[((*conf).cCompiler)- 1].Field0, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_125));
	T12_ = (tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw*)0;
	T12_ = conf;
	T13_ = (NimStringDesc*)0;
	T13_ = getConfigVar__yFoF7FUju4sVQL0kUhJ68Q(conf, (*conf).cCompiler, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_123));
	addCompileOption__siPDo9a2eQzwubdmcIGchWg_4(T12_, T13_);
	{
		if (!(((*conf).cCompilerPath ? (*conf).cCompilerPath->Sup.len : 0) == ((NI) 0))) goto LA16_;
		asgnRef((void**) (&(*conf).cCompilerPath), getConfigVar__yFoF7FUju4sVQL0kUhJ68Q(conf, (*conf).cCompiler, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_124)));
	}
	LA16_: ;
}
static N_INLINE(void, pushSafePoint)(TSafePoint* s) {
	(*s).prev = excHandler__rqLlY5bs9atDw2OXYqJEn5g;
	excHandler__rqLlY5bs9atDw2OXYqJEn5g = s;
}
static N_INLINE(void, popSafePoint)(void) {
	excHandler__rqLlY5bs9atDw2OXYqJEn5g = (*excHandler__rqLlY5bs9atDw2OXYqJEn5g).prev;
}
static N_INLINE(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*, X5BX5D___277k8m8OstpfbY4dHQex6wjson)(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* node, NimStringDesc* name) {
	tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* result;
	tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q** T1_;
	result = (tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*)0;
	T1_ = (tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q**)0;
	T1_ = X5BX5D___l9atGRY9bA25fn4p5uueZfUQ((&(*node)._kind_6.fields), name);
	result = (*T1_);
	return result;
}
static N_INLINE(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*, X5BX5D___iGpexJJNbY5V0TEMs9aHjwQjson)(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* node, NI index) {
	tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* result;
{	result = (tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*)0;
	result = (*node)._kind_7.elems->data[index];
	goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(Exception*, nimBorrowCurrentException)(void) {
	Exception* result;
	result = (Exception*)0;
	result = currException__9bVPeDJlYTi9bQApZpfH8wjg;
	return result;
}
static N_INLINE(NimStringDesc*, getCurrentExceptionMsg__jLt3ACHcgYt9bbV4Vf9a5mgwsystem)(void) {
	NimStringDesc* result;
{	result = (NimStringDesc*)0;
	{
		if (!(currException__9bVPeDJlYTi9bQApZpfH8wjg == NIM_NIL)) goto LA3_;
		result = ((NimStringDesc*) NIM_NIL);
	}
	goto LA1_;
	LA3_: ;
	{
		result = copyString((*currException__9bVPeDJlYTi9bQApZpfH8wjg).message);
	}
	LA1_: ;
	goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(void, popCurrentException)(void) {
	asgnRef((void**) (&currException__9bVPeDJlYTi9bQApZpfH8wjg), (*currException__9bVPeDJlYTi9bQApZpfH8wjg).up);
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, changeDetectedViaJsonBuildInstructions__O4FgngCxVDPcb9c52XSW7lA)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, NimStringDesc* projectfile) {
	NIM_BOOL volatile result;
	NimStringDesc* jsonFile;
	TSafePoint TM__OyL9acDBDoBfMwa5zb1Y88w_127;
	tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* data;
	NimStringDesc* oldCmdLine;
	tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* T20_;
	NIM_BOOL stdinInput;
	tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* T39_;
	tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* depfilesPairs;
{	result = (NIM_BOOL)0;
	jsonFile = toGeneratedFile__vfkVoeYdbq9cXWDTNf536TQ(conf, projectfile, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_126));
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = nosfileExists(jsonFile);
		if (!!(T3_)) goto LA4_;
		result = NIM_TRUE;
		goto BeforeRet_;
	}
	LA4_: ;
	{
		NimStringDesc* T8_;
		NIM_BOOL T9_;
		T8_ = (NimStringDesc*)0;
		T8_ = absOutFile__ea9bsNo9cwchKzwCi7UjcP7g(conf);
		T9_ = (NIM_BOOL)0;
		T9_ = nosfileExists(T8_);
		if (!!(T9_)) goto LA10_;
		result = NIM_TRUE;
		goto BeforeRet_;
	}
	LA10_: ;
	result = NIM_FALSE;
	pushSafePoint(&TM__OyL9acDBDoBfMwa5zb1Y88w_127);
	TM__OyL9acDBDoBfMwa5zb1Y88w_127.status = setjmp(TM__OyL9acDBDoBfMwa5zb1Y88w_127.context);
	if (TM__OyL9acDBDoBfMwa5zb1Y88w_127.status == 0) {
	data = parseFile__Q9bbQtVlwjGc4S8fnWe9b3YA(jsonFile);
	{
		NIM_BOOL T14_;
		NIM_BOOL T15_;
		NIM_BOOL T17_;
		T14_ = (NIM_BOOL)0;
		T15_ = (NIM_BOOL)0;
		T15_ = hasKey__zrDHfVBiQiPv9bNJ29c1ZINg(data, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_128));
		T14_ = !(T15_);
		if (T14_) goto LA16_;
		T17_ = (NIM_BOOL)0;
		T17_ = hasKey__zrDHfVBiQiPv9bNJ29c1ZINg(data, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_129));
		T14_ = !(T17_);
		LA16_: ;
		if (!T14_) goto LA18_;
		result = NIM_TRUE;
		popSafePoint();
		goto BeforeRet_;
	}
	LA18_: ;
	T20_ = (tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*)0;
	T20_ = X5BX5D___277k8m8OstpfbY4dHQex6wjson(data, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_129));
	oldCmdLine = getStr__QeJX1ptVmfOrOg9cwOVpcAA(T20_, ((NimStringDesc*) NIM_NIL));
	{
		if (!!(eqStrings((*conf).commandLine, oldCmdLine))) goto LA23_;
		result = NIM_TRUE;
		popSafePoint();
		goto BeforeRet_;
	}
	LA23_: ;
	{
		NimStringDesc* T27_;
		tyArray__YtcvxHNKV4YiecPE9ap1mcA T28_;
		NimStringDesc* T29_;
		tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* T30_;
		NimStringDesc* T31_;
		T27_ = (NimStringDesc*)0;
		T27_ = nosgetAppFilename();
		nimZeroMem((void*)T28_, sizeof(tyArray__YtcvxHNKV4YiecPE9ap1mcA));
		secureHashFile__EWwG0WuhtSH9c26DD9b9a6DLw(T27_, T28_);
		T29_ = (NimStringDesc*)0;
		T29_ = dollar___2r9adABFqPoalSCAWfm1KJQ(T28_);
		T30_ = (tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*)0;
		T30_ = X5BX5D___277k8m8OstpfbY4dHQex6wjson(data, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_130));
		T31_ = (NimStringDesc*)0;
		T31_ = getStr__QeJX1ptVmfOrOg9cwOVpcAA(T30_, ((NimStringDesc*) NIM_NIL));
		if (!!(eqStrings(T29_, T31_))) goto LA32_;
		result = NIM_TRUE;
		popSafePoint();
		goto BeforeRet_;
	}
	LA32_: ;
	{
		NIM_BOOL T36_;
		T36_ = (NIM_BOOL)0;
		T36_ = hasKey__zrDHfVBiQiPv9bNJ29c1ZINg(data, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_131));
		if (!!(T36_)) goto LA37_;
		result = NIM_TRUE;
		popSafePoint();
		goto BeforeRet_;
	}
	LA37_: ;
	T39_ = (tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*)0;
	T39_ = X5BX5D___277k8m8OstpfbY4dHQex6wjson(data, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_131));
	stdinInput = getBool__WLYG2J5rvQY8w8vO47RYig(T39_, NIM_FALSE);
	{
		NIM_BOOL T42_;
		T42_ = (NIM_BOOL)0;
		T42_ = (*conf).projectIsStdin;
		if (T42_) goto LA43_;
		T42_ = stdinInput;
		LA43_: ;
		if (!T42_) goto LA44_;
		result = NIM_TRUE;
		popSafePoint();
		goto BeforeRet_;
	}
	LA44_: ;
	depfilesPairs = X5BX5D___277k8m8OstpfbY4dHQex6wjson(data, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_128));
	{
		if (!!(((*depfilesPairs).kind == ((tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg) 6)))) goto LA48_;
		failedAssertImpl__W9cjVocn1tjhW7p7xohJj6A(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_132));
	}
	LA48_: ;
	{
		tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* p;
		p = (tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*)0;
		{
			tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q** i;
			tySequence__oLpBKXzW3hF9aCVMo5EymfQ* colontmp_;
			NI i_2;
			NI L;
			NI T52_;
			i = (tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q**)0;
			colontmp_ = (tySequence__oLpBKXzW3hF9aCVMo5EymfQ*)0;
			colontmp_ = (*depfilesPairs)._kind_7.elems;
			i_2 = ((NI) 0);
			T52_ = (colontmp_ ? colontmp_->Sup.len : 0);
			L = T52_;
			{
				while (1) {
					NimStringDesc* depFilename;
					tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* T64_;
					NimStringDesc* oldHashValue;
					tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* T65_;
					NimStringDesc* newHashValue;
					tyArray__YtcvxHNKV4YiecPE9ap1mcA T66_;
					if (!(i_2 < L)) goto LA54;
					i = &colontmp_->data[i_2];
					p = (*i);
					{
						if (!!(((*p).kind == ((tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg) 6)))) goto LA57_;
						failedAssertImpl__W9cjVocn1tjhW7p7xohJj6A(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_133));
					}
					LA57_: ;
					{
						NI T61_;
						T61_ = (NI)0;
						T61_ = len__Og3BmQpaL5V6gYg5JnWK3Q(p);
						if (!!((((NI) 2) <= T61_))) goto LA62_;
						failedAssertImpl__W9cjVocn1tjhW7p7xohJj6A(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_134));
					}
					LA62_: ;
					T64_ = (tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*)0;
					T64_ = X5BX5D___iGpexJJNbY5V0TEMs9aHjwQjson(p, ((NI) 0));
					depFilename = getStr__QeJX1ptVmfOrOg9cwOVpcAA(T64_, ((NimStringDesc*) NIM_NIL));
					T65_ = (tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*)0;
					T65_ = X5BX5D___iGpexJJNbY5V0TEMs9aHjwQjson(p, ((NI) 1));
					oldHashValue = getStr__QeJX1ptVmfOrOg9cwOVpcAA(T65_, ((NimStringDesc*) NIM_NIL));
					nimZeroMem((void*)T66_, sizeof(tyArray__YtcvxHNKV4YiecPE9ap1mcA));
					secureHashFile__EWwG0WuhtSH9c26DD9b9a6DLw(depFilename, T66_);
					newHashValue = dollar___2r9adABFqPoalSCAWfm1KJQ(T66_);
					{
						if (!!(eqStrings(oldHashValue, newHashValue))) goto LA69_;
						result = NIM_TRUE;
						popSafePoint();
						goto BeforeRet_;
					}
					LA69_: ;
					i_2 += ((NI) 1);
				} LA54: ;
			}
		}
	}
	popSafePoint();
	}
	else {
		popSafePoint();
		if (isObj(nimBorrowCurrentException()->Sup.m_type, (&NTI__iLZrPn9anoh9ad1MmO0RczFw_))||isObj(nimBorrowCurrentException()->Sup.m_type, (&NTI__BeJgrOdDsczOwEWOZbRfKA_))||isObj(nimBorrowCurrentException()->Sup.m_type, (&NTI__yoNlBGx0D2tRizIdhQuENw_))) {
			tyArray__Re75IspeoxXy2oCZHwcRrA T73_;
			TM__OyL9acDBDoBfMwa5zb1Y88w_127.status = 0;
			nimZeroMem((void*)T73_, sizeof(tyArray__Re75IspeoxXy2oCZHwcRrA));
			T73_[0] = copyString(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_135));
			T73_[1] = getCurrentExceptionMsg__jLt3ACHcgYt9bbV4Vf9a5mgwsystem();
			echoBinSafe(T73_, 2);
			result = NIM_TRUE;
			popCurrentException();
		}
	}
	if (TM__OyL9acDBDoBfMwa5zb1Y88w_127.status != 0) reraiseException();
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, ccHasSaneOverflow__nRr0tdRhl8rTyvIdRrQiFA_2)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf) {
	NIM_BOOL result;
	result = (NIM_BOOL)0;
	{
		NimStringDesc* exe;
		tyTuple__XOVT24GHXwqiEj5GCsEGCA T9_;
		TSafePoint TM__OyL9acDBDoBfMwa5zb1Y88w_136;
		NimStringDesc* T10_;
		NimStringDesc* s;
		NI exitCode;
		if (!((*conf).cCompiler == ((tyEnum_TSystemCC__1eWBJUonHMOnlBwsOvpFmA) 1))) goto LA3_;
		result = NIM_FALSE;
		exe = getConfigVar__yFoF7FUju4sVQL0kUhJ68Q(conf, (*conf).cCompiler, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_90));
		{
			if (!((exe ? exe->Sup.len : 0) == ((NI) 0))) goto LA7_;
			exe = copyString(CC__78I18QZNZFIv9ah7oETc0jg[((*conf).cCompiler)- 1].Field4);
		}
		LA7_: ;
		nimZeroMem((void*)(&T9_), sizeof(tyTuple__XOVT24GHXwqiEj5GCsEGCA));
		pushSafePoint(&TM__OyL9acDBDoBfMwa5zb1Y88w_136);
		TM__OyL9acDBDoBfMwa5zb1Y88w_136.status = setjmp(TM__OyL9acDBDoBfMwa5zb1Y88w_136.context);
		if (TM__OyL9acDBDoBfMwa5zb1Y88w_136.status == 0) {
		T10_ = (NimStringDesc*)0;
		T10_ = rawNewString((exe ? exe->Sup.len : 0) + 10);
appendString(T10_, exe);
appendString(T10_, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_137));
		execCmdEx__130zQ9a9cS3YNDwoh0G9at3bw(T10_, 10, NIM_NIL, ((NimStringDesc*) NIM_NIL), ((NimStringDesc*) NIM_NIL), (&T9_));
		popSafePoint();
		}
		else {
			popSafePoint();
			{
				TM__OyL9acDBDoBfMwa5zb1Y88w_136.status = 0;
				T9_.Field0 = copyString(TM__OyL9acDBDoBfMwa5zb1Y88w_138.Field0);
				T9_.Field1 = TM__OyL9acDBDoBfMwa5zb1Y88w_138.Field1;
				popCurrentException();
			}
		}
		if (TM__OyL9acDBDoBfMwa5zb1Y88w_136.status != 0) reraiseException();
		s = (NimStringDesc*)0;
		s = copyString(T9_.Field0);
		exitCode = (NI)0;
		exitCode = T9_.Field1;
		{
			NI i;
			NI j;
			if (!(exitCode == ((NI) 0))) goto LA15_;
			i = ((NI) 0);
			j = ((NI) 0);
			{
				while (1) {
					NIM_BOOL T19_;
					T19_ = (NIM_BOOL)0;
					T19_ = (i < (s ? s->Sup.len : 0));
					if (!(T19_)) goto LA20_;
					T19_ = !(((NU8)(s->data[i]) == (NU8)(10)));
					LA20_: ;
					if (!T19_) goto LA18;
					{
						if (!(((NU8)(s->data[i])) == ((NU8)(32)) || ((NU8)(s->data[i])) == ((NU8)(9)))) goto LA23_;
						j = (NI)(i + ((NI) 1));
					}
					LA23_: ;
					i += ((NI) 1);
				} LA18: ;
			}
			{
				NI major;
				if (!(((NI) 0) < j)) goto LA27_;
				major = ((NI) 0);
				{
					while (1) {
						NIM_BOOL T31_;
						T31_ = (NIM_BOOL)0;
						T31_ = (j < (s ? s->Sup.len : 0));
						if (!(T31_)) goto LA32_;
						T31_ = (((NU8)(s->data[j])) >= ((NU8)(48)) && ((NU8)(s->data[j])) <= ((NU8)(57)));
						LA32_: ;
						if (!T31_) goto LA30;
						major = (NI)((NI)(major * ((NI) 10)) + (NI)(((NU8)(s->data[j])) - ((NI) 48)));
						j += ((NI) 1);
					} LA30: ;
				}
				{
					NIM_BOOL T35_;
					T35_ = (NIM_BOOL)0;
					T35_ = (i < (s ? s->Sup.len : 0));
					if (!(T35_)) goto LA36_;
					T35_ = ((NU8)(s->data[j]) == (NU8)(46));
					LA36_: ;
					if (!T35_) goto LA37_;
					j += ((NI) 1);
				}
				LA37_: ;
				{
					while (1) {
						NIM_BOOL T41_;
						T41_ = (NIM_BOOL)0;
						T41_ = (j < (s ? s->Sup.len : 0));
						if (!(T41_)) goto LA42_;
						T41_ = (((NU8)(s->data[j])) >= ((NU8)(48)) && ((NU8)(s->data[j])) <= ((NU8)(57)));
						LA42_: ;
						if (!T41_) goto LA40;
						j += ((NI) 1);
					} LA40: ;
				}
				{
					NIM_BOOL T45_;
					NIM_BOOL T46_;
					T45_ = (NIM_BOOL)0;
					T46_ = (NIM_BOOL)0;
					T46_ = ((NI)(j + ((NI) 1)) < (s ? s->Sup.len : 0));
					if (!(T46_)) goto LA47_;
					T46_ = ((NU8)(s->data[j]) == (NU8)(46));
					LA47_: ;
					T45_ = T46_;
					if (!(T45_)) goto LA48_;
					T45_ = (((NU8)(s->data[(NI)(j + ((NI) 1))])) >= ((NU8)(48)) && ((NU8)(s->data[(NI)(j + ((NI) 1))])) <= ((NU8)(57)));
					LA48_: ;
					if (!T45_) goto LA49_;
					result = (((NI) 5) <= major);
				}
				LA49_: ;
			}
			LA27_: ;
		}
		LA15_: ;
	}
	goto LA1_;
	LA3_: ;
	{
		result = ((*conf).cCompiler == ((tyEnum_TSystemCC__1eWBJUonHMOnlBwsOvpFmA) 4));
	}
	LA1_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, addFileToCompile__0nANBPjKLpImf3GNXBeQ2Q)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg* cf) {
	NI T1_;
	asgnRef((void**) (&(*conf).toCompile), (tySequence__pK3qSsBZwdXd6qyUMkd5Jw*) incrSeqV3((TGenericSeq*)((*conf).toCompile), (&NTI__pK3qSsBZwdXd6qyUMkd5Jw_)));
	T1_ = (*conf).toCompile->Sup.len++;
	genericAssign((void*)(&(*conf).toCompile->data[T1_]), (void*)cf, (&NTI__i9cKq1ZGd1wgagjUEHLVFtg_));
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, genMappingFiles__Sc7FKKR45LmnWaDAT8Bwgg)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tySequence__pK3qSsBZwdXd6qyUMkd5Jw* list) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	{
		tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg* it;
		NI i;
		NI L;
		NI T2_;
		it = (tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg*)0;
		i = ((NI) 0);
		T2_ = (list ? list->Sup.len : 0);
		L = T2_;
		{
			while (1) {
				tyArray__JiWwrsTRC6xqNlGcBthSVA T5_;
				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T6_;
				if (!(i < L)) goto LA4;
				it = (&list->data[i]);
				nimZeroMem((void*)T5_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
				T5_[0] = rope__yShmEg9cffWxI7s5XzEKBow((*it).cname);
				T6_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
				T6_ = percent___T3CpMgcFHzYracJ80CUZBQ(T5_, 1);
				add__IM4kcMNkkOLJtqdEqSxR8A(&result, T6_);
				i += ((NI) 1);
			} LA4: ;
		}
	}
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, getCompileOptions__cS1sZo7H4weUdOP9bStq60g_3)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf) {
	NimStringDesc* result;
	result = (NimStringDesc*)0;
	result = cFileSpecificOptions__qenQYPV4hXyQmNT9c9aOOH9cQ(conf, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_141), ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_141));
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, getLinkOptions__cS1sZo7H4weUdOP9bStq60g_4)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf) {
	NimStringDesc* result;
	NimStringDesc* T1_;
	result = (NimStringDesc*)0;
	T1_ = (NimStringDesc*)0;
	T1_ = rawNewString(((*conf).linkOptions ? (*conf).linkOptions->Sup.len : 0) + ((*conf).linkOptionsCmd ? (*conf).linkOptionsCmd->Sup.len : 0) + 2);
appendString(T1_, (*conf).linkOptions);
appendString(T1_, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_81));
appendString(T1_, (*conf).linkOptionsCmd);
appendString(T1_, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_81));
	result = T1_;
	{
		NimStringDesc** linkedLib;
		NI i;
		NI L;
		NI T3_;
		linkedLib = (NimStringDesc**)0;
		i = ((NI) 0);
		T3_ = ((*conf).cLinkedLibs ? (*conf).cLinkedLibs->Sup.len : 0);
		L = T3_;
		{
			while (1) {
				NimStringDesc* T6_;
				NimStringDesc* T7_;
				if (!(i < L)) goto LA5;
				linkedLib = (&(*conf).cLinkedLibs->data[i]);
				T6_ = (NimStringDesc*)0;
				T6_ = nospquoteShell((*linkedLib));
				T7_ = (NimStringDesc*)0;
				T7_ = nsuFormatSingleElem(CC__78I18QZNZFIv9ah7oETc0jg[((*conf).cCompiler)- 1].Field14, T6_);
				result = resizeString(result, (T7_ ? T7_->Sup.len : 0) + 0);
appendString(result, T7_);
				i += ((NI) 1);
			} LA5: ;
		}
	}
	{
		NimStringDesc** libDir;
		NI i_2;
		NI L_2;
		NI T9_;
		libDir = (NimStringDesc**)0;
		i_2 = ((NI) 0);
		T9_ = ((*conf).cLibs ? (*conf).cLibs->Sup.len : 0);
		L_2 = T9_;
		{
			while (1) {
				tyArray__Re75IspeoxXy2oCZHwcRrA T12_;
				NimStringDesc* T13_;
				if (!(i_2 < L_2)) goto LA11;
				libDir = (&(*conf).cLibs->data[i_2]);
				nimZeroMem((void*)T12_, sizeof(tyArray__Re75IspeoxXy2oCZHwcRrA));
				T12_[0] = copyString(CC__78I18QZNZFIv9ah7oETc0jg[((*conf).cCompiler)- 1].Field13);
				T12_[1] = nospquoteShell((*libDir));
				T13_ = (NimStringDesc*)0;
				T13_ = nsuJoinSep(T12_, 2, ((NimStringDesc*) NIM_NIL));
				result = resizeString(result, (T13_ ? T13_->Sup.len : 0) + 0);
appendString(result, T13_);
				i_2 += ((NI) 1);
			} LA11: ;
		}
	}
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, writeMapping__LBHXhYTVO2vldQU4a5LZ9aQ)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* symbolMapping) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* code;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T5_;
	NimStringDesc* T6_;
	NimStringDesc* T7_;
	NimStringDesc* T8_;
	NimStringDesc* T9_;
	NimStringDesc* T10_;
	NimStringDesc* T11_;
	NimStringDesc* T12_;
	tyArray__JiWwrsTRC6xqNlGcBthSVA T13_;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T14_;
	NimStringDesc* filename;
{	{
		if (!!((((*conf).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 11))&63U)))!=0))) goto LA3_;
		goto BeforeRet_;
	}
	LA3_: ;
	code = rope__yShmEg9cffWxI7s5XzEKBow(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_139));
	T5_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T5_ = genMappingFiles__Sc7FKKR45LmnWaDAT8Bwgg(conf, (*conf).toCompile);
	add__IM4kcMNkkOLJtqdEqSxR8A(&code, T5_);
	add__yG4AKzsBRS1W4MANDlXQeg(&code, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_140));
	T6_ = (NimStringDesc*)0;
	T6_ = getCompileOptions__cS1sZo7H4weUdOP9bStq60g_3(conf);
	T7_ = (NimStringDesc*)0;
	T7_ = nsuEscape(T6_, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_142), ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_142));
	add__yG4AKzsBRS1W4MANDlXQeg(&code, T7_);
	add__yG4AKzsBRS1W4MANDlXQeg(&code, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_143));
	T8_ = (NimStringDesc*)0;
	T9_ = (NimStringDesc*)0;
	T9_ = getLinkOptions__cS1sZo7H4weUdOP9bStq60g_4(conf);
	T10_ = (NimStringDesc*)0;
	T10_ = getConfigVar__yFoF7FUju4sVQL0kUhJ68Q(conf, (*conf).cCompiler, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_144));
	T8_ = rawNewString((T9_ ? T9_->Sup.len : 0) + (T10_ ? T10_->Sup.len : 0) + 1);
appendString(T8_, T9_);
appendString(T8_, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_81));
appendString(T8_, T10_);
	T11_ = (NimStringDesc*)0;
	T11_ = nsuEscape(T8_, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_142), ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_142));
	add__yG4AKzsBRS1W4MANDlXQeg(&code, T11_);
	add__yG4AKzsBRS1W4MANDlXQeg(&code, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_145));
	T12_ = (NimStringDesc*)0;
	T12_ = nsuEscape((*conf).libpath, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_142), ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_142));
	add__yG4AKzsBRS1W4MANDlXQeg(&code, T12_);
	nimZeroMem((void*)T13_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
	T13_[0] = symbolMapping;
	T14_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	T14_ = percent___6wQcdZnh9aH29ay5rwY6M5fA(T13_, 1);
	add__IM4kcMNkkOLJtqdEqSxR8A(&code, T14_);
	filename = slash___QVqo5OOQAdrjFqBsPctklw((*conf).projectPath, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_146));
	{
		NIM_BOOL T17_;
		NimStringDesc* T20_;
		T17_ = (NIM_BOOL)0;
		T17_ = writeRope__LLRRC42xWBSkxzV9bsPu7lA(code, filename);
		if (!!(T17_)) goto LA18_;
		T20_ = (NimStringDesc*)0;
		T20_ = rawNewString((filename ? filename->Sup.len : 0) + 25);
appendString(T20_, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_147));
appendString(T20_, filename);
		liMessage__Q6JNH4uRwLyZrj0dJakHew(conf, unknownLineInfo__Adg58D2FIbt5TWh9aavBqbg, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 10), T20_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 1), TM__OyL9acDBDoBfMwa5zb1Y88w_148, NIM_FALSE);
	}
	LA18_: ;
	}BeforeRet_: ;
}
static N_NIMCALL(void, Marker_tyRef__yDouvGWqXnyQWbY9cNZcRzQ)(void* p, NI op) {
	tyObject_Env_extccompdotnim_callCCompiler___5IBXZ8SwOH2SKZ9aFV2UlKA* a;
	a = (tyObject_Env_extccompdotnim_callCCompiler___5IBXZ8SwOH2SKZ9aFV2UlKA*)p;
	nimGCvisit((void*)(*a).prettyCmds1, op);
}
N_LIB_PRIVATE N_CLOSURE(void, colonanonymous___hBvIN9auPUbX5e9cdQWMzpuw)(NI idx, void* ClE_0) {
	tyObject_Env_extccompdotnim_callCCompiler___5IBXZ8SwOH2SKZ9aFV2UlKA* colonenvP_;
	colonenvP_ = (tyObject_Env_extccompdotnim_callCCompiler___5IBXZ8SwOH2SKZ9aFV2UlKA*) ClE_0;
	{
		tyArray__nHXaesL0DJZHyVS07ARPRA T5_;
		if (!(((NI) 0) < ((*colonenvP_).prettyCmds1->data[idx] ? (*colonenvP_).prettyCmds1->data[idx]->Sup.len : 0))) goto LA3_;
		nimZeroMem((void*)T5_, sizeof(tyArray__nHXaesL0DJZHyVS07ARPRA));
		T5_[0] = copyString((*colonenvP_).prettyCmds1->data[idx]);
		echoBinSafe(T5_, 1);
	}
	LA3_: ;
}
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, displayProgressCC__YMkaaRmiXAy7tuQvcY3ZXQ)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, NimStringDesc* path, NimStringDesc* compileCmd) {
	NimStringDesc* result;
	result = (NimStringDesc*)0;
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = hasHint__zh6OC34d9cPUHXjZ4qVA9bkw_2(conf, ((tyEnum_TMsgKind__6kx5ul0BSa9aHxHPGwkvVHg) 54));
		if (!T3_) goto LA4_;
		{
			NIM_BOOL T8_;
			NimStringDesc* T12_;
			tyTuple__7q7q3E6Oj24ZNVJb9aonhAg T13_;
			NimStringDesc* T14_;
			T8_ = (NIM_BOOL)0;
			T8_ = (((*conf).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 3))&63U)))!=0);
			if (T8_) goto LA9_;
			T8_ = (((NI) 1) < (*conf).verbosity);
			LA9_: ;
			if (!T8_) goto LA10_;
			T12_ = (NimStringDesc*)0;
			nimZeroMem((void*)(&T13_), sizeof(tyTuple__7q7q3E6Oj24ZNVJb9aonhAg));
			nossplitFile(path, (&T13_));
			T14_ = (NimStringDesc*)0;
			T14_ = demanglePackageName__nbuWUOJELn5idXbWiYOmOA_2(T13_.Field1);
			T12_ = rawNewString((T14_ ? T14_->Sup.len : 0) + (compileCmd ? compileCmd->Sup.len : 0) + 2);
appendString(T12_, T14_);
appendString(T12_, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_151));
appendString(T12_, compileCmd);
			result = nsuFormatSingleElem(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_150), T12_);
		}
		goto LA6_;
		LA10_: ;
		{
			tyTuple__7q7q3E6Oj24ZNVJb9aonhAg T16_;
			NimStringDesc* T17_;
			nimZeroMem((void*)(&T16_), sizeof(tyTuple__7q7q3E6Oj24ZNVJb9aonhAg));
			nossplitFile(path, (&T16_));
			T17_ = (NimStringDesc*)0;
			T17_ = demanglePackageName__nbuWUOJELn5idXbWiYOmOA_2(T16_.Field1);
			result = nsuFormatSingleElem(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_150), T17_);
		}
		LA6_: ;
	}
	LA4_: ;
	return result;
}
static N_NIMCALL(void, Marker_tyRef__pkCPBZYDmG8KoijaqNdsQw)(void* p, NI op) {
	tyObject_Env_extccompdotnim_execCmdsInParallel___4Ms6MGgcp8EDnUBSlKFk9bg* a;
	a = (tyObject_Env_extccompdotnim_execCmdsInParallel___4Ms6MGgcp8EDnUBSlKFk9bg*)p;
	nimGCvisit((void*)(*a).conf1, op);
	nimGCvisit((void*)(*a).cmds2, op);
}
N_LIB_PRIVATE N_CLOSURE(void, colonanonymous___WqkV17r9cfXD1dIjACqZLaQ)(NI idx, tyObject_ProcessObj__2rGNQnv9bU4hanI2g3svReg* p, void* ClE_0) {
	tyObject_Env_extccompdotnim_execCmdsInParallel___4Ms6MGgcp8EDnUBSlKFk9bg* colonenvP_;
	NI exitCode;
	colonenvP_ = (tyObject_Env_extccompdotnim_execCmdsInParallel___4Ms6MGgcp8EDnUBSlKFk9bg*) ClE_0;
	exitCode = nosppeekExitCode(p);
	{
		tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* T5_;
		NimStringDesc* T6_;
		NimStringDesc* T7_;
		if (!!((exitCode == ((NI) 0)))) goto LA3_;
		T5_ = (tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw*)0;
		T5_ = (*colonenvP_).conf1;
		T6_ = (NimStringDesc*)0;
		T7_ = (NimStringDesc*)0;
		T7_ = nimIntToStr(exitCode);
		T6_ = rawNewString(((*colonenvP_).cmds2->data[idx] ? (*colonenvP_).cmds2->data[idx]->Sup.len : 0) + (T7_ ? T7_->Sup.len : 0) + 70);
appendString(T6_, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_153));
appendString(T6_, (*colonenvP_).cmds2->data[idx]);
appendString(T6_, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_154));
appendString(T6_, T7_);
appendString(T6_, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_155));
		liMessage__Q6JNH4uRwLyZrj0dJakHew(T5_, unknownLineInfo__Adg58D2FIbt5TWh9aavBqbg, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 10), T6_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 1), TM__OyL9acDBDoBfMwa5zb1Y88w_156, NIM_FALSE);
	}
	LA3_: ;
}
N_LIB_PRIVATE N_NIMCALL(NI, execWithEcho__QZ9b9cAU2keYADlSDvZBGVww)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, NimStringDesc* cmd, tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w msg) {
	NI result;
	tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* T1_;
	tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w T2_;
	NimStringDesc* T3_;
	result = (NI)0;
	T1_ = (tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw*)0;
	T1_ = conf;
	T2_ = (tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w)0;
	T2_ = msg;
	T3_ = (NimStringDesc*)0;
	{
		NIM_BOOL T6_;
		NIM_BOOL T8_;
		T6_ = (NIM_BOOL)0;
		T6_ = (msg == ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 72));
		if (!(T6_)) goto LA7_;
		T8_ = (NIM_BOOL)0;
		T8_ = (((*conf).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 3))&63U)))!=0);
		if (T8_) goto LA9_;
		T8_ = (((NI) 1) < (*conf).verbosity);
		LA9_: ;
		T6_ = !(T8_);
		LA7_: ;
		if (!T6_) goto LA10_;
		T3_ = ((NimStringDesc*) NIM_NIL);
	}
	goto LA4_;
	LA10_: ;
	{
		T3_ = copyString(cmd);
	}
	LA4_: ;
	liMessage__Q6JNH4uRwLyZrj0dJakHew(T1_, unknownLineInfo__Adg58D2FIbt5TWh9aavBqbg, T2_, T3_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 1), TM__OyL9acDBDoBfMwa5zb1Y88w_158, NIM_FALSE);
	result = nospexecCmd(cmd);
	return result;
}
static N_INLINE(Exception*, getCurrentException)(void) {
	Exception* result;
	result = (Exception*)0;
	result = currException__9bVPeDJlYTi9bQApZpfH8wjg;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, execCmdsInParallel__p9bWc9cmeT2sDJod9aZ3WxNoA)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tySequence__sM4lkSb7zS6F7OVMvW9cffQ* cmds, tyProc__SqRJqa5aOiKB4EuKlKh9asA prettyCb) {
	tyObject_Env_extccompdotnim_execCmdsInParallel___4Ms6MGgcp8EDnUBSlKFk9bg* colonenv_;
	tyProc__oudJckli4GdxAXLVzBBlAw runCb;
	tyProc__oudJckli4GdxAXLVzBBlAw T1_;
	NI volatile res;
	colonenv_ = (tyObject_Env_extccompdotnim_execCmdsInParallel___4Ms6MGgcp8EDnUBSlKFk9bg*)0;
	colonenv_ = (tyObject_Env_extccompdotnim_execCmdsInParallel___4Ms6MGgcp8EDnUBSlKFk9bg*) newObj((&NTI__pkCPBZYDmG8KoijaqNdsQw_), sizeof(tyObject_Env_extccompdotnim_execCmdsInParallel___4Ms6MGgcp8EDnUBSlKFk9bg));
	(*colonenv_).Sup.m_type = (&NTI__4Ms6MGgcp8EDnUBSlKFk9bg_);
	asgnRef((void**) (&(*colonenv_).conf1), conf);
	genericSeqAssign((&(*colonenv_).cmds2), cmds, (&NTI__sM4lkSb7zS6F7OVMvW9cffQ_));
	nimZeroMem((void*)(&runCb), sizeof(tyProc__oudJckli4GdxAXLVzBBlAw));
	nimZeroMem((void*)(&T1_), sizeof(tyProc__oudJckli4GdxAXLVzBBlAw));
	T1_.ClP_0 = colonanonymous___WqkV17r9cfXD1dIjACqZLaQ; T1_.ClE_0 = colonenv_;
	runCb.ClE_0 = T1_.ClE_0;
	runCb.ClP_0 = T1_.ClP_0;
	{
		if (!((*(*colonenv_).conf1).numberOfProcessors == ((NI) 0))) goto LA4_;
		(*(*colonenv_).conf1).numberOfProcessors = nospcountProcessors();
	}
	LA4_: ;
	res = ((NI) 0);
	{
		if (!((*(*colonenv_).conf1).numberOfProcessors <= ((NI) 1))) goto LA8_;
		{
			NI i;
			NI colontmp_;
			NI T11_;
			NI res_2;
			i = (NI)0;
			colontmp_ = (NI)0;
			T11_ = (((*colonenv_).cmds2 ? (*colonenv_).cmds2->Sup.len : 0)-1);
			colontmp_ = T11_;
			res_2 = ((NI) 0);
			{
				while (1) {
					TSafePoint TM__OyL9acDBDoBfMwa5zb1Y88w_157;
					if (!(res_2 <= colontmp_)) goto LA13;
					i = res_2;
					pushSafePoint(&TM__OyL9acDBDoBfMwa5zb1Y88w_157);
					TM__OyL9acDBDoBfMwa5zb1Y88w_157.status = setjmp(TM__OyL9acDBDoBfMwa5zb1Y88w_157.context);
					if (TM__OyL9acDBDoBfMwa5zb1Y88w_157.status == 0) {
					res = execWithEcho__QZ9b9cAU2keYADlSDvZBGVww((*colonenv_).conf1, (*colonenv_).cmds2->data[i], ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 71));
					popSafePoint();
					}
					else {
						popSafePoint();
						if (isObj(nimBorrowCurrentException()->Sup.m_type, (&NTI__BeJgrOdDsczOwEWOZbRfKA_))) {
							tyObject_OSError__BeJgrOdDsczOwEWOZbRfKA* oseX60gensym74_;
							Exception* T16_;
							TM__OyL9acDBDoBfMwa5zb1Y88w_157.status = 0;
							T16_ = (Exception*)0;
							T16_ = getCurrentException();
							oseX60gensym74_ = ((tyObject_OSError__BeJgrOdDsczOwEWOZbRfKA*) (T16_));
							{
								NimStringDesc* T21_;
								NimStringDesc* T22_;
								if (!NIM_TRUE) goto LA19_;
								T21_ = (NimStringDesc*)0;
								T22_ = (NimStringDesc*)0;
								T22_ = nimIntToStr(((NI) ((*oseX60gensym74_).errorCode)));
								T21_ = rawNewString(((*oseX60gensym74_).Sup.Sup.message ? (*oseX60gensym74_).Sup.Sup.message->Sup.len : 0) + (T22_ ? T22_->Sup.len : 0) + 49);
appendString(T21_, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_159));
appendString(T21_, (*oseX60gensym74_).Sup.Sup.message);
appendString(T21_, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_81));
appendString(T21_, T22_);
								liMessage__Q6JNH4uRwLyZrj0dJakHew((*colonenv_).conf1, unknownLineInfo__Adg58D2FIbt5TWh9aavBqbg, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 10), T21_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 1), TM__OyL9acDBDoBfMwa5zb1Y88w_160, NIM_FALSE);
							}
							goto LA17_;
							LA19_: ;
							{
								NimStringDesc* T24_;
								NimStringDesc* T25_;
								NimStringDesc* T26_;
								T24_ = (NimStringDesc*)0;
								T25_ = (NimStringDesc*)0;
								T25_ = nimIntToStr(((NI) ((*oseX60gensym74_).errorCode)));
								T24_ = rawNewString(((*oseX60gensym74_).Sup.Sup.message ? (*oseX60gensym74_).Sup.Sup.message->Sup.len : 0) + (T25_ ? T25_->Sup.len : 0) + 1);
appendString(T24_, (*oseX60gensym74_).Sup.Sup.message);
appendString(T24_, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_81));
appendString(T24_, T25_);
								T26_ = (NimStringDesc*)0;
								T26_ = nsuFormatSingleElem(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_161), T24_);
								liMessage__Q6JNH4uRwLyZrj0dJakHew((*colonenv_).conf1, unknownLineInfo__Adg58D2FIbt5TWh9aavBqbg, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 10), T26_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 1), TM__OyL9acDBDoBfMwa5zb1Y88w_162, NIM_FALSE);
							}
							LA17_: ;
							reraiseException();
							popCurrentException();
						}
					}
					if (TM__OyL9acDBDoBfMwa5zb1Y88w_157.status != 0) reraiseException();
					{
						tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* T31_;
						NimStringDesc* T32_;
						if (!!((res == ((NI) 0)))) goto LA29_;
						T31_ = (tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw*)0;
						T31_ = (*colonenv_).conf1;
						T32_ = (NimStringDesc*)0;
						T32_ = nsuFormatSingleElem(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_161), (*colonenv_).cmds2->data[i]);
						liMessage__Q6JNH4uRwLyZrj0dJakHew(T31_, unknownLineInfo__Adg58D2FIbt5TWh9aavBqbg, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 10), T32_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 1), TM__OyL9acDBDoBfMwa5zb1Y88w_163, NIM_FALSE);
					}
					LA29_: ;
					res_2 += ((NI) 1);
				} LA13: ;
			}
		}
	}
	goto LA6_;
	LA8_: ;
	{
		TSafePoint TM__OyL9acDBDoBfMwa5zb1Y88w_164;
		pushSafePoint(&TM__OyL9acDBDoBfMwa5zb1Y88w_164);
		TM__OyL9acDBDoBfMwa5zb1Y88w_164.status = setjmp(TM__OyL9acDBDoBfMwa5zb1Y88w_164.context);
		if (TM__OyL9acDBDoBfMwa5zb1Y88w_164.status == 0) {
		res = nospexecProcesses((*colonenv_).cmds2->data, ((*colonenv_).cmds2 ? (*colonenv_).cmds2->Sup.len : 0), 26, (*(*colonenv_).conf1).numberOfProcessors, prettyCb, runCb);
		popSafePoint();
		}
		else {
			popSafePoint();
			if (isObj(nimBorrowCurrentException()->Sup.m_type, (&NTI__BeJgrOdDsczOwEWOZbRfKA_))) {
				tyObject_OSError__BeJgrOdDsczOwEWOZbRfKA* oseX60gensym83_;
				Exception* T36_;
				TM__OyL9acDBDoBfMwa5zb1Y88w_164.status = 0;
				T36_ = (Exception*)0;
				T36_ = getCurrentException();
				oseX60gensym83_ = ((tyObject_OSError__BeJgrOdDsczOwEWOZbRfKA*) (T36_));
				{
					NimStringDesc* T41_;
					NimStringDesc* T42_;
					if (!NIM_TRUE) goto LA39_;
					T41_ = (NimStringDesc*)0;
					T42_ = (NimStringDesc*)0;
					T42_ = nimIntToStr(((NI) ((*oseX60gensym83_).errorCode)));
					T41_ = rawNewString(((*oseX60gensym83_).Sup.Sup.message ? (*oseX60gensym83_).Sup.Sup.message->Sup.len : 0) + (T42_ ? T42_->Sup.len : 0) + 49);
appendString(T41_, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_159));
appendString(T41_, (*oseX60gensym83_).Sup.Sup.message);
appendString(T41_, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_81));
appendString(T41_, T42_);
					liMessage__Q6JNH4uRwLyZrj0dJakHew((*colonenv_).conf1, unknownLineInfo__Adg58D2FIbt5TWh9aavBqbg, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 10), T41_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 1), TM__OyL9acDBDoBfMwa5zb1Y88w_160, NIM_FALSE);
				}
				goto LA37_;
				LA39_: ;
				{
					NimStringDesc* T44_;
					NimStringDesc* T45_;
					NimStringDesc* T46_;
					T44_ = (NimStringDesc*)0;
					T45_ = (NimStringDesc*)0;
					T45_ = nimIntToStr(((NI) ((*oseX60gensym83_).errorCode)));
					T44_ = rawNewString(((*oseX60gensym83_).Sup.Sup.message ? (*oseX60gensym83_).Sup.Sup.message->Sup.len : 0) + (T45_ ? T45_->Sup.len : 0) + 1);
appendString(T44_, (*oseX60gensym83_).Sup.Sup.message);
appendString(T44_, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_81));
appendString(T44_, T45_);
					T46_ = (NimStringDesc*)0;
					T46_ = nsuFormatSingleElem(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_161), T44_);
					liMessage__Q6JNH4uRwLyZrj0dJakHew((*colonenv_).conf1, unknownLineInfo__Adg58D2FIbt5TWh9aavBqbg, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 10), T46_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 1), TM__OyL9acDBDoBfMwa5zb1Y88w_162, NIM_FALSE);
				}
				LA37_: ;
				reraiseException();
				popCurrentException();
			}
		}
		if (TM__OyL9acDBDoBfMwa5zb1Y88w_164.status != 0) reraiseException();
	}
	LA6_: ;
	{
		if (!!((res == ((NI) 0)))) goto LA49_;
		{
			tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* T55_;
			NimStringDesc* T56_;
			NimStringDesc* T57_;
			if (!((*(*colonenv_).conf1).numberOfProcessors <= ((NI) 1))) goto LA53_;
			T55_ = (tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw*)0;
			T55_ = (*colonenv_).conf1;
			T56_ = (NimStringDesc*)0;
			T56_ = nsuJoinSep((*colonenv_).cmds2->data, ((*colonenv_).cmds2 ? (*colonenv_).cmds2->Sup.len : 0), ((NimStringDesc*) NIM_NIL));
			T57_ = (NimStringDesc*)0;
			T57_ = nsuFormatSingleElem(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_161), T56_);
			liMessage__Q6JNH4uRwLyZrj0dJakHew(T55_, unknownLineInfo__Adg58D2FIbt5TWh9aavBqbg, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 10), T57_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 1), TM__OyL9acDBDoBfMwa5zb1Y88w_165, NIM_FALSE);
		}
		LA53_: ;
	}
	LA49_: ;
}
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, getObjFilePath__MWUvOFBaPcc9cZCok9b0wp8g)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg* f) {
	NimStringDesc* result;
	result = (NimStringDesc*)0;
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = noAbsolutePaths__wURcJahTBWvB1wOD7H1W2A_2extccomp(conf);
		if (!T3_) goto LA4_;
		result = nosextractFilename((*f).obj);
	}
	goto LA1_;
	LA4_: ;
	{
		result = copyString((*f).obj);
	}
	LA1_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, hcrLinkTargetName__OBP5lDxQn83E8M7sr5ilGA)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, NimStringDesc* objFile, NIM_BOOL isMain) {
	NimStringDesc* result;
	NimStringDesc* basename;
	tyTuple__7q7q3E6Oj24ZNVJb9aonhAg T1_;
	NimStringDesc* targetName;
	NimStringDesc* T8_;
	result = (NimStringDesc*)0;
	nimZeroMem((void*)(&T1_), sizeof(tyTuple__7q7q3E6Oj24ZNVJb9aonhAg));
	nossplitFile(objFile, (&T1_));
	basename = T1_.Field1;
	{
		NimStringDesc* T6_;
		if (!isMain) goto LA4_;
		T6_ = (NimStringDesc*)0;
		T6_ = rawNewString((basename ? basename->Sup.len : 0) + 4);
appendString(T6_, basename);
appendString(T6_, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_90));
		targetName = T6_;
	}
	goto LA2_;
	LA4_: ;
	{
		targetName = nsuFormatSingleElem(OS__Jx0qy9c9bSo4fGkMxUfUaAaw[((*conf).target.targetOS)- 1].Field2, basename);
	}
	LA2_: ;
	T8_ = (NimStringDesc*)0;
	T8_ = getNimcacheDir__oltK69akg0xLqkR2ITKbomg_2(conf);
	result = slash___QVqo5OOQAdrjFqBsPctklw(T8_, targetName);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, getLinkerExe__PFrMJEjCj8UsEEpKzPSF4g)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyEnum_TSystemCC__1eWBJUonHMOnlBwsOvpFmA compiler) {
	NimStringDesc* result;
	result = (NimStringDesc*)0;
	{
		if (!(((NI) 0) < (CC__78I18QZNZFIv9ah7oETc0jg[(compiler)- 1].Field10 ? CC__78I18QZNZFIv9ah7oETc0jg[(compiler)- 1].Field10->Sup.len : 0))) goto LA3_;
		result = copyString(CC__78I18QZNZFIv9ah7oETc0jg[(compiler)- 1].Field10);
	}
	goto LA1_;
	LA3_: ;
	{
		NIM_BOOL T6_;
		T6_ = (NIM_BOOL)0;
		T6_ = (((*conf).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 35))&63U)))!=0);
		if (!(T6_)) goto LA7_;
		T6_ = !(((*conf).backend == ((tyEnum_TBackend__4OBsgZ9cscH2JLUE5Wcz01g) 2)));
		LA7_: ;
		if (!T6_) goto LA8_;
		result = copyString(CC__78I18QZNZFIv9ah7oETc0jg[(compiler)- 1].Field5);
	}
	goto LA1_;
	LA8_: ;
	{
		result = getCompilerExe__C0I5a08dQ0OlRyrYrGtPrw(conf, compiler, ((NimStringDesc*) NIM_NIL));
	}
	LA1_: ;
	return result;
}
static N_INLINE(NI, nanosecond__7rRL9cpRm0fzlI9bi1R5Kapwtimes)(tyObject_DateTime__d9cK9cyKZPJJxFXUmx8dSpPw* dt) {
	NI result;
	result = (NI)0;
	result = (*dt).nanosecond;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, getLinkCmd__19boGzcEM5vCX8rTqqyOQAg)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, NimStringDesc* output, NimStringDesc* objfiles, NIM_BOOL isDllBuild) {
	NimStringDesc* result;
	result = (NimStringDesc*)0;
	{
		tyArray__sMpvt1sOxOJ3LFGulnbeMQ T5_;
		if (!(((*conf).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 8))&63U)))!=0)) goto LA3_;
		nimZeroMem((void*)T5_, sizeof(tyArray__sMpvt1sOxOJ3LFGulnbeMQ));
		T5_[0] = copyString(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_166));
		T5_[1] = nospquoteShell(output);
		T5_[2] = copyString(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_167));
		T5_[3] = copyString(objfiles);
		result = nsuFormatOpenArray(CC__78I18QZNZFIv9ah7oETc0jg[((*conf).cCompiler)- 1].Field9, T5_, 4);
	}
	goto LA1_;
	LA3_: ;
	{
		NimStringDesc* linkerExe;
		NimStringDesc* buildgui;
		NimStringDesc* builddll;
		NimStringDesc* exefile;
		NimStringDesc* mapfile;
		NimStringDesc* T34_;
		NimStringDesc* T35_;
		tyTuple__7q7q3E6Oj24ZNVJb9aonhAg T36_;
		NimStringDesc* T37_;
		NimStringDesc* linkOptions;
		NimStringDesc* T38_;
		NimStringDesc* T39_;
		NimStringDesc* T40_;
		NimStringDesc* linkTmpl;
		tyArray__rmMMhDIqORJzUU5zqeitSQ T45_;
		NimStringDesc* T46_;
		tyArray__68WB4OcBspSFyW4LY9cOceA T47_;
		NimStringDesc* T48_;
		linkerExe = getConfigVar__yFoF7FUju4sVQL0kUhJ68Q(conf, (*conf).cCompiler, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_168));
		{
			if (!((linkerExe ? linkerExe->Sup.len : 0) == ((NI) 0))) goto LA9_;
			linkerExe = getLinkerExe__PFrMJEjCj8UsEEpKzPSF4g(conf, (*conf).cCompiler);
		}
		LA9_: ;
		{
			NIM_BOOL T13_;
			T13_ = (NIM_BOOL)0;
			T13_ = needsExeExt__wURcJahTBWvB1wOD7H1W2Aextccomp(conf);
			if (!T13_) goto LA14_;
			linkerExe = nosaddFileExt(linkerExe, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_96));
		}
		LA14_: ;
		{
			NIM_BOOL T18_;
			T18_ = (NIM_BOOL)0;
			T18_ = noAbsolutePaths__wURcJahTBWvB1wOD7H1W2A_2extccomp(conf);
			if (!T18_) goto LA19_;
			result = copyString(linkerExe);
		}
		goto LA16_;
		LA19_: ;
		{
			result = nosjoinPath((*conf).cCompilerPath, linkerExe);
		}
		LA16_: ;
		{
			NIM_BOOL T24_;
			T24_ = (NIM_BOOL)0;
			T24_ = (((*conf).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 9))&63U)))!=0);
			if (!(T24_)) goto LA25_;
			T24_ = ((*conf).target.targetOS == ((tyEnum_TSystemOS__s7Mlr1t66SUqP6BKJMXLaQ) 2));
			LA25_: ;
			if (!T24_) goto LA26_;
			buildgui = copyString(CC__78I18QZNZFIv9ah7oETc0jg[((*conf).cCompiler)- 1].Field7);
		}
		goto LA22_;
		LA26_: ;
		{
			buildgui = ((NimStringDesc*) NIM_NIL);
		}
		LA22_: ;
		{
			if (!isDllBuild) goto LA31_;
			builddll = copyString(CC__78I18QZNZFIv9ah7oETc0jg[((*conf).cCompiler)- 1].Field8);
		}
		goto LA29_;
		LA31_: ;
		{
			builddll = ((NimStringDesc*) NIM_NIL);
		}
		LA29_: ;
		exefile = nospquoteShell(output);
		T34_ = (NimStringDesc*)0;
		T34_ = getNimcacheDir__oltK69akg0xLqkR2ITKbomg_2(conf);
		T35_ = (NimStringDesc*)0;
		nimZeroMem((void*)(&T36_), sizeof(tyTuple__7q7q3E6Oj24ZNVJb9aonhAg));
		splitFile__z7B4FbwzX3Y0L1EA2lLGXw(output, (&T36_));
		T35_ = rawNewString((T36_.Field1 ? T36_.Field1->Sup.len : 0) + 4);
appendString(T35_, T36_.Field1);
appendString(T35_, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_169));
		T37_ = (NimStringDesc*)0;
		T37_ = slash___QVqo5OOQAdrjFqBsPctklw(T34_, T35_);
		mapfile = nospquoteShell(T37_);
		T38_ = (NimStringDesc*)0;
		T39_ = (NimStringDesc*)0;
		T39_ = getLinkOptions__cS1sZo7H4weUdOP9bStq60g_4(conf);
		T40_ = (NimStringDesc*)0;
		T40_ = getConfigVar__yFoF7FUju4sVQL0kUhJ68Q(conf, (*conf).cCompiler, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_144));
		T38_ = rawNewString((T39_ ? T39_->Sup.len : 0) + (T40_ ? T40_->Sup.len : 0) + 1);
appendString(T38_, T39_);
appendString(T38_, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_81));
appendString(T38_, T40_);
		linkOptions = T38_;
		linkTmpl = getConfigVar__yFoF7FUju4sVQL0kUhJ68Q(conf, (*conf).cCompiler, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_170));
		{
			if (!((linkTmpl ? linkTmpl->Sup.len : 0) == ((NI) 0))) goto LA43_;
			linkTmpl = copyString(CC__78I18QZNZFIv9ah7oETc0jg[((*conf).cCompiler)- 1].Field11);
		}
		LA43_: ;
		nimZeroMem((void*)T45_, sizeof(tyArray__rmMMhDIqORJzUU5zqeitSQ));
		T45_[0] = copyString(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_171));
		T45_[1] = copyString(builddll);
		T45_[2] = copyString(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_172));
		T45_[3] = copyString(mapfile);
		T45_[4] = copyString(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_173));
		T45_[5] = copyString(buildgui);
		T45_[6] = copyString(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_101));
		T45_[7] = copyString(linkOptions);
		T45_[8] = copyString(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_167));
		T45_[9] = copyString(objfiles);
		T45_[10] = copyString(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_174));
		T45_[11] = copyString(exefile);
		T45_[12] = copyString(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_103));
		T45_[13] = getPrefixDir__oltK69akg0xLqkR2ITKbomg(conf);
		T45_[14] = copyString(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_104));
		T45_[15] = copyString((*conf).libpath);
		T46_ = (NimStringDesc*)0;
		T46_ = nsuFormatOpenArray(result, T45_, 16);
		result = nospquoteShell(T46_);
		result = addChar(result, 32);
		nimZeroMem((void*)T47_, sizeof(tyArray__68WB4OcBspSFyW4LY9cOceA));
		T47_[0] = copyString(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_171));
		T47_[1] = copyString(builddll);
		T47_[2] = copyString(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_172));
		T47_[3] = copyString(mapfile);
		T47_[4] = copyString(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_173));
		T47_[5] = copyString(buildgui);
		T47_[6] = copyString(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_101));
		T47_[7] = copyString(linkOptions);
		T47_[8] = copyString(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_167));
		T47_[9] = copyString(objfiles);
		T47_[10] = copyString(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_174));
		T47_[11] = copyString(exefile);
		T47_[12] = copyString(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_103));
		T48_ = (NimStringDesc*)0;
		T48_ = getPrefixDir__oltK69akg0xLqkR2ITKbomg(conf);
		T47_[13] = nospquoteShell(T48_);
		T47_[14] = copyString(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_104));
		T47_[15] = nospquoteShell((*conf).libpath);
		T47_[16] = copyString(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_114));
		T47_[17] = vccplatform__cS1sZo7H4weUdOP9bStq60g_2(conf);
		nsuAddf((&result), linkTmpl, T47_, 18);
		{
			NIM_BOOL T51_;
			tyObject_DateTime__d9cK9cyKZPJJxFXUmx8dSpPw t;
			NimStringDesc* pdb;
			NimStringDesc* T55_;
			NimStringDesc* T56_;
			NI T57_;
			NimStringDesc* T58_;
			NimStringDesc* T59_;
			T51_ = (NIM_BOOL)0;
			T51_ = hcrOn__UhPXgqyDuuU9cKcS8FM883w(conf);
			if (!(T51_)) goto LA52_;
			T51_ = isVSCompatible__nRr0tdRhl8rTyvIdRrQiFA(conf);
			LA52_: ;
			if (!T51_) goto LA53_;
			nimZeroMem((void*)(&t), sizeof(tyObject_DateTime__d9cK9cyKZPJJxFXUmx8dSpPw));
			t.Sup.m_type = (&NTI__d9cK9cyKZPJJxFXUmx8dSpPw_);
			now__YmAcAi9bz5G8OQqVFWHN2uA((&t));
			T55_ = (NimStringDesc*)0;
			T56_ = (NimStringDesc*)0;
			T56_ = format__ADP1KtY4gYCU9cpquETfo6A((&t));
			T57_ = (NI)0;
			T57_ = nanosecond__7rRL9cpRm0fzlI9bi1R5Kapwtimes((&t));
			T58_ = (NimStringDesc*)0;
			T58_ = nimIntToStr(((NI) (T57_)));
			T55_ = rawNewString((output ? output->Sup.len : 0) + (T56_ ? T56_->Sup.len : 0) + (T58_ ? T58_->Sup.len : 0) + 5);
appendString(T55_, output);
appendString(T55_, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_2));
appendString(T55_, T56_);
appendString(T55_, T58_);
appendString(T55_, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_175));
			pdb = T55_;
			T59_ = (NimStringDesc*)0;
			T59_ = rawNewString((pdb ? pdb->Sup.len : 0) + 12);
appendString(T59_, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_176));
appendString(T59_, pdb);
			result = resizeString(result, (T59_ ? T59_->Sup.len : 0) + 0);
appendString(result, T59_);
		}
		LA53_: ;
	}
	LA1_: ;
	{
		NIM_BOOL T62_;
		T62_ = (NIM_BOOL)0;
		T62_ = (((*conf).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 6))&63U)))!=0);
		if (!(T62_)) goto LA63_;
		T62_ = ((*conf).cCompiler == ((tyEnum_TSystemCC__1eWBJUonHMOnlBwsOvpFmA) 6));
		LA63_: ;
		if (!T62_) goto LA64_;
		result = resizeString(result, 12);
appendString(result, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_177));
	}
	LA64_: ;
	return result;
}
static N_INLINE(NCSTRING, nimToCStringConv)(NimStringDesc* s) {
	NCSTRING result;
	result = (NCSTRING)0;
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = (s == NIM_NIL);
		if (T3_) goto LA4_;
		T3_ = ((*s).Sup.len == ((NI) 0));
		LA4_: ;
		if (!T3_) goto LA5_;
		result = "";
	}
	goto LA1_;
	LA5_: ;
	{
		result = ((NCSTRING) ((*s).data));
	}
	LA1_: ;
	return result;
}
static N_INLINE(tySequence__sM4lkSb7zS6F7OVMvW9cffQ*, map__9coqkyenQbauN87L29cwpJ9cwsequtils)(NimStringDesc** s, NI sLen_0, tyProc__oFHfEKFsiYTMAy9a42cSiKw op) {
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ* result;
	result = (tySequence__sM4lkSb7zS6F7OVMvW9cffQ*)0;
	result = (tySequence__sM4lkSb7zS6F7OVMvW9cffQ*) newSeq((&NTI__sM4lkSb7zS6F7OVMvW9cffQ_), ((NI) (sLen_0)));
	{
		NI i;
		NI colontmp_;
		NI i_2;
		i = (NI)0;
		colontmp_ = (NI)0;
		colontmp_ = sLen_0;
		i_2 = ((NI) 0);
		{
			while (1) {
				if (!(i_2 < colontmp_)) goto LA3;
				i = i_2;
				asgnRef((void**) (&result->data[i]), op.ClE_0? op.ClP_0(s[i], op.ClE_0):((TM__OyL9acDBDoBfMwa5zb1Y88w_180)(op.ClP_0))(s[i]));
				i_2 += ((NI) 1);
			} LA3: ;
		}
	}
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, colonanonymous___i9cgDJyzGp9cHl61u0ZxciCA)(NimStringDesc* curr) {
	NimStringDesc* result;
{	result = (NimStringDesc*)0;
	result = nsuReplaceStr(curr, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_92), ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_181));
	goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tySequence__sM4lkSb7zS6F7OVMvW9cffQ*, getExtraCmds__6Lz77eqBBT2GZa5zgnK9c9bw)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, NimStringDesc* output) {
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ* result;
	result = (tySequence__sM4lkSb7zS6F7OVMvW9cffQ*)0;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, execExternalProgram__WKaD677f7aLTxInYSr0wMw)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, NimStringDesc* cmd, tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w msg) {
	{
		NI T3_;
		NimStringDesc* T6_;
		T3_ = (NI)0;
		T3_ = execWithEcho__QZ9b9cAU2keYADlSDvZBGVww(conf, cmd, msg);
		if (!!((T3_ == ((NI) 0)))) goto LA4_;
		T6_ = (NimStringDesc*)0;
		T6_ = nsuFormatSingleElem(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_161), cmd);
		liMessage__Q6JNH4uRwLyZrj0dJakHew(conf, unknownLineInfo__Adg58D2FIbt5TWh9aavBqbg, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 10), T6_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 1), TM__OyL9acDBDoBfMwa5zb1Y88w_186, NIM_FALSE);
	}
	LA4_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, execLinkCmd__Qd0sm1DhO9cMJXoMjKvYd2g)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, NimStringDesc* linkCmd) {
	TSafePoint TM__OyL9acDBDoBfMwa5zb1Y88w_185;
	pushSafePoint(&TM__OyL9acDBDoBfMwa5zb1Y88w_185);
	TM__OyL9acDBDoBfMwa5zb1Y88w_185.status = setjmp(TM__OyL9acDBDoBfMwa5zb1Y88w_185.context);
	if (TM__OyL9acDBDoBfMwa5zb1Y88w_185.status == 0) {
	execExternalProgram__WKaD677f7aLTxInYSr0wMw(conf, linkCmd, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 72));
	popSafePoint();
	}
	else {
		popSafePoint();
		if (isObj(nimBorrowCurrentException()->Sup.m_type, (&NTI__BeJgrOdDsczOwEWOZbRfKA_))) {
			tyObject_OSError__BeJgrOdDsczOwEWOZbRfKA* oseX60gensym65_;
			Exception* T3_;
			TM__OyL9acDBDoBfMwa5zb1Y88w_185.status = 0;
			T3_ = (Exception*)0;
			T3_ = getCurrentException();
			oseX60gensym65_ = ((tyObject_OSError__BeJgrOdDsczOwEWOZbRfKA*) (T3_));
			{
				NimStringDesc* T8_;
				NimStringDesc* T9_;
				if (!NIM_TRUE) goto LA6_;
				T8_ = (NimStringDesc*)0;
				T9_ = (NimStringDesc*)0;
				T9_ = nimIntToStr(((NI) ((*oseX60gensym65_).errorCode)));
				T8_ = rawNewString(((*oseX60gensym65_).Sup.Sup.message ? (*oseX60gensym65_).Sup.Sup.message->Sup.len : 0) + (T9_ ? T9_->Sup.len : 0) + 47);
appendString(T8_, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_187));
appendString(T8_, (*oseX60gensym65_).Sup.Sup.message);
appendString(T8_, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_81));
appendString(T8_, T9_);
				liMessage__Q6JNH4uRwLyZrj0dJakHew(conf, unknownLineInfo__Adg58D2FIbt5TWh9aavBqbg, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 10), T8_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 1), TM__OyL9acDBDoBfMwa5zb1Y88w_160, NIM_FALSE);
			}
			goto LA4_;
			LA6_: ;
			{
				NimStringDesc* T11_;
				NimStringDesc* T12_;
				NimStringDesc* T13_;
				T11_ = (NimStringDesc*)0;
				T12_ = (NimStringDesc*)0;
				T12_ = nimIntToStr(((NI) ((*oseX60gensym65_).errorCode)));
				T11_ = rawNewString(((*oseX60gensym65_).Sup.Sup.message ? (*oseX60gensym65_).Sup.Sup.message->Sup.len : 0) + (T12_ ? T12_->Sup.len : 0) + 1);
appendString(T11_, (*oseX60gensym65_).Sup.Sup.message);
appendString(T11_, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_81));
appendString(T11_, T12_);
				T13_ = (NimStringDesc*)0;
				T13_ = nsuFormatSingleElem(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_161), T11_);
				liMessage__Q6JNH4uRwLyZrj0dJakHew(conf, unknownLineInfo__Adg58D2FIbt5TWh9aavBqbg, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 10), T13_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 1), TM__OyL9acDBDoBfMwa5zb1Y88w_162, NIM_FALSE);
			}
			LA4_: ;
			reraiseException();
			popCurrentException();
		}
	}
	if (TM__OyL9acDBDoBfMwa5zb1Y88w_185.status != 0) reraiseException();
}
N_LIB_PRIVATE N_NIMCALL(void, linkViaResponseFile__ECoEwi5ccD2gjgW5HRJ5HQ)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, NimStringDesc* cmd) {
	NI i;
	NI last;
	NimStringDesc* linkerArgs;
	NimStringDesc* T20_;
	NimStringDesc* args;
	TSafePoint TM__OyL9acDBDoBfMwa5zb1Y88w_184;
	NimStringDesc* T29_;
	NimStringDesc* T30_;
	i = ((NI) 0);
	last = ((NI) 0);
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = (((NI) 0) < (cmd ? cmd->Sup.len : 0));
		if (!(T3_)) goto LA4_;
		T3_ = ((NU8)(cmd->data[((NI) 0)]) == (NU8)(34));
		LA4_: ;
		if (!T3_) goto LA5_;
		i += ((NI) 1);
		{
			while (1) {
				NIM_BOOL T9_;
				T9_ = (NIM_BOOL)0;
				T9_ = (i < (cmd ? cmd->Sup.len : 0));
				if (!(T9_)) goto LA10_;
				T9_ = !(((NU8)(cmd->data[i]) == (NU8)(34)));
				LA10_: ;
				if (!T9_) goto LA8;
				i += ((NI) 1);
			} LA8: ;
		}
		last = i;
		i += ((NI) 1);
	}
	goto LA1_;
	LA5_: ;
	{
		{
			while (1) {
				NIM_BOOL T14_;
				T14_ = (NIM_BOOL)0;
				T14_ = (i < (cmd ? cmd->Sup.len : 0));
				if (!(T14_)) goto LA15_;
				T14_ = !(((NU8)(cmd->data[i]) == (NU8)(32)));
				LA15_: ;
				if (!T14_) goto LA13;
				i += ((NI) 1);
			} LA13: ;
		}
		last = i;
	}
	LA1_: ;
	{
		while (1) {
			NIM_BOOL T18_;
			T18_ = (NIM_BOOL)0;
			T18_ = (i < (cmd ? cmd->Sup.len : 0));
			if (!(T18_)) goto LA19_;
			T18_ = ((NU8)(cmd->data[i]) == (NU8)(32));
			LA19_: ;
			if (!T18_) goto LA17;
			i += ((NI) 1);
		} LA17: ;
	}
	T20_ = (NimStringDesc*)0;
	T20_ = rawNewString(((*conf).projectName ? (*conf).projectName->Sup.len : 0) + 15);
appendString(T20_, (*conf).projectName);
appendString(T20_, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_183));
	linkerArgs = T20_;
	args = substr__iGg0RIKceRvsmvq8FUHOEw(cmd, i);
	{
		NIM_BOOL T23_;
		NimStringDesc* T27_;
		T23_ = (NIM_BOOL)0;
		T23_ = ((*conf).cCompiler == ((tyEnum_TSystemCC__1eWBJUonHMOnlBwsOvpFmA) 1));
		if (T23_) goto LA24_;
		T23_ = ((*conf).cCompiler == ((tyEnum_TSystemCC__1eWBJUonHMOnlBwsOvpFmA) 4));
		LA24_: ;
		if (!T23_) goto LA25_;
		T27_ = (NimStringDesc*)0;
		T27_ = nsuReplaceChar(args, 92, 47);
		writeFile__D6Pj9c29aCLEJP9beOWa08HYA(linkerArgs, T27_);
	}
	goto LA21_;
	LA25_: ;
	{
		writeFile__D6Pj9c29aCLEJP9beOWa08HYA(linkerArgs, args);
	}
	LA21_: ;
	pushSafePoint(&TM__OyL9acDBDoBfMwa5zb1Y88w_184);
	TM__OyL9acDBDoBfMwa5zb1Y88w_184.status = setjmp(TM__OyL9acDBDoBfMwa5zb1Y88w_184.context);
	if (TM__OyL9acDBDoBfMwa5zb1Y88w_184.status == 0) {
	T29_ = (NimStringDesc*)0;
	T30_ = (NimStringDesc*)0;
	T30_ = substr__2yh9cer0ymNRHlOOg8P7IuA(cmd, ((NI) 0), last);
	T29_ = rawNewString((T30_ ? T30_->Sup.len : 0) + (linkerArgs ? linkerArgs->Sup.len : 0) + 2);
appendString(T29_, T30_);
appendString(T29_, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_188));
appendString(T29_, linkerArgs);
	execLinkCmd__Qd0sm1DhO9cMJXoMjKvYd2g(conf, T29_);
	popSafePoint();
	}
	else {
		popSafePoint();
	}
	{
		nosremoveFile(linkerArgs);
		if (TM__OyL9acDBDoBfMwa5zb1Y88w_184.status != 0) nimLeaveFinally();
	}
	if (TM__OyL9acDBDoBfMwa5zb1Y88w_184.status != 0) reraiseException();
}
N_LIB_PRIVATE N_NIMCALL(void, generateScript__3qbYlJiAgCuEfXNA9ai9bidw)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* script) {
	tyTuple__7q7q3E6Oj24ZNVJb9aonhAg T1_;
	NimStringDesc* _;
	NimStringDesc* name;
	NimStringDesc* __2;
	NimStringDesc* filename;
	NimStringDesc* T2_;
	NimStringDesc* T3_;
	NimStringDesc* T4_;
	NimStringDesc* T5_;
	nimZeroMem((void*)(&T1_), sizeof(tyTuple__7q7q3E6Oj24ZNVJb9aonhAg));
	nossplitFile((*conf).outFile, (&T1_));
	_ = (NimStringDesc*)0;
	_ = T1_.Field0;
	name = (NimStringDesc*)0;
	name = T1_.Field1;
	__2 = (NimStringDesc*)0;
	__2 = T1_.Field2;
	T2_ = (NimStringDesc*)0;
	T2_ = getNimcacheDir__oltK69akg0xLqkR2ITKbomg_2(conf);
	T3_ = (NimStringDesc*)0;
	T3_ = T2_;
	T4_ = (NimStringDesc*)0;
	T4_ = rawNewString((name ? name->Sup.len : 0) + 8);
appendString(T4_, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_189));
appendString(T4_, name);
	T5_ = (NimStringDesc*)0;
	T5_ = nosaddFileExt(T4_, OS__Jx0qy9c9bSo4fGkMxUfUaAaw[((*conf).target.targetOS)- 1].Field8);
	filename = slash___QVqo5OOQAdrjFqBsPctklw(T3_, T5_);
	{
		NIM_BOOL T8_;
		NimStringDesc* T11_;
		T8_ = (NIM_BOOL)0;
		T8_ = writeRope__LLRRC42xWBSkxzV9bsPu7lA(script, filename);
		if (!!(T8_)) goto LA9_;
		T11_ = (NimStringDesc*)0;
		T11_ = rawNewString((filename ? filename->Sup.len : 0) + 25);
appendString(T11_, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_147));
appendString(T11_, filename);
		liMessage__Q6JNH4uRwLyZrj0dJakHew(conf, unknownLineInfo__Adg58D2FIbt5TWh9aavBqbg, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 10), T11_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 1), TM__OyL9acDBDoBfMwa5zb1Y88w_190, NIM_FALSE);
	}
	LA9_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, callCCompiler__LewyFn4Dwlat7Ce2QWFbZA_2)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf) {
	tyObject_Env_extccompdotnim_callCCompiler___5IBXZ8SwOH2SKZ9aFV2UlKA* colonenv_;
	NimStringDesc* linkCmd;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ* extraCmds;
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* script;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ* cmds;
	tyProc__SqRJqa5aOiKB4EuKlKh9asA prettyCb;
	tyProc__SqRJqa5aOiKB4EuKlKh9asA T5_;
{	colonenv_ = (tyObject_Env_extccompdotnim_callCCompiler___5IBXZ8SwOH2SKZ9aFV2UlKA*)0;
	colonenv_ = (tyObject_Env_extccompdotnim_callCCompiler___5IBXZ8SwOH2SKZ9aFV2UlKA*) newObj((&NTI__yDouvGWqXnyQWbY9cNZcRzQ_), sizeof(tyObject_Env_extccompdotnim_callCCompiler___5IBXZ8SwOH2SKZ9aFV2UlKA));
	(*colonenv_).Sup.m_type = (&NTI__5IBXZ8SwOH2SKZ9aFV2UlKA_);
	linkCmd = (NimStringDesc*)0;
	extraCmds = (tySequence__sM4lkSb7zS6F7OVMvW9cffQ*)0;
	{
		if (!(((*conf).globalOptions & 1040) == 16)) goto LA3_;
		goto BeforeRet_;
	}
	LA3_: ;
	script = NIM_NIL;
	cmds = (tySequence__sM4lkSb7zS6F7OVMvW9cffQ*)0;
	(*colonenv_).prettyCmds1 = (tySequence__sM4lkSb7zS6F7OVMvW9cffQ*)0;
	nimZeroMem((void*)(&prettyCb), sizeof(tyProc__SqRJqa5aOiKB4EuKlKh9asA));
	nimZeroMem((void*)(&T5_), sizeof(tyProc__SqRJqa5aOiKB4EuKlKh9asA));
	T5_.ClP_0 = colonanonymous___hBvIN9auPUbX5e9cdQWMzpuw; T5_.ClE_0 = colonenv_;
	prettyCb.ClE_0 = T5_.ClE_0;
	prettyCb.ClP_0 = T5_.ClP_0;
	{
		NI idx;
		tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg it;
		NI i;
		NI L;
		NI T7_;
		idx = (NI)0;
		nimZeroMem((void*)(&it), sizeof(tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg));
		i = ((NI) 0);
		T7_ = ((*conf).toCompile ? (*conf).toCompile->Sup.len : 0);
		L = T7_;
		{
			while (1) {
				if (!(i < L)) goto LA9;
				idx = i;
				nimCopyMem((void*)(&it), (NIM_CONST void*)(&(*conf).toCompile->data[i]), sizeof(it));
				{
					NimStringDesc* compileCmd;
					tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* T15_;
					NI T16_;
					{
						if (!((it.flags &((NU8)1<<((NU)(((tyEnum_CfileFlag__Vl9c9ayddDuXiWtnWTsEYGsA) 0))&7U)))!=0)) goto LA13_;
						goto LA10;
					}
					LA13_: ;
					T15_ = (tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw*)0;
					T15_ = conf;
					T16_ = ((*conf).toCompile ? (*conf).toCompile->Sup.len : 0);
					compileCmd = getCompileCFileCmd__uOCPoEVtEQdC7k9cm7JeVsw(T15_, (&it), (idx == (NI)(T16_ - ((NI) 1))), NIM_TRUE);
					{
						NI T21_;
						NimStringDesc* T22_;
						NimStringDesc* T23_;
						NimStringDesc* T24_;
						NI T25_;
						NimStringDesc* T26_;
						if (!!((((*conf).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 4))&63U)))!=0))) goto LA19_;
						cmds = (tySequence__sM4lkSb7zS6F7OVMvW9cffQ*) incrSeqV3((TGenericSeq*)(cmds), (&NTI__sM4lkSb7zS6F7OVMvW9cffQ_));
						T21_ = cmds->Sup.len++;
						T22_ = (NimStringDesc*)0;
						T22_ = cmds->data[T21_]; cmds->data[T21_] = copyStringRC1(compileCmd);
						if (T22_) nimGCunrefNoCycle(T22_);
						T23_ = (NimStringDesc*)0;
						T23_ = dollar___l9cjIIY6CNqmzrJ1PC9apeYg(it.cname);
						T24_ = (NimStringDesc*)0;
						T24_ = displayProgressCC__YMkaaRmiXAy7tuQvcY3ZXQ(conf, T23_, compileCmd);
						asgnRef((void**) (&(*colonenv_).prettyCmds1), (tySequence__sM4lkSb7zS6F7OVMvW9cffQ*) incrSeqV3((TGenericSeq*)((*colonenv_).prettyCmds1), (&NTI__sM4lkSb7zS6F7OVMvW9cffQ_)));
						T25_ = (*colonenv_).prettyCmds1->Sup.len++;
						T26_ = (NimStringDesc*)0;
						T26_ = (*colonenv_).prettyCmds1->data[T25_]; (*colonenv_).prettyCmds1->data[T25_] = copyStringRC1(T24_);
						if (T26_) nimGCunrefNoCycle(T26_);
					}
					LA19_: ;
					{
						if (!(((*conf).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 10))&63U)))!=0)) goto LA29_;
						add__yG4AKzsBRS1W4MANDlXQeg(&script, compileCmd);
						add__yG4AKzsBRS1W4MANDlXQeg(&script, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_119));
					}
					LA29_: ;
				} LA10: ;
				i += ((NI) 1);
			} LA9: ;
		}
	}
	{
		if (!!((((*conf).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 4))&63U)))!=0))) goto LA33_;
		execCmdsInParallel__p9bWc9cmeT2sDJod9aZ3WxNoA(conf, cmds, prettyCb);
	}
	LA33_: ;
	{
		NimStringDesc* objfiles;
		if (!!((((*conf).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 5))&63U)))!=0))) goto LA37_;
		objfiles = ((NimStringDesc*) NIM_NIL);
		{
			NimStringDesc** it_2;
			NI i_2;
			NI L_2;
			NI T40_;
			it_2 = (NimStringDesc**)0;
			i_2 = ((NI) 0);
			T40_ = ((*conf).externalToLink ? (*conf).externalToLink->Sup.len : 0);
			L_2 = T40_;
			{
				while (1) {
					NimStringDesc* objFile;
					NimStringDesc* T49_;
					NimStringDesc* T50_;
					if (!(i_2 < L_2)) goto LA42;
					it_2 = (&(*conf).externalToLink->data[i_2]);
					{
						NIM_BOOL T45_;
						T45_ = (NIM_BOOL)0;
						T45_ = noAbsolutePaths__wURcJahTBWvB1wOD7H1W2A_2extccomp(conf);
						if (!T45_) goto LA46_;
						objFile = nosextractFilename((*it_2));
					}
					goto LA43_;
					LA46_: ;
					{
						objFile = (*it_2);
					}
					LA43_: ;
					objfiles = addChar(objfiles, 32);
					T49_ = (NimStringDesc*)0;
					T49_ = nosaddFileExt(objFile, CC__78I18QZNZFIv9ah7oETc0jg[((*conf).cCompiler)- 1].Field1);
					T50_ = (NimStringDesc*)0;
					T50_ = nospquoteShell(T49_);
					objfiles = resizeString(objfiles, (T50_ ? T50_->Sup.len : 0) + 0);
appendString(objfiles, T50_);
					i_2 += ((NI) 1);
				} LA42: ;
			}
		}
		{
			NIM_BOOL T53_;
			NI mainFileIdx;
			NI T56_;
			tyProc__oFHfEKFsiYTMAy9a42cSiKw T94_;
			T53_ = (NIM_BOOL)0;
			T53_ = hcrOn__UhPXgqyDuuU9cKcS8FM883w(conf);
			if (!T53_) goto LA54_;
			cmds = NIM_NIL;
			T56_ = ((*conf).toCompile ? (*conf).toCompile->Sup.len : 0);
			mainFileIdx = (NI)(T56_ - ((NI) 1));
			{
				NI idx_2;
				tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg x;
				NI i_3;
				NI L_3;
				NI T58_;
				idx_2 = (NI)0;
				nimZeroMem((void*)(&x), sizeof(tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg));
				i_3 = ((NI) 0);
				T58_ = ((*conf).toCompile ? (*conf).toCompile->Sup.len : 0);
				L_3 = T58_;
				{
					while (1) {
						if (!(i_3 < L_3)) goto LA60;
						idx_2 = i_3;
						nimCopyMem((void*)(&x), (NIM_CONST void*)(&(*conf).toCompile->data[i_3]), sizeof(x));
						{
							NimStringDesc* objFile_2;
							NIM_BOOL buildDll;
							NimStringDesc* linkTarget;
							NimStringDesc* T66_;
							NimStringDesc* T67_;
							NimStringDesc* T68_;
							NI T69_;
							NimStringDesc* T70_;
							{
								if (!((x.flags &((NU8)1<<((NU)(((tyEnum_CfileFlag__Vl9c9ayddDuXiWtnWTsEYGsA) 0))&7U)))!=0)) goto LA64_;
								goto LA61;
							}
							LA64_: ;
							objFile_2 = getObjFilePath__MWUvOFBaPcc9cZCok9b0wp8g(conf, (&x));
							buildDll = !((idx_2 == mainFileIdx));
							linkTarget = hcrLinkTargetName__OBP5lDxQn83E8M7sr5ilGA(conf, objFile_2, !(buildDll));
							T66_ = (NimStringDesc*)0;
							T67_ = (NimStringDesc*)0;
							T67_ = nospquoteShell(objFile_2);
							T66_ = rawNewString((objfiles ? objfiles->Sup.len : 0) + (T67_ ? T67_->Sup.len : 0) + 1);
appendString(T66_, objfiles);
appendString(T66_, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_81));
appendString(T66_, T67_);
							T68_ = (NimStringDesc*)0;
							T68_ = getLinkCmd__19boGzcEM5vCX8rTqqyOQAg(conf, linkTarget, T66_, buildDll);
							cmds = (tySequence__sM4lkSb7zS6F7OVMvW9cffQ*) incrSeqV3((TGenericSeq*)(cmds), (&NTI__sM4lkSb7zS6F7OVMvW9cffQ_));
							T69_ = cmds->Sup.len++;
							T70_ = (NimStringDesc*)0;
							T70_ = cmds->data[T69_]; cmds->data[T69_] = copyStringRC1(T68_);
							if (T70_) nimGCunrefNoCycle(T70_);
							{
								NIM_BOOL T73_;
								T73_ = (NIM_BOOL)0;
								T73_ = isVSCompatible__nRr0tdRhl8rTyvIdRrQiFA(conf);
								if (!T73_) goto LA74_;
								{
									NimStringDesc* pdb;
									NimStringDesc* colontmp_;
									NimStringDesc* T77_;
									glob_t fX60gensym143_;
									NI resX60gensym143_;
									int T78_;
									TSafePoint TM__OyL9acDBDoBfMwa5zb1Y88w_179;
									pdb = (NimStringDesc*)0;
									colontmp_ = (NimStringDesc*)0;
									T77_ = (NimStringDesc*)0;
									T77_ = rawNewString((objFile_2 ? objFile_2->Sup.len : 0) + 6);
appendString(T77_, objFile_2);
appendString(T77_, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_178));
									colontmp_ = T77_;
									nimZeroMem((void*)(&fX60gensym143_), sizeof(glob_t));
									resX60gensym143_ = (NI)0;
									fX60gensym143_.gl_offs = ((NI) 0);
									fX60gensym143_.gl_pathc = ((NI) 0);
									fX60gensym143_.gl_pathv = NIM_NIL;
									T78_ = (int)0;
									T78_ = glob(nimToCStringConv(colontmp_), ((int) 0), NIM_NIL, (&fX60gensym143_));
									resX60gensym143_ = ((NI) (T78_));
									pushSafePoint(&TM__OyL9acDBDoBfMwa5zb1Y88w_179);
									TM__OyL9acDBDoBfMwa5zb1Y88w_179.status = setjmp(TM__OyL9acDBDoBfMwa5zb1Y88w_179.context);
									if (TM__OyL9acDBDoBfMwa5zb1Y88w_179.status == 0) {
									{
										if (!(resX60gensym143_ == ((NI) 0))) goto LA81_;
										{
											NI iX60gensym143_;
											NI colontmp__2;
											NI res;
											iX60gensym143_ = (NI)0;
											colontmp__2 = (NI)0;
											colontmp__2 = (NI)(fX60gensym143_.gl_pathc - ((NI) 1));
											res = ((NI) 0);
											{
												while (1) {
													NimStringDesc* pathX60gensym143_;
													if (!(res <= colontmp__2)) goto LA85;
													iX60gensym143_ = res;
													pathX60gensym143_ = cstrToNimstr(fX60gensym143_.gl_pathv[iX60gensym143_]);
													{
														NIM_BOOL T88_;
														NIM_BOOL T91_;
														T88_ = (NIM_BOOL)0;
														T88_ = nosfileExists(pathX60gensym143_);
														if (!T88_) goto LA89_;
														pdb = pathX60gensym143_;
														T91_ = (NIM_BOOL)0;
														T91_ = nostryRemoveFile(pdb);
														(void)(T91_);
													}
													LA89_: ;
													res += ((NI) 1);
												} LA85: ;
											}
										}
									}
									LA81_: ;
									popSafePoint();
									}
									else {
										popSafePoint();
									}
									{
										globfree((&fX60gensym143_));
										if (TM__OyL9acDBDoBfMwa5zb1Y88w_179.status != 0) nimLeaveFinally();
									}
									if (TM__OyL9acDBDoBfMwa5zb1Y88w_179.status != 0) reraiseException();
								}
							}
							LA74_: ;
						} LA61: ;
						i_3 += ((NI) 1);
					} LA60: ;
				}
			}
			nimZeroMem((void*)(&T94_), sizeof(tyProc__oFHfEKFsiYTMAy9a42cSiKw));
			T94_.ClP_0 = ((TM__OyL9acDBDoBfMwa5zb1Y88w_182) (colonanonymous___i9cgDJyzGp9cHl61u0ZxciCA)); T94_.ClE_0 = NIM_NIL;
			asgnRef((void**) (&(*colonenv_).prettyCmds1), map__9coqkyenQbauN87L29cwpJ9cwsequtils((*colonenv_).prettyCmds1->data, ((*colonenv_).prettyCmds1 ? (*colonenv_).prettyCmds1->Sup.len : 0), T94_));
			execCmdsInParallel__p9bWc9cmeT2sDJod9aZ3WxNoA(conf, cmds, prettyCb);
			{
				NimStringDesc* mainObjFile;
				NimStringDesc* src;
				NimStringDesc* dst;
				if (!!((((*conf).toCompile->data[mainFileIdx].flags &((NU8)1<<((NU)(((tyEnum_CfileFlag__Vl9c9ayddDuXiWtnWTsEYGsA) 0))&7U)))!=0))) goto LA97_;
				mainObjFile = getObjFilePath__MWUvOFBaPcc9cZCok9b0wp8g(conf, (&(*conf).toCompile->data[mainFileIdx]));
				src = hcrLinkTargetName__OBP5lDxQn83E8M7sr5ilGA(conf, mainObjFile, NIM_TRUE);
				dst = prepareToWriteOutput__ea9bsNo9cwchKzwCi7UjcP7g_2(conf);
				copyFileWithPermissions__H9b5Dl0Yjd60VeosKvlvXkA(src, dst, NIM_TRUE);
			}
			LA97_: ;
		}
		goto LA51_;
		LA54_: ;
		{
			NimStringDesc* mainOutput;
			tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* T116_;
			{
				tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg* x_2;
				NI i_4;
				NI L_4;
				NI T101_;
				x_2 = (tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg*)0;
				i_4 = ((NI) 0);
				T101_ = ((*conf).toCompile ? (*conf).toCompile->Sup.len : 0);
				L_4 = T101_;
				{
					while (1) {
						NimStringDesc* objFile_3;
						NimStringDesc* T110_;
						if (!(i_4 < L_4)) goto LA103;
						x_2 = (&(*conf).toCompile->data[i_4]);
						{
							NIM_BOOL T106_;
							T106_ = (NIM_BOOL)0;
							T106_ = noAbsolutePaths__wURcJahTBWvB1wOD7H1W2A_2extccomp(conf);
							if (!T106_) goto LA107_;
							objFile_3 = nosextractFilename((*x_2).obj);
						}
						goto LA104_;
						LA107_: ;
						{
							objFile_3 = (*x_2).obj;
						}
						LA104_: ;
						objfiles = addChar(objfiles, 32);
						T110_ = (NimStringDesc*)0;
						T110_ = nospquoteShell(objFile_3);
						objfiles = resizeString(objfiles, (T110_ ? T110_->Sup.len : 0) + 0);
appendString(objfiles, T110_);
						i_4 += ((NI) 1);
					} LA103: ;
				}
			}
			{
				if (!!((((*conf).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 10))&63U)))!=0))) goto LA113_;
				mainOutput = prepareToWriteOutput__ea9bsNo9cwchKzwCi7UjcP7g_2(conf);
			}
			goto LA111_;
			LA113_: ;
			{
				mainOutput = (*conf).projectName;
			}
			LA111_: ;
			T116_ = (tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw*)0;
			T116_ = conf;
			linkCmd = getLinkCmd__19boGzcEM5vCX8rTqqyOQAg(T116_, mainOutput, objfiles, (((*conf).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 7))&63U)))!=0));
			extraCmds = getExtraCmds__6Lz77eqBBT2GZa5zgnK9c9bw(conf, mainOutput);
			{
				if (!!((((*conf).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 4))&63U)))!=0))) goto LA119_;
				{
					if (!(((NI) 32000) < (linkCmd ? linkCmd->Sup.len : 0))) goto LA123_;
					linkViaResponseFile__ECoEwi5ccD2gjgW5HRJ5HQ(conf, linkCmd);
				}
				goto LA121_;
				LA123_: ;
				{
					execLinkCmd__Qd0sm1DhO9cMJXoMjKvYd2g(conf, linkCmd);
				}
				LA121_: ;
				{
					NimStringDesc** cmd;
					NI i_5;
					NI L_5;
					NI T127_;
					cmd = (NimStringDesc**)0;
					i_5 = ((NI) 0);
					T127_ = (extraCmds ? extraCmds->Sup.len : 0);
					L_5 = T127_;
					{
						while (1) {
							if (!(i_5 < L_5)) goto LA129;
							cmd = (&extraCmds->data[i_5]);
							execExternalProgram__WKaD677f7aLTxInYSr0wMw(conf, (*cmd), ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 71));
							i_5 += ((NI) 1);
						} LA129: ;
					}
				}
			}
			LA119_: ;
		}
		LA51_: ;
	}
	goto LA35_;
	LA37_: ;
	{
		linkCmd = ((NimStringDesc*) NIM_NIL);
	}
	LA35_: ;
	{
		if (!(((*conf).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 10))&63U)))!=0)) goto LA133_;
		add__yG4AKzsBRS1W4MANDlXQeg(&script, linkCmd);
		add__yG4AKzsBRS1W4MANDlXQeg(&script, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_119));
		generateScript__3qbYlJiAgCuEfXNA9ai9bidw(conf, script);
	}
	LA133_: ;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, cfiles__7tj9aCcfua0Pyu5qurKtY9aQ)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, FILE* f, NimStringDesc** buf, tySequence__pK3qSsBZwdXd6qyUMkd5Jw* clist, NIM_BOOL isExternal) {
	NIM_BOOL comma;
	comma = NIM_FALSE;
	{
		NI i;
		tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg it;
		NI i_2;
		NI L;
		NI T2_;
		i = (NI)0;
		nimZeroMem((void*)(&it), sizeof(tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg));
		i_2 = ((NI) 0);
		T2_ = (clist ? clist->Sup.len : 0);
		L = T2_;
		{
			while (1) {
				if (!(i_2 < L)) goto LA4;
				i = i_2;
				nimCopyMem((void*)(&it), (NIM_CONST void*)(&clist->data[i_2]), sizeof(it));
				{
					NimStringDesc* compileCmd;
					{
						if (!((it.flags &((NU8)1<<((NU)(((tyEnum_CfileFlag__Vl9c9ayddDuXiWtnWTsEYGsA) 0))&7U)))!=0)) goto LA8_;
						goto LA5;
					}
					LA8_: ;
					compileCmd = getCompileCFileCmd__uOCPoEVtEQdC7k9cm7JeVsw(conf, (&it), NIM_FALSE, NIM_FALSE);
					{
						if (!comma) goto LA12_;
						write__PArlm09bKklm2BLsCg6YtaA(f, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_195));
					}
					goto LA10_;
					LA12_: ;
					{
						comma = NIM_TRUE;
					}
					LA10_: ;
					write__PArlm09bKklm2BLsCg6YtaA(f, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_196));
					unsureAsgnRef((void**) (&(*buf)), setLengthStr((*buf), ((NI) 0)));
					escapeJson__YID1CO5Pb6vZOjpjrUt6Lw(it.cname, buf);
					write__PArlm09bKklm2BLsCg6YtaA(f, (*buf));
					write__PArlm09bKklm2BLsCg6YtaA(f, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_121));
					unsureAsgnRef((void**) (&(*buf)), setLengthStr((*buf), ((NI) 0)));
					escapeJson__YID1CO5Pb6vZOjpjrUt6Lw(compileCmd, buf);
					write__PArlm09bKklm2BLsCg6YtaA(f, (*buf));
					write__PArlm09bKklm2BLsCg6YtaA(f, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_197));
				} LA5: ;
				i_2 += ((NI) 1);
			} LA4: ;
		}
	}
}
N_LIB_PRIVATE N_NIMCALL(void, linkfiles__ZuAFP27RPsKG7qELLFYzkw)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, FILE* f, NimStringDesc** buf, NimStringDesc** objfiles, tySequence__pK3qSsBZwdXd6qyUMkd5Jw* clist, tySequence__sM4lkSb7zS6F7OVMvW9cffQ* llist) {
	NIM_BOOL pastStart;
	pastStart = NIM_FALSE;
	{
		NimStringDesc** it;
		NI i;
		NI L;
		NI T2_;
		it = (NimStringDesc**)0;
		i = ((NI) 0);
		T2_ = (llist ? llist->Sup.len : 0);
		L = T2_;
		{
			while (1) {
				NimStringDesc* objfile;
				NimStringDesc* objstr;
				if (!(i < L)) goto LA4;
				it = (&llist->data[i]);
				{
					NIM_BOOL T7_;
					T7_ = (NIM_BOOL)0;
					T7_ = noAbsolutePaths__wURcJahTBWvB1wOD7H1W2A_2extccomp(conf);
					if (!T7_) goto LA8_;
					objfile = nosextractFilename((*it));
				}
				goto LA5_;
				LA8_: ;
				{
					objfile = (*it);
				}
				LA5_: ;
				objstr = nosaddFileExt(objfile, CC__78I18QZNZFIv9ah7oETc0jg[((*conf).cCompiler)- 1].Field1);
				unsureAsgnRef((void**) (&(*objfiles)), addChar((*objfiles), 32));
				unsureAsgnRef((void**) (&(*objfiles)), resizeString((*objfiles), (objstr ? objstr->Sup.len : 0) + 0));
appendString((*objfiles), objstr);
				{
					if (!pastStart) goto LA13_;
					write__PArlm09bKklm2BLsCg6YtaA(f, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_195));
				}
				LA13_: ;
				unsureAsgnRef((void**) (&(*buf)), setLengthStr((*buf), ((NI) 0)));
				escapeJson__YID1CO5Pb6vZOjpjrUt6Lw(objstr, buf);
				write__PArlm09bKklm2BLsCg6YtaA(f, (*buf));
				pastStart = NIM_TRUE;
				i += ((NI) 1);
			} LA4: ;
		}
	}
	{
		tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg* it_2;
		NI i_2;
		NI L_2;
		NI T16_;
		it_2 = (tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg*)0;
		i_2 = ((NI) 0);
		T16_ = (clist ? clist->Sup.len : 0);
		L_2 = T16_;
		{
			while (1) {
				NimStringDesc* objstr_2;
				if (!(i_2 < L_2)) goto LA18;
				it_2 = (&clist->data[i_2]);
				objstr_2 = nospquoteShell((*it_2).obj);
				unsureAsgnRef((void**) (&(*objfiles)), addChar((*objfiles), 32));
				unsureAsgnRef((void**) (&(*objfiles)), resizeString((*objfiles), (objstr_2 ? objstr_2->Sup.len : 0) + 0));
appendString((*objfiles), objstr_2);
				{
					if (!pastStart) goto LA21_;
					write__PArlm09bKklm2BLsCg6YtaA(f, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_195));
				}
				LA21_: ;
				unsureAsgnRef((void**) (&(*buf)), setLengthStr((*buf), ((NI) 0)));
				escapeJson__YID1CO5Pb6vZOjpjrUt6Lw(objstr_2, buf);
				write__PArlm09bKklm2BLsCg6YtaA(f, (*buf));
				pastStart = NIM_TRUE;
				i_2 += ((NI) 1);
			} LA18: ;
		}
	}
	write__PArlm09bKklm2BLsCg6YtaA(f, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_119));
}
N_LIB_PRIVATE N_NIMCALL(void, depfiles__voaYiECxgPWZnLuhOES9aRQ)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, FILE* f) {
	NI i;
	i = ((NI) 0);
	{
		tyObject_TFileInfo__GE3hAakXKOEpch4ap3zXAw* it;
		NI i_2;
		NI L;
		NI T2_;
		it = (tyObject_TFileInfo__GE3hAakXKOEpch4ap3zXAw*)0;
		i_2 = ((NI) 0);
		T2_ = ((*conf).m.fileInfos ? (*conf).m.fileInfos->Sup.len : 0);
		L = T2_;
		{
			while (1) {
				NimStringDesc* path;
				if (!(i_2 < L)) goto LA4;
				it = (&(*conf).m.fileInfos->data[i_2]);
				path = (*it).fullPath;
				{
					NIM_BOOL T7_;
					NimStringDesc* T14_;
					tyArray__YtcvxHNKV4YiecPE9ap1mcA T15_;
					NimStringDesc* T16_;
					NimStringDesc* T17_;
					T7_ = (NIM_BOOL)0;
					T7_ = nosisAbsolute(path);
					if (!T7_) goto LA8_;
					{
						if (!(((NI) 0) < i)) goto LA12_;
						write__PArlm09bKklm2BLsCg6YtaA(f, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_205));
					}
					LA12_: ;
					write__PArlm09bKklm2BLsCg6YtaA(f, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_196));
					T14_ = (NimStringDesc*)0;
					T14_ = escapeJson__NGTWHwdUy0ADNv9alK3ECRA(path);
					write__PArlm09bKklm2BLsCg6YtaA(f, T14_);
					write__PArlm09bKklm2BLsCg6YtaA(f, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_121));
					nimZeroMem((void*)T15_, sizeof(tyArray__YtcvxHNKV4YiecPE9ap1mcA));
					secureHashFile__EWwG0WuhtSH9c26DD9b9a6DLw(path, T15_);
					T16_ = (NimStringDesc*)0;
					T16_ = dollar___2r9adABFqPoalSCAWfm1KJQ(T15_);
					T17_ = (NimStringDesc*)0;
					T17_ = escapeJson__NGTWHwdUy0ADNv9alK3ECRA(T16_);
					write__PArlm09bKklm2BLsCg6YtaA(f, T17_);
					i += ((NI) 1);
				}
				LA8_: ;
				i_2 += ((NI) 1);
			} LA4: ;
		}
	}
	write__PArlm09bKklm2BLsCg6YtaA(f, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_206));
}
N_LIB_PRIVATE N_NIMCALL(void, writeJsonBuildInstructions__LewyFn4Dwlat7Ce2QWFbZA_3)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf) {
	NimStringDesc* buf;
	NimStringDesc* jsonFile;
	NimStringDesc* T1_;
	NimStringDesc* T2_;
	NimStringDesc* T3_;
	NimStringDesc* T4_;
	NimStringDesc* output;
	FILE* f;
	buf = rawNewString(((NI) 50));
	T1_ = (NimStringDesc*)0;
	T1_ = getNimcacheDir__oltK69akg0xLqkR2ITKbomg_2(conf);
	T2_ = (NimStringDesc*)0;
	T2_ = T1_;
	T3_ = (NimStringDesc*)0;
	T3_ = rawNewString(((*conf).projectName ? (*conf).projectName->Sup.len : 0) + 5);
appendString(T3_, (*conf).projectName);
appendString(T3_, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_191));
	jsonFile = slash___QVqo5OOQAdrjFqBsPctklw(T2_, T3_);
	T4_ = (NimStringDesc*)0;
	T4_ = (*conf).jsonBuildFile; (*conf).jsonBuildFile = copyStringRC1(jsonFile);
	if (T4_) nimGCunrefNoCycle(T4_);
	output = absOutFile__ea9bsNo9cwchKzwCi7UjcP7g(conf);
	f = (FILE*)0;
	{
		NIM_BOOL T7_;
		NimStringDesc* T10_;
		NimStringDesc* objfiles;
		tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* T11_;
		NimStringDesc* T12_;
		tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* T13_;
		NimStringDesc* T14_;
		tySequence__sM4lkSb7zS6F7OVMvW9cffQ* T15_;
		tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* T16_;
		NimStringDesc* T17_;
		tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* T18_;
		NimStringDesc* T19_;
		T7_ = (NIM_BOOL)0;
		T7_ = open__gq12VLhVO0NBzUTnGgz4nw(&f, jsonFile, ((tyEnum_FileMode__ZJfK20XeZ9bv2j1pZjw9aswg) 1), ((NI) -1));
		if (!T7_) goto LA8_;
		write__PArlm09bKklm2BLsCg6YtaA(f, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_192));
		write__PArlm09bKklm2BLsCg6YtaA(f, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_193));
		buf = setLengthStr(buf, ((NI) 0));
		T10_ = (NimStringDesc*)0;
		T10_ = dollar___l9cjIIY6CNqmzrJ1PC9apeYg(output);
		escapeJson__YID1CO5Pb6vZOjpjrUt6Lw(T10_, (&buf));
		write__PArlm09bKklm2BLsCg6YtaA(f, buf);
		write__PArlm09bKklm2BLsCg6YtaA(f, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_194));
		cfiles__7tj9aCcfua0Pyu5qurKtY9aQ(conf, f, (&buf), (*conf).toCompile, NIM_FALSE);
		write__PArlm09bKklm2BLsCg6YtaA(f, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_198));
		objfiles = ((NimStringDesc*) NIM_NIL);
		linkfiles__ZuAFP27RPsKG7qELLFYzkw(conf, f, (&buf), (&objfiles), (*conf).toCompile, (*conf).externalToLink);
		write__PArlm09bKklm2BLsCg6YtaA(f, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_199));
		buf = setLengthStr(buf, ((NI) 0));
		T11_ = (tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw*)0;
		T11_ = conf;
		T12_ = (NimStringDesc*)0;
		T12_ = getLinkCmd__19boGzcEM5vCX8rTqqyOQAg(T11_, output, objfiles, (((*conf).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 7))&63U)))!=0));
		escapeJson__YID1CO5Pb6vZOjpjrUt6Lw(T12_, (&buf));
		write__PArlm09bKklm2BLsCg6YtaA(f, buf);
		write__PArlm09bKklm2BLsCg6YtaA(f, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_200));
		T13_ = (tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw*)0;
		T13_ = conf;
		T14_ = (NimStringDesc*)0;
		T14_ = absOutFile__ea9bsNo9cwchKzwCi7UjcP7g(conf);
		T15_ = (tySequence__sM4lkSb7zS6F7OVMvW9cffQ*)0;
		T15_ = getExtraCmds__6Lz77eqBBT2GZa5zgnK9c9bw(T13_, T14_);
		T16_ = (tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*)0;
		T16_ = percent___I6r3ll22EMgXToNIadEMNg(T15_->data, (T15_ ? T15_->Sup.len : 0));
		T17_ = (NimStringDesc*)0;
		T17_ = dollar___79aIqF5QC8ZRJgu2hlv9bdjw(T16_);
		write__PArlm09bKklm2BLsCg6YtaA(f, T17_);
		write__PArlm09bKklm2BLsCg6YtaA(f, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_201));
		T18_ = (tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*)0;
		T18_ = percent___cUNUWspDCIapW3x6fFYyZQ_2((*conf).projectIsStdin);
		T19_ = (NimStringDesc*)0;
		T19_ = dollar___79aIqF5QC8ZRJgu2hlv9bdjw(T18_);
		write__PArlm09bKklm2BLsCg6YtaA(f, T19_);
		{
			NIM_BOOL T22_;
			NimStringDesc* T26_;
			tyArray__YtcvxHNKV4YiecPE9ap1mcA T27_;
			NimStringDesc* T28_;
			T22_ = (NIM_BOOL)0;
			T22_ = (((*conf).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 12))&63U)))!=0);
			if (T22_) goto LA23_;
			T22_ = isDefined__jkXTnxDf8MX1Pmks3s0XxA(conf, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_202));
			LA23_: ;
			if (!T22_) goto LA24_;
			write__PArlm09bKklm2BLsCg6YtaA(f, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_203));
			buf = setLengthStr(buf, ((NI) 0));
			escapeJson__YID1CO5Pb6vZOjpjrUt6Lw((*conf).commandLine, (&buf));
			write__PArlm09bKklm2BLsCg6YtaA(f, buf);
			write__PArlm09bKklm2BLsCg6YtaA(f, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_204));
			depfiles__voaYiECxgPWZnLuhOES9aRQ(conf, f);
			write__PArlm09bKklm2BLsCg6YtaA(f, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_207));
			buf = setLengthStr(buf, ((NI) 0));
			T26_ = (NimStringDesc*)0;
			T26_ = nosgetAppFilename();
			nimZeroMem((void*)T27_, sizeof(tyArray__YtcvxHNKV4YiecPE9ap1mcA));
			secureHashFile__EWwG0WuhtSH9c26DD9b9a6DLw(T26_, T27_);
			T28_ = (NimStringDesc*)0;
			T28_ = dollar___2r9adABFqPoalSCAWfm1KJQ(T27_);
			escapeJson__YID1CO5Pb6vZOjpjrUt6Lw(T28_, (&buf));
			write__PArlm09bKklm2BLsCg6YtaA(f, buf);
			write__PArlm09bKklm2BLsCg6YtaA(f, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_119));
		}
		LA24_: ;
		write__PArlm09bKklm2BLsCg6YtaA(f, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_208));
		close__fU6ZlJAtQ9bre04EDZLdGsA_3(f);
	}
	LA8_: ;
}
static N_NIMCALL(void, Marker_tyRef__qi0Yv9aQBTcZiM6f9a3Qd8QQ)(void* p, NI op) {
	tyObject_Env_extccompdotnim_runJsonBuildInstructions___JADVv1Eiz6JDXeCPTMF3cQ* a;
	a = (tyObject_Env_extccompdotnim_runJsonBuildInstructions___JADVv1Eiz6JDXeCPTMF3cQ*)p;
	nimGCvisit((void*)(*a).prettyCmds1, op);
}
N_LIB_PRIVATE N_CLOSURE(void, colonanonymous___hBvIN9auPUbX5e9cdQWMzpuw_2)(NI idx, void* ClE_0) {
	tyObject_Env_extccompdotnim_runJsonBuildInstructions___JADVv1Eiz6JDXeCPTMF3cQ* colonenvP_;
	colonenvP_ = (tyObject_Env_extccompdotnim_runJsonBuildInstructions___JADVv1Eiz6JDXeCPTMF3cQ*) ClE_0;
	{
		tyArray__nHXaesL0DJZHyVS07ARPRA T5_;
		if (!(((NI) 0) < ((*colonenvP_).prettyCmds1->data[idx] ? (*colonenvP_).prettyCmds1->data[idx]->Sup.len : 0))) goto LA3_;
		nimZeroMem((void*)T5_, sizeof(tyArray__nHXaesL0DJZHyVS07ARPRA));
		T5_[0] = copyString((*colonenvP_).prettyCmds1->data[idx]);
		echoBinSafe(T5_, 1);
	}
	LA3_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, runJsonBuildInstructions__um1xBrr7i3dyUBg7kmYXvQ)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, NimStringDesc* projectfile) {
	tyObject_Env_extccompdotnim_runJsonBuildInstructions___JADVv1Eiz6JDXeCPTMF3cQ* colonenv_;
	NimStringDesc* jsonFile;
	TSafePoint TM__OyL9acDBDoBfMwa5zb1Y88w_210;
	tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* data;
	NimStringDesc* output;
	tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* T1_;
	NimStringDesc* T2_;
	NimStringDesc* outputCurrent;
	NimStringDesc* T3_;
	tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* toCompile;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ* volatile cmds;
	tyProc__SqRJqa5aOiKB4EuKlKh9asA prettyCb;
	tyProc__SqRJqa5aOiKB4EuKlKh9asA T14_;
	tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* linkCmd;
	NimStringDesc* T45_;
	colonenv_ = (tyObject_Env_extccompdotnim_runJsonBuildInstructions___JADVv1Eiz6JDXeCPTMF3cQ*)0;
	colonenv_ = (tyObject_Env_extccompdotnim_runJsonBuildInstructions___JADVv1Eiz6JDXeCPTMF3cQ*) newObj((&NTI__qi0Yv9aQBTcZiM6f9a3Qd8QQ_), sizeof(tyObject_Env_extccompdotnim_runJsonBuildInstructions___JADVv1Eiz6JDXeCPTMF3cQ));
	(*colonenv_).Sup.m_type = (&NTI__JADVv1Eiz6JDXeCPTMF3cQ_);
	jsonFile = toGeneratedFile__vfkVoeYdbq9cXWDTNf536TQ(conf, projectfile, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_126));
	pushSafePoint(&TM__OyL9acDBDoBfMwa5zb1Y88w_210);
	TM__OyL9acDBDoBfMwa5zb1Y88w_210.status = setjmp(TM__OyL9acDBDoBfMwa5zb1Y88w_210.context);
	if (TM__OyL9acDBDoBfMwa5zb1Y88w_210.status == 0) {
	data = parseFile__Q9bbQtVlwjGc4S8fnWe9b3YA(jsonFile);
	T1_ = (tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*)0;
	T1_ = X5BX5D___277k8m8OstpfbY4dHQex6wjson(data, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_211));
	output = getStr__QeJX1ptVmfOrOg9cwOVpcAA(T1_, ((NimStringDesc*) NIM_NIL));
	T2_ = (NimStringDesc*)0;
	T2_ = nosparentDir(output);
	noscreateDir(T2_);
	T3_ = (NimStringDesc*)0;
	T3_ = absOutFile__ea9bsNo9cwchKzwCi7UjcP7g(conf);
	outputCurrent = dollar___l9cjIIY6CNqmzrJ1PC9apeYg(T3_);
	{
		tyArray__24KAM9afIUgUaqBaEBB6r9bg T8_;
		NimStringDesc* T9_;
		if (!!(eqStrings(output, outputCurrent))) goto LA6_;
		nimZeroMem((void*)T8_, sizeof(tyArray__24KAM9afIUgUaqBaEBB6r9bg));
		T8_[0] = copyString(outputCurrent);
		T8_[1] = copyString(output);
		T8_[2] = copyString(jsonFile);
		T9_ = (NimStringDesc*)0;
		T9_ = nsuFormatOpenArray(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_212), T8_, 3);
		liMessage__Q6JNH4uRwLyZrj0dJakHew(conf, gCmdLineInfo__yhfh3fjBy4h9bf6keLoh9aXQ, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 10), T9_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 2), TM__OyL9acDBDoBfMwa5zb1Y88w_213, NIM_FALSE);
	}
	LA6_: ;
	toCompile = X5BX5D___277k8m8OstpfbY4dHQex6wjson(data, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_214));
	{
		if (!!(((*toCompile).kind == ((tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg) 6)))) goto LA12_;
		failedAssertImpl__W9cjVocn1tjhW7p7xohJj6A(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_215));
	}
	LA12_: ;
	cmds = (tySequence__sM4lkSb7zS6F7OVMvW9cffQ*)0;
	(*colonenv_).prettyCmds1 = (tySequence__sM4lkSb7zS6F7OVMvW9cffQ*)0;
	nimZeroMem((void*)(&prettyCb), sizeof(tyProc__SqRJqa5aOiKB4EuKlKh9asA));
	nimZeroMem((void*)(&T14_), sizeof(tyProc__SqRJqa5aOiKB4EuKlKh9asA));
	T14_.ClP_0 = colonanonymous___hBvIN9auPUbX5e9cdQWMzpuw_2; T14_.ClE_0 = colonenv_;
	prettyCb.ClE_0 = T14_.ClE_0;
	prettyCb.ClP_0 = T14_.ClP_0;
	{
		tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* c;
		c = (tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*)0;
		{
			tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q** i;
			tySequence__oLpBKXzW3hF9aCVMo5EymfQ* colontmp_;
			NI i_2;
			NI L;
			NI T17_;
			i = (tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q**)0;
			colontmp_ = (tySequence__oLpBKXzW3hF9aCVMo5EymfQ*)0;
			colontmp_ = (*toCompile)._kind_7.elems;
			i_2 = ((NI) 0);
			T17_ = (colontmp_ ? colontmp_->Sup.len : 0);
			L = T17_;
			{
				while (1) {
					tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* T29_;
					NimStringDesc* T30_;
					NI T31_;
					NimStringDesc* T32_;
					tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* T33_;
					NimStringDesc* T34_;
					NimStringDesc* T35_;
					tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* T36_;
					NimStringDesc* T37_;
					NimStringDesc* T38_;
					NI T39_;
					NimStringDesc* T40_;
					if (!(i_2 < L)) goto LA19;
					i = &colontmp_->data[i_2];
					c = (*i);
					{
						if (!!(((*c).kind == ((tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg) 6)))) goto LA22_;
						failedAssertImpl__W9cjVocn1tjhW7p7xohJj6A(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_216));
					}
					LA22_: ;
					{
						NI T26_;
						T26_ = (NI)0;
						T26_ = len__Og3BmQpaL5V6gYg5JnWK3Q(c);
						if (!!((((NI) 2) <= T26_))) goto LA27_;
						failedAssertImpl__W9cjVocn1tjhW7p7xohJj6A(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_217));
					}
					LA27_: ;
					T29_ = (tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*)0;
					T29_ = X5BX5D___iGpexJJNbY5V0TEMs9aHjwQjson(c, ((NI) 1));
					T30_ = (NimStringDesc*)0;
					T30_ = getStr__QeJX1ptVmfOrOg9cwOVpcAA(T29_, ((NimStringDesc*) NIM_NIL));
					cmds = (tySequence__sM4lkSb7zS6F7OVMvW9cffQ*) incrSeqV3((TGenericSeq*)(cmds), (&NTI__sM4lkSb7zS6F7OVMvW9cffQ_));
					T31_ = cmds->Sup.len++;
					T32_ = (NimStringDesc*)0;
					T32_ = cmds->data[T31_]; cmds->data[T31_] = copyStringRC1(T30_);
					if (T32_) nimGCunrefNoCycle(T32_);
					T33_ = (tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*)0;
					T33_ = X5BX5D___iGpexJJNbY5V0TEMs9aHjwQjson(c, ((NI) 0));
					T34_ = (NimStringDesc*)0;
					T34_ = getStr__QeJX1ptVmfOrOg9cwOVpcAA(T33_, ((NimStringDesc*) NIM_NIL));
					T35_ = (NimStringDesc*)0;
					T35_ = T34_;
					T36_ = (tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*)0;
					T36_ = X5BX5D___iGpexJJNbY5V0TEMs9aHjwQjson(c, ((NI) 1));
					T37_ = (NimStringDesc*)0;
					T37_ = getStr__QeJX1ptVmfOrOg9cwOVpcAA(T36_, ((NimStringDesc*) NIM_NIL));
					T38_ = (NimStringDesc*)0;
					T38_ = displayProgressCC__YMkaaRmiXAy7tuQvcY3ZXQ(conf, T35_, T37_);
					asgnRef((void**) (&(*colonenv_).prettyCmds1), (tySequence__sM4lkSb7zS6F7OVMvW9cffQ*) incrSeqV3((TGenericSeq*)((*colonenv_).prettyCmds1), (&NTI__sM4lkSb7zS6F7OVMvW9cffQ_)));
					T39_ = (*colonenv_).prettyCmds1->Sup.len++;
					T40_ = (NimStringDesc*)0;
					T40_ = (*colonenv_).prettyCmds1->data[T39_]; (*colonenv_).prettyCmds1->data[T39_] = copyStringRC1(T38_);
					if (T40_) nimGCunrefNoCycle(T40_);
					i_2 += ((NI) 1);
				} LA19: ;
			}
		}
	}
	execCmdsInParallel__p9bWc9cmeT2sDJod9aZ3WxNoA(conf, cmds, prettyCb);
	linkCmd = X5BX5D___277k8m8OstpfbY4dHQex6wjson(data, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_218));
	{
		if (!!(((*linkCmd).kind == ((tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg) 4)))) goto LA43_;
		failedAssertImpl__W9cjVocn1tjhW7p7xohJj6A(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_219));
	}
	LA43_: ;
	T45_ = (NimStringDesc*)0;
	T45_ = getStr__QeJX1ptVmfOrOg9cwOVpcAA(linkCmd, ((NimStringDesc*) NIM_NIL));
	execLinkCmd__Qd0sm1DhO9cMJXoMjKvYd2g(conf, T45_);
	{
		NIM_BOOL T48_;
		tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* extraCmds;
		T48_ = (NIM_BOOL)0;
		T48_ = hasKey__zrDHfVBiQiPv9bNJ29c1ZINg(data, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_220));
		if (!T48_) goto LA49_;
		extraCmds = X5BX5D___277k8m8OstpfbY4dHQex6wjson(data, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_220));
		{
			if (!!(((*extraCmds).kind == ((tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg) 6)))) goto LA53_;
			failedAssertImpl__W9cjVocn1tjhW7p7xohJj6A(((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_221));
		}
		LA53_: ;
		{
			tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* cmd;
			cmd = (tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*)0;
			{
				tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q** i_3;
				tySequence__oLpBKXzW3hF9aCVMo5EymfQ* colontmp__2;
				NI i_4;
				NI L_2;
				NI T57_;
				i_3 = (tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q**)0;
				colontmp__2 = (tySequence__oLpBKXzW3hF9aCVMo5EymfQ*)0;
				colontmp__2 = (*extraCmds)._kind_7.elems;
				i_4 = ((NI) 0);
				T57_ = (colontmp__2 ? colontmp__2->Sup.len : 0);
				L_2 = T57_;
				{
					while (1) {
						NimStringDesc* cmd2;
						if (!(i_4 < L_2)) goto LA59;
						i_3 = &colontmp__2->data[i_4];
						cmd = (*i_3);
						{
							NimStringDesc* T64_;
							if (!!(((*cmd).kind == ((tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg) 4)))) goto LA62_;
							T64_ = (NimStringDesc*)0;
							T64_ = rawNewString((reprEnum((NI)(*cmd).kind, (&NTI__RUngo7nCHe6O8aBGIcrhtg_)) ? reprEnum((NI)(*cmd).kind, (&NTI__RUngo7nCHe6O8aBGIcrhtg_))->Sup.len : 0) + 45);
appendString(T64_, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_222));
appendString(T64_, reprEnum((NI)(*cmd).kind, (&NTI__RUngo7nCHe6O8aBGIcrhtg_)));
							failedAssertImpl__W9cjVocn1tjhW7p7xohJj6A(T64_);
						}
						LA62_: ;
						cmd2 = getStr__QeJX1ptVmfOrOg9cwOVpcAA(cmd, ((NimStringDesc*) NIM_NIL));
						execExternalProgram__WKaD677f7aLTxInYSr0wMw(conf, cmd2, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 71));
						i_4 += ((NI) 1);
					} LA59: ;
				}
			}
		}
	}
	LA49_: ;
	popSafePoint();
	}
	else {
		popSafePoint();
		{
			Exception* e;
			NimStringDesc* T67_;
			NimStringDesc* T68_;
			TM__OyL9acDBDoBfMwa5zb1Y88w_210.status = 0;
			e = getCurrentException();
			T67_ = (NimStringDesc*)0;
			T68_ = (NimStringDesc*)0;
			T68_ = getStackTrace__UTyxM84G9cIKwBP74ZFOh4A(e);
			T67_ = rawNewString(((*e).message ? (*e).message->Sup.len : 0) + (T68_ ? T68_->Sup.len : 0) + (jsonFile ? jsonFile->Sup.len : 0) + 60);
appendString(T67_, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_223));
appendString(T67_, (*e).message);
appendString(T67_, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_224));
appendString(T67_, T68_);
appendString(T67_, ((NimStringDesc*) &TM__OyL9acDBDoBfMwa5zb1Y88w_225));
appendString(T67_, jsonFile);
			quit__q8QKbUwWyOe9b9a1QNJQr71A(T67_, ((NI) 1));
			popCurrentException();
		}
	}
	if (TM__OyL9acDBDoBfMwa5zb1Y88w_210.status != 0) reraiseException();
}
N_LIB_PRIVATE N_NIMCALL(void, compiler_extccompDatInit000)(void) {

/* section: NIM_merge_TYPE_INIT1 */
static TNimNode* TM__OyL9acDBDoBfMwa5zb1Y88w_149_2[2];
static TNimNode* TM__OyL9acDBDoBfMwa5zb1Y88w_152_3[3];
static TNimNode* TM__OyL9acDBDoBfMwa5zb1Y88w_209_2[2];
static TNimNode TM__OyL9acDBDoBfMwa5zb1Y88w_0[10];

/* section: NIM_merge_TYPE_INIT3 */
NTI__5IBXZ8SwOH2SKZ9aFV2UlKA_.size = sizeof(tyObject_Env_extccompdotnim_callCCompiler___5IBXZ8SwOH2SKZ9aFV2UlKA);
NTI__5IBXZ8SwOH2SKZ9aFV2UlKA_.align = NIM_ALIGNOF(tyObject_Env_extccompdotnim_callCCompiler___5IBXZ8SwOH2SKZ9aFV2UlKA);
NTI__5IBXZ8SwOH2SKZ9aFV2UlKA_.kind = 17;
NTI__5IBXZ8SwOH2SKZ9aFV2UlKA_.base = (&NTI__ytyiCJqK439aF9cIibuRVpAg_);
TM__OyL9acDBDoBfMwa5zb1Y88w_149_2[0] = &TM__OyL9acDBDoBfMwa5zb1Y88w_0[1];
TM__OyL9acDBDoBfMwa5zb1Y88w_0[1].kind = 1;
TM__OyL9acDBDoBfMwa5zb1Y88w_0[1].offset = offsetof(tyObject_Env_extccompdotnim_callCCompiler___5IBXZ8SwOH2SKZ9aFV2UlKA, colonstate_);
TM__OyL9acDBDoBfMwa5zb1Y88w_0[1].typ = (&NTI__xHTZrq9aYs6boc9bCba0JbpQ_);
TM__OyL9acDBDoBfMwa5zb1Y88w_0[1].name = ":state";
TM__OyL9acDBDoBfMwa5zb1Y88w_149_2[1] = &TM__OyL9acDBDoBfMwa5zb1Y88w_0[2];
TM__OyL9acDBDoBfMwa5zb1Y88w_0[2].kind = 1;
TM__OyL9acDBDoBfMwa5zb1Y88w_0[2].offset = offsetof(tyObject_Env_extccompdotnim_callCCompiler___5IBXZ8SwOH2SKZ9aFV2UlKA, prettyCmds1);
TM__OyL9acDBDoBfMwa5zb1Y88w_0[2].typ = (&NTI__sM4lkSb7zS6F7OVMvW9cffQ_);
TM__OyL9acDBDoBfMwa5zb1Y88w_0[2].name = "prettyCmds1";
TM__OyL9acDBDoBfMwa5zb1Y88w_0[0].len = 2; TM__OyL9acDBDoBfMwa5zb1Y88w_0[0].kind = 2; TM__OyL9acDBDoBfMwa5zb1Y88w_0[0].sons = &TM__OyL9acDBDoBfMwa5zb1Y88w_149_2[0];
NTI__5IBXZ8SwOH2SKZ9aFV2UlKA_.node = &TM__OyL9acDBDoBfMwa5zb1Y88w_0[0];
NTI__yDouvGWqXnyQWbY9cNZcRzQ_.size = sizeof(tyObject_Env_extccompdotnim_callCCompiler___5IBXZ8SwOH2SKZ9aFV2UlKA*);
NTI__yDouvGWqXnyQWbY9cNZcRzQ_.align = NIM_ALIGNOF(tyObject_Env_extccompdotnim_callCCompiler___5IBXZ8SwOH2SKZ9aFV2UlKA*);
NTI__yDouvGWqXnyQWbY9cNZcRzQ_.kind = 22;
NTI__yDouvGWqXnyQWbY9cNZcRzQ_.base = (&NTI__5IBXZ8SwOH2SKZ9aFV2UlKA_);
NTI__yDouvGWqXnyQWbY9cNZcRzQ_.marker = Marker_tyRef__yDouvGWqXnyQWbY9cNZcRzQ;
NTI__4Ms6MGgcp8EDnUBSlKFk9bg_.size = sizeof(tyObject_Env_extccompdotnim_execCmdsInParallel___4Ms6MGgcp8EDnUBSlKFk9bg);
NTI__4Ms6MGgcp8EDnUBSlKFk9bg_.align = NIM_ALIGNOF(tyObject_Env_extccompdotnim_execCmdsInParallel___4Ms6MGgcp8EDnUBSlKFk9bg);
NTI__4Ms6MGgcp8EDnUBSlKFk9bg_.kind = 17;
NTI__4Ms6MGgcp8EDnUBSlKFk9bg_.base = (&NTI__ytyiCJqK439aF9cIibuRVpAg_);
TM__OyL9acDBDoBfMwa5zb1Y88w_152_3[0] = &TM__OyL9acDBDoBfMwa5zb1Y88w_0[4];
TM__OyL9acDBDoBfMwa5zb1Y88w_0[4].kind = 1;
TM__OyL9acDBDoBfMwa5zb1Y88w_0[4].offset = offsetof(tyObject_Env_extccompdotnim_execCmdsInParallel___4Ms6MGgcp8EDnUBSlKFk9bg, colonstate_);
TM__OyL9acDBDoBfMwa5zb1Y88w_0[4].typ = (&NTI__xHTZrq9aYs6boc9bCba0JbpQ_);
TM__OyL9acDBDoBfMwa5zb1Y88w_0[4].name = ":state";
TM__OyL9acDBDoBfMwa5zb1Y88w_152_3[1] = &TM__OyL9acDBDoBfMwa5zb1Y88w_0[5];
TM__OyL9acDBDoBfMwa5zb1Y88w_0[5].kind = 1;
TM__OyL9acDBDoBfMwa5zb1Y88w_0[5].offset = offsetof(tyObject_Env_extccompdotnim_execCmdsInParallel___4Ms6MGgcp8EDnUBSlKFk9bg, conf1);
TM__OyL9acDBDoBfMwa5zb1Y88w_0[5].typ = (&NTI__a8lycfSA25OQltN3OMeBsA_);
TM__OyL9acDBDoBfMwa5zb1Y88w_0[5].name = "conf1";
TM__OyL9acDBDoBfMwa5zb1Y88w_152_3[2] = &TM__OyL9acDBDoBfMwa5zb1Y88w_0[6];
TM__OyL9acDBDoBfMwa5zb1Y88w_0[6].kind = 1;
TM__OyL9acDBDoBfMwa5zb1Y88w_0[6].offset = offsetof(tyObject_Env_extccompdotnim_execCmdsInParallel___4Ms6MGgcp8EDnUBSlKFk9bg, cmds2);
TM__OyL9acDBDoBfMwa5zb1Y88w_0[6].typ = (&NTI__sM4lkSb7zS6F7OVMvW9cffQ_);
TM__OyL9acDBDoBfMwa5zb1Y88w_0[6].name = "cmds2";
TM__OyL9acDBDoBfMwa5zb1Y88w_0[3].len = 3; TM__OyL9acDBDoBfMwa5zb1Y88w_0[3].kind = 2; TM__OyL9acDBDoBfMwa5zb1Y88w_0[3].sons = &TM__OyL9acDBDoBfMwa5zb1Y88w_152_3[0];
NTI__4Ms6MGgcp8EDnUBSlKFk9bg_.node = &TM__OyL9acDBDoBfMwa5zb1Y88w_0[3];
NTI__pkCPBZYDmG8KoijaqNdsQw_.size = sizeof(tyObject_Env_extccompdotnim_execCmdsInParallel___4Ms6MGgcp8EDnUBSlKFk9bg*);
NTI__pkCPBZYDmG8KoijaqNdsQw_.align = NIM_ALIGNOF(tyObject_Env_extccompdotnim_execCmdsInParallel___4Ms6MGgcp8EDnUBSlKFk9bg*);
NTI__pkCPBZYDmG8KoijaqNdsQw_.kind = 22;
NTI__pkCPBZYDmG8KoijaqNdsQw_.base = (&NTI__4Ms6MGgcp8EDnUBSlKFk9bg_);
NTI__pkCPBZYDmG8KoijaqNdsQw_.marker = Marker_tyRef__pkCPBZYDmG8KoijaqNdsQw;
NTI__JADVv1Eiz6JDXeCPTMF3cQ_.size = sizeof(tyObject_Env_extccompdotnim_runJsonBuildInstructions___JADVv1Eiz6JDXeCPTMF3cQ);
NTI__JADVv1Eiz6JDXeCPTMF3cQ_.align = NIM_ALIGNOF(tyObject_Env_extccompdotnim_runJsonBuildInstructions___JADVv1Eiz6JDXeCPTMF3cQ);
NTI__JADVv1Eiz6JDXeCPTMF3cQ_.kind = 17;
NTI__JADVv1Eiz6JDXeCPTMF3cQ_.base = (&NTI__ytyiCJqK439aF9cIibuRVpAg_);
TM__OyL9acDBDoBfMwa5zb1Y88w_209_2[0] = &TM__OyL9acDBDoBfMwa5zb1Y88w_0[8];
TM__OyL9acDBDoBfMwa5zb1Y88w_0[8].kind = 1;
TM__OyL9acDBDoBfMwa5zb1Y88w_0[8].offset = offsetof(tyObject_Env_extccompdotnim_runJsonBuildInstructions___JADVv1Eiz6JDXeCPTMF3cQ, colonstate_);
TM__OyL9acDBDoBfMwa5zb1Y88w_0[8].typ = (&NTI__xHTZrq9aYs6boc9bCba0JbpQ_);
TM__OyL9acDBDoBfMwa5zb1Y88w_0[8].name = ":state";
TM__OyL9acDBDoBfMwa5zb1Y88w_209_2[1] = &TM__OyL9acDBDoBfMwa5zb1Y88w_0[9];
TM__OyL9acDBDoBfMwa5zb1Y88w_0[9].kind = 1;
TM__OyL9acDBDoBfMwa5zb1Y88w_0[9].offset = offsetof(tyObject_Env_extccompdotnim_runJsonBuildInstructions___JADVv1Eiz6JDXeCPTMF3cQ, prettyCmds1);
TM__OyL9acDBDoBfMwa5zb1Y88w_0[9].typ = (&NTI__sM4lkSb7zS6F7OVMvW9cffQ_);
TM__OyL9acDBDoBfMwa5zb1Y88w_0[9].name = "prettyCmds1";
TM__OyL9acDBDoBfMwa5zb1Y88w_0[7].len = 2; TM__OyL9acDBDoBfMwa5zb1Y88w_0[7].kind = 2; TM__OyL9acDBDoBfMwa5zb1Y88w_0[7].sons = &TM__OyL9acDBDoBfMwa5zb1Y88w_209_2[0];
NTI__JADVv1Eiz6JDXeCPTMF3cQ_.node = &TM__OyL9acDBDoBfMwa5zb1Y88w_0[7];
NTI__qi0Yv9aQBTcZiM6f9a3Qd8QQ_.size = sizeof(tyObject_Env_extccompdotnim_runJsonBuildInstructions___JADVv1Eiz6JDXeCPTMF3cQ*);
NTI__qi0Yv9aQBTcZiM6f9a3Qd8QQ_.align = NIM_ALIGNOF(tyObject_Env_extccompdotnim_runJsonBuildInstructions___JADVv1Eiz6JDXeCPTMF3cQ*);
NTI__qi0Yv9aQBTcZiM6f9a3Qd8QQ_.kind = 22;
NTI__qi0Yv9aQBTcZiM6f9a3Qd8QQ_.base = (&NTI__JADVv1Eiz6JDXeCPTMF3cQ_);
NTI__qi0Yv9aQBTcZiM6f9a3Qd8QQ_.marker = Marker_tyRef__qi0Yv9aQBTcZiM6f9a3Qd8QQ;
}

