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

/* section: NIM_merge_HEADERS */

#include "nimbase.h"
#include <string.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 NimStringDesc NimStringDesc;
typedef struct TGenericSeq TGenericSeq;
typedef struct tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw;
typedef struct tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg;
typedef struct tySequence__0W45b4tBLx0JWnu0NjAmVQ tySequence__0W45b4tBLx0JWnu0NjAmVQ;
typedef struct tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ;
typedef struct tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw;
typedef struct tySequence__DfgJFJEYoj4YBAHLZPl5lQ tySequence__DfgJFJEYoj4YBAHLZPl5lQ;
typedef struct tyObject_TRenderTok__FnEE3o2nWtqdjoC0wa2wgA tyObject_TRenderTok__FnEE3o2nWtqdjoC0wa2wgA;
typedef struct tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w;
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 tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ;
typedef struct tyObject_TIdent__GufRQq9c0miSybX3zBD4tyA tyObject_TIdent__GufRQq9c0miSybX3zBD4tyA;
typedef struct tyTuple__O2u2Fk7tlGg9b7lAVNkV3hw tyTuple__O2u2Fk7tlGg9b7lAVNkV3hw;
typedef struct TNimType TNimType;
typedef struct TNimNode TNimNode;
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_TIdObj__iIXPrEsiKHiioLj0HSkQhA tyObject_TIdObj__iIXPrEsiKHiioLj0HSkQhA;
typedef struct RootObj RootObj;
typedef struct tySequence__Ef05srmQTDulnBdXR4Ja6Q tySequence__Ef05srmQTDulnBdXR4Ja6Q;
typedef struct tySequence__DXS6mEo7PVUFJkirsQ9bNQA tySequence__DXS6mEo7PVUFJkirsQ9bNQA;
typedef struct tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA;
typedef struct tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA;
typedef struct tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA;
typedef struct tyObject_TLib__NBMxlJ6g3utqUlplqTTHkA tyObject_TLib__NBMxlJ6g3utqUlplqTTHkA;
typedef struct tySequence__MvZmat48bhe9b6x9aUD58D5Q tySequence__MvZmat48bhe9b6x9aUD58D5Q;
typedef struct tyTuple__kN8up2W6YKc5YA9avn5mV5w tyTuple__kN8up2W6YKc5YA9avn5mV5w;
typedef struct tyTuple__z822nu9bFF1AlQnLrHjdwpA tyTuple__z822nu9bFF1AlQnLrHjdwpA;
typedef struct tyTuple__xYhUhS7X82rKTqbT9bRfCnw tyTuple__xYhUhS7X82rKTqbT9bRfCnw;
typedef struct tyObject_TFileInfo__GE3hAakXKOEpch4ap3zXAw tyObject_TFileInfo__GE3hAakXKOEpch4ap3zXAw;
typedef struct tyTuple__QeWl6B6ffS4pU6WWrtcrDw tyTuple__QeWl6B6ffS4pU6WWrtcrDw;
typedef struct tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg;
typedef struct tyObject_TInstantiation__5LqgVn6Tq9ainQRK7TQAQxA tyObject_TInstantiation__5LqgVn6Tq9ainQRK7TQAQxA;
typedef struct tyTuple__zwpS6d6iewrdlBSTNFoyVA tyTuple__zwpS6d6iewrdlBSTNFoyVA;

/* section: NIM_merge_TYPES */
struct TGenericSeq {
NI len;
NI reserved;
};
struct NimStringDesc {
  TGenericSeq Sup;
NIM_CHAR data[SEQ_DECL_SIZE];
};
typedef NU16 tySet_tyEnum_TRenderFlag__wrPgUo1ExBlHvFnXN2nSHw;
struct tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg {
NI indent;
NI lineLen;
NI col;
NI pos;
NI idx;
tySequence__0W45b4tBLx0JWnu0NjAmVQ* tokens;
NimStringDesc* buf;
NI pendingNL;
NI pendingWhitespace;
tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ* comStack;
tySet_tyEnum_TRenderFlag__wrPgUo1ExBlHvFnXN2nSHw flags;
NIM_BOOL inGenericParams;
NIM_BOOL checkAnon;
NI inPragma;
NI32 fid;
tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* config;
tySequence__DfgJFJEYoj4YBAHLZPl5lQ* mangler;
};
typedef NU8 tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ;
struct tyObject_TRenderTok__FnEE3o2nWtqdjoC0wa2wgA {
tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ kind;
NI16 length;
tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w* sym;
};
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 NU32 tySet_tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg;
typedef NU8 tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw;
struct tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw {
tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ* typ;
tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info;
tySet_tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg flags;
tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind;
union{
struct {NI64 intVal;
} _kind_1;
struct {NF floatVal;
} _kind_2;
struct {NimStringDesc* strVal;
} _kind_3;
struct {tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w* sym;
} _kind_4;
struct {tyObject_TIdent__GufRQq9c0miSybX3zBD4tyA* ident;
} _kind_5;
struct {tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ* sons;
} _kind_6;
};
NimStringDesc* comment;
};
typedef NU8 tySet_tyEnum_TSubFlag__HgctW1zPuXVJBXUriqTnfQ;
struct tyTuple__O2u2Fk7tlGg9b7lAVNkV3hw {
NI Field0;
tySet_tyEnum_TSubFlag__HgctW1zPuXVJBXUriqTnfQ Field1;
};
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;
};
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 RootObj {
TNimType* m_type;
};
struct tyObject_TIdObj__iIXPrEsiKHiioLj0HSkQhA {
  RootObj Sup;
NI id;
};
struct tyObject_TIdent__GufRQq9c0miSybX3zBD4tyA {
  tyObject_TIdObj__iIXPrEsiKHiioLj0HSkQhA Sup;
NimStringDesc* s;
tyObject_TIdent__GufRQq9c0miSybX3zBD4tyA* next;
NI h;
};
typedef NU8 tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw;
struct tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA {
NI counter;
tySequence__DfgJFJEYoj4YBAHLZPl5lQ* data;
};
typedef NU16 tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg;
typedef NU64 tySet_tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw;
typedef NU8 tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg;
typedef NU8 tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw;
typedef NU16 tySet_tyEnum_TLocFlag__o2bqJgR4ceIupnUSpxiudA;
struct tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA {
tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg k;
tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw storage;
tySet_tyEnum_TLocFlag__o2bqJgR4ceIupnUSpxiudA flags;
tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* lode;
tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* r;
};
struct tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w {
  tyObject_TIdObj__iIXPrEsiKHiioLj0HSkQhA Sup;
tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw kind;
union{
struct {tySequence__Ef05srmQTDulnBdXR4Ja6Q* typeInstCache;
} _kind_1;
struct {tySequence__DXS6mEo7PVUFJkirsQ9bNQA* procInstCache;
tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w* gcUnsafetyReason;
tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* transformedBody;
} _kind_2;
struct {tySequence__DXS6mEo7PVUFJkirsQ9bNQA* usedGenerics;
tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA tab;
} _kind_3;
struct {tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w* guard;
NI bitsize;
NI alignment;
} _kind_4;
};
tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg magic;
tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ* typ;
tyObject_TIdent__GufRQq9c0miSybX3zBD4tyA* name;
tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info;
tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w* owner;
tySet_tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw flags;
tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ast;
tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg options;
NI position;
NI offset;
tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA loc;
tyObject_TLib__NBMxlJ6g3utqUlplqTTHkA* annex;
tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* constraint;
};
typedef NU8 tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag;
typedef NU8 tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA;
typedef NU64 tySet_tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw;
typedef tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w* tyArray__PsPyPA45AAjHu4uDGHNjTg[6];
struct tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ {
  tyObject_TIdObj__iIXPrEsiKHiioLj0HSkQhA Sup;
tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kind;
tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA callConv;
tySet_tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw flags;
tySequence__Ef05srmQTDulnBdXR4Ja6Q* sons;
tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n;
tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w* owner;
tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w* sym;
tyArray__PsPyPA45AAjHu4uDGHNjTg attachedOps;
tySequence__MvZmat48bhe9b6x9aUD58D5Q* methods;
NI64 size;
NI16 align;
NI16 paddingAtEnd;
NI16 lockLevel;
tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA loc;
tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ* typeInst;
NI uniqueId;
};
typedef NU8 tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw;
typedef NU8 tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg;
struct tyTuple__kN8up2W6YKc5YA9avn5mV5w {
NimStringDesc* Field0;
NI Field1;
NI Field2;
};
typedef NU8 tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw;
typedef NU8 tyEnum_TRenderFlag__wrPgUo1ExBlHvFnXN2nSHw;
typedef NU8 tySet_tyChar__nmiMWKVIe46vacnhAFrQvw[32];
typedef NimStringDesc* tyArray__sTZE9cvJ5s1a9bgahK51jmAw[116];
typedef NU8 tyEnum_BracketKind__vg9aVz6PBWRfhxLp28uoo3g;
typedef NU8 tyEnum_TSubFlag__HgctW1zPuXVJBXUriqTnfQ;
typedef NU8 tyEnum_FileMode__ZJfK20XeZ9bv2j1pZjw9aswg;
typedef NU8 tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w;
typedef NU8 tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw;
struct tyTuple__z822nu9bFF1AlQnLrHjdwpA {
tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q Field0;
NimStringDesc* Field1;
};
struct tyTuple__xYhUhS7X82rKTqbT9bRfCnw {
NI Field0;
NimStringDesc* Field1;
NI32 Field2;
};
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 tyTuple__QeWl6B6ffS4pU6WWrtcrDw {
NI Field0;
NimStringDesc* Field1;
};
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__zwpS6d6iewrdlBSTNFoyVA {
NI Field0;
tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w* Field1;
};

/* section: NIM_merge_SEQ_TYPES */
struct tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ {
  TGenericSeq Sup;
  tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* data[SEQ_DECL_SIZE];
};
struct tySequence__0W45b4tBLx0JWnu0NjAmVQ {
  TGenericSeq Sup;
  tyObject_TRenderTok__FnEE3o2nWtqdjoC0wa2wgA data[SEQ_DECL_SIZE];
};
struct tySequence__DfgJFJEYoj4YBAHLZPl5lQ {
  TGenericSeq Sup;
  tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w* 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__sM4lkSb7zS6F7OVMvW9cffQ {
  TGenericSeq Sup;
  NimStringDesc* data[SEQ_DECL_SIZE];
};
struct tySequence__pK3qSsBZwdXd6qyUMkd5Jw {
  TGenericSeq Sup;
  tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg data[SEQ_DECL_SIZE];
};
struct tySequence__Ef05srmQTDulnBdXR4Ja6Q {
  TGenericSeq Sup;
  tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ* data[SEQ_DECL_SIZE];
};
struct tySequence__DXS6mEo7PVUFJkirsQ9bNQA {
  TGenericSeq Sup;
  tyObject_TInstantiation__5LqgVn6Tq9ainQRK7TQAQxA* data[SEQ_DECL_SIZE];
};
struct tySequence__MvZmat48bhe9b6x9aUD58D5Q {
  TGenericSeq Sup;
  tyTuple__zwpS6d6iewrdlBSTNFoyVA data[SEQ_DECL_SIZE];
};

/* section: NIM_merge_PROC_HEADERS */
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, copyString)(NimStringDesc* src);
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, initSrcGen__V4h13uDpnxFekQECTzYaWA)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, tySet_tyEnum_TRenderFlag__wrPgUo1ExBlHvFnXN2nSHw renderFlags, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* config);
N_LIB_PRIVATE N_NIMCALL(void, unsureAsgnRef)(void** dest, void* src);
N_LIB_PRIVATE N_NIMCALL(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw*, newPartialConfigRef__YbeeoJLQnRQK2F8DAaXI8w_2)(void);
N_LIB_PRIVATE N_NIMCALL(void, gstmts__ZgGwD8V7yy9cPF3ZhVNGmFA)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyTuple__O2u2Fk7tlGg9b7lAVNkV3hw c, NIM_BOOL doIndent);
N_LIB_PRIVATE N_NIMCALL(void, indentNL__n8JbrzcZm8FmR9aCHItw47w)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g);
static N_INLINE(NI, len__P89cqdlERShb9alU3iC0yj8wast)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(void, optNL__GEWpEuqY9a3huqkrKYAAObA)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b);
N_LIB_PRIVATE N_NIMCALL(void, optNL__n8JbrzcZm8FmR9aCHItw47w_2)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g);
N_LIB_PRIVATE N_NIMCALL(void, optNL__xZ7srVmxLhrb9cB1fDthbCg)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, NI indent);
N_LIB_PRIVATE N_NIMCALL(void, gsub__5eccg0mxlFLgBiNmpRHFig)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(void, initContext__ATR9atx4JGXXaRJqSs0YyPQ)(tyTuple__O2u2Fk7tlGg9b7lAVNkV3hw* c);
N_LIB_PRIVATE N_NIMCALL(void, gsub__NmOOKTnnEkQl0J72fGke1g)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyTuple__O2u2Fk7tlGg9b7lAVNkV3hw c);
N_LIB_PRIVATE N_NIMCALL(void, pushCom__5eccg0mxlFLgBiNmpRHFig_2)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(TGenericSeq*, setLengthSeqV2)(TGenericSeq* s, TNimType* typ, NI newLen);
static N_INLINE(void, X5BX5Deq___9aNOXJ7JEjMHZ5rpF6543swsystem)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** s, NI sLen_0, NI i, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x);
N_LIB_PRIVATE N_NIMCALL(void, put__bHuqOBd1M9aDS6daf1zl0nw)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ kind, NimStringDesc* s, tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w* sym);
N_LIB_PRIVATE N_NIMCALL(void, addPendingNL__n8JbrzcZm8FmR9aCHItw47w_3)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g);
N_LIB_PRIVATE N_NIMCALL(void, addTok__bHuqOBd1M9aDS6daf1zl0nw_2)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ kind, NimStringDesc* s, tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w* sym);
N_LIB_PRIVATE N_NIMCALL(TGenericSeq*, incrSeqV3)(TGenericSeq* s, TNimType* typ);
N_LIB_PRIVATE N_NIMCALL(void, nimGCvisit)(void* d, NI op);
static N_NIMCALL(void, Marker_tySequence__0W45b4tBLx0JWnu0NjAmVQ)(void* p, NI op);
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);
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*, resizeString)(NimStringDesc* dest, NI addlen);
static N_INLINE(NimStringDesc*, spaces__rssDy7zs9cDeoYTeCoIy0Wgstrutils)(NI n);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nsuRepeatChar)(NIM_CHAR c, NI count);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, rawNewString)(NI space);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, atom__9cnUQzmaM0ehJLjixbNyrSQ)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(void, addQuoted__45fPtFhY4FavRaYwDhRfuA)(NimStringDesc** s, NimStringDesc* x);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nsuReplaceStr)(NimStringDesc* s, NimStringDesc* sub, NimStringDesc* by);
static N_INLINE(void, appendChar)(NimStringDesc* dest, NIM_CHAR c);
static N_INLINE(void, addEscapedChar__dfKNBK6s29c7zfWj2JwI7EQsystem)(NimStringDesc** s, NIM_CHAR c);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, addChar)(NimStringDesc* s, NIM_CHAR c);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, litAux__Z5GOwRdmlU82OE7IDpzHyg)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI64 x, NI size);
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ*, skip__0BCzl6k5VlLWkKbiIho5hg)(tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ* t);
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ*, lastSon__Bdq9aiV9buvJtPvmOc0OR5JQ)(tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ* n);
static N_INLINE(NI, safeLen__P89cqdlERShb9alU3iC0yj8w_2ast)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nsuToBin)(NI64 x, NI len);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nsuToOct)(NI64 x, NI len);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nsuToHex)(NI64 x, NI len);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nimInt64ToStr)(NI64 x);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, ulitAux__Z5GOwRdmlU82OE7IDpzHyg_2)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI64 x, NI size);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar___RkX9btpg5sQIaP8yYXB6tbA)(NU64 x);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nimFloatToStr)(NF f);
N_LIB_PRIVATE N_NIMCALL(void, internalErrorImpl__PTSwZ6HM9bGBf7vF9cnDmwVw)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, NimStringDesc* errMsg, tyTuple__kN8up2W6YKc5YA9avn5mV5w info2);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, reprEnum)(NI e, TNimType* typ);
N_LIB_PRIVATE N_NIMCALL(void, gident__5eccg0mxlFLgBiNmpRHFig_3)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(NI, disamb__GjuPWTBXZc45NgyBvRqRSg)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w* s);
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(void, addInt__mftMOxbyu0h4yByfs3sqjA)(NimStringDesc** result, NI64 x);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, lastSon__UPSW0jLTX5qJL51YMUAHgw)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(void, accentedName__5eccg0mxlFLgBiNmpRHFig_4)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(void, gcomma__cePKc9cEQau31w9auAvt0icA)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI start, NI theEnd);
N_LIB_PRIVATE N_NIMCALL(void, gcommaAux__bQ9aCy7WNa8SDWp6lu2Yncw)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI ind, NI start, NI theEnd, tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ separator);
N_LIB_PRIVATE N_NIMCALL(NI, lsub__WT5OU2utip0e3bSZKpu9aHg)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, containsNL__ivIjJNMv9c0wki0AXw9bSikw)(NimStringDesc* s);
N_LIB_PRIVATE N_NIMCALL(NI, lcomma__9av9a6d3ZJnGIb7FBw2t2sTA)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI start, NI theEnd);
N_LIB_PRIVATE N_NIMCALL(NI, lsons__9av9a6d3ZJnGIb7FBw2t2sTA_2)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI start, NI theEnd);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, fits__m9a9aKZ6NucRjuLOHVJ66EWQ)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, NI x);
N_LIB_PRIVATE N_NIMCALL(void, putWithSpace__5FjmUgmw7uaBcQF2ueVA5g)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ kind, NimStringDesc* s);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasCom__pqWt3yB4tQGp7HUfzz4AXg)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(void, gcoms__n8JbrzcZm8FmR9aCHItw47w_4)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g);
N_LIB_PRIVATE N_NIMCALL(void, gcom__5eccg0mxlFLgBiNmpRHFig_5)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, shouldRenderComment__rEVEzjU9aQwh327HhQWPHkQ)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
static N_INLINE(NIM_CHAR, X5BX5D___okzHJ6GE9cv0bYG3b4r5KCAsystem)(NimStringDesc* s, NI i);
N_LIB_PRIVATE N_NIMCALL(NI, maxLineLength__se43FQhaKAIoi42YSEoSXA)(NimStringDesc* s);
N_LIB_PRIVATE N_NIMCALL(void, putComment__9abZb6EyaCpuRuhI9aED11og)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, NimStringDesc* s);
N_LIB_PRIVATE N_NIMCALL(void, popAllComs__n8JbrzcZm8FmR9aCHItw47w_5)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g);
N_LIB_PRIVATE N_NIMCALL(void, gsub__HNcJVTbsLN2PfMmnG6BxYw)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI i);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nimIntToStr)(NI x);
N_LIB_PRIVATE N_NIMCALL(tyEnum_BracketKind__vg9aVz6PBWRfhxLp28uoo3g, bracketKind__XW337f4wj4cvRzuUOidlVA)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(void, gcomma__WBsq6aIWI0YbAY07tgvprg)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyTuple__O2u2Fk7tlGg9b7lAVNkV3hw c, NI start, NI theEnd);
N_LIB_PRIVATE N_NIMCALL(void, doParamsAux__KLxu6hJo9aBH9aQCSRS509cEQ)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* params);
N_LIB_PRIVATE N_NIMCALL(void, gsemicolon__cePKc9cEQau31w9auAvt0icA_2)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI start, NI theEnd);
N_LIB_PRIVATE N_NIMCALL(void, infixArgument__HNcJVTbsLN2PfMmnG6BxYw_2)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI i);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, skipHiddenNodes__xsZ0eV431D9bIk9c9c4n9ak9cCg)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(NI, getPrecedence__xjNws35CZ6ofA0bs473Heg)(tyObject_TIdent__GufRQq9c0miSybX3zBD4tyA* ident);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isKeyword__N1ZnIJchVZRKfKk15xA7QQ)(tyObject_TIdent__GufRQq9c0miSybX3zBD4tyA* i);
N_LIB_PRIVATE N_NIMCALL(void, gcond__5eccg0mxlFLgBiNmpRHFig_6)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(void, gsons__WBsq6aIWI0YbAY07tgvprg_2)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyTuple__O2u2Fk7tlGg9b7lAVNkV3hw c, NI start, NI theEnd);
N_LIB_PRIVATE N_NIMCALL(void, dedent__n8JbrzcZm8FmR9aCHItw47w_6)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g);
N_LIB_PRIVATE N_NIMCALL(void, putNL__n8JbrzcZm8FmR9aCHItw47w_7)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g);
N_LIB_PRIVATE N_NIMCALL(void, putNL__xZ7srVmxLhrb9cB1fDthbCg_2)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, NI indent);
N_LIB_PRIVATE N_NIMCALL(void, gif__5eccg0mxlFLgBiNmpRHFig_7)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, longMode__FJ4I049aFDsnEwVjsz5GKFQ)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI start, NI theEnd);
N_LIB_PRIVATE N_NIMCALL(void, gwhile__5eccg0mxlFLgBiNmpRHFig_8)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(void, gpragmaBlock__5eccg0mxlFLgBiNmpRHFig_9)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(void, gcase__5eccg0mxlFLgBiNmpRHFig_10)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(void, gtry__5eccg0mxlFLgBiNmpRHFig_11)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(void, gfor__5eccg0mxlFLgBiNmpRHFig_12)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(void, gblock__5eccg0mxlFLgBiNmpRHFig_13)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(void, gstaticStmt__5eccg0mxlFLgBiNmpRHFig_14)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(void, gasm__5eccg0mxlFLgBiNmpRHFig_15)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(void, gproc__5eccg0mxlFLgBiNmpRHFig_16)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, renderDefinitionName__l9ckhTtdY2uD8Mjq9cwreZDA)(tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w* s, NIM_BOOL noQuotes);
static N_INLINE(void, genSymSuffix__O9c9c6EGu4xejeeELxnKxckArenderer)(NimStringDesc** result, tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w* s);
N_LIB_PRIVATE N_NIMCALL(void, gpattern__5eccg0mxlFLgBiNmpRHFig_17)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(void, gsection__OGEthmd3DfzdMKQHMfMF7A)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyTuple__O2u2Fk7tlGg9b7lAVNkV3hw c, tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ kind, NimStringDesc* k);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasExplicitParams__ty2FKaFbIrBgsB8VaZ9cZ3g)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* gp);
N_LIB_PRIVATE N_NIMCALL(void, gTypeClassTy__5eccg0mxlFLgBiNmpRHFig_18)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, renderTree__ppjdh9aQ5L0SGPF8yz1gZ9cA)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TRenderFlag__wrPgUo1ExBlHvFnXN2nSHw renderFlags);
static N_INLINE(NimStringDesc*, quoteExpr__iY9c9cVDafXn075xuZnbFqawrenderer)(NimStringDesc* a);
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, write__PArlm09bKklm2BLsCg6YtaA)(FILE* f, NimStringDesc* s);
N_LIB_PRIVATE N_NIMCALL(void, close__fU6ZlJAtQ9bre04EDZLdGsA_3)(FILE* f);
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*, substr__2yh9cer0ymNRHlOOg8P7IuA)(NimStringDesc* s, NI first, NI last);

/* section: NIM_merge_DATA */
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_2, "<nil tree>", 10);
extern TNimType NTI__ehmV9bTklH2Gt9cXHV9c0HLeQ_;
N_LIB_PRIVATE TNimType NTI__FnEE3o2nWtqdjoC0wa2wgA_;
extern TNimType NTI__5VVBIL7Ozj1cc9akK23jAGQ_;
extern TNimType NTI__kDPg4wXyR8DDyA0MeEjIsw_;
extern TNimType NTI__K9bspPztfoWajecnwjyHuYQ_;
N_LIB_PRIVATE TNimType NTI__0W45b4tBLx0JWnu0NjAmVQ_;
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_4, "\012", 1);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_5, "r\"", 2);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_6, "\"", 1);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_7, "\"\"", 2);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_8, "\"\"\"", 3);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_9, "\'", 1);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_10, "\\a", 2);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_11, "\\b", 2);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_12, "\\t", 2);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_13, "\\n", 2);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_14, "\\v", 2);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_15, "\\f", 2);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_16, "\\c", 2);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_17, "\\e", 2);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_18, "\\\\", 2);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_19, "\\\'", 2);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_20, "\\\"", 2);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_21, "\\x", 2);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_22, "0123456789ABCDEF", 16);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_23, "0b", 2);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_24, "0o", 2);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_25, "0x", 2);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_26, "\'i8", 3);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_27, "\'i16", 4);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_28, "\'i32", 4);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_29, "\'i64", 4);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_30, "\'u", 2);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_31, "\'u8", 3);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_32, "\'u16", 4);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_33, "\'u32", 4);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_34, "\'u64", 4);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_35, "\'f32", 4);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_36, "\'f64", 4);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_37, "nil", 3);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_38, "[type node]", 11);
extern NIM_CONST tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q unknownLineInfo__Adg58D2FIbt5TWh9aavBqbg;
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_39, "rnimsyn.atom ", 13);
extern TNimType NTI__G4E4Gxe7oI2Cm03rkiOzQw_;
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_41, "/home/runner/work/nightlies/nightlies/nim/compiler/renderer.nim", 63);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__1E0z9biZTE3PahFHulMjtyw_40 = {((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_41),
((NI) 411),
((NI) 17)}
;
extern TNimType NTI__DfgJFJEYoj4YBAHLZPl5lQ_;
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_42, "_cursor", 7);
static NIM_CONST tySet_tyChar__nmiMWKVIe46vacnhAFrQvw TM__1E0z9biZTE3PahFHulMjtyw_43 = {
0x00, 0x00, 0x00, 0x00, 0x72, 0xec, 0x00, 0xf4,
0x01, 0x00, 0x00, 0x58, 0x00, 0x00, 0x00, 0x58,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
;
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_44, "`", 1);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_45, "(", 1);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_46, " ", 1);
extern NIM_CONST tyArray__sTZE9cvJ5s1a9bgahK51jmAw TokTypeToStr__7y4sYGQdJmj2c4r0emPULw;
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_47, "## ", 3);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_48, ")", 1);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_49, ":", 1);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_50, "<<", 2);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_51, "th child missing for ", 21);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_52, " >>", 3);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_53, "[]", 2);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_54, "[]=", 3);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_55, "{}", 2);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_56, "{}=", 3);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_57, "[", 1);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_58, "]", 1);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_59, "=", 1);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_60, "{", 1);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_61, "}", 1);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_62, "(wrong conv)", 12);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_63, "cast", 4);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_64, "addr", 4);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_65, "static", 6);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_66, ",", 1);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_67, "chckRangeF", 10);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_68, "chckRange64", 11);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_69, "chckRange", 9);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_70, "|", 1);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_71, ".", 1);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_72, "|...)", 5);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_73, "bind", 4);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_74, "proc", 4);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_75, "do", 2);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_76, "->", 2);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_77, "<//>", 4);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_78, "..", 2);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_79, "if", 2);
static NIM_CONST tyTuple__O2u2Fk7tlGg9b7lAVNkV3hw TM__1E0z9biZTE3PahFHulMjtyw_80 = {((NI) 0),
0}
;
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_81, " elif", 5);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_82, " else", 5);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_83, "typeof", 6);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_84, "ref", 3);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_85, "ptr", 3);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_86, "var", 3);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_87, "distinct", 8);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_88, " with", 5);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_89, " without", 8);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_90, "object", 6);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_91, "of", 2);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_92, "iterator", 8);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_93, "enum", 4);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_94, "when", 4);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_95, "while", 5);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_96, "case", 4);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_97, "try", 3);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_98, "for", 3);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_99, "in", 2);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_100, "block", 5);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_101, "asm", 3);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_102, "func", 4);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_103, "converter", 9);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_104, "method", 6);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_105, "macro", 5);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_106, "template", 8);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_107, "type", 4);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_108, "const", 5);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_109, "let", 3);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_110, "using", 5);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_111, "return", 6);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_112, "raise", 5);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_113, "yield", 5);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_114, "discard", 7);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_115, "break", 5);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_116, "continue", 8);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_117, "{.", 2);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_118, ".}", 2);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_119, "import", 6);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_120, "export", 6);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_121, "except", 6);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_122, "from", 4);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_123, "include", 7);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_124, "as", 2);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_125, "mixin", 5);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_126, "elif", 4);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_127, "else", 4);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_128, "finally", 7);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_129, "defer", 5);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_130, "tuple", 5);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_131, "(ComesFrom|", 11);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_132, "goto", 4);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_133, "state", 5);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_134, "breakstate", 10);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_135, "concept", 7);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_136, "rnimsyn.gsub(", 13);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__1E0z9biZTE3PahFHulMjtyw_137 = {((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_41),
((NI) 1619),
((NI) 17)}
;
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_138, " is not accessible using discriminant ", 38);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_139, " of type ", 9);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_140, "cannot open file: ", 18);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__1E0z9biZTE3PahFHulMjtyw_141 = {((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_41),
((NI) 1657),
((NI) 14)}
;

/* section: NIM_merge_VARS */
extern tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ gch__IcYaEuuWivYAS86vFMTS3Q;

/* 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);
}
N_LIB_PRIVATE N_NIMCALL(void, initSrcGen__V4h13uDpnxFekQECTzYaWA)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, tySet_tyEnum_TRenderFlag__wrPgUo1ExBlHvFnXN2nSHw renderFlags, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* config) {
	unsureAsgnRef((void**) (&(*g).comStack), NIM_NIL);
	unsureAsgnRef((void**) (&(*g).tokens), NIM_NIL);
	(*g).indent = ((NI) 0);
	(*g).lineLen = ((NI) 0);
	(*g).pos = ((NI) 0);
	(*g).idx = ((NI) 0);
	unsureAsgnRef((void**) (&(*g).buf), ((NimStringDesc*) NIM_NIL));
	(*g).flags = renderFlags;
	(*g).pendingNL = ((NI) -1);
	(*g).pendingWhitespace = ((NI) -1);
	(*g).inGenericParams = NIM_FALSE;
	unsureAsgnRef((void**) (&(*g).config), config);
}
N_LIB_PRIVATE N_NIMCALL(void, indentNL__n8JbrzcZm8FmR9aCHItw47w)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g) {
	(*g).indent += ((NI) 2);
	(*g).pendingNL = (*g).indent;
	(*g).lineLen = (*g).indent;
}
static N_INLINE(NI, len__P89cqdlERShb9alU3iC0yj8wast)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
	NI result;
	NI T1_;
	result = (NI)0;
	T1_ = ((*n)._kind_6.sons ? (*n)._kind_6.sons->Sup.len : 0);
	result = T1_;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, optNL__GEWpEuqY9a3huqkrKYAAObA)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b) {
	(*g).pendingNL = (*g).indent;
	(*g).lineLen = (*g).indent;
}
N_LIB_PRIVATE N_NIMCALL(void, optNL__xZ7srVmxLhrb9cB1fDthbCg)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, NI indent) {
	(*g).pendingNL = indent;
	(*g).lineLen = indent;
}
N_LIB_PRIVATE N_NIMCALL(void, optNL__n8JbrzcZm8FmR9aCHItw47w_2)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g) {
	optNL__xZ7srVmxLhrb9cB1fDthbCg(g, (*g).indent);
}
N_LIB_PRIVATE N_NIMCALL(void, initContext__ATR9atx4JGXXaRJqSs0YyPQ)(tyTuple__O2u2Fk7tlGg9b7lAVNkV3hw* c) {
	(*c).Field0 = ((NI) 0);
	(*c).Field1 = 0;
}
static N_INLINE(void, X5BX5Deq___9aNOXJ7JEjMHZ5rpF6543swsystem)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** s, NI sLen_0, NI i, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x) {
	unsureAsgnRef((void**) (&s[(NI)(sLen_0 - i)]), x);
}
N_LIB_PRIVATE N_NIMCALL(void, pushCom__5eccg0mxlFLgBiNmpRHFig_2)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
	NI T1_;
	T1_ = ((*g).comStack ? (*g).comStack->Sup.len : 0);
	unsureAsgnRef((void**) (&(*g).comStack), (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) setLengthSeqV2(&((*g).comStack)->Sup, (&NTI__ehmV9bTklH2Gt9cXHV9c0HLeQ_), ((NI) ((NI)(T1_ + ((NI) 1))))));
	X5BX5Deq___9aNOXJ7JEjMHZ5rpF6543swsystem((*g).comStack->data, ((*g).comStack ? (*g).comStack->Sup.len : 0), ((NI) 1), n);
}
static N_NIMCALL(void, Marker_tySequence__0W45b4tBLx0JWnu0NjAmVQ)(void* p, NI op) {
	tySequence__0W45b4tBLx0JWnu0NjAmVQ* a;
	NI T1_;
	a = (tySequence__0W45b4tBLx0JWnu0NjAmVQ*)p;
	T1_ = (NI)0;
	for (T1_ = 0; T1_ < (a ? a->Sup.len : 0); T1_++) {
	nimGCvisit((void*)a->data[T1_].sym, op);
	}
}
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;
}
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(void, addTok__bHuqOBd1M9aDS6daf1zl0nw_2)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ kind, NimStringDesc* s, tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w* sym) {
	tyObject_TRenderTok__FnEE3o2nWtqdjoC0wa2wgA T1_;
	NI T2_;
	nimZeroMem((void*)(&T1_), sizeof(tyObject_TRenderTok__FnEE3o2nWtqdjoC0wa2wgA));
	nimZeroMem((void*)(&T1_), sizeof(tyObject_TRenderTok__FnEE3o2nWtqdjoC0wa2wgA));
	T1_.kind = kind;
	T1_.length = ((NI16) ((s ? s->Sup.len : 0)));
	T1_.sym = sym;
	unsureAsgnRef((void**) (&(*g).tokens), (tySequence__0W45b4tBLx0JWnu0NjAmVQ*) incrSeqV3((TGenericSeq*)((*g).tokens), (&NTI__0W45b4tBLx0JWnu0NjAmVQ_)));
	T2_ = (*g).tokens->Sup.len++;
	(*g).tokens->data[T2_].kind = T1_.kind;
	(*g).tokens->data[T2_].length = T1_.length;
	asgnRef((void**) (&(*g).tokens->data[T2_].sym), T1_.sym);
	unsureAsgnRef((void**) (&(*g).buf), resizeString((*g).buf, (s ? s->Sup.len : 0) + 0));
appendString((*g).buf, s);
	{
		if (!!((kind == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 112)))) goto LA5_;
		(*g).col += (s ? s->Sup.len : 0);
	}
	LA5_: ;
}
static N_INLINE(NimStringDesc*, spaces__rssDy7zs9cDeoYTeCoIy0Wgstrutils)(NI n) {
	NimStringDesc* result;
	result = (NimStringDesc*)0;
	result = nsuRepeatChar(32, n);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, addPendingNL__n8JbrzcZm8FmR9aCHItw47w_3)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g) {
	{
		tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* T5_;
		NimStringDesc* T6_;
		NimStringDesc* T7_;
		if (!(((NI) 0) <= (*g).pendingNL)) goto LA3_;
		T5_ = (tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg*)0;
		T5_ = g;
		T6_ = (NimStringDesc*)0;
		T7_ = (NimStringDesc*)0;
		T7_ = spaces__rssDy7zs9cDeoYTeCoIy0Wgstrutils(((NI) ((*g).pendingNL)));
		T6_ = rawNewString((T7_ ? T7_->Sup.len : 0) + 1);
appendString(T6_, ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_4));
appendString(T6_, T7_);
		addTok__bHuqOBd1M9aDS6daf1zl0nw_2(T5_, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 112), T6_, NIM_NIL);
		(*g).lineLen = (*g).pendingNL;
		(*g).col = (*g).pendingNL;
		(*g).pendingNL = ((NI) -1);
		(*g).pendingWhitespace = ((NI) -1);
	}
	goto LA1_;
	LA3_: ;
	{
		tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* T11_;
		NimStringDesc* T12_;
		if (!(((NI) 0) <= (*g).pendingWhitespace)) goto LA9_;
		T11_ = (tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg*)0;
		T11_ = g;
		T12_ = (NimStringDesc*)0;
		T12_ = spaces__rssDy7zs9cDeoYTeCoIy0Wgstrutils(((NI) ((*g).pendingWhitespace)));
		addTok__bHuqOBd1M9aDS6daf1zl0nw_2(T11_, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 112), T12_, NIM_NIL);
		(*g).pendingWhitespace = ((NI) -1);
	}
	goto LA1_;
	LA9_: ;
	LA1_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, put__bHuqOBd1M9aDS6daf1zl0nw)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ kind, NimStringDesc* s, tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w* sym) {
	{
		if (!!((kind == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 112)))) goto LA3_;
		addPendingNL__n8JbrzcZm8FmR9aCHItw47w_3(g);
		{
			if (!(((NI) 0) < (s ? s->Sup.len : 0))) goto LA7_;
			addTok__bHuqOBd1M9aDS6daf1zl0nw_2(g, kind, s, sym);
		}
		LA7_: ;
	}
	goto LA1_;
	LA3_: ;
	{
		(*g).pendingWhitespace = (s ? s->Sup.len : 0);
		(*g).col += (s ? s->Sup.len : 0);
	}
	LA1_: ;
	(*g).lineLen += (s ? s->Sup.len : 0);
}
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);
}
static N_INLINE(void, addEscapedChar__dfKNBK6s29c7zfWj2JwI7EQsystem)(NimStringDesc** s, NIM_CHAR c) {
	switch (((NU8)(c))) {
	case 7:
	{
		unsureAsgnRef((void**) (&(*s)), resizeString((*s), 2));
appendString((*s), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_10));
	}
	break;
	case 8:
	{
		unsureAsgnRef((void**) (&(*s)), resizeString((*s), 2));
appendString((*s), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_11));
	}
	break;
	case 9:
	{
		unsureAsgnRef((void**) (&(*s)), resizeString((*s), 2));
appendString((*s), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_12));
	}
	break;
	case 10:
	{
		unsureAsgnRef((void**) (&(*s)), resizeString((*s), 2));
appendString((*s), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_13));
	}
	break;
	case 11:
	{
		unsureAsgnRef((void**) (&(*s)), resizeString((*s), 2));
appendString((*s), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_14));
	}
	break;
	case 12:
	{
		unsureAsgnRef((void**) (&(*s)), resizeString((*s), 2));
appendString((*s), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_15));
	}
	break;
	case 13:
	{
		unsureAsgnRef((void**) (&(*s)), resizeString((*s), 2));
appendString((*s), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_16));
	}
	break;
	case 27:
	{
		unsureAsgnRef((void**) (&(*s)), resizeString((*s), 2));
appendString((*s), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_17));
	}
	break;
	case 92:
	{
		unsureAsgnRef((void**) (&(*s)), resizeString((*s), 2));
appendString((*s), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_18));
	}
	break;
	case 39:
	{
		unsureAsgnRef((void**) (&(*s)), resizeString((*s), 2));
appendString((*s), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_19));
	}
	break;
	case 34:
	{
		unsureAsgnRef((void**) (&(*s)), resizeString((*s), 2));
appendString((*s), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_20));
	}
	break;
	case 32 ... 33:
	case 35 ... 38:
	case 40 ... 91:
	case 93 ... 126:
	{
		unsureAsgnRef((void**) (&(*s)), addChar((*s), c));
	}
	break;
	default:
	{
		NI n;
		unsureAsgnRef((void**) (&(*s)), resizeString((*s), 2));
appendString((*s), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_21));
		n = ((NU8)(c));
		unsureAsgnRef((void**) (&(*s)), addChar((*s), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_22)->data[(NI)((NI64)((NI)(n & ((NI) 240))) >> (NU64)(((NI) 4)))]));
		unsureAsgnRef((void**) (&(*s)), addChar((*s), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_22)->data[(NI)(n & ((NI) 15))]));
	}
	break;
	}
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ*, skip__0BCzl6k5VlLWkKbiIho5hg)(tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ* t) {
	tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ* result;
	result = (tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ*)0;
	result = t;
	{
		while (1) {
			NIM_BOOL T3_;
			T3_ = (NIM_BOOL)0;
			T3_ = !((result == NIM_NIL));
			if (!(T3_)) goto LA4_;
			T3_ = ((IL64(211106242013200) &((NU64)1<<((NU)((*result).kind)&63U)))!=0);
			LA4_: ;
			if (!T3_) goto LA2;
			result = lastSon__Bdq9aiV9buvJtPvmOc0OR5JQ(result);
		} LA2: ;
	}
	return result;
}
static N_INLINE(NI, safeLen__P89cqdlERShb9alU3iC0yj8w_2ast)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
	NI result;
	result = (NI)0;
	{
		if (!((*n).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 0) && (*n).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23))) goto LA3_;
		result = ((NI) 0);
	}
	goto LA1_;
	LA3_: ;
	{
		result = len__P89cqdlERShb9alU3iC0yj8wast(n);
	}
	LA1_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, litAux__Z5GOwRdmlU82OE7IDpzHyg)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI64 x, NI size) {
	NimStringDesc* result;
	tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ* typ;
{	result = (NimStringDesc*)0;
	typ = skip__0BCzl6k5VlLWkKbiIho5hg((*n).typ);
	{
		NIM_BOOL T3_;
		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* enumfields;
		T3_ = (NIM_BOOL)0;
		T3_ = !((typ == NIM_NIL));
		if (!(T3_)) goto LA4_;
		T3_ = ((16386 &((NU64)1<<((NU)((*typ).kind)&63U)))!=0);
		LA4_: ;
		if (!T3_) goto LA5_;
		{
			NimStringDesc* T11_;
			if (!(((*(*typ).sym).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 11))&63U)))!=0)) goto LA9_;
			T11_ = (NimStringDesc*)0;
			T11_ = rawNewString(((*(*(*typ).sym).name).s ? (*(*(*typ).sym).name).s->Sup.len : 0) + 1);
appendString(T11_, (*(*(*typ).sym).name).s);
appendChar(T11_, 46);
			result = T11_;
		}
		LA9_: ;
		enumfields = (*typ).n;
		{
			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* e;
			e = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
			{
				NI i;
				NI colontmp_;
				NI i_2;
				i = (NI)0;
				colontmp_ = (NI)0;
				colontmp_ = safeLen__P89cqdlERShb9alU3iC0yj8w_2ast(enumfields);
				i_2 = ((NI) 0);
				{
					while (1) {
						if (!(i_2 < colontmp_)) goto LA15;
						i = i_2;
						e = (*enumfields)._kind_6.sons->data[i];
						{
							if (!(((NI64) ((*(*e)._kind_4.sym).position)) == x)) goto LA18_;
							result = resizeString(result, ((*(*(*e)._kind_4.sym).name).s ? (*(*(*e)._kind_4.sym).name).s->Sup.len : 0) + 0);
appendString(result, (*(*(*e)._kind_4.sym).name).s);
							goto BeforeRet_;
						}
						LA18_: ;
						i_2 += ((NI) 1);
					} LA15: ;
				}
			}
		}
	}
	LA5_: ;
	{
		NimStringDesc* T24_;
		NimStringDesc* T25_;
		if (!(((*n).flags &((NU32)1<<((NU)(((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 1))&31U)))!=0)) goto LA22_;
		T24_ = (NimStringDesc*)0;
		T25_ = (NimStringDesc*)0;
		T25_ = nsuToBin(x, ((NI) ((NI)(size * ((NI) 8)))));
		T24_ = rawNewString((T25_ ? T25_->Sup.len : 0) + 2);
appendString(T24_, ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_23));
appendString(T24_, T25_);
		result = T24_;
	}
	goto LA20_;
	LA22_: ;
	{
		NI64 y;
		NimStringDesc* T34_;
		NimStringDesc* T35_;
		if (!(((*n).flags &((NU32)1<<((NU)(((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 2))&31U)))!=0)) goto LA27_;
		{
			if (!(size < ((NI) 8))) goto LA31_;
			y = (NI64)(x & (NI64)((NI64)((NU64)(IL64(1)) << (NU64)((NI)(size * ((NI) 8)))) - IL64(1)));
		}
		goto LA29_;
		LA31_: ;
		{
			y = x;
		}
		LA29_: ;
		T34_ = (NimStringDesc*)0;
		T35_ = (NimStringDesc*)0;
		T35_ = nsuToOct(y, ((NI) ((NI)(size * ((NI) 3)))));
		T34_ = rawNewString((T35_ ? T35_->Sup.len : 0) + 2);
appendString(T34_, ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_24));
appendString(T34_, T35_);
		result = T34_;
	}
	goto LA20_;
	LA27_: ;
	{
		NimStringDesc* T39_;
		NimStringDesc* T40_;
		if (!(((*n).flags &((NU32)1<<((NU)(((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 3))&31U)))!=0)) goto LA37_;
		T39_ = (NimStringDesc*)0;
		T40_ = (NimStringDesc*)0;
		T40_ = nsuToHex(x, ((NI) ((NI)(size * ((NI) 2)))));
		T39_ = rawNewString((T40_ ? T40_->Sup.len : 0) + 2);
appendString(T39_, ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_25));
appendString(T39_, T40_);
		result = T39_;
	}
	goto LA20_;
	LA37_: ;
	{
		result = nimInt64ToStr(x);
	}
	LA20_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, ulitAux__Z5GOwRdmlU82OE7IDpzHyg_2)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI64 x, NI size) {
	NimStringDesc* result;
	result = (NimStringDesc*)0;
	{
		NimStringDesc* T5_;
		NimStringDesc* T6_;
		if (!(((*n).flags &((NU32)1<<((NU)(((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 1))&31U)))!=0)) goto LA3_;
		T5_ = (NimStringDesc*)0;
		T6_ = (NimStringDesc*)0;
		T6_ = nsuToBin(x, ((NI) ((NI)(size * ((NI) 8)))));
		T5_ = rawNewString((T6_ ? T6_->Sup.len : 0) + 2);
appendString(T5_, ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_23));
appendString(T5_, T6_);
		result = T5_;
	}
	goto LA1_;
	LA3_: ;
	{
		NimStringDesc* T10_;
		NimStringDesc* T11_;
		if (!(((*n).flags &((NU32)1<<((NU)(((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 2))&31U)))!=0)) goto LA8_;
		T10_ = (NimStringDesc*)0;
		T11_ = (NimStringDesc*)0;
		T11_ = nsuToOct(x, ((NI) ((NI)(size * ((NI) 3)))));
		T10_ = rawNewString((T11_ ? T11_->Sup.len : 0) + 2);
appendString(T10_, ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_24));
appendString(T10_, T11_);
		result = T10_;
	}
	goto LA1_;
	LA8_: ;
	{
		NimStringDesc* T15_;
		NimStringDesc* T16_;
		if (!(((*n).flags &((NU32)1<<((NU)(((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 3))&31U)))!=0)) goto LA13_;
		T15_ = (NimStringDesc*)0;
		T16_ = (NimStringDesc*)0;
		T16_ = nsuToHex(x, ((NI) ((NI)(size * ((NI) 2)))));
		T15_ = rawNewString((T16_ ? T16_->Sup.len : 0) + 2);
appendString(T15_, ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_25));
appendString(T15_, T16_);
		result = T15_;
	}
	goto LA1_;
	LA13_: ;
	{
		result = dollar___RkX9btpg5sQIaP8yYXB6tbA(((NU64) (x)));
	}
	LA1_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, atom__9cnUQzmaM0ehJLjixbNyrSQ)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
	NimStringDesc* result;
	NF32 f;
	result = (NimStringDesc*)0;
	f = (NF32)0;
	switch ((*n).kind) {
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1):
	{
		result = ((NimStringDesc*) NIM_NIL);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2):
	{
		result = copyString((*(*n)._kind_5.ident).s);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
	{
		result = copyString((*(*(*n)._kind_4.sym).name).s);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 20):
	{
		result = ((NimStringDesc*) NIM_NIL);
		addQuoted__45fPtFhY4FavRaYwDhRfuA((&result), (*n)._kind_3.strVal);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 21):
	{
		NimStringDesc* T6_;
		NimStringDesc* T7_;
		T6_ = (NimStringDesc*)0;
		T7_ = (NimStringDesc*)0;
		T7_ = nsuReplaceStr((*n)._kind_3.strVal, ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_6), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_7));
		T6_ = rawNewString((T7_ ? T7_->Sup.len : 0) + 3);
appendString(T6_, ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_5));
appendString(T6_, T7_);
appendChar(T6_, 34);
		result = T6_;
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 22):
	{
		NimStringDesc* T9_;
		T9_ = (NimStringDesc*)0;
		T9_ = rawNewString(((*n)._kind_3.strVal ? (*n)._kind_3.strVal->Sup.len : 0) + 6);
appendString(T9_, ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_8));
appendString(T9_, (*n)._kind_3.strVal);
appendString(T9_, ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_8));
		result = T9_;
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 5):
	{
		result = copyString(((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_9));
		addEscapedChar__dfKNBK6s29c7zfWj2JwI7EQsystem((&result), ((NIM_CHAR) (((NI) (((NI) ((*n)._kind_1.intVal)))))));
		result = addChar(result, 39);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6):
	{
		result = litAux__Z5GOwRdmlU82OE7IDpzHyg(g, n, (*n)._kind_1.intVal, ((NI) 4));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 7):
	{
		NimStringDesc* T13_;
		NimStringDesc* T14_;
		T13_ = (NimStringDesc*)0;
		T14_ = (NimStringDesc*)0;
		T14_ = litAux__Z5GOwRdmlU82OE7IDpzHyg(g, n, (*n)._kind_1.intVal, ((NI) 1));
		T13_ = rawNewString((T14_ ? T14_->Sup.len : 0) + 3);
appendString(T13_, T14_);
appendString(T13_, ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_26));
		result = T13_;
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 8):
	{
		NimStringDesc* T16_;
		NimStringDesc* T17_;
		T16_ = (NimStringDesc*)0;
		T17_ = (NimStringDesc*)0;
		T17_ = litAux__Z5GOwRdmlU82OE7IDpzHyg(g, n, (*n)._kind_1.intVal, ((NI) 2));
		T16_ = rawNewString((T17_ ? T17_->Sup.len : 0) + 4);
appendString(T16_, T17_);
appendString(T16_, ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_27));
		result = T16_;
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 9):
	{
		NimStringDesc* T19_;
		NimStringDesc* T20_;
		T19_ = (NimStringDesc*)0;
		T20_ = (NimStringDesc*)0;
		T20_ = litAux__Z5GOwRdmlU82OE7IDpzHyg(g, n, (*n)._kind_1.intVal, ((NI) 4));
		T19_ = rawNewString((T20_ ? T20_->Sup.len : 0) + 4);
appendString(T19_, T20_);
appendString(T19_, ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_28));
		result = T19_;
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 10):
	{
		NimStringDesc* T22_;
		NimStringDesc* T23_;
		T22_ = (NimStringDesc*)0;
		T23_ = (NimStringDesc*)0;
		T23_ = litAux__Z5GOwRdmlU82OE7IDpzHyg(g, n, (*n)._kind_1.intVal, ((NI) 8));
		T22_ = rawNewString((T23_ ? T23_->Sup.len : 0) + 4);
appendString(T22_, T23_);
appendString(T22_, ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_29));
		result = T22_;
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 11):
	{
		NimStringDesc* T25_;
		NimStringDesc* T26_;
		T25_ = (NimStringDesc*)0;
		T26_ = (NimStringDesc*)0;
		T26_ = ulitAux__Z5GOwRdmlU82OE7IDpzHyg_2(g, n, (*n)._kind_1.intVal, ((NI) 4));
		T25_ = rawNewString((T26_ ? T26_->Sup.len : 0) + 2);
appendString(T25_, T26_);
appendString(T25_, ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_30));
		result = T25_;
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 12):
	{
		NimStringDesc* T28_;
		NimStringDesc* T29_;
		T28_ = (NimStringDesc*)0;
		T29_ = (NimStringDesc*)0;
		T29_ = ulitAux__Z5GOwRdmlU82OE7IDpzHyg_2(g, n, (*n)._kind_1.intVal, ((NI) 1));
		T28_ = rawNewString((T29_ ? T29_->Sup.len : 0) + 3);
appendString(T28_, T29_);
appendString(T28_, ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_31));
		result = T28_;
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 13):
	{
		NimStringDesc* T31_;
		NimStringDesc* T32_;
		T31_ = (NimStringDesc*)0;
		T32_ = (NimStringDesc*)0;
		T32_ = ulitAux__Z5GOwRdmlU82OE7IDpzHyg_2(g, n, (*n)._kind_1.intVal, ((NI) 2));
		T31_ = rawNewString((T32_ ? T32_->Sup.len : 0) + 4);
appendString(T31_, T32_);
appendString(T31_, ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_32));
		result = T31_;
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 14):
	{
		NimStringDesc* T34_;
		NimStringDesc* T35_;
		T34_ = (NimStringDesc*)0;
		T35_ = (NimStringDesc*)0;
		T35_ = ulitAux__Z5GOwRdmlU82OE7IDpzHyg_2(g, n, (*n)._kind_1.intVal, ((NI) 4));
		T34_ = rawNewString((T35_ ? T35_->Sup.len : 0) + 4);
appendString(T34_, T35_);
appendString(T34_, ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_33));
		result = T34_;
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 15):
	{
		NimStringDesc* T37_;
		NimStringDesc* T38_;
		T37_ = (NimStringDesc*)0;
		T38_ = (NimStringDesc*)0;
		T38_ = ulitAux__Z5GOwRdmlU82OE7IDpzHyg_2(g, n, (*n)._kind_1.intVal, ((NI) 8));
		T37_ = rawNewString((T38_ ? T38_->Sup.len : 0) + 4);
appendString(T37_, T38_);
appendString(T37_, ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_34));
		result = T37_;
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 16):
	{
		{
			if (!(((*n).flags & 14) == 0)) goto LA42_;
			result = nimFloatToStr((*n)._kind_2.floatVal);
		}
		goto LA40_;
		LA42_: ;
		{
			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T45_;
			T45_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
			T45_ = n;
			result = litAux__Z5GOwRdmlU82OE7IDpzHyg(g, T45_, (*((NI64*) ((&(*n)._kind_2.floatVal)))), ((NI) 8));
		}
		LA40_: ;
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 17):
	{
		{
			NimStringDesc* T51_;
			NimStringDesc* T52_;
			if (!(((*n).flags & 14) == 0)) goto LA49_;
			T51_ = (NimStringDesc*)0;
			T52_ = (NimStringDesc*)0;
			T52_ = nimFloatToStr((*n)._kind_2.floatVal);
			T51_ = rawNewString((T52_ ? T52_->Sup.len : 0) + 4);
appendString(T51_, T52_);
appendString(T51_, ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_35));
			result = T51_;
		}
		goto LA47_;
		LA49_: ;
		{
			NimStringDesc* T54_;
			NimStringDesc* T55_;
			f = ((NF32) ((*n)._kind_2.floatVal));
			T54_ = (NimStringDesc*)0;
			T55_ = (NimStringDesc*)0;
			T55_ = litAux__Z5GOwRdmlU82OE7IDpzHyg(g, n, ((NI64) ((*((NI32*) ((&f)))))), ((NI) 4));
			T54_ = rawNewString((T55_ ? T55_->Sup.len : 0) + 4);
appendString(T54_, T55_);
appendString(T54_, ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_35));
			result = T54_;
		}
		LA47_: ;
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 18):
	{
		{
			NimStringDesc* T61_;
			NimStringDesc* T62_;
			if (!(((*n).flags & 14) == 0)) goto LA59_;
			T61_ = (NimStringDesc*)0;
			T62_ = (NimStringDesc*)0;
			T62_ = nimFloatToStr((*n)._kind_2.floatVal);
			T61_ = rawNewString((T62_ ? T62_->Sup.len : 0) + 4);
appendString(T61_, T62_);
appendString(T61_, ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_36));
			result = T61_;
		}
		goto LA57_;
		LA59_: ;
		{
			NimStringDesc* T64_;
			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T65_;
			NimStringDesc* T66_;
			T64_ = (NimStringDesc*)0;
			T65_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
			T65_ = n;
			T66_ = (NimStringDesc*)0;
			T66_ = litAux__Z5GOwRdmlU82OE7IDpzHyg(g, T65_, (*((NI64*) ((&(*n)._kind_2.floatVal)))), ((NI) 8));
			T64_ = rawNewString((T66_ ? T66_->Sup.len : 0) + 4);
appendString(T64_, T66_);
appendString(T64_, ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_36));
			result = T64_;
		}
		LA57_: ;
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23):
	{
		result = copyString(((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_37));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 4):
	{
		{
			NIM_BOOL T71_;
			T71_ = (NIM_BOOL)0;
			T71_ = !(((*n).typ == NIM_NIL));
			if (!(T71_)) goto LA72_;
			T71_ = !(((*(*n).typ).sym == NIM_NIL));
			LA72_: ;
			if (!T71_) goto LA73_;
			result = copyString((*(*(*(*n).typ).sym).name).s);
		}
		goto LA69_;
		LA73_: ;
		{
			result = copyString(((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_38));
		}
		LA69_: ;
	}
	break;
	default:
	{
		NimStringDesc* T77_;
		T77_ = (NimStringDesc*)0;
		T77_ = rawNewString((reprEnum((NI)(*n).kind, (&NTI__G4E4Gxe7oI2Cm03rkiOzQw_)) ? reprEnum((NI)(*n).kind, (&NTI__G4E4Gxe7oI2Cm03rkiOzQw_))->Sup.len : 0) + 13);
appendString(T77_, ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_39));
appendString(T77_, reprEnum((NI)(*n).kind, (&NTI__G4E4Gxe7oI2Cm03rkiOzQw_)));
		internalErrorImpl__PTSwZ6HM9bGBf7vF9cnDmwVw((*g).config, unknownLineInfo__Adg58D2FIbt5TWh9aavBqbg, T77_, TM__1E0z9biZTE3PahFHulMjtyw_40);
		result = ((NimStringDesc*) NIM_NIL);
	}
	break;
	}
	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(NI, disamb__GjuPWTBXZc45NgyBvRqRSg)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w* s) {
	NI result;
	NI T13_;
{	result = (NI)0;
	result = ((NI) 0);
	{
		NI i;
		NI colontmp_;
		NI T2_;
		NI i_2;
		i = (NI)0;
		colontmp_ = (NI)0;
		T2_ = ((*g).mangler ? (*g).mangler->Sup.len : 0);
		colontmp_ = T2_;
		i_2 = ((NI) 0);
		{
			while (1) {
				if (!(i_2 < colontmp_)) goto LA4;
				i = i_2;
				{
					if (!(s == (*g).mangler->data[i])) goto LA7_;
					goto BeforeRet_;
				}
				LA7_: ;
				{
					if (!eqStrings((*(*s).name).s, (*(*(*g).mangler->data[i]).name).s)) goto LA11_;
					result += ((NI) 1);
				}
				LA11_: ;
				i_2 += ((NI) 1);
			} LA4: ;
		}
	}
	unsureAsgnRef((void**) (&(*g).mangler), (tySequence__DfgJFJEYoj4YBAHLZPl5lQ*) incrSeqV3((TGenericSeq*)((*g).mangler), (&NTI__DfgJFJEYoj4YBAHLZPl5lQ_)));
	T13_ = (*g).mangler->Sup.len++;
	asgnRef((void**) (&(*g).mangler->data[T13_]), s);
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, gident__5eccg0mxlFLgBiNmpRHFig_3)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
	tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ t;
	NimStringDesc* s;
	tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* T59_;
	tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w* T60_;
{	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = (*g).inGenericParams;
		if (!(T3_)) goto LA4_;
		T3_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
		LA4_: ;
		if (!T3_) goto LA5_;
		{
			NIM_BOOL T9_;
			NIM_BOOL T11_;
			T9_ = (NIM_BOOL)0;
			T9_ = (((*(*n)._kind_4.sym).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 33))&63U)))!=0);
			if (T9_) goto LA10_;
			T11_ = (NIM_BOOL)0;
			T11_ = !(((*n).typ == NIM_NIL));
			if (!(T11_)) goto LA12_;
			T11_ = (((*(*n).typ).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 26))&63U)))!=0);
			LA12_: ;
			T9_ = T11_;
			LA10_: ;
			if (!T9_) goto LA13_;
			goto BeforeRet_;
		}
		LA13_: ;
	}
	LA5_: ;
	t = (tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ)0;
	s = atom__9cnUQzmaM0ehJLjixbNyrSQ((&(*g)), n);
	{
		NIM_BOOL T17_;
		T17_ = (NIM_BOOL)0;
		T17_ = (((NI) 0) < (s ? s->Sup.len : 0));
		if (!(T17_)) goto LA18_;
		T17_ = (((NU8)(s->data[((NI) 0)])) >= ((NU8)(97)) && ((NU8)(s->data[((NI) 0)])) <= ((NU8)(122)) || ((NU8)(s->data[((NI) 0)])) >= ((NU8)(65)) && ((NU8)(s->data[((NI) 0)])) <= ((NU8)(90)) || ((NU8)(s->data[((NI) 0)])) >= ((NU8)(48)) && ((NU8)(s->data[((NI) 0)])) <= ((NU8)(57)) || ((NU8)(s->data[((NI) 0)])) >= ((NU8)(128)) && ((NU8)(s->data[((NI) 0)])) <= ((NU8)(255)));
		LA18_: ;
		if (!T17_) goto LA19_;
		{
			if (!((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2))) goto LA23_;
			{
				NIM_BOOL T27_;
				T27_ = (NIM_BOOL)0;
				T27_ = ((*(*n)._kind_5.ident).Sup.id < ((NI) 1));
				if (T27_) goto LA28_;
				T27_ = (((NI) 66) < (*(*n)._kind_5.ident).Sup.id);
				LA28_: ;
				if (!T27_) goto LA29_;
				t = ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 2);
			}
			goto LA25_;
			LA29_: ;
			{
				t = ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) ((NI)((*(*n)._kind_5.ident).Sup.id + ((NI) 2))));
			}
			LA25_: ;
		}
		goto LA21_;
		LA23_: ;
		{
			t = ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 2);
		}
		LA21_: ;
	}
	goto LA15_;
	LA19_: ;
	{
		t = ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 109);
	}
	LA15_: ;
	{
		NIM_BOOL T36_;
		NI localId;
		T36_ = (NIM_BOOL)0;
		T36_ = (((*g).flags &((NU16)1<<((NU)(((tyEnum_TRenderFlag__wrPgUo1ExBlHvFnXN2nSHw) 9))&15U)))!=0);
		if (!(T36_)) goto LA37_;
		T36_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
		LA37_: ;
		if (!T36_) goto LA38_;
		localId = disamb__GjuPWTBXZc45NgyBvRqRSg(g, (*n)._kind_4.sym);
		{
			NIM_BOOL T42_;
			T42_ = (NIM_BOOL)0;
			T42_ = !((localId == ((NI) 0)));
			if (!(T42_)) goto LA43_;
			T42_ = ((*(*n)._kind_4.sym).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 0));
			LA43_: ;
			if (!T42_) goto LA44_;
			s = addChar(s, 95);
			addInt__mftMOxbyu0h4yByfs3sqjA((&s), ((NI64) (localId)));
		}
		LA44_: ;
		{
			if (!(((*(*n)._kind_4.sym).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 40))&63U)))!=0)) goto LA48_;
			s = resizeString(s, 7);
appendString(s, ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_42));
		}
		LA48_: ;
	}
	goto LA34_;
	LA38_: ;
	{
		NIM_BOOL T51_;
		NIM_BOOL T53_;
		NIM_BOOL T54_;
		T51_ = (NIM_BOOL)0;
		T51_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
		if (!(T51_)) goto LA52_;
		T53_ = (NIM_BOOL)0;
		T54_ = (NIM_BOOL)0;
		T54_ = (((*g).flags &((NU16)1<<((NU)(((tyEnum_TRenderFlag__wrPgUo1ExBlHvFnXN2nSHw) 5))&15U)))!=0);
		if (T54_) goto LA55_;
		T54_ = (((*(*n)._kind_4.sym).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 36))&63U)))!=0);
		LA55_: ;
		T53_ = T54_;
		if (T53_) goto LA56_;
		T53_ = ((*(*n)._kind_4.sym).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 5));
		LA56_: ;
		T51_ = T53_;
		LA52_: ;
		if (!T51_) goto LA57_;
		s = addChar(s, 95);
		addInt__mftMOxbyu0h4yByfs3sqjA((&s), ((NI64) ((*(*n)._kind_4.sym).Sup.id)));
	}
	goto LA34_;
	LA57_: ;
	LA34_: ;
	T59_ = (tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg*)0;
	T59_ = g;
	T60_ = (tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w*)0;
	{
		NIM_BOOL T63_;
		T63_ = (NIM_BOOL)0;
		T63_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
		if (!(T63_)) goto LA64_;
		T63_ = (((*g).flags &((NU16)1<<((NU)(((tyEnum_TRenderFlag__wrPgUo1ExBlHvFnXN2nSHw) 7))&15U)))!=0);
		LA64_: ;
		if (!T63_) goto LA65_;
		T60_ = (*n)._kind_4.sym;
	}
	goto LA61_;
	LA65_: ;
	{
		T60_ = NIM_NIL;
	}
	LA61_: ;
	put__bHuqOBd1M9aDS6daf1zl0nw(T59_, t, s, T60_);
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, accentedName__5eccg0mxlFLgBiNmpRHFig_4)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
	NIM_BOOL isOperator;
{	{
		if (!(n == NIM_NIL)) goto LA3_;
		goto BeforeRet_;
	}
	LA3_: ;
	{
		NIM_BOOL T7_;
		NIM_BOOL T8_;
		T7_ = (NIM_BOOL)0;
		T8_ = (NIM_BOOL)0;
		T8_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2));
		if (!(T8_)) goto LA9_;
		T8_ = (((NI) 0) < ((*(*n)._kind_5.ident).s ? (*(*n)._kind_5.ident).s->Sup.len : 0));
		LA9_: ;
		T7_ = T8_;
		if (!(T7_)) goto LA10_;
		T7_ = ((TM__1E0z9biZTE3PahFHulMjtyw_43[(NU)(((NU8)((*(*n)._kind_5.ident).s->data[((NI) 0)])))>>3] &(1U<<((NU)(((NU8)((*(*n)._kind_5.ident).s->data[((NI) 0)])))&7U)))!=0);
		LA10_: ;
		if (!T7_) goto LA11_;
		isOperator = NIM_TRUE;
	}
	goto LA5_;
	LA11_: ;
	{
		NIM_BOOL T14_;
		NIM_BOOL T15_;
		T14_ = (NIM_BOOL)0;
		T15_ = (NIM_BOOL)0;
		T15_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
		if (!(T15_)) goto LA16_;
		T15_ = (((NI) 0) < ((*(*(*n)._kind_4.sym).name).s ? (*(*(*n)._kind_4.sym).name).s->Sup.len : 0));
		LA16_: ;
		T14_ = T15_;
		if (!(T14_)) goto LA17_;
		T14_ = ((TM__1E0z9biZTE3PahFHulMjtyw_43[(NU)(((NU8)((*(*(*n)._kind_4.sym).name).s->data[((NI) 0)])))>>3] &(1U<<((NU)(((NU8)((*(*(*n)._kind_4.sym).name).s->data[((NI) 0)])))&7U)))!=0);
		LA17_: ;
		if (!T14_) goto LA18_;
		isOperator = NIM_TRUE;
	}
	goto LA5_;
	LA18_: ;
	{
		isOperator = NIM_FALSE;
	}
	LA5_: ;
	{
		if (!isOperator) goto LA23_;
		put__bHuqOBd1M9aDS6daf1zl0nw(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 111), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_44), NIM_NIL);
		gident__5eccg0mxlFLgBiNmpRHFig_3(g, n);
		put__bHuqOBd1M9aDS6daf1zl0nw(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 111), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_44), NIM_NIL);
	}
	goto LA21_;
	LA23_: ;
	{
		gsub__5eccg0mxlFLgBiNmpRHFig(g, n);
	}
	LA21_: ;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, containsNL__ivIjJNMv9c0wki0AXw9bSikw)(NimStringDesc* s) {
	NIM_BOOL result;
{	result = (NIM_BOOL)0;
	{
		NI i;
		NI colontmp_;
		NI i_2;
		i = (NI)0;
		colontmp_ = (NI)0;
		colontmp_ = (s ? s->Sup.len : 0);
		i_2 = ((NI) 0);
		{
			while (1) {
				if (!(i_2 < colontmp_)) goto LA3;
				i = i_2;
				switch (((NU8)(s->data[i]))) {
				case 13:
				case 10:
				{
					result = NIM_TRUE;
					goto BeforeRet_;
				}
				break;
				default:
				{
				}
				break;
				}
				i_2 += ((NI) 1);
			} LA3: ;
		}
	}
	result = NIM_FALSE;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NI, lcomma__9av9a6d3ZJnGIb7FBw2t2sTA)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI start, NI theEnd) {
	NI result;
	result = (NI)0;
	result = ((NI) 0);
	{
		NI i;
		NI colontmp_;
		NI T2_;
		NI res;
		i = (NI)0;
		colontmp_ = (NI)0;
		T2_ = (NI)0;
		T2_ = len__P89cqdlERShb9alU3iC0yj8wast(n);
		colontmp_ = (NI)(T2_ + theEnd);
		res = start;
		{
			while (1) {
				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* param;
				if (!(res <= colontmp_)) goto LA4;
				i = res;
				param = (*n)._kind_6.sons->data[i];
				{
					NI T9_;
					if (!!((((*param).flags &((NU32)1<<((NU)(((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 18))&31U)))!=0))) goto LA7_;
					T9_ = (NI)0;
					T9_ = lsub__WT5OU2utip0e3bSZKpu9aHg(g, param);
					result += T9_;
					result += ((NI) 2);
				}
				LA7_: ;
				res += ((NI) 1);
			} LA4: ;
		}
	}
	{
		if (!(((NI) 0) < result)) goto LA12_;
		result -= ((NI) 2);
	}
	LA12_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NI, lsons__9av9a6d3ZJnGIb7FBw2t2sTA_2)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI start, NI theEnd) {
	NI result;
	result = (NI)0;
	result = ((NI) 0);
	{
		NI i;
		NI colontmp_;
		NI T2_;
		NI res;
		i = (NI)0;
		colontmp_ = (NI)0;
		T2_ = (NI)0;
		T2_ = len__P89cqdlERShb9alU3iC0yj8wast(n);
		colontmp_ = (NI)(T2_ + theEnd);
		res = start;
		{
			while (1) {
				NI T5_;
				if (!(res <= colontmp_)) goto LA4;
				i = res;
				T5_ = (NI)0;
				T5_ = lsub__WT5OU2utip0e3bSZKpu9aHg(g, (*n)._kind_6.sons->data[i]);
				result += T5_;
				res += ((NI) 1);
			} LA4: ;
		}
	}
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NI, lsub__WT5OU2utip0e3bSZKpu9aHg)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
	NI result;
{	result = (NI)0;
	{
		if (!(n == 0)) goto LA3_;
		result = ((NI) 0);
		goto BeforeRet_;
	}
	LA3_: ;
	{
		if (!(((NI) 0) < ((*n).comment ? (*n).comment->Sup.len : 0))) goto LA7_;
		result = ((NI) 81);
		goto BeforeRet_;
	}
	LA7_: ;
	switch ((*n).kind) {
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1):
	{
		result = ((NI) 0);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 22):
	{
		{
			NIM_BOOL T13_;
			T13_ = (NIM_BOOL)0;
			T13_ = containsNL__ivIjJNMv9c0wki0AXw9bSikw((*n)._kind_3.strVal);
			if (!T13_) goto LA14_;
			result = ((NI) 81);
		}
		goto LA11_;
		LA14_: ;
		{
			NimStringDesc* T17_;
			T17_ = (NimStringDesc*)0;
			T17_ = atom__9cnUQzmaM0ehJLjixbNyrSQ(g, n);
			result = (T17_ ? T17_->Sup.len : 0);
		}
		LA11_: ;
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 21):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23):
	{
		NimStringDesc* T19_;
		T19_ = (NimStringDesc*)0;
		T19_ = atom__9cnUQzmaM0ehJLjixbNyrSQ(g, n);
		result = (T19_ ? T19_->Sup.len : 0);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 42):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 40):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 60):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 153):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 38):
	{
		NI T21_;
		NI T22_;
		T21_ = (NI)0;
		T21_ = lsub__WT5OU2utip0e3bSZKpu9aHg(g, (*n)._kind_6.sons->data[((NI) 0)]);
		T22_ = (NI)0;
		T22_ = lcomma__9av9a6d3ZJnGIb7FBw2t2sTA(g, n, ((NI) 1), ((NI) -1));
		result = (NI)((NI)(T21_ + T22_) + ((NI) 2));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 58):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 59):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 32):
	{
		result = lsub__WT5OU2utip0e3bSZKpu9aHg(g, (*n)._kind_6.sons->data[((NI) 1)]);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 61):
	{
		NI T25_;
		NI T26_;
		T25_ = (NI)0;
		T25_ = lsub__WT5OU2utip0e3bSZKpu9aHg(g, (*n)._kind_6.sons->data[((NI) 0)]);
		T26_ = (NI)0;
		T26_ = lsub__WT5OU2utip0e3bSZKpu9aHg(g, (*n)._kind_6.sons->data[((NI) 1)]);
		result = (NI)((NI)(T25_ + T26_) + ((NI) 8));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 63):
	{
		{
			NI T30_;
			NI T33_;
			T30_ = (NI)0;
			T30_ = len__P89cqdlERShb9alU3iC0yj8wast(n);
			if (!(((NI) 0) < T30_)) goto LA31_;
			T33_ = (NI)0;
			T33_ = lsub__WT5OU2utip0e3bSZKpu9aHg(g, (*n)._kind_6.sons->data[((NI) 0)]);
			result = (NI)(T33_ + ((NI) 6));
		}
		goto LA28_;
		LA31_: ;
		{
			result = ((NI) 4);
		}
		LA28_: ;
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 62):
	{
		NI T36_;
		T36_ = (NI)0;
		T36_ = lsub__WT5OU2utip0e3bSZKpu9aHg(g, (*n)._kind_6.sons->data[((NI) 0)]);
		result = (NI)(T36_ + ((NI) 7));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 64):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 65):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 71):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 72):
	{
		result = lsub__WT5OU2utip0e3bSZKpu9aHg(g, (*n)._kind_6.sons->data[((NI) 0)]);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 26):
	{
		NI T39_;
		NI T40_;
		T39_ = (NI)0;
		T39_ = lsub__WT5OU2utip0e3bSZKpu9aHg(g, (*n)._kind_6.sons->data[((NI) 0)]);
		T40_ = (NI)0;
		T40_ = lcomma__9av9a6d3ZJnGIb7FBw2t2sTA(g, n, ((NI) 1), ((NI) -1));
		result = (NI)((NI)(T39_ + T40_) + ((NI) 1));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 33):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 73):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 74):
	{
		NI T42_;
		T42_ = (NI)0;
		T42_ = lsons__9av9a6d3ZJnGIb7FBw2t2sTA_2(g, n, ((NI) 0), ((NI) -1));
		result = (NI)(T42_ + ((NI) 3));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 37):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 39):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 41):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 155):
	{
		NI T44_;
		T44_ = (NI)0;
		T44_ = lcomma__9av9a6d3ZJnGIb7FBw2t2sTA(g, n, ((NI) 0), ((NI) -1));
		result = (NI)(T44_ + ((NI) 2));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 160):
	{
		NI T46_;
		T46_ = (NI)0;
		T46_ = lcomma__9av9a6d3ZJnGIb7FBw2t2sTA(g, n, ((NI) 0), ((NI) -1));
		result = (NI)(T46_ + ((NI) 3));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 152):
	{
		result = lcomma__9av9a6d3ZJnGIb7FBw2t2sTA(g, n, ((NI) 0), ((NI) -1));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 54):
	{
		{
			NI T51_;
			NI T54_;
			T51_ = (NI)0;
			T51_ = len__P89cqdlERShb9alU3iC0yj8wast(n);
			if (!(((NI) 0) < T51_)) goto LA52_;
			T54_ = (NI)0;
			T54_ = lcomma__9av9a6d3ZJnGIb7FBw2t2sTA(g, n, ((NI) 0), ((NI) -1));
			result = (NI)(T54_ + ((NI) 2));
		}
		goto LA49_;
		LA52_: ;
		{
			result = ((NI) 3);
		}
		LA49_: ;
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 56):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 57):
	{
		{
			NI T59_;
			NI T62_;
			T59_ = (NI)0;
			T59_ = len__P89cqdlERShb9alU3iC0yj8wast(n);
			if (!(((NI) 0) < T59_)) goto LA60_;
			T62_ = (NI)0;
			T62_ = lsub__WT5OU2utip0e3bSZKpu9aHg(g, (*n)._kind_6.sons->data[((NI) 0)]);
			result += T62_;
		}
		LA60_: ;
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 134):
	{
		NI T64_;
		T64_ = (NI)0;
		T64_ = lcomma__9av9a6d3ZJnGIb7FBw2t2sTA(g, n, ((NI) 0), ((NI) -1));
		result = (NI)(T64_ + ((NI) 7));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 135):
	{
		result = ((NI) 5);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 45):
	{
		NI T67_;
		T67_ = (NI)0;
		T67_ = lsons__9av9a6d3ZJnGIb7FBw2t2sTA_2(g, n, ((NI) 0), ((NI) -1));
		result = (NI)(T67_ + ((NI) 1));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 55):
	{
		NI T69_;
		T69_ = (NI)0;
		T69_ = lsons__9av9a6d3ZJnGIb7FBw2t2sTA_2(g, n, ((NI) 0), ((NI) -1));
		result = (NI)(T69_ + ((NI) 5));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 122):
	{
		NI T71_;
		T71_ = (NI)0;
		T71_ = lcomma__9av9a6d3ZJnGIb7FBw2t2sTA(g, n, ((NI) 0), ((NI) -1));
		result = (NI)(T71_ + ((NI) 5));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 123):
	{
		NI T73_;
		T73_ = (NI)0;
		T73_ = lcomma__9av9a6d3ZJnGIb7FBw2t2sTA(g, n, ((NI) 0), ((NI) -1));
		result = (NI)(T73_ + ((NI) 6));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 46):
	{
		result = lsub__WT5OU2utip0e3bSZKpu9aHg(g, (*n)._kind_6.sons->data[((NI) 0)]);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 51):
	{
		NI T76_;
		T76_ = (NI)0;
		T76_ = lsons__9av9a6d3ZJnGIb7FBw2t2sTA_2(g, n, ((NI) 0), ((NI) -1));
		result = (NI)(T76_ + ((NI) 8));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 52):
	{
		NI T78_;
		T78_ = (NI)0;
		T78_ = lsons__9av9a6d3ZJnGIb7FBw2t2sTA_2(g, n, ((NI) 0), ((NI) -1));
		result = (NI)(T78_ + ((NI) 6));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 102):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 35):
	{
		result = lcomma__9av9a6d3ZJnGIb7FBw2t2sTA(g, n, ((NI) 0), ((NI) -3));
		{
			NI T82_;
			NI T85_;
			NI T86_;
			T82_ = (NI)0;
			T82_ = len__P89cqdlERShb9alU3iC0yj8wast(n);
			if (!!(((*(*n)._kind_6.sons->data[(NI)(T82_ - ((NI) 2))]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA83_;
			T85_ = (NI)0;
			T85_ = len__P89cqdlERShb9alU3iC0yj8wast(n);
			T86_ = (NI)0;
			T86_ = lsub__WT5OU2utip0e3bSZKpu9aHg(g, (*n)._kind_6.sons->data[(NI)(T85_ - ((NI) 2))]);
			result += (NI)(T86_ + ((NI) 2));
		}
		LA83_: ;
		{
			NI T89_;
			NI T92_;
			NI T93_;
			T89_ = (NI)0;
			T89_ = len__P89cqdlERShb9alU3iC0yj8wast(n);
			if (!!(((*(*n)._kind_6.sons->data[(NI)(T89_ - ((NI) 1))]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA90_;
			T92_ = (NI)0;
			T92_ = len__P89cqdlERShb9alU3iC0yj8wast(n);
			T93_ = (NI)0;
			T93_ = lsub__WT5OU2utip0e3bSZKpu9aHg(g, (*n)._kind_6.sons->data[(NI)(T92_ - ((NI) 1))]);
			result += (NI)(T93_ + ((NI) 3));
		}
		LA90_: ;
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 36):
	{
		{
			NI T97_;
			NI T100_;
			T97_ = (NI)0;
			T97_ = len__P89cqdlERShb9alU3iC0yj8wast(n);
			if (!((*(*n)._kind_6.sons->data[(NI)(T97_ - ((NI) 1))]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1))) goto LA98_;
			T100_ = (NI)0;
			T100_ = lcomma__9av9a6d3ZJnGIb7FBw2t2sTA(g, n, ((NI) 0), ((NI) -2));
			result = (NI)(T100_ + ((NI) 2));
		}
		goto LA95_;
		LA98_: ;
		{
			NI T102_;
			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T103_;
			NI T104_;
			T102_ = (NI)0;
			T102_ = lcomma__9av9a6d3ZJnGIb7FBw2t2sTA(g, n, ((NI) 0), ((NI) -3));
			T103_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
			T103_ = lastSon__UPSW0jLTX5qJL51YMUAHgw(n);
			T104_ = (NI)0;
			T104_ = lsub__WT5OU2utip0e3bSZKpu9aHg(g, T103_);
			result = (NI)((NI)(T102_ + ((NI) 5)) + T104_);
		}
		LA95_: ;
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 68):
	{
		NI T106_;
		T106_ = (NI)0;
		T106_ = lcomma__9av9a6d3ZJnGIb7FBw2t2sTA(g, n, ((NI) 0), ((NI) -1));
		result = (NI)(((NI) 12) + T106_);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 69):
	{
		NI T108_;
		T108_ = (NI)0;
		T108_ = lcomma__9av9a6d3ZJnGIb7FBw2t2sTA(g, n, ((NI) 0), ((NI) -1));
		result = (NI)(((NI) 13) + T108_);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 70):
	{
		NI T110_;
		T110_ = (NI)0;
		T110_ = lcomma__9av9a6d3ZJnGIb7FBw2t2sTA(g, n, ((NI) 0), ((NI) -1));
		result = (NI)(((NI) 11) + T110_);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 66):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 67):
	{
		NI T118_;
		result = ((NI) 2);
		{
			NI T114_;
			NI T117_;
			T114_ = (NI)0;
			T114_ = len__P89cqdlERShb9alU3iC0yj8wast(n);
			if (!(((NI) 1) <= T114_)) goto LA115_;
			T117_ = (NI)0;
			T117_ = lsub__WT5OU2utip0e3bSZKpu9aHg(g, (*n)._kind_6.sons->data[((NI) 0)]);
			result += T117_;
		}
		LA115_: ;
		T118_ = (NI)0;
		T118_ = lcomma__9av9a6d3ZJnGIb7FBw2t2sTA(g, n, ((NI) 1), ((NI) -1));
		result += T118_;
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 34):
	{
		NI T120_;
		T120_ = (NI)0;
		T120_ = lsons__9av9a6d3ZJnGIb7FBw2t2sTA_2(g, n, ((NI) 0), ((NI) -1));
		result = (NI)(T120_ + ((NI) 2));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 29):
	{
		NI T122_;
		T122_ = (NI)0;
		T122_ = lsons__9av9a6d3ZJnGIb7FBw2t2sTA_2(g, n, ((NI) 0), ((NI) -1));
		result = (NI)(T122_ + ((NI) 2));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 30):
	{
		NI T124_;
		NI T125_;
		T124_ = (NI)0;
		T124_ = lsons__9av9a6d3ZJnGIb7FBw2t2sTA_2(g, n, ((NI) 0), ((NI) -1));
		T125_ = (NI)0;
		{
			NIM_BOOL T128_;
			NI T129_;
			T128_ = (NIM_BOOL)0;
			T129_ = (NI)0;
			T129_ = len__P89cqdlERShb9alU3iC0yj8wast(n);
			T128_ = (((NI) 0) < T129_);
			if (!(T128_)) goto LA130_;
			T128_ = ((*(*n)._kind_6.sons->data[((NI) 1)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 29));
			LA130_: ;
			if (!T128_) goto LA131_;
			T125_ = ((NI) 2);
		}
		goto LA126_;
		LA131_: ;
		{
			T125_ = ((NI) 0);
		}
		LA126_: ;
		result = (NI)((NI)(T124_ + ((NI) 1)) + T125_);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 31):
	{
		result = lsons__9av9a6d3ZJnGIb7FBw2t2sTA_2(g, n, ((NI) 0), ((NI) -1));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 28):
	{
		result = lsons__9av9a6d3ZJnGIb7FBw2t2sTA_2(g, n, ((NI) 0), ((NI) -1));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 43):
	{
		NI T137_;
		NI T138_;
		T137_ = (NI)0;
		T137_ = lsub__WT5OU2utip0e3bSZKpu9aHg(g, (*n)._kind_6.sons->data[((NI) 0)]);
		T138_ = (NI)0;
		T138_ = lcomma__9av9a6d3ZJnGIb7FBw2t2sTA(g, n, ((NI) 1), ((NI) -1));
		result = (NI)(T137_ + T138_);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 44):
	{
		NI T140_;
		T140_ = (NI)0;
		T140_ = lsons__9av9a6d3ZJnGIb7FBw2t2sTA_2(g, n, ((NI) 0), ((NI) -1));
		result = (NI)(T140_ + ((NI) 2));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 47):
	{
		NI T142_;
		T142_ = (NI)0;
		T142_ = lsub__WT5OU2utip0e3bSZKpu9aHg(g, (*n)._kind_6.sons->data[((NI) 0)]);
		result = (NI)(T142_ + ((NI) 2));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 53):
	{
		NI T144_;
		T144_ = (NI)0;
		T144_ = lsons__9av9a6d3ZJnGIb7FBw2t2sTA_2(g, n, ((NI) 0), ((NI) -1));
		result = (NI)(T144_ + ((NI) 2));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 48):
	{
		NI T146_;
		NI T147_;
		NI T148_;
		T146_ = (NI)0;
		T146_ = lsub__WT5OU2utip0e3bSZKpu9aHg(g, (*(*n)._kind_6.sons->data[((NI) 0)])._kind_6.sons->data[((NI) 0)]);
		T147_ = (NI)0;
		T147_ = lsub__WT5OU2utip0e3bSZKpu9aHg(g, (*(*n)._kind_6.sons->data[((NI) 0)])._kind_6.sons->data[((NI) 1)]);
		T148_ = (NI)0;
		T148_ = lsons__9av9a6d3ZJnGIb7FBw2t2sTA_2(g, n, ((NI) 1), ((NI) -1));
		result = (NI)((NI)((NI)(T146_ + T147_) + T148_) + ((NI) 5));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 49):
	{
		NI T150_;
		T150_ = (NI)0;
		T150_ = lsons__9av9a6d3ZJnGIb7FBw2t2sTA_2(g, n, ((NI) 0), ((NI) -1));
		result = (NI)(T150_ + ((NI) 8));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 50):
	{
		NI T152_;
		T152_ = (NI)0;
		T152_ = lsub__WT5OU2utip0e3bSZKpu9aHg(g, (*n)._kind_6.sons->data[((NI) 0)]);
		result = (NI)(T152_ + ((NI) 7));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 132):
	{
		NI T154_;
		T154_ = (NI)0;
		{
			NI T157_;
			T157_ = (NI)0;
			T157_ = len__P89cqdlERShb9alU3iC0yj8wast(n);
			if (!(((NI) 0) < T157_)) goto LA158_;
			T154_ = lsub__WT5OU2utip0e3bSZKpu9aHg(g, (*n)._kind_6.sons->data[((NI) 0)]);
		}
		goto LA155_;
		LA158_: ;
		{
			T154_ = ((NI) 0);
		}
		LA155_: ;
		result = (NI)(T154_ + ((NI) 8));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 141):
	{
		NI T162_;
		T162_ = (NI)0;
		{
			NI T165_;
			NI T168_;
			T165_ = (NI)0;
			T165_ = len__P89cqdlERShb9alU3iC0yj8wast(n);
			if (!(((NI) 0) < T165_)) goto LA166_;
			T168_ = (NI)0;
			T168_ = lsub__WT5OU2utip0e3bSZKpu9aHg(g, (*n)._kind_6.sons->data[((NI) 0)]);
			T162_ = (NI)(T168_ + ((NI) 1));
		}
		goto LA163_;
		LA166_: ;
		{
			T162_ = ((NI) 0);
		}
		LA163_: ;
		result = (NI)(T162_ + ((NI) 3));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 142):
	{
		NI T171_;
		T171_ = (NI)0;
		{
			NI T174_;
			NI T177_;
			T174_ = (NI)0;
			T174_ = len__P89cqdlERShb9alU3iC0yj8wast(n);
			if (!(((NI) 0) < T174_)) goto LA175_;
			T177_ = (NI)0;
			T177_ = lsub__WT5OU2utip0e3bSZKpu9aHg(g, (*n)._kind_6.sons->data[((NI) 0)]);
			T171_ = (NI)(T177_ + ((NI) 1));
		}
		goto LA172_;
		LA175_: ;
		{
			T171_ = ((NI) 0);
		}
		LA172_: ;
		result = (NI)(T171_ + ((NI) 3));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 143):
	{
		NI T180_;
		T180_ = (NI)0;
		{
			NI T183_;
			NI T186_;
			T183_ = (NI)0;
			T183_ = len__P89cqdlERShb9alU3iC0yj8wast(n);
			if (!(((NI) 0) < T183_)) goto LA184_;
			T186_ = (NI)0;
			T186_ = lsub__WT5OU2utip0e3bSZKpu9aHg(g, (*n)._kind_6.sons->data[((NI) 0)]);
			T180_ = (NI)(T186_ + ((NI) 1));
		}
		goto LA181_;
		LA184_: ;
		{
			T180_ = ((NI) 0);
		}
		LA181_: ;
		result = (NI)(T180_ + ((NI) 3));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 146):
	{
		NI T189_;
		T189_ = (NI)0;
		{
			NI T192_;
			NI T195_;
			T192_ = (NI)0;
			T192_ = len__P89cqdlERShb9alU3iC0yj8wast(n);
			if (!(((NI) 0) < T192_)) goto LA193_;
			T195_ = (NI)0;
			T195_ = lsub__WT5OU2utip0e3bSZKpu9aHg(g, (*n)._kind_6.sons->data[((NI) 0)]);
			T189_ = (NI)(T195_ + ((NI) 1));
		}
		goto LA190_;
		LA193_: ;
		{
			T189_ = ((NI) 0);
		}
		LA190_: ;
		result = (NI)(((NI) 8) + T189_);
		{
			NI T199_;
			NI T202_;
			NI T208_;
			T199_ = (NI)0;
			T199_ = len__P89cqdlERShb9alU3iC0yj8wast(n);
			if (!(((NI) 1) < T199_)) goto LA200_;
			T202_ = (NI)0;
			{
				if (!((*(*n)._kind_6.sons->data[((NI) 1)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 130))) goto LA205_;
				T202_ = ((NI) 6);
			}
			goto LA203_;
			LA205_: ;
			{
				T202_ = ((NI) 9);
			}
			LA203_: ;
			result += T202_;
			T208_ = (NI)0;
			T208_ = lcomma__9av9a6d3ZJnGIb7FBw2t2sTA(g, (*n)._kind_6.sons->data[((NI) 1)], ((NI) 0), ((NI) -1));
			result += T208_;
		}
		LA200_: ;
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 137):
	{
		NI T210_;
		T210_ = (NI)0;
		{
			NI T213_;
			T213_ = (NI)0;
			T213_ = len__P89cqdlERShb9alU3iC0yj8wast(n);
			if (!(((NI) 0) < T213_)) goto LA214_;
			T210_ = lsub__WT5OU2utip0e3bSZKpu9aHg(g, (*n)._kind_6.sons->data[((NI) 0)]);
		}
		goto LA211_;
		LA214_: ;
		{
			T210_ = ((NI) 0);
		}
		LA211_: ;
		result = (NI)(T210_ + ((NI) 8));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 103):
	{
		NI T218_;
		T218_ = (NI)0;
		T218_ = lsons__9av9a6d3ZJnGIb7FBw2t2sTA_2(g, n, ((NI) 0), ((NI) -1));
		result = (NI)(T218_ + ((NI) 3));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 77):
	{
		NI T220_;
		T220_ = (NI)0;
		T220_ = lsub__WT5OU2utip0e3bSZKpu9aHg(g, (*n)._kind_6.sons->data[((NI) 0)]);
		result = (NI)(T220_ + ((NI) 3));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 147):
	{
		NI T222_;
		T222_ = (NI)0;
		T222_ = lsons__9av9a6d3ZJnGIb7FBw2t2sTA_2(g, n, ((NI) 0), ((NI) -1));
		result = (NI)(T222_ + ((NI) 5));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 148):
	{
		NI T224_;
		T224_ = (NI)0;
		T224_ = lsons__9av9a6d3ZJnGIb7FBw2t2sTA_2(g, n, ((NI) 0), ((NI) -1));
		result = (NI)(T224_ + ((NI) 9));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 149):
	{
		NI T226_;
		T226_ = (NI)0;
		T226_ = lsons__9av9a6d3ZJnGIb7FBw2t2sTA_2(g, n, ((NI) 0), ((NI) -1));
		result = (NI)(T226_ + ((NI) 7));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 150):
	{
		{
			NI T230_;
			NI T233_;
			NI T234_;
			T230_ = (NI)0;
			T230_ = len__P89cqdlERShb9alU3iC0yj8wast(n);
			if (!(((NI) 0) < T230_)) goto LA231_;
			T233_ = (NI)0;
			T233_ = lsub__WT5OU2utip0e3bSZKpu9aHg(g, (*n)._kind_6.sons->data[((NI) 0)]);
			T234_ = (NI)0;
			T234_ = lcomma__9av9a6d3ZJnGIb7FBw2t2sTA(g, n, ((NI) 1), ((NI) -1));
			result = (NI)((NI)(T233_ + T234_) + ((NI) 5));
		}
		goto LA228_;
		LA231_: ;
		{
			result = ((NI) 4);
		}
		LA228_: ;
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 151):
	{
		NI T237_;
		T237_ = (NI)0;
		T237_ = lsons__9av9a6d3ZJnGIb7FBw2t2sTA_2(g, n, ((NI) 0), ((NI) -1));
		result = (NI)(T237_ + ((NI) 3));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 99):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 100):
	{
		{
			NI T241_;
			T241_ = (NI)0;
			T241_ = len__P89cqdlERShb9alU3iC0yj8wast(n);
			if (!(((NI) 1) < T241_)) goto LA242_;
			result = ((NI) 81);
		}
		goto LA239_;
		LA242_: ;
		{
			NI T245_;
			T245_ = (NI)0;
			T245_ = lsons__9av9a6d3ZJnGIb7FBw2t2sTA_2(g, n, ((NI) 0), ((NI) -1));
			result = (NI)(T245_ + ((NI) 4));
		}
		LA239_: ;
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 124):
	{
		{
			NI T249_;
			T249_ = (NI)0;
			T249_ = len__P89cqdlERShb9alU3iC0yj8wast(n);
			if (!(((NI) 1) < T249_)) goto LA250_;
			result = ((NI) 81);
		}
		goto LA247_;
		LA250_: ;
		{
			NI T253_;
			T253_ = (NI)0;
			T253_ = lsons__9av9a6d3ZJnGIb7FBw2t2sTA_2(g, n, ((NI) 0), ((NI) -1));
			result = (NI)(T253_ + ((NI) 6));
		}
		LA247_: ;
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 109):
	{
		{
			NIM_BOOL T257_;
			NI T258_;
			NI T262_;
			T257_ = (NIM_BOOL)0;
			T258_ = (NI)0;
			T258_ = len__P89cqdlERShb9alU3iC0yj8wast(n);
			T257_ = (((NI) 0) < T258_);
			if (!(T257_)) goto LA259_;
			T257_ = ((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 73));
			LA259_: ;
			if (!T257_) goto LA260_;
			T262_ = (NI)0;
			T262_ = lsub__WT5OU2utip0e3bSZKpu9aHg(g, (*(*n)._kind_6.sons->data[((NI) 0)])._kind_6.sons->data[((NI) 1)]);
			result = (NI)(((NI) 7) + T262_);
		}
		goto LA255_;
		LA260_: ;
		{
			NI T264_;
			T264_ = (NI)0;
			T264_ = lsub__WT5OU2utip0e3bSZKpu9aHg(g, (*n)._kind_6.sons->data[((NI) 0)]);
			result = (NI)(((NI) 7) + T264_);
		}
		LA255_: ;
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 108):
	{
		NI T266_;
		T266_ = (NI)0;
		T266_ = lsub__WT5OU2utip0e3bSZKpu9aHg(g, (*n)._kind_6.sons->data[((NI) 0)]);
		result = (NI)(T266_ + ((NI) 6));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 104):
	{
		NI T268_;
		T268_ = (NI)0;
		T268_ = lsub__WT5OU2utip0e3bSZKpu9aHg(g, (*n)._kind_6.sons->data[((NI) 0)]);
		result = (NI)(T268_ + ((NI) 6));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 114):
	{
		NI T270_;
		T270_ = (NI)0;
		T270_ = lsub__WT5OU2utip0e3bSZKpu9aHg(g, (*n)._kind_6.sons->data[((NI) 0)]);
		result = (NI)(T270_ + ((NI) 8));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 110):
	{
		NI T272_;
		T272_ = (NI)0;
		T272_ = lsub__WT5OU2utip0e3bSZKpu9aHg(g, (*n)._kind_6.sons->data[((NI) 0)]);
		result = (NI)(T272_ + ((NI) 6));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 111):
	{
		NI T274_;
		T274_ = (NI)0;
		T274_ = lsub__WT5OU2utip0e3bSZKpu9aHg(g, (*n)._kind_6.sons->data[((NI) 0)]);
		result = (NI)(T274_ + ((NI) 9));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 90):
	{
		NI T276_;
		T276_ = (NI)0;
		T276_ = lcomma__9av9a6d3ZJnGIb7FBw2t2sTA(g, n, ((NI) 0), ((NI) -1));
		result = (NI)(T276_ + ((NI) 4));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 125):
	{
		result = ((*n).comment ? (*n).comment->Sup.len : 0);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 85):
	{
		NI T279_;
		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T280_;
		NI T281_;
		T279_ = (NI)0;
		T279_ = lcomma__9av9a6d3ZJnGIb7FBw2t2sTA(g, n, ((NI) 0), ((NI) -2));
		T280_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
		T280_ = lastSon__UPSW0jLTX5qJL51YMUAHgw(n);
		T281_ = (NI)0;
		T281_ = lsub__WT5OU2utip0e3bSZKpu9aHg(g, T280_);
		result = (NI)((NI)(T279_ + T281_) + ((NI) 5));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 78):
	{
		NI T283_;
		NI T284_;
		T283_ = (NI)0;
		T283_ = lsub__WT5OU2utip0e3bSZKpu9aHg(g, (*n)._kind_6.sons->data[((NI) 0)]);
		T284_ = (NI)0;
		T284_ = lsub__WT5OU2utip0e3bSZKpu9aHg(g, (*n)._kind_6.sons->data[((NI) 1)]);
		result = (NI)((NI)(T283_ + ((NI) 4)) + T284_);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 86):
	{
		NI T286_;
		T286_ = (NI)0;
		T286_ = lsons__9av9a6d3ZJnGIb7FBw2t2sTA_2(g, n, ((NI) 0), ((NI) -1));
		result = (NI)(T286_ + ((NI) 7));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 88):
	{
		NI T288_;
		T288_ = (NI)0;
		T288_ = lsub__WT5OU2utip0e3bSZKpu9aHg(g, (*n)._kind_6.sons->data[((NI) 0)]);
		result = (NI)(T288_ + ((NI) 6));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 107):
	{
		NI T290_;
		T290_ = (NI)0;
		T290_ = lsub__WT5OU2utip0e3bSZKpu9aHg(g, (*n)._kind_6.sons->data[((NI) 0)]);
		result = (NI)(T290_ + ((NI) 9));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 75):
	{
		NI T292_;
		T292_ = (NI)0;
		T292_ = lcomma__9av9a6d3ZJnGIb7FBw2t2sTA(g, n, ((NI) 0), ((NI) -1));
		result = (NI)(T292_ + ((NI) 2));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 76):
	{
		NI T294_;
		T294_ = (NI)0;
		T294_ = lcomma__9av9a6d3ZJnGIb7FBw2t2sTA(g, n, ((NI) 1), ((NI) -1));
		result = (NI)(T294_ + ((NI) 2));
		{
			NI T299_;
			if (!!(((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA297_;
			T299_ = (NI)0;
			T299_ = lsub__WT5OU2utip0e3bSZKpu9aHg(g, (*n)._kind_6.sons->data[((NI) 0)]);
			result += (NI)(T299_ + ((NI) 2));
		}
		LA297_: ;
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 87):
	{
		NI T301_;
		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T302_;
		NI T303_;
		T301_ = (NI)0;
		T301_ = lcomma__9av9a6d3ZJnGIb7FBw2t2sTA(g, n, ((NI) 0), ((NI) -2));
		T302_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
		T302_ = lastSon__UPSW0jLTX5qJL51YMUAHgw(n);
		T303_ = (NI)0;
		T303_ = lsub__WT5OU2utip0e3bSZKpu9aHg(g, T302_);
		result = (NI)((NI)(T301_ + T303_) + ((NI) 9));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 133):
	{
		result = ((NI) 7);
	}
	break;
	default:
	{
		result = ((NI) 81);
	}
	break;
	}
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, fits__m9a9aKZ6NucRjuLOHVJ66EWQ)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, NI x) {
	NIM_BOOL result;
	result = (NIM_BOOL)0;
	result = (x <= ((NI) 80));
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, putWithSpace__5FjmUgmw7uaBcQF2ueVA5g)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ kind, NimStringDesc* s) {
	put__bHuqOBd1M9aDS6daf1zl0nw(g, kind, s, NIM_NIL);
	put__bHuqOBd1M9aDS6daf1zl0nw(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 112), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_46), NIM_NIL);
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasCom__pqWt3yB4tQGp7HUfzz4AXg)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
	NIM_BOOL result;
{	result = (NIM_BOOL)0;
	result = NIM_FALSE;
	{
		if (!(n == 0)) goto LA3_;
		result = NIM_FALSE;
		goto BeforeRet_;
	}
	LA3_: ;
	{
		if (!(((NI) 0) < ((*n).comment ? (*n).comment->Sup.len : 0))) goto LA7_;
		result = NIM_TRUE;
		goto BeforeRet_;
	}
	LA7_: ;
	switch ((*n).kind) {
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23):
	{
	}
	break;
	default:
	{
		{
			NI i;
			NI colontmp_;
			NI i_2;
			i = (NI)0;
			colontmp_ = (NI)0;
			colontmp_ = len__P89cqdlERShb9alU3iC0yj8wast(n);
			i_2 = ((NI) 0);
			{
				while (1) {
					if (!(i_2 < colontmp_)) goto LA13;
					i = i_2;
					{
						NIM_BOOL T16_;
						T16_ = (NIM_BOOL)0;
						T16_ = hasCom__pqWt3yB4tQGp7HUfzz4AXg((*n)._kind_6.sons->data[i]);
						if (!T16_) goto LA17_;
						result = NIM_TRUE;
						goto BeforeRet_;
					}
					LA17_: ;
					i_2 += ((NI) 1);
				} LA13: ;
			}
		}
	}
	break;
	}
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, shouldRenderComment__rEVEzjU9aQwh327HhQWPHkQ)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
	NIM_BOOL result;
	result = (NIM_BOOL)0;
	result = NIM_FALSE;
	{
		NIM_BOOL T5_;
		if (!(((NI) 0) < ((*n).comment ? (*n).comment->Sup.len : 0))) goto LA3_;
		T5_ = (NIM_BOOL)0;
		T5_ = !((((*g).flags &((NU16)1<<((NU)(((tyEnum_TRenderFlag__wrPgUo1ExBlHvFnXN2nSHw) 2))&15U)))!=0));
		if (T5_) goto LA6_;
		T5_ = (((*g).flags &((NU16)1<<((NU)(((tyEnum_TRenderFlag__wrPgUo1ExBlHvFnXN2nSHw) 3))&15U)))!=0);
		LA6_: ;
		result = T5_;
	}
	LA3_: ;
	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(NI, maxLineLength__se43FQhaKAIoi42YSEoSXA)(NimStringDesc* s) {
	NI result;
	NI i;
	NI hi;
	NI lineLen;
{	result = (NI)0;
	{
		if (!((s ? s->Sup.len : 0) == ((NI) 0))) goto LA3_;
		result = ((NI) 0);
		goto BeforeRet_;
	}
	LA3_: ;
	i = ((NI) 0);
	hi = (NI)((s ? s->Sup.len : 0) - ((NI) 1));
	lineLen = ((NI) 0);
	{
		while (1) {
			if (!(i <= hi)) goto LA6;
			switch (((NU8)(s->data[i]))) {
			case 0:
			{
				goto LA5;
			}
			break;
			case 13:
			{
				i += ((NI) 1);
				{
					NIM_BOOL T11_;
					T11_ = (NIM_BOOL)0;
					T11_ = (i <= hi);
					if (!(T11_)) goto LA12_;
					T11_ = ((NU8)(s->data[i]) == (NU8)(10));
					LA12_: ;
					if (!T11_) goto LA13_;
					i += ((NI) 1);
				}
				LA13_: ;
				result = ((result >= lineLen) ? result : lineLen);
				lineLen = ((NI) 0);
			}
			break;
			case 10:
			{
				i += ((NI) 1);
				result = ((result >= lineLen) ? result : lineLen);
				lineLen = ((NI) 0);
			}
			break;
			default:
			{
				lineLen += ((NI) 1);
				i += ((NI) 1);
			}
			break;
			}
		} LA6: ;
	} LA5: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, putComment__9abZb6EyaCpuRuhI9aED11og)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, NimStringDesc* s) {
	NI i;
	NI hi;
	NIM_BOOL isCode;
	NIM_BOOL T5_;
	NI ind;
	NimStringDesc* com;
{	{
		if (!((s ? s->Sup.len : 0) == ((NI) 0))) goto LA3_;
		goto BeforeRet_;
	}
	LA3_: ;
	i = ((NI) 0);
	hi = (NI)((s ? s->Sup.len : 0) - ((NI) 1));
	T5_ = (NIM_BOOL)0;
	T5_ = (((NI) 2) <= (s ? s->Sup.len : 0));
	if (!(T5_)) goto LA6_;
	T5_ = !(((NU8)(s->data[((NI) 1)]) == (NU8)(32)));
	LA6_: ;
	isCode = T5_;
	ind = (*g).col;
	com = copyString(((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_47));
	{
		while (1) {
			if (!(i <= hi)) goto LA8;
			switch (((NU8)(s->data[i]))) {
			case 0:
			{
				goto LA7;
			}
			break;
			case 13:
			{
				put__bHuqOBd1M9aDS6daf1zl0nw(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 110), com, NIM_NIL);
				com = copyString(((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_47));
				i += ((NI) 1);
				{
					NIM_BOOL T13_;
					T13_ = (NIM_BOOL)0;
					T13_ = (i <= hi);
					if (!(T13_)) goto LA14_;
					T13_ = ((NU8)(s->data[i]) == (NU8)(10));
					LA14_: ;
					if (!T13_) goto LA15_;
					i += ((NI) 1);
				}
				LA15_: ;
				optNL__xZ7srVmxLhrb9cB1fDthbCg(g, ind);
			}
			break;
			case 10:
			{
				put__bHuqOBd1M9aDS6daf1zl0nw(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 110), com, NIM_NIL);
				com = copyString(((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_47));
				i += ((NI) 1);
				optNL__xZ7srVmxLhrb9cB1fDthbCg(g, ind);
			}
			break;
			case 32:
			case 9:
			{
				com = addChar(com, s->data[i]);
				i += ((NI) 1);
			}
			break;
			default:
			{
				NI j;
				j = i;
				{
					while (1) {
						NIM_BOOL T22_;
						T22_ = (NIM_BOOL)0;
						T22_ = (j <= hi);
						if (!(T22_)) goto LA23_;
						T22_ = ((NU8)(32) < (NU8)(s->data[j]));
						LA23_: ;
						if (!T22_) goto LA21;
						j += ((NI) 1);
					} LA21: ;
				}
				{
					NIM_BOOL T26_;
					T26_ = (NIM_BOOL)0;
					T26_ = !(isCode);
					if (!(T26_)) goto LA27_;
					T26_ = (((NI) 80) < (NI)((*g).col + (NI)(j - i)));
					LA27_: ;
					if (!T26_) goto LA28_;
					put__bHuqOBd1M9aDS6daf1zl0nw(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 110), com, NIM_NIL);
					optNL__xZ7srVmxLhrb9cB1fDthbCg(g, ind);
					com = copyString(((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_47));
				}
				LA28_: ;
				{
					while (1) {
						NIM_BOOL T32_;
						T32_ = (NIM_BOOL)0;
						T32_ = (i <= hi);
						if (!(T32_)) goto LA33_;
						T32_ = ((NU8)(32) < (NU8)(s->data[i]));
						LA33_: ;
						if (!T32_) goto LA31;
						com = addChar(com, s->data[i]);
						i += ((NI) 1);
					} LA31: ;
				}
			}
			break;
			}
		} LA8: ;
	} LA7: ;
	put__bHuqOBd1M9aDS6daf1zl0nw(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 110), com, NIM_NIL);
	optNL__n8JbrzcZm8FmR9aCHItw47w_2(g);
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, gcom__5eccg0mxlFLgBiNmpRHFig_5)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
	{
		NIM_BOOL T3_;
		NI oneSpaceAdded;
		T3_ = (NIM_BOOL)0;
		T3_ = shouldRenderComment__rEVEzjU9aQwh327HhQWPHkQ(g, n);
		if (!T3_) goto LA4_;
		oneSpaceAdded = ((NI) 0);
		{
			NIM_BOOL T8_;
			NIM_BOOL T9_;
			NIM_CHAR T12_;
			T8_ = (NIM_BOOL)0;
			T9_ = (NIM_BOOL)0;
			T9_ = ((*g).pendingNL < ((NI) 0));
			if (!(T9_)) goto LA10_;
			T9_ = (((NI) 0) < ((*g).buf ? (*g).buf->Sup.len : 0));
			LA10_: ;
			T8_ = T9_;
			if (!(T8_)) goto LA11_;
			T12_ = (NIM_CHAR)0;
			T12_ = X5BX5D___okzHJ6GE9cv0bYG3b4r5KCAsystem((*g).buf, ((NI) 1));
			T8_ = !(((NU8)(T12_) == (NU8)(32)));
			LA11_: ;
			if (!T8_) goto LA13_;
			put__bHuqOBd1M9aDS6daf1zl0nw(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 112), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_46), NIM_NIL);
			oneSpaceAdded = ((NI) 1);
		}
		LA13_: ;
		{
			NIM_BOOL T17_;
			NIM_BOOL T18_;
			NI ml;
			T17_ = (NIM_BOOL)0;
			T18_ = (NIM_BOOL)0;
			T18_ = ((*g).pendingNL < ((NI) 0));
			if (!(T18_)) goto LA19_;
			T18_ = (((NI) 0) < ((*g).buf ? (*g).buf->Sup.len : 0));
			LA19_: ;
			T17_ = T18_;
			if (!(T17_)) goto LA20_;
			T17_ = ((*g).col < ((NI) 30));
			LA20_: ;
			if (!T17_) goto LA21_;
			ml = maxLineLength__se43FQhaKAIoi42YSEoSXA((*n).comment);
			{
				tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* T27_;
				NimStringDesc* T28_;
				if (!((NI)(ml + ((NI) 30)) <= ((NI) 80))) goto LA25_;
				T27_ = (tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg*)0;
				T27_ = g;
				T28_ = (NimStringDesc*)0;
				T28_ = spaces__rssDy7zs9cDeoYTeCoIy0Wgstrutils(((NI) ((NI)(((NI) 30) - (*g).col))));
				put__bHuqOBd1M9aDS6daf1zl0nw(T27_, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 112), T28_, NIM_NIL);
				(*g).col -= oneSpaceAdded;
			}
			LA25_: ;
		}
		LA21_: ;
		putComment__9abZb6EyaCpuRuhI9aED11og(g, (*n).comment);
	}
	LA4_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, popAllComs__n8JbrzcZm8FmR9aCHItw47w_5)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g) {
	unsureAsgnRef((void**) (&(*g).comStack), (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) setLengthSeqV2(&((*g).comStack)->Sup, (&NTI__ehmV9bTklH2Gt9cXHV9c0HLeQ_), ((NI) 0)));
}
N_LIB_PRIVATE N_NIMCALL(void, gcoms__n8JbrzcZm8FmR9aCHItw47w_4)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g) {
	{
		NI i;
		NI colontmp_;
		NI T2_;
		NI res;
		i = (NI)0;
		colontmp_ = (NI)0;
		T2_ = (((*g).comStack ? (*g).comStack->Sup.len : 0)-1);
		colontmp_ = T2_;
		res = ((NI) 0);
		{
			while (1) {
				if (!(res <= colontmp_)) goto LA4;
				i = res;
				gcom__5eccg0mxlFLgBiNmpRHFig_5(g, (*g).comStack->data[i]);
				res += ((NI) 1);
			} LA4: ;
		}
	}
	popAllComs__n8JbrzcZm8FmR9aCHItw47w_5(g);
}
N_LIB_PRIVATE N_NIMCALL(void, gcommaAux__bQ9aCy7WNa8SDWp6lu2Yncw)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI ind, NI start, NI theEnd, tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ separator) {
	{
		NI i;
		NI colontmp_;
		NI T2_;
		NI res;
		i = (NI)0;
		colontmp_ = (NI)0;
		T2_ = (NI)0;
		T2_ = len__P89cqdlERShb9alU3iC0yj8wast(n);
		colontmp_ = (NI)(T2_ + theEnd);
		res = start;
		{
			while (1) {
				NIM_BOOL c;
				NI T5_;
				NI sublen;
				NI T6_;
				NI oldLen;
				NI T15_;
				if (!(res <= colontmp_)) goto LA4;
				i = res;
				T5_ = (NI)0;
				T5_ = len__P89cqdlERShb9alU3iC0yj8wast(n);
				c = (i < (NI)(T5_ + theEnd));
				T6_ = (NI)0;
				T6_ = lsub__WT5OU2utip0e3bSZKpu9aHg((&(*g)), (*n)._kind_6.sons->data[i]);
				sublen = (NI)(T6_ + c);
				{
					NIM_BOOL T9_;
					tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg T10_;
					NIM_BOOL T11_;
					T9_ = (NIM_BOOL)0;
					nimZeroMem((void*)(&T10_), sizeof(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg));
					nimCopyMem((void*)(&T10_), (NIM_CONST void*)(&(*g)), sizeof(T10_));
					T11_ = (NIM_BOOL)0;
					T11_ = fits__m9a9aKZ6NucRjuLOHVJ66EWQ((&T10_), (NI)((*g).lineLen + sublen));
					T9_ = !(T11_);
					if (!(T9_)) goto LA12_;
					T9_ = ((NI)(ind + sublen) < ((NI) 80));
					LA12_: ;
					if (!T9_) goto LA13_;
					optNL__xZ7srVmxLhrb9cB1fDthbCg(g, ind);
				}
				LA13_: ;
				T15_ = ((*g).tokens ? (*g).tokens->Sup.len : 0);
				oldLen = T15_;
				gsub__5eccg0mxlFLgBiNmpRHFig(g, (*n)._kind_6.sons->data[i]);
				{
					if (!c) goto LA18_;
					{
						NI T22_;
						T22_ = ((*g).tokens ? (*g).tokens->Sup.len : 0);
						if (!(oldLen < T22_)) goto LA23_;
						putWithSpace__5FjmUgmw7uaBcQF2ueVA5g(g, separator, TokTypeToStr__7y4sYGQdJmj2c4r0emPULw[(separator)- 0]);
					}
					LA23_: ;
					{
						NIM_BOOL T27_;
						T27_ = (NIM_BOOL)0;
						T27_ = hasCom__pqWt3yB4tQGp7HUfzz4AXg((*n)._kind_6.sons->data[i]);
						if (!T27_) goto LA28_;
						gcoms__n8JbrzcZm8FmR9aCHItw47w_4(g);
						optNL__xZ7srVmxLhrb9cB1fDthbCg(g, ind);
					}
					LA28_: ;
				}
				LA18_: ;
				res += ((NI) 1);
			} LA4: ;
		}
	}
}
N_LIB_PRIVATE N_NIMCALL(void, gcomma__cePKc9cEQau31w9auAvt0icA)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI start, NI theEnd) {
	NI ind;
	ind = (*g).lineLen;
	{
		if (!(((NI) 40) < ind)) goto LA3_;
		ind = (NI)((*g).indent + ((NI) 4));
	}
	LA3_: ;
	gcommaAux__bQ9aCy7WNa8SDWp6lu2Yncw(g, n, ind, start, theEnd, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 101));
}
N_LIB_PRIVATE N_NIMCALL(void, gsub__HNcJVTbsLN2PfMmnG6BxYw)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI i) {
	{
		NI T3_;
		T3_ = (NI)0;
		T3_ = len__P89cqdlERShb9alU3iC0yj8wast(n);
		if (!(i < T3_)) goto LA4_;
		gsub__5eccg0mxlFLgBiNmpRHFig(g, (*n)._kind_6.sons->data[i]);
	}
	goto LA1_;
	LA4_: ;
	{
		NimStringDesc* T7_;
		NimStringDesc* T8_;
		T7_ = (NimStringDesc*)0;
		T8_ = (NimStringDesc*)0;
		T8_ = nimIntToStr(i);
		T7_ = rawNewString((T8_ ? T8_->Sup.len : 0) + (reprEnum((NI)(*n).kind, (&NTI__G4E4Gxe7oI2Cm03rkiOzQw_)) ? reprEnum((NI)(*n).kind, (&NTI__G4E4Gxe7oI2Cm03rkiOzQw_))->Sup.len : 0) + 26);
appendString(T7_, ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_50));
appendString(T7_, T8_);
appendString(T7_, ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_51));
appendString(T7_, reprEnum((NI)(*n).kind, (&NTI__G4E4Gxe7oI2Cm03rkiOzQw_)));
appendString(T7_, ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_52));
		put__bHuqOBd1M9aDS6daf1zl0nw(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 109), T7_, NIM_NIL);
	}
	LA1_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyEnum_BracketKind__vg9aVz6PBWRfhxLp28uoo3g, bracketKind__XW337f4wj4cvRzuUOidlVA)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
	tyEnum_BracketKind__vg9aVz6PBWRfhxLp28uoo3g result;
	result = (tyEnum_BracketKind__vg9aVz6PBWRfhxLp28uoo3g)0;
	{
		if (!!((((*g).flags &((NU16)1<<((NU)(((tyEnum_TRenderFlag__wrPgUo1ExBlHvFnXN2nSHw) 5))&15U)))!=0))) goto LA3_;
		switch ((*n).kind) {
		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 56):
		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 57):
		{
			{
				NI T8_;
				T8_ = (NI)0;
				T8_ = len__P89cqdlERShb9alU3iC0yj8wast(n);
				if (!(((NI) 0) < T8_)) goto LA9_;
				result = bracketKind__XW337f4wj4cvRzuUOidlVA(g, (*n)._kind_6.sons->data[((NI) 0)]);
			}
			LA9_: ;
		}
		break;
		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
		{
			if (eqStrings((*(*(*n)._kind_4.sym).name).s, ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_53))) goto LA12_;
			if (eqStrings((*(*(*n)._kind_4.sym).name).s, ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_54))) goto LA13_;
			if (eqStrings((*(*(*n)._kind_4.sym).name).s, ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_55))) goto LA14_;
			if (eqStrings((*(*(*n)._kind_4.sym).name).s, ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_56))) goto LA15_;
			goto LA16_;
			LA12_: ;
			{
				result = ((tyEnum_BracketKind__vg9aVz6PBWRfhxLp28uoo3g) 1);
			}
			goto LA17_;
			LA13_: ;
			{
				result = ((tyEnum_BracketKind__vg9aVz6PBWRfhxLp28uoo3g) 2);
			}
			goto LA17_;
			LA14_: ;
			{
				result = ((tyEnum_BracketKind__vg9aVz6PBWRfhxLp28uoo3g) 3);
			}
			goto LA17_;
			LA15_: ;
			{
				result = ((tyEnum_BracketKind__vg9aVz6PBWRfhxLp28uoo3g) 4);
			}
			goto LA17_;
			LA16_: ;
			{
				result = ((tyEnum_BracketKind__vg9aVz6PBWRfhxLp28uoo3g) 0);
			}
			LA17_: ;
		}
		break;
		default:
		{
			result = ((tyEnum_BracketKind__vg9aVz6PBWRfhxLp28uoo3g) 0);
		}
		break;
		}
	}
	LA3_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, gcomma__WBsq6aIWI0YbAY07tgvprg)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyTuple__O2u2Fk7tlGg9b7lAVNkV3hw c, NI start, NI theEnd) {
	NI ind;
	ind = (NI)0;
	{
		if (!((c.Field1 &((NU8)1<<((NU)(((tyEnum_TSubFlag__HgctW1zPuXVJBXUriqTnfQ) 1))&7U)))!=0)) goto LA3_;
		ind = (NI)((*g).indent + ((NI) 2));
	}
	goto LA1_;
	LA3_: ;
	{
		ind = (*g).lineLen;
		{
			if (!(((NI) 40) < ind)) goto LA8_;
			ind = (NI)((*g).indent + ((NI) 4));
		}
		LA8_: ;
	}
	LA1_: ;
	gcommaAux__bQ9aCy7WNa8SDWp6lu2Yncw(g, n, ind, start, theEnd, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 101));
}
N_LIB_PRIVATE N_NIMCALL(void, gsemicolon__cePKc9cEQau31w9auAvt0icA_2)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI start, NI theEnd) {
	NI ind;
	ind = (*g).lineLen;
	{
		if (!(((NI) 40) < ind)) goto LA3_;
		ind = (NI)((*g).indent + ((NI) 4));
	}
	LA3_: ;
	gcommaAux__bQ9aCy7WNa8SDWp6lu2Yncw(g, n, ind, start, theEnd, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 102));
}
N_LIB_PRIVATE N_NIMCALL(void, doParamsAux__KLxu6hJo9aBH9aQCSRS509cEQ)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* params) {
	{
		NI T3_;
		T3_ = (NI)0;
		T3_ = len__P89cqdlERShb9alU3iC0yj8wast(params);
		if (!(((NI) 1) < T3_)) goto LA4_;
		put__bHuqOBd1M9aDS6daf1zl0nw(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 89), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_45), NIM_NIL);
		gsemicolon__cePKc9cEQau31w9auAvt0icA_2(g, params, ((NI) 1), ((NI) -1));
		put__bHuqOBd1M9aDS6daf1zl0nw(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 90), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_48), NIM_NIL);
	}
	LA4_: ;
	{
		NIM_BOOL T8_;
		NI T9_;
		T8_ = (NIM_BOOL)0;
		T9_ = (NI)0;
		T9_ = len__P89cqdlERShb9alU3iC0yj8wast(params);
		T8_ = (((NI) 0) < T9_);
		if (!(T8_)) goto LA10_;
		T8_ = !(((*(*params)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)));
		LA10_: ;
		if (!T8_) goto LA11_;
		putWithSpace__5FjmUgmw7uaBcQF2ueVA5g(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 109), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_76));
		gsub__5eccg0mxlFLgBiNmpRHFig(g, (*params)._kind_6.sons->data[((NI) 0)]);
	}
	LA11_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, skipHiddenNodes__xsZ0eV431D9bIk9c9c4n9ak9cCg)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
	result = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
	result = n;
	{
		while (1) {
			if (!!((result == NIM_NIL))) goto LA2;
			{
				NIM_BOOL T5_;
				NI T7_;
				T5_ = (NIM_BOOL)0;
				T5_ = ((*result).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 58) || (*result).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 59) || (*result).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 32));
				if (!(T5_)) goto LA6_;
				T7_ = (NI)0;
				T7_ = len__P89cqdlERShb9alU3iC0yj8wast(result);
				T5_ = (((NI) 1) < T7_);
				LA6_: ;
				if (!T5_) goto LA8_;
				result = (*result)._kind_6.sons->data[((NI) 1)];
			}
			goto LA3_;
			LA8_: ;
			{
				NIM_BOOL T11_;
				NI T13_;
				T11_ = (NIM_BOOL)0;
				T11_ = ((*result).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 46) || (*result).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 64) || (*result).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 65) || (*result).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 71) || (*result).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 72));
				if (!(T11_)) goto LA12_;
				T13_ = (NI)0;
				T13_ = len__P89cqdlERShb9alU3iC0yj8wast(result);
				T11_ = (((NI) 0) < T13_);
				LA12_: ;
				if (!T11_) goto LA14_;
				result = (*result)._kind_6.sons->data[((NI) 0)];
			}
			goto LA3_;
			LA14_: ;
			{
				goto LA1;
			}
			LA3_: ;
		} LA2: ;
	} LA1: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, infixArgument__HNcJVTbsLN2PfMmnG6BxYw_2)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI i) {
	NIM_BOOL needsParenthesis;
	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* nNext;
{	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = (i < ((NI) 1));
		if (!(T3_)) goto LA4_;
		T3_ = (((NI) 2) < i);
		LA4_: ;
		if (!T3_) goto LA5_;
		goto BeforeRet_;
	}
	LA5_: ;
	needsParenthesis = NIM_FALSE;
	nNext = skipHiddenNodes__xsZ0eV431D9bIk9c9c4n9ak9cCg((*n)._kind_6.sons->data[i]);
	{
		if (!((*nNext).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 29))) goto LA9_;
		{
			NIM_BOOL T13_;
			tyObject_TIdent__GufRQq9c0miSybX3zBD4tyA* nextId;
			tyObject_TIdent__GufRQq9c0miSybX3zBD4tyA* nnId;
			T13_ = (NIM_BOOL)0;
			T13_ = ((*(*nNext)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3) || (*(*nNext)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2));
			if (!(T13_)) goto LA14_;
			T13_ = ((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3) || (*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2));
			LA14_: ;
			if (!T13_) goto LA15_;
			{
				if (!((*(*nNext)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA19_;
				nextId = (*(*(*nNext)._kind_6.sons->data[((NI) 0)])._kind_4.sym).name;
			}
			goto LA17_;
			LA19_: ;
			{
				nextId = (*(*nNext)._kind_6.sons->data[((NI) 0)])._kind_5.ident;
			}
			LA17_: ;
			{
				if (!((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA24_;
				nnId = (*(*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym).name;
			}
			goto LA22_;
			LA24_: ;
			{
				nnId = (*(*n)._kind_6.sons->data[((NI) 0)])._kind_5.ident;
			}
			LA22_: ;
			{
				if (!(i == ((NI) 1))) goto LA29_;
				{
					NI T33_;
					NI T34_;
					T33_ = (NI)0;
					T33_ = getPrecedence__xjNws35CZ6ofA0bs473Heg(nextId);
					T34_ = (NI)0;
					T34_ = getPrecedence__xjNws35CZ6ofA0bs473Heg(nnId);
					if (!(T33_ < T34_)) goto LA35_;
					needsParenthesis = NIM_TRUE;
				}
				LA35_: ;
			}
			goto LA27_;
			LA29_: ;
			{
				if (!(i == ((NI) 2))) goto LA38_;
				{
					NI T42_;
					NI T43_;
					T42_ = (NI)0;
					T42_ = getPrecedence__xjNws35CZ6ofA0bs473Heg(nextId);
					T43_ = (NI)0;
					T43_ = getPrecedence__xjNws35CZ6ofA0bs473Heg(nnId);
					if (!(T42_ <= T43_)) goto LA44_;
					needsParenthesis = NIM_TRUE;
				}
				LA44_: ;
			}
			goto LA27_;
			LA38_: ;
			LA27_: ;
		}
		LA15_: ;
	}
	LA9_: ;
	{
		if (!needsParenthesis) goto LA48_;
		put__bHuqOBd1M9aDS6daf1zl0nw(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 89), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_45), NIM_NIL);
	}
	LA48_: ;
	gsub__HNcJVTbsLN2PfMmnG6BxYw(g, n, i);
	{
		if (!needsParenthesis) goto LA52_;
		put__bHuqOBd1M9aDS6daf1zl0nw(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 90), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_48), NIM_NIL);
	}
	LA52_: ;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isKeyword__N1ZnIJchVZRKfKk15xA7QQ)(tyObject_TIdent__GufRQq9c0miSybX3zBD4tyA* i) {
	NIM_BOOL result;
	result = (NIM_BOOL)0;
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = (((NI) 1) <= (*i).Sup.id);
		if (!(T3_)) goto LA4_;
		T3_ = ((*i).Sup.id <= ((NI) 66));
		LA4_: ;
		if (!T3_) goto LA5_;
		result = NIM_TRUE;
	}
	LA5_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, gcond__5eccg0mxlFLgBiNmpRHFig_6)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
	{
		if (!((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126))) goto LA3_;
		put__bHuqOBd1M9aDS6daf1zl0nw(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 89), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_45), NIM_NIL);
	}
	LA3_: ;
	gsub__5eccg0mxlFLgBiNmpRHFig(g, n);
	{
		if (!((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126))) goto LA7_;
		put__bHuqOBd1M9aDS6daf1zl0nw(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 90), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_48), NIM_NIL);
	}
	LA7_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, gsons__WBsq6aIWI0YbAY07tgvprg_2)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyTuple__O2u2Fk7tlGg9b7lAVNkV3hw c, NI start, NI theEnd) {
	{
		NI i;
		NI colontmp_;
		NI T2_;
		NI res;
		i = (NI)0;
		colontmp_ = (NI)0;
		T2_ = (NI)0;
		T2_ = len__P89cqdlERShb9alU3iC0yj8wast(n);
		colontmp_ = (NI)(T2_ + theEnd);
		res = start;
		{
			while (1) {
				if (!(res <= colontmp_)) goto LA4;
				i = res;
				gsub__NmOOKTnnEkQl0J72fGke1g(g, (*n)._kind_6.sons->data[i], c);
				res += ((NI) 1);
			} LA4: ;
		}
	}
}
N_LIB_PRIVATE N_NIMCALL(void, dedent__n8JbrzcZm8FmR9aCHItw47w_6)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g) {
	(*g).indent -= ((NI) 2);
	{
		if (!(((NI) 2) < (*g).pendingNL)) goto LA3_;
		(*g).pendingNL -= ((NI) 2);
		(*g).lineLen -= ((NI) 2);
	}
	LA3_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, putNL__xZ7srVmxLhrb9cB1fDthbCg_2)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, NI indent) {
	{
		if (!(((NI) 0) <= (*g).pendingNL)) goto LA3_;
		addPendingNL__n8JbrzcZm8FmR9aCHItw47w_3(g);
	}
	goto LA1_;
	LA3_: ;
	{
		addTok__bHuqOBd1M9aDS6daf1zl0nw_2(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 112), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_4), NIM_NIL);
		(*g).col = ((NI) 0);
	}
	LA1_: ;
	(*g).pendingNL = indent;
	(*g).lineLen = indent;
	(*g).pendingWhitespace = ((NI) -1);
}
N_LIB_PRIVATE N_NIMCALL(void, putNL__n8JbrzcZm8FmR9aCHItw47w_7)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g) {
	putNL__xZ7srVmxLhrb9cB1fDthbCg_2(g, (*g).indent);
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, longMode__FJ4I049aFDsnEwVjsz5GKFQ)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI start, NI theEnd) {
	NIM_BOOL result;
	result = (NIM_BOOL)0;
	result = (((NI) 0) < ((*n).comment ? (*n).comment->Sup.len : 0));
	{
		if (!!(result)) goto LA3_;
		{
			NI i;
			NI colontmp_;
			NI T6_;
			NI res;
			i = (NI)0;
			colontmp_ = (NI)0;
			T6_ = (NI)0;
			T6_ = len__P89cqdlERShb9alU3iC0yj8wast(n);
			colontmp_ = (NI)(T6_ + theEnd);
			res = start;
			{
				while (1) {
					if (!(res <= colontmp_)) goto LA8;
					i = res;
					{
						NI T11_;
						T11_ = (NI)0;
						T11_ = lsub__WT5OU2utip0e3bSZKpu9aHg(g, (*n)._kind_6.sons->data[i]);
						if (!(((NI) 80) < T11_)) goto LA12_;
						result = NIM_TRUE;
						goto LA5;
					}
					LA12_: ;
					res += ((NI) 1);
				} LA8: ;
			}
		} LA5: ;
	}
	LA3_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, gif__5eccg0mxlFLgBiNmpRHFig_7)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
	tyTuple__O2u2Fk7tlGg9b7lAVNkV3hw c;
	nimZeroMem((void*)(&c), sizeof(tyTuple__O2u2Fk7tlGg9b7lAVNkV3hw));
	gcond__5eccg0mxlFLgBiNmpRHFig_6(g, (*(*n)._kind_6.sons->data[((NI) 0)])._kind_6.sons->data[((NI) 0)]);
	initContext__ATR9atx4JGXXaRJqSs0YyPQ((&c));
	putWithSpace__5FjmUgmw7uaBcQF2ueVA5g(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 103), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_49));
	{
		NIM_BOOL T3_;
		NI T5_;
		T3_ = (NIM_BOOL)0;
		T3_ = longMode__FJ4I049aFDsnEwVjsz5GKFQ((&(*g)), n, ((NI) 0), ((NI) -1));
		if (T3_) goto LA4_;
		T5_ = (NI)0;
		T5_ = lsub__WT5OU2utip0e3bSZKpu9aHg((&(*g)), (*(*n)._kind_6.sons->data[((NI) 0)])._kind_6.sons->data[((NI) 1)]);
		T3_ = (((NI) 80) < (NI)(T5_ + (*g).lineLen));
		LA4_: ;
		if (!T3_) goto LA6_;
		c.Field1 |= ((NU8)1)<<((((tyEnum_TSubFlag__HgctW1zPuXVJBXUriqTnfQ) 0)) & 7);
	}
	LA6_: ;
	gcoms__n8JbrzcZm8FmR9aCHItw47w_4(g);
	gstmts__ZgGwD8V7yy9cPF3ZhVNGmFA(g, (*(*n)._kind_6.sons->data[((NI) 0)])._kind_6.sons->data[((NI) 1)], c, NIM_TRUE);
	{
		NI i;
		NI colontmp_;
		NI i_2;
		i = (NI)0;
		colontmp_ = (NI)0;
		colontmp_ = len__P89cqdlERShb9alU3iC0yj8wast(n);
		i_2 = ((NI) 1);
		{
			while (1) {
				if (!(i_2 < colontmp_)) goto LA10;
				i = i_2;
				optNL__n8JbrzcZm8FmR9aCHItw47w_2(g);
				gsub__NmOOKTnnEkQl0J72fGke1g(g, (*n)._kind_6.sons->data[i], c);
				i_2 += ((NI) 1);
			} LA10: ;
		}
	}
}
N_LIB_PRIVATE N_NIMCALL(void, gwhile__5eccg0mxlFLgBiNmpRHFig_8)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
	tyTuple__O2u2Fk7tlGg9b7lAVNkV3hw c;
	nimZeroMem((void*)(&c), sizeof(tyTuple__O2u2Fk7tlGg9b7lAVNkV3hw));
	putWithSpace__5FjmUgmw7uaBcQF2ueVA5g(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 66), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_95));
	gcond__5eccg0mxlFLgBiNmpRHFig_6(g, (*n)._kind_6.sons->data[((NI) 0)]);
	putWithSpace__5FjmUgmw7uaBcQF2ueVA5g(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 103), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_49));
	initContext__ATR9atx4JGXXaRJqSs0YyPQ((&c));
	{
		NIM_BOOL T3_;
		NI T5_;
		T3_ = (NIM_BOOL)0;
		T3_ = longMode__FJ4I049aFDsnEwVjsz5GKFQ((&(*g)), n, ((NI) 0), ((NI) -1));
		if (T3_) goto LA4_;
		T5_ = (NI)0;
		T5_ = lsub__WT5OU2utip0e3bSZKpu9aHg((&(*g)), (*n)._kind_6.sons->data[((NI) 1)]);
		T3_ = (((NI) 80) < (NI)(T5_ + (*g).lineLen));
		LA4_: ;
		if (!T3_) goto LA6_;
		c.Field1 |= ((NU8)1)<<((((tyEnum_TSubFlag__HgctW1zPuXVJBXUriqTnfQ) 0)) & 7);
	}
	LA6_: ;
	gcoms__n8JbrzcZm8FmR9aCHItw47w_4(g);
	gstmts__ZgGwD8V7yy9cPF3ZhVNGmFA(g, (*n)._kind_6.sons->data[((NI) 1)], c, NIM_TRUE);
}
N_LIB_PRIVATE N_NIMCALL(void, gpragmaBlock__5eccg0mxlFLgBiNmpRHFig_9)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
	tyTuple__O2u2Fk7tlGg9b7lAVNkV3hw c;
	nimZeroMem((void*)(&c), sizeof(tyTuple__O2u2Fk7tlGg9b7lAVNkV3hw));
	gsub__5eccg0mxlFLgBiNmpRHFig(g, (*n)._kind_6.sons->data[((NI) 0)]);
	putWithSpace__5FjmUgmw7uaBcQF2ueVA5g(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 103), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_49));
	initContext__ATR9atx4JGXXaRJqSs0YyPQ((&c));
	{
		NIM_BOOL T3_;
		NI T5_;
		T3_ = (NIM_BOOL)0;
		T3_ = longMode__FJ4I049aFDsnEwVjsz5GKFQ((&(*g)), n, ((NI) 0), ((NI) -1));
		if (T3_) goto LA4_;
		T5_ = (NI)0;
		T5_ = lsub__WT5OU2utip0e3bSZKpu9aHg((&(*g)), (*n)._kind_6.sons->data[((NI) 1)]);
		T3_ = (((NI) 80) < (NI)(T5_ + (*g).lineLen));
		LA4_: ;
		if (!T3_) goto LA6_;
		c.Field1 |= ((NU8)1)<<((((tyEnum_TSubFlag__HgctW1zPuXVJBXUriqTnfQ) 0)) & 7);
	}
	LA6_: ;
	gcoms__n8JbrzcZm8FmR9aCHItw47w_4(g);
	gstmts__ZgGwD8V7yy9cPF3ZhVNGmFA(g, (*n)._kind_6.sons->data[((NI) 1)], c, NIM_TRUE);
}
N_LIB_PRIVATE N_NIMCALL(void, gcase__5eccg0mxlFLgBiNmpRHFig_10)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
	tyTuple__O2u2Fk7tlGg9b7lAVNkV3hw c;
	NI last;
{	nimZeroMem((void*)(&c), sizeof(tyTuple__O2u2Fk7tlGg9b7lAVNkV3hw));
	initContext__ATR9atx4JGXXaRJqSs0YyPQ((&c));
	{
		NI T3_;
		T3_ = (NI)0;
		T3_ = len__P89cqdlERShb9alU3iC0yj8wast(n);
		if (!(T3_ == ((NI) 0))) goto LA4_;
		goto BeforeRet_;
	}
	LA4_: ;
	{
		NI T8_;
		T8_ = (NI)0;
		T8_ = len__P89cqdlERShb9alU3iC0yj8wast(n);
		if (!((*(*n)._kind_6.sons->data[(NI)(T8_ - ((NI) 1))]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 88))) goto LA9_;
		last = ((NI) -2);
	}
	goto LA6_;
	LA9_: ;
	{
		last = ((NI) -1);
	}
	LA6_: ;
	{
		NIM_BOOL T14_;
		T14_ = (NIM_BOOL)0;
		T14_ = longMode__FJ4I049aFDsnEwVjsz5GKFQ((&(*g)), n, ((NI) 0), last);
		if (!T14_) goto LA15_;
		c.Field1 |= ((NU8)1)<<((((tyEnum_TSubFlag__HgctW1zPuXVJBXUriqTnfQ) 0)) & 7);
	}
	LA15_: ;
	putWithSpace__5FjmUgmw7uaBcQF2ueVA5g(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 10), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_96));
	gcond__5eccg0mxlFLgBiNmpRHFig_6(g, (*n)._kind_6.sons->data[((NI) 0)]);
	gcoms__n8JbrzcZm8FmR9aCHItw47w_4(g);
	optNL__n8JbrzcZm8FmR9aCHItw47w_2(g);
	gsons__WBsq6aIWI0YbAY07tgvprg_2(g, n, c, ((NI) 1), last);
	{
		NI T27_;
		if (!(last == ((NI) -2))) goto LA19_;
		initContext__ATR9atx4JGXXaRJqSs0YyPQ((&c));
		{
			NI T23_;
			NIM_BOOL T24_;
			T23_ = (NI)0;
			T23_ = len__P89cqdlERShb9alU3iC0yj8wast(n);
			T24_ = (NIM_BOOL)0;
			T24_ = longMode__FJ4I049aFDsnEwVjsz5GKFQ((&(*g)), (*n)._kind_6.sons->data[(NI)(T23_ - ((NI) 1))], ((NI) 0), ((NI) -1));
			if (!T24_) goto LA25_;
			c.Field1 |= ((NU8)1)<<((((tyEnum_TSubFlag__HgctW1zPuXVJBXUriqTnfQ) 0)) & 7);
		}
		LA25_: ;
		T27_ = (NI)0;
		T27_ = len__P89cqdlERShb9alU3iC0yj8wast(n);
		gsub__NmOOKTnnEkQl0J72fGke1g(g, (*n)._kind_6.sons->data[(NI)(T27_ - ((NI) 1))], c);
	}
	LA19_: ;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, gtry__5eccg0mxlFLgBiNmpRHFig_11)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
	tyTuple__O2u2Fk7tlGg9b7lAVNkV3hw c;
	nimZeroMem((void*)(&c), sizeof(tyTuple__O2u2Fk7tlGg9b7lAVNkV3hw));
	put__bHuqOBd1M9aDS6daf1zl0nw(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 60), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_97), NIM_NIL);
	putWithSpace__5FjmUgmw7uaBcQF2ueVA5g(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 103), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_49));
	initContext__ATR9atx4JGXXaRJqSs0YyPQ((&c));
	{
		NIM_BOOL T3_;
		NI T5_;
		T3_ = (NIM_BOOL)0;
		T3_ = longMode__FJ4I049aFDsnEwVjsz5GKFQ((&(*g)), n, ((NI) 0), ((NI) -1));
		if (T3_) goto LA4_;
		T5_ = (NI)0;
		T5_ = lsub__WT5OU2utip0e3bSZKpu9aHg((&(*g)), (*n)._kind_6.sons->data[((NI) 0)]);
		T3_ = (((NI) 80) < (NI)(T5_ + (*g).lineLen));
		LA4_: ;
		if (!T3_) goto LA6_;
		c.Field1 |= ((NU8)1)<<((((tyEnum_TSubFlag__HgctW1zPuXVJBXUriqTnfQ) 0)) & 7);
	}
	LA6_: ;
	gcoms__n8JbrzcZm8FmR9aCHItw47w_4(g);
	gstmts__ZgGwD8V7yy9cPF3ZhVNGmFA(g, (*n)._kind_6.sons->data[((NI) 0)], c, NIM_TRUE);
	gsons__WBsq6aIWI0YbAY07tgvprg_2(g, n, c, ((NI) 1), ((NI) -1));
}
N_LIB_PRIVATE N_NIMCALL(void, gfor__5eccg0mxlFLgBiNmpRHFig_12)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
	tyTuple__O2u2Fk7tlGg9b7lAVNkV3hw c;
	NI T11_;
	NI T12_;
	nimZeroMem((void*)(&c), sizeof(tyTuple__O2u2Fk7tlGg9b7lAVNkV3hw));
	putWithSpace__5FjmUgmw7uaBcQF2ueVA5g(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 28), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_98));
	initContext__ATR9atx4JGXXaRJqSs0YyPQ((&c));
	{
		NIM_BOOL T3_;
		NI T5_;
		NI T6_;
		NI T7_;
		NI T8_;
		T3_ = (NIM_BOOL)0;
		T3_ = longMode__FJ4I049aFDsnEwVjsz5GKFQ((&(*g)), n, ((NI) 0), ((NI) -1));
		if (T3_) goto LA4_;
		T5_ = (NI)0;
		T5_ = len__P89cqdlERShb9alU3iC0yj8wast(n);
		T6_ = (NI)0;
		T6_ = lsub__WT5OU2utip0e3bSZKpu9aHg((&(*g)), (*n)._kind_6.sons->data[(NI)(T5_ - ((NI) 1))]);
		T7_ = (NI)0;
		T7_ = len__P89cqdlERShb9alU3iC0yj8wast(n);
		T8_ = (NI)0;
		T8_ = lsub__WT5OU2utip0e3bSZKpu9aHg((&(*g)), (*n)._kind_6.sons->data[(NI)(T7_ - ((NI) 2))]);
		T3_ = (((NI) 80) < (NI)((NI)((NI)(T6_ + T8_) + ((NI) 6)) + (*g).lineLen));
		LA4_: ;
		if (!T3_) goto LA9_;
		c.Field1 |= ((NU8)1)<<((((tyEnum_TSubFlag__HgctW1zPuXVJBXUriqTnfQ) 0)) & 7);
	}
	LA9_: ;
	gcomma__WBsq6aIWI0YbAY07tgvprg(g, n, c, ((NI) 0), ((NI) -3));
	put__bHuqOBd1M9aDS6daf1zl0nw(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 112), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_46), NIM_NIL);
	putWithSpace__5FjmUgmw7uaBcQF2ueVA5g(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 33), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_99));
	T11_ = (NI)0;
	T11_ = len__P89cqdlERShb9alU3iC0yj8wast(n);
	gsub__NmOOKTnnEkQl0J72fGke1g(g, (*n)._kind_6.sons->data[(NI)(T11_ - ((NI) 2))], c);
	putWithSpace__5FjmUgmw7uaBcQF2ueVA5g(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 103), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_49));
	gcoms__n8JbrzcZm8FmR9aCHItw47w_4(g);
	T12_ = (NI)0;
	T12_ = len__P89cqdlERShb9alU3iC0yj8wast(n);
	gstmts__ZgGwD8V7yy9cPF3ZhVNGmFA(g, (*n)._kind_6.sons->data[(NI)(T12_ - ((NI) 1))], c, NIM_TRUE);
}
N_LIB_PRIVATE N_NIMCALL(void, gblock__5eccg0mxlFLgBiNmpRHFig_13)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
	tyTuple__O2u2Fk7tlGg9b7lAVNkV3hw c;
	nimZeroMem((void*)(&c), sizeof(tyTuple__O2u2Fk7tlGg9b7lAVNkV3hw));
	initContext__ATR9atx4JGXXaRJqSs0YyPQ((&c));
	{
		if (!!(((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA3_;
		putWithSpace__5FjmUgmw7uaBcQF2ueVA5g(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 8), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_100));
		gsub__5eccg0mxlFLgBiNmpRHFig(g, (*n)._kind_6.sons->data[((NI) 0)]);
	}
	goto LA1_;
	LA3_: ;
	{
		put__bHuqOBd1M9aDS6daf1zl0nw(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 8), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_100), NIM_NIL);
	}
	LA1_: ;
	putWithSpace__5FjmUgmw7uaBcQF2ueVA5g(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 103), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_49));
	{
		NIM_BOOL T8_;
		NI T10_;
		T8_ = (NIM_BOOL)0;
		T8_ = longMode__FJ4I049aFDsnEwVjsz5GKFQ((&(*g)), n, ((NI) 0), ((NI) -1));
		if (T8_) goto LA9_;
		T10_ = (NI)0;
		T10_ = lsub__WT5OU2utip0e3bSZKpu9aHg((&(*g)), (*n)._kind_6.sons->data[((NI) 1)]);
		T8_ = (((NI) 80) < (NI)(T10_ + (*g).lineLen));
		LA9_: ;
		if (!T8_) goto LA11_;
		c.Field1 |= ((NU8)1)<<((((tyEnum_TSubFlag__HgctW1zPuXVJBXUriqTnfQ) 0)) & 7);
	}
	LA11_: ;
	gcoms__n8JbrzcZm8FmR9aCHItw47w_4(g);
	gstmts__ZgGwD8V7yy9cPF3ZhVNGmFA(g, (*n)._kind_6.sons->data[((NI) 1)], c, NIM_TRUE);
}
N_LIB_PRIVATE N_NIMCALL(void, gstaticStmt__5eccg0mxlFLgBiNmpRHFig_14)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
	tyTuple__O2u2Fk7tlGg9b7lAVNkV3hw c;
	nimZeroMem((void*)(&c), sizeof(tyTuple__O2u2Fk7tlGg9b7lAVNkV3hw));
	putWithSpace__5FjmUgmw7uaBcQF2ueVA5g(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 58), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_65));
	putWithSpace__5FjmUgmw7uaBcQF2ueVA5g(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 103), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_49));
	initContext__ATR9atx4JGXXaRJqSs0YyPQ((&c));
	{
		NIM_BOOL T3_;
		NI T5_;
		T3_ = (NIM_BOOL)0;
		T3_ = longMode__FJ4I049aFDsnEwVjsz5GKFQ((&(*g)), n, ((NI) 0), ((NI) -1));
		if (T3_) goto LA4_;
		T5_ = (NI)0;
		T5_ = lsub__WT5OU2utip0e3bSZKpu9aHg((&(*g)), (*n)._kind_6.sons->data[((NI) 0)]);
		T3_ = (((NI) 80) < (NI)(T5_ + (*g).lineLen));
		LA4_: ;
		if (!T3_) goto LA6_;
		c.Field1 |= ((NU8)1)<<((((tyEnum_TSubFlag__HgctW1zPuXVJBXUriqTnfQ) 0)) & 7);
	}
	LA6_: ;
	gcoms__n8JbrzcZm8FmR9aCHItw47w_4(g);
	gstmts__ZgGwD8V7yy9cPF3ZhVNGmFA(g, (*n)._kind_6.sons->data[((NI) 0)], c, NIM_TRUE);
}
N_LIB_PRIVATE N_NIMCALL(void, gasm__5eccg0mxlFLgBiNmpRHFig_15)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
	putWithSpace__5FjmUgmw7uaBcQF2ueVA5g(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 6), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_101));
	gsub__5eccg0mxlFLgBiNmpRHFig(g, (*n)._kind_6.sons->data[((NI) 0)]);
	gcoms__n8JbrzcZm8FmR9aCHItw47w_4(g);
	{
		NI T3_;
		T3_ = (NI)0;
		T3_ = len__P89cqdlERShb9alU3iC0yj8wast(n);
		if (!(((NI) 1) < T3_)) goto LA4_;
		gsub__5eccg0mxlFLgBiNmpRHFig(g, (*n)._kind_6.sons->data[((NI) 1)]);
	}
	LA4_: ;
}
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, renderDefinitionName__l9ckhTtdY2uD8Mjq9cwreZDA)(tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w* s, NIM_BOOL noQuotes) {
	NimStringDesc* result;
	NimStringDesc* x;
	result = (NimStringDesc*)0;
	x = (*(*s).name).s;
	{
		NIM_BOOL T3_;
		NIM_BOOL T5_;
		NIM_BOOL T7_;
		T3_ = (NIM_BOOL)0;
		T3_ = noQuotes;
		if (T3_) goto LA4_;
		T5_ = (NIM_BOOL)0;
		T5_ = (((NU8)(x->data[((NI) 0)])) >= ((NU8)(97)) && ((NU8)(x->data[((NI) 0)])) <= ((NU8)(122)) || ((NU8)(x->data[((NI) 0)])) >= ((NU8)(65)) && ((NU8)(x->data[((NI) 0)])) <= ((NU8)(90)) || ((NU8)(x->data[((NI) 0)])) >= ((NU8)(128)) && ((NU8)(x->data[((NI) 0)])) <= ((NU8)(255)));
		if (!(T5_)) goto LA6_;
		T7_ = (NIM_BOOL)0;
		T7_ = isKeyword__N1ZnIJchVZRKfKk15xA7QQ((*s).name);
		T5_ = !(T7_);
		LA6_: ;
		T3_ = T5_;
		LA4_: ;
		if (!T3_) goto LA8_;
		result = copyString(x);
	}
	goto LA1_;
	LA8_: ;
	{
		NimStringDesc* T11_;
		T11_ = (NimStringDesc*)0;
		T11_ = rawNewString((x ? x->Sup.len : 0) + 2);
appendChar(T11_, 96);
appendString(T11_, x);
appendChar(T11_, 96);
		result = T11_;
	}
	LA1_: ;
	return result;
}
static N_INLINE(void, genSymSuffix__O9c9c6EGu4xejeeELxnKxckArenderer)(NimStringDesc** result, tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w* s) {
	{
		if (!(((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 36))&63U)))!=0)) goto LA3_;
		unsureAsgnRef((void**) (&(*result)), addChar((*result), 95));
		addInt__mftMOxbyu0h4yByfs3sqjA(result, ((NI64) ((*s).Sup.id)));
	}
	LA3_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, gpattern__5eccg0mxlFLgBiNmpRHFig_17)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
	tyTuple__O2u2Fk7tlGg9b7lAVNkV3hw c;
	nimZeroMem((void*)(&c), sizeof(tyTuple__O2u2Fk7tlGg9b7lAVNkV3hw));
	put__bHuqOBd1M9aDS6daf1zl0nw(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 93), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_60), NIM_NIL);
	initContext__ATR9atx4JGXXaRJqSs0YyPQ((&c));
	{
		NIM_BOOL T3_;
		NI T5_;
		T3_ = (NIM_BOOL)0;
		T3_ = longMode__FJ4I049aFDsnEwVjsz5GKFQ((&(*g)), n, ((NI) 0), ((NI) -1));
		if (T3_) goto LA4_;
		T5_ = (NI)0;
		T5_ = lsub__WT5OU2utip0e3bSZKpu9aHg((&(*g)), (*n)._kind_6.sons->data[((NI) 0)]);
		T3_ = (((NI) 80) < (NI)(T5_ + (*g).lineLen));
		LA4_: ;
		if (!T3_) goto LA6_;
		c.Field1 |= ((NU8)1)<<((((tyEnum_TSubFlag__HgctW1zPuXVJBXUriqTnfQ) 0)) & 7);
	}
	LA6_: ;
	gcoms__n8JbrzcZm8FmR9aCHItw47w_4(g);
	gstmts__ZgGwD8V7yy9cPF3ZhVNGmFA(g, n, c, NIM_TRUE);
	put__bHuqOBd1M9aDS6daf1zl0nw(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 94), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_61), NIM_NIL);
}
N_LIB_PRIVATE N_NIMCALL(void, gproc__5eccg0mxlFLgBiNmpRHFig_16)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
	tyTuple__O2u2Fk7tlGg9b7lAVNkV3hw c;
	NIM_BOOL oldInGenericParams;
	nimZeroMem((void*)(&c), sizeof(tyTuple__O2u2Fk7tlGg9b7lAVNkV3hw));
	{
		tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w* s;
		NimStringDesc* ret;
		if (!((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA3_;
		s = (*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym;
		ret = renderDefinitionName__l9ckhTtdY2uD8Mjq9cwreZDA(s, NIM_FALSE);
		genSymSuffix__O9c9c6EGu4xejeeELxnKxckArenderer((&ret), s);
		put__bHuqOBd1M9aDS6daf1zl0nw(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 2), ret, NIM_NIL);
	}
	goto LA1_;
	LA3_: ;
	{
		gsub__5eccg0mxlFLgBiNmpRHFig(g, (*n)._kind_6.sons->data[((NI) 0)]);
	}
	LA1_: ;
	{
		if (!!(((*(*n)._kind_6.sons->data[((NI) 1)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA8_;
		gpattern__5eccg0mxlFLgBiNmpRHFig_17(g, (*n)._kind_6.sons->data[((NI) 1)]);
	}
	LA8_: ;
	oldInGenericParams = (*g).inGenericParams;
	(*g).inGenericParams = NIM_TRUE;
	{
		NIM_BOOL T12_;
		NIM_BOOL T13_;
		T12_ = (NIM_BOOL)0;
		T13_ = (NIM_BOOL)0;
		T13_ = (((*g).flags &((NU16)1<<((NU)(((tyEnum_TRenderFlag__wrPgUo1ExBlHvFnXN2nSHw) 1))&15U)))!=0);
		if (!(T13_)) goto LA14_;
		T13_ = !(((*(*n)._kind_6.sons->data[((NI) 5)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)));
		LA14_: ;
		T12_ = T13_;
		if (!(T12_)) goto LA15_;
		T12_ = !(((*(*(*n)._kind_6.sons->data[((NI) 5)])._kind_6.sons->data[((NI) 1)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)));
		LA15_: ;
		if (!T12_) goto LA16_;
		gsub__5eccg0mxlFLgBiNmpRHFig(g, (*(*n)._kind_6.sons->data[((NI) 5)])._kind_6.sons->data[((NI) 1)]);
	}
	goto LA10_;
	LA16_: ;
	{
		gsub__5eccg0mxlFLgBiNmpRHFig(g, (*n)._kind_6.sons->data[((NI) 2)]);
	}
	LA10_: ;
	(*g).inGenericParams = oldInGenericParams;
	gsub__5eccg0mxlFLgBiNmpRHFig(g, (*n)._kind_6.sons->data[((NI) 3)]);
	{
		if (!!((((*g).flags &((NU16)1<<((NU)(((tyEnum_TRenderFlag__wrPgUo1ExBlHvFnXN2nSHw) 4))&15U)))!=0))) goto LA21_;
		gsub__5eccg0mxlFLgBiNmpRHFig(g, (*n)._kind_6.sons->data[((NI) 4)]);
	}
	LA21_: ;
	{
		if (!!((((*g).flags &((NU16)1<<((NU)(((tyEnum_TRenderFlag__wrPgUo1ExBlHvFnXN2nSHw) 1))&15U)))!=0))) goto LA25_;
		{
			if (!!(((*(*n)._kind_6.sons->data[((NI) 6)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA29_;
			put__bHuqOBd1M9aDS6daf1zl0nw(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 112), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_46), NIM_NIL);
			putWithSpace__5FjmUgmw7uaBcQF2ueVA5g(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 105), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_59));
			indentNL__n8JbrzcZm8FmR9aCHItw47w(g);
			gcoms__n8JbrzcZm8FmR9aCHItw47w_4(g);
			dedent__n8JbrzcZm8FmR9aCHItw47w_6(g);
			initContext__ATR9atx4JGXXaRJqSs0YyPQ((&c));
			gstmts__ZgGwD8V7yy9cPF3ZhVNGmFA(g, (*n)._kind_6.sons->data[((NI) 6)], c, NIM_TRUE);
			putNL__n8JbrzcZm8FmR9aCHItw47w_7(g);
		}
		goto LA27_;
		LA29_: ;
		{
			indentNL__n8JbrzcZm8FmR9aCHItw47w(g);
			gcoms__n8JbrzcZm8FmR9aCHItw47w_4(g);
			dedent__n8JbrzcZm8FmR9aCHItw47w_6(g);
		}
		LA27_: ;
	}
	LA25_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, gsection__OGEthmd3DfzdMKQHMfMF7A)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyTuple__O2u2Fk7tlGg9b7lAVNkV3hw c, tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ kind, NimStringDesc* k) {
{	{
		NI T3_;
		T3_ = (NI)0;
		T3_ = len__P89cqdlERShb9alU3iC0yj8wast(n);
		if (!(T3_ == ((NI) 0))) goto LA4_;
		goto BeforeRet_;
	}
	LA4_: ;
	putWithSpace__5FjmUgmw7uaBcQF2ueVA5g(g, kind, k);
	gcoms__n8JbrzcZm8FmR9aCHItw47w_4(g);
	indentNL__n8JbrzcZm8FmR9aCHItw47w(g);
	{
		NI i;
		NI colontmp_;
		NI i_2;
		i = (NI)0;
		colontmp_ = (NI)0;
		colontmp_ = len__P89cqdlERShb9alU3iC0yj8wast(n);
		i_2 = ((NI) 0);
		{
			while (1) {
				if (!(i_2 < colontmp_)) goto LA8;
				i = i_2;
				optNL__n8JbrzcZm8FmR9aCHItw47w_2(g);
				gsub__NmOOKTnnEkQl0J72fGke1g(g, (*n)._kind_6.sons->data[i], c);
				gcoms__n8JbrzcZm8FmR9aCHItw47w_4(g);
				i_2 += ((NI) 1);
			} LA8: ;
		}
	}
	dedent__n8JbrzcZm8FmR9aCHItw47w_6(g);
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasExplicitParams__ty2FKaFbIrBgsB8VaZ9cZ3g)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* gp) {
	NIM_BOOL result;
{	result = (NIM_BOOL)0;
	{
		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* p;
		p = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
		{
			NI i;
			NI colontmp_;
			NI i_2;
			i = (NI)0;
			colontmp_ = (NI)0;
			colontmp_ = safeLen__P89cqdlERShb9alU3iC0yj8w_2ast(gp);
			i_2 = ((NI) 0);
			{
				while (1) {
					if (!(i_2 < colontmp_)) goto LA4;
					i = i_2;
					p = (*gp)._kind_6.sons->data[i];
					{
						NIM_BOOL T7_;
						T7_ = (NIM_BOOL)0;
						T7_ = ((*p).typ == NIM_NIL);
						if (T7_) goto LA8_;
						T7_ = !((((*(*p).typ).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 26))&63U)))!=0));
						LA8_: ;
						if (!T7_) goto LA9_;
						result = NIM_TRUE;
						goto BeforeRet_;
					}
					LA9_: ;
					i_2 += ((NI) 1);
				} LA4: ;
			}
		}
	}
	result = NIM_FALSE;
	goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, gTypeClassTy__5eccg0mxlFLgBiNmpRHFig_18)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
	tyTuple__O2u2Fk7tlGg9b7lAVNkV3hw c;
	nimZeroMem((void*)(&c), sizeof(tyTuple__O2u2Fk7tlGg9b7lAVNkV3hw));
	initContext__ATR9atx4JGXXaRJqSs0YyPQ((&c));
	putWithSpace__5FjmUgmw7uaBcQF2ueVA5g(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 12), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_135));
	gsons__WBsq6aIWI0YbAY07tgvprg_2(g, (*n)._kind_6.sons->data[((NI) 0)], c, ((NI) 0), ((NI) -1));
	gsub__5eccg0mxlFLgBiNmpRHFig(g, (*n)._kind_6.sons->data[((NI) 1)]);
	gsub__5eccg0mxlFLgBiNmpRHFig(g, (*n)._kind_6.sons->data[((NI) 2)]);
	gcoms__n8JbrzcZm8FmR9aCHItw47w_4(g);
	indentNL__n8JbrzcZm8FmR9aCHItw47w(g);
	gcoms__n8JbrzcZm8FmR9aCHItw47w_4(g);
	gstmts__ZgGwD8V7yy9cPF3ZhVNGmFA(g, (*n)._kind_6.sons->data[((NI) 3)], c, NIM_TRUE);
	dedent__n8JbrzcZm8FmR9aCHItw47w_6(g);
}
N_LIB_PRIVATE N_NIMCALL(void, gsub__NmOOKTnnEkQl0J72fGke1g)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyTuple__O2u2Fk7tlGg9b7lAVNkV3hw c) {
	tyTuple__O2u2Fk7tlGg9b7lAVNkV3hw a;
{	{
		if (!(n == 0)) goto LA3_;
		goto BeforeRet_;
	}
	LA3_: ;
	nimZeroMem((void*)(&a), sizeof(tyTuple__O2u2Fk7tlGg9b7lAVNkV3hw));
	{
		if (!(((NI) 0) < ((*n).comment ? (*n).comment->Sup.len : 0))) goto LA7_;
		pushCom__5eccg0mxlFLgBiNmpRHFig_2(g, n);
	}
	LA7_: ;
	switch ((*n).kind) {
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 22):
	{
		tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* T10_;
		NimStringDesc* T11_;
		T10_ = (tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg*)0;
		T10_ = g;
		T11_ = (NimStringDesc*)0;
		T11_ = atom__9cnUQzmaM0ehJLjixbNyrSQ((&(*g)), n);
		put__bHuqOBd1M9aDS6daf1zl0nw(T10_, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 85), T11_, NIM_NIL);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1):
	{
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 4):
	{
		tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* T14_;
		NimStringDesc* T15_;
		T14_ = (tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg*)0;
		T14_ = g;
		T15_ = (NimStringDesc*)0;
		T15_ = atom__9cnUQzmaM0ehJLjixbNyrSQ((&(*g)), n);
		put__bHuqOBd1M9aDS6daf1zl0nw(T14_, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 0), T15_, NIM_NIL);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2):
	{
		gident__5eccg0mxlFLgBiNmpRHFig_3(g, n);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6):
	{
		tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* T18_;
		NimStringDesc* T19_;
		T18_ = (tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg*)0;
		T18_ = g;
		T19_ = (NimStringDesc*)0;
		T19_ = atom__9cnUQzmaM0ehJLjixbNyrSQ((&(*g)), n);
		put__bHuqOBd1M9aDS6daf1zl0nw(T18_, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 69), T19_, NIM_NIL);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 7):
	{
		tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* T21_;
		NimStringDesc* T22_;
		T21_ = (tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg*)0;
		T21_ = g;
		T22_ = (NimStringDesc*)0;
		T22_ = atom__9cnUQzmaM0ehJLjixbNyrSQ((&(*g)), n);
		put__bHuqOBd1M9aDS6daf1zl0nw(T21_, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 70), T22_, NIM_NIL);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 8):
	{
		tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* T24_;
		NimStringDesc* T25_;
		T24_ = (tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg*)0;
		T24_ = g;
		T25_ = (NimStringDesc*)0;
		T25_ = atom__9cnUQzmaM0ehJLjixbNyrSQ((&(*g)), n);
		put__bHuqOBd1M9aDS6daf1zl0nw(T24_, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 71), T25_, NIM_NIL);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 9):
	{
		tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* T27_;
		NimStringDesc* T28_;
		T27_ = (tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg*)0;
		T27_ = g;
		T28_ = (NimStringDesc*)0;
		T28_ = atom__9cnUQzmaM0ehJLjixbNyrSQ((&(*g)), n);
		put__bHuqOBd1M9aDS6daf1zl0nw(T27_, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 72), T28_, NIM_NIL);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 10):
	{
		tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* T30_;
		NimStringDesc* T31_;
		T30_ = (tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg*)0;
		T30_ = g;
		T31_ = (NimStringDesc*)0;
		T31_ = atom__9cnUQzmaM0ehJLjixbNyrSQ((&(*g)), n);
		put__bHuqOBd1M9aDS6daf1zl0nw(T30_, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 73), T31_, NIM_NIL);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 11):
	{
		tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* T33_;
		NimStringDesc* T34_;
		T33_ = (tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg*)0;
		T33_ = g;
		T34_ = (NimStringDesc*)0;
		T34_ = atom__9cnUQzmaM0ehJLjixbNyrSQ((&(*g)), n);
		put__bHuqOBd1M9aDS6daf1zl0nw(T33_, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 74), T34_, NIM_NIL);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 12):
	{
		tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* T36_;
		NimStringDesc* T37_;
		T36_ = (tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg*)0;
		T36_ = g;
		T37_ = (NimStringDesc*)0;
		T37_ = atom__9cnUQzmaM0ehJLjixbNyrSQ((&(*g)), n);
		put__bHuqOBd1M9aDS6daf1zl0nw(T36_, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 75), T37_, NIM_NIL);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 13):
	{
		tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* T39_;
		NimStringDesc* T40_;
		T39_ = (tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg*)0;
		T39_ = g;
		T40_ = (NimStringDesc*)0;
		T40_ = atom__9cnUQzmaM0ehJLjixbNyrSQ((&(*g)), n);
		put__bHuqOBd1M9aDS6daf1zl0nw(T39_, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 76), T40_, NIM_NIL);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 14):
	{
		tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* T42_;
		NimStringDesc* T43_;
		T42_ = (tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg*)0;
		T42_ = g;
		T43_ = (NimStringDesc*)0;
		T43_ = atom__9cnUQzmaM0ehJLjixbNyrSQ((&(*g)), n);
		put__bHuqOBd1M9aDS6daf1zl0nw(T42_, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 77), T43_, NIM_NIL);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 15):
	{
		tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* T45_;
		NimStringDesc* T46_;
		T45_ = (tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg*)0;
		T45_ = g;
		T46_ = (NimStringDesc*)0;
		T46_ = atom__9cnUQzmaM0ehJLjixbNyrSQ((&(*g)), n);
		put__bHuqOBd1M9aDS6daf1zl0nw(T45_, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 78), T46_, NIM_NIL);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 16):
	{
		tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* T48_;
		NimStringDesc* T49_;
		T48_ = (tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg*)0;
		T48_ = g;
		T49_ = (NimStringDesc*)0;
		T49_ = atom__9cnUQzmaM0ehJLjixbNyrSQ((&(*g)), n);
		put__bHuqOBd1M9aDS6daf1zl0nw(T48_, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 79), T49_, NIM_NIL);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 17):
	{
		tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* T51_;
		NimStringDesc* T52_;
		T51_ = (tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg*)0;
		T51_ = g;
		T52_ = (NimStringDesc*)0;
		T52_ = atom__9cnUQzmaM0ehJLjixbNyrSQ((&(*g)), n);
		put__bHuqOBd1M9aDS6daf1zl0nw(T51_, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 80), T52_, NIM_NIL);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 18):
	{
		tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* T54_;
		NimStringDesc* T55_;
		T54_ = (tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg*)0;
		T54_ = g;
		T55_ = (NimStringDesc*)0;
		T55_ = atom__9cnUQzmaM0ehJLjixbNyrSQ((&(*g)), n);
		put__bHuqOBd1M9aDS6daf1zl0nw(T54_, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 81), T55_, NIM_NIL);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 19):
	{
		tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* T57_;
		NimStringDesc* T58_;
		T57_ = (tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg*)0;
		T57_ = g;
		T58_ = (NimStringDesc*)0;
		T58_ = atom__9cnUQzmaM0ehJLjixbNyrSQ((&(*g)), n);
		put__bHuqOBd1M9aDS6daf1zl0nw(T57_, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 82), T58_, NIM_NIL);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 20):
	{
		tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* T60_;
		NimStringDesc* T61_;
		T60_ = (tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg*)0;
		T60_ = g;
		T61_ = (NimStringDesc*)0;
		T61_ = atom__9cnUQzmaM0ehJLjixbNyrSQ((&(*g)), n);
		put__bHuqOBd1M9aDS6daf1zl0nw(T60_, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 83), T61_, NIM_NIL);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 21):
	{
		tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* T63_;
		NimStringDesc* T64_;
		T63_ = (tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg*)0;
		T63_ = g;
		T64_ = (NimStringDesc*)0;
		T64_ = atom__9cnUQzmaM0ehJLjixbNyrSQ((&(*g)), n);
		put__bHuqOBd1M9aDS6daf1zl0nw(T63_, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 84), T64_, NIM_NIL);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 5):
	{
		tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* T66_;
		NimStringDesc* T67_;
		T66_ = (tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg*)0;
		T66_ = g;
		T67_ = (NimStringDesc*)0;
		T67_ = atom__9cnUQzmaM0ehJLjixbNyrSQ((&(*g)), n);
		put__bHuqOBd1M9aDS6daf1zl0nw(T66_, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 88), T67_, NIM_NIL);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23):
	{
		tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* T69_;
		NimStringDesc* T70_;
		T69_ = (tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg*)0;
		T69_ = g;
		T70_ = (NimStringDesc*)0;
		T70_ = atom__9cnUQzmaM0ehJLjixbNyrSQ((&(*g)), n);
		put__bHuqOBd1M9aDS6daf1zl0nw(T69_, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 44), T70_, NIM_NIL);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 60):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 25):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 153):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 38):
	{
		{
			NIM_BOOL T74_;
			NI T75_;
			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T77_;
			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T85_;
			NI T86_;
			T74_ = (NIM_BOOL)0;
			T75_ = (NI)0;
			T75_ = len__P89cqdlERShb9alU3iC0yj8wast(n);
			T74_ = (((NI) 1) < T75_);
			if (!(T74_)) goto LA76_;
			T77_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
			T77_ = lastSon__UPSW0jLTX5qJL51YMUAHgw(n);
			T74_ = ((*T77_).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115) || (*T77_).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126));
			LA76_: ;
			if (!T74_) goto LA78_;
			accentedName__5eccg0mxlFLgBiNmpRHFig_4(g, (*n)._kind_6.sons->data[((NI) 0)]);
			{
				NI T82_;
				T82_ = (NI)0;
				T82_ = len__P89cqdlERShb9alU3iC0yj8wast(n);
				if (!(((NI) 2) < T82_)) goto LA83_;
				put__bHuqOBd1M9aDS6daf1zl0nw(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 89), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_45), NIM_NIL);
				gcomma__cePKc9cEQau31w9auAvt0icA(g, n, ((NI) 1), ((NI) -2));
				put__bHuqOBd1M9aDS6daf1zl0nw(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 90), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_48), NIM_NIL);
			}
			LA83_: ;
			put__bHuqOBd1M9aDS6daf1zl0nw(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 103), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_49), NIM_NIL);
			T85_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
			T85_ = n;
			T86_ = (NI)0;
			T86_ = len__P89cqdlERShb9alU3iC0yj8wast(n);
			gsub__HNcJVTbsLN2PfMmnG6BxYw(g, T85_, (NI)(T86_ - ((NI) 1)));
		}
		goto LA72_;
		LA78_: ;
		{
			NI T88_;
			tyEnum_BracketKind__vg9aVz6PBWRfhxLp28uoo3g T91_;
			T88_ = (NI)0;
			T88_ = len__P89cqdlERShb9alU3iC0yj8wast(n);
			if (!(((NI) 1) <= T88_)) goto LA89_;
			T91_ = (tyEnum_BracketKind__vg9aVz6PBWRfhxLp28uoo3g)0;
			T91_ = bracketKind__XW337f4wj4cvRzuUOidlVA((&(*g)), (*n)._kind_6.sons->data[((NI) 0)]);
			switch (T91_) {
			case ((tyEnum_BracketKind__vg9aVz6PBWRfhxLp28uoo3g) 1):
			{
				gsub__HNcJVTbsLN2PfMmnG6BxYw(g, n, ((NI) 1));
				put__bHuqOBd1M9aDS6daf1zl0nw(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 91), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_57), NIM_NIL);
				gcomma__cePKc9cEQau31w9auAvt0icA(g, n, ((NI) 2), ((NI) -1));
				put__bHuqOBd1M9aDS6daf1zl0nw(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 92), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_58), NIM_NIL);
			}
			break;
			case ((tyEnum_BracketKind__vg9aVz6PBWRfhxLp28uoo3g) 2):
			{
				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T94_;
				NI T95_;
				gsub__HNcJVTbsLN2PfMmnG6BxYw(g, n, ((NI) 1));
				put__bHuqOBd1M9aDS6daf1zl0nw(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 91), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_57), NIM_NIL);
				gcomma__cePKc9cEQau31w9auAvt0icA(g, n, ((NI) 2), ((NI) -2));
				put__bHuqOBd1M9aDS6daf1zl0nw(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 92), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_58), NIM_NIL);
				put__bHuqOBd1M9aDS6daf1zl0nw(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 112), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_46), NIM_NIL);
				putWithSpace__5FjmUgmw7uaBcQF2ueVA5g(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 105), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_59));
				T94_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
				T94_ = n;
				T95_ = (NI)0;
				T95_ = len__P89cqdlERShb9alU3iC0yj8wast(n);
				gsub__HNcJVTbsLN2PfMmnG6BxYw(g, T94_, (NI)(T95_ - ((NI) 1)));
			}
			break;
			case ((tyEnum_BracketKind__vg9aVz6PBWRfhxLp28uoo3g) 3):
			{
				gsub__HNcJVTbsLN2PfMmnG6BxYw(g, n, ((NI) 1));
				put__bHuqOBd1M9aDS6daf1zl0nw(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 93), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_60), NIM_NIL);
				gcomma__cePKc9cEQau31w9auAvt0icA(g, n, ((NI) 2), ((NI) -1));
				put__bHuqOBd1M9aDS6daf1zl0nw(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 94), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_61), NIM_NIL);
			}
			break;
			case ((tyEnum_BracketKind__vg9aVz6PBWRfhxLp28uoo3g) 4):
			{
				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T98_;
				NI T99_;
				gsub__HNcJVTbsLN2PfMmnG6BxYw(g, n, ((NI) 1));
				put__bHuqOBd1M9aDS6daf1zl0nw(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 93), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_60), NIM_NIL);
				gcomma__cePKc9cEQau31w9auAvt0icA(g, n, ((NI) 2), ((NI) -2));
				put__bHuqOBd1M9aDS6daf1zl0nw(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 94), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_61), NIM_NIL);
				put__bHuqOBd1M9aDS6daf1zl0nw(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 112), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_46), NIM_NIL);
				putWithSpace__5FjmUgmw7uaBcQF2ueVA5g(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 105), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_59));
				T98_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
				T98_ = n;
				T99_ = (NI)0;
				T99_ = len__P89cqdlERShb9alU3iC0yj8wast(n);
				gsub__HNcJVTbsLN2PfMmnG6BxYw(g, T98_, (NI)(T99_ - ((NI) 1)));
			}
			break;
			case ((tyEnum_BracketKind__vg9aVz6PBWRfhxLp28uoo3g) 0):
			{
				accentedName__5eccg0mxlFLgBiNmpRHFig_4(g, (*n)._kind_6.sons->data[((NI) 0)]);
				put__bHuqOBd1M9aDS6daf1zl0nw(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 89), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_45), NIM_NIL);
				gcomma__cePKc9cEQau31w9auAvt0icA(g, n, ((NI) 1), ((NI) -1));
				put__bHuqOBd1M9aDS6daf1zl0nw(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 90), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_48), NIM_NIL);
			}
			break;
			}
		}
		goto LA72_;
		LA89_: ;
		{
			put__bHuqOBd1M9aDS6daf1zl0nw(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 89), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_45), NIM_NIL);
			put__bHuqOBd1M9aDS6daf1zl0nw(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 90), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_48), NIM_NIL);
		}
		LA72_: ;
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 28):
	{
		{
			NI T105_;
			T105_ = (NI)0;
			T105_ = len__P89cqdlERShb9alU3iC0yj8wast(n);
			if (!(((NI) 0) < T105_)) goto LA106_;
			accentedName__5eccg0mxlFLgBiNmpRHFig_4(g, (*n)._kind_6.sons->data[((NI) 0)]);
		}
		LA106_: ;
		{
			NIM_BOOL T110_;
			NI T111_;
			NimStringDesc* T115_;
			NimStringDesc* T116_;
			T110_ = (NIM_BOOL)0;
			T111_ = (NI)0;
			T111_ = len__P89cqdlERShb9alU3iC0yj8wast(n);
			T110_ = (((NI) 1) < T111_);
			if (!(T110_)) goto LA112_;
			T110_ = ((*(*n)._kind_6.sons->data[((NI) 1)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 21));
			LA112_: ;
			if (!T110_) goto LA113_;
			T115_ = (NimStringDesc*)0;
			T116_ = (NimStringDesc*)0;
			T116_ = nsuReplaceStr((*(*n)._kind_6.sons->data[((NI) 1)])._kind_3.strVal, ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_6), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_7));
			T115_ = rawNewString((T116_ ? T116_->Sup.len : 0) + 2);
appendChar(T115_, 34);
appendString(T115_, T116_);
appendChar(T115_, 34);
			put__bHuqOBd1M9aDS6daf1zl0nw(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 84), T115_, NIM_NIL);
		}
		goto LA108_;
		LA113_: ;
		{
			gsub__HNcJVTbsLN2PfMmnG6BxYw(g, n, ((NI) 1));
		}
		LA108_: ;
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 58):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 59):
	{
		{
			NI T121_;
			T121_ = (NI)0;
			T121_ = len__P89cqdlERShb9alU3iC0yj8wast(n);
			if (!(((NI) 2) <= T121_)) goto LA122_;
			gsub__5eccg0mxlFLgBiNmpRHFig(g, (*n)._kind_6.sons->data[((NI) 1)]);
		}
		goto LA119_;
		LA122_: ;
		{
			put__bHuqOBd1M9aDS6daf1zl0nw(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 2), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_62), NIM_NIL);
		}
		LA119_: ;
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 32):
	{
		{
			if (!!(((544 & (*g).flags) == 0))) goto LA128_;
			accentedName__5eccg0mxlFLgBiNmpRHFig_4(g, (*n)._kind_6.sons->data[((NI) 0)]);
			put__bHuqOBd1M9aDS6daf1zl0nw(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 89), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_45), NIM_NIL);
			gcomma__cePKc9cEQau31w9auAvt0icA(g, n, ((NI) 1), ((NI) -1));
			put__bHuqOBd1M9aDS6daf1zl0nw(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 90), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_48), NIM_NIL);
		}
		goto LA126_;
		LA128_: ;
		{
			NI T131_;
			T131_ = (NI)0;
			T131_ = len__P89cqdlERShb9alU3iC0yj8wast(n);
			if (!(((NI) 2) <= T131_)) goto LA132_;
			gsub__5eccg0mxlFLgBiNmpRHFig(g, (*n)._kind_6.sons->data[((NI) 1)]);
		}
		goto LA126_;
		LA132_: ;
		{
			put__bHuqOBd1M9aDS6daf1zl0nw(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 2), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_62), NIM_NIL);
		}
		LA126_: ;
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 61):
	{
		put__bHuqOBd1M9aDS6daf1zl0nw(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 11), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_63), NIM_NIL);
		{
			NIM_BOOL T138_;
			NI T139_;
			T138_ = (NIM_BOOL)0;
			T139_ = (NI)0;
			T139_ = len__P89cqdlERShb9alU3iC0yj8wast(n);
			T138_ = (((NI) 0) < T139_);
			if (!(T138_)) goto LA140_;
			T138_ = !(((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)));
			LA140_: ;
			if (!T138_) goto LA141_;
			put__bHuqOBd1M9aDS6daf1zl0nw(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 91), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_57), NIM_NIL);
			gsub__HNcJVTbsLN2PfMmnG6BxYw(g, n, ((NI) 0));
			put__bHuqOBd1M9aDS6daf1zl0nw(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 92), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_58), NIM_NIL);
		}
		LA141_: ;
		put__bHuqOBd1M9aDS6daf1zl0nw(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 89), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_45), NIM_NIL);
		gsub__HNcJVTbsLN2PfMmnG6BxYw(g, n, ((NI) 1));
		put__bHuqOBd1M9aDS6daf1zl0nw(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 90), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_48), NIM_NIL);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 63):
	{
		put__bHuqOBd1M9aDS6daf1zl0nw(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 3), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_64), NIM_NIL);
		{
			NI T146_;
			T146_ = (NI)0;
			T146_ = len__P89cqdlERShb9alU3iC0yj8wast(n);
			if (!(((NI) 0) < T146_)) goto LA147_;
			put__bHuqOBd1M9aDS6daf1zl0nw(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 89), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_45), NIM_NIL);
			gsub__5eccg0mxlFLgBiNmpRHFig(g, (*n)._kind_6.sons->data[((NI) 0)]);
			put__bHuqOBd1M9aDS6daf1zl0nw(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 90), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_48), NIM_NIL);
		}
		LA147_: ;
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 62):
	{
		put__bHuqOBd1M9aDS6daf1zl0nw(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 58), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_65), NIM_NIL);
		put__bHuqOBd1M9aDS6daf1zl0nw(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 112), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_46), NIM_NIL);
		gsub__HNcJVTbsLN2PfMmnG6BxYw(g, n, ((NI) 0));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 42):
	{
		gsub__HNcJVTbsLN2PfMmnG6BxYw(g, n, ((NI) 0));
		put__bHuqOBd1M9aDS6daf1zl0nw(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 91), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_57), NIM_NIL);
		gcomma__cePKc9cEQau31w9auAvt0icA(g, n, ((NI) 1), ((NI) -1));
		put__bHuqOBd1M9aDS6daf1zl0nw(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 92), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_58), NIM_NIL);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 40):
	{
		gsub__HNcJVTbsLN2PfMmnG6BxYw(g, n, ((NI) 0));
		put__bHuqOBd1M9aDS6daf1zl0nw(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 93), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_60), NIM_NIL);
		gcomma__cePKc9cEQau31w9auAvt0icA(g, n, ((NI) 1), ((NI) -1));
		put__bHuqOBd1M9aDS6daf1zl0nw(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 94), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_61), NIM_NIL);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 43):
	{
		gsub__HNcJVTbsLN2PfMmnG6BxYw(g, n, ((NI) 0));
		gcomma__cePKc9cEQau31w9auAvt0icA(g, n, ((NI) 1), ((NI) -1));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 26):
	{
		accentedName__5eccg0mxlFLgBiNmpRHFig_4(g, (*n)._kind_6.sons->data[((NI) 0)]);
		put__bHuqOBd1M9aDS6daf1zl0nw(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 112), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_46), NIM_NIL);
		{
			NI T156_;
			T156_ = (NI)0;
			T156_ = len__P89cqdlERShb9alU3iC0yj8wast(n);
			if (!((*(*n)._kind_6.sons->data[(NI)(T156_ - ((NI) 1))]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115))) goto LA157_;
			{
				NI i;
				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* child;
				i = (NI)0;
				child = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
				{
					NI i_2;
					NI colontmp_;
					NI i_3;
					i_2 = (NI)0;
					colontmp_ = (NI)0;
					colontmp_ = safeLen__P89cqdlERShb9alU3iC0yj8w_2ast(n);
					i_3 = ((NI) 0);
					{
						while (1) {
							if (!(i_3 < colontmp_)) goto LA162;
							i_2 = i_3;
							i = i_2;
							child = (*n)._kind_6.sons->data[i_2];
							{
								NIM_BOOL T165_;
								NI T167_;
								T165_ = (NIM_BOOL)0;
								T165_ = (((NI) 1) < i);
								if (!(T165_)) goto LA166_;
								T167_ = (NI)0;
								T167_ = len__P89cqdlERShb9alU3iC0yj8wast(n);
								T165_ = (i < (NI)(T167_ - ((NI) 1)));
								LA166_: ;
								if (!T165_) goto LA168_;
								put__bHuqOBd1M9aDS6daf1zl0nw(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 101), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_66), NIM_NIL);
							}
							goto LA163_;
							LA168_: ;
							{
								NI T171_;
								T171_ = (NI)0;
								T171_ = len__P89cqdlERShb9alU3iC0yj8wast(n);
								if (!(i == (NI)(T171_ - ((NI) 1)))) goto LA172_;
								put__bHuqOBd1M9aDS6daf1zl0nw(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 103), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_49), NIM_NIL);
							}
							goto LA163_;
							LA172_: ;
							LA163_: ;
							{
								if (!(((NI) 0) < i)) goto LA176_;
								gsub__5eccg0mxlFLgBiNmpRHFig(g, child);
							}
							LA176_: ;
							i_3 += ((NI) 1);
						} LA162: ;
					}
				}
			}
		}
		goto LA154_;
		LA157_: ;
		{
			gcomma__cePKc9cEQau31w9auAvt0icA(g, n, ((NI) 1), ((NI) -1));
		}
		LA154_: ;
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 33):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 73):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 74):
	{
		gsub__HNcJVTbsLN2PfMmnG6BxYw(g, n, ((NI) 0));
		put__bHuqOBd1M9aDS6daf1zl0nw(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 112), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_46), NIM_NIL);
		putWithSpace__5FjmUgmw7uaBcQF2ueVA5g(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 105), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_59));
		gsub__HNcJVTbsLN2PfMmnG6BxYw(g, n, ((NI) 1));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 68):
	{
		put__bHuqOBd1M9aDS6daf1zl0nw(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 2), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_67), NIM_NIL);
		put__bHuqOBd1M9aDS6daf1zl0nw(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 89), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_45), NIM_NIL);
		gcomma__cePKc9cEQau31w9auAvt0icA(g, n, ((NI) 0), ((NI) -1));
		put__bHuqOBd1M9aDS6daf1zl0nw(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 90), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_48), NIM_NIL);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 69):
	{
		put__bHuqOBd1M9aDS6daf1zl0nw(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 2), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_68), NIM_NIL);
		put__bHuqOBd1M9aDS6daf1zl0nw(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 89), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_45), NIM_NIL);
		gcomma__cePKc9cEQau31w9auAvt0icA(g, n, ((NI) 0), ((NI) -1));
		put__bHuqOBd1M9aDS6daf1zl0nw(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 90), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_48), NIM_NIL);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 70):
	{
		put__bHuqOBd1M9aDS6daf1zl0nw(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 2), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_69), NIM_NIL);
		put__bHuqOBd1M9aDS6daf1zl0nw(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 89), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_45), NIM_NIL);
		gcomma__cePKc9cEQau31w9auAvt0icA(g, n, ((NI) 0), ((NI) -1));
		put__bHuqOBd1M9aDS6daf1zl0nw(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 90), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_48), NIM_NIL);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 66):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 67):
	{
		{
			NI T186_;
			T186_ = (NI)0;
			T186_ = len__P89cqdlERShb9alU3iC0yj8wast(n);
			if (!(((NI) 1) <= T186_)) goto LA187_;
			gsub__5eccg0mxlFLgBiNmpRHFig(g, (*n)._kind_6.sons->data[((NI) 0)]);
		}
		LA187_: ;
		put__bHuqOBd1M9aDS6daf1zl0nw(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 89), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_45), NIM_NIL);
		gcomma__cePKc9cEQau31w9auAvt0icA(g, n, ((NI) 1), ((NI) -1));
		put__bHuqOBd1M9aDS6daf1zl0nw(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 90), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_48), NIM_NIL);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 56):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 57):
	{
		{
			NimStringDesc* T210_;
			if (!(((*g).flags &((NU16)1<<((NU)(((tyEnum_TRenderFlag__wrPgUo1ExBlHvFnXN2nSHw) 5))&15U)))!=0)) goto LA192_;
			put__bHuqOBd1M9aDS6daf1zl0nw(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 89), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_45), NIM_NIL);
			{
				NI i_4;
				NI colontmp__2;
				NI i_5;
				i_4 = (NI)0;
				colontmp__2 = (NI)0;
				colontmp__2 = len__P89cqdlERShb9alU3iC0yj8wast(n);
				i_5 = ((NI) 0);
				{
					while (1) {
						if (!(i_5 < colontmp__2)) goto LA196;
						i_4 = i_5;
						{
							if (!(((NI) 0) < i_4)) goto LA199_;
							put__bHuqOBd1M9aDS6daf1zl0nw(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 109), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_70), NIM_NIL);
						}
						LA199_: ;
						{
							tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w* s;
							if (!((*(*n)._kind_6.sons->data[i_4]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA203_;
							s = (*(*n)._kind_6.sons->data[i_4])._kind_4.sym;
							{
								if (!!(((*s).owner == NIM_NIL))) goto LA207_;
								put__bHuqOBd1M9aDS6daf1zl0nw(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 2), (*(*(*(*(*n)._kind_6.sons->data[i_4])._kind_4.sym).owner).name).s, NIM_NIL);
								put__bHuqOBd1M9aDS6daf1zl0nw(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 109), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_71), NIM_NIL);
							}
							LA207_: ;
							put__bHuqOBd1M9aDS6daf1zl0nw(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 2), (*(*(*(*n)._kind_6.sons->data[i_4])._kind_4.sym).name).s, NIM_NIL);
						}
						goto LA201_;
						LA203_: ;
						{
							gsub__NmOOKTnnEkQl0J72fGke1g(g, (*n)._kind_6.sons->data[i_4], c);
						}
						LA201_: ;
						i_5 += ((NI) 1);
					} LA196: ;
				}
			}
			T210_ = (NimStringDesc*)0;
			{
				if (!((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 57))) goto LA213_;
				T210_ = copyString(((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_72));
			}
			goto LA211_;
			LA213_: ;
			{
				T210_ = copyString(((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_48));
			}
			LA211_: ;
			put__bHuqOBd1M9aDS6daf1zl0nw(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 90), T210_, NIM_NIL);
		}
		goto LA190_;
		LA192_: ;
		{
			gsub__HNcJVTbsLN2PfMmnG6BxYw(g, n, ((NI) 0));
		}
		LA190_: ;
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 37):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 155):
	{
		put__bHuqOBd1M9aDS6daf1zl0nw(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 89), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_45), NIM_NIL);
		gcomma__WBsq6aIWI0YbAY07tgvprg(g, n, c, ((NI) 0), ((NI) -1));
		put__bHuqOBd1M9aDS6daf1zl0nw(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 90), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_48), NIM_NIL);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 160):
	{
		put__bHuqOBd1M9aDS6daf1zl0nw(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 89), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_45), NIM_NIL);
		gcomma__WBsq6aIWI0YbAY07tgvprg(g, n, c, ((NI) 0), ((NI) -1));
		{
			NI T221_;
			T221_ = (NI)0;
			T221_ = len__P89cqdlERShb9alU3iC0yj8wast(n);
			if (!(T221_ == ((NI) 1))) goto LA222_;
			put__bHuqOBd1M9aDS6daf1zl0nw(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 101), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_66), NIM_NIL);
		}
		LA222_: ;
		put__bHuqOBd1M9aDS6daf1zl0nw(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 90), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_48), NIM_NIL);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 39):
	{
		put__bHuqOBd1M9aDS6daf1zl0nw(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 93), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_60), NIM_NIL);
		gcomma__WBsq6aIWI0YbAY07tgvprg(g, n, c, ((NI) 0), ((NI) -1));
		put__bHuqOBd1M9aDS6daf1zl0nw(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 94), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_61), NIM_NIL);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 152):
	{
		gcomma__WBsq6aIWI0YbAY07tgvprg(g, n, c, ((NI) 0), ((NI) -1));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 54):
	{
		put__bHuqOBd1M9aDS6daf1zl0nw(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 93), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_60), NIM_NIL);
		{
			NI T229_;
			T229_ = (NI)0;
			T229_ = len__P89cqdlERShb9alU3iC0yj8wast(n);
			if (!(((NI) 0) < T229_)) goto LA230_;
			gcomma__WBsq6aIWI0YbAY07tgvprg(g, n, c, ((NI) 0), ((NI) -1));
		}
		goto LA227_;
		LA230_: ;
		{
			put__bHuqOBd1M9aDS6daf1zl0nw(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 103), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_49), NIM_NIL);
		}
		LA227_: ;
		put__bHuqOBd1M9aDS6daf1zl0nw(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 94), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_61), NIM_NIL);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 41):
	{
		put__bHuqOBd1M9aDS6daf1zl0nw(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 91), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_57), NIM_NIL);
		gcomma__WBsq6aIWI0YbAY07tgvprg(g, n, c, ((NI) 0), ((NI) -1));
		put__bHuqOBd1M9aDS6daf1zl0nw(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 92), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_58), NIM_NIL);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 45):
	{
		gsub__HNcJVTbsLN2PfMmnG6BxYw(g, n, ((NI) 0));
		put__bHuqOBd1M9aDS6daf1zl0nw(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 106), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_71), NIM_NIL);
		gsub__HNcJVTbsLN2PfMmnG6BxYw(g, n, ((NI) 1));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 55):
	{
		putWithSpace__5FjmUgmw7uaBcQF2ueVA5g(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 7), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_73));
		gsub__HNcJVTbsLN2PfMmnG6BxYw(g, n, ((NI) 0));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 46):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 64):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 65):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 71):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 72):
	{
		gsub__HNcJVTbsLN2PfMmnG6BxYw(g, n, ((NI) 0));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 51):
	{
		putWithSpace__5FjmUgmw7uaBcQF2ueVA5g(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 51), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_74));
		gsub__HNcJVTbsLN2PfMmnG6BxYw(g, n, ((NI) 3));
		gsub__HNcJVTbsLN2PfMmnG6BxYw(g, n, ((NI) 4));
		put__bHuqOBd1M9aDS6daf1zl0nw(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 112), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_46), NIM_NIL);
		putWithSpace__5FjmUgmw7uaBcQF2ueVA5g(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 105), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_59));
		gsub__HNcJVTbsLN2PfMmnG6BxYw(g, n, ((NI) 6));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 52):
	{
		putWithSpace__5FjmUgmw7uaBcQF2ueVA5g(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 20), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_75));
		{
			NI T241_;
			T241_ = (NI)0;
			T241_ = len__P89cqdlERShb9alU3iC0yj8wast(n);
			if (!(((NI) 3) < T241_)) goto LA242_;
			doParamsAux__KLxu6hJo9aBH9aQCSRS509cEQ(g, (*n)._kind_6.sons->data[((NI) 3)]);
		}
		LA242_: ;
		gsub__HNcJVTbsLN2PfMmnG6BxYw(g, n, ((NI) 4));
		put__bHuqOBd1M9aDS6daf1zl0nw(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 103), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_49), NIM_NIL);
		gsub__HNcJVTbsLN2PfMmnG6BxYw(g, n, ((NI) 6));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 102):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 35):
	{
		gcomma__cePKc9cEQau31w9auAvt0icA(g, n, ((NI) 0), ((NI) -3));
		{
			NIM_BOOL T247_;
			NI T248_;
			NI T250_;
			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T253_;
			NI T254_;
			T247_ = (NIM_BOOL)0;
			T248_ = (NI)0;
			T248_ = len__P89cqdlERShb9alU3iC0yj8wast(n);
			T247_ = (((NI) 2) <= T248_);
			if (!(T247_)) goto LA249_;
			T250_ = (NI)0;
			T250_ = len__P89cqdlERShb9alU3iC0yj8wast(n);
			T247_ = !(((*(*n)._kind_6.sons->data[(NI)(T250_ - ((NI) 2))]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)));
			LA249_: ;
			if (!T247_) goto LA251_;
			putWithSpace__5FjmUgmw7uaBcQF2ueVA5g(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 103), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_49));
			T253_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
			T253_ = n;
			T254_ = (NI)0;
			T254_ = len__P89cqdlERShb9alU3iC0yj8wast(n);
			gsub__HNcJVTbsLN2PfMmnG6BxYw(g, T253_, (NI)(T254_ - ((NI) 2)));
		}
		LA251_: ;
		{
			NIM_BOOL T257_;
			NI T258_;
			NI T260_;
			NI T263_;
			T257_ = (NIM_BOOL)0;
			T258_ = (NI)0;
			T258_ = len__P89cqdlERShb9alU3iC0yj8wast(n);
			T257_ = (((NI) 1) <= T258_);
			if (!(T257_)) goto LA259_;
			T260_ = (NI)0;
			T260_ = len__P89cqdlERShb9alU3iC0yj8wast(n);
			T257_ = !(((*(*n)._kind_6.sons->data[(NI)(T260_ - ((NI) 1))]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)));
			LA259_: ;
			if (!T257_) goto LA261_;
			put__bHuqOBd1M9aDS6daf1zl0nw(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 112), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_46), NIM_NIL);
			putWithSpace__5FjmUgmw7uaBcQF2ueVA5g(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 105), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_59));
			T263_ = (NI)0;
			T263_ = len__P89cqdlERShb9alU3iC0yj8wast(n);
			gsub__NmOOKTnnEkQl0J72fGke1g(g, (*n)._kind_6.sons->data[(NI)(T263_ - ((NI) 1))], c);
		}
		LA261_: ;
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 36):
	{
		{
			NI T267_;
			T267_ = (NI)0;
			T267_ = len__P89cqdlERShb9alU3iC0yj8wast(n);
			if (!((*(*n)._kind_6.sons->data[(NI)(T267_ - ((NI) 1))]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1))) goto LA268_;
			put__bHuqOBd1M9aDS6daf1zl0nw(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 89), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_45), NIM_NIL);
			gcomma__cePKc9cEQau31w9auAvt0icA(g, n, ((NI) 0), ((NI) -2));
			put__bHuqOBd1M9aDS6daf1zl0nw(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 90), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_48), NIM_NIL);
		}
		goto LA265_;
		LA268_: ;
		{
			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T271_;
			put__bHuqOBd1M9aDS6daf1zl0nw(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 89), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_45), NIM_NIL);
			gcomma__cePKc9cEQau31w9auAvt0icA(g, n, ((NI) 0), ((NI) -3));
			put__bHuqOBd1M9aDS6daf1zl0nw(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 90), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_48), NIM_NIL);
			put__bHuqOBd1M9aDS6daf1zl0nw(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 112), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_46), NIM_NIL);
			putWithSpace__5FjmUgmw7uaBcQF2ueVA5g(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 105), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_59));
			T271_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
			T271_ = lastSon__UPSW0jLTX5qJL51YMUAHgw(n);
			gsub__NmOOKTnnEkQl0J72fGke1g(g, T271_, c);
		}
		LA265_: ;
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 34):
	{
		gsub__HNcJVTbsLN2PfMmnG6BxYw(g, n, ((NI) 0));
		putWithSpace__5FjmUgmw7uaBcQF2ueVA5g(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 103), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_49));
		gsub__HNcJVTbsLN2PfMmnG6BxYw(g, n, ((NI) 1));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 29):
	{
		NI oldLineLen;
		oldLineLen = (*g).lineLen;
		infixArgument__HNcJVTbsLN2PfMmnG6BxYw_2(g, n, ((NI) 1));
		put__bHuqOBd1M9aDS6daf1zl0nw(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 112), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_46), NIM_NIL);
		gsub__HNcJVTbsLN2PfMmnG6BxYw(g, n, ((NI) 0));
		{
			NIM_BOOL T276_;
			NI T277_;
			tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg T279_;
			NI T280_;
			NI T281_;
			NI T282_;
			NIM_BOOL T283_;
			tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* T286_;
			T276_ = (NIM_BOOL)0;
			T277_ = (NI)0;
			T277_ = len__P89cqdlERShb9alU3iC0yj8wast(n);
			T276_ = (T277_ == ((NI) 3));
			if (!(T276_)) goto LA278_;
			nimZeroMem((void*)(&T279_), sizeof(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg));
			nimCopyMem((void*)(&T279_), (NIM_CONST void*)(&(*g)), sizeof(T279_));
			T280_ = (NI)0;
			T280_ = lsub__WT5OU2utip0e3bSZKpu9aHg((&(*g)), (*n)._kind_6.sons->data[((NI) 1)]);
			T281_ = (NI)0;
			T281_ = lsub__WT5OU2utip0e3bSZKpu9aHg((&(*g)), (*n)._kind_6.sons->data[((NI) 2)]);
			T282_ = (NI)0;
			T282_ = lsub__WT5OU2utip0e3bSZKpu9aHg((&(*g)), (*n)._kind_6.sons->data[((NI) 0)]);
			T283_ = (NIM_BOOL)0;
			T283_ = fits__m9a9aKZ6NucRjuLOHVJ66EWQ((&T279_), (NI)((NI)((NI)((NI)(oldLineLen + T280_) + T281_) + T282_) + ((NI) 2)));
			T276_ = !(T283_);
			LA278_: ;
			if (!T276_) goto LA284_;
			T286_ = (tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg*)0;
			T286_ = g;
			optNL__xZ7srVmxLhrb9cB1fDthbCg(T286_, (NI)((*g).indent + ((NI) 4)));
		}
		goto LA274_;
		LA284_: ;
		{
			put__bHuqOBd1M9aDS6daf1zl0nw(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 112), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_46), NIM_NIL);
		}
		LA274_: ;
		infixArgument__HNcJVTbsLN2PfMmnG6BxYw_2(g, n, ((NI) 2));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 30):
	{
		{
			NIM_BOOL T291_;
			NIM_BOOL T292_;
			NI T293_;
			T291_ = (NIM_BOOL)0;
			T292_ = (NIM_BOOL)0;
			T293_ = (NI)0;
			T293_ = len__P89cqdlERShb9alU3iC0yj8wast(n);
			T292_ = (((NI) 0) < T293_);
			if (!(T292_)) goto LA294_;
			T292_ = ((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2));
			LA294_: ;
			T291_ = T292_;
			if (!(T291_)) goto LA295_;
			T291_ = eqStrings((*(*(*n)._kind_6.sons->data[((NI) 0)])._kind_5.ident).s, ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_77));
			LA295_: ;
			if (!T291_) goto LA296_;
		}
		goto LA289_;
		LA296_: ;
		{
			gsub__HNcJVTbsLN2PfMmnG6BxYw(g, n, ((NI) 0));
		}
		LA289_: ;
		{
			NI T301_;
			tyObject_TIdent__GufRQq9c0miSybX3zBD4tyA* opr;
			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* nNext;
			T301_ = (NI)0;
			T301_ = len__P89cqdlERShb9alU3iC0yj8wast(n);
			if (!(((NI) 1) < T301_)) goto LA302_;
			{
				if (!((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2))) goto LA306_;
				opr = (*(*n)._kind_6.sons->data[((NI) 0)])._kind_5.ident;
			}
			goto LA304_;
			LA306_: ;
			{
				if (!((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA309_;
				opr = (*(*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym).name;
			}
			goto LA304_;
			LA309_: ;
			{
				if (!((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 57) || (*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 56))) goto LA312_;
				opr = (*(*(*(*n)._kind_6.sons->data[((NI) 0)])._kind_6.sons->data[((NI) 0)])._kind_4.sym).name;
			}
			goto LA304_;
			LA312_: ;
			{
				opr = NIM_NIL;
			}
			LA304_: ;
			nNext = skipHiddenNodes__xsZ0eV431D9bIk9c9c4n9ak9cCg((*n)._kind_6.sons->data[((NI) 1)]);
			{
				NIM_BOOL T317_;
				NIM_BOOL T319_;
				T317_ = (NIM_BOOL)0;
				T317_ = ((*nNext).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 30));
				if (T317_) goto LA318_;
				T319_ = (NIM_BOOL)0;
				T319_ = !((opr == NIM_NIL));
				if (!(T319_)) goto LA320_;
				T319_ = isKeyword__N1ZnIJchVZRKfKk15xA7QQ(opr);
				LA320_: ;
				T317_ = T319_;
				LA318_: ;
				if (!T317_) goto LA321_;
				put__bHuqOBd1M9aDS6daf1zl0nw(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 112), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_46), NIM_NIL);
			}
			LA321_: ;
			{
				if (!((*nNext).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 29))) goto LA325_;
				put__bHuqOBd1M9aDS6daf1zl0nw(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 89), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_45), NIM_NIL);
				gsub__5eccg0mxlFLgBiNmpRHFig(g, (*n)._kind_6.sons->data[((NI) 1)]);
				put__bHuqOBd1M9aDS6daf1zl0nw(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 90), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_48), NIM_NIL);
			}
			goto LA323_;
			LA325_: ;
			{
				gsub__5eccg0mxlFLgBiNmpRHFig(g, (*n)._kind_6.sons->data[((NI) 1)]);
			}
			LA323_: ;
		}
		LA302_: ;
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 31):
	{
		gsub__HNcJVTbsLN2PfMmnG6BxYw(g, n, ((NI) 1));
		gsub__HNcJVTbsLN2PfMmnG6BxYw(g, n, ((NI) 0));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 44):
	{
		gsub__HNcJVTbsLN2PfMmnG6BxYw(g, n, ((NI) 0));
		put__bHuqOBd1M9aDS6daf1zl0nw(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 107), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_78), NIM_NIL);
		gsub__HNcJVTbsLN2PfMmnG6BxYw(g, n, ((NI) 1));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 47):
	{
		gsub__HNcJVTbsLN2PfMmnG6BxYw(g, n, ((NI) 0));
		put__bHuqOBd1M9aDS6daf1zl0nw(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 109), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_53), NIM_NIL);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 53):
	{
		put__bHuqOBd1M9aDS6daf1zl0nw(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 111), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_44), NIM_NIL);
		{
			NI T334_;
			T334_ = (NI)0;
			T334_ = len__P89cqdlERShb9alU3iC0yj8wast(n);
			if (!(((NI) 0) < T334_)) goto LA335_;
			gsub__5eccg0mxlFLgBiNmpRHFig(g, (*n)._kind_6.sons->data[((NI) 0)]);
		}
		LA335_: ;
		{
			NI i_6;
			NI colontmp__3;
			NI i_7;
			i_6 = (NI)0;
			colontmp__3 = (NI)0;
			colontmp__3 = len__P89cqdlERShb9alU3iC0yj8wast(n);
			i_7 = ((NI) 1);
			{
				while (1) {
					if (!(i_7 < colontmp__3)) goto LA339;
					i_6 = i_7;
					put__bHuqOBd1M9aDS6daf1zl0nw(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 112), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_46), NIM_NIL);
					gsub__5eccg0mxlFLgBiNmpRHFig(g, (*n)._kind_6.sons->data[i_6]);
					i_7 += ((NI) 1);
				} LA339: ;
			}
		}
		put__bHuqOBd1M9aDS6daf1zl0nw(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 111), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_44), NIM_NIL);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 48):
	{
		putWithSpace__5FjmUgmw7uaBcQF2ueVA5g(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 31), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_79));
		{
			NI T343_;
			T343_ = (NI)0;
			T343_ = len__P89cqdlERShb9alU3iC0yj8wast(n);
			if (!(((NI) 0) < T343_)) goto LA344_;
			gcond__5eccg0mxlFLgBiNmpRHFig_6(g, (*(*n)._kind_6.sons->data[((NI) 0)])._kind_6.sons->data[((NI) 0)]);
		}
		LA344_: ;
		putWithSpace__5FjmUgmw7uaBcQF2ueVA5g(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 103), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_49));
		{
			NI T348_;
			T348_ = (NI)0;
			T348_ = len__P89cqdlERShb9alU3iC0yj8wast(n);
			if (!(((NI) 0) < T348_)) goto LA349_;
			gsub__HNcJVTbsLN2PfMmnG6BxYw(g, (*n)._kind_6.sons->data[((NI) 0)], ((NI) 1));
		}
		LA349_: ;
		gsons__WBsq6aIWI0YbAY07tgvprg_2(g, n, TM__1E0z9biZTE3PahFHulMjtyw_80, ((NI) 1), ((NI) -1));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 49):
	{
		putWithSpace__5FjmUgmw7uaBcQF2ueVA5g(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 21), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_81));
		gcond__5eccg0mxlFLgBiNmpRHFig_6(g, (*n)._kind_6.sons->data[((NI) 0)]);
		putWithSpace__5FjmUgmw7uaBcQF2ueVA5g(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 103), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_49));
		gsub__HNcJVTbsLN2PfMmnG6BxYw(g, n, ((NI) 1));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 50):
	{
		put__bHuqOBd1M9aDS6daf1zl0nw(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 22), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_82), NIM_NIL);
		putWithSpace__5FjmUgmw7uaBcQF2ueVA5g(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 103), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_49));
		gsub__HNcJVTbsLN2PfMmnG6BxYw(g, n, ((NI) 0));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 132):
	{
		put__bHuqOBd1M9aDS6daf1zl0nw(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 62), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_83), NIM_NIL);
		put__bHuqOBd1M9aDS6daf1zl0nw(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 89), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_45), NIM_NIL);
		{
			NI T356_;
			T356_ = (NI)0;
			T356_ = len__P89cqdlERShb9alU3iC0yj8wast(n);
			if (!(((NI) 0) < T356_)) goto LA357_;
			gsub__5eccg0mxlFLgBiNmpRHFig(g, (*n)._kind_6.sons->data[((NI) 0)]);
		}
		LA357_: ;
		put__bHuqOBd1M9aDS6daf1zl0nw(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 90), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_48), NIM_NIL);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 141):
	{
		{
			NI T362_;
			T362_ = (NI)0;
			T362_ = len__P89cqdlERShb9alU3iC0yj8wast(n);
			if (!(((NI) 0) < T362_)) goto LA363_;
			putWithSpace__5FjmUgmw7uaBcQF2ueVA5g(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 54), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_84));
			gsub__5eccg0mxlFLgBiNmpRHFig(g, (*n)._kind_6.sons->data[((NI) 0)]);
		}
		goto LA360_;
		LA363_: ;
		{
			put__bHuqOBd1M9aDS6daf1zl0nw(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 54), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_84), NIM_NIL);
		}
		LA360_: ;
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 142):
	{
		{
			NI T369_;
			T369_ = (NI)0;
			T369_ = len__P89cqdlERShb9alU3iC0yj8wast(n);
			if (!(((NI) 0) < T369_)) goto LA370_;
			putWithSpace__5FjmUgmw7uaBcQF2ueVA5g(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 52), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_85));
			gsub__5eccg0mxlFLgBiNmpRHFig(g, (*n)._kind_6.sons->data[((NI) 0)]);
		}
		goto LA367_;
		LA370_: ;
		{
			put__bHuqOBd1M9aDS6daf1zl0nw(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 52), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_85), NIM_NIL);
		}
		LA367_: ;
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 143):
	{
		{
			NI T376_;
			T376_ = (NI)0;
			T376_ = len__P89cqdlERShb9alU3iC0yj8wast(n);
			if (!(((NI) 0) < T376_)) goto LA377_;
			putWithSpace__5FjmUgmw7uaBcQF2ueVA5g(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 64), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_86));
			gsub__5eccg0mxlFLgBiNmpRHFig(g, (*n)._kind_6.sons->data[((NI) 0)]);
		}
		goto LA374_;
		LA377_: ;
		{
			put__bHuqOBd1M9aDS6daf1zl0nw(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 64), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_86), NIM_NIL);
		}
		LA374_: ;
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 146):
	{
		{
			NI T383_;
			T383_ = (NI)0;
			T383_ = len__P89cqdlERShb9alU3iC0yj8wast(n);
			if (!(((NI) 0) < T383_)) goto LA384_;
			putWithSpace__5FjmUgmw7uaBcQF2ueVA5g(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 18), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_87));
			gsub__5eccg0mxlFLgBiNmpRHFig(g, (*n)._kind_6.sons->data[((NI) 0)]);
			{
				NI T388_;
				T388_ = (NI)0;
				T388_ = len__P89cqdlERShb9alU3iC0yj8wast(n);
				if (!(((NI) 1) < T388_)) goto LA389_;
				{
					if (!((*(*n)._kind_6.sons->data[((NI) 1)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 130))) goto LA393_;
					putWithSpace__5FjmUgmw7uaBcQF2ueVA5g(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 2), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_88));
				}
				goto LA391_;
				LA393_: ;
				{
					putWithSpace__5FjmUgmw7uaBcQF2ueVA5g(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 2), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_89));
				}
				LA391_: ;
				gcomma__cePKc9cEQau31w9auAvt0icA(g, (*n)._kind_6.sons->data[((NI) 1)], ((NI) 0), ((NI) -1));
			}
			LA389_: ;
		}
		goto LA381_;
		LA384_: ;
		{
			put__bHuqOBd1M9aDS6daf1zl0nw(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 18), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_87), NIM_NIL);
		}
		LA381_: ;
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 103):
	{
		{
			if (!((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 43))) goto LA400_;
			gsub__HNcJVTbsLN2PfMmnG6BxYw(g, (*n)._kind_6.sons->data[((NI) 0)], ((NI) 0));
			gsub__HNcJVTbsLN2PfMmnG6BxYw(g, n, ((NI) 1));
			gsub__HNcJVTbsLN2PfMmnG6BxYw(g, (*n)._kind_6.sons->data[((NI) 0)], ((NI) 1));
		}
		goto LA398_;
		LA400_: ;
		{
			gsub__HNcJVTbsLN2PfMmnG6BxYw(g, n, ((NI) 0));
			gsub__HNcJVTbsLN2PfMmnG6BxYw(g, n, ((NI) 1));
		}
		LA398_: ;
		put__bHuqOBd1M9aDS6daf1zl0nw(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 112), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_46), NIM_NIL);
		{
			NIM_BOOL T405_;
			NI T406_;
			T405_ = (NIM_BOOL)0;
			T406_ = (NI)0;
			T406_ = len__P89cqdlERShb9alU3iC0yj8wast(n);
			T405_ = (((NI) 2) < T406_);
			if (!(T405_)) goto LA407_;
			T405_ = !(((*(*n)._kind_6.sons->data[((NI) 2)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)));
			LA407_: ;
			if (!T405_) goto LA408_;
			putWithSpace__5FjmUgmw7uaBcQF2ueVA5g(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 105), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_59));
			gsub__5eccg0mxlFLgBiNmpRHFig(g, (*n)._kind_6.sons->data[((NI) 2)]);
		}
		LA408_: ;
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 133):
	{
		{
			NI T413_;
			T413_ = (NI)0;
			T413_ = len__P89cqdlERShb9alU3iC0yj8wast(n);
			if (!(((NI) 0) < T413_)) goto LA414_;
			putWithSpace__5FjmUgmw7uaBcQF2ueVA5g(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 47), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_90));
			gsub__5eccg0mxlFLgBiNmpRHFig(g, (*n)._kind_6.sons->data[((NI) 0)]);
			gsub__5eccg0mxlFLgBiNmpRHFig(g, (*n)._kind_6.sons->data[((NI) 1)]);
			gcoms__n8JbrzcZm8FmR9aCHItw47w_4(g);
			gsub__5eccg0mxlFLgBiNmpRHFig(g, (*n)._kind_6.sons->data[((NI) 2)]);
		}
		goto LA411_;
		LA414_: ;
		{
			put__bHuqOBd1M9aDS6daf1zl0nw(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 47), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_90), NIM_NIL);
		}
		LA411_: ;
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 138):
	{
		indentNL__n8JbrzcZm8FmR9aCHItw47w(g);
		{
			NI i_8;
			NI colontmp__4;
			NI i_9;
			i_8 = (NI)0;
			colontmp__4 = (NI)0;
			colontmp__4 = len__P89cqdlERShb9alU3iC0yj8wast(n);
			i_9 = ((NI) 0);
			{
				while (1) {
					if (!(i_9 < colontmp__4)) goto LA420;
					i_8 = i_9;
					optNL__n8JbrzcZm8FmR9aCHItw47w_2(g);
					gsub__NmOOKTnnEkQl0J72fGke1g(g, (*n)._kind_6.sons->data[i_8], c);
					gcoms__n8JbrzcZm8FmR9aCHItw47w_4(g);
					i_9 += ((NI) 1);
				} LA420: ;
			}
		}
		dedent__n8JbrzcZm8FmR9aCHItw47w_6(g);
		putNL__n8JbrzcZm8FmR9aCHItw47w_7(g);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 77):
	{
		putWithSpace__5FjmUgmw7uaBcQF2ueVA5g(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 48), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_91));
		gsub__HNcJVTbsLN2PfMmnG6BxYw(g, n, ((NI) 0));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 147):
	{
		{
			NI T425_;
			T425_ = (NI)0;
			T425_ = len__P89cqdlERShb9alU3iC0yj8wast(n);
			if (!(((NI) 0) < T425_)) goto LA426_;
			putWithSpace__5FjmUgmw7uaBcQF2ueVA5g(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 51), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_74));
			gsub__HNcJVTbsLN2PfMmnG6BxYw(g, n, ((NI) 0));
			gsub__HNcJVTbsLN2PfMmnG6BxYw(g, n, ((NI) 1));
		}
		goto LA423_;
		LA426_: ;
		{
			put__bHuqOBd1M9aDS6daf1zl0nw(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 51), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_74), NIM_NIL);
		}
		LA423_: ;
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 148):
	{
		{
			NI T432_;
			T432_ = (NI)0;
			T432_ = len__P89cqdlERShb9alU3iC0yj8wast(n);
			if (!(((NI) 0) < T432_)) goto LA433_;
			putWithSpace__5FjmUgmw7uaBcQF2ueVA5g(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 38), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_92));
			gsub__HNcJVTbsLN2PfMmnG6BxYw(g, n, ((NI) 0));
			gsub__HNcJVTbsLN2PfMmnG6BxYw(g, n, ((NI) 1));
		}
		goto LA430_;
		LA433_: ;
		{
			put__bHuqOBd1M9aDS6daf1zl0nw(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 38), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_92), NIM_NIL);
		}
		LA430_: ;
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 137):
	{
		put__bHuqOBd1M9aDS6daf1zl0nw(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 58), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_65), NIM_NIL);
		put__bHuqOBd1M9aDS6daf1zl0nw(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 91), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_57), NIM_NIL);
		{
			NI T439_;
			T439_ = (NI)0;
			T439_ = len__P89cqdlERShb9alU3iC0yj8wast(n);
			if (!(((NI) 0) < T439_)) goto LA440_;
			gsub__5eccg0mxlFLgBiNmpRHFig(g, (*n)._kind_6.sons->data[((NI) 0)]);
		}
		LA440_: ;
		put__bHuqOBd1M9aDS6daf1zl0nw(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 92), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_58), NIM_NIL);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 150):
	{
		{
			NI T445_;
			T445_ = (NI)0;
			T445_ = len__P89cqdlERShb9alU3iC0yj8wast(n);
			if (!(((NI) 0) < T445_)) goto LA446_;
			putWithSpace__5FjmUgmw7uaBcQF2ueVA5g(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 24), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_93));
			gsub__5eccg0mxlFLgBiNmpRHFig(g, (*n)._kind_6.sons->data[((NI) 0)]);
			gcoms__n8JbrzcZm8FmR9aCHItw47w_4(g);
			indentNL__n8JbrzcZm8FmR9aCHItw47w(g);
			gcommaAux__bQ9aCy7WNa8SDWp6lu2Yncw(g, n, (*g).indent, ((NI) 1), ((NI) -1), ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 101));
			gcoms__n8JbrzcZm8FmR9aCHItw47w_4(g);
			dedent__n8JbrzcZm8FmR9aCHItw47w_6(g);
		}
		goto LA443_;
		LA446_: ;
		{
			put__bHuqOBd1M9aDS6daf1zl0nw(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 24), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_93), NIM_NIL);
		}
		LA443_: ;
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 151):
	{
		gsub__HNcJVTbsLN2PfMmnG6BxYw(g, n, ((NI) 0));
		put__bHuqOBd1M9aDS6daf1zl0nw(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 112), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_46), NIM_NIL);
		putWithSpace__5FjmUgmw7uaBcQF2ueVA5g(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 105), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_59));
		gsub__HNcJVTbsLN2PfMmnG6BxYw(g, n, ((NI) 1));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 128):
	{
		gstmts__ZgGwD8V7yy9cPF3ZhVNGmFA(g, n, TM__1E0z9biZTE3PahFHulMjtyw_80, NIM_TRUE);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 92):
	{
		putWithSpace__5FjmUgmw7uaBcQF2ueVA5g(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 31), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_79));
		gif__5eccg0mxlFLgBiNmpRHFig_7(g, n);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 93):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 140):
	{
		putWithSpace__5FjmUgmw7uaBcQF2ueVA5g(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 65), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_94));
		gif__5eccg0mxlFLgBiNmpRHFig_7(g, n);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 96):
	{
		gwhile__5eccg0mxlFLgBiNmpRHFig_8(g, n);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 91):
	{
		gpragmaBlock__5eccg0mxlFLgBiNmpRHFig_9(g, n);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 97):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 139):
	{
		gcase__5eccg0mxlFLgBiNmpRHFig_10(g, n);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 106):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 154):
	{
		gtry__5eccg0mxlFLgBiNmpRHFig_11(g, n);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 94):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 95):
	{
		gfor__5eccg0mxlFLgBiNmpRHFig_12(g, n);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 112):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 127):
	{
		gblock__5eccg0mxlFLgBiNmpRHFig_13(g, n);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 113):
	{
		gstaticStmt__5eccg0mxlFLgBiNmpRHFig_14(g, n);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 89):
	{
		gasm__5eccg0mxlFLgBiNmpRHFig_15(g, n);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 79):
	{
		{
			if (!!((((*g).flags &((NU16)1<<((NU)(((tyEnum_TRenderFlag__wrPgUo1ExBlHvFnXN2nSHw) 6))&15U)))!=0))) goto LA464_;
			putWithSpace__5FjmUgmw7uaBcQF2ueVA5g(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 51), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_74));
		}
		LA464_: ;
		gproc__5eccg0mxlFLgBiNmpRHFig_16(g, n);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 159):
	{
		{
			if (!!((((*g).flags &((NU16)1<<((NU)(((tyEnum_TRenderFlag__wrPgUo1ExBlHvFnXN2nSHw) 6))&15U)))!=0))) goto LA469_;
			putWithSpace__5FjmUgmw7uaBcQF2ueVA5g(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 30), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_102));
		}
		LA469_: ;
		gproc__5eccg0mxlFLgBiNmpRHFig_16(g, n);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 81):
	{
		{
			if (!!((((*g).flags &((NU16)1<<((NU)(((tyEnum_TRenderFlag__wrPgUo1ExBlHvFnXN2nSHw) 6))&15U)))!=0))) goto LA474_;
			putWithSpace__5FjmUgmw7uaBcQF2ueVA5g(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 15), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_103));
		}
		LA474_: ;
		gproc__5eccg0mxlFLgBiNmpRHFig_16(g, n);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 80):
	{
		{
			if (!!((((*g).flags &((NU16)1<<((NU)(((tyEnum_TRenderFlag__wrPgUo1ExBlHvFnXN2nSHw) 6))&15U)))!=0))) goto LA479_;
			putWithSpace__5FjmUgmw7uaBcQF2ueVA5g(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 41), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_104));
		}
		LA479_: ;
		gproc__5eccg0mxlFLgBiNmpRHFig_16(g, n);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 84):
	{
		{
			if (!!((((*g).flags &((NU16)1<<((NU)(((tyEnum_TRenderFlag__wrPgUo1ExBlHvFnXN2nSHw) 6))&15U)))!=0))) goto LA484_;
			putWithSpace__5FjmUgmw7uaBcQF2ueVA5g(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 38), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_92));
		}
		LA484_: ;
		gproc__5eccg0mxlFLgBiNmpRHFig_16(g, n);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 82):
	{
		{
			if (!!((((*g).flags &((NU16)1<<((NU)(((tyEnum_TRenderFlag__wrPgUo1ExBlHvFnXN2nSHw) 6))&15U)))!=0))) goto LA489_;
			putWithSpace__5FjmUgmw7uaBcQF2ueVA5g(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 40), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_105));
		}
		LA489_: ;
		gproc__5eccg0mxlFLgBiNmpRHFig_16(g, n);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 83):
	{
		{
			if (!!((((*g).flags &((NU16)1<<((NU)(((tyEnum_TRenderFlag__wrPgUo1ExBlHvFnXN2nSHw) 6))&15U)))!=0))) goto LA494_;
			putWithSpace__5FjmUgmw7uaBcQF2ueVA5g(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 59), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_106));
		}
		LA494_: ;
		gproc__5eccg0mxlFLgBiNmpRHFig_16(g, n);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 98):
	{
		gsection__OGEthmd3DfzdMKQHMfMF7A(g, n, TM__1E0z9biZTE3PahFHulMjtyw_80, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 62), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_107));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 101):
	{
		initContext__ATR9atx4JGXXaRJqSs0YyPQ((&a));
		a.Field1 |= ((NU8)1)<<((((tyEnum_TSubFlag__HgctW1zPuXVJBXUriqTnfQ) 1)) & 7);
		gsection__OGEthmd3DfzdMKQHMfMF7A(g, n, a, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 13), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_108));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 99):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 100):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 124):
	{
		{
			NI T501_;
			T501_ = (NI)0;
			T501_ = len__P89cqdlERShb9alU3iC0yj8wast(n);
			if (!(T501_ == ((NI) 0))) goto LA502_;
			goto BeforeRet_;
		}
		LA502_: ;
		{
			if (!((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 99))) goto LA506_;
			putWithSpace__5FjmUgmw7uaBcQF2ueVA5g(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 64), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_86));
		}
		goto LA504_;
		LA506_: ;
		{
			if (!((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 100))) goto LA509_;
			putWithSpace__5FjmUgmw7uaBcQF2ueVA5g(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 39), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_109));
		}
		goto LA504_;
		LA509_: ;
		{
			putWithSpace__5FjmUgmw7uaBcQF2ueVA5g(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 63), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_110));
		}
		LA504_: ;
		{
			NI T514_;
			T514_ = (NI)0;
			T514_ = len__P89cqdlERShb9alU3iC0yj8wast(n);
			if (!(((NI) 1) < T514_)) goto LA515_;
			gcoms__n8JbrzcZm8FmR9aCHItw47w_4(g);
			indentNL__n8JbrzcZm8FmR9aCHItw47w(g);
			{
				NI i_10;
				NI colontmp__5;
				NI i_11;
				i_10 = (NI)0;
				colontmp__5 = (NI)0;
				colontmp__5 = len__P89cqdlERShb9alU3iC0yj8wast(n);
				i_11 = ((NI) 0);
				{
					while (1) {
						if (!(i_11 < colontmp__5)) goto LA519;
						i_10 = i_11;
						optNL__n8JbrzcZm8FmR9aCHItw47w_2(g);
						gsub__5eccg0mxlFLgBiNmpRHFig(g, (*n)._kind_6.sons->data[i_10]);
						gcoms__n8JbrzcZm8FmR9aCHItw47w_4(g);
						i_11 += ((NI) 1);
					} LA519: ;
				}
			}
			dedent__n8JbrzcZm8FmR9aCHItw47w_6(g);
		}
		goto LA512_;
		LA515_: ;
		{
			gsub__5eccg0mxlFLgBiNmpRHFig(g, (*n)._kind_6.sons->data[((NI) 0)]);
		}
		LA512_: ;
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 109):
	{
		putWithSpace__5FjmUgmw7uaBcQF2ueVA5g(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 55), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_111));
		{
			NIM_BOOL T524_;
			NI T525_;
			T524_ = (NIM_BOOL)0;
			T525_ = (NI)0;
			T525_ = len__P89cqdlERShb9alU3iC0yj8wast(n);
			T524_ = (((NI) 0) < T525_);
			if (!(T524_)) goto LA526_;
			T524_ = ((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 73));
			LA526_: ;
			if (!T524_) goto LA527_;
			gsub__HNcJVTbsLN2PfMmnG6BxYw(g, (*n)._kind_6.sons->data[((NI) 0)], ((NI) 1));
		}
		goto LA522_;
		LA527_: ;
		{
			gsub__HNcJVTbsLN2PfMmnG6BxYw(g, n, ((NI) 0));
		}
		LA522_: ;
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 108):
	{
		putWithSpace__5FjmUgmw7uaBcQF2ueVA5g(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 53), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_112));
		gsub__HNcJVTbsLN2PfMmnG6BxYw(g, n, ((NI) 0));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 104):
	{
		putWithSpace__5FjmUgmw7uaBcQF2ueVA5g(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 68), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_113));
		gsub__HNcJVTbsLN2PfMmnG6BxYw(g, n, ((NI) 0));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 114):
	{
		putWithSpace__5FjmUgmw7uaBcQF2ueVA5g(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 17), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_114));
		gsub__HNcJVTbsLN2PfMmnG6BxYw(g, n, ((NI) 0));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 110):
	{
		putWithSpace__5FjmUgmw7uaBcQF2ueVA5g(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 9), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_115));
		gsub__HNcJVTbsLN2PfMmnG6BxYw(g, n, ((NI) 0));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 111):
	{
		putWithSpace__5FjmUgmw7uaBcQF2ueVA5g(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 14), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_116));
		gsub__HNcJVTbsLN2PfMmnG6BxYw(g, n, ((NI) 0));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 90):
	{
		{
			if (!((*g).inPragma <= ((NI) 0))) goto LA538_;
			(*g).inPragma += ((NI) 1);
			put__bHuqOBd1M9aDS6daf1zl0nw(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 112), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_46), NIM_NIL);
			put__bHuqOBd1M9aDS6daf1zl0nw(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 97), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_117), NIM_NIL);
			gcomma__WBsq6aIWI0YbAY07tgvprg(g, n, TM__1E0z9biZTE3PahFHulMjtyw_80, ((NI) 0), ((NI) -1));
			put__bHuqOBd1M9aDS6daf1zl0nw(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 98), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_118), NIM_NIL);
			(*g).inPragma -= ((NI) 1);
		}
		goto LA536_;
		LA538_: ;
		{
			gcomma__WBsq6aIWI0YbAY07tgvprg(g, n, TM__1E0z9biZTE3PahFHulMjtyw_80, ((NI) 0), ((NI) -1));
		}
		LA536_: ;
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 116):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 118):
	{
		{
			if (!((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 116))) goto LA544_;
			putWithSpace__5FjmUgmw7uaBcQF2ueVA5g(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 32), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_119));
		}
		goto LA542_;
		LA544_: ;
		{
			putWithSpace__5FjmUgmw7uaBcQF2ueVA5g(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 26), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_120));
		}
		LA542_: ;
		gcoms__n8JbrzcZm8FmR9aCHItw47w_4(g);
		indentNL__n8JbrzcZm8FmR9aCHItw47w(g);
		gcommaAux__bQ9aCy7WNa8SDWp6lu2Yncw(g, n, (*g).indent, ((NI) 0), ((NI) -1), ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 101));
		dedent__n8JbrzcZm8FmR9aCHItw47w_6(g);
		putNL__n8JbrzcZm8FmR9aCHItw47w_7(g);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 117):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 119):
	{
		{
			if (!((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 117))) goto LA550_;
			putWithSpace__5FjmUgmw7uaBcQF2ueVA5g(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 32), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_119));
		}
		goto LA548_;
		LA550_: ;
		{
			putWithSpace__5FjmUgmw7uaBcQF2ueVA5g(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 26), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_120));
		}
		LA548_: ;
		gsub__HNcJVTbsLN2PfMmnG6BxYw(g, n, ((NI) 0));
		put__bHuqOBd1M9aDS6daf1zl0nw(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 112), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_46), NIM_NIL);
		putWithSpace__5FjmUgmw7uaBcQF2ueVA5g(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 25), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_121));
		gcommaAux__bQ9aCy7WNa8SDWp6lu2Yncw(g, n, (*g).indent, ((NI) 1), ((NI) -1), ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 101));
		gcoms__n8JbrzcZm8FmR9aCHItw47w_4(g);
		putNL__n8JbrzcZm8FmR9aCHItw47w_7(g);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 120):
	{
		putWithSpace__5FjmUgmw7uaBcQF2ueVA5g(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 29), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_122));
		gsub__HNcJVTbsLN2PfMmnG6BxYw(g, n, ((NI) 0));
		put__bHuqOBd1M9aDS6daf1zl0nw(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 112), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_46), NIM_NIL);
		putWithSpace__5FjmUgmw7uaBcQF2ueVA5g(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 32), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_119));
		gcomma__WBsq6aIWI0YbAY07tgvprg(g, n, TM__1E0z9biZTE3PahFHulMjtyw_80, ((NI) 1), ((NI) -1));
		putNL__n8JbrzcZm8FmR9aCHItw47w_7(g);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 121):
	{
		putWithSpace__5FjmUgmw7uaBcQF2ueVA5g(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 34), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_123));
		gcoms__n8JbrzcZm8FmR9aCHItw47w_4(g);
		indentNL__n8JbrzcZm8FmR9aCHItw47w(g);
		gcommaAux__bQ9aCy7WNa8SDWp6lu2Yncw(g, n, (*g).indent, ((NI) 0), ((NI) -1), ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 101));
		dedent__n8JbrzcZm8FmR9aCHItw47w_6(g);
		putNL__n8JbrzcZm8FmR9aCHItw47w_7(g);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 125):
	{
		gcoms__n8JbrzcZm8FmR9aCHItw47w_4(g);
		optNL__n8JbrzcZm8FmR9aCHItw47w_2(g);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 85):
	{
		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T557_;
		optNL__n8JbrzcZm8FmR9aCHItw47w_2(g);
		putWithSpace__5FjmUgmw7uaBcQF2ueVA5g(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 48), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_91));
		gcomma__WBsq6aIWI0YbAY07tgvprg(g, n, c, ((NI) 0), ((NI) -2));
		putWithSpace__5FjmUgmw7uaBcQF2ueVA5g(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 103), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_49));
		gcoms__n8JbrzcZm8FmR9aCHItw47w_4(g);
		T557_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
		T557_ = lastSon__UPSW0jLTX5qJL51YMUAHgw(n);
		gstmts__ZgGwD8V7yy9cPF3ZhVNGmFA(g, T557_, c, NIM_TRUE);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 78):
	{
		gsub__HNcJVTbsLN2PfMmnG6BxYw(g, n, ((NI) 0));
		put__bHuqOBd1M9aDS6daf1zl0nw(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 112), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_46), NIM_NIL);
		putWithSpace__5FjmUgmw7uaBcQF2ueVA5g(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 5), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_124));
		gsub__HNcJVTbsLN2PfMmnG6BxYw(g, n, ((NI) 1));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 122):
	{
		putWithSpace__5FjmUgmw7uaBcQF2ueVA5g(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 7), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_73));
		gcomma__WBsq6aIWI0YbAY07tgvprg(g, n, c, ((NI) 0), ((NI) -1));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 123):
	{
		putWithSpace__5FjmUgmw7uaBcQF2ueVA5g(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 42), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_125));
		gcomma__WBsq6aIWI0YbAY07tgvprg(g, n, c, ((NI) 0), ((NI) -1));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 86):
	{
		optNL__n8JbrzcZm8FmR9aCHItw47w_2(g);
		putWithSpace__5FjmUgmw7uaBcQF2ueVA5g(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 21), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_126));
		gsub__HNcJVTbsLN2PfMmnG6BxYw(g, n, ((NI) 0));
		putWithSpace__5FjmUgmw7uaBcQF2ueVA5g(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 103), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_49));
		gcoms__n8JbrzcZm8FmR9aCHItw47w_4(g);
		gstmts__ZgGwD8V7yy9cPF3ZhVNGmFA(g, (*n)._kind_6.sons->data[((NI) 1)], c, NIM_TRUE);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 88):
	{
		optNL__n8JbrzcZm8FmR9aCHItw47w_2(g);
		put__bHuqOBd1M9aDS6daf1zl0nw(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 22), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_127), NIM_NIL);
		putWithSpace__5FjmUgmw7uaBcQF2ueVA5g(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 103), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_49));
		gcoms__n8JbrzcZm8FmR9aCHItw47w_4(g);
		gstmts__ZgGwD8V7yy9cPF3ZhVNGmFA(g, (*n)._kind_6.sons->data[((NI) 0)], c, NIM_TRUE);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 107):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 105):
	{
		optNL__n8JbrzcZm8FmR9aCHItw47w_2(g);
		{
			if (!((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 107))) goto LA566_;
			put__bHuqOBd1M9aDS6daf1zl0nw(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 27), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_128), NIM_NIL);
		}
		goto LA564_;
		LA566_: ;
		{
			put__bHuqOBd1M9aDS6daf1zl0nw(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 16), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_129), NIM_NIL);
		}
		LA564_: ;
		putWithSpace__5FjmUgmw7uaBcQF2ueVA5g(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 103), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_49));
		gcoms__n8JbrzcZm8FmR9aCHItw47w_4(g);
		gstmts__ZgGwD8V7yy9cPF3ZhVNGmFA(g, (*n)._kind_6.sons->data[((NI) 0)], c, NIM_TRUE);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 87):
	{
		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T576_;
		optNL__n8JbrzcZm8FmR9aCHItw47w_2(g);
		{
			NI T572_;
			T572_ = (NI)0;
			T572_ = len__P89cqdlERShb9alU3iC0yj8wast(n);
			if (!!((T572_ == ((NI) 1)))) goto LA573_;
			putWithSpace__5FjmUgmw7uaBcQF2ueVA5g(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 25), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_121));
		}
		goto LA570_;
		LA573_: ;
		{
			put__bHuqOBd1M9aDS6daf1zl0nw(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 25), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_121), NIM_NIL);
		}
		LA570_: ;
		gcomma__cePKc9cEQau31w9auAvt0icA(g, n, ((NI) 0), ((NI) -2));
		putWithSpace__5FjmUgmw7uaBcQF2ueVA5g(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 103), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_49));
		gcoms__n8JbrzcZm8FmR9aCHItw47w_4(g);
		T576_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
		T576_ = lastSon__UPSW0jLTX5qJL51YMUAHgw(n);
		gstmts__ZgGwD8V7yy9cPF3ZhVNGmFA(g, T576_, c, NIM_TRUE);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 75):
	{
		{
			NIM_BOOL T580_;
			T580_ = (NIM_BOOL)0;
			T580_ = hasExplicitParams__ty2FKaFbIrBgsB8VaZ9cZ3g(n);
			if (!T580_) goto LA581_;
			put__bHuqOBd1M9aDS6daf1zl0nw(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 91), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_57), NIM_NIL);
			gsemicolon__cePKc9cEQau31w9auAvt0icA_2(g, n, ((NI) 0), ((NI) -1));
			put__bHuqOBd1M9aDS6daf1zl0nw(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 92), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_58), NIM_NIL);
		}
		LA581_: ;
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 76):
	{
		put__bHuqOBd1M9aDS6daf1zl0nw(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 89), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_45), NIM_NIL);
		gsemicolon__cePKc9cEQau31w9auAvt0icA_2(g, n, ((NI) 1), ((NI) -1));
		put__bHuqOBd1M9aDS6daf1zl0nw(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 90), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_48), NIM_NIL);
		{
			NIM_BOOL T586_;
			NI T587_;
			T586_ = (NIM_BOOL)0;
			T587_ = (NI)0;
			T587_ = len__P89cqdlERShb9alU3iC0yj8wast(n);
			T586_ = (((NI) 0) < T587_);
			if (!(T586_)) goto LA588_;
			T586_ = !(((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)));
			LA588_: ;
			if (!T586_) goto LA589_;
			putWithSpace__5FjmUgmw7uaBcQF2ueVA5g(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 103), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_49));
			gsub__5eccg0mxlFLgBiNmpRHFig(g, (*n)._kind_6.sons->data[((NI) 0)]);
		}
		LA589_: ;
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 134):
	{
		put__bHuqOBd1M9aDS6daf1zl0nw(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 61), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_130), NIM_NIL);
		put__bHuqOBd1M9aDS6daf1zl0nw(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 91), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_57), NIM_NIL);
		gcomma__cePKc9cEQau31w9auAvt0icA(g, n, ((NI) 0), ((NI) -1));
		put__bHuqOBd1M9aDS6daf1zl0nw(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 92), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_58), NIM_NIL);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 135):
	{
		put__bHuqOBd1M9aDS6daf1zl0nw(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 61), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_130), NIM_NIL);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 24):
	{
		put__bHuqOBd1M9aDS6daf1zl0nw(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 89), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_131), NIM_NIL);
		gsub__HNcJVTbsLN2PfMmnG6BxYw(g, n, ((NI) 0));
		put__bHuqOBd1M9aDS6daf1zl0nw(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 90), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_48), NIM_NIL);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 156):
	{
		tyTuple__O2u2Fk7tlGg9b7lAVNkV3hw c_2;
		nimZeroMem((void*)(&c_2), sizeof(tyTuple__O2u2Fk7tlGg9b7lAVNkV3hw));
		initContext__ATR9atx4JGXXaRJqSs0YyPQ((&c_2));
		putWithSpace__5FjmUgmw7uaBcQF2ueVA5g(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 2), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_132));
		gsons__WBsq6aIWI0YbAY07tgvprg_2(g, n, c_2, ((NI) 0), ((NI) -1));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 157):
	{
		tyTuple__O2u2Fk7tlGg9b7lAVNkV3hw c_3;
		nimZeroMem((void*)(&c_3), sizeof(tyTuple__O2u2Fk7tlGg9b7lAVNkV3hw));
		initContext__ATR9atx4JGXXaRJqSs0YyPQ((&c_3));
		putWithSpace__5FjmUgmw7uaBcQF2ueVA5g(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 2), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_133));
		gsub__NmOOKTnnEkQl0J72fGke1g(g, (*n)._kind_6.sons->data[((NI) 0)], c_3);
		putWithSpace__5FjmUgmw7uaBcQF2ueVA5g(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 103), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_49));
		indentNL__n8JbrzcZm8FmR9aCHItw47w(g);
		gsons__WBsq6aIWI0YbAY07tgvprg_2(g, n, c_3, ((NI) 1), ((NI) -1));
		dedent__n8JbrzcZm8FmR9aCHItw47w_6(g);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 158):
	{
		put__bHuqOBd1M9aDS6daf1zl0nw(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 61), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_134), NIM_NIL);
		{
			if (!(((*g).flags &((NU16)1<<((NU)(((tyEnum_TRenderFlag__wrPgUo1ExBlHvFnXN2nSHw) 5))&15U)))!=0)) goto LA599_;
			gsons__WBsq6aIWI0YbAY07tgvprg_2(g, n, c, ((NI) 0), ((NI) -1));
		}
		LA599_: ;
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 136):
	{
		gTypeClassTy__5eccg0mxlFLgBiNmpRHFig_18(g, n);
	}
	break;
	default:
	{
		tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q T603_;
		NimStringDesc* T604_;
		T603_ = (*n).info;
		T604_ = (NimStringDesc*)0;
		T604_ = rawNewString((reprEnum((NI)(*n).kind, (&NTI__G4E4Gxe7oI2Cm03rkiOzQw_)) ? reprEnum((NI)(*n).kind, (&NTI__G4E4Gxe7oI2Cm03rkiOzQw_))->Sup.len : 0) + 14);
appendString(T604_, ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_136));
appendString(T604_, reprEnum((NI)(*n).kind, (&NTI__G4E4Gxe7oI2Cm03rkiOzQw_)));
appendChar(T604_, 41);
		internalErrorImpl__PTSwZ6HM9bGBf7vF9cnDmwVw((*g).config, T603_, T604_, TM__1E0z9biZTE3PahFHulMjtyw_137);
	}
	break;
	}
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, gsub__5eccg0mxlFLgBiNmpRHFig)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
	tyTuple__O2u2Fk7tlGg9b7lAVNkV3hw c;
	nimZeroMem((void*)(&c), sizeof(tyTuple__O2u2Fk7tlGg9b7lAVNkV3hw));
	initContext__ATR9atx4JGXXaRJqSs0YyPQ((&c));
	gsub__NmOOKTnnEkQl0J72fGke1g(g, n, c);
}
N_LIB_PRIVATE N_NIMCALL(void, gstmts__ZgGwD8V7yy9cPF3ZhVNGmFA)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyTuple__O2u2Fk7tlGg9b7lAVNkV3hw c, NIM_BOOL doIndent) {
{	{
		if (!((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1))) goto LA3_;
		goto BeforeRet_;
	}
	LA3_: ;
	{
		if (!((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 128))) goto LA7_;
		{
			if (!doIndent) goto LA11_;
			indentNL__n8JbrzcZm8FmR9aCHItw47w(g);
		}
		LA11_: ;
		{
			NI i;
			NI colontmp_;
			NI i_2;
			i = (NI)0;
			colontmp_ = (NI)0;
			colontmp_ = len__P89cqdlERShb9alU3iC0yj8wast(n);
			i_2 = ((NI) 0);
			{
				while (1) {
					if (!(i_2 < colontmp_)) goto LA15;
					i = i_2;
					{
						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T20_;
						if (!(((NI) 0) < i)) goto LA18_;
						T20_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
						T20_ = (*n)._kind_6.sons->data[(NI)(i - ((NI) 1))];
						optNL__GEWpEuqY9a3huqkrKYAAObA(g, T20_, (*n)._kind_6.sons->data[i]);
					}
					goto LA16_;
					LA18_: ;
					{
						optNL__n8JbrzcZm8FmR9aCHItw47w_2(g);
					}
					LA16_: ;
					{
						if (!((*(*n)._kind_6.sons->data[i]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115) || (*(*n)._kind_6.sons->data[i]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126) || (*(*n)._kind_6.sons->data[i]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 128))) goto LA24_;
						gstmts__ZgGwD8V7yy9cPF3ZhVNGmFA(g, (*n)._kind_6.sons->data[i], c, NIM_FALSE);
					}
					goto LA22_;
					LA24_: ;
					{
						gsub__5eccg0mxlFLgBiNmpRHFig(g, (*n)._kind_6.sons->data[i]);
					}
					LA22_: ;
					gcoms__n8JbrzcZm8FmR9aCHItw47w_4(g);
					i_2 += ((NI) 1);
				} LA15: ;
			}
		}
		{
			if (!doIndent) goto LA29_;
			dedent__n8JbrzcZm8FmR9aCHItw47w_6(g);
		}
		LA29_: ;
	}
	goto LA5_;
	LA7_: ;
	{
		indentNL__n8JbrzcZm8FmR9aCHItw47w(g);
		gsub__5eccg0mxlFLgBiNmpRHFig(g, n);
		gcoms__n8JbrzcZm8FmR9aCHItw47w_4(g);
		dedent__n8JbrzcZm8FmR9aCHItw47w_6(g);
		optNL__n8JbrzcZm8FmR9aCHItw47w_2(g);
	}
	LA5_: ;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, renderTree__ppjdh9aQ5L0SGPF8yz1gZ9cA)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TRenderFlag__wrPgUo1ExBlHvFnXN2nSHw renderFlags) {
	NimStringDesc* result;
	tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg g;
	tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* T5_;
{	result = (NimStringDesc*)0;
	{
		if (!(n == NIM_NIL)) goto LA3_;
		result = copyString(((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_2));
		goto BeforeRet_;
	}
	LA3_: ;
	nimZeroMem((void*)(&g), sizeof(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg));
	T5_ = (tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw*)0;
	T5_ = newPartialConfigRef__YbeeoJLQnRQK2F8DAaXI8w_2();
	initSrcGen__V4h13uDpnxFekQECTzYaWA((&g), renderFlags, T5_);
	{
		if (!((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 128))) goto LA8_;
		gstmts__ZgGwD8V7yy9cPF3ZhVNGmFA((&g), n, TM__1E0z9biZTE3PahFHulMjtyw_80, NIM_FALSE);
	}
	goto LA6_;
	LA8_: ;
	{
		gsub__5eccg0mxlFLgBiNmpRHFig((&g), n);
	}
	LA6_: ;
	result = copyString(g.buf);
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar___qX5C9b0n9bOP7jk69amC8dA7A)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
	NimStringDesc* result;
	result = (NimStringDesc*)0;
	result = renderTree__ppjdh9aQ5L0SGPF8yz1gZ9cA(n, 0);
	return result;
}
static N_INLINE(NimStringDesc*, quoteExpr__iY9c9cVDafXn075xuZnbFqawrenderer)(NimStringDesc* a) {
	NimStringDesc* result;
	NimStringDesc* T1_;
	result = (NimStringDesc*)0;
	T1_ = (NimStringDesc*)0;
	T1_ = rawNewString((a ? a->Sup.len : 0) + 2);
appendString(T1_, ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_9));
appendString(T1_, a);
appendString(T1_, ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_9));
	result = T1_;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, genFieldDefect__NFvxltQN2CgyfP8SjDTS1g)(tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w* field, tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w* disc) {
	NimStringDesc* result;
	NimStringDesc* T1_;
	NimStringDesc* T2_;
	NimStringDesc* T3_;
	NimStringDesc* T4_;
	result = (NimStringDesc*)0;
	T1_ = (NimStringDesc*)0;
	T2_ = (NimStringDesc*)0;
	T2_ = quoteExpr__iY9c9cVDafXn075xuZnbFqawrenderer((*(*field).name).s);
	T3_ = (NimStringDesc*)0;
	T3_ = quoteExpr__iY9c9cVDafXn075xuZnbFqawrenderer((*(*disc).name).s);
	T4_ = (NimStringDesc*)0;
	T4_ = quoteExpr__iY9c9cVDafXn075xuZnbFqawrenderer((*(*(*disc).owner).name).s);
	T1_ = rawNewString((T2_ ? T2_->Sup.len : 0) + (T3_ ? T3_->Sup.len : 0) + (T4_ ? T4_->Sup.len : 0) + 47);
appendString(T1_, T2_);
appendString(T1_, ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_138));
appendString(T1_, T3_);
appendString(T1_, ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_139));
appendString(T1_, T4_);
	result = T1_;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, renderModule__PMQ9adArlSkkG8lng7soccA)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NimStringDesc* infile, NimStringDesc* outfile, tySet_tyEnum_TRenderFlag__wrPgUo1ExBlHvFnXN2nSHw renderFlags, NI32 fid, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf) {
	FILE* f;
	tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg g;
	f = (FILE*)0;
	nimZeroMem((void*)(&g), sizeof(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg));
	initSrcGen__V4h13uDpnxFekQECTzYaWA((&g), renderFlags, conf);
	g.fid = fid;
	{
		NI i;
		NI colontmp_;
		NI i_2;
		i = (NI)0;
		colontmp_ = (NI)0;
		colontmp_ = len__P89cqdlERShb9alU3iC0yj8wast(n);
		i_2 = ((NI) 0);
		{
			while (1) {
				if (!(i_2 < colontmp_)) goto LA3;
				i = i_2;
				gsub__5eccg0mxlFLgBiNmpRHFig((&g), (*n)._kind_6.sons->data[i]);
				optNL__n8JbrzcZm8FmR9aCHItw47w_2((&g));
				switch ((*(*n)._kind_6.sons->data[i]).kind) {
				case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 98):
				case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 101):
				case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 99):
				case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 100):
				case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 125):
				{
					putNL__n8JbrzcZm8FmR9aCHItw47w_7((&g));
				}
				break;
				default:
				{
				}
				break;
				}
				i_2 += ((NI) 1);
			} LA3: ;
		}
	}
	gcoms__n8JbrzcZm8FmR9aCHItw47w_4((&g));
	{
		NIM_BOOL T8_;
		T8_ = (NIM_BOOL)0;
		T8_ = open__gq12VLhVO0NBzUTnGgz4nw(&f, outfile, ((tyEnum_FileMode__ZJfK20XeZ9bv2j1pZjw9aswg) 1), ((NI) -1));
		if (!T8_) goto LA9_;
		write__PArlm09bKklm2BLsCg6YtaA(f, g.buf);
		close__fU6ZlJAtQ9bre04EDZLdGsA_3(f);
	}
	goto LA6_;
	LA9_: ;
	{
		NimStringDesc* T12_;
		T12_ = (NimStringDesc*)0;
		T12_ = rawNewString((outfile ? outfile->Sup.len : 0) + 18);
appendString(T12_, ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_140));
appendString(T12_, outfile);
		liMessage__Q6JNH4uRwLyZrj0dJakHew(g.config, unknownLineInfo__Adg58D2FIbt5TWh9aavBqbg, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 10), T12_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 1), TM__1E0z9biZTE3PahFHulMjtyw_141, NIM_FALSE);
	}
	LA6_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, initTokRender__fvDS5PTYUI6zuDDOhODswg)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* r, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TRenderFlag__wrPgUo1ExBlHvFnXN2nSHw renderFlags) {
	tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* T1_;
	T1_ = (tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw*)0;
	T1_ = newPartialConfigRef__YbeeoJLQnRQK2F8DAaXI8w_2();
	initSrcGen__V4h13uDpnxFekQECTzYaWA(r, renderFlags, T1_);
	gsub__5eccg0mxlFLgBiNmpRHFig(r, n);
}
N_LIB_PRIVATE N_NIMCALL(void, getNextTok__F3VjMm1n9aNzNovLrk02g5g)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* r, tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ* kind, NimStringDesc** literal) {
	{
		NI T3_;
		NI length;
		NimStringDesc* T6_;
		NI T7_;
		T3_ = ((*r).tokens ? (*r).tokens->Sup.len : 0);
		if (!((*r).idx < T3_)) goto LA4_;
		(*kind) = (*r).tokens->data[(*r).idx].kind;
		length = ((NI) ((*r).tokens->data[(*r).idx].length));
		T6_ = (NimStringDesc*)0;
		T6_ = (*r).buf;
		T7_ = (NI)0;
		T7_ = (*r).pos;
		unsureAsgnRef((void**) (&(*literal)), substr__2yh9cer0ymNRHlOOg8P7IuA(T6_, T7_, (NI)((NI)((*r).pos + length) - ((NI) 1))));
		(*r).pos += length;
		(*r).idx += ((NI) 1);
	}
	goto LA1_;
	LA4_: ;
	{
		(*kind) = ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 1);
	}
	LA1_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w*, getTokSym__c63Q9b9bWYYRP36QgDsG9cNDQ)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* r) {
	tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w* result;
	result = (tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w*)0;
	{
		NIM_BOOL T3_;
		NI T5_;
		T3_ = (NIM_BOOL)0;
		T3_ = (((NI) 0) < (*r).idx);
		if (!(T3_)) goto LA4_;
		T5_ = ((*r).tokens ? (*r).tokens->Sup.len : 0);
		T3_ = ((*r).idx <= T5_);
		LA4_: ;
		if (!T3_) goto LA6_;
		result = (*r).tokens->data[(NI)((*r).idx - ((NI) 1))].sym;
	}
	goto LA1_;
	LA6_: ;
	{
		result = NIM_NIL;
	}
	LA1_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, compiler_rendererDatInit000)(void) {

/* section: NIM_merge_TYPE_INIT1 */
static TNimNode* TM__1E0z9biZTE3PahFHulMjtyw_3_3[3];
static TNimNode TM__1E0z9biZTE3PahFHulMjtyw_0[4];

/* section: NIM_merge_TYPE_INIT3 */
NTI__FnEE3o2nWtqdjoC0wa2wgA_.size = sizeof(tyObject_TRenderTok__FnEE3o2nWtqdjoC0wa2wgA);
NTI__FnEE3o2nWtqdjoC0wa2wgA_.align = NIM_ALIGNOF(tyObject_TRenderTok__FnEE3o2nWtqdjoC0wa2wgA);
NTI__FnEE3o2nWtqdjoC0wa2wgA_.kind = 18;
NTI__FnEE3o2nWtqdjoC0wa2wgA_.base = 0;
NTI__FnEE3o2nWtqdjoC0wa2wgA_.flags = 2;
TM__1E0z9biZTE3PahFHulMjtyw_3_3[0] = &TM__1E0z9biZTE3PahFHulMjtyw_0[1];
TM__1E0z9biZTE3PahFHulMjtyw_0[1].kind = 1;
TM__1E0z9biZTE3PahFHulMjtyw_0[1].offset = offsetof(tyObject_TRenderTok__FnEE3o2nWtqdjoC0wa2wgA, kind);
TM__1E0z9biZTE3PahFHulMjtyw_0[1].typ = (&NTI__5VVBIL7Ozj1cc9akK23jAGQ_);
TM__1E0z9biZTE3PahFHulMjtyw_0[1].name = "kind";
TM__1E0z9biZTE3PahFHulMjtyw_3_3[1] = &TM__1E0z9biZTE3PahFHulMjtyw_0[2];
TM__1E0z9biZTE3PahFHulMjtyw_0[2].kind = 1;
TM__1E0z9biZTE3PahFHulMjtyw_0[2].offset = offsetof(tyObject_TRenderTok__FnEE3o2nWtqdjoC0wa2wgA, length);
TM__1E0z9biZTE3PahFHulMjtyw_0[2].typ = (&NTI__kDPg4wXyR8DDyA0MeEjIsw_);
TM__1E0z9biZTE3PahFHulMjtyw_0[2].name = "length";
TM__1E0z9biZTE3PahFHulMjtyw_3_3[2] = &TM__1E0z9biZTE3PahFHulMjtyw_0[3];
TM__1E0z9biZTE3PahFHulMjtyw_0[3].kind = 1;
TM__1E0z9biZTE3PahFHulMjtyw_0[3].offset = offsetof(tyObject_TRenderTok__FnEE3o2nWtqdjoC0wa2wgA, sym);
TM__1E0z9biZTE3PahFHulMjtyw_0[3].typ = (&NTI__K9bspPztfoWajecnwjyHuYQ_);
TM__1E0z9biZTE3PahFHulMjtyw_0[3].name = "sym";
TM__1E0z9biZTE3PahFHulMjtyw_0[0].len = 3; TM__1E0z9biZTE3PahFHulMjtyw_0[0].kind = 2; TM__1E0z9biZTE3PahFHulMjtyw_0[0].sons = &TM__1E0z9biZTE3PahFHulMjtyw_3_3[0];
NTI__FnEE3o2nWtqdjoC0wa2wgA_.node = &TM__1E0z9biZTE3PahFHulMjtyw_0[0];
NTI__0W45b4tBLx0JWnu0NjAmVQ_.size = sizeof(tySequence__0W45b4tBLx0JWnu0NjAmVQ*);
NTI__0W45b4tBLx0JWnu0NjAmVQ_.align = NIM_ALIGNOF(tySequence__0W45b4tBLx0JWnu0NjAmVQ*);
NTI__0W45b4tBLx0JWnu0NjAmVQ_.kind = 24;
NTI__0W45b4tBLx0JWnu0NjAmVQ_.base = (&NTI__FnEE3o2nWtqdjoC0wa2wgA_);
NTI__0W45b4tBLx0JWnu0NjAmVQ_.flags = 2;
NTI__0W45b4tBLx0JWnu0NjAmVQ_.marker = Marker_tySequence__0W45b4tBLx0JWnu0NjAmVQ;
}

