text: /* Generated by Nim Compiler v1.4.8 */
  /*   (c) 2021 Andreas Rumpf */
  /* The generated code is subject to the original license. */
  /* Compiled for: Windows, amd64, gcc */
  /* Command for C compiler:
     gcc.exe -c  -w -fmax-errors=3 -mno-ms-bitfields -DWIN32_LEAN_AND_MEAN -pg -O3 -fno-strict-aliasing -fno-ident   -IC:\Users\PC\.choosenim\toolchains\nim-1.4.8\lib -IC:\Users\PC\AppData\Local\Temp\nimble_23592\githubcom_haxscramperhmisc_0.12.0\src\hmisc\scripts -o C:\Users\PC\.choosenim\toolchains\nim-1.4.8\bin\cache\stdlib_osproc.nim.c.o C:\Users\PC\.choosenim\toolchains\nim-1.4.8\bin\cache\stdlib_osproc.nim.c */
  #define NIM_INTBITS 64
  
  /* section: NIM_merge_HEADERS */
  
  #include "nimbase.h"
  #include <string.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 TNimType TNimType;
  typedef struct TNimNode TNimNode;
  typedef struct tyObject_ProcessObj__2rGNQnv9bU4hanI2g3svReg tyObject_ProcessObj__2rGNQnv9bU4hanI2g3svReg;
  typedef struct RootObj RootObj;
  typedef struct tyObject_StreamObj__THYguAi9bSgidczZ3ywEIMQ tyObject_StreamObj__THYguAi9bSgidczZ3ywEIMQ;
  typedef struct NimStringDesc NimStringDesc;
  typedef struct TGenericSeq TGenericSeq;
  typedef struct tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg;
  typedef struct tyObject_STARTUPINFO__WGlpKvY9cdd69bAwMQMNLYoQ tyObject_STARTUPINFO__WGlpKvY9cdd69bAwMQMNLYoQ;
  typedef struct tyObject_PROCESS_INFORMATION__rpgAdaffN9b79bo2kEQiFsMg tyObject_PROCESS_INFORMATION__rpgAdaffN9b79bo2kEQiFsMg;
  typedef struct tyObject_SECURITY_ATTRIBUTES__P4HW9ceaevTBZ5O3kGC8yyw tyObject_SECURITY_ATTRIBUTES__P4HW9ceaevTBZ5O3kGC8yyw;
  typedef struct tyTuple__0hEbbYmlam6yzyW5MFo9cjg tyTuple__0hEbbYmlam6yzyW5MFo9cjg;
  typedef struct tySequence__xv3aaFd3JCw8NbmALHiezQ tySequence__xv3aaFd3JCw8NbmALHiezQ;
  typedef struct tyTuple__sPaDkVPSC0MkcoXCxPH9ccA tyTuple__sPaDkVPSC0MkcoXCxPH9ccA;
  typedef struct tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA;
  typedef struct tyObject_FileHandleStreamcolonObjectType___Uwf6VGZy4JPKquxCiOCalQ tyObject_FileHandleStreamcolonObjectType___Uwf6VGZy4JPKquxCiOCalQ;
  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;
  
  /* section: NIM_merge_TYPES */
  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 RootObj {
  TNimType* m_type;
  };
  typedef NU8 tySet_tyEnum_ProcessOption__bnU6W8LhTMnT4JaSWtGlSA;
  struct tyObject_ProcessObj__2rGNQnv9bU4hanI2g3svReg {
    RootObj Sup;
  NI fProcessHandle;
  NI fThreadHandle;
  int inHandle;
  int outHandle;
  int errHandle;
  NI id;
  tyObject_StreamObj__THYguAi9bSgidczZ3ywEIMQ* inStream;
  tyObject_StreamObj__THYguAi9bSgidczZ3ywEIMQ* outStream;
  tyObject_StreamObj__THYguAi9bSgidczZ3ywEIMQ* errStream;
  int exitStatus;
  NIM_BOOL exitFlag;
  tySet_tyEnum_ProcessOption__bnU6W8LhTMnT4JaSWtGlSA options;
  };
  typedef NU8 tyEnum_ProcessOption__bnU6W8LhTMnT4JaSWtGlSA;
  struct TGenericSeq {
  NI len;
  NI reserved;
  };
  struct NimStringDesc {
    TGenericSeq Sup;
  NIM_CHAR data[SEQ_DECL_SIZE];
  };
  struct tyObject_STARTUPINFO__WGlpKvY9cdd69bAwMQMNLYoQ {
  NI32 cb;
  NCSTRING lpReserved;
  NCSTRING lpDesktop;
  NCSTRING lpTitle;
  NI32 dwX;
  NI32 dwY;
  NI32 dwXSize;
  NI32 dwYSize;
  NI32 dwXCountChars;
  NI32 dwYCountChars;
  NI32 dwFillAttribute;
  NI32 dwFlags;
  NI16 wShowWindow;
  NI16 cbReserved2;
  void* lpReserved2;
  NI hStdInput;
  NI hStdOutput;
  NI hStdError;
  };
  struct tyObject_PROCESS_INFORMATION__rpgAdaffN9b79bo2kEQiFsMg {
  NI hProcess;
  NI hThread;
  NI32 dwProcessId;
  NI32 dwThreadId;
  };
  struct tyObject_SECURITY_ATTRIBUTES__P4HW9ceaevTBZ5O3kGC8yyw {
  NI32 nLength;
  void* lpSecurityDescriptor;
  NI32 bInheritHandle;
  };
  typedef N_STDCALL_PTR(NI32, tyProc__C5kM33gEhlSKPXwfDNHofQ) (NI* hReadPipe, NI* hWritePipe, tyObject_SECURITY_ATTRIBUTES__P4HW9ceaevTBZ5O3kGC8yyw* lpPipeAttributes, NI32 nSize);
  typedef N_STDCALL_PTR(NI32, tyProc__mBVOPXmpGfUrrbA9a5K9cMbQ) (NI hObject, NI32 dwMask, NI32 dwFlags);
  typedef N_STDCALL_PTR(NI, tyProc__ox3t5iM0vxm1voo9c2CrxLQ) (NI16* lpName, NI32 dwOpenMode, NI32 dwPipeMode, NI32 nMaxInstances, NI32 nOutBufferSize, NI32 nInBufferSize, NI32 nDefaultTimeOut, tyObject_SECURITY_ATTRIBUTES__P4HW9ceaevTBZ5O3kGC8yyw* lpSecurityAttributes);
  typedef N_STDCALL_PTR(NI, tyProc__A2Q4AG9aesAd2D8S5BP4y2g) (NI16* lpFileName, NI32 dwDesiredAccess, NI32 dwShareMode, void* lpSecurityAttributes, NI32 dwCreationDisposition, NI32 dwFlagsAndAttributes, NI hTemplateFile);
  typedef N_STDCALL_PTR(NI, tyProc__uryidYWkntM7ddjZSyxvyQ) (void);
  typedef N_STDCALL_PTR(NI32, tyProc__oew1DfaGl5XhHmnBK0HYXQ) (NI hSourceProcessHandle, NI hSourceHandle, NI hTargetProcessHandle, NI* lpTargetHandle, NI32 dwDesiredAccess, NI32 bInheritHandle, NI32 dwOptions);
  typedef N_STDCALL_PTR(NI32, tyProc__P13srMBg9b3d3yEV9aW4NCoA) (NI hObject);
  typedef N_STDCALL_PTR(NI, tyProc__zP2zGemcuVRvOUE82f9a0Pw) (NI32 nStdHandle);
  struct tyTuple__0hEbbYmlam6yzyW5MFo9cjg {
  NCSTRING Field0;
  NI Field1;
  };
  typedef NU8 tyEnum_StringTableMode__G9c4wVDFIzf0xHmQvxso9a9cQ;
  struct tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg {
    RootObj Sup;
  NI counter;
  tySequence__xv3aaFd3JCw8NbmALHiezQ* data;
  tyEnum_StringTableMode__G9c4wVDFIzf0xHmQvxso9a9cQ mode;
  };
  struct tyTuple__sPaDkVPSC0MkcoXCxPH9ccA {
  NimStringDesc* Field0;
  NimStringDesc* Field1;
  NIM_BOOL Field2;
  };
  typedef NimStringDesc* tyArray__nHXaesL0DJZHyVS07ARPRA[1];
  typedef N_STDCALL_PTR(NI32, tyProc__hHrNIgHA5HNxhRfMx6QeWg) (NI16* lpApplicationName, NI16* lpCommandLine, tyObject_SECURITY_ATTRIBUTES__P4HW9ceaevTBZ5O3kGC8yyw* lpProcessAttributes, tyObject_SECURITY_ATTRIBUTES__P4HW9ceaevTBZ5O3kGC8yyw* lpThreadAttributes, NI32 bInheritHandles, NI32 dwCreationFlags, NI16* lpEnvironment, NI16* lpCurrentDirectory, tyObject_STARTUPINFO__WGlpKvY9cdd69bAwMQMNLYoQ* lpStartupInfo, tyObject_PROCESS_INFORMATION__rpgAdaffN9b79bo2kEQiFsMg* lpProcessInformation);
  typedef N_NIMCALL_PTR(void, tyProc__JQrsH08b4uPTH9cyFPlVOZg) (tyObject_StreamObj__THYguAi9bSgidczZ3ywEIMQ* s);
  typedef N_NIMCALL_PTR(NIM_BOOL, tyProc__9bmhFrLahRsL2hltfRDVtlQ) (tyObject_StreamObj__THYguAi9bSgidczZ3ywEIMQ* s);
  typedef N_NIMCALL_PTR(void, tyProc__3svSoGIUJIsHkaBL7q4DAQ) (tyObject_StreamObj__THYguAi9bSgidczZ3ywEIMQ* s, NI pos);
  typedef N_NIMCALL_PTR(NI, tyProc__xflqkf2D1uVClg70czEDHA) (tyObject_StreamObj__THYguAi9bSgidczZ3ywEIMQ* s);
  typedef N_NIMCALL_PTR(NI, tyProc__c9c0f59ak4YGQ6neEym8LPKw) (tyObject_StreamObj__THYguAi9bSgidczZ3ywEIMQ* s, NimStringDesc** buffer, tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA slice);
  typedef N_NIMCALL_PTR(NIM_BOOL, tyProc__7jFfqMk9ajToCz6Hv9atCA4A) (tyObject_StreamObj__THYguAi9bSgidczZ3ywEIMQ* s, NimStringDesc** line);
  typedef N_NIMCALL_PTR(NI, tyProc__2VVzVL9bOnKhj1eZKkf9cEuA) (tyObject_StreamObj__THYguAi9bSgidczZ3ywEIMQ* s, void* buffer, NI bufLen);
  typedef N_NIMCALL_PTR(void, tyProc__ki6p1QyfOkJLQJ9aw5NI0AQ) (tyObject_StreamObj__THYguAi9bSgidczZ3ywEIMQ* s, void* buffer, NI bufLen);
  struct tyObject_StreamObj__THYguAi9bSgidczZ3ywEIMQ {
    RootObj Sup;
  tyProc__JQrsH08b4uPTH9cyFPlVOZg closeImpl;
  tyProc__9bmhFrLahRsL2hltfRDVtlQ atEndImpl;
  tyProc__3svSoGIUJIsHkaBL7q4DAQ setPositionImpl;
  tyProc__xflqkf2D1uVClg70czEDHA getPositionImpl;
  tyProc__c9c0f59ak4YGQ6neEym8LPKw readDataStrImpl;
  tyProc__7jFfqMk9ajToCz6Hv9atCA4A readLineImpl;
  tyProc__2VVzVL9bOnKhj1eZKkf9cEuA readDataImpl;
  tyProc__2VVzVL9bOnKhj1eZKkf9cEuA peekDataImpl;
  tyProc__ki6p1QyfOkJLQJ9aw5NI0AQ writeDataImpl;
  tyProc__JQrsH08b4uPTH9cyFPlVOZg flushImpl;
  };
  struct tyObject_FileHandleStreamcolonObjectType___Uwf6VGZy4JPKquxCiOCalQ {
    tyObject_StreamObj__THYguAi9bSgidczZ3ywEIMQ Sup;
  NI handle;
  NIM_BOOL atTheEnd;
  };
  typedef N_STDCALL_PTR(NI32, tyProc__9ajZYMGL5GqiRFqiCC367oA) (NI hFile, void* buffer, NI32 nNumberOfBytesToRead, NI32* lpNumberOfBytesRead, void* lpOverlapped);
  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;
  };
  typedef N_STDCALL_PTR(NI32, tyProc__FprzxJFfqQdWyyGxiUsmeQ) (NI hHandle, NI32 dwMilliseconds);
  typedef N_STDCALL_PTR(NI32, tyProc__7S2vVNF4dlY59blFohNWnHg) (NI hProcess, NI uExitCode);
  typedef N_STDCALL_PTR(NI32, tyProc__KxeGXN001TReCr89ca9c5bng) (NI hProcess, NI32* lpExitCode);
  struct tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA {
  NI a;
  NI b;
  };
  
  /* section: NIM_merge_SEQ_TYPES */
  struct tySequence__xv3aaFd3JCw8NbmALHiezQ {
    TGenericSeq Sup;
    tyTuple__sPaDkVPSC0MkcoXCxPH9ccA data[SEQ_DECL_SIZE];
  };
  
  /* section: NIM_merge_PROC_HEADERS */
  N_LIB_PRIVATE N_NIMCALL(void, nimGCvisit)(void* d, NI op);
  static N_NIMCALL(void, Marker_tyRef__lw7iqc9cC7bi1oOZOAlJkJA)(void* p, NI op);
  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_NOINLINE(void*, newObj)(TNimType* typ, NI size);
  N_LIB_PRIVATE N_NIMCALL(void, createPipeHandles__pEMvHI27xToxFqXWQKj9cEg)(NI* rdHandle, NI* wrHandle);
  N_LIB_PRIVATE N_NOINLINE(void, raiseOSError__CWyPYlyH9a6rAuZckFyVxPA)(NI32 errorCode, NimStringDesc* additionalInfo);
  N_LIB_PRIVATE N_NIMCALL(NI32, osLastError__9bUWNxbcGnToMWA9b79aTXLIw)(void);
  N_LIB_PRIVATE N_NIMCALL(void, createAllPipeHandles__kvVk9ctrS43oFgoEN4H4sKQ)(tyObject_STARTUPINFO__WGlpKvY9cdd69bAwMQMNLYoQ* si, NI* stdin_0, NI* stdout_0, NI* stderr_0, NI hash);
  N_LIB_PRIVATE N_NIMCALL(NI16*, newWideCString__rFkWhJjmVi0m0Hc9agVEZIQ)(NimStringDesc* s);
  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*, nimIntToStr)(NI x);
  N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, rawNewString)(NI space);
  N_LIB_PRIVATE N_NIMCALL(NI, myDup__M9bstP9b7HoKMQuZu9aO8zMJQ)(NI h, NI32 inherit);
  static N_INLINE(void, closeHandleCheck__r2Q436Y9ah5xB9cQdRM1mPGQosproc)(NI handle);
  N_LIB_PRIVATE N_NOINLINE(void, raiseRangeErrorI)(NI64 i, NI64 a, NI64 b);
  static N_INLINE(NCSTRING, nimToCStringConv)(NimStringDesc* s);
  N_LIB_PRIVATE N_NIMCALL(void, failedAssertImpl__W9cjVocn1tjhW7p7xohJj6A)(NimStringDesc* msg);
  N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, buildCommandLine__UDw4GM1E9cGPJc4ElZzKCgg)(NimStringDesc* a, NimStringDesc** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nospquoteShell)(NimStringDesc* s);
  N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, addChar)(NimStringDesc* s, NIM_CHAR c);
  N_LIB_PRIVATE N_NOINLINE(void, raiseIndexError2)(NI i, NI n);
  N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, resizeString)(NimStringDesc* dest, NI addlen);
  N_LIB_PRIVATE N_NOINLINE(void, raiseOverflow)(void);
  N_LIB_PRIVATE N_NIMCALL(tyTuple__0hEbbYmlam6yzyW5MFo9cjg, buildEnv__YMjuewsJgp315PbogSaL0w)(tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* env);
  N_LIB_PRIVATE N_NOCONV(void*, alloc0Impl__KzdpcuLT9aef9bsiSHlIu9aFg)(NI size);
  N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, cstrToNimstr)(NCSTRING str);
  N_LIB_PRIVATE N_NIMCALL(void, echoBinSafe)(NimStringDesc** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(NI16*, newWideCString__G8rSmf9akUNUzuZWlrfFAmA)(NCSTRING s);
  N_LIB_PRIVATE N_NIMCALL(NI16*, newWideCString__K8rR70TBwrP6FNBzDhVVOA)(NCSTRING source, NI L);
  static N_INLINE(void, fileClose__its9avsPxbi5pbb6ijc1Pugosproc)(NI* h);
  static N_INLINE(NIM_BOOL, eqeq___aqip9cmQIuefPKdd25wuEEwsystem)(NCSTRING x, NCSTRING y);
  N_LIB_PRIVATE N_NOCONV(void, dealloc)(void* p);
  N_LIB_PRIVATE N_NIMCALL(void, nospclose)(tyObject_ProcessObj__2rGNQnv9bU4hanI2g3svReg* p);
  static N_INLINE(void, fileClose__9bOry9asxWZNxvyJ0bR6XMnAosproc)(int* h);
  N_LIB_PRIVATE N_NIMCALL(void, close__y1KA3B0U09bKtU09am9a9avRYQ)(tyObject_StreamObj__THYguAi9bSgidczZ3ywEIMQ* s);
  N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isObj)(TNimType* obj, TNimType* subclass);
  N_LIB_PRIVATE N_NOINLINE(void, raiseObjectConversionError)(void);
  N_LIB_PRIVATE N_NIMCALL(void, closeThreadAndProcessHandle__wC5pQetFtdS7o0xCFNakqg)(tyObject_ProcessObj__2rGNQnv9bU4hanI2g3svReg* p);
  N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nsuFormatSingleElem)(NimStringDesc* formatstr, NimStringDesc* a);
  N_LIB_PRIVATE N_NIMCALL(tyObject_FileHandleStreamcolonObjectType___Uwf6VGZy4JPKquxCiOCalQ*, newFileHandleStream__5UjA3OiL9c38tzpjsTItGlA)(NI handle);
  static N_NIMCALL(void, Marker_tyRef__DpwKsN2DZCVvNvk72L1fXA)(void* p, NI op);
  N_LIB_PRIVATE N_NIMCALL(void, hsClose__oPbW7ACy7eRAx59c1YwEtTg)(tyObject_StreamObj__THYguAi9bSgidczZ3ywEIMQ* s);
  N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hsAtEnd__9ca7oC9acOy2p6f3mDJ1qajg)(tyObject_StreamObj__THYguAi9bSgidczZ3ywEIMQ* s);
  N_LIB_PRIVATE N_NIMCALL(NI, hsReadData__Eqw0t3y0Q32IKnOJhWE9bpA)(tyObject_StreamObj__THYguAi9bSgidczZ3ywEIMQ* s, void* buffer, NI bufLen);
  N_LIB_PRIVATE N_NIMCALL(void, hsWriteData__gg4mJT09aHz5xAJ18sD13Yg)(tyObject_StreamObj__THYguAi9bSgidczZ3ywEIMQ* s, void* buffer, NI bufLen);
  static N_INLINE(void, asgnRef)(void** dest, void* src);
  static N_INLINE(void, incRef__AT1eRuflKWyTTBdLjEDZbg_3system)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
  static N_INLINE(NI, pluspercent___dgYAo7RfdUVVpvkfKDym8wsystem)(NI x, NI y);
  static N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*, usrToCell__QFQqcLB3lgOdwipkv9a60xwsystem)(void* usr);
  static N_INLINE(NI, minuspercent___dgYAo7RfdUVVpvkfKDym8w_2system)(NI x, NI y);
  static N_INLINE(void, decRef__AT1eRuflKWyTTBdLjEDZbgsystem)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
  static N_INLINE(NIM_BOOL, ltpercent___hPljn3JCDQ00ua1R07X9bxQsystem)(NI x, NI y);
  static N_INLINE(void, rtlAddZCT__AT1eRuflKWyTTBdLjEDZbg_2system)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
  N_LIB_PRIVATE N_NOINLINE(void, addZCT__Y66tOYFjgwJ0k4aLz4bc0Q)(tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w* s, tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
  N_LIB_PRIVATE N_NIMCALL(void, nospterminate)(tyObject_ProcessObj__2rGNQnv9bU4hanI2g3svReg* p);
  N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, nosprunning)(tyObject_ProcessObj__2rGNQnv9bU4hanI2g3svReg* p);
  
  /* section: NIM_merge_DATA */
  extern TNimType NTI__ytyiCJqK439aF9cIibuRVpAg_;
  N_LIB_PRIVATE TNimType NTI__2rGNQnv9bU4hanI2g3svReg_;
  extern TNimType NTI__rR5Bzr1D5krxoo1NcNyeMA_;
  extern TNimType NTI__2gIj3gQlK3HZJjQaYCP6ZQ_;
  extern TNimType NTI__1G0jiQbe7KwD5ADza5AZaw_;
  extern TNimType NTI__nlCscttRCss70IBTyuBqnA_;
  extern TNimType NTI__VaVACK0bpYmqIQ0mKcHfQQ_;
  N_LIB_PRIVATE TNimType NTI__bnU6W8LhTMnT4JaSWtGlSA_;
  N_LIB_PRIVATE TNimType NTI__HlmBYNr2gdAZMXOsuiSZ0A_;
  N_LIB_PRIVATE TNimType NTI__lw7iqc9cC7bi1oOZOAlJkJA_;
  STRING_LITERAL(TM__HZdw8BhppcTQo8DIK46LSg_6, "\\\\.\\pipe\\stdout", 15);
  STRING_LITERAL(TM__HZdw8BhppcTQo8DIK46LSg_7, "\\\\.\\pipe\\stdin", 14);
  STRING_LITERAL(TM__HZdw8BhppcTQo8DIK46LSg_8, "osproc.nim(703, 14) `args.len == 0` ", 36);
  static NIM_CONST tyTuple__0hEbbYmlam6yzyW5MFo9cjg TM__HZdw8BhppcTQo8DIK46LSg_10 = {((NCSTRING) NIM_NIL),
  ((NI) -1)}
  ;
  STRING_LITERAL(TM__HZdw8BhppcTQo8DIK46LSg_16, "=", 1);
  extern TNimType NTI__THYguAi9bSgidczZ3ywEIMQ_;
  N_LIB_PRIVATE TNimType NTI__Uwf6VGZy4JPKquxCiOCalQ_;
  STRING_LITERAL(TM__HZdw8BhppcTQo8DIK46LSg_22, "osproc.nim(769, 14) `p.outStream == nil or\012    FileHandleStream"
  "(p.outStream).handle != INVALID_HANDLE_VALUE` ", 109);
  STRING_LITERAL(TM__HZdw8BhppcTQo8DIK46LSg_23, "osproc.nim(770, 14) `p.errStream == nil or\012    FileHandleStream"
  "(p.errStream).handle != INVALID_HANDLE_VALUE` ", 109);
  STRING_LITERAL(TM__HZdw8BhppcTQo8DIK46LSg_24, "Requested command not found: \'$1\'. OS error:", 44);
  STRING_LITERAL(TM__HZdw8BhppcTQo8DIK46LSg_25, "osproc.nim(829, 17) `poParentStreams notin p.options` API usage"
  " error: stream access not allowed when you use poParentStreams", 125);
  N_LIB_PRIVATE TNimType NTI__DpwKsN2DZCVvNvk72L1fXA_;
  STRING_LITERAL(TM__HZdw8BhppcTQo8DIK46LSg_26, "osproc.nim(835, 17) `poParentStreams notin p.options` API usage"
  " error: stream access not allowed when you use poParentStreams", 125);
  STRING_LITERAL(TM__HZdw8BhppcTQo8DIK46LSg_27, "osproc.nim(841, 17) `poParentStreams notin p.options` API usage"
  " error: stream access not allowed when you use poParentStreams", 125);
  
  /* section: NIM_merge_VARS */
  extern tyProc__C5kM33gEhlSKPXwfDNHofQ Dl_13816562_;
  extern tyProc__mBVOPXmpGfUrrbA9a5K9cMbQ Dl_13818581_;
  extern tyProc__ox3t5iM0vxm1voo9c2CrxLQ Dl_13816570_;
  extern tyProc__A2Q4AG9aesAd2D8S5BP4y2g Dl_13818588_;
  extern tyProc__uryidYWkntM7ddjZSyxvyQ Dl_13818586_;
  extern tyProc__oew1DfaGl5XhHmnBK0HYXQ Dl_13818566_;
  extern tyProc__P13srMBg9b3d3yEV9aW4NCoA Dl_13816543_;
  extern tyProc__zP2zGemcuVRvOUE82f9a0Pw Dl_13816820_;
  extern tyProc__hHrNIgHA5HNxhRfMx6QeWg Dl_13816592_;
  extern tyProc__9ajZYMGL5GqiRFqiCC367oA Dl_13816546_;
  extern tyProc__9ajZYMGL5GqiRFqiCC367oA Dl_13816554_;
  extern tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ gch__IcYaEuuWivYAS86vFMTS3Q;
  extern tyProc__FprzxJFfqQdWyyGxiUsmeQ Dl_13816807_;
  extern tyProc__7S2vVNF4dlY59blFohNWnHg Dl_13816811_;
  extern tyProc__KxeGXN001TReCr89ca9c5bng Dl_13816815_;
  
  /* section: NIM_merge_PROCS */
  static N_NIMCALL(void, Marker_tyRef__lw7iqc9cC7bi1oOZOAlJkJA)(void* p, NI op) {
  	tyObject_ProcessObj__2rGNQnv9bU4hanI2g3svReg* a;
  	a = (tyObject_ProcessObj__2rGNQnv9bU4hanI2g3svReg*)p;
  	nimGCvisit((void*)(*a).inStream, op);
  	nimGCvisit((void*)(*a).outStream, op);
  	nimGCvisit((void*)(*a).errStream, op);
  }
  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, createPipeHandles__pEMvHI27xToxFqXWQKj9cEg)(NI* rdHandle, NI* wrHandle) {
  	tyObject_SECURITY_ATTRIBUTES__P4HW9ceaevTBZ5O3kGC8yyw sa;
  	nimZeroMem((void*)(&sa), sizeof(tyObject_SECURITY_ATTRIBUTES__P4HW9ceaevTBZ5O3kGC8yyw));
  	sa.nLength = ((int) 24);
  	sa.lpSecurityDescriptor = NIM_NIL;
  	sa.bInheritHandle = ((NI32) 1);
  	{
  		NI32 T3_;
  		NI32 T6_;
  		T3_ = (NI32)0;
  		T3_ = Dl_13816562_(rdHandle, wrHandle, (&sa), ((NI32) 0));
  		if (!(T3_ == ((NI32) 0))) goto LA4_;
  		T6_ = (NI32)0;
  		T6_ = osLastError__9bUWNxbcGnToMWA9b79aTXLIw();
  		raiseOSError__CWyPYlyH9a6rAuZckFyVxPA(T6_, ((NimStringDesc*) NIM_NIL));
  	}
  	LA4_: ;
  }
  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) {
  	{
  		if (!!((src == ((NimStringDesc*) NIM_NIL)))) goto LA3_;
  		copyMem__i80o3k0SgEI5gTRCzYdyWAsystem(((void*) ((&(*dest).data[(*dest).Sup.len]))), ((void*) ((*src).data)), ((NI) ((NI)((*src).Sup.len + ((NI) 1)))));
  		(*dest).Sup.len += (*src).Sup.len;
  	}
  	LA3_: ;
  }
  N_LIB_PRIVATE N_NIMCALL(NI, myDup__M9bstP9b7HoKMQuZu9aO8zMJQ)(NI h, NI32 inherit) {
  	NI result;
  	NI thisProc;
  	result = (NI)0;
  	thisProc = Dl_13818586_();
  	{
  		NI32 T3_;
  		NI32 T6_;
  		T3_ = (NI32)0;
  		T3_ = Dl_13818566_(thisProc, h, thisProc, (&result), ((NI32) 0), inherit, ((NI32) 2));
  		if (!(T3_ == ((NI32) 0))) goto LA4_;
  		T6_ = (NI32)0;
  		T6_ = osLastError__9bUWNxbcGnToMWA9b79aTXLIw();
  		raiseOSError__CWyPYlyH9a6rAuZckFyVxPA(T6_, ((NimStringDesc*) NIM_NIL));
  	}
  	LA4_: ;
  	return result;
  }
  static N_INLINE(void, closeHandleCheck__r2Q436Y9ah5xB9cQdRM1mPGQosproc)(NI handle) {
  	{
  		NI32 T3_;
  		NI32 T6_;
  		T3_ = (NI32)0;
  		T3_ = Dl_13816543_(handle);
  		if (!(T3_ == ((NI32) 0))) goto LA4_;
  		T6_ = (NI32)0;
  		T6_ = osLastError__9bUWNxbcGnToMWA9b79aTXLIw();
  		raiseOSError__CWyPYlyH9a6rAuZckFyVxPA(T6_, ((NimStringDesc*) NIM_NIL));
  	}
  	LA4_: ;
  }
  N_LIB_PRIVATE N_NIMCALL(void, createAllPipeHandles__kvVk9ctrS43oFgoEN4H4sKQ)(tyObject_STARTUPINFO__WGlpKvY9cdd69bAwMQMNLYoQ* si, NI* stdin_0, NI* stdout_0, NI* stderr_0, NI hash) {
  	tyObject_SECURITY_ATTRIBUTES__P4HW9ceaevTBZ5O3kGC8yyw sa;
  	NI16* pipeOutName;
  	NimStringDesc* T1_;
  	NimStringDesc* T2_;
  	NI16* pipeInName;
  	NimStringDesc* T3_;
  	NimStringDesc* T4_;
  	NI pipeOut;
  	NI pipeIn;
  	nimZeroMem((void*)(&sa), sizeof(tyObject_SECURITY_ATTRIBUTES__P4HW9ceaevTBZ5O3kGC8yyw));
  	sa.nLength = ((int) 24);
  	sa.lpSecurityDescriptor = NIM_NIL;
  	sa.bInheritHandle = ((NI32) 1);
  	T1_ = (NimStringDesc*)0;
  	T2_ = (NimStringDesc*)0;
  	T2_ = nimIntToStr(hash);
  	T1_ = rawNewString((T2_ ? T2_->Sup.len : 0) + 15);
  appendString(T1_, ((NimStringDesc*) &TM__HZdw8BhppcTQo8DIK46LSg_6));
  appendString(T1_, T2_);
  	pipeOutName = newWideCString__rFkWhJjmVi0m0Hc9agVEZIQ(T1_);
  	T3_ = (NimStringDesc*)0;
  	T4_ = (NimStringDesc*)0;
  	T4_ = nimIntToStr(hash);
  	T3_ = rawNewString((T4_ ? T4_->Sup.len : 0) + 14);
  appendString(T3_, ((NimStringDesc*) &TM__HZdw8BhppcTQo8DIK46LSg_7));
  appendString(T3_, T4_);
  	pipeInName = newWideCString__rFkWhJjmVi0m0Hc9agVEZIQ(T3_);
  	pipeOut = Dl_13816570_(pipeOutName, ((NI32) -2147483647), ((NI32) 1), ((NI32) 1), ((NI32) 1024), ((NI32) 1024), ((NI32) 0), (&sa));
  	{
  		NI32 T9_;
  		if (!(pipeOut == ((NI) -1))) goto LA7_;
  		T9_ = (NI32)0;
  		T9_ = osLastError__9bUWNxbcGnToMWA9b79aTXLIw();
  		raiseOSError__CWyPYlyH9a6rAuZckFyVxPA(T9_, ((NimStringDesc*) NIM_NIL));
  	}
  	LA7_: ;
  	pipeIn = Dl_13816570_(pipeInName, ((NI32) -2147483646), ((NI32) 1), ((NI32) 1), ((NI32) 1024), ((NI32) 1024), ((NI32) 0), (&sa));
  	{
  		NI32 T14_;
  		if (!(pipeIn == ((NI) -1))) goto LA12_;
  		T14_ = (NI32)0;
  		T14_ = osLastError__9bUWNxbcGnToMWA9b79aTXLIw();
  		raiseOSError__CWyPYlyH9a6rAuZckFyVxPA(T14_, ((NimStringDesc*) NIM_NIL));
  	}
  	LA12_: ;
  	(*si).hStdOutput = Dl_13818588_(pipeOutName, ((NI32) 1048578), ((NI32) 0), ((void*) ((&sa))), ((NI32) 3), ((NI32) 128), ((NI) 0));
  	{
  		NI32 T19_;
  		if (!((*si).hStdOutput == ((NI) -1))) goto LA17_;
  		T19_ = (NI32)0;
  		T19_ = osLastError__9bUWNxbcGnToMWA9b79aTXLIw();
  		raiseOSError__CWyPYlyH9a6rAuZckFyVxPA(T19_, ((NimStringDesc*) NIM_NIL));
  	}
  	LA17_: ;
  	(*si).hStdError = myDup__M9bstP9b7HoKMQuZu9aO8zMJQ((*si).hStdOutput, ((NI32) 1));
  	(*si).hStdInput = Dl_13818588_(pipeInName, ((NI32) 1048577), ((NI32) 0), ((void*) ((&sa))), ((NI32) 3), ((NI32) 128), ((NI) 0));
  	{
  		NI32 T24_;
  		if (!((*si).hStdInput == ((NI) -1))) goto LA22_;
  		T24_ = (NI32)0;
  		T24_ = osLastError__9bUWNxbcGnToMWA9b79aTXLIw();
  		raiseOSError__CWyPYlyH9a6rAuZckFyVxPA(T24_, ((NimStringDesc*) NIM_NIL));
  	}
  	LA22_: ;
  	(*stdin_0) = myDup__M9bstP9b7HoKMQuZu9aO8zMJQ(pipeIn, ((NI32) 0));
  	(*stdout_0) = myDup__M9bstP9b7HoKMQuZu9aO8zMJQ(pipeOut, ((NI32) 0));
  	closeHandleCheck__r2Q436Y9ah5xB9cQdRM1mPGQosproc(pipeIn);
  	closeHandleCheck__r2Q436Y9ah5xB9cQdRM1mPGQosproc(pipeOut);
  	(*stderr_0) = (*stdout_0);
  }
  static N_INLINE(NCSTRING, nimToCStringConv)(NimStringDesc* s) {
  	NCSTRING result;
  	result = (NCSTRING)0;
  	{
  		NIM_BOOL T3_;
  		T3_ = (NIM_BOOL)0;
  		T3_ = (s == ((NimStringDesc*) NIM_NIL));
  		if (T3_) goto LA4_;
  		T3_ = ((*s).Sup.len == ((NI) 0));
  		LA4_: ;
  		if (!T3_) goto LA5_;
  		result = "";
  	}
  	goto LA1_;
  	LA5_: ;
  	{
  		result = ((NCSTRING) ((*s).data));
  	}
  	LA1_: ;
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, buildCommandLine__UDw4GM1E9cGPJc4ElZzKCgg)(NimStringDesc* a, NimStringDesc** args, NI argsLen_0) {
  	NimStringDesc* result;
  	result = (NimStringDesc*)0;
  	result = nospquoteShell(a);
  	{
  		NI i;
  		NI colontmp_;
  		NI res;
  		i = (NI)0;
  		colontmp_ = (NI)0;
  		colontmp_ = (argsLen_0-1);
  		res = ((NI) 0);
  		{
  			while (1) {
  				NimStringDesc* T4_;
  				NI TM__HZdw8BhppcTQo8DIK46LSg_9;
  				if (!(res <= colontmp_)) goto LA3;
  				i = res;
  				result = addChar(result, 32);
  				if ((NU)(i) >= (NU)(argsLen_0)){ raiseIndexError2(i,argsLen_0-1); }
  				T4_ = (NimStringDesc*)0;
  				T4_ = nospquoteShell(args[i]);
  				result = resizeString(result, (T4_ ? T4_->Sup.len : 0) + 0);
  appendString(result, T4_);
  				if (nimAddInt(res, ((NI) 1), &TM__HZdw8BhppcTQo8DIK46LSg_9)) { raiseOverflow(); };
  				res = (NI)(TM__HZdw8BhppcTQo8DIK46LSg_9);
  			} LA3: ;
  		}
  	}
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyTuple__0hEbbYmlam6yzyW5MFo9cjg, buildEnv__YMjuewsJgp315PbogSaL0w)(tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* env) {
  	tyTuple__0hEbbYmlam6yzyW5MFo9cjg result;
  	NI L;
  	NCSTRING str;
  	NI TM__HZdw8BhppcTQo8DIK46LSg_15;
  	void* T10_;
  	nimZeroMem((void*)(&result), sizeof(tyTuple__0hEbbYmlam6yzyW5MFo9cjg));
  	L = ((NI) 0);
  	{
  		NimStringDesc* key;
  		NimStringDesc* val;
  		key = (NimStringDesc*)0;
  		val = (NimStringDesc*)0;
  		{
  			NI h;
  			NI colontmp_;
  			NI T3_;
  			NI res;
  			h = (NI)0;
  			colontmp_ = (NI)0;
  			T3_ = (((*env).data ? (*env).data->Sup.len : 0)-1);
  			colontmp_ = T3_;
  			res = ((NI) 0);
  			{
  				while (1) {
  					NI TM__HZdw8BhppcTQo8DIK46LSg_14;
  					if (!(res <= colontmp_)) goto LA5;
  					h = res;
  					{
  						NI TM__HZdw8BhppcTQo8DIK46LSg_11;
  						NI TM__HZdw8BhppcTQo8DIK46LSg_12;
  						NI TM__HZdw8BhppcTQo8DIK46LSg_13;
  						if ((NU)(h) >= (NU)((*env).data ? (*env).data->Sup.len : 0)){ raiseIndexError2(h,((*env).data ? (*env).data->Sup.len : 0)-1); }
  						if (!(*env).data->data[h].Field2) goto LA8_;
  						if ((NU)(h) >= (NU)((*env).data ? (*env).data->Sup.len : 0)){ raiseIndexError2(h,((*env).data ? (*env).data->Sup.len : 0)-1); }
  						key = (*env).data->data[h].Field0;
  						if ((NU)(h) >= (NU)((*env).data ? (*env).data->Sup.len : 0)){ raiseIndexError2(h,((*env).data ? (*env).data->Sup.len : 0)-1); }
  						val = (*env).data->data[h].Field1;
  						if (nimAddInt((key ? key->Sup.len : 0), (val ? val->Sup.len : 0), &TM__HZdw8BhppcTQo8DIK46LSg_11)) { raiseOverflow(); };
  						if (nimAddInt((NI)(TM__HZdw8BhppcTQo8DIK46LSg_11), ((NI) 2), &TM__HZdw8BhppcTQo8DIK46LSg_12)) { raiseOverflow(); };
  						if (nimAddInt(L, (NI)(TM__HZdw8BhppcTQo8DIK46LSg_12), &TM__HZdw8BhppcTQo8DIK46LSg_13)) { raiseOverflow(); };
  						L = (NI)(TM__HZdw8BhppcTQo8DIK46LSg_13);
  					}
  					LA8_: ;
  					if (nimAddInt(res, ((NI) 1), &TM__HZdw8BhppcTQo8DIK46LSg_14)) { raiseOverflow(); };
  					res = (NI)(TM__HZdw8BhppcTQo8DIK46LSg_14);
  				} LA5: ;
  			}
  		}
  	}
  	if (nimAddInt(L, ((NI) 2), &TM__HZdw8BhppcTQo8DIK46LSg_15)) { raiseOverflow(); };
  	if (((NI)(TM__HZdw8BhppcTQo8DIK46LSg_15)) < ((NI) 0) || ((NI)(TM__HZdw8BhppcTQo8DIK46LSg_15)) > ((NI) IL64(9223372036854775807))){ raiseRangeErrorI((NI)(TM__HZdw8BhppcTQo8DIK46LSg_15), ((NI) 0), ((NI) IL64(9223372036854775807))); }
  	T10_ = (void*)0;
  	T10_ = alloc0Impl__KzdpcuLT9aef9bsiSHlIu9aFg(((NI) ((NI)(TM__HZdw8BhppcTQo8DIK46LSg_15))));
  	str = ((NCSTRING) (T10_));
  	L = ((NI) 0);
  	{
  		NimStringDesc* key_2;
  		NimStringDesc* val_2;
  		key_2 = (NimStringDesc*)0;
  		val_2 = (NimStringDesc*)0;
  		{
  			NI h_2;
  			NI colontmp__2;
  			NI T13_;
  			NI res_2;
  			h_2 = (NI)0;
  			colontmp__2 = (NI)0;
  			T13_ = (((*env).data ? (*env).data->Sup.len : 0)-1);
  			colontmp__2 = T13_;
  			res_2 = ((NI) 0);
  			{
  				while (1) {
  					NI TM__HZdw8BhppcTQo8DIK46LSg_20;
  					if (!(res_2 <= colontmp__2)) goto LA15;
  					h_2 = res_2;
  					{
  						NimStringDesc* x;
  						NimStringDesc* T20_;
  						NI TM__HZdw8BhppcTQo8DIK46LSg_17;
  						NI TM__HZdw8BhppcTQo8DIK46LSg_18;
  						NI TM__HZdw8BhppcTQo8DIK46LSg_19;
  						if ((NU)(h_2) >= (NU)((*env).data ? (*env).data->Sup.len : 0)){ raiseIndexError2(h_2,((*env).data ? (*env).data->Sup.len : 0)-1); }
  						if (!(*env).data->data[h_2].Field2) goto LA18_;
  						if ((NU)(h_2) >= (NU)((*env).data ? (*env).data->Sup.len : 0)){ raiseIndexError2(h_2,((*env).data ? (*env).data->Sup.len : 0)-1); }
  						key_2 = (*env).data->data[h_2].Field0;
  						if ((NU)(h_2) >= (NU)((*env).data ? (*env).data->Sup.len : 0)){ raiseIndexError2(h_2,((*env).data ? (*env).data->Sup.len : 0)-1); }
  						val_2 = (*env).data->data[h_2].Field1;
  						T20_ = (NimStringDesc*)0;
  						T20_ = rawNewString((key_2 ? key_2->Sup.len : 0) + (val_2 ? val_2->Sup.len : 0) + 1);
  appendString(T20_, key_2);
  appendString(T20_, ((NimStringDesc*) &TM__HZdw8BhppcTQo8DIK46LSg_16));
  appendString(T20_, val_2);
  						x = T20_;
  						if (nimAddInt((x ? x->Sup.len : 0), ((NI) 1), &TM__HZdw8BhppcTQo8DIK46LSg_17)) { raiseOverflow(); };
  						if (((NI)(TM__HZdw8BhppcTQo8DIK46LSg_17)) < ((NI) 0) || ((NI)(TM__HZdw8BhppcTQo8DIK46LSg_17)) > ((NI) IL64(9223372036854775807))){ raiseRangeErrorI((NI)(TM__HZdw8BhppcTQo8DIK46LSg_17), ((NI) 0), ((NI) IL64(9223372036854775807))); }
  						copyMem__i80o3k0SgEI5gTRCzYdyWAsystem(((void*) ((&str[L]))), ((void*) (nimToCStringConv(x))), ((NI) ((NI)(TM__HZdw8BhppcTQo8DIK46LSg_17))));
  						if (nimAddInt((x ? x->Sup.len : 0), ((NI) 1), &TM__HZdw8BhppcTQo8DIK46LSg_18)) { raiseOverflow(); };
  						if (nimAddInt(L, (NI)(TM__HZdw8BhppcTQo8DIK46LSg_18), &TM__HZdw8BhppcTQo8DIK46LSg_19)) { raiseOverflow(); };
  						L = (NI)(TM__HZdw8BhppcTQo8DIK46LSg_19);
  					}
  					LA18_: ;
  					if (nimAddInt(res_2, ((NI) 1), &TM__HZdw8BhppcTQo8DIK46LSg_20)) { raiseOverflow(); };
  					res_2 = (NI)(TM__HZdw8BhppcTQo8DIK46LSg_20);
  				} LA15: ;
  			}
  		}
  	}
  	result.Field0 = str;
  	result.Field1 = L;
  	return result;
  }
  static N_INLINE(void, fileClose__its9avsPxbi5pbb6ijc1Pugosproc)(NI* h) {
  	{
  		if (!(((NI) 4) < (*h))) goto LA3_;
  		closeHandleCheck__r2Q436Y9ah5xB9cQdRM1mPGQosproc((*h));
  		(*h) = ((NI) -1);
  	}
  	LA3_: ;
  }
  static N_INLINE(NIM_BOOL, eqeq___aqip9cmQIuefPKdd25wuEEwsystem)(NCSTRING x, NCSTRING y) {
  	NIM_BOOL result;
  	result = (NIM_BOOL)0;
  	{
  		if (!(((void*) (x)) == ((void*) (y)))) goto LA3_;
  		result = NIM_TRUE;
  	}
  	goto LA1_;
  	LA3_: ;
  	{
  		NIM_BOOL T6_;
  		T6_ = (NIM_BOOL)0;
  		T6_ = (x == 0);
  		if (T6_) goto LA7_;
  		T6_ = (y == 0);
  		LA7_: ;
  		if (!T6_) goto LA8_;
  		result = NIM_FALSE;
  	}
  	goto LA1_;
  	LA8_: ;
  	{
  		int T11_;
  		T11_ = (int)0;
  		T11_ = strcmp(x, y);
  		result = (T11_ == ((NI32) 0));
  	}
  	LA1_: ;
  	return result;
  }
  static N_INLINE(void, fileClose__9bOry9asxWZNxvyJ0bR6XMnAosproc)(int* h) {
  	{
  		if (!(((NI32) 4) < (*h))) goto LA3_;
  		closeHandleCheck__r2Q436Y9ah5xB9cQdRM1mPGQosproc(((NI) ((*h))));
  		(*h) = ((int) -1);
  	}
  	LA3_: ;
  }
  N_LIB_PRIVATE N_NIMCALL(void, closeThreadAndProcessHandle__wC5pQetFtdS7o0xCFNakqg)(tyObject_ProcessObj__2rGNQnv9bU4hanI2g3svReg* p) {
  	{
  		if (!!(((*p).fThreadHandle == ((NI) 0)))) goto LA3_;
  		closeHandleCheck__r2Q436Y9ah5xB9cQdRM1mPGQosproc((*p).fThreadHandle);
  		(*p).fThreadHandle = ((NI) 0);
  	}
  	LA3_: ;
  	{
  		if (!!(((*p).fProcessHandle == ((NI) 0)))) goto LA7_;
  		closeHandleCheck__r2Q436Y9ah5xB9cQdRM1mPGQosproc((*p).fProcessHandle);
  		(*p).fProcessHandle = ((NI) 0);
  	}
  	LA7_: ;
  }
  N_LIB_PRIVATE N_NIMCALL(void, nospclose)(tyObject_ProcessObj__2rGNQnv9bU4hanI2g3svReg* p) {
  	{
  		if (!!((((*p).options &((NU8)1<<((NU)(((tyEnum_ProcessOption__bnU6W8LhTMnT4JaSWtGlSA) 4))&7U)))!=0))) goto LA3_;
  		{
  			if (!((*p).inStream == ((tyObject_StreamObj__THYguAi9bSgidczZ3ywEIMQ*) NIM_NIL))) goto LA7_;
  			fileClose__9bOry9asxWZNxvyJ0bR6XMnAosproc((&(*p).inHandle));
  		}
  		goto LA5_;
  		LA7_: ;
  		{
  			close__y1KA3B0U09bKtU09am9a9avRYQ((*p).inStream);
  		}
  		LA5_: ;
  		{
  			NIM_BOOL T12_;
  			T12_ = (NIM_BOOL)0;
  			T12_ = ((*p).outStream == ((tyObject_StreamObj__THYguAi9bSgidczZ3ywEIMQ*) NIM_NIL));
  			if (T12_) goto LA13_;
  			if ((*p).outStream && !isObj((*(*p).outStream).Sup.m_type, (&NTI__Uwf6VGZy4JPKquxCiOCalQ_))){ raiseObjectConversionError(); }
  			T12_ = !(((*(*((tyObject_FileHandleStreamcolonObjectType___Uwf6VGZy4JPKquxCiOCalQ**) (&((*p).outStream))))).handle == ((NI) -1)));
  			LA13_: ;
  			if (!!(T12_)) goto LA14_;
  			failedAssertImpl__W9cjVocn1tjhW7p7xohJj6A(((NimStringDesc*) &TM__HZdw8BhppcTQo8DIK46LSg_22));
  		}
  		LA14_: ;
  		{
  			NIM_BOOL T18_;
  			T18_ = (NIM_BOOL)0;
  			T18_ = ((*p).errStream == ((tyObject_StreamObj__THYguAi9bSgidczZ3ywEIMQ*) NIM_NIL));
  			if (T18_) goto LA19_;
  			if ((*p).errStream && !isObj((*(*p).errStream).Sup.m_type, (&NTI__Uwf6VGZy4JPKquxCiOCalQ_))){ raiseObjectConversionError(); }
  			T18_ = !(((*(*((tyObject_FileHandleStreamcolonObjectType___Uwf6VGZy4JPKquxCiOCalQ**) (&((*p).errStream))))).handle == ((NI) -1)));
  			LA19_: ;
  			if (!!(T18_)) goto LA20_;
  			failedAssertImpl__W9cjVocn1tjhW7p7xohJj6A(((NimStringDesc*) &TM__HZdw8BhppcTQo8DIK46LSg_23));
  		}
  		LA20_: ;
  		{
  			if (!!(((*p).outHandle == (*p).errHandle))) goto LA24_;
  			fileClose__9bOry9asxWZNxvyJ0bR6XMnAosproc((&(*p).errHandle));
  		}
  		LA24_: ;
  		fileClose__9bOry9asxWZNxvyJ0bR6XMnAosproc((&(*p).outHandle));
  	}
  	LA3_: ;
  	closeThreadAndProcessHandle__wC5pQetFtdS7o0xCFNakqg(p);
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_ProcessObj__2rGNQnv9bU4hanI2g3svReg*, nospstartProcess)(NimStringDesc* command, NimStringDesc* workingDir, NimStringDesc** args, NI argsLen_0, tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* env, tySet_tyEnum_ProcessOption__bnU6W8LhTMnT4JaSWtGlSA options) {
  	tyObject_ProcessObj__2rGNQnv9bU4hanI2g3svReg* result;
  	tyObject_STARTUPINFO__WGlpKvY9cdd69bAwMQMNLYoQ si;
  	tyObject_PROCESS_INFORMATION__rpgAdaffN9b79bo2kEQiFsMg procInfo;
  	NI success;
  	NI hi;
  	NI ho;
  	NI he;
  	NCSTRING cmdl;
  	NimStringDesc* cmdRoot;
  	NCSTRING wd;
  	tyTuple__0hEbbYmlam6yzyW5MFo9cjg e;
  	NI16* tmp;
  	NI16* ee;
  	NI16* wwd;
  	NI32 flags;
  	NI32 T65_;
  	NI32 lastError;
  	result = (tyObject_ProcessObj__2rGNQnv9bU4hanI2g3svReg*)0;
  	nimZeroMem((void*)(&si), sizeof(tyObject_STARTUPINFO__WGlpKvY9cdd69bAwMQMNLYoQ));
  	nimZeroMem((void*)(&procInfo), sizeof(tyObject_PROCESS_INFORMATION__rpgAdaffN9b79bo2kEQiFsMg));
  	success = (NI)0;
  	hi = (NI)0;
  	ho = (NI)0;
  	he = (NI)0;
  	result = (tyObject_ProcessObj__2rGNQnv9bU4hanI2g3svReg*) newObj((&NTI__lw7iqc9cC7bi1oOZOAlJkJA_), sizeof(tyObject_ProcessObj__2rGNQnv9bU4hanI2g3svReg));
  	(*result).Sup.m_type = (&NTI__2rGNQnv9bU4hanI2g3svReg_);
  	(*result).options = options;
  	(*result).exitFlag = NIM_TRUE;
  	si.cb = ((int) 104);
  	{
  		if (!!(((options &((NU8)1<<((NU)(((tyEnum_ProcessOption__bnU6W8LhTMnT4JaSWtGlSA) 4))&7U)))!=0))) goto LA3_;
  		si.dwFlags = ((NI32) 256);
  		{
  			if (!!(((options &((NU8)1<<((NU)(((tyEnum_ProcessOption__bnU6W8LhTMnT4JaSWtGlSA) 5))&7U)))!=0))) goto LA7_;
  			createPipeHandles__pEMvHI27xToxFqXWQKj9cEg((&si.hStdInput), (&hi));
  			createPipeHandles__pEMvHI27xToxFqXWQKj9cEg((&ho), (&si.hStdOutput));
  			{
  				if (!((options &((NU8)1<<((NU)(((tyEnum_ProcessOption__bnU6W8LhTMnT4JaSWtGlSA) 3))&7U)))!=0)) goto LA11_;
  				si.hStdError = si.hStdOutput;
  				he = ho;
  			}
  			goto LA9_;
  			LA11_: ;
  			{
  				createPipeHandles__pEMvHI27xToxFqXWQKj9cEg((&he), (&si.hStdError));
  				{
  					NI32 T16_;
  					NI32 T19_;
  					T16_ = (NI32)0;
  					T16_ = Dl_13818581_(he, ((NI32) 1), ((NI32) 0));
  					if (!(T16_ == ((NI32) 0))) goto LA17_;
  					T19_ = (NI32)0;
  					T19_ = osLastError__9bUWNxbcGnToMWA9b79aTXLIw();
  					raiseOSError__CWyPYlyH9a6rAuZckFyVxPA(T19_, ((NimStringDesc*) NIM_NIL));
  				}
  				LA17_: ;
  			}
  			LA9_: ;
  			{
  				NI32 T22_;
  				NI32 T25_;
  				T22_ = (NI32)0;
  				T22_ = Dl_13818581_(hi, ((NI32) 1), ((NI32) 0));
  				if (!(T22_ == ((NI32) 0))) goto LA23_;
  				T25_ = (NI32)0;
  				T25_ = osLastError__9bUWNxbcGnToMWA9b79aTXLIw();
  				raiseOSError__CWyPYlyH9a6rAuZckFyVxPA(T25_, ((NimStringDesc*) NIM_NIL));
  			}
  			LA23_: ;
  			{
  				NI32 T28_;
  				NI32 T31_;
  				T28_ = (NI32)0;
  				T28_ = Dl_13818581_(ho, ((NI32) 1), ((NI32) 0));
  				if (!(T28_ == ((NI32) 0))) goto LA29_;
  				T31_ = (NI32)0;
  				T31_ = osLastError__9bUWNxbcGnToMWA9b79aTXLIw();
  				raiseOSError__CWyPYlyH9a6rAuZckFyVxPA(T31_, ((NimStringDesc*) NIM_NIL));
  			}
  			LA29_: ;
  		}
  		goto LA5_;
  		LA7_: ;
  		{
  			createAllPipeHandles__kvVk9ctrS43oFgoEN4H4sKQ((&si), (&hi), (&ho), (&he), ((NI) (result)));
  		}
  		LA5_: ;
  		if ((hi) < ((int) (-2147483647 -1)) || (hi) > ((int) 2147483647)){ raiseRangeErrorI(hi, ((int) (-2147483647 -1)), ((int) 2147483647)); }
  		(*result).inHandle = ((int) (hi));
  		if ((ho) < ((int) (-2147483647 -1)) || (ho) > ((int) 2147483647)){ raiseRangeErrorI(ho, ((int) (-2147483647 -1)), ((int) 2147483647)); }
  		(*result).outHandle = ((int) (ho));
  		if ((he) < ((int) (-2147483647 -1)) || (he) > ((int) 2147483647)){ raiseRangeErrorI(he, ((int) (-2147483647 -1)), ((int) 2147483647)); }
  		(*result).errHandle = ((int) (he));
  	}
  	goto LA1_;
  	LA3_: ;
  	{
  		si.hStdError = Dl_13816820_(((NI32) -12));
  		si.hStdInput = Dl_13816820_(((NI32) -10));
  		si.hStdOutput = Dl_13816820_(((NI32) -11));
  		if ((si.hStdInput) < ((int) (-2147483647 -1)) || (si.hStdInput) > ((int) 2147483647)){ raiseRangeErrorI(si.hStdInput, ((int) (-2147483647 -1)), ((int) 2147483647)); }
  		(*result).inHandle = ((int) (si.hStdInput));
  		if ((si.hStdOutput) < ((int) (-2147483647 -1)) || (si.hStdOutput) > ((int) 2147483647)){ raiseRangeErrorI(si.hStdOutput, ((int) (-2147483647 -1)), ((int) 2147483647)); }
  		(*result).outHandle = ((int) (si.hStdOutput));
  		if ((si.hStdError) < ((int) (-2147483647 -1)) || (si.hStdError) > ((int) 2147483647)){ raiseRangeErrorI(si.hStdError, ((int) (-2147483647 -1)), ((int) 2147483647)); }
  		(*result).errHandle = ((int) (si.hStdError));
  	}
  	LA1_: ;
  	cmdl = (NCSTRING)0;
  	cmdRoot = (NimStringDesc*)0;
  	{
  		if (!((options &((NU8)1<<((NU)(((tyEnum_ProcessOption__bnU6W8LhTMnT4JaSWtGlSA) 2))&7U)))!=0)) goto LA36_;
  		cmdl = nimToCStringConv(command);
  		{
  			if (!!((argsLen_0 == ((NI) 0)))) goto LA40_;
  			failedAssertImpl__W9cjVocn1tjhW7p7xohJj6A(((NimStringDesc*) &TM__HZdw8BhppcTQo8DIK46LSg_8));
  		}
  		LA40_: ;
  	}
  	goto LA34_;
  	LA36_: ;
  	{
  		cmdRoot = buildCommandLine__UDw4GM1E9cGPJc4ElZzKCgg(command, args, argsLen_0);
  		cmdl = nimToCStringConv(cmdRoot);
  	}
  	LA34_: ;
  	wd = ((NCSTRING) NIM_NIL);
  	e = TM__HZdw8BhppcTQo8DIK46LSg_10;
  	{
  		if (!(((NI) 0) < (workingDir ? workingDir->Sup.len : 0))) goto LA45_;
  		wd = nimToCStringConv(workingDir);
  	}
  	LA45_: ;
  	{
  		if (!!((env == ((tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg*) NIM_NIL)))) goto LA49_;
  		e = buildEnv__YMjuewsJgp315PbogSaL0w(env);
  	}
  	LA49_: ;
  	{
  		tyArray__nHXaesL0DJZHyVS07ARPRA T55_;
  		if (!((options &((NU8)1<<((NU)(((tyEnum_ProcessOption__bnU6W8LhTMnT4JaSWtGlSA) 0))&7U)))!=0)) goto LA53_;
  		nimZeroMem((void*)T55_, sizeof(tyArray__nHXaesL0DJZHyVS07ARPRA));
  		T55_[0] = cstrToNimstr(cmdl);
  		echoBinSafe(T55_, 1);
  	}
  	LA53_: ;
  	tmp = newWideCString__G8rSmf9akUNUzuZWlrfFAmA(cmdl);
  	{
  		if (!(e.Field0 == 0)) goto LA58_;
  		ee = newWideCString__G8rSmf9akUNUzuZWlrfFAmA(((NCSTRING) NIM_NIL));
  	}
  	goto LA56_;
  	LA58_: ;
  	{
  		ee = newWideCString__K8rR70TBwrP6FNBzDhVVOA(e.Field0, e.Field1);
  	}
  	LA56_: ;
  	wwd = newWideCString__G8rSmf9akUNUzuZWlrfFAmA(wd);
  	flags = ((NI32) 1056);
  	{
  		if (!((options &((NU8)1<<((NU)(((tyEnum_ProcessOption__bnU6W8LhTMnT4JaSWtGlSA) 6))&7U)))!=0)) goto LA63_;
  		flags = (NI32)(flags | ((NI32) 134217728));
  	}
  	LA63_: ;
  	T65_ = (NI32)0;
  	T65_ = Dl_13816592_(((NI16*) NIM_NIL), tmp, ((tyObject_SECURITY_ATTRIBUTES__P4HW9ceaevTBZ5O3kGC8yyw*) NIM_NIL), ((tyObject_SECURITY_ATTRIBUTES__P4HW9ceaevTBZ5O3kGC8yyw*) NIM_NIL), ((NI32) 1), flags, ee, wwd, (&si), (&procInfo));
  	success = ((NI) (T65_));
  	lastError = osLastError__9bUWNxbcGnToMWA9b79aTXLIw();
  	{
  		if (!!(((options &((NU8)1<<((NU)(((tyEnum_ProcessOption__bnU6W8LhTMnT4JaSWtGlSA) 4))&7U)))!=0))) goto LA68_;
  		fileClose__its9avsPxbi5pbb6ijc1Pugosproc((&si.hStdInput));
  		fileClose__its9avsPxbi5pbb6ijc1Pugosproc((&si.hStdOutput));
  		{
  			if (!!(((options &((NU8)1<<((NU)(((tyEnum_ProcessOption__bnU6W8LhTMnT4JaSWtGlSA) 3))&7U)))!=0))) goto LA72_;
  			fileClose__its9avsPxbi5pbb6ijc1Pugosproc((&si.hStdError));
  		}
  		LA72_: ;
  	}
  	LA68_: ;
  	{
  		NIM_BOOL T76_;
  		T76_ = (NIM_BOOL)0;
  		T76_ = eqeq___aqip9cmQIuefPKdd25wuEEwsystem(e.Field0, ((NCSTRING) NIM_NIL));
  		if (!!(T76_)) goto LA77_;
  		dealloc(((void*) (e.Field0)));
  	}
  	LA77_: ;
  	{
  		if (!(success == ((NI) 0))) goto LA81_;
  		{
  			if (!(((*result).options &((NU8)1<<((NU)(((tyEnum_ProcessOption__bnU6W8LhTMnT4JaSWtGlSA) 5))&7U)))!=0)) goto LA85_;
  			nospclose(result);
  		}
  		LA85_: ;
  		{
  			NimStringDesc* T91_;
  			if (!(((NI) (lastError)) == ((NI) 87) || ((NI) (lastError)) == ((NI) 2))) goto LA89_;
  			T91_ = (NimStringDesc*)0;
  			T91_ = nsuFormatSingleElem(((NimStringDesc*) &TM__HZdw8BhppcTQo8DIK46LSg_24), command);
  			raiseOSError__CWyPYlyH9a6rAuZckFyVxPA(lastError, T91_);
  		}
  		goto LA87_;
  		LA89_: ;
  		{
  			raiseOSError__CWyPYlyH9a6rAuZckFyVxPA(lastError, command);
  		}
  		LA87_: ;
  	}
  	LA81_: ;
  	(*result).fProcessHandle = procInfo.hProcess;
  	(*result).fThreadHandle = procInfo.hThread;
  	(*result).id = ((NI) (procInfo.dwProcessId));
  	(*result).exitFlag = NIM_FALSE;
  	return result;
  }
  static N_NIMCALL(void, Marker_tyRef__DpwKsN2DZCVvNvk72L1fXA)(void* p, NI op) {
  	tyObject_FileHandleStreamcolonObjectType___Uwf6VGZy4JPKquxCiOCalQ* a;
  	a = (tyObject_FileHandleStreamcolonObjectType___Uwf6VGZy4JPKquxCiOCalQ*)p;
  }
  N_LIB_PRIVATE N_NIMCALL(void, hsClose__oPbW7ACy7eRAx59c1YwEtTg)(tyObject_StreamObj__THYguAi9bSgidczZ3ywEIMQ* s) {
  	if (s && !isObj((*s).Sup.m_type, (&NTI__Uwf6VGZy4JPKquxCiOCalQ_))){ raiseObjectConversionError(); }
  	fileClose__its9avsPxbi5pbb6ijc1Pugosproc((&(*((tyObject_FileHandleStreamcolonObjectType___Uwf6VGZy4JPKquxCiOCalQ*) (s))).handle));
  }
  N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hsAtEnd__9ca7oC9acOy2p6f3mDJ1qajg)(tyObject_StreamObj__THYguAi9bSgidczZ3ywEIMQ* s) {
  	NIM_BOOL result;
  {	result = (NIM_BOOL)0;
  	if (s && !isObj((*s).Sup.m_type, (&NTI__Uwf6VGZy4JPKquxCiOCalQ_))){ raiseObjectConversionError(); }
  	result = (*((tyObject_FileHandleStreamcolonObjectType___Uwf6VGZy4JPKquxCiOCalQ*) (s))).atTheEnd;
  	goto BeforeRet_;
  	}BeforeRet_: ;
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(NI, hsReadData__Eqw0t3y0Q32IKnOJhWE9bpA)(tyObject_StreamObj__THYguAi9bSgidczZ3ywEIMQ* s, void* buffer, NI bufLen) {
  	NI result;
  	tyObject_FileHandleStreamcolonObjectType___Uwf6VGZy4JPKquxCiOCalQ* s_2;
  	NI32 br;
  	NI32 a;
  {	result = (NI)0;
  	if (s && !isObj((*s).Sup.m_type, (&NTI__Uwf6VGZy4JPKquxCiOCalQ_))){ raiseObjectConversionError(); }
  	s_2 = ((tyObject_FileHandleStreamcolonObjectType___Uwf6VGZy4JPKquxCiOCalQ*) (s));
  	{
  		if (!(*s_2).atTheEnd) goto LA3_;
  		result = ((NI) 0);
  		goto BeforeRet_;
  	}
  	LA3_: ;
  	br = (NI32)0;
  	if ((bufLen) < ((int) (-2147483647 -1)) || (bufLen) > ((int) 2147483647)){ raiseRangeErrorI(bufLen, ((int) (-2147483647 -1)), ((int) 2147483647)); }
  	a = Dl_13816546_((*s_2).handle, buffer, ((int) (bufLen)), (&br), NIM_NIL);
  	{
  		NIM_BOOL T7_;
  		NI32 T11_;
  		T7_ = (NIM_BOOL)0;
  		T7_ = (a == ((NI32) 0));
  		if (!(T7_)) goto LA8_;
  		T7_ = !((br == ((NI32) 0)));
  		LA8_: ;
  		if (!T7_) goto LA9_;
  		T11_ = (NI32)0;
  		T11_ = osLastError__9bUWNxbcGnToMWA9b79aTXLIw();
  		raiseOSError__CWyPYlyH9a6rAuZckFyVxPA(T11_, ((NimStringDesc*) NIM_NIL));
  	}
  	LA9_: ;
  	(*s_2).atTheEnd = (br == ((NI32) 0));
  	result = ((NI) (br));
  	}BeforeRet_: ;
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(void, hsWriteData__gg4mJT09aHz5xAJ18sD13Yg)(tyObject_StreamObj__THYguAi9bSgidczZ3ywEIMQ* s, void* buffer, NI bufLen) {
  	tyObject_FileHandleStreamcolonObjectType___Uwf6VGZy4JPKquxCiOCalQ* s_2;
  	NI32 bytesWritten;
  	NI32 a;
  	if (s && !isObj((*s).Sup.m_type, (&NTI__Uwf6VGZy4JPKquxCiOCalQ_))){ raiseObjectConversionError(); }
  	s_2 = ((tyObject_FileHandleStreamcolonObjectType___Uwf6VGZy4JPKquxCiOCalQ*) (s));
  	bytesWritten = (NI32)0;
  	if ((bufLen) < ((int) (-2147483647 -1)) || (bufLen) > ((int) 2147483647)){ raiseRangeErrorI(bufLen, ((int) (-2147483647 -1)), ((int) 2147483647)); }
  	a = Dl_13816554_((*s_2).handle, buffer, ((int) (bufLen)), (&bytesWritten), NIM_NIL);
  	{
  		NI32 T5_;
  		if (!(a == ((NI32) 0))) goto LA3_;
  		T5_ = (NI32)0;
  		T5_ = osLastError__9bUWNxbcGnToMWA9b79aTXLIw();
  		raiseOSError__CWyPYlyH9a6rAuZckFyVxPA(T5_, ((NimStringDesc*) NIM_NIL));
  	}
  	LA3_: ;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_FileHandleStreamcolonObjectType___Uwf6VGZy4JPKquxCiOCalQ*, newFileHandleStream__5UjA3OiL9c38tzpjsTItGlA)(NI handle) {
  	tyObject_FileHandleStreamcolonObjectType___Uwf6VGZy4JPKquxCiOCalQ* result;
  	result = (tyObject_FileHandleStreamcolonObjectType___Uwf6VGZy4JPKquxCiOCalQ*)0;
  	result = (tyObject_FileHandleStreamcolonObjectType___Uwf6VGZy4JPKquxCiOCalQ*) newObj((&NTI__DpwKsN2DZCVvNvk72L1fXA_), sizeof(tyObject_FileHandleStreamcolonObjectType___Uwf6VGZy4JPKquxCiOCalQ));
  	(*result).Sup.Sup.m_type = (&NTI__Uwf6VGZy4JPKquxCiOCalQ_);
  	(*result).handle = handle;
  	(*result).Sup.closeImpl = hsClose__oPbW7ACy7eRAx59c1YwEtTg;
  	(*result).Sup.atEndImpl = hsAtEnd__9ca7oC9acOy2p6f3mDJ1qajg;
  	(*result).Sup.readDataImpl = hsReadData__Eqw0t3y0Q32IKnOJhWE9bpA;
  	(*result).Sup.writeDataImpl = hsWriteData__gg4mJT09aHz5xAJ18sD13Yg;
  	return result;
  }
  static N_INLINE(NI, pluspercent___dgYAo7RfdUVVpvkfKDym8wsystem)(NI x, NI y) {
  	NI result;
  	result = (NI)0;
  	result = ((NI) ((NU)((NU64)(((NU) (x))) + (NU64)(((NU) (y))))));
  	return result;
  }
  static N_INLINE(void, incRef__AT1eRuflKWyTTBdLjEDZbg_3system)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
  	(*c).refcount = pluspercent___dgYAo7RfdUVVpvkfKDym8wsystem((*c).refcount, ((NI) 8));
  }
  static N_INLINE(NI, minuspercent___dgYAo7RfdUVVpvkfKDym8w_2system)(NI x, NI y) {
  	NI result;
  	result = (NI)0;
  	result = ((NI) ((NU)((NU64)(((NU) (x))) - (NU64)(((NU) (y))))));
  	return result;
  }
  static N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*, usrToCell__QFQqcLB3lgOdwipkv9a60xwsystem)(void* usr) {
  	tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* result;
  	NI T1_;
  	result = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
  	T1_ = (NI)0;
  	T1_ = minuspercent___dgYAo7RfdUVVpvkfKDym8w_2system(((NI) (ptrdiff_t) (usr)), ((NI) 16));
  	result = ((tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*) (T1_));
  	return result;
  }
  static N_INLINE(NIM_BOOL, ltpercent___hPljn3JCDQ00ua1R07X9bxQsystem)(NI x, NI y) {
  	NIM_BOOL result;
  	result = (NIM_BOOL)0;
  	result = ((NU64)(((NU) (x))) < (NU64)(((NU) (y))));
  	return result;
  }
  static N_INLINE(void, rtlAddZCT__AT1eRuflKWyTTBdLjEDZbg_2system)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
  	addZCT__Y66tOYFjgwJ0k4aLz4bc0Q((&gch__IcYaEuuWivYAS86vFMTS3Q.zct), c);
  }
  static N_INLINE(void, decRef__AT1eRuflKWyTTBdLjEDZbgsystem)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
  	(*c).refcount = minuspercent___dgYAo7RfdUVVpvkfKDym8w_2system((*c).refcount, ((NI) 8));
  	{
  		NIM_BOOL T3_;
  		T3_ = (NIM_BOOL)0;
  		T3_ = ltpercent___hPljn3JCDQ00ua1R07X9bxQsystem((*c).refcount, ((NI) 8));
  		if (!T3_) goto LA4_;
  		rtlAddZCT__AT1eRuflKWyTTBdLjEDZbg_2system(c);
  	}
  	LA4_: ;
  }
  static N_INLINE(void, asgnRef)(void** dest, void* src) {
  	{
  		tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T5_;
  		if (!!((src == NIM_NIL))) goto LA3_;
  		T5_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
  		T5_ = usrToCell__QFQqcLB3lgOdwipkv9a60xwsystem(src);
  		incRef__AT1eRuflKWyTTBdLjEDZbg_3system(T5_);
  	}
  	LA3_: ;
  	{
  		tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T10_;
  		if (!!(((*dest) == NIM_NIL))) goto LA8_;
  		T10_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
  		T10_ = usrToCell__QFQqcLB3lgOdwipkv9a60xwsystem((*dest));
  		decRef__AT1eRuflKWyTTBdLjEDZbgsystem(T10_);
  	}
  	LA8_: ;
  	(*dest) = src;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_StreamObj__THYguAi9bSgidczZ3ywEIMQ*, nospinputStream)(tyObject_ProcessObj__2rGNQnv9bU4hanI2g3svReg* p) {
  	tyObject_StreamObj__THYguAi9bSgidczZ3ywEIMQ* result;
  	result = (tyObject_StreamObj__THYguAi9bSgidczZ3ywEIMQ*)0;
  	{
  		if (!!(!((((*p).options &((NU8)1<<((NU)(((tyEnum_ProcessOption__bnU6W8LhTMnT4JaSWtGlSA) 4))&7U)))!=0)))) goto LA3_;
  		failedAssertImpl__W9cjVocn1tjhW7p7xohJj6A(((NimStringDesc*) &TM__HZdw8BhppcTQo8DIK46LSg_25));
  	}
  	LA3_: ;
  	{
  		tyObject_FileHandleStreamcolonObjectType___Uwf6VGZy4JPKquxCiOCalQ* T9_;
  		if (!((*p).inStream == ((tyObject_StreamObj__THYguAi9bSgidczZ3ywEIMQ*) NIM_NIL))) goto LA7_;
  		T9_ = (tyObject_FileHandleStreamcolonObjectType___Uwf6VGZy4JPKquxCiOCalQ*)0;
  		T9_ = newFileHandleStream__5UjA3OiL9c38tzpjsTItGlA(((NI) ((*p).inHandle)));
  		asgnRef((void**) (&(*p).inStream), &T9_->Sup);
  	}
  	LA7_: ;
  	result = (*p).inStream;
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_StreamObj__THYguAi9bSgidczZ3ywEIMQ*, nospoutputStream)(tyObject_ProcessObj__2rGNQnv9bU4hanI2g3svReg* p) {
  	tyObject_StreamObj__THYguAi9bSgidczZ3ywEIMQ* result;
  	result = (tyObject_StreamObj__THYguAi9bSgidczZ3ywEIMQ*)0;
  	{
  		if (!!(!((((*p).options &((NU8)1<<((NU)(((tyEnum_ProcessOption__bnU6W8LhTMnT4JaSWtGlSA) 4))&7U)))!=0)))) goto LA3_;
  		failedAssertImpl__W9cjVocn1tjhW7p7xohJj6A(((NimStringDesc*) &TM__HZdw8BhppcTQo8DIK46LSg_26));
  	}
  	LA3_: ;
  	{
  		tyObject_FileHandleStreamcolonObjectType___Uwf6VGZy4JPKquxCiOCalQ* T9_;
  		if (!((*p).outStream == ((tyObject_StreamObj__THYguAi9bSgidczZ3ywEIMQ*) NIM_NIL))) goto LA7_;
  		T9_ = (tyObject_FileHandleStreamcolonObjectType___Uwf6VGZy4JPKquxCiOCalQ*)0;
  		T9_ = newFileHandleStream__5UjA3OiL9c38tzpjsTItGlA(((NI) ((*p).outHandle)));
  		asgnRef((void**) (&(*p).outStream), &T9_->Sup);
  	}
  	LA7_: ;
  	result = (*p).outStream;
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_StreamObj__THYguAi9bSgidczZ3ywEIMQ*, nosperrorStream)(tyObject_ProcessObj__2rGNQnv9bU4hanI2g3svReg* p) {
  	tyObject_StreamObj__THYguAi9bSgidczZ3ywEIMQ* result;
  	result = (tyObject_StreamObj__THYguAi9bSgidczZ3ywEIMQ*)0;
  	{
  		if (!!(!((((*p).options &((NU8)1<<((NU)(((tyEnum_ProcessOption__bnU6W8LhTMnT4JaSWtGlSA) 4))&7U)))!=0)))) goto LA3_;
  		failedAssertImpl__W9cjVocn1tjhW7p7xohJj6A(((NimStringDesc*) &TM__HZdw8BhppcTQo8DIK46LSg_27));
  	}
  	LA3_: ;
  	{
  		tyObject_FileHandleStreamcolonObjectType___Uwf6VGZy4JPKquxCiOCalQ* T9_;
  		if (!((*p).errStream == ((tyObject_StreamObj__THYguAi9bSgidczZ3ywEIMQ*) NIM_NIL))) goto LA7_;
  		T9_ = (tyObject_FileHandleStreamcolonObjectType___Uwf6VGZy4JPKquxCiOCalQ*)0;
  		T9_ = newFileHandleStream__5UjA3OiL9c38tzpjsTItGlA(((NI) ((*p).errHandle)));
  		asgnRef((void**) (&(*p).errStream), &T9_->Sup);
  	}
  	LA7_: ;
  	result = (*p).errStream;
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, nosprunning)(tyObject_ProcessObj__2rGNQnv9bU4hanI2g3svReg* p) {
  	NIM_BOOL result;
  {	result = (NIM_BOOL)0;
  	{
  		if (!(*p).exitFlag) goto LA3_;
  		result = NIM_FALSE;
  		goto BeforeRet_;
  	}
  	goto LA1_;
  	LA3_: ;
  	{
  		NI32 x;
  		x = Dl_13816807_((*p).fProcessHandle, ((NI32) 0));
  		result = (x == ((NI32) 258));
  		goto BeforeRet_;
  	}
  	LA1_: ;
  	}BeforeRet_: ;
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(void, nospterminate)(tyObject_ProcessObj__2rGNQnv9bU4hanI2g3svReg* p) {
  	{
  		NIM_BOOL T3_;
  		NI32 T6_;
  		T3_ = (NIM_BOOL)0;
  		T3_ = nosprunning(p);
  		if (!T3_) goto LA4_;
  		T6_ = (NI32)0;
  		T6_ = Dl_13816811_((*p).fProcessHandle, ((NI) 0));
  		(void)(T6_);
  	}
  	LA4_: ;
  }
  N_LIB_PRIVATE N_NIMCALL(void, nospkill)(tyObject_ProcessObj__2rGNQnv9bU4hanI2g3svReg* p) {
  	nospterminate(p);
  }
  N_LIB_PRIVATE N_NIMCALL(NI, nosppeekExitCode)(tyObject_ProcessObj__2rGNQnv9bU4hanI2g3svReg* p) {
  	NI result;
  	NIM_BOOL b;
  	NI32 T5_;
  {	result = (NI)0;
  	{
  		if (!(*p).exitFlag) goto LA3_;
  		result = ((NI) ((*p).exitStatus));
  		goto BeforeRet_;
  	}
  	LA3_: ;
  	result = ((NI) -1);
  	T5_ = (NI32)0;
  	T5_ = Dl_13816807_((*p).fProcessHandle, ((NI32) 0));
  	b = (T5_ == ((NI32) 258));
  	{
  		NI32 status;
  		NI32 T10_;
  		if (!!(b)) goto LA8_;
  		status = (NI32)0;
  		T10_ = (NI32)0;
  		T10_ = Dl_13816815_((*p).fProcessHandle, (&status));
  		(void)(T10_);
  		(*p).exitFlag = NIM_TRUE;
  		(*p).exitStatus = status;
  		closeThreadAndProcessHandle__wC5pQetFtdS7o0xCFNakqg(p);
  		result = ((NI) (status));
  	}
  	LA8_: ;
  	}BeforeRet_: ;
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(NI, nospprocessID)(tyObject_ProcessObj__2rGNQnv9bU4hanI2g3svReg* p) {
  	NI result;
  {	result = (NI)0;
  	result = (*p).id;
  	goto BeforeRet_;
  	}BeforeRet_: ;
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(void, stdlib_osprocDatInit000)(void) {
  
  /* section: NIM_merge_TYPE_INIT1 */
  static TNimNode* TM__HZdw8BhppcTQo8DIK46LSg_2_12[12];
  static TNimNode* TM__HZdw8BhppcTQo8DIK46LSg_3_7[7];
  NI TM__HZdw8BhppcTQo8DIK46LSg_5;
  static char* NIM_CONST TM__HZdw8BhppcTQo8DIK46LSg_4[7] = {
  "poEchoCmd", 
  "poUsePath", 
  "poEvalCommand", 
  "poStdErrToStdOut", 
  "poParentStreams", 
  "poInteractive", 
  "poDaemon"};
  static TNimNode* TM__HZdw8BhppcTQo8DIK46LSg_21_2[2];
  static TNimNode TM__HZdw8BhppcTQo8DIK46LSg_0[25];
  
  /* section: NIM_merge_TYPE_INIT3 */
  NTI__2rGNQnv9bU4hanI2g3svReg_.size = sizeof(tyObject_ProcessObj__2rGNQnv9bU4hanI2g3svReg);
  NTI__2rGNQnv9bU4hanI2g3svReg_.align = NIM_ALIGNOF(tyObject_ProcessObj__2rGNQnv9bU4hanI2g3svReg);
  NTI__2rGNQnv9bU4hanI2g3svReg_.kind = 17;
  NTI__2rGNQnv9bU4hanI2g3svReg_.base = (&NTI__ytyiCJqK439aF9cIibuRVpAg_);
  TM__HZdw8BhppcTQo8DIK46LSg_2_12[0] = &TM__HZdw8BhppcTQo8DIK46LSg_0[1];
  TM__HZdw8BhppcTQo8DIK46LSg_0[1].kind = 1;
  TM__HZdw8BhppcTQo8DIK46LSg_0[1].offset = offsetof(tyObject_ProcessObj__2rGNQnv9bU4hanI2g3svReg, fProcessHandle);
  TM__HZdw8BhppcTQo8DIK46LSg_0[1].typ = (&NTI__rR5Bzr1D5krxoo1NcNyeMA_);
  TM__HZdw8BhppcTQo8DIK46LSg_0[1].name = "fProcessHandle";
  TM__HZdw8BhppcTQo8DIK46LSg_2_12[1] = &TM__HZdw8BhppcTQo8DIK46LSg_0[2];
  TM__HZdw8BhppcTQo8DIK46LSg_0[2].kind = 1;
  TM__HZdw8BhppcTQo8DIK46LSg_0[2].offset = offsetof(tyObject_ProcessObj__2rGNQnv9bU4hanI2g3svReg, fThreadHandle);
  TM__HZdw8BhppcTQo8DIK46LSg_0[2].typ = (&NTI__rR5Bzr1D5krxoo1NcNyeMA_);
  TM__HZdw8BhppcTQo8DIK46LSg_0[2].name = "fThreadHandle";
  TM__HZdw8BhppcTQo8DIK46LSg_2_12[2] = &TM__HZdw8BhppcTQo8DIK46LSg_0[3];
  TM__HZdw8BhppcTQo8DIK46LSg_0[3].kind = 1;
  TM__HZdw8BhppcTQo8DIK46LSg_0[3].offset = offsetof(tyObject_ProcessObj__2rGNQnv9bU4hanI2g3svReg, inHandle);
  TM__HZdw8BhppcTQo8DIK46LSg_0[3].typ = (&NTI__2gIj3gQlK3HZJjQaYCP6ZQ_);
  TM__HZdw8BhppcTQo8DIK46LSg_0[3].name = "inHandle";
  TM__HZdw8BhppcTQo8DIK46LSg_2_12[3] = &TM__HZdw8BhppcTQo8DIK46LSg_0[4];
  TM__HZdw8BhppcTQo8DIK46LSg_0[4].kind = 1;
  TM__HZdw8BhppcTQo8DIK46LSg_0[4].offset = offsetof(tyObject_ProcessObj__2rGNQnv9bU4hanI2g3svReg, outHandle);
  TM__HZdw8BhppcTQo8DIK46LSg_0[4].typ = (&NTI__2gIj3gQlK3HZJjQaYCP6ZQ_);
  TM__HZdw8BhppcTQo8DIK46LSg_0[4].name = "outHandle";
  TM__HZdw8BhppcTQo8DIK46LSg_2_12[4] = &TM__HZdw8BhppcTQo8DIK46LSg_0[5];
  TM__HZdw8BhppcTQo8DIK46LSg_0[5].kind = 1;
  TM__HZdw8BhppcTQo8DIK46LSg_0[5].offset = offsetof(tyObject_ProcessObj__2rGNQnv9bU4hanI2g3svReg, errHandle);
  TM__HZdw8BhppcTQo8DIK46LSg_0[5].typ = (&NTI__2gIj3gQlK3HZJjQaYCP6ZQ_);
  TM__HZdw8BhppcTQo8DIK46LSg_0[5].name = "errHandle";
  TM__HZdw8BhppcTQo8DIK46LSg_2_12[5] = &TM__HZdw8BhppcTQo8DIK46LSg_0[6];
  TM__HZdw8BhppcTQo8DIK46LSg_0[6].kind = 1;
  TM__HZdw8BhppcTQo8DIK46LSg_0[6].offset = offsetof(tyObject_ProcessObj__2rGNQnv9bU4hanI2g3svReg, id);
  TM__HZdw8BhppcTQo8DIK46LSg_0[6].typ = (&NTI__rR5Bzr1D5krxoo1NcNyeMA_);
  TM__HZdw8BhppcTQo8DIK46LSg_0[6].name = "id";
  TM__HZdw8BhppcTQo8DIK46LSg_2_12[6] = &TM__HZdw8BhppcTQo8DIK46LSg_0[7];
  TM__HZdw8BhppcTQo8DIK46LSg_0[7].kind = 1;
  TM__HZdw8BhppcTQo8DIK46LSg_0[7].offset = offsetof(tyObject_ProcessObj__2rGNQnv9bU4hanI2g3svReg, inStream);
  TM__HZdw8BhppcTQo8DIK46LSg_0[7].typ = (&NTI__1G0jiQbe7KwD5ADza5AZaw_);
  TM__HZdw8BhppcTQo8DIK46LSg_0[7].name = "inStream";
  TM__HZdw8BhppcTQo8DIK46LSg_2_12[7] = &TM__HZdw8BhppcTQo8DIK46LSg_0[8];
  TM__HZdw8BhppcTQo8DIK46LSg_0[8].kind = 1;
  TM__HZdw8BhppcTQo8DIK46LSg_0[8].offset = offsetof(tyObject_ProcessObj__2rGNQnv9bU4hanI2g3svReg, outStream);
  TM__HZdw8BhppcTQo8DIK46LSg_0[8].typ = (&NTI__1G0jiQbe7KwD5ADza5AZaw_);
  TM__HZdw8BhppcTQo8DIK46LSg_0[8].name = "outStream";
  TM__HZdw8BhppcTQo8DIK46LSg_2_12[8] = &TM__HZdw8BhppcTQo8DIK46LSg_0[9];
  TM__HZdw8BhppcTQo8DIK46LSg_0[9].kind = 1;
  TM__HZdw8BhppcTQo8DIK46LSg_0[9].offset = offsetof(tyObject_ProcessObj__2rGNQnv9bU4hanI2g3svReg, errStream);
  TM__HZdw8BhppcTQo8DIK46LSg_0[9].typ = (&NTI__1G0jiQbe7KwD5ADza5AZaw_);
  TM__HZdw8BhppcTQo8DIK46LSg_0[9].name = "errStream";
  TM__HZdw8BhppcTQo8DIK46LSg_2_12[9] = &TM__HZdw8BhppcTQo8DIK46LSg_0[10];
  TM__HZdw8BhppcTQo8DIK46LSg_0[10].kind = 1;
  TM__HZdw8BhppcTQo8DIK46LSg_0[10].offset = offsetof(tyObject_ProcessObj__2rGNQnv9bU4hanI2g3svReg, exitStatus);
  TM__HZdw8BhppcTQo8DIK46LSg_0[10].typ = (&NTI__nlCscttRCss70IBTyuBqnA_);
  TM__HZdw8BhppcTQo8DIK46LSg_0[10].name = "exitStatus";
  TM__HZdw8BhppcTQo8DIK46LSg_2_12[10] = &TM__HZdw8BhppcTQo8DIK46LSg_0[11];
  TM__HZdw8BhppcTQo8DIK46LSg_0[11].kind = 1;
  TM__HZdw8BhppcTQo8DIK46LSg_0[11].offset = offsetof(tyObject_ProcessObj__2rGNQnv9bU4hanI2g3svReg, exitFlag);
  TM__HZdw8BhppcTQo8DIK46LSg_0[11].typ = (&NTI__VaVACK0bpYmqIQ0mKcHfQQ_);
  TM__HZdw8BhppcTQo8DIK46LSg_0[11].name = "exitFlag";
  TM__HZdw8BhppcTQo8DIK46LSg_2_12[11] = &TM__HZdw8BhppcTQo8DIK46LSg_0[12];
  NTI__bnU6W8LhTMnT4JaSWtGlSA_.size = sizeof(tyEnum_ProcessOption__bnU6W8LhTMnT4JaSWtGlSA);
  NTI__bnU6W8LhTMnT4JaSWtGlSA_.align = NIM_ALIGNOF(tyEnum_ProcessOption__bnU6W8LhTMnT4JaSWtGlSA);
  NTI__bnU6W8LhTMnT4JaSWtGlSA_.kind = 14;
  NTI__bnU6W8LhTMnT4JaSWtGlSA_.base = 0;
  NTI__bnU6W8LhTMnT4JaSWtGlSA_.flags = 3;
  for (TM__HZdw8BhppcTQo8DIK46LSg_5 = 0; TM__HZdw8BhppcTQo8DIK46LSg_5 < 7; TM__HZdw8BhppcTQo8DIK46LSg_5++) {
  TM__HZdw8BhppcTQo8DIK46LSg_0[TM__HZdw8BhppcTQo8DIK46LSg_5+13].kind = 1;
  TM__HZdw8BhppcTQo8DIK46LSg_0[TM__HZdw8BhppcTQo8DIK46LSg_5+13].offset = TM__HZdw8BhppcTQo8DIK46LSg_5;
  TM__HZdw8BhppcTQo8DIK46LSg_0[TM__HZdw8BhppcTQo8DIK46LSg_5+13].name = TM__HZdw8BhppcTQo8DIK46LSg_4[TM__HZdw8BhppcTQo8DIK46LSg_5];
  TM__HZdw8BhppcTQo8DIK46LSg_3_7[TM__HZdw8BhppcTQo8DIK46LSg_5] = &TM__HZdw8BhppcTQo8DIK46LSg_0[TM__HZdw8BhppcTQo8DIK46LSg_5+13];
  }
  TM__HZdw8BhppcTQo8DIK46LSg_0[20].len = 7; TM__HZdw8BhppcTQo8DIK46LSg_0[20].kind = 2; TM__HZdw8BhppcTQo8DIK46LSg_0[20].sons = &TM__HZdw8BhppcTQo8DIK46LSg_3_7[0];
  NTI__bnU6W8LhTMnT4JaSWtGlSA_.node = &TM__HZdw8BhppcTQo8DIK46LSg_0[20];
  NTI__HlmBYNr2gdAZMXOsuiSZ0A_.size = sizeof(tySet_tyEnum_ProcessOption__bnU6W8LhTMnT4JaSWtGlSA);
  NTI__HlmBYNr2gdAZMXOsuiSZ0A_.align = NIM_ALIGNOF(tySet_tyEnum_ProcessOption__bnU6W8LhTMnT4JaSWtGlSA);
  NTI__HlmBYNr2gdAZMXOsuiSZ0A_.kind = 19;
  NTI__HlmBYNr2gdAZMXOsuiSZ0A_.base = (&NTI__bnU6W8LhTMnT4JaSWtGlSA_);
  NTI__HlmBYNr2gdAZMXOsuiSZ0A_.flags = 3;
  TM__HZdw8BhppcTQo8DIK46LSg_0[21].len = 0; TM__HZdw8BhppcTQo8DIK46LSg_0[21].kind = 0;
  NTI__HlmBYNr2gdAZMXOsuiSZ0A_.node = &TM__HZdw8BhppcTQo8DIK46LSg_0[21];
  TM__HZdw8BhppcTQo8DIK46LSg_0[12].kind = 1;
  TM__HZdw8BhppcTQo8DIK46LSg_0[12].offset = offsetof(tyObject_ProcessObj__2rGNQnv9bU4hanI2g3svReg, options);
  TM__HZdw8BhppcTQo8DIK46LSg_0[12].typ = (&NTI__HlmBYNr2gdAZMXOsuiSZ0A_);
  TM__HZdw8BhppcTQo8DIK46LSg_0[12].name = "options";
  TM__HZdw8BhppcTQo8DIK46LSg_0[0].len = 12; TM__HZdw8BhppcTQo8DIK46LSg_0[0].kind = 2; TM__HZdw8BhppcTQo8DIK46LSg_0[0].sons = &TM__HZdw8BhppcTQo8DIK46LSg_2_12[0];
  NTI__2rGNQnv9bU4hanI2g3svReg_.node = &TM__HZdw8BhppcTQo8DIK46LSg_0[0];
  NTI__lw7iqc9cC7bi1oOZOAlJkJA_.size = sizeof(tyObject_ProcessObj__2rGNQnv9bU4hanI2g3svReg*);
  NTI__lw7iqc9cC7bi1oOZOAlJkJA_.align = NIM_ALIGNOF(tyObject_ProcessObj__2rGNQnv9bU4hanI2g3svReg*);
  NTI__lw7iqc9cC7bi1oOZOAlJkJA_.kind = 22;
  NTI__lw7iqc9cC7bi1oOZOAlJkJA_.base = (&NTI__2rGNQnv9bU4hanI2g3svReg_);
  NTI__lw7iqc9cC7bi1oOZOAlJkJA_.marker = Marker_tyRef__lw7iqc9cC7bi1oOZOAlJkJA;
  NTI__Uwf6VGZy4JPKquxCiOCalQ_.size = sizeof(tyObject_FileHandleStreamcolonObjectType___Uwf6VGZy4JPKquxCiOCalQ);
  NTI__Uwf6VGZy4JPKquxCiOCalQ_.align = NIM_ALIGNOF(tyObject_FileHandleStreamcolonObjectType___Uwf6VGZy4JPKquxCiOCalQ);
  NTI__Uwf6VGZy4JPKquxCiOCalQ_.kind = 17;
  NTI__Uwf6VGZy4JPKquxCiOCalQ_.base = (&NTI__THYguAi9bSgidczZ3ywEIMQ_);
  NTI__Uwf6VGZy4JPKquxCiOCalQ_.flags = 1;
  TM__HZdw8BhppcTQo8DIK46LSg_21_2[0] = &TM__HZdw8BhppcTQo8DIK46LSg_0[23];
  TM__HZdw8BhppcTQo8DIK46LSg_0[23].kind = 1;
  TM__HZdw8BhppcTQo8DIK46LSg_0[23].offset = offsetof(tyObject_FileHandleStreamcolonObjectType___Uwf6VGZy4JPKquxCiOCalQ, handle);
  TM__HZdw8BhppcTQo8DIK46LSg_0[23].typ = (&NTI__rR5Bzr1D5krxoo1NcNyeMA_);
  TM__HZdw8BhppcTQo8DIK46LSg_0[23].name = "handle";
  TM__HZdw8BhppcTQo8DIK46LSg_21_2[1] = &TM__HZdw8BhppcTQo8DIK46LSg_0[24];
  TM__HZdw8BhppcTQo8DIK46LSg_0[24].kind = 1;
  TM__HZdw8BhppcTQo8DIK46LSg_0[24].offset = offsetof(tyObject_FileHandleStreamcolonObjectType___Uwf6VGZy4JPKquxCiOCalQ, atTheEnd);
  TM__HZdw8BhppcTQo8DIK46LSg_0[24].typ = (&NTI__VaVACK0bpYmqIQ0mKcHfQQ_);
  TM__HZdw8BhppcTQo8DIK46LSg_0[24].name = "atTheEnd";
  TM__HZdw8BhppcTQo8DIK46LSg_0[22].len = 2; TM__HZdw8BhppcTQo8DIK46LSg_0[22].kind = 2; TM__HZdw8BhppcTQo8DIK46LSg_0[22].sons = &TM__HZdw8BhppcTQo8DIK46LSg_21_2[0];
  NTI__Uwf6VGZy4JPKquxCiOCalQ_.node = &TM__HZdw8BhppcTQo8DIK46LSg_0[22];
  NTI__DpwKsN2DZCVvNvk72L1fXA_.size = sizeof(tyObject_FileHandleStreamcolonObjectType___Uwf6VGZy4JPKquxCiOCalQ*);
  NTI__DpwKsN2DZCVvNvk72L1fXA_.align = NIM_ALIGNOF(tyObject_FileHandleStreamcolonObjectType___Uwf6VGZy4JPKquxCiOCalQ*);
  NTI__DpwKsN2DZCVvNvk72L1fXA_.kind = 22;
  NTI__DpwKsN2DZCVvNvk72L1fXA_.base = (&NTI__Uwf6VGZy4JPKquxCiOCalQ_);
  NTI__DpwKsN2DZCVvNvk72L1fXA_.marker = Marker_tyRef__DpwKsN2DZCVvNvk72L1fXA;
  }
  
  