/* Generated by Nim Compiler v0.13.0 */
/*   (c) 2015 Andreas Rumpf */
/* The generated code is subject to the original license. */
#define NIM_INTBITS 32

#include "nimbase.h"
#include <string.h>
#include <setjmp.h>
#include <time.h>
#include <stdio.h>
typedef struct NimStringDesc NimStringDesc;
typedef struct TGenericSeq TGenericSeq;
typedef struct Tnode216790 Tnode216790;
typedef struct Tsym216822 Tsym216822;
typedef struct Tpass263014 Tpass263014;
typedef struct Tpasscontext263002 Tpasscontext263002;
typedef struct Trodreader254021 Trodreader254021;
typedef struct Tlinkedlist138016 Tlinkedlist138016;
typedef struct Tlistentry138010 Tlistentry138010;
typedef struct Tidobj191006 Tidobj191006;
typedef struct TNimObject TNimObject;
typedef struct TNimType TNimType;
typedef struct TNimNode TNimNode;
typedef struct Ttypeseq216824 Ttypeseq216824;
typedef struct Tscope216816 Tscope216816;
typedef struct TY216925 TY216925;
typedef struct Tstrtable216794 Tstrtable216794;
typedef struct Tsymseq216792 Tsymseq216792;
typedef struct Ttype216828 Ttype216828;
typedef struct Tident191012 Tident191012;
typedef struct Tlineinfo184337 Tlineinfo184337;
typedef struct Tloc216804 Tloc216804;
typedef struct Ropeobj172006 Ropeobj172006;
typedef struct Tlib216808 Tlib216808;
typedef struct Tctx265036 Tctx265036;
typedef struct TY537181 TY537181;
typedef struct TY265242 TY265242;
typedef struct TY185093 TY185093;
typedef struct PprocHEX3Aobjecttype265221 PprocHEX3Aobjecttype265221;
typedef struct TY265261 TY265261;
typedef struct TY117115 TY117115;
typedef struct Cell47304 Cell47304;
typedef struct Cellseq47320 Cellseq47320;
typedef struct Gcheap49618 Gcheap49618;
typedef struct Gcstack49616 Gcstack49616;
typedef struct Cellset47316 Cellset47316;
typedef struct Pagedesc47312 Pagedesc47312;
typedef struct Memregion29487 Memregion29487;
typedef struct Smallchunk29439 Smallchunk29439;
typedef struct Llchunk29481 Llchunk29481;
typedef struct Bigchunk29441 Bigchunk29441;
typedef struct Intset29414 Intset29414;
typedef struct Trunk29410 Trunk29410;
typedef struct Avlnode29485 Avlnode29485;
typedef struct Gcstat49614 Gcstat49614;
typedef struct Vmargs265030 Vmargs265030;
typedef struct Exception Exception;
typedef struct TSafePoint TSafePoint;
typedef struct TY127402 TY127402;
typedef struct Win32finddata107213 Win32finddata107213;
typedef struct Filetime106255 Filetime106255;
typedef struct Tllstream204204 Tllstream204204;
typedef struct Tnodeseq216784 Tnodeseq216784;
typedef struct TY216913 TY216913;
typedef struct Tindex254019 Tindex254019;
typedef struct Tiitable223163 Tiitable223163;
typedef struct Tiipairseq223161 Tiipairseq223161;
typedef struct Table254054 Table254054;
typedef struct Keyvaluepairseq254057 Keyvaluepairseq254057;
typedef struct Memfile252202 Memfile252202;
typedef struct Tinstantiation216812 Tinstantiation216812;
typedef struct TY265222 TY265222;
typedef struct TY265227 TY265227;
typedef struct TY265262 TY265262;
typedef struct Basechunk29437 Basechunk29437;
typedef struct Freecell29429 Freecell29429;
typedef struct Tiipair223159 Tiipair223159;
typedef struct Keyvaluepair254060 Keyvaluepair254060;
typedef struct Tblock265018 Tblock265018;
typedef struct TY265202 TY265202;
struct  TGenericSeq  {
NI len;
NI reserved;
};
struct  NimStringDesc  {
  TGenericSeq Sup;
NIM_CHAR data[SEQ_DECL_SIZE];
};
typedef N_NIMCALL_PTR(Tnode216790*, TY263054) (Tsym216822* m, NI32 fileidx);
typedef N_NIMCALL_PTR(Tsym216822*, TY263049) (Tsym216822* m, NI32 fileidx);
typedef N_NIMCALL_PTR(Tpasscontext263002*, Tpassopen263006) (Tsym216822* module);
typedef N_NIMCALL_PTR(Tpasscontext263002*, Tpassopencached263008) (Tsym216822* module, Trodreader254021* rd);
typedef N_NIMCALL_PTR(Tnode216790*, Tpassprocess263012) (Tpasscontext263002* p, Tnode216790* toplevelstmt);
typedef N_NIMCALL_PTR(Tnode216790*, Tpassclose263010) (Tpasscontext263002* p, Tnode216790* n);
struct Tpass263014 {
Tpassopen263006 Field0;
Tpassopencached263008 Field1;
Tpassprocess263012 Field2;
Tpassclose263010 Field3;
};
struct  Tlinkedlist138016  {
Tlistentry138010* head;
Tlistentry138010* tail;
NI counter;
};
typedef N_NIMCALL_PTR(void, TY3489) (void* p, NI op);
typedef N_NIMCALL_PTR(void*, TY3494) (void* p);
struct  TNimType  {
NI size;
NU8 kind;
NU8 flags;
TNimType* base;
TNimNode* node;
void* finalizer;
TY3489 marker;
TY3494 deepcopy;
};
struct  TNimObject  {
TNimType* m_type;
};
struct  Tidobj191006  {
  TNimObject Sup;
NI id;
};
struct  Tstrtable216794  {
NI counter;
Tsymseq216792* data;
};
struct  Tlineinfo184337  {
NI16 line;
NI16 col;
NI32 fileindex;
};
struct  Tloc216804  {
NU8 k;
NU8 s;
NU16 flags;
Ttype216828* t;
Ropeobj172006* r;
Ropeobj172006* heaproot;
};
struct  Tsym216822  {
  Tidobj191006 Sup;
NU8 kind;
union{
struct {Ttypeseq216824* typeinstcache;
Tscope216816* typscope;
} S1;
struct {TY216925* procinstcache;
Tsym216822* gcunsafetyreason;
} S2;
struct {TY216925* usedgenerics;
Tstrtable216794 tab;
} S3;
struct {Tsym216822* guard;
NI bitsize;
} S4;
} kindU;
NU8 magic;
Ttype216828* typ;
Tident191012* name;
Tlineinfo184337 info;
Tsym216822* owner;
NU32 flags;
Tnode216790* ast;
NU32 options;
NI position;
NI offset;
Tloc216804 loc;
Tlib216808* annex;
Tnode216790* constraint;
};
struct  TY537181  {
NI HEX3Astate;
NimStringDesc* errormsg537079;
NimStringDesc* vthisdir537080;
};
struct  TNimNode  {
NU8 kind;
NI offset;
TNimType* typ;
NCSTRING name;
NI len;
TNimNode** sons;
};
struct  Tpasscontext263002  {
  TNimObject Sup;
NIM_BOOL fromcache;
};
struct  Tctx265036  {
  Tpasscontext263002 Sup;
TY265242* code;
TY185093* debug;
Tnode216790* globals;
Tnode216790* constants;
Ttypeseq216824* types;
Tnode216790* currentexceptiona;
Tnode216790* currentexceptionb;
NI exceptioninstr;
PprocHEX3Aobjecttype265221* prc;
Tsym216822* module;
Tnode216790* callsite;
NU8 mode;
NU8 features;
NIM_BOOL traceactive;
NI loopiterations;
Tlineinfo184337 comesfromheuristic;
TY265261* callbacks;
NimStringDesc* errorflag;
};
struct TY117115 {
NimStringDesc* Field0;
NimStringDesc* Field1;
NimStringDesc* Field2;
};
struct  Cell47304  {
NI refcount;
TNimType* typ;
};
struct  Cellseq47320  {
NI len;
NI cap;
Cell47304** d;
};
struct  Cellset47316  {
NI counter;
NI max;
Pagedesc47312* head;
Pagedesc47312** data;
};
typedef Smallchunk29439* TY29502[512];
typedef Trunk29410* Trunkbuckets29412[256];
struct  Intset29414  {
Trunkbuckets29412 data;
};
struct  Memregion29487  {
NI minlargeobj;
NI maxlargeobj;
TY29502 freesmallchunks;
Llchunk29481* llmem;
NI currmem;
NI maxmem;
NI freemem;
NI lastsize;
Bigchunk29441* freechunkslist;
Intset29414 chunkstarts;
Avlnode29485* root;
Avlnode29485* deleted;
Avlnode29485* last;
Avlnode29485* freeavlnodes;
};
struct  Gcstat49614  {
NI stackscans;
NI cyclecollections;
NI maxthreshold;
NI maxstacksize;
NI maxstackcells;
NI cycletablesize;
NI64 maxpause;
};
struct  Gcheap49618  {
Gcstack49616* stack;
void* stackbottom;
NI cyclethreshold;
Cellseq47320 zct;
Cellseq47320 decstack;
Cellset47316 cycleroots;
Cellseq47320 tempstack;
NI recgclock;
Memregion29487 region;
Gcstat49614 stat;
};
typedef struct {
N_NIMCALL_PTR(void, ClPrc) (Vmargs265030* args, void* ClEnv);
void* ClEnv;
} Vmcallback265032;
struct  Exception  {
  TNimObject Sup;
Exception* parent;
NCSTRING name;
NimStringDesc* message;
NimStringDesc* trace;
};
typedef struct {
N_NIMCALL_PTR(NIM_BOOL, ClPrc) (Exception* e, void* ClEnv);
void* ClEnv;
} TY17811;
struct  TSafePoint  {
TSafePoint* prev;
NI status;
jmp_buf context;
NIM_BOOL hasRaiseAction;
TY17811 raiseAction;
};
struct  Filetime106255  {
NI32 dwlowdatetime;
NI32 dwhighdatetime;
};
typedef NI16 TY107224[260];
typedef NI16 TY107227[14];
struct  Win32finddata107213  {
NI32 dwfileattributes;
Filetime106255 ftcreationtime;
Filetime106255 ftlastaccesstime;
Filetime106255 ftlastwritetime;
NI32 nfilesizehigh;
NI32 nfilesizelow;
NI32 dwreserved0;
NI32 dwreserved1;
TY107224 cfilename;
TY107227 calternatefilename;
};
typedef N_STDCALL_PTR(NI32, TY107236) (NI hfindfile, Win32finddata107213* lpfindfiledata);
typedef N_STDCALL_PTR(void, TY107402) (NI hfindfile);
typedef N_STDCALL_PTR(NI32, TY106809) (NI16* lppathname);
typedef N_CLOSURE_PTR(void, TMP3692) (Vmargs265030* args, void* ClEnv);
typedef N_CLOSURE_PTR(void, TMP3694) (Vmargs265030* args, void* ClEnv);
typedef N_CLOSURE_PTR(void, TMP3696) (Vmargs265030* args, void* ClEnv);
typedef N_CLOSURE_PTR(void, TMP3698) (Vmargs265030* args, void* ClEnv);
typedef N_CLOSURE_PTR(void, TMP3701) (Vmargs265030* args, void* ClEnv);
typedef N_CLOSURE_PTR(void, TMP3703) (Vmargs265030* args, void* ClEnv);
typedef N_CLOSURE_PTR(void, TMP3705) (Vmargs265030* args, void* ClEnv);
typedef N_CLOSURE_PTR(void, TMP3707) (Vmargs265030* args, void* ClEnv);
typedef N_CLOSURE_PTR(void, TMP3709) (Vmargs265030* args, void* ClEnv);
typedef N_CLOSURE_PTR(void, TMP3711) (Vmargs265030* args, void* ClEnv);
typedef N_CLOSURE_PTR(void, TMP3713) (Vmargs265030* args, void* ClEnv);
typedef N_CLOSURE_PTR(void, TMP3715) (Vmargs265030* args, void* ClEnv);
typedef N_CLOSURE_PTR(void, TMP3718) (Vmargs265030* args, void* ClEnv);
typedef N_CLOSURE_PTR(void, TMP3720) (Vmargs265030* args, void* ClEnv);
typedef N_CLOSURE_PTR(void, TMP3722) (Vmargs265030* args, void* ClEnv);
struct  Tnode216790  {
Ttype216828* typ;
Tlineinfo184337 info;
NU16 flags;
NU8 kind;
union{
struct {NI64 intval;
} S1;
struct {NF floatval;
} S2;
struct {NimStringDesc* strval;
} S3;
struct {Tsym216822* sym;
} S4;
struct {Tident191012* ident;
} S5;
struct {Tnodeseq216784* sons;
} S6;
} kindU;
NimStringDesc* comment;
};
struct  Tiitable223163  {
NI counter;
Tiipairseq223161* data;
};
struct  Tindex254019  {
NI lastidxkey;
NI lastidxval;
Tiitable223163 tab;
NimStringDesc* r;
NI offset;
};
struct  Table254054  {
Keyvaluepairseq254057* data;
NI counter;
};
struct  Memfile252202  {
void* mem;
NI size;
NI fhandle;
NI maphandle;
NIM_BOOL wasopened;
};
struct  Trodreader254021  {
  TNimObject Sup;
NI pos;
NCSTRING s;
NU32 options;
NU8 reason;
TY216913* moddeps;
TY216913* files;
NI dataidx;
NI convertersidx;
NI initidx;
NI interfidx;
NI compilerprocsidx;
NI methodsidx;
NimStringDesc* filename;
Tindex254019 index;
Tindex254019 imports;
NI readerindex;
NI line;
NI moduleid;
Table254054 syms;
Memfile252202 memfile;
Tsymseq216792* methods;
NimStringDesc* origfile;
NIM_BOOL inviewmode;
};
struct  Tlistentry138010  {
  TNimObject Sup;
Tlistentry138010* prev;
Tlistentry138010* next;
};
struct  Tscope216816  {
NI depthlevel;
Tstrtable216794 symbols;
Tnodeseq216784* usingsyms;
Tscope216816* parent;
};
struct  Ttype216828  {
  Tidobj191006 Sup;
NU8 kind;
NU8 callconv;
NU32 flags;
Ttypeseq216824* sons;
Tnode216790* n;
Tsym216822* owner;
Tsym216822* sym;
Tsym216822* destructor;
Tsym216822* deepcopy;
Tsym216822* assignment;
NI64 size;
NI16 align;
NI16 locklevel;
Tloc216804 loc;
};
struct  Tident191012  {
  Tidobj191006 Sup;
NimStringDesc* s;
Tident191012* next;
NI h;
};
struct  Ropeobj172006  {
  TNimObject Sup;
Ropeobj172006* left;
Ropeobj172006* right;
NI length;
NimStringDesc* data;
};
struct  Tlib216808  {
  Tlistentry138010 Sup;
NU8 kind;
NIM_BOOL generated;
NIM_BOOL isoverriden;
Ropeobj172006* name;
Tnode216790* path;
};
struct TY265227 {
NIM_BOOL Field0;
NU8 Field1;
};
typedef TY265227 TY265230[256];
struct  PprocHEX3Aobjecttype265221  {
TY265222* blocks;
Tsym216822* sym;
TY265230 slots;
NI maxslots;
};
struct TY265262 {
NimStringDesc* Field0;
Vmcallback265032 Field1;
};
struct  Gcstack49616  {
Gcstack49616* prev;
Gcstack49616* next;
void* starts;
void* pos;
NI maxstacksize;
};
typedef NI TY29418[16];
struct  Pagedesc47312  {
Pagedesc47312* next;
NI key;
TY29418 bits;
};
struct  Basechunk29437  {
NI prevsize;
NI size;
NIM_BOOL used;
};
struct  Smallchunk29439  {
  Basechunk29437 Sup;
Smallchunk29439* next;
Smallchunk29439* prev;
Freecell29429* freelist;
NI free;
NI acc;
NF data;
};
struct  Llchunk29481  {
NI size;
NI acc;
Llchunk29481* next;
};
struct  Bigchunk29441  {
  Basechunk29437 Sup;
Bigchunk29441* next;
Bigchunk29441* prev;
NI align;
NF data;
};
struct  Trunk29410  {
Trunk29410* next;
NI key;
TY29418 bits;
};
typedef Avlnode29485* TY29492[2];
struct  Avlnode29485  {
TY29492 link;
NI key;
NI upperbound;
NI level;
};
struct  Vmargs265030  {
NI ra;
NI rb;
NI rc;
void* slots;
Tnode216790* currentexception;
};
struct  Tllstream204204  {
  TNimObject Sup;
NU8 kind;
FILE* f;
NimStringDesc* s;
NI rd;
NI wr;
NI lineoffset;
};
struct  Tiipair223159  {
NI key;
NI val;
};
struct Keyvaluepair254060 {
NI Field0;
NI Field1;
Tsym216822* Field2;
};
struct  Tinstantiation216812  {
Tsym216822* sym;
Ttypeseq216824* concretetypes;
TY216913* usedby;
NI compilesid;
};
struct  Tblock265018  {
Tsym216822* label;
TY265202* fixups;
};
struct  Freecell29429  {
Freecell29429* next;
NI zerofield;
};
struct TY127402 {
  TGenericSeq Sup;
  NimStringDesc* data[SEQ_DECL_SIZE];
};
struct Ttypeseq216824 {
  TGenericSeq Sup;
  Ttype216828* data[SEQ_DECL_SIZE];
};
struct TY216925 {
  TGenericSeq Sup;
  Tinstantiation216812* data[SEQ_DECL_SIZE];
};
struct Tsymseq216792 {
  TGenericSeq Sup;
  Tsym216822* data[SEQ_DECL_SIZE];
};
struct TY265242 {
  TGenericSeq Sup;
  NU32 data[SEQ_DECL_SIZE];
};
struct TY185093 {
  TGenericSeq Sup;
  Tlineinfo184337 data[SEQ_DECL_SIZE];
};
struct TY265261 {
  TGenericSeq Sup;
  TY265262 data[SEQ_DECL_SIZE];
};
struct Tnodeseq216784 {
  TGenericSeq Sup;
  Tnode216790* data[SEQ_DECL_SIZE];
};
struct TY216913 {
  TGenericSeq Sup;
  NI32 data[SEQ_DECL_SIZE];
};
struct Tiipairseq223161 {
  TGenericSeq Sup;
  Tiipair223159 data[SEQ_DECL_SIZE];
};
struct Keyvaluepairseq254057 {
  TGenericSeq Sup;
  Keyvaluepair254060 data[SEQ_DECL_SIZE];
};
struct TY265222 {
  TGenericSeq Sup;
  Tblock265018 data[SEQ_DECL_SIZE];
};
struct TY265202 {
  TGenericSeq Sup;
  NI data[SEQ_DECL_SIZE];
};
N_NIMCALL(Tnode216790*, includemodule_533818)(Tsym216822* s, NI32 fileidx);
N_NIMCALL(Tsym216822*, importmodule_533788)(Tsym216822* s, NI32 fileidx);
N_NIMCALL(void, initdefines_192184)(void);
N_NIMCALL(void, definesymbol_192004)(NimStringDesc* symbol);
N_NIMCALL(void, registerpass_263145)(Tpass263014 p);
N_NIMCALL(Tpasscontext263002*, myopen_469665)(Tsym216822* module);
N_NIMCALL(Tpasscontext263002*, myopencached_469696)(Tsym216822* module, Trodreader254021* rd);
N_NIMCALL(Tnode216790*, myprocess_469804)(Tpasscontext263002* context, Tnode216790* n);
N_NIMCALL(Tnode216790*, myclose_469814)(Tpasscontext263002* context, Tnode216790* n);
N_NIMCALL(Tpasscontext263002*, myopen_416029)(Tsym216822* module);
N_NIMCALL(Tnode216790*, myprocess_416203)(Tpasscontext263002* c, Tnode216790* n);
N_NIMCALL(void, appendstr_138244)(Tlinkedlist138016* list, NimStringDesc* data);
N_NIMCALL(Tsym216822*, makemodule_533884)(NimStringDesc* filename);
N_NIMCALL(Tctx265036*, setupvm_537074)(Tsym216822* module, NimStringDesc* scriptname);
N_NIMCALL(void, nimGCvisit)(void* d, NI op);
N_NIMCALL(void, TMP3663)(void* p, NI op);
N_NIMCALL(void*, newObj)(TNimType* typ, NI size);
N_NIMCALL(Tctx265036*, newctx_265267)(Tsym216822* module);
N_NIMCALL(void, registeradditionalops_415929)(Tctx265036* c);
N_NIMCALL(void, nossplitFile)(NimStringDesc* path, TY117115* Result);
N_NIMCALL(NimStringDesc*, copyStringRC1)(NimStringDesc* src);
static N_INLINE(void, nimGCunrefNoCycle)(void* p);
static N_INLINE(Cell47304*, usrtocell_51240)(void* usr);
static N_INLINE(void, rtladdzct_52801)(Cell47304* c);
N_NOINLINE(void, addzct_51217)(Cellseq47320* s, Cell47304* c);
N_NIMCALL(void, registercallback_265374)(Tctx265036* c, NimStringDesc* name, Vmcallback265032 callback);
N_CLOSURE(void, HEX3Aanonymous_537093)(Vmargs265030* a, void* ClEnv);
static N_INLINE(void, pushSafePoint)(TSafePoint* s);
N_NIMCALL(void, listdirs_537003)(Vmargs265030* a, NU8 filter);
N_NIMCALL(NimStringDesc*, getstring_404037)(Vmargs265030* a, NI i);
N_NIMCALL(void*, newSeq)(TNimType* typ, NI len);
N_NIMCALL(NI, findfirstfile_120416)(NimStringDesc* a, Win32finddata107213* b);
N_NIMCALL(NimStringDesc*, HEX2F_116874)(NimStringDesc* head, NimStringDesc* tail);
static N_INLINE(NIM_BOOL, skipfinddata_120434)(Win32finddata107213* f);
N_NIMCALL(NimStringDesc*, nosextractFilename)(NimStringDesc* path);
N_NIMCALL(NimStringDesc*, HEX24_83672)(NI16* s);
N_NIMCALL(TGenericSeq*, incrSeqV2)(TGenericSeq* seq, NI elemsize);
N_NIMCALL(void, setresult_403942)(Vmargs265030* a, TY127402* v);
static N_INLINE(void, popSafePoint)(void);
N_NIMCALL(NIM_BOOL, isObj)(TNimType* obj, TNimType* subclass);
static N_INLINE(Exception*, getCurrentException)(void);
static N_INLINE(NimStringDesc*, getcurrentexceptionmsg_88605)(void);
N_NIMCALL(NimStringDesc*, copyString)(NimStringDesc* src);
static N_INLINE(void, asgnRefNoCycle)(void** dest, void* src);
static N_INLINE(void, popCurrentException)(void);
static N_INLINE(void, asgnRef)(void** dest, void* src);
static N_INLINE(void, incref_53619)(Cell47304* c);
static N_INLINE(NIM_BOOL, canbecycleroot_51258)(Cell47304* c);
static N_INLINE(void, rtladdcycleroot_52020)(Cell47304* c);
N_NOINLINE(void, incl_48047)(Cellset47316* s, Cell47304* cell);
static N_INLINE(void, decref_53201)(Cell47304* c);
N_NIMCALL(void, reraiseException)(void);
N_CLOSURE(void, HEX3Aanonymous_537097)(Vmargs265030* a, void* ClEnv);
N_CLOSURE(void, HEX3Aanonymous_537101)(Vmargs265030* a, void* ClEnv);
N_NIMCALL(void, nosremoveDir)(NimStringDesc* dir);
N_CLOSURE(void, HEX3Aanonymous_537104)(Vmargs265030* a, void* ClEnv);
N_NIMCALL(void, nosremoveFile)(NimStringDesc* file);
N_CLOSURE(void, HEX3Aanonymous_537107)(Vmargs265030* a, void* ClEnv);
N_NIMCALL(void, noscreateDir)(NimStringDesc* dir);
N_CLOSURE(void, HEX3Aanonymous_537110)(Vmargs265030* a, void* ClEnv);
N_NIMCALL(void, setresult_403900)(Vmargs265030* a, NimStringDesc* v);
N_CLOSURE(void, HEX3Aanonymous_537113)(Vmargs265030* a, void* ClEnv);
static N_INLINE(void, setcurrentdir_123003)(NimStringDesc* newdir);
N_NIMCALL(NI16*, newwidecstring_83602)(NimStringDesc* s);
N_NOINLINE(void, raiseoserror_120024)(NI32 errorcode, NimStringDesc* additionalinfo);
N_NIMCALL(NI32, oslasterror_120040)(void);
N_CLOSURE(void, HEX3Aanonymous_537116)(Vmargs265030* a, void* ClEnv);
N_NIMCALL(NimStringDesc*, nosgetCurrentDir)(void);
N_CLOSURE(void, HEX3Aanonymous_537119)(Vmargs265030* a, void* ClEnv);
N_NIMCALL(void, nosmoveFile)(NimStringDesc* source, NimStringDesc* dest);
N_CLOSURE(void, HEX3Aanonymous_537122)(Vmargs265030* a, void* ClEnv);
N_NIMCALL(void, noscopyFile)(NimStringDesc* source, NimStringDesc* dest);
N_CLOSURE(void, HEX3Aanonymous_537125)(Vmargs265030* a, void* ClEnv);
N_NIMCALL(void, setresult_403851)(Vmargs265030* a, NF v);
N_NIMCALL(NF, toseconds_109455)(time_t time);
N_NIMCALL(time_t, nosgetLastModificationTime)(NimStringDesc* file);
N_CLOSURE(void, HEX3Aanonymous_537128)(Vmargs265030* a, void* ClEnv);
N_NIMCALL(void, setresult_403831)(Vmargs265030* a, NI64 v);
N_NIMCALL(NI, nospexecCmd)(NimStringDesc* command);
N_NIMCALL(void, HEX3Aanonymous_537131)(Vmargs265030* a);
N_NIMCALL(NimStringDesc*, getenv_128224)(NimStringDesc* key);
N_NIMCALL(void, HEX3Aanonymous_537134)(Vmargs265030* a);
N_NIMCALL(void, setresult_403871)(Vmargs265030* a, NIM_BOOL v_403874);
N_NIMCALL(NIM_BOOL, existsenv_128233)(NimStringDesc* key);
N_NIMCALL(void, HEX3Aanonymous_537137)(Vmargs265030* a);
static N_INLINE(NIM_BOOL, direxists_121806)(NimStringDesc* dir);
N_NIMCALL(NIM_BOOL, nosexistsDir)(NimStringDesc* dir);
N_NIMCALL(void, HEX3Aanonymous_537140)(Vmargs265030* a);
static N_INLINE(NIM_BOOL, fileexists_121802)(NimStringDesc* filename);
N_NIMCALL(NIM_BOOL, nosexistsFile)(NimStringDesc* filename);
N_CLOSURE(void, HEX3Aanonymous_537143)(Vmargs265030* a, void* ClEnv);
N_NIMCALL(void, HEX3Aanonymous_537146)(Vmargs265030* a);
N_NIMCALL(void, setconfigvar_163286)(NimStringDesc* key, NimStringDesc* val);
N_NIMCALL(void, HEX3Aanonymous_537149)(Vmargs265030* a);
N_NIMCALL(NimStringDesc*, getconfigvar_163282)(NimStringDesc* key);
N_NIMCALL(void, HEX3Aanonymous_537152)(Vmargs265030* a);
N_NIMCALL(NIM_BOOL, existsconfigvar_163278)(NimStringDesc* key);
N_NIMCALL(void, HEX3Aanonymous_537155)(Vmargs265030* a);
N_NIMCALL(NimStringDesc*, getnimcachedir_163610)(void);
N_NIMCALL(void, HEX3Aanonymous_537158)(Vmargs265030* a);
N_NIMCALL(NimStringDesc*, nosparamStr)(NI i);
N_NIMCALL(NI64, getint_403986)(Vmargs265030* a, NI i);
N_NIMCALL(void, HEX3Aanonymous_537161)(Vmargs265030* a);
N_NIMCALL(NI, nosparamCount)(void);
N_NIMCALL(void, HEX3Aanonymous_537164)(Vmargs265030* a);
N_NIMCALL(NI, nsuCmpIgnoreStyle)(NimStringDesc* a, NimStringDesc* b);
N_NIMCALL(void, HEX3Aanonymous_537167)(Vmargs265030* a);
N_NIMCALL(NI, nsuCmpIgnoreCase)(NimStringDesc* a, NimStringDesc* b);
N_NIMCALL(void, HEX3Aanonymous_537170)(Vmargs265030* a);
N_NIMCALL(NimStringDesc*, canonicalizepath_163405)(NimStringDesc* path);
N_NIMCALL(void, HEX3Aanonymous_537174)(Vmargs265030* a);
N_NIMCALL(void, HEX3Aanonymous_537177)(Vmargs265030* a);
N_NIMCALL(void, processswitch_202016)(NimStringDesc* switch_202018, NimStringDesc* arg, NU8 pass, Tlineinfo184337 info);
N_NIMCALL(Tlineinfo184337, unknownlineinfo_185090)(void);
N_NIMCALL(void, compilesystemmodule_533856)(void);
N_NIMCALL(void, processmodule_263044)(Tsym216822* module, Tllstream204204* stream, Trodreader254021* rd);
N_NIMCALL(Tllstream204204*, llstreamopen_204241)(NimStringDesc* filename, NU8 mode);
N_NIMCALL(void, resetallmoduleshard_533353)(void);
N_NIMCALL(void, undefsymbol_192007)(NimStringDesc* symbol);
STRING_LITERAL(TMP2067, "nimscript", 9);
STRING_LITERAL(TMP2068, "nimconfig", 9);
STRING_LITERAL(TMP3664, "stdlib.system.listFiles", 23);
STRING_LITERAL(TMP3666, "*", 1);
STRING_LITERAL(TMP3667, "", 0);
STRING_LITERAL(TMP3668, "stdlib.system.listDirs", 22);
STRING_LITERAL(TMP3670, "stdlib.system.removeDir", 23);
STRING_LITERAL(TMP3673, "stdlib.system.removeFile", 24);
STRING_LITERAL(TMP3675, "stdlib.system.createDir", 23);
STRING_LITERAL(TMP3677, "stdlib.system.getOsError", 24);
STRING_LITERAL(TMP3679, "stdlib.system.setCurrentDir", 27);
STRING_LITERAL(TMP3681, "stdlib.system.getCurrentDir", 27);
STRING_LITERAL(TMP3683, "stdlib.system.moveFile", 22);
STRING_LITERAL(TMP3685, "stdlib.system.copyFile", 22);
STRING_LITERAL(TMP3687, "stdlib.system.getLastModificationTime", 37);
STRING_LITERAL(TMP3689, "stdlib.system.rawExec", 21);
STRING_LITERAL(TMP3691, "stdlib.system.getEnv", 20);
STRING_LITERAL(TMP3693, "stdlib.system.existsEnv", 23);
STRING_LITERAL(TMP3695, "stdlib.system.dirExists", 23);
STRING_LITERAL(TMP3697, "stdlib.system.fileExists", 24);
STRING_LITERAL(TMP3699, "stdlib.system.thisDir", 21);
STRING_LITERAL(TMP3700, "stdlib.system.put", 17);
STRING_LITERAL(TMP3702, "stdlib.system.get", 17);
STRING_LITERAL(TMP3704, "stdlib.system.exists", 20);
STRING_LITERAL(TMP3706, "stdlib.system.nimcacheDir", 25);
STRING_LITERAL(TMP3708, "stdlib.system.paramStr", 22);
STRING_LITERAL(TMP3710, "stdlib.system.paramCount", 24);
STRING_LITERAL(TMP3712, "stdlib.system.cmpIgnoreStyle", 28);
STRING_LITERAL(TMP3714, "stdlib.system.cmpIgnoreCase", 27);
STRING_LITERAL(TMP3716, "stdlib.system.setCommand", 24);
STRING_LITERAL(TMP3719, "stdlib.system.getCommand", 24);
STRING_LITERAL(TMP3721, "stdlib.system.switch", 20);
extern TY263054 gincludefile_263058;
extern TY263049 gimportmodule_263053;
extern Tlinkedlist138016 searchpaths_163125;
extern NimStringDesc* libpath_163198;
extern Tctx265036* globalctx_416016;
TNimType NTI537181; /* object */
extern TNimType NTI327021; /* range -1..0(int) */
extern TNimType NTI138; /* string */
TNimType NTI537180; /* ref object */
extern Gcheap49618 gch_49659;
extern TSafePoint* exchandler_19437;
extern TNimType NTI127402; /* seq[string] */
extern TY107236 Dl_107235;
extern TY107402 Dl_107401;
extern TNimType NTI3630; /* OSError */
extern Exception* currexception_19439;
extern TY106809 Dl_106808;
extern NimStringDesc* command_163205;
extern NimStringDesc* gprojectname_163199;
extern NimStringDesc* gprojectfull_163201;
extern NimStringDesc* gprojectpath_163200;
N_NIMCALL(void, TMP3663)(void* p, NI op) {
	TY537181* a;
	a = (TY537181*)p;
	nimGCvisit((void*)(*a).errormsg537079, op);
	nimGCvisit((void*)(*a).vthisdir537080, op);
}

static N_INLINE(Cell47304*, usrtocell_51240)(void* usr) {
	Cell47304* result;
	result = 0;
	result = ((Cell47304*) ((NI)((NU32)(((NI) (usr))) - (NU32)(((NI)sizeof(Cell47304))))));
	return result;
}

static N_INLINE(void, rtladdzct_52801)(Cell47304* c) {
	addzct_51217((&gch_49659.zct), c);
}

static N_INLINE(void, nimGCunrefNoCycle)(void* p) {
	Cell47304* c;
	c = usrtocell_51240(p);
	{
		(*c).refcount -= ((NI) 8);
		if (!((NU32)((*c).refcount) < (NU32)(((NI) 8)))) goto LA3;
		rtladdzct_52801(c);
	}
	LA3: ;
}

static N_INLINE(void, pushSafePoint)(TSafePoint* s) {
	(*s).hasRaiseAction = NIM_FALSE;
	(*s).prev = exchandler_19437;
	exchandler_19437 = s;
}

static N_INLINE(NIM_BOOL, skipfinddata_120434)(Win32finddata107213* f) {
	NIM_BOOL result;
	NIM_BOOL LOC1;
	NIM_BOOL LOC3;
	NIM_BOOL LOC5;
	result = 0;
	LOC1 = 0;
	LOC1 = (((NI) ((*f).cfilename[(((NI) 0))- 0])) == ((NI) 46));
	if (!(LOC1)) goto LA2;
	LOC3 = 0;
	LOC3 = (((NI) ((*f).cfilename[(((NI) 1))- 0])) == ((NI) 0));
	if (LOC3) goto LA4;
	LOC5 = 0;
	LOC5 = (((NI) ((*f).cfilename[(((NI) 1))- 0])) == ((NI) 46));
	if (!(LOC5)) goto LA6;
	LOC5 = (((NI) ((*f).cfilename[(((NI) 2))- 0])) == ((NI) 0));
	LA6: ;
	LOC3 = LOC5;
	LA4: ;
	LOC1 = LOC3;
	LA2: ;
	result = LOC1;
	return result;
}

N_NIMCALL(void, listdirs_537003)(Vmargs265030* a, NU8 filter) {
	NimStringDesc* dir;
	TY127402* result;
	dir = getstring_404037(a, ((NI) 0));
	result = (TY127402*) newSeq((&NTI127402), 0);
	{
		NU8 kind_537027;
		NimStringDesc* path_537028;
		Win32finddata107213 f_537065;
		NI h_537067;
		NimStringDesc* LOC2;
		kind_537027 = 0;
		path_537028 = 0;
		memset((void*)(&f_537065), 0, sizeof(f_537065));
		LOC2 = 0;
		LOC2 = HEX2F_116874(dir, ((NimStringDesc*) &TMP3666));
		h_537067 = findfirstfile_120416(LOC2, (&f_537065));
		{
			if (!!((h_537067 == ((NI) -1)))) goto LA5;
			{
				while (1) {
					NU8 k_537069;
					k_537069 = ((NU8) 0);
					{
						NIM_BOOL LOC11;
						NimStringDesc* xx_537071;
						LOC11 = 0;
						LOC11 = skipfinddata_120434((&f_537065));
						if (!!(LOC11)) goto LA12;
						{
							if (!!(((NI32)(f_537065.dwfileattributes & ((NI32) 16)) == ((NI32) 0)))) goto LA16;
							k_537069 = ((NU8) 2);
						}
						LA16: ;
						{
							if (!!(((NI32)(f_537065.dwfileattributes & ((NI32) 1024)) == ((NI32) 0)))) goto LA20;
							k_537069 = (NU8)(k_537069 + ((NI) 1));
						}
						LA20: ;
						{
							NimStringDesc* LOC26;
							if (!NIM_FALSE) goto LA24;
							LOC26 = 0;
							LOC26 = HEX24_83672(((NI16*) ((&f_537065.cfilename[(((NI) 0))- 0]))));
							xx_537071 = nosextractFilename(LOC26);
						}
						goto LA22;
						LA24: ;
						{
							NimStringDesc* LOC28;
							NimStringDesc* LOC29;
							LOC28 = 0;
							LOC28 = HEX24_83672(((NI16*) ((&f_537065.cfilename[(((NI) 0))- 0]))));
							LOC29 = 0;
							LOC29 = nosextractFilename(LOC28);
							xx_537071 = HEX2F_116874(dir, LOC29);
						}
						LA22: ;
						kind_537027 = k_537069;
						path_537028 = xx_537071;
						{
							NimStringDesc* LOC34;
							if (!((filter &(1U<<((NU)(kind_537027)&7U)))!=0)) goto LA32;
							result = (TY127402*) incrSeqV2(&(result)->Sup, sizeof(NimStringDesc*));
							LOC34 = 0;
							LOC34 = result->data[result->Sup.len]; result->data[result->Sup.len] = copyStringRC1(path_537028);
							if (LOC34) nimGCunrefNoCycle(LOC34);
							++result->Sup.len;
						}
						LA32: ;
					}
					LA12: ;
					{
						NI32 LOC37;
						LOC37 = 0;
						LOC37 = Dl_107235(h_537067, (&f_537065));
						if (!(LOC37 == ((NI32) 0))) goto LA38;
						goto LA7;
					}
					LA38: ;
				}
			} LA7: ;
			Dl_107401(h_537067);
		}
		LA5: ;
	}
	setresult_403942(a, result);
}

static N_INLINE(void, popSafePoint)(void) {
	exchandler_19437 = (*exchandler_19437).prev;
}

static N_INLINE(Exception*, getCurrentException)(void) {
	Exception* result;
	result = 0;
	result = currexception_19439;
	return result;
}

static N_INLINE(NimStringDesc*, getcurrentexceptionmsg_88605)(void) {
	NimStringDesc* result;
	Exception* e;
{	result = 0;
	e = getCurrentException();
	{
		if (!(e == NIM_NIL)) goto LA3;
		result = copyString(((NimStringDesc*) &TMP3667));
	}
	goto LA1;
	LA3: ;
	{
		result = copyString((*e).message);
	}
	LA1: ;
	goto BeforeRet;
	}BeforeRet: ;
	return result;
}

static N_INLINE(void, asgnRefNoCycle)(void** dest, void* src) {
	{
		Cell47304* c;
		if (!!((src == NIM_NIL))) goto LA3;
		c = usrtocell_51240(src);
		(*c).refcount += ((NI) 8);
	}
	LA3: ;
	{
		Cell47304* c;
		if (!!(((*dest) == NIM_NIL))) goto LA7;
		c = usrtocell_51240((*dest));
		{
			(*c).refcount -= ((NI) 8);
			if (!((NU32)((*c).refcount) < (NU32)(((NI) 8)))) goto LA11;
			rtladdzct_52801(c);
		}
		LA11: ;
	}
	LA7: ;
	(*dest) = src;
}

static N_INLINE(NIM_BOOL, canbecycleroot_51258)(Cell47304* c) {
	NIM_BOOL result;
	result = 0;
	result = !((((*(*c).typ).flags &(1U<<((NU)(((NU8) 1))&7U)))!=0));
	return result;
}

static N_INLINE(void, rtladdcycleroot_52020)(Cell47304* c) {
	{
		if (!!((((NI) ((NI)((*c).refcount & ((NI) 3)))) == ((NI) 3)))) goto LA3;
		(*c).refcount = (NI)((NI)((*c).refcount & ((NI) -4)) | ((NI) 3));
		incl_48047((&gch_49659.cycleroots), c);
	}
	LA3: ;
}

static N_INLINE(void, incref_53619)(Cell47304* c) {
	(*c).refcount = (NI)((NU32)((*c).refcount) + (NU32)(((NI) 8)));
	{
		NIM_BOOL LOC3;
		LOC3 = 0;
		LOC3 = canbecycleroot_51258(c);
		if (!LOC3) goto LA4;
		rtladdcycleroot_52020(c);
	}
	LA4: ;
}

static N_INLINE(void, decref_53201)(Cell47304* c) {
	{
		(*c).refcount -= ((NI) 8);
		if (!((NU32)((*c).refcount) < (NU32)(((NI) 8)))) goto LA3;
		rtladdzct_52801(c);
	}
	goto LA1;
	LA3: ;
	{
		NIM_BOOL LOC6;
		LOC6 = 0;
		LOC6 = canbecycleroot_51258(c);
		if (!LOC6) goto LA7;
		rtladdcycleroot_52020(c);
	}
	goto LA1;
	LA7: ;
	LA1: ;
}

static N_INLINE(void, asgnRef)(void** dest, void* src) {
	{
		Cell47304* LOC5;
		if (!!((src == NIM_NIL))) goto LA3;
		LOC5 = 0;
		LOC5 = usrtocell_51240(src);
		incref_53619(LOC5);
	}
	LA3: ;
	{
		Cell47304* LOC10;
		if (!!(((*dest) == NIM_NIL))) goto LA8;
		LOC10 = 0;
		LOC10 = usrtocell_51240((*dest));
		decref_53201(LOC10);
	}
	LA8: ;
	(*dest) = src;
}

static N_INLINE(void, popCurrentException)(void) {
	asgnRef((void**) (&currexception_19439), NIM_NIL);
}

N_CLOSURE(void, HEX3Aanonymous_537093)(Vmargs265030* a, void* ClEnv) {
	TY537181* HEX3Aenvp_537184;
	TSafePoint TMP3665;
	HEX3Aenvp_537184 = (TY537181*) ClEnv;
	pushSafePoint(&TMP3665);
	TMP3665.status = setjmp(TMP3665.context);
	if (TMP3665.status == 0) {
		listdirs_537003(a, 3);
		popSafePoint();
	}
	else {
		popSafePoint();
		if (isObj(getCurrentException()->Sup.m_type, (&NTI3630))) {
			TMP3665.status = 0;
			asgnRefNoCycle((void**) (&(*HEX3Aenvp_537184).errormsg537079), getcurrentexceptionmsg_88605());
			popCurrentException();
		}
	}
	if (TMP3665.status != 0) reraiseException();
}

N_CLOSURE(void, HEX3Aanonymous_537097)(Vmargs265030* a, void* ClEnv) {
	TY537181* HEX3Aenvp_537186;
	TSafePoint TMP3669;
	HEX3Aenvp_537186 = (TY537181*) ClEnv;
	pushSafePoint(&TMP3669);
	TMP3669.status = setjmp(TMP3669.context);
	if (TMP3669.status == 0) {
		listdirs_537003(a, 4);
		popSafePoint();
	}
	else {
		popSafePoint();
		if (isObj(getCurrentException()->Sup.m_type, (&NTI3630))) {
			TMP3669.status = 0;
			asgnRefNoCycle((void**) (&(*HEX3Aenvp_537186).errormsg537079), getcurrentexceptionmsg_88605());
			popCurrentException();
		}
	}
	if (TMP3669.status != 0) reraiseException();
}

N_CLOSURE(void, HEX3Aanonymous_537101)(Vmargs265030* a, void* ClEnv) {
	TY537181* HEX3Aenvp_537187;
	TSafePoint TMP3671;
	HEX3Aenvp_537187 = (TY537181*) ClEnv;
	pushSafePoint(&TMP3671);
	TMP3671.status = setjmp(TMP3671.context);
	if (TMP3671.status == 0) {
		NimStringDesc* LOC2;
		LOC2 = 0;
		LOC2 = getstring_404037(a, ((NI) 0));
		nosremoveDir(LOC2);
		popSafePoint();
	}
	else {
		popSafePoint();
		if (isObj(getCurrentException()->Sup.m_type, (&NTI3630))) {
			TMP3671.status = 0;
			asgnRefNoCycle((void**) (&(*HEX3Aenvp_537187).errormsg537079), getcurrentexceptionmsg_88605());
			popCurrentException();
		}
	}
	if (TMP3671.status != 0) reraiseException();
}

N_CLOSURE(void, HEX3Aanonymous_537104)(Vmargs265030* a, void* ClEnv) {
	TY537181* HEX3Aenvp_537188;
	TSafePoint TMP3674;
	HEX3Aenvp_537188 = (TY537181*) ClEnv;
	pushSafePoint(&TMP3674);
	TMP3674.status = setjmp(TMP3674.context);
	if (TMP3674.status == 0) {
		NimStringDesc* LOC2;
		LOC2 = 0;
		LOC2 = getstring_404037(a, ((NI) 0));
		nosremoveFile(LOC2);
		popSafePoint();
	}
	else {
		popSafePoint();
		if (isObj(getCurrentException()->Sup.m_type, (&NTI3630))) {
			TMP3674.status = 0;
			asgnRefNoCycle((void**) (&(*HEX3Aenvp_537188).errormsg537079), getcurrentexceptionmsg_88605());
			popCurrentException();
		}
	}
	if (TMP3674.status != 0) reraiseException();
}

N_CLOSURE(void, HEX3Aanonymous_537107)(Vmargs265030* a, void* ClEnv) {
	TY537181* HEX3Aenvp_537189;
	TSafePoint TMP3676;
	HEX3Aenvp_537189 = (TY537181*) ClEnv;
	pushSafePoint(&TMP3676);
	TMP3676.status = setjmp(TMP3676.context);
	if (TMP3676.status == 0) {
		NimStringDesc* LOC2;
		LOC2 = 0;
		LOC2 = getstring_404037(a, ((NI) 0));
		noscreateDir(LOC2);
		popSafePoint();
	}
	else {
		popSafePoint();
		if (isObj(getCurrentException()->Sup.m_type, (&NTI3630))) {
			TMP3676.status = 0;
			asgnRefNoCycle((void**) (&(*HEX3Aenvp_537189).errormsg537079), getcurrentexceptionmsg_88605());
			popCurrentException();
		}
	}
	if (TMP3676.status != 0) reraiseException();
}

N_CLOSURE(void, HEX3Aanonymous_537110)(Vmargs265030* a, void* ClEnv) {
	TY537181* HEX3Aenvp_537190;
	TSafePoint TMP3678;
	HEX3Aenvp_537190 = (TY537181*) ClEnv;
	pushSafePoint(&TMP3678);
	TMP3678.status = setjmp(TMP3678.context);
	if (TMP3678.status == 0) {
		setresult_403900(a, (*HEX3Aenvp_537190).errormsg537079);
		popSafePoint();
	}
	else {
		popSafePoint();
		if (isObj(getCurrentException()->Sup.m_type, (&NTI3630))) {
			TMP3678.status = 0;
			asgnRefNoCycle((void**) (&(*HEX3Aenvp_537190).errormsg537079), getcurrentexceptionmsg_88605());
			popCurrentException();
		}
	}
	if (TMP3678.status != 0) reraiseException();
}

static N_INLINE(void, setcurrentdir_123003)(NimStringDesc* newdir) {
	{
		NI16* LOC3;
		NI32 LOC4;
		NI32 LOC7;
		LOC3 = 0;
		LOC3 = newwidecstring_83602(newdir);
		LOC4 = 0;
		LOC4 = Dl_106808(LOC3);
		if (!(LOC4 == ((NI32) 0))) goto LA5;
		LOC7 = 0;
		LOC7 = oslasterror_120040();
		raiseoserror_120024(LOC7, ((NimStringDesc*) &TMP3667));
	}
	LA5: ;
}

N_CLOSURE(void, HEX3Aanonymous_537113)(Vmargs265030* a, void* ClEnv) {
	TY537181* HEX3Aenvp_537191;
	TSafePoint TMP3680;
	HEX3Aenvp_537191 = (TY537181*) ClEnv;
	pushSafePoint(&TMP3680);
	TMP3680.status = setjmp(TMP3680.context);
	if (TMP3680.status == 0) {
		NimStringDesc* LOC2;
		LOC2 = 0;
		LOC2 = getstring_404037(a, ((NI) 0));
		setcurrentdir_123003(LOC2);
		popSafePoint();
	}
	else {
		popSafePoint();
		if (isObj(getCurrentException()->Sup.m_type, (&NTI3630))) {
			TMP3680.status = 0;
			asgnRefNoCycle((void**) (&(*HEX3Aenvp_537191).errormsg537079), getcurrentexceptionmsg_88605());
			popCurrentException();
		}
	}
	if (TMP3680.status != 0) reraiseException();
}

N_CLOSURE(void, HEX3Aanonymous_537116)(Vmargs265030* a, void* ClEnv) {
	TY537181* HEX3Aenvp_537192;
	TSafePoint TMP3682;
	HEX3Aenvp_537192 = (TY537181*) ClEnv;
	pushSafePoint(&TMP3682);
	TMP3682.status = setjmp(TMP3682.context);
	if (TMP3682.status == 0) {
		NimStringDesc* LOC2;
		LOC2 = 0;
		LOC2 = nosgetCurrentDir();
		setresult_403900(a, LOC2);
		popSafePoint();
	}
	else {
		popSafePoint();
		if (isObj(getCurrentException()->Sup.m_type, (&NTI3630))) {
			TMP3682.status = 0;
			asgnRefNoCycle((void**) (&(*HEX3Aenvp_537192).errormsg537079), getcurrentexceptionmsg_88605());
			popCurrentException();
		}
	}
	if (TMP3682.status != 0) reraiseException();
}

N_CLOSURE(void, HEX3Aanonymous_537119)(Vmargs265030* a, void* ClEnv) {
	TY537181* HEX3Aenvp_537193;
	TSafePoint TMP3684;
	HEX3Aenvp_537193 = (TY537181*) ClEnv;
	pushSafePoint(&TMP3684);
	TMP3684.status = setjmp(TMP3684.context);
	if (TMP3684.status == 0) {
		NimStringDesc* LOC2;
		NimStringDesc* LOC3;
		LOC2 = 0;
		LOC2 = getstring_404037(a, ((NI) 0));
		LOC3 = 0;
		LOC3 = getstring_404037(a, ((NI) 1));
		nosmoveFile(LOC2, LOC3);
		popSafePoint();
	}
	else {
		popSafePoint();
		if (isObj(getCurrentException()->Sup.m_type, (&NTI3630))) {
			TMP3684.status = 0;
			asgnRefNoCycle((void**) (&(*HEX3Aenvp_537193).errormsg537079), getcurrentexceptionmsg_88605());
			popCurrentException();
		}
	}
	if (TMP3684.status != 0) reraiseException();
}

N_CLOSURE(void, HEX3Aanonymous_537122)(Vmargs265030* a, void* ClEnv) {
	TY537181* HEX3Aenvp_537194;
	TSafePoint TMP3686;
	HEX3Aenvp_537194 = (TY537181*) ClEnv;
	pushSafePoint(&TMP3686);
	TMP3686.status = setjmp(TMP3686.context);
	if (TMP3686.status == 0) {
		NimStringDesc* LOC2;
		NimStringDesc* LOC3;
		LOC2 = 0;
		LOC2 = getstring_404037(a, ((NI) 0));
		LOC3 = 0;
		LOC3 = getstring_404037(a, ((NI) 1));
		noscopyFile(LOC2, LOC3);
		popSafePoint();
	}
	else {
		popSafePoint();
		if (isObj(getCurrentException()->Sup.m_type, (&NTI3630))) {
			TMP3686.status = 0;
			asgnRefNoCycle((void**) (&(*HEX3Aenvp_537194).errormsg537079), getcurrentexceptionmsg_88605());
			popCurrentException();
		}
	}
	if (TMP3686.status != 0) reraiseException();
}

N_CLOSURE(void, HEX3Aanonymous_537125)(Vmargs265030* a, void* ClEnv) {
	TY537181* HEX3Aenvp_537195;
	TSafePoint TMP3688;
	HEX3Aenvp_537195 = (TY537181*) ClEnv;
	pushSafePoint(&TMP3688);
	TMP3688.status = setjmp(TMP3688.context);
	if (TMP3688.status == 0) {
		NimStringDesc* LOC2;
		time_t LOC3;
		NF LOC4;
		LOC2 = 0;
		LOC2 = getstring_404037(a, ((NI) 0));
		LOC3 = 0;
		LOC3 = nosgetLastModificationTime(LOC2);
		LOC4 = 0;
		LOC4 = toseconds_109455(LOC3);
		setresult_403851(a, LOC4);
		popSafePoint();
	}
	else {
		popSafePoint();
		if (isObj(getCurrentException()->Sup.m_type, (&NTI3630))) {
			TMP3688.status = 0;
			asgnRefNoCycle((void**) (&(*HEX3Aenvp_537195).errormsg537079), getcurrentexceptionmsg_88605());
			popCurrentException();
		}
	}
	if (TMP3688.status != 0) reraiseException();
}

N_CLOSURE(void, HEX3Aanonymous_537128)(Vmargs265030* a, void* ClEnv) {
	TY537181* HEX3Aenvp_537196;
	TSafePoint TMP3690;
	HEX3Aenvp_537196 = (TY537181*) ClEnv;
	pushSafePoint(&TMP3690);
	TMP3690.status = setjmp(TMP3690.context);
	if (TMP3690.status == 0) {
		NimStringDesc* LOC2;
		NI LOC3;
		LOC2 = 0;
		LOC2 = getstring_404037(a, ((NI) 0));
		LOC3 = 0;
		LOC3 = nospexecCmd(LOC2);
		setresult_403831(a, ((NI64) (LOC3)));
		popSafePoint();
	}
	else {
		popSafePoint();
		if (isObj(getCurrentException()->Sup.m_type, (&NTI3630))) {
			TMP3690.status = 0;
			asgnRefNoCycle((void**) (&(*HEX3Aenvp_537196).errormsg537079), getcurrentexceptionmsg_88605());
			popCurrentException();
		}
	}
	if (TMP3690.status != 0) reraiseException();
}

N_NIMCALL(void, HEX3Aanonymous_537131)(Vmargs265030* a) {
	NimStringDesc* LOC1;
	NimStringDesc* LOC2;
	LOC1 = 0;
	LOC1 = getstring_404037(a, ((NI) 0));
	LOC2 = 0;
	LOC2 = getenv_128224(LOC1);
	setresult_403900(a, LOC2);
}

N_NIMCALL(void, HEX3Aanonymous_537134)(Vmargs265030* a) {
	NimStringDesc* LOC1;
	NIM_BOOL LOC2;
	LOC1 = 0;
	LOC1 = getstring_404037(a, ((NI) 0));
	LOC2 = 0;
	LOC2 = existsenv_128233(LOC1);
	setresult_403871(a, LOC2);
}

static N_INLINE(NIM_BOOL, direxists_121806)(NimStringDesc* dir) {
	NIM_BOOL result;
	result = 0;
	result = nosexistsDir(dir);
	return result;
}

N_NIMCALL(void, HEX3Aanonymous_537137)(Vmargs265030* a) {
	NimStringDesc* LOC1;
	NIM_BOOL LOC2;
	LOC1 = 0;
	LOC1 = getstring_404037(a, ((NI) 0));
	LOC2 = 0;
	LOC2 = direxists_121806(LOC1);
	setresult_403871(a, LOC2);
}

static N_INLINE(NIM_BOOL, fileexists_121802)(NimStringDesc* filename) {
	NIM_BOOL result;
	result = 0;
	result = nosexistsFile(filename);
	return result;
}

N_NIMCALL(void, HEX3Aanonymous_537140)(Vmargs265030* a) {
	NimStringDesc* LOC1;
	NIM_BOOL LOC2;
	LOC1 = 0;
	LOC1 = getstring_404037(a, ((NI) 0));
	LOC2 = 0;
	LOC2 = fileexists_121802(LOC1);
	setresult_403871(a, LOC2);
}

N_CLOSURE(void, HEX3Aanonymous_537143)(Vmargs265030* a, void* ClEnv) {
	TY537181* HEX3Aenvp_537197;
	HEX3Aenvp_537197 = (TY537181*) ClEnv;
	setresult_403900(a, (*HEX3Aenvp_537197).vthisdir537080);
}

N_NIMCALL(void, HEX3Aanonymous_537146)(Vmargs265030* a) {
	NimStringDesc* LOC1;
	NimStringDesc* LOC2;
	LOC1 = 0;
	LOC1 = getstring_404037(a, ((NI) 0));
	LOC2 = 0;
	LOC2 = getstring_404037(a, ((NI) 1));
	setconfigvar_163286(LOC1, LOC2);
}

N_NIMCALL(void, HEX3Aanonymous_537149)(Vmargs265030* a) {
	NimStringDesc* LOC1;
	NimStringDesc* LOC2;
	LOC1 = 0;
	LOC1 = getstring_404037(a, ((NI) 0));
	LOC2 = 0;
	LOC2 = getconfigvar_163282(LOC1);
	setresult_403900(a, LOC2);
}

N_NIMCALL(void, HEX3Aanonymous_537152)(Vmargs265030* a) {
	NimStringDesc* LOC1;
	NIM_BOOL LOC2;
	LOC1 = 0;
	LOC1 = getstring_404037(a, ((NI) 0));
	LOC2 = 0;
	LOC2 = existsconfigvar_163278(LOC1);
	setresult_403871(a, LOC2);
}

N_NIMCALL(void, HEX3Aanonymous_537155)(Vmargs265030* a) {
	NimStringDesc* LOC1;
	LOC1 = 0;
	LOC1 = getnimcachedir_163610();
	setresult_403900(a, LOC1);
}

N_NIMCALL(void, HEX3Aanonymous_537158)(Vmargs265030* a) {
	NI64 LOC1;
	NimStringDesc* LOC2;
	LOC1 = 0;
	LOC1 = getint_403986(a, ((NI) 0));
	LOC2 = 0;
	LOC2 = nosparamStr(((NI) (LOC1)));
	setresult_403900(a, LOC2);
}

N_NIMCALL(void, HEX3Aanonymous_537161)(Vmargs265030* a) {
	NI LOC1;
	LOC1 = 0;
	LOC1 = nosparamCount();
	setresult_403831(a, ((NI64) (LOC1)));
}

N_NIMCALL(void, HEX3Aanonymous_537164)(Vmargs265030* a) {
	NimStringDesc* LOC1;
	NimStringDesc* LOC2;
	NI LOC3;
	LOC1 = 0;
	LOC1 = getstring_404037(a, ((NI) 0));
	LOC2 = 0;
	LOC2 = getstring_404037(a, ((NI) 1));
	LOC3 = 0;
	LOC3 = nsuCmpIgnoreStyle(LOC1, LOC2);
	setresult_403831(a, ((NI64) (LOC3)));
}

N_NIMCALL(void, HEX3Aanonymous_537167)(Vmargs265030* a) {
	NimStringDesc* LOC1;
	NimStringDesc* LOC2;
	NI LOC3;
	LOC1 = 0;
	LOC1 = getstring_404037(a, ((NI) 0));
	LOC2 = 0;
	LOC2 = getstring_404037(a, ((NI) 1));
	LOC3 = 0;
	LOC3 = nsuCmpIgnoreCase(LOC1, LOC2);
	setresult_403831(a, ((NI64) (LOC3)));
}

N_NIMCALL(void, HEX3Aanonymous_537170)(Vmargs265030* a) {
	NimStringDesc* arg;
	asgnRefNoCycle((void**) (&command_163205), getstring_404037(a, ((NI) 0)));
	arg = getstring_404037(a, ((NI) 1));
	{
		NimStringDesc* LOC5;
		TSafePoint TMP3717;
		if (!(((NI) 0) < (arg ? arg->Sup.len : 0))) goto LA3;
		LOC5 = 0;
		LOC5 = gprojectname_163199; gprojectname_163199 = copyStringRC1(arg);
		if (LOC5) nimGCunrefNoCycle(LOC5);
		pushSafePoint(&TMP3717);
		TMP3717.status = setjmp(TMP3717.context);
		if (TMP3717.status == 0) {
			NimStringDesc* LOC7;
			LOC7 = 0;
			LOC7 = HEX2F_116874(gprojectpath_163200, gprojectname_163199);
			asgnRefNoCycle((void**) (&gprojectfull_163201), canonicalizepath_163405(LOC7));
			popSafePoint();
		}
		else {
			popSafePoint();
			if (isObj(getCurrentException()->Sup.m_type, (&NTI3630))) {
				NimStringDesc* LOC10;
				TMP3717.status = 0;
				LOC10 = 0;
				LOC10 = gprojectfull_163201; gprojectfull_163201 = copyStringRC1(gprojectname_163199);
				if (LOC10) nimGCunrefNoCycle(LOC10);
				popCurrentException();
			}
		}
		if (TMP3717.status != 0) reraiseException();
	}
	LA3: ;
}

N_NIMCALL(void, HEX3Aanonymous_537174)(Vmargs265030* a) {
	setresult_403900(a, command_163205);
}

N_NIMCALL(void, HEX3Aanonymous_537177)(Vmargs265030* a) {
	NimStringDesc* LOC1;
	NimStringDesc* LOC2;
	Tlineinfo184337 LOC3;
	LOC1 = 0;
	LOC1 = getstring_404037(a, ((NI) 0));
	LOC2 = 0;
	LOC2 = getstring_404037(a, ((NI) 1));
	LOC3 = unknownlineinfo_185090();
	processswitch_202016(LOC1, LOC2, ((NU8) 2), LOC3);
}

N_NIMCALL(Tctx265036*, setupvm_537074)(Tsym216822* module, NimStringDesc* scriptname) {
	Tctx265036* result;
	TY537181* HEX3Aenv_537199;
	TY117115 LOC1;
	NimStringDesc* LOC2;
	Vmcallback265032 LOC3;
	Vmcallback265032 LOC4;
	Vmcallback265032 LOC5;
	Vmcallback265032 LOC6;
	Vmcallback265032 LOC7;
	Vmcallback265032 LOC8;
	Vmcallback265032 LOC9;
	Vmcallback265032 LOC10;
	Vmcallback265032 LOC11;
	Vmcallback265032 LOC12;
	Vmcallback265032 LOC13;
	Vmcallback265032 LOC14;
	Vmcallback265032 LOC15;
	Vmcallback265032 LOC16;
	Vmcallback265032 LOC17;
	Vmcallback265032 LOC18;
	Vmcallback265032 LOC19;
	Vmcallback265032 LOC20;
	Vmcallback265032 LOC21;
	Vmcallback265032 LOC22;
	Vmcallback265032 LOC23;
	Vmcallback265032 LOC24;
	Vmcallback265032 LOC25;
	Vmcallback265032 LOC26;
	Vmcallback265032 LOC27;
	Vmcallback265032 LOC28;
	Vmcallback265032 LOC29;
	Vmcallback265032 LOC30;
	result = 0;
	HEX3Aenv_537199 = 0;
	HEX3Aenv_537199 = (TY537181*) newObj((&NTI537180), sizeof(TY537181));
	result = newctx_265267(module);
	(*result).mode = ((NU8) 0);
	registeradditionalops_415929(result);
	memset((void*)(&LOC1), 0, sizeof(LOC1));
	nossplitFile(scriptname, (&LOC1));
	LOC2 = 0;
	LOC2 = (*HEX3Aenv_537199).vthisdir537080; (*HEX3Aenv_537199).vthisdir537080 = copyStringRC1(LOC1.Field0);
	if (LOC2) nimGCunrefNoCycle(LOC2);
	memset((void*)(&LOC3), 0, sizeof(LOC3));
	LOC3.ClPrc = HEX3Aanonymous_537093; LOC3.ClEnv = HEX3Aenv_537199;
	registercallback_265374(result, ((NimStringDesc*) &TMP3664), LOC3);
	memset((void*)(&LOC4), 0, sizeof(LOC4));
	LOC4.ClPrc = HEX3Aanonymous_537097; LOC4.ClEnv = HEX3Aenv_537199;
	registercallback_265374(result, ((NimStringDesc*) &TMP3668), LOC4);
	memset((void*)(&LOC5), 0, sizeof(LOC5));
	LOC5.ClPrc = HEX3Aanonymous_537101; LOC5.ClEnv = HEX3Aenv_537199;
	registercallback_265374(result, ((NimStringDesc*) &TMP3670), LOC5);
	memset((void*)(&LOC6), 0, sizeof(LOC6));
	LOC6.ClPrc = HEX3Aanonymous_537104; LOC6.ClEnv = HEX3Aenv_537199;
	registercallback_265374(result, ((NimStringDesc*) &TMP3673), LOC6);
	memset((void*)(&LOC7), 0, sizeof(LOC7));
	LOC7.ClPrc = HEX3Aanonymous_537107; LOC7.ClEnv = HEX3Aenv_537199;
	registercallback_265374(result, ((NimStringDesc*) &TMP3675), LOC7);
	memset((void*)(&LOC8), 0, sizeof(LOC8));
	LOC8.ClPrc = HEX3Aanonymous_537110; LOC8.ClEnv = HEX3Aenv_537199;
	registercallback_265374(result, ((NimStringDesc*) &TMP3677), LOC8);
	memset((void*)(&LOC9), 0, sizeof(LOC9));
	LOC9.ClPrc = HEX3Aanonymous_537113; LOC9.ClEnv = HEX3Aenv_537199;
	registercallback_265374(result, ((NimStringDesc*) &TMP3679), LOC9);
	memset((void*)(&LOC10), 0, sizeof(LOC10));
	LOC10.ClPrc = HEX3Aanonymous_537116; LOC10.ClEnv = HEX3Aenv_537199;
	registercallback_265374(result, ((NimStringDesc*) &TMP3681), LOC10);
	memset((void*)(&LOC11), 0, sizeof(LOC11));
	LOC11.ClPrc = HEX3Aanonymous_537119; LOC11.ClEnv = HEX3Aenv_537199;
	registercallback_265374(result, ((NimStringDesc*) &TMP3683), LOC11);
	memset((void*)(&LOC12), 0, sizeof(LOC12));
	LOC12.ClPrc = HEX3Aanonymous_537122; LOC12.ClEnv = HEX3Aenv_537199;
	registercallback_265374(result, ((NimStringDesc*) &TMP3685), LOC12);
	memset((void*)(&LOC13), 0, sizeof(LOC13));
	LOC13.ClPrc = HEX3Aanonymous_537125; LOC13.ClEnv = HEX3Aenv_537199;
	registercallback_265374(result, ((NimStringDesc*) &TMP3687), LOC13);
	memset((void*)(&LOC14), 0, sizeof(LOC14));
	LOC14.ClPrc = HEX3Aanonymous_537128; LOC14.ClEnv = HEX3Aenv_537199;
	registercallback_265374(result, ((NimStringDesc*) &TMP3689), LOC14);
	memset((void*)(&LOC15), 0, sizeof(LOC15));
	LOC15.ClPrc = ((TMP3692) (HEX3Aanonymous_537131)); LOC15.ClEnv = NIM_NIL;
	registercallback_265374(result, ((NimStringDesc*) &TMP3691), LOC15);
	memset((void*)(&LOC16), 0, sizeof(LOC16));
	LOC16.ClPrc = ((TMP3694) (HEX3Aanonymous_537134)); LOC16.ClEnv = NIM_NIL;
	registercallback_265374(result, ((NimStringDesc*) &TMP3693), LOC16);
	memset((void*)(&LOC17), 0, sizeof(LOC17));
	LOC17.ClPrc = ((TMP3696) (HEX3Aanonymous_537137)); LOC17.ClEnv = NIM_NIL;
	registercallback_265374(result, ((NimStringDesc*) &TMP3695), LOC17);
	memset((void*)(&LOC18), 0, sizeof(LOC18));
	LOC18.ClPrc = ((TMP3698) (HEX3Aanonymous_537140)); LOC18.ClEnv = NIM_NIL;
	registercallback_265374(result, ((NimStringDesc*) &TMP3697), LOC18);
	memset((void*)(&LOC19), 0, sizeof(LOC19));
	LOC19.ClPrc = HEX3Aanonymous_537143; LOC19.ClEnv = HEX3Aenv_537199;
	registercallback_265374(result, ((NimStringDesc*) &TMP3699), LOC19);
	memset((void*)(&LOC20), 0, sizeof(LOC20));
	LOC20.ClPrc = ((TMP3701) (HEX3Aanonymous_537146)); LOC20.ClEnv = NIM_NIL;
	registercallback_265374(result, ((NimStringDesc*) &TMP3700), LOC20);
	memset((void*)(&LOC21), 0, sizeof(LOC21));
	LOC21.ClPrc = ((TMP3703) (HEX3Aanonymous_537149)); LOC21.ClEnv = NIM_NIL;
	registercallback_265374(result, ((NimStringDesc*) &TMP3702), LOC21);
	memset((void*)(&LOC22), 0, sizeof(LOC22));
	LOC22.ClPrc = ((TMP3705) (HEX3Aanonymous_537152)); LOC22.ClEnv = NIM_NIL;
	registercallback_265374(result, ((NimStringDesc*) &TMP3704), LOC22);
	memset((void*)(&LOC23), 0, sizeof(LOC23));
	LOC23.ClPrc = ((TMP3707) (HEX3Aanonymous_537155)); LOC23.ClEnv = NIM_NIL;
	registercallback_265374(result, ((NimStringDesc*) &TMP3706), LOC23);
	memset((void*)(&LOC24), 0, sizeof(LOC24));
	LOC24.ClPrc = ((TMP3709) (HEX3Aanonymous_537158)); LOC24.ClEnv = NIM_NIL;
	registercallback_265374(result, ((NimStringDesc*) &TMP3708), LOC24);
	memset((void*)(&LOC25), 0, sizeof(LOC25));
	LOC25.ClPrc = ((TMP3711) (HEX3Aanonymous_537161)); LOC25.ClEnv = NIM_NIL;
	registercallback_265374(result, ((NimStringDesc*) &TMP3710), LOC25);
	memset((void*)(&LOC26), 0, sizeof(LOC26));
	LOC26.ClPrc = ((TMP3713) (HEX3Aanonymous_537164)); LOC26.ClEnv = NIM_NIL;
	registercallback_265374(result, ((NimStringDesc*) &TMP3712), LOC26);
	memset((void*)(&LOC27), 0, sizeof(LOC27));
	LOC27.ClPrc = ((TMP3715) (HEX3Aanonymous_537167)); LOC27.ClEnv = NIM_NIL;
	registercallback_265374(result, ((NimStringDesc*) &TMP3714), LOC27);
	memset((void*)(&LOC28), 0, sizeof(LOC28));
	LOC28.ClPrc = ((TMP3718) (HEX3Aanonymous_537170)); LOC28.ClEnv = NIM_NIL;
	registercallback_265374(result, ((NimStringDesc*) &TMP3716), LOC28);
	memset((void*)(&LOC29), 0, sizeof(LOC29));
	LOC29.ClPrc = ((TMP3720) (HEX3Aanonymous_537174)); LOC29.ClEnv = NIM_NIL;
	registercallback_265374(result, ((NimStringDesc*) &TMP3719), LOC29);
	memset((void*)(&LOC30), 0, sizeof(LOC30));
	LOC30.ClPrc = ((TMP3722) (HEX3Aanonymous_537177)); LOC30.ClEnv = NIM_NIL;
	registercallback_265374(result, ((NimStringDesc*) &TMP3721), LOC30);
	return result;
}

N_NIMCALL(void, runnimscript_537201)(NimStringDesc* scriptname) {
	Tpass263014 LOC1;
	Tpass263014 LOC2;
	Tsym216822* m;
	Tllstream204204* LOC3;
	gincludefile_263058 = includemodule_533818;
	gimportmodule_263053 = importmodule_533788;
	initdefines_192184();
	definesymbol_192004(((NimStringDesc*) &TMP2067));
	definesymbol_192004(((NimStringDesc*) &TMP2068));
	LOC1.Field0 = myopen_469665;
	LOC1.Field1 = myopencached_469696;
	LOC1.Field2 = myprocess_469804;
	LOC1.Field3 = myclose_469814;
	registerpass_263145(LOC1);
	LOC2.Field0 = myopen_416029;
	LOC2.Field1 = NIM_NIL;
	LOC2.Field2 = myprocess_416203;
	LOC2.Field3 = myprocess_416203;
	registerpass_263145(LOC2);
	appendstr_138244((&searchpaths_163125), libpath_163198);
	m = makemodule_533884(scriptname);
	(*m).flags |= ((NU32)1)<<((((NU8) 12))%(sizeof(NU32)*8));
	asgnRef((void**) (&globalctx_416016), setupvm_537074(m, scriptname));
	compilesystemmodule_533856();
	LOC3 = 0;
	LOC3 = llstreamopen_204241(scriptname, ((NU8) 0));
	processmodule_263044(m, LOC3, NIM_NIL);
	resetallmoduleshard_533353();
	asgnRef((void**) (&globalctx_416016), NIM_NIL);
	undefsymbol_192007(((NimStringDesc*) &TMP2067));
	undefsymbol_192007(((NimStringDesc*) &TMP2068));
}
NIM_EXTERNC N_NOINLINE(void, compiler_scriptconfigInit000)(void) {
}

NIM_EXTERNC N_NOINLINE(void, compiler_scriptconfigDatInit000)(void) {
static TNimNode* TMP3662[3];
static TNimNode TMP1645[4];
NTI537181.size = sizeof(TY537181);
NTI537181.kind = 18;
NTI537181.base = 0;
NTI537181.flags = 2;
TMP3662[0] = &TMP1645[1];
TMP1645[1].kind = 1;
TMP1645[1].offset = offsetof(TY537181, HEX3Astate);
TMP1645[1].typ = (&NTI327021);
TMP1645[1].name = ":state";
TMP3662[1] = &TMP1645[2];
TMP1645[2].kind = 1;
TMP1645[2].offset = offsetof(TY537181, errormsg537079);
TMP1645[2].typ = (&NTI138);
TMP1645[2].name = "errorMsg537079";
TMP3662[2] = &TMP1645[3];
TMP1645[3].kind = 1;
TMP1645[3].offset = offsetof(TY537181, vthisdir537080);
TMP1645[3].typ = (&NTI138);
TMP1645[3].name = "vthisDir537080";
TMP1645[0].len = 3; TMP1645[0].kind = 2; TMP1645[0].sons = &TMP3662[0];
NTI537181.node = &TMP1645[0];
NTI537180.size = sizeof(TY537181*);
NTI537180.kind = 22;
NTI537180.base = (&NTI537181);
NTI537180.flags = 2;
NTI537180.marker = TMP3663;
}

