/ nimble-linux / @m..@s..@s..@s..@s.choosenim@stoolchains@snim-@hversion-1-6@slib@spure@sos.nim.c
@m..@s..@s..@s..@s.choosenim@stoolchains@snim-@hversion-1-6@slib@spure@sos.nim.c
   1  /* Generated by Nim Compiler v1.6.11 */
   2  #define NIM_INTBITS 64
   3  
   4  #include "nimbase.h"
   5  #include <string.h>
   6  #include <unistd.h>
   7  #include <errno.h>
   8  #include <stdlib.h>
   9  #include <sys/stat.h>
  10  #include <sys/types.h>
  11  #include <time.h>
  12  #include <dirent.h>
  13  #include <setjmp.h>
  14  #include <stdio.h>
  15  #undef LANGUAGE_C
  16  #undef MIPSEB
  17  #undef MIPSEL
  18  #undef PPC
  19  #undef R3000
  20  #undef R4000
  21  #undef i386
  22  #undef linux
  23  #undef mips
  24  #undef near
  25  #undef far
  26  #undef powerpc
  27  #undef unix
  28    #  define nimfr_(proc, file) \
  29        TFrame FR_; \
  30        FR_.procname = proc; FR_.filename = file; FR_.line = 0; FR_.len = 0; nimFrame(&FR_);
  31  
  32    #  define nimfrs_(proc, file, slots, length) \
  33        struct {TFrame* prev;NCSTRING procname;NI line;NCSTRING filename; NI len; VarSlot s[slots];} FR_; \
  34        FR_.procname = proc; FR_.filename = file; FR_.line = 0; FR_.len = length; nimFrame((TFrame*)&FR_);
  35  
  36    #  define nimln_(n, file) \
  37        FR_.line = n; FR_.filename = file;
  38    typedef struct NimStringDesc NimStringDesc;
  39  typedef struct TGenericSeq TGenericSeq;
  40  typedef struct tyObject_OSError__BeJgrOdDsczOwEWOZbRfKA tyObject_OSError__BeJgrOdDsczOwEWOZbRfKA;
  41  typedef struct tyObject_CatchableError__qrLSDoe2oBoAqNtJ9badtnA tyObject_CatchableError__qrLSDoe2oBoAqNtJ9badtnA;
  42  typedef struct Exception Exception;
  43  typedef struct RootObj RootObj;
  44  typedef struct TNimType TNimType;
  45  typedef struct TNimNode TNimNode;
  46  typedef struct tySequence__uB9b75OUPRENsBAu4AnoePA tySequence__uB9b75OUPRENsBAu4AnoePA;
  47  typedef struct tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g;
  48  typedef struct tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w;
  49  typedef struct tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ;
  50  typedef struct tyObject_GcStack__7fytPA5bBsob6See21YMRA tyObject_GcStack__7fytPA5bBsob6See21YMRA;
  51  typedef struct tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg;
  52  typedef struct tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ;
  53  typedef struct tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg;
  54  typedef struct tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw;
  55  typedef struct tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA;
  56  typedef struct tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw;
  57  typedef struct tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw;
  58  typedef struct tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg;
  59  typedef struct tyTuple__ujsjpB2O9cjj3uDHsXbnSzg tyTuple__ujsjpB2O9cjj3uDHsXbnSzg;
  60  typedef struct tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg;
  61  typedef struct tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ;
  62  typedef struct tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg;
  63  typedef struct tyObject_IndexDefect__n6tGEPHKkh7E1AP9bj30WrQ tyObject_IndexDefect__n6tGEPHKkh7E1AP9bj30WrQ;
  64  typedef struct tyObject_Defect__LbeSGvgPzGzXnW9caIkJqMA tyObject_Defect__LbeSGvgPzGzXnW9caIkJqMA;
  65  typedef struct tyTuple__UV3llMMYFckfui8YMBuUZA tyTuple__UV3llMMYFckfui8YMBuUZA;
  66  typedef struct tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw;
  67  typedef struct tyObject_IOError__iLZrPn9anoh9ad1MmO0RczFw tyObject_IOError__iLZrPn9anoh9ad1MmO0RczFw;
  68  typedef struct tyTuple__7q7q3E6Oj24ZNVJb9aonhAg tyTuple__7q7q3E6Oj24ZNVJb9aonhAg;
  69  typedef struct tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q;
  70  typedef struct TSafePoint TSafePoint;
  71  typedef struct tyObject_FileInfo__i26mN9byzlhWT5HGlFoyCYQ tyObject_FileInfo__i26mN9byzlhWT5HGlFoyCYQ;
  72  typedef struct tyTuple__CjzvtqWyPaH89b7mBo9b6sZg tyTuple__CjzvtqWyPaH89b7mBo9b6sZg;
  73  typedef struct tyTuple__HFn8JzZZeLZ9aKrFg4S9a7HA tyTuple__HFn8JzZZeLZ9aKrFg4S9a7HA;
  74  typedef struct tyObject_PathIter__tllF14xUpDWpqG9ci5sg9bMg tyObject_PathIter__tllF14xUpDWpqG9ci5sg9bMg;
  75  typedef struct tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ;
  76  typedef struct tyTuple__LCURwohbLBusrL8hdCnvng tyTuple__LCURwohbLBusrL8hdCnvng;
  77  typedef struct tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA;
  78  struct TGenericSeq {
  79  NI len;
  80  NI reserved;
  81  };
  82  struct NimStringDesc {
  83    TGenericSeq Sup;
  84  NIM_CHAR data[SEQ_DECL_SIZE];
  85  };
  86  typedef NU8 tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A;
  87  typedef NU8 tySet_tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ;
  88  typedef N_NIMCALL_PTR(void, tyProc__ojoeKfW4VYIm36I9cpDTQIg) (void* p, NI op);
  89  typedef N_NIMCALL_PTR(void*, tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ) (void* p);
  90  struct TNimType {
  91  NI size;
  92  NI align;
  93  tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A kind;
  94  tySet_tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ flags;
  95  TNimType* base;
  96  TNimNode* node;
  97  void* finalizer;
  98  tyProc__ojoeKfW4VYIm36I9cpDTQIg marker;
  99  tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ deepcopy;
 100  };
 101  struct RootObj {
 102  TNimType* m_type;
 103  };
 104  struct Exception {
 105    RootObj Sup;
 106  Exception* parent;
 107  NCSTRING name;
 108  NimStringDesc* message;
 109  tySequence__uB9b75OUPRENsBAu4AnoePA* trace;
 110  Exception* up;
 111  };
 112  struct tyObject_CatchableError__qrLSDoe2oBoAqNtJ9badtnA {
 113    Exception Sup;
 114  };
 115  struct tyObject_OSError__BeJgrOdDsczOwEWOZbRfKA {
 116    tyObject_CatchableError__qrLSDoe2oBoAqNtJ9badtnA Sup;
 117  NI32 errorCode;
 118  };
 119  typedef NU8 tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ;
 120  struct TNimNode {
 121  tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ kind;
 122  NI offset;
 123  TNimType* typ;
 124  NCSTRING name;
 125  NI len;
 126  TNimNode** sons;
 127  };
 128  struct tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g {
 129  NI refcount;
 130  TNimType* typ;
 131  };
 132  struct tyObject_GcStack__7fytPA5bBsob6See21YMRA {
 133  void* bottom;
 134  };
 135  struct tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w {
 136  NI len;
 137  NI cap;
 138  tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g** d;
 139  };
 140  typedef tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ* tyArray__SPr7N6UKfuF549bNPiUvSRw[256];
 141  typedef NU32 tyArray__BHbOSqU1t9b3Gt7K2c6fQig[24];
 142  typedef tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* tyArray__N1u1nqOgmuJN9cSZrnMHgOQ[32];
 143  typedef tyArray__N1u1nqOgmuJN9cSZrnMHgOQ tyArray__B6durA4ZCi1xjJvRtyYxMg[24];
 144  typedef tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw* tyArray__lh2A89ahMmYg9bCmpVaplLbA[256];
 145  struct tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA {
 146  tyArray__lh2A89ahMmYg9bCmpVaplLbA data;
 147  };
 148  typedef tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* tyArray__0aOLqZchNi8nWtMTi8ND8w[2];
 149  struct tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw {
 150  tyArray__0aOLqZchNi8nWtMTi8ND8w link;
 151  NI key;
 152  NI upperBound;
 153  NI level;
 154  };
 155  struct tyTuple__ujsjpB2O9cjj3uDHsXbnSzg {
 156  tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* Field0;
 157  NI Field1;
 158  };
 159  typedef tyTuple__ujsjpB2O9cjj3uDHsXbnSzg tyArray__LzOv2eCDGiceMKQstCLmhw[30];
 160  struct tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg {
 161  NI len;
 162  tyArray__LzOv2eCDGiceMKQstCLmhw chunks;
 163  tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg* next;
 164  };
 165  struct tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg {
 166  NI minLargeObj;
 167  NI maxLargeObj;
 168  tyArray__SPr7N6UKfuF549bNPiUvSRw freeSmallChunks;
 169  NU32 flBitmap;
 170  tyArray__BHbOSqU1t9b3Gt7K2c6fQig slBitmap;
 171  tyArray__B6durA4ZCi1xjJvRtyYxMg matrix;
 172  tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw* llmem;
 173  NI currMem;
 174  NI maxMem;
 175  NI freeMem;
 176  NI occ;
 177  NI lastSize;
 178  tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA chunkStarts;
 179  tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* root;
 180  tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* deleted;
 181  tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* last;
 182  tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* freeAvlNodes;
 183  NIM_BOOL locked;
 184  NIM_BOOL blockChunkSizeIncrease;
 185  NI nextChunkSize;
 186  tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw bottomData;
 187  tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg heapLinks;
 188  };
 189  struct tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg {
 190  NI stackScans;
 191  NI cycleCollections;
 192  NI maxThreshold;
 193  NI maxStackSize;
 194  NI maxStackCells;
 195  NI cycleTableSize;
 196  NI64 maxPause;
 197  };
 198  struct tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ {
 199  NI counter;
 200  NI max;
 201  tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg* head;
 202  tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg** data;
 203  };
 204  struct tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ {
 205  tyObject_GcStack__7fytPA5bBsob6See21YMRA stack;
 206  NI cycleThreshold;
 207  NI zctThreshold;
 208  tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w zct;
 209  tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w decStack;
 210  tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w tempStack;
 211  NI recGcLock;
 212  tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg region;
 213  tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg stat;
 214  tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ marked;
 215  tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w additionalRoots;
 216  NI gcThreadId;
 217  };
 218  struct tyObject_Defect__LbeSGvgPzGzXnW9caIkJqMA {
 219    Exception Sup;
 220  };
 221  struct tyObject_IndexDefect__n6tGEPHKkh7E1AP9bj30WrQ {
 222    tyObject_Defect__LbeSGvgPzGzXnW9caIkJqMA Sup;
 223  };
 224  struct tyTuple__UV3llMMYFckfui8YMBuUZA {
 225  NimStringDesc* Field0;
 226  NimStringDesc* Field1;
 227  };
 228  typedef NimStringDesc* tyArray__nHXaesL0DJZHyVS07ARPRA[1];
 229  struct tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw {
 230    tyObject_CatchableError__qrLSDoe2oBoAqNtJ9badtnA Sup;
 231  };
 232  struct tyObject_IOError__iLZrPn9anoh9ad1MmO0RczFw {
 233    tyObject_CatchableError__qrLSDoe2oBoAqNtJ9badtnA Sup;
 234  };
 235  typedef NU8 tyEnum_FileMode__ZJfK20XeZ9bv2j1pZjw9aswg;
 236  typedef NU8 tySet_tyEnum_CopyFlag__pdzel23GjJ9cPFw8c5ldeRA;
 237  typedef NU8 tyEnum_CopyFlag__pdzel23GjJ9cPFw8c5ldeRA;
 238  typedef NU8 tyEnum_PathComponent__9c1SIU9cO1wHcl09b703A9cDrg;
 239  struct tyTuple__7q7q3E6Oj24ZNVJb9aonhAg {
 240  NimStringDesc* Field0;
 241  NimStringDesc* Field1;
 242  NimStringDesc* Field2;
 243  };
 244  struct tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q {
 245  NI64 seconds;
 246  NI nanosecond;
 247  };
 248  typedef NimStringDesc* tyArray__sMpvt1sOxOJ3LFGulnbeMQ[4];
 249  typedef NU8 tySet_tyChar__nmiMWKVIe46vacnhAFrQvw[32];
 250  typedef long tyArray__TcvIiMAJvcwzNLsZkfnFnQ[25];
 251  struct TSafePoint {
 252  TSafePoint* prev;
 253  NI status;
 254  jmp_buf context;
 255  };
 256  typedef char tyArray__XKk9bNZbVEtY3RuROG9aRBgw[256];
 257  struct tyTuple__CjzvtqWyPaH89b7mBo9b6sZg {
 258  dev_t Field0;
 259  ino_t Field1;
 260  };
 261  typedef NU16 tySet_tyEnum_FilePermission__uTVeDpjCH6aWw9c74YkAskA;
 262  struct tyObject_FileInfo__i26mN9byzlhWT5HGlFoyCYQ {
 263  tyTuple__CjzvtqWyPaH89b7mBo9b6sZg id;
 264  tyEnum_PathComponent__9c1SIU9cO1wHcl09b703A9cDrg kind;
 265  NI64 size;
 266  tySet_tyEnum_FilePermission__uTVeDpjCH6aWw9c74YkAskA permissions;
 267  NI64 linkCount;
 268  tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q lastAccessTime;
 269  tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q lastWriteTime;
 270  tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q creationTime;
 271  NI blockSize;
 272  };
 273  typedef NU8 tyEnum_FilePermission__uTVeDpjCH6aWw9c74YkAskA;
 274  struct tyTuple__HFn8JzZZeLZ9aKrFg4S9a7HA {
 275  NimStringDesc* Field0;
 276  tySet_tyEnum_FilePermission__uTVeDpjCH6aWw9c74YkAskA Field1;
 277  };
 278  struct tyObject_PathIter__tllF14xUpDWpqG9ci5sg9bMg {
 279  NI i;
 280  NI prev;
 281  NIM_BOOL notFirst;
 282  };
 283  struct tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ {
 284  NI Field0;
 285  NI Field1;
 286  };
 287  struct tyTuple__LCURwohbLBusrL8hdCnvng {
 288  tyEnum_PathComponent__9c1SIU9cO1wHcl09b703A9cDrg Field0;
 289  NimStringDesc* Field1;
 290  };
 291  struct tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA {
 292  NCSTRING procname;
 293  NI line;
 294  NCSTRING filename;
 295  };
 296  struct tySequence__uB9b75OUPRENsBAu4AnoePA {
 297    TGenericSeq Sup;
 298    tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA data[SEQ_DECL_SIZE];
 299  };
 300  N_NIMCALL(NimStringDesc*, mnewString)(NI len);
 301  N_LIB_PRIVATE N_NOINLINE(void, raiseRangeErrorI)(NI64 i, NI64 a, NI64 b);
 302  static N_INLINE(NIM_BOOL, eqeq___system_7770)(NCSTRING x, NCSTRING y);
 303  static N_INLINE(void, nimFrame)(TFrame* s);
 304  N_LIB_PRIVATE N_NOINLINE(void, callDepthLimitReached__system_2997)(void);
 305  static N_INLINE(void, popFrame)(void);
 306  static N_INLINE(NCSTRING, nimToCStringConv)(NimStringDesc* s);
 307  N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, setLengthStr)(NimStringDesc* s, NI newLen);
 308  N_LIB_PRIVATE N_NIMCALL(NI32, osLastError__pureZos_408)(void);
 309  N_LIB_PRIVATE N_NIMCALL(void, failedAssertImpl__systemZassertions_56)(NimStringDesc* msg);
 310  N_LIB_PRIVATE N_NOINLINE(void, raiseOSError__pureZos_405)(NI32 errorCode, NimStringDesc* additionalInfo);
 311  N_LIB_PRIVATE N_NOINLINE(tyObject_OSError__BeJgrOdDsczOwEWOZbRfKA*, newOSError__pureZos_379)(NI32 errorCode, NimStringDesc* additionalInfo);
 312  N_LIB_PRIVATE N_NOINLINE(void*, newObj)(TNimType* typ, NI size);
 313  N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, osErrorMsg__pureZos_358)(NI32 errorCode);
 314  N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, cstrToNimstr)(NCSTRING str);
 315  static N_INLINE(void, asgnRef)(void** dest, void* src);
 316  static N_INLINE(void, incRef__system_5337)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
 317  static N_INLINE(NI, pluspercent___system_696)(NI x, NI y);
 318  static N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*, usrToCell__system_5299)(void* usr);
 319  static N_INLINE(NI, minuspercent___system_716)(NI x, NI y);
 320  static N_INLINE(void, decRef__system_5344)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
 321  static N_INLINE(NIM_BOOL, ltpercent___system_1005)(NI x, NI y);
 322  static N_INLINE(void, rtlAddZCT__system_5342)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
 323  N_LIB_PRIVATE N_NOINLINE(void, addZCT__system_5293)(tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w* s, tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
 324  static N_INLINE(NIM_CHAR*, X5BX5D___system_7408)(NimStringDesc** s, NI i);
 325  N_LIB_PRIVATE N_NOINLINE(void, raiseOverflow)(void);
 326  N_LIB_PRIVATE N_NOINLINE(void, raiseIndexError2)(NI i, NI n);
 327  N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, addChar)(NimStringDesc* s, NIM_CHAR c);
 328  static N_INLINE(void, appendString)(NimStringDesc* dest, NimStringDesc* src);
 329  static N_INLINE(void, copyMem__system_1727)(void* dest, void* source, NI size);
 330  static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size);
 331  N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, resizeString)(NimStringDesc* dest, NI addlen);
 332  N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, copyStringRC1)(NimStringDesc* src);
 333  static N_INLINE(void, nimGCunrefNoCycle)(void* p);
 334  N_LIB_PRIVATE N_NIMCALL(void, raiseExceptionEx)(Exception* e, NCSTRING ename, NCSTRING procname, NCSTRING filename, NI line);
 335  N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar___systemZdollars_3)(NI x);
 336  N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, rawNewString)(NI space);
 337  N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, normalizePath__pureZpathnorm_127)(NimStringDesc* path, NIM_CHAR dirSep);
 338  N_NIMCALL(NimStringDesc*, rawNewString)(NI cap);
 339  N_LIB_PRIVATE N_NIMCALL(void, joinPathImpl__pureZos_82)(NimStringDesc** result, NI* state, NimStringDesc* tail);
 340  static N_INLINE(NIM_CHAR, X5BX5D___system_7375)(NimStringDesc* s, NI i);
 341  N_LIB_PRIVATE N_NIMCALL(void, normalizePathEnd__pureZos_51)(NimStringDesc** path, NIM_BOOL trailingSep);
 342  N_LIB_PRIVATE N_NIMCALL(void, unsureAsgnRef)(void** dest, void* src);
 343  N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, copyString)(NimStringDesc* src);
 344  N_LIB_PRIVATE N_NIMCALL(void, addNormalizePath__pureZpathnorm_71)(NimStringDesc* x, NimStringDesc** result, NI* state, NIM_CHAR dirSep);
 345  N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, getEnv__pureZos_418)(NimStringDesc* key, NimStringDesc* default_0);
 346  static N_INLINE(NimStringDesc*, slash___pureZos_121)(NimStringDesc* head, NimStringDesc* tail);
 347  N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nosjoinPath)(NimStringDesc* head, NimStringDesc* tail);
 348  N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, substr__system_7790)(NimStringDesc* s, NI first, NI last);
 349  N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, substr__system_7802)(NimStringDesc* s, NI first);
 350  static N_INLINE(NIM_BOOL, contains__pureZos_653)(NIM_CHAR* a, NI aLen_0, NIM_CHAR item);
 351  static N_INLINE(NI, find__pureZos_658)(NIM_CHAR* a, NI aLen_0, NIM_CHAR item);
 352  N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nosaddFileExt)(NimStringDesc* filename, NimStringDesc* ext);
 353  N_LIB_PRIVATE N_NIMCALL(NI, searchExtPos__pureZos_271)(NimStringDesc* path);
 354  N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, normExt__pureZos_268)(NimStringDesc* ext);
 355  static N_INLINE(void, appendChar)(NimStringDesc* dest, NIM_CHAR c);
 356  N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, nosfileExists)(NimStringDesc* filename);
 357  static N_INLINE(void, nimZeroMem)(void* p, NI size);
 358  static N_INLINE(void, nimSetMem__systemZmemory_7)(void* a, int v, NI size);
 359  N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, expandTilde__pureZos_578)(NimStringDesc* path);
 360  N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nosgetHomeDir)(void);
 361  N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, nossymlinkExists)(NimStringDesc* link);
 362  N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, nosisAbsolute)(NimStringDesc* path);
 363  N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nosparentDir)(NimStringDesc* path);
 364  N_LIB_PRIVATE N_NIMCALL(NI, parentDirPos__pureZos_195)(NimStringDesc* path);
 365  static N_INLINE(NIM_BOOL, eqStrings)(NimStringDesc* a, NimStringDesc* b);
 366  static N_INLINE(NIM_BOOL, equalMem__system_1735)(void* a, void* b, NI size);
 367  static N_INLINE(int, nimCmpMem)(void* a, void* b, NI size);
 368  N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar___pureZos_429)(tyTuple__UV3llMMYFckfui8YMBuUZA x);
 369  N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, nosexistsOrCreateDir)(NimStringDesc* dir);
 370  N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, rawCreateDir__pureZos_1406)(NimStringDesc* dir);
 371  N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, nosdirExists)(NimStringDesc* dir);
 372  N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, open__systemZio_392)(FILE** f, NimStringDesc* filename, tyEnum_FileMode__ZJfK20XeZ9bv2j1pZjw9aswg mode, NI bufSize);
 373  N_LIB_PRIVATE N_NIMCALL(NI64, getFileSize__systemZio_455)(FILE* f);
 374  N_LIB_PRIVATE N_NIMCALL(void, close__systemZio_217)(FILE* f);
 375  static N_INLINE(NI, countBits32)(NU32 n);
 376  static N_INLINE(NI, countSetBitsImpl__systemZcountbits95impl_26)(NU32 x);
 377  N_CDECL(int, __builtin_popcount)(unsigned int x);
 378  N_LIB_PRIVATE N_NIMCALL(void, createSymlink__pureZos_1011)(NimStringDesc* src, NimStringDesc* dest);
 379  N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, expandSymlink__pureZos_1017)(NimStringDesc* symlinkPath);
 380  N_LIB_PRIVATE N_NOCONV(void*, allocImpl__system_1743)(NI size);
 381  N_LIB_PRIVATE N_NIMCALL(NI, readBuffer__systemZio_144)(FILE* f, void* buffer, NI len);
 382  N_LIB_PRIVATE N_NIMCALL(NI, writeBuffer__systemZio_176)(FILE* f, void* buffer, NI len);
 383  N_LIB_PRIVATE N_NOCONV(void, dealloc)(void* p);
 384  N_LIB_PRIVATE N_NIMCALL(void, flushFile__systemZio_226)(FILE* f);
 385  static N_INLINE(tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q, toTime__pureZos_17)(struct timespec ts);
 386  N_LIB_PRIVATE N_NIMCALL(tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q, initTime__pureZtimes_897)(NI64 unix_0, NI nanosecond);
 387  N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, getApplAux__pureZos_1549)(NimStringDesc* procPath);
 388  N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, getApplHeuristic__pureZos_1553)(void);
 389  N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, paramStr__pureZos_1526)(NI i);
 390  N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, existsEnv__pureZos_423)(NimStringDesc* key);
 391  N_LIB_PRIVATE N_NIMCALL(void, nossplitPath)(NimStringDesc* path, tyTuple__UV3llMMYFckfui8YMBuUZA* Result);
 392  N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nospquoteShellPosix)(NimStringDesc* s);
 393  N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, allCharsInSet__pureZstrutils_1402)(NimStringDesc* s, tySet_tyChar__nmiMWKVIe46vacnhAFrQvw theSet);
 394  N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nsuReplaceStr)(NimStringDesc* s, NimStringDesc* sub, NimStringDesc* by);
 395  N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, WIFSIGNALED__posixZposix_1063)(int s);
 396  N_LIB_PRIVATE N_NIMCALL(int, WTERMSIG__posixZposix_1054)(int s);
 397  N_LIB_PRIVATE N_NIMCALL(int, WEXITSTATUS__posixZposix_1047)(int s);
 398  N_LIB_PRIVATE N_NIMCALL(NI, cmp__system_1549)(NimStringDesc* x, NimStringDesc* y);
 399  N_LIB_PRIVATE N_NIMCALL(NI, nsuCmpIgnoreCase)(NimStringDesc* a, NimStringDesc* b);
 400  static N_INLINE(void, pushSafePoint)(TSafePoint* s);
 401  N_LIB_PRIVATE N_NIMCALL(tyEnum_PathComponent__9c1SIU9cO1wHcl09b703A9cDrg, getSymlinkFileKind__pureZos_1220)(NimStringDesc* path);
 402  N_LIB_PRIVATE N_NIMCALL(void, nosremoveFile)(NimStringDesc* file);
 403  N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, nostryRemoveFile)(NimStringDesc* file);
 404  N_LIB_PRIVATE N_NIMCALL(void, nosremoveDir)(NimStringDesc* dir, NIM_BOOL checkDir);
 405  static N_INLINE(void, popSafePoint)(void);
 406  static N_INLINE(TFrame*, getFrame)(void);
 407  static N_INLINE(void, setFrame)(TFrame* s);
 408  N_LIB_PRIVATE N_NIMCALL(void, nimLeaveFinally)(void);
 409  N_LIB_PRIVATE N_NIMCALL(void, reraiseException)(void);
 410  N_LIB_PRIVATE N_NIMCALL(void, rawRemoveDir__pureZos_1399)(NimStringDesc* dir);
 411  N_LIB_PRIVATE N_NOINLINE(void, raiseRangeErrorNoArgs)(void);
 412  N_LIB_PRIVATE N_NIMCALL(void, noscopyFile)(NimStringDesc* source, NimStringDesc* dest, tySet_tyEnum_CopyFlag__pdzel23GjJ9cPFw8c5ldeRA options);
 413  N_LIB_PRIVATE N_NIMCALL(void, nossetFilePermissions)(NimStringDesc* filename, tySet_tyEnum_FilePermission__uTVeDpjCH6aWw9c74YkAskA permissions, NIM_BOOL followSymlinks);
 414  N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar___pureZos_873)(tyTuple__HFn8JzZZeLZ9aKrFg4S9a7HA x);
 415  N_LIB_PRIVATE N_NIMCALL(tySet_tyEnum_FilePermission__uTVeDpjCH6aWw9c74YkAskA, nosgetFilePermissions)(NimStringDesc* filename);
 416  static N_INLINE(void, popCurrentException)(void);
 417  static N_INLINE(void, normalizePathAux__pureZos_31)(NimStringDesc** path);
 418  N_LIB_PRIVATE N_NIMCALL(void, nosnormalizePath)(NimStringDesc** path);
 419  N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, absolutePathInternal__pureZos_49)(NimStringDesc* path);
 420  N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, absolutePath__pureZos_735)(NimStringDesc* path, NimStringDesc* root);
 421  N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nosgetCurrentDir)(void);
 422  N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasNext__pureZpathnorm_6)(tyObject_PathIter__tllF14xUpDWpqG9ci5sg9bMg it, NimStringDesc* x);
 423  N_LIB_PRIVATE N_NIMCALL(tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ, next__pureZpathnorm_10)(tyObject_PathIter__tllF14xUpDWpqG9ci5sg9bMg* it, NimStringDesc* x);
 424  N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nospquoteShell)(NimStringDesc* s);
 425  N_LIB_PRIVATE N_NIMCALL(int, exitStatusLikeShell__pureZos_1100)(int status);
 426  STRING_LITERAL(TM__yu6cxgKBBXbNsTkT9cyMd4g_2, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim(1417, 21) `bufsize >= 0` ", 94);
 427  extern TNimType NTIrefoserror__9clYsYwyjCqe2PFTuCI3Ubg_;
 428  extern TNimType NTIoserror__BeJgrOdDsczOwEWOZbRfKA_;
 429  STRING_LITERAL(TM__yu6cxgKBBXbNsTkT9cyMd4g_4, "Additional info: ", 17);
 430  STRING_LITERAL(TM__yu6cxgKBBXbNsTkT9cyMd4g_5, "unknown OS error", 16);
 431  extern TNimType NTIrefindexdefect__RJnHOb9cQV3neNC9cDkRgMyw_;
 432  extern TNimType NTIindexdefect__n6tGEPHKkh7E1AP9bj30WrQ_;
 433  STRING_LITERAL(TM__yu6cxgKBBXbNsTkT9cyMd4g_8, "index out of bounds, the container is empty", 43);
 434  STRING_LITERAL(TM__yu6cxgKBBXbNsTkT9cyMd4g_9, "index ", 6);
 435  STRING_LITERAL(TM__yu6cxgKBBXbNsTkT9cyMd4g_10, " not in 0 .. ", 13);
 436  STRING_LITERAL(TM__yu6cxgKBBXbNsTkT9cyMd4g_19, "/", 1);
 437  STRING_LITERAL(TM__yu6cxgKBBXbNsTkT9cyMd4g_20, "HOME", 4);
 438  STRING_LITERAL(TM__yu6cxgKBBXbNsTkT9cyMd4g_21, "XDG_CONFIG_HOME", 15);
 439  STRING_LITERAL(TM__yu6cxgKBBXbNsTkT9cyMd4g_22, ".config", 7);
 440  STRING_LITERAL(TM__yu6cxgKBBXbNsTkT9cyMd4g_32, "PATH", 4);
 441  STRING_LITERAL(TM__yu6cxgKBBXbNsTkT9cyMd4g_39, "..", 2);
 442  STRING_LITERAL(TM__yu6cxgKBBXbNsTkT9cyMd4g_40, ".", 1);
 443  N_LIB_PRIVATE NIM_CONST tyArray__nHXaesL0DJZHyVS07ARPRA ExeExts__pureZos_645 = {((NimStringDesc*) NIM_NIL)}
 444  ;
 445  extern TNimType NTIrefvalueerror__Ie1m0dv1ZHg72IgPRr1cDw_;
 446  extern TNimType NTIvalueerror__yoNlBGx0D2tRizIdhQuENw_;
 447  STRING_LITERAL(TM__yu6cxgKBBXbNsTkT9cyMd4g_44, "The specified root is not absolute: ", 36);
 448  extern TNimType NTIrefioerror__HMIVdYjdZYWskTmTQVo5BQ_;
 449  extern TNimType NTIioerror__iLZrPn9anoh9ad1MmO0RczFw_;
 450  STRING_LITERAL(TM__yu6cxgKBBXbNsTkT9cyMd4g_46, "Failed to create \'", 18);
 451  STRING_LITERAL(TM__yu6cxgKBBXbNsTkT9cyMd4g_47, "\'", 1);
 452  STRING_LITERAL(TM__yu6cxgKBBXbNsTkT9cyMd4g_50, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim(1851, 12) `card(copyFlagSymlink * options) == 1` There should be exactly one cfSymlink* in options", 167);
 453  STRING_LITERAL(TM__yu6cxgKBBXbNsTkT9cyMd4g_52, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim(2260, 11) `path != \"\"` ", 92);
 454  STRING_LITERAL(TM__yu6cxgKBBXbNsTkT9cyMd4g_62, "/proc/self/exe", 14);
 455  STRING_LITERAL(TM__yu6cxgKBBXbNsTkT9cyMd4g_68, "TMPDIR", 6);
 456  STRING_LITERAL(TM__yu6cxgKBBXbNsTkT9cyMd4g_69, "TEMP", 4);
 457  STRING_LITERAL(TM__yu6cxgKBBXbNsTkT9cyMd4g_70, "TMP", 3);
 458  STRING_LITERAL(TM__yu6cxgKBBXbNsTkT9cyMd4g_71, "TEMPDIR", 7);
 459  static NIM_CONST tyArray__sMpvt1sOxOJ3LFGulnbeMQ TM__yu6cxgKBBXbNsTkT9cyMd4g_67 = {((NimStringDesc*) &TM__yu6cxgKBBXbNsTkT9cyMd4g_68),
 460  ((NimStringDesc*) &TM__yu6cxgKBBXbNsTkT9cyMd4g_69),
 461  ((NimStringDesc*) &TM__yu6cxgKBBXbNsTkT9cyMd4g_70),
 462  ((NimStringDesc*) &TM__yu6cxgKBBXbNsTkT9cyMd4g_71)}
 463  ;
 464  STRING_LITERAL(TM__yu6cxgKBBXbNsTkT9cyMd4g_73, "/tmp", 4);
 465  STRING_LITERAL(TM__yu6cxgKBBXbNsTkT9cyMd4g_76, "\'\'", 2);
 466  static NIM_CONST tySet_tyChar__nmiMWKVIe46vacnhAFrQvw TM__yu6cxgKBBXbNsTkT9cyMd4g_77 = {
 467  0x00, 0x00, 0x00, 0x00, 0x20, 0xe8, 0xff, 0x27,
 468  0xff, 0xff, 0xff, 0x87, 0xfe, 0xff, 0xff, 0x07,
 469  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
 470  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
 471  ;
 472  STRING_LITERAL(TM__yu6cxgKBBXbNsTkT9cyMd4g_78, "\'\"\'\"\'", 5);
 473  STRING_LITERAL(TM__yu6cxgKBBXbNsTkT9cyMd4g_81, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim(3324, 15) `path != \"\"` ", 92);
 474  N_LIB_PRIVATE TNimType NTIfilepermission__uTVeDpjCH6aWw9c74YkAskA_;
 475  static NIM_CONST tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ TM__yu6cxgKBBXbNsTkT9cyMd4g_86 = {((NI) 0),
 476  ((NI) -1)}
 477  ;
 478  STRING_LITERAL(TM__yu6cxgKBBXbNsTkT9cyMd4g_95, " ", 1);
 479  N_LIB_PRIVATE TNimType NTItupleLkind58pathcomponent_path58stringT__LCURwohbLBusrL8hdCnvng_;
 480  N_LIB_PRIVATE TNimType NTIpathcomponent__9c1SIU9cO1wHcl09b703A9cDrg_;
 481  extern TNimType NTIstring__77mFvmsOLKik79ci2hXkHEg_;
 482  extern NCSTRING* environ;
 483  extern int cmdCount;
 484  extern NCSTRING* cmdLine;
 485  extern TFrame* framePtr__system_2564;
 486  extern TFrame* framePtr__system_2564;
 487  extern TFrame* framePtr__system_2564;
 488  extern TFrame* framePtr__system_2564;
 489  extern TFrame* framePtr__system_2564;
 490  extern TFrame* framePtr__system_2564;
 491  extern tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ gch__system_5246;
 492  extern TSafePoint* excHandler__system_2565;
 493  extern TSafePoint* excHandler__system_2565;
 494  extern TSafePoint* excHandler__system_2565;
 495  extern TSafePoint* excHandler__system_2565;
 496  extern TFrame* framePtr__system_2564;
 497  extern TFrame* framePtr__system_2564;
 498  extern Exception* currException__system_2566;
 499  extern Exception* currException__system_2566;
 500  static N_INLINE(void, nimFrame)(TFrame* s) {
 501  	{
 502  		if (!(framePtr__system_2564 == ((TFrame*) NIM_NIL))) goto LA3_;
 503  		(*s).calldepth = ((NI16) 0);
 504  	}
 505  	goto LA1_;
 506  	LA3_: ;
 507  	{
 508  		(*s).calldepth = (NI16)((*framePtr__system_2564).calldepth + ((NI16) 1));
 509  	}
 510  	LA1_: ;
 511  	(*s).prev = framePtr__system_2564;
 512  	framePtr__system_2564 = s;
 513  	{
 514  		if (!((*s).calldepth == ((NI16) 2000))) goto LA8_;
 515  		callDepthLimitReached__system_2997();
 516  	}
 517  	LA8_: ;
 518  }
 519  static N_INLINE(void, popFrame)(void) {
 520  	framePtr__system_2564 = (*framePtr__system_2564).prev;
 521  }
 522  static N_INLINE(NIM_BOOL, eqeq___system_7770)(NCSTRING x, NCSTRING y) {
 523  	NIM_BOOL result;
 524  	nimfr_("==", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system.nim");
 525  	result = (NIM_BOOL)0;
 526  	nimln_(2994, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system.nim");
 527  	{
 528  		if (!(((void*) (x)) == ((void*) (y)))) goto LA3_;
 529  		result = NIM_TRUE;
 530  	}
 531  	goto LA1_;
 532  	LA3_: ;
 533  	{
 534  		NIM_BOOL T6_;
 535  		nimln_(2995, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system.nim");
 536  		T6_ = (NIM_BOOL)0;
 537  		T6_ = (x == 0);
 538  		if (T6_) goto LA7_;
 539  		T6_ = (y == 0);
 540  		LA7_: ;
 541  		if (!T6_) goto LA8_;
 542  		result = NIM_FALSE;
 543  	}
 544  	goto LA1_;
 545  	LA8_: ;
 546  	{
 547  		int T11_;
 548  		nimln_(2996, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system.nim");
 549  		T11_ = (int)0;
 550  		T11_ = strcmp(x, y);
 551  		result = (T11_ == ((NI32) 0));
 552  	}
 553  	LA1_: ;
 554  	popFrame();
 555  	return result;
 556  }
 557  static N_INLINE(NCSTRING, nimToCStringConv)(NimStringDesc* s) {
 558  	NCSTRING result;
 559  	result = (NCSTRING)0;
 560  	{
 561  		NIM_BOOL T3_;
 562  		T3_ = (NIM_BOOL)0;
 563  		T3_ = (s == ((NimStringDesc*) NIM_NIL));
 564  		if (T3_) goto LA4_;
 565  		T3_ = ((*s).Sup.len == ((NI) 0));
 566  		LA4_: ;
 567  		if (!T3_) goto LA5_;
 568  		result = "";
 569  	}
 570  	goto LA1_;
 571  	LA5_: ;
 572  	{
 573  		result = ((NCSTRING) ((*s).data));
 574  	}
 575  	LA1_: ;
 576  	return result;
 577  }
 578  N_LIB_PRIVATE N_NIMCALL(NI32, osLastError__pureZos_408)(void) {
 579  	NI32 result;
 580  	result = (NI32)0;
 581  	result = errno;
 582  	return result;
 583  }
 584  N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, osErrorMsg__pureZos_358)(NI32 errorCode) {
 585  	NimStringDesc* result;
 586  	nimfr_("osErrorMsg", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/includes/oserr.nim");
 587  	result = NIM_NIL;
 588  	nimln_(39, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/includes/oserr.nim");
 589  	result = ((NimStringDesc*) NIM_NIL);
 590  	nimln_(57, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/includes/oserr.nim");
 591  	{
 592  		NCSTRING T5_;
 593  		if (!!((errorCode == ((NI32) 0)))) goto LA3_;
 594  		nimln_(58, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/includes/oserr.nim");
 595  		T5_ = (NCSTRING)0;
 596  		T5_ = strerror(errorCode);
 597  		result = cstrToNimstr(T5_);
 598  	}
 599  	LA3_: ;
 600  	popFrame();
 601  	return result;
 602  }
 603  static N_INLINE(NI, pluspercent___system_696)(NI x, NI y) {
 604  	NI result;
 605  	nimfr_("+%", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/arithmetics.nim");
 606  	result = (NI)0;
 607  	nimln_(403, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/arithmetics.nim");
 608  	nimln_(407, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/arithmetics.nim");
 609  	result = ((NI) ((NU)((NU64)(((NU) (x))) + (NU64)(((NU) (y))))));
 610  	popFrame();
 611  	return result;
 612  }
 613  static N_INLINE(void, incRef__system_5337)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
 614  	nimfr_("incRef", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/gc.nim");
 615  	nimln_(231, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/gc.nim");
 616  	(*c).refcount = pluspercent___system_696((*c).refcount, ((NI) 8));
 617  	popFrame();
 618  }
 619  static N_INLINE(NI, minuspercent___system_716)(NI x, NI y) {
 620  	NI result;
 621  	nimfr_("-%", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/arithmetics.nim");
 622  	result = (NI)0;
 623  	nimln_(414, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/arithmetics.nim");
 624  	nimln_(418, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/arithmetics.nim");
 625  	result = ((NI) ((NU)((NU64)(((NU) (x))) - (NU64)(((NU) (y))))));
 626  	popFrame();
 627  	return result;
 628  }
 629  static N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*, usrToCell__system_5299)(void* usr) {
 630  	tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* result;
 631  	NI T1_;
 632  	nimfr_("usrToCell", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/gc.nim");
 633  	result = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
 634  	nimln_(177, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/gc.nim");
 635  	T1_ = (NI)0;
 636  	T1_ = minuspercent___system_716(((NI) (ptrdiff_t) (usr)), ((NI) 16));
 637  	result = ((tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*) (T1_));
 638  	popFrame();
 639  	return result;
 640  }
 641  static N_INLINE(NIM_BOOL, ltpercent___system_1005)(NI x, NI y) {
 642  	NIM_BOOL result;
 643  	nimfr_("<%", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/comparisons.nim");
 644  	result = (NIM_BOOL)0;
 645  	nimln_(186, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/comparisons.nim");
 646  	nimln_(188, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/comparisons.nim");
 647  	result = ((NU64)(((NU) (x))) < (NU64)(((NU) (y))));
 648  	popFrame();
 649  	return result;
 650  }
 651  static N_INLINE(void, rtlAddZCT__system_5342)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
 652  	nimfr_("rtlAddZCT", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/gc.nim");
 653  	nimln_(243, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/gc.nim");
 654  	addZCT__system_5293((&gch__system_5246.zct), c);
 655  	popFrame();
 656  }
 657  static N_INLINE(void, decRef__system_5344)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
 658  	nimfr_("decRef", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/gc.nim");
 659  	nimln_(248, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/gc.nim");
 660  	(*c).refcount = minuspercent___system_716((*c).refcount, ((NI) 8));
 661  	nimln_(249, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/gc.nim");
 662  	{
 663  		NIM_BOOL T3_;
 664  		T3_ = (NIM_BOOL)0;
 665  		T3_ = ltpercent___system_1005((*c).refcount, ((NI) 8));
 666  		if (!T3_) goto LA4_;
 667  		nimln_(250, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/gc.nim");
 668  		rtlAddZCT__system_5342(c);
 669  	}
 670  	LA4_: ;
 671  	popFrame();
 672  }
 673  static N_INLINE(void, asgnRef)(void** dest, void* src) {
 674  	nimfr_("asgnRef", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/gc.nim");
 675  	nimln_(286, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/gc.nim");
 676  	{
 677  		tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T5_;
 678  		if (!!((src == NIM_NIL))) goto LA3_;
 679  		T5_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
 680  		T5_ = usrToCell__system_5299(src);
 681  		incRef__system_5337(T5_);
 682  	}
 683  	LA3_: ;
 684  	nimln_(287, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/gc.nim");
 685  	{
 686  		tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T10_;
 687  		if (!!(((*dest) == NIM_NIL))) goto LA8_;
 688  		T10_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
 689  		T10_ = usrToCell__system_5299((*dest));
 690  		decRef__system_5344(T10_);
 691  	}
 692  	LA8_: ;
 693  	nimln_(288, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/gc.nim");
 694  	(*dest) = src;
 695  	popFrame();
 696  }
 697  static N_INLINE(NIM_CHAR*, X5BX5D___system_7408)(NimStringDesc** s, NI i) {
 698  	NIM_CHAR* result;
 699  	NI TM__yu6cxgKBBXbNsTkT9cyMd4g_3;
 700  	nimfr_("[]", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system.nim");
 701  	result = (NIM_CHAR*)0;
 702  	nimln_(2652, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system.nim");
 703  	if (nimSubInt(((*s) ? (*s)->Sup.len : 0), i, &TM__yu6cxgKBBXbNsTkT9cyMd4g_3)) { raiseOverflow(); };
 704  	if ((NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_3) < 0 || (NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_3) >= ((*s) ? (*s)->Sup.len : 0)){ raiseIndexError2((NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_3),((*s) ? (*s)->Sup.len : 0)-1); }
 705  	result = (&(*s)->data[(NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_3)]);
 706  	popFrame();
 707  	return result;
 708  }
 709  static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size) {
 710  	void* T1_;
 711  	T1_ = (void*)0;
 712  	T1_ = memcpy(dest, source, ((size_t) (size)));
 713  }
 714  static N_INLINE(void, copyMem__system_1727)(void* dest, void* source, NI size) {
 715  	nimCopyMem(dest, source, size);
 716  }
 717  static N_INLINE(void, appendString)(NimStringDesc* dest, NimStringDesc* src) {
 718  	{
 719  		if (!!((src == ((NimStringDesc*) NIM_NIL)))) goto LA3_;
 720  		copyMem__system_1727(((void*) ((&(*dest).data[(*dest).Sup.len]))), ((void*) ((*src).data)), ((NI) ((NI)((*src).Sup.len + ((NI) 1)))));
 721  		(*dest).Sup.len += (*src).Sup.len;
 722  	}
 723  	LA3_: ;
 724  }
 725  static N_INLINE(void, nimGCunrefNoCycle)(void* p) {
 726  	tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T1_;
 727  	nimfr_("nimGCunrefNoCycle", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/gc.nim");
 728  	nimln_(276, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/gc.nim");
 729  	T1_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
 730  	T1_ = usrToCell__system_5299(p);
 731  	decRef__system_5344(T1_);
 732  	popFrame();
 733  }
 734  N_LIB_PRIVATE N_NOINLINE(tyObject_OSError__BeJgrOdDsczOwEWOZbRfKA*, newOSError__pureZos_379)(NI32 errorCode, NimStringDesc* additionalInfo) {
 735  	tyObject_OSError__BeJgrOdDsczOwEWOZbRfKA* result;
 736  	tyObject_OSError__BeJgrOdDsczOwEWOZbRfKA* e;
 737  	nimfr_("newOSError", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/includes/oserr.nim");
 738  {	result = NIM_NIL;
 739  	e = NIM_NIL;
 740  	nimln_(78, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/includes/oserr.nim");
 741  	e = (tyObject_OSError__BeJgrOdDsczOwEWOZbRfKA*) newObj((&NTIrefoserror__9clYsYwyjCqe2PFTuCI3Ubg_), sizeof(tyObject_OSError__BeJgrOdDsczOwEWOZbRfKA));
 742  	(*e).Sup.Sup.Sup.m_type = (&NTIoserror__BeJgrOdDsczOwEWOZbRfKA_);
 743  	(*e).Sup.Sup.name = "OSError";
 744  	nimln_(79, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/includes/oserr.nim");
 745  	(*e).errorCode = errorCode;
 746  	nimln_(80, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/includes/oserr.nim");
 747  	asgnRef((void**) (&(*e).Sup.Sup.message), osErrorMsg__pureZos_358(errorCode));
 748  	nimln_(81, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/includes/oserr.nim");
 749  	{
 750  		if (!(((NI) 0) < (additionalInfo ? additionalInfo->Sup.len : 0))) goto LA3_;
 751  		nimln_(82, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/includes/oserr.nim");
 752  		{
 753  			NIM_BOOL T7_;
 754  			NIM_CHAR* T9_;
 755  			T7_ = (NIM_BOOL)0;
 756  			T7_ = (((NI) 0) < ((*e).Sup.Sup.message ? (*e).Sup.Sup.message->Sup.len : 0));
 757  			if (!(T7_)) goto LA8_;
 758  			T9_ = (NIM_CHAR*)0;
 759  			T9_ = X5BX5D___system_7408((&(*e).Sup.Sup.message), ((NI) 1));
 760  			T7_ = !(((NU8)((*T9_)) == (NU8)(10)));
 761  			LA8_: ;
 762  			if (!T7_) goto LA10_;
 763  			asgnRef((void**) (&(*e).Sup.Sup.message), addChar((*e).Sup.Sup.message, 10));
 764  		}
 765  		LA10_: ;
 766  		nimln_(83, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/includes/oserr.nim");
 767  		asgnRef((void**) (&(*e).Sup.Sup.message), resizeString((*e).Sup.Sup.message, 17));
 768  appendString((*e).Sup.Sup.message, ((NimStringDesc*) &TM__yu6cxgKBBXbNsTkT9cyMd4g_4));
 769  		nimln_(84, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/includes/oserr.nim");
 770  		asgnRef((void**) (&(*e).Sup.Sup.message), resizeString((*e).Sup.Sup.message, (additionalInfo ? additionalInfo->Sup.len : 0) + 0));
 771  appendString((*e).Sup.Sup.message, additionalInfo);
 772  	}
 773  	LA3_: ;
 774  	nimln_(86, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/includes/oserr.nim");
 775  	{
 776  		NimStringDesc* T16_;
 777  		if (!(((*e).Sup.Sup.message ? (*e).Sup.Sup.message->Sup.len : 0) == 0)) goto LA14_;
 778  		nimln_(87, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/includes/oserr.nim");
 779  		T16_ = NIM_NIL;
 780  		T16_ = (*e).Sup.Sup.message; (*e).Sup.Sup.message = copyStringRC1(((NimStringDesc*) &TM__yu6cxgKBBXbNsTkT9cyMd4g_5));
 781  		if (T16_) nimGCunrefNoCycle(T16_);
 782  	}
 783  	LA14_: ;
 784  	nimln_(88, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/includes/oserr.nim");
 785  	result = e;
 786  	goto BeforeRet_;
 787  	}BeforeRet_: ;
 788  	popFrame();
 789  	return result;
 790  }
 791  N_LIB_PRIVATE N_NOINLINE(void, raiseOSError__pureZos_405)(NI32 errorCode, NimStringDesc* additionalInfo) {
 792  	tyObject_OSError__BeJgrOdDsczOwEWOZbRfKA* T1_;
 793  	nimfr_("raiseOSError", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/includes/oserr.nim");
 794  	nimln_(95, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/includes/oserr.nim");
 795  	T1_ = NIM_NIL;
 796  	T1_ = newOSError__pureZos_379(errorCode, additionalInfo);
 797  	raiseExceptionEx((Exception*)T1_, "OSError", "raiseOSError", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/includes/oserr.nim", 95);
 798  	popFrame();
 799  }
 800  N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nosgetCurrentDir)(void) {
 801  	NimStringDesc* result;
 802  	NI bufsize;
 803  	nimfr_("getCurrentDir", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
 804  	result = NIM_NIL;
 805  	nimln_(1407, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
 806  	bufsize = ((NI) 1024);
 807  	nimln_(1408, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
 808  	if ((bufsize) < ((NI) 0) || (bufsize) > ((NI) IL64(9223372036854775807))){ raiseRangeErrorI(bufsize, ((NI) 0), ((NI) IL64(9223372036854775807))); }
 809  	result = mnewString(((NI) (bufsize)));
 810  	{
 811  		nimln_(1409, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
 812  		while (1) {
 813  			nimln_(1410, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
 814  			{
 815  				NCSTRING T5_;
 816  				NIM_BOOL T6_;
 817  				int T9_;
 818  				T5_ = (NCSTRING)0;
 819  				T5_ = getcwd(nimToCStringConv(result), bufsize);
 820  				T6_ = (NIM_BOOL)0;
 821  				T6_ = eqeq___system_7770(T5_, ((NCSTRING) NIM_NIL));
 822  				if (!!(T6_)) goto LA7_;
 823  				nimln_(1411, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
 824  				T9_ = (int)0;
 825  				T9_ = strlen(nimToCStringConv(result));
 826  				if ((T9_) < ((NI) 0) || (T9_) > ((NI) IL64(9223372036854775807))){ raiseRangeErrorI(T9_, ((NI) 0), ((NI) IL64(9223372036854775807))); }
 827  				result = setLengthStr(result, ((NI) (T9_)));
 828  				nimln_(1412, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
 829  				goto LA1;
 830  			}
 831  			goto LA3_;
 832  			LA7_: ;
 833  			{
 834  				NI32 err;
 835  				nimln_(1414, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
 836  				err = osLastError__pureZos_408();
 837  				nimln_(1415, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
 838  				{
 839  					if (!(err == ((int) 34))) goto LA13_;
 840  					nimln_(1416, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
 841  					bufsize = (NI)((NU64)(bufsize) << (NU64)(((NI) 1)));
 842  					nimln_(1417, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
 843  					{
 844  						if (!!((((NI) 0) <= bufsize))) goto LA17_;
 845  						failedAssertImpl__systemZassertions_56(((NimStringDesc*) &TM__yu6cxgKBBXbNsTkT9cyMd4g_2));
 846  					}
 847  					LA17_: ;
 848  					nimln_(1418, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
 849  					if ((bufsize) < ((NI) 0) || (bufsize) > ((NI) IL64(9223372036854775807))){ raiseRangeErrorI(bufsize, ((NI) 0), ((NI) IL64(9223372036854775807))); }
 850  					result = mnewString(((NI) (bufsize)));
 851  				}
 852  				goto LA11_;
 853  				LA13_: ;
 854  				{
 855  					NI32 T20_;
 856  					nimln_(1420, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
 857  					T20_ = (NI32)0;
 858  					T20_ = osLastError__pureZos_408();
 859  					raiseOSError__pureZos_405(T20_, ((NimStringDesc*) NIM_NIL));
 860  				}
 861  				LA11_: ;
 862  			}
 863  			LA3_: ;
 864  		}
 865  	} LA1: ;
 866  	popFrame();
 867  	return result;
 868  }
 869  N_LIB_PRIVATE N_NIMCALL(NI, paramCount__pureZos_1532)(void) {
 870  	NI result;
 871  	NI TM__yu6cxgKBBXbNsTkT9cyMd4g_6;
 872  	nimfr_("paramCount", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
 873  	result = (NI)0;
 874  	nimln_(2969, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
 875  	if (nimSubInt(cmdCount, ((NI32) 1), &TM__yu6cxgKBBXbNsTkT9cyMd4g_6)) { raiseOverflow(); };
 876  	if (TM__yu6cxgKBBXbNsTkT9cyMd4g_6 < (-2147483647 -1) || TM__yu6cxgKBBXbNsTkT9cyMd4g_6 > 2147483647){ raiseOverflow(); }
 877  	result = ((NI) ((NI32)(TM__yu6cxgKBBXbNsTkT9cyMd4g_6)));
 878  	popFrame();
 879  	return result;
 880  }
 881  N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, paramStr__pureZos_1526)(NI i) {
 882  	NimStringDesc* result;
 883  	nimfr_("paramStr", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
 884  	result = NIM_NIL;
 885  	nimln_(2962, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
 886  	{
 887  		NIM_BOOL T3_;
 888  		T3_ = (NIM_BOOL)0;
 889  		T3_ = (i < ((NI) (cmdCount)));
 890  		if (!(T3_)) goto LA4_;
 891  		T3_ = (((NI) 0) <= i);
 892  		LA4_: ;
 893  		if (!T3_) goto LA5_;
 894  		nimln_(2963, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
 895  		result = cstrToNimstr(cmdLine[i]);
 896  	}
 897  	goto LA1_;
 898  	LA5_: ;
 899  	{
 900  		tyObject_IndexDefect__n6tGEPHKkh7E1AP9bj30WrQ* T8_;
 901  		T8_ = NIM_NIL;
 902  		T8_ = (tyObject_IndexDefect__n6tGEPHKkh7E1AP9bj30WrQ*) newObj((&NTIrefindexdefect__RJnHOb9cQV3neNC9cDkRgMyw_), sizeof(tyObject_IndexDefect__n6tGEPHKkh7E1AP9bj30WrQ));
 903  		(*T8_).Sup.Sup.Sup.m_type = (&NTIindexdefect__n6tGEPHKkh7E1AP9bj30WrQ_);
 904  		(*T8_).Sup.Sup.name = "IndexDefect";
 905  		nimln_(2965, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
 906  		{
 907  			NI TM__yu6cxgKBBXbNsTkT9cyMd4g_7;
 908  			NimStringDesc* T13_;
 909  			nimln_(8, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/indexerrors.nim");
 910  			nimln_(2965, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
 911  			if (nimSubInt(cmdCount, ((NI32) 1), &TM__yu6cxgKBBXbNsTkT9cyMd4g_7)) { raiseOverflow(); };
 912  			if (TM__yu6cxgKBBXbNsTkT9cyMd4g_7 < (-2147483647 -1) || TM__yu6cxgKBBXbNsTkT9cyMd4g_7 > 2147483647){ raiseOverflow(); }
 913  			if (!((NI32)(TM__yu6cxgKBBXbNsTkT9cyMd4g_7) < ((NI32) 0))) goto LA11_;
 914  			T13_ = NIM_NIL;
 915  			T13_ = (*T8_).Sup.Sup.message; (*T8_).Sup.Sup.message = copyStringRC1(((NimStringDesc*) &TM__yu6cxgKBBXbNsTkT9cyMd4g_8));
 916  			if (T13_) nimGCunrefNoCycle(T13_);
 917  		}
 918  		goto LA9_;
 919  		LA11_: ;
 920  		{
 921  			NimStringDesc* T15_;
 922  			NimStringDesc* T16_;
 923  			NI TM__yu6cxgKBBXbNsTkT9cyMd4g_11;
 924  			NimStringDesc* T17_;
 925  			nimln_(9, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/indexerrors.nim");
 926  			T15_ = NIM_NIL;
 927  			T16_ = NIM_NIL;
 928  			T16_ = dollar___systemZdollars_3(i);
 929  			nimln_(2965, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
 930  			if (nimSubInt(cmdCount, ((NI32) 1), &TM__yu6cxgKBBXbNsTkT9cyMd4g_11)) { raiseOverflow(); };
 931  			if (TM__yu6cxgKBBXbNsTkT9cyMd4g_11 < (-2147483647 -1) || TM__yu6cxgKBBXbNsTkT9cyMd4g_11 > 2147483647){ raiseOverflow(); }
 932  			nimln_(9, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/indexerrors.nim");
 933  			T17_ = NIM_NIL;
 934  			T17_ = dollar___systemZdollars_3(((NI) ((NI32)(TM__yu6cxgKBBXbNsTkT9cyMd4g_11))));
 935  			T15_ = rawNewString((T16_ ? T16_->Sup.len : 0) + (T17_ ? T17_->Sup.len : 0) + 19);
 936  appendString(T15_, ((NimStringDesc*) &TM__yu6cxgKBBXbNsTkT9cyMd4g_9));
 937  appendString(T15_, T16_);
 938  appendString(T15_, ((NimStringDesc*) &TM__yu6cxgKBBXbNsTkT9cyMd4g_10));
 939  appendString(T15_, T17_);
 940  			asgnRef((void**) (&(*T8_).Sup.Sup.message), T15_);
 941  		}
 942  		LA9_: ;
 943  		asgnRef((void**) (&(*T8_).Sup.Sup.parent), ((Exception*) NIM_NIL));
 944  		nimln_(2965, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
 945  		raiseExceptionEx((Exception*)T8_, "IndexDefect", "paramStr", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim", 2965);
 946  	}
 947  	LA1_: ;
 948  	popFrame();
 949  	return result;
 950  }
 951  N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nosnormalizedPath)(NimStringDesc* path) {
 952  	NimStringDesc* result;
 953  	nimfr_("normalizedPath", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
 954  	result = NIM_NIL;
 955  	nimln_(1533, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
 956  	result = normalizePath__pureZpathnorm_127(path, 47);
 957  	popFrame();
 958  	return result;
 959  }
 960  static N_INLINE(NIM_CHAR, X5BX5D___system_7375)(NimStringDesc* s, NI i) {
 961  	NIM_CHAR result;
 962  	NI TM__yu6cxgKBBXbNsTkT9cyMd4g_13;
 963  	nimfr_("[]", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system.nim");
 964  	result = (NIM_CHAR)0;
 965  	nimln_(2646, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system.nim");
 966  	if (nimSubInt((s ? s->Sup.len : 0), i, &TM__yu6cxgKBBXbNsTkT9cyMd4g_13)) { raiseOverflow(); };
 967  	if ((NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_13) < 0 || (NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_13) >= (s ? s->Sup.len : 0)){ raiseIndexError2((NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_13),(s ? s->Sup.len : 0)-1); }
 968  	result = s->data[(NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_13)];
 969  	popFrame();
 970  	return result;
 971  }
 972  N_LIB_PRIVATE N_NIMCALL(void, normalizePathEnd__pureZos_51)(NimStringDesc** path, NIM_BOOL trailingSep) {
 973  	NI i;
 974  	nimfr_("normalizePathEnd", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
 975  {	nimln_(104, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
 976  	{
 977  		if (!(((*path) ? (*path)->Sup.len : 0) == ((NI) 0))) goto LA3_;
 978  		goto BeforeRet_;
 979  	}
 980  	LA3_: ;
 981  	nimln_(105, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
 982  	i = ((*path) ? (*path)->Sup.len : 0);
 983  	{
 984  		nimln_(106, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
 985  		while (1) {
 986  			if (!(((NI) 1) <= i)) goto LA6;
 987  			nimln_(107, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
 988  			{
 989  				NI TM__yu6cxgKBBXbNsTkT9cyMd4g_14;
 990  				NI TM__yu6cxgKBBXbNsTkT9cyMd4g_15;
 991  				if (nimSubInt(i, ((NI) 1), &TM__yu6cxgKBBXbNsTkT9cyMd4g_14)) { raiseOverflow(); };
 992  				if ((NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_14) < 0 || (NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_14) >= ((*path) ? (*path)->Sup.len : 0)){ raiseIndexError2((NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_14),((*path) ? (*path)->Sup.len : 0)-1); }
 993  				if (!(((NU8)((*path)->data[(NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_14)])) == ((NU8)(47)) || ((NU8)((*path)->data[(NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_14)])) == ((NU8)(47)))) goto LA9_;
 994  				if (nimSubInt(i, ((NI) 1), &TM__yu6cxgKBBXbNsTkT9cyMd4g_15)) { raiseOverflow(); };
 995  				i = (NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_15);
 996  			}
 997  			goto LA7_;
 998  			LA9_: ;
 999  			{
1000  				NIM_BOOL T12_;
1001  				NIM_BOOL T13_;
1002  				NI TM__yu6cxgKBBXbNsTkT9cyMd4g_16;
1003  				NI TM__yu6cxgKBBXbNsTkT9cyMd4g_17;
1004  				NI TM__yu6cxgKBBXbNsTkT9cyMd4g_18;
1005  				nimln_(108, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
1006  				T12_ = (NIM_BOOL)0;
1007  				T13_ = (NIM_BOOL)0;
1008  				if (nimSubInt(i, ((NI) 1), &TM__yu6cxgKBBXbNsTkT9cyMd4g_16)) { raiseOverflow(); };
1009  				if ((NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_16) < 0 || (NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_16) >= ((*path) ? (*path)->Sup.len : 0)){ raiseIndexError2((NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_16),((*path) ? (*path)->Sup.len : 0)-1); }
1010  				T13_ = ((NU8)((*path)->data[(NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_16)]) == (NU8)(46));
1011  				if (!(T13_)) goto LA14_;
1012  				T13_ = (((NI) 2) <= i);
1013  				LA14_: ;
1014  				T12_ = T13_;
1015  				if (!(T12_)) goto LA15_;
1016  				if (nimSubInt(i, ((NI) 2), &TM__yu6cxgKBBXbNsTkT9cyMd4g_17)) { raiseOverflow(); };
1017  				if ((NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_17) < 0 || (NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_17) >= ((*path) ? (*path)->Sup.len : 0)){ raiseIndexError2((NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_17),((*path) ? (*path)->Sup.len : 0)-1); }
1018  				T12_ = (((NU8)((*path)->data[(NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_17)])) == ((NU8)(47)) || ((NU8)((*path)->data[(NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_17)])) == ((NU8)(47)));
1019  				LA15_: ;
1020  				if (!T12_) goto LA16_;
1021  				if (nimSubInt(i, ((NI) 1), &TM__yu6cxgKBBXbNsTkT9cyMd4g_18)) { raiseOverflow(); };
1022  				i = (NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_18);
1023  			}
1024  			goto LA7_;
1025  			LA16_: ;
1026  			{
1027  				nimln_(109, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
1028  				goto LA5;
1029  			}
1030  			LA7_: ;
1031  		} LA6: ;
1032  	} LA5: ;
1033  	nimln_(110, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
1034  	{
1035  		if (!trailingSep) goto LA21_;
1036  		nimln_(112, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
1037  		if ((i) < ((NI) 0) || (i) > ((NI) IL64(9223372036854775807))){ raiseRangeErrorI(i, ((NI) 0), ((NI) IL64(9223372036854775807))); }
1038  		unsureAsgnRef((void**) (&(*path)), setLengthStr((*path), ((NI) (i))));
1039  		nimln_(114, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
1040  		unsureAsgnRef((void**) (&(*path)), addChar((*path), 47));
1041  	}
1042  	goto LA19_;
1043  	LA21_: ;
1044  	{
1045  		nimln_(115, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
1046  		if (!(((NI) 0) < i)) goto LA24_;
1047  		nimln_(117, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
1048  		if ((i) < ((NI) 0) || (i) > ((NI) IL64(9223372036854775807))){ raiseRangeErrorI(i, ((NI) 0), ((NI) IL64(9223372036854775807))); }
1049  		unsureAsgnRef((void**) (&(*path)), setLengthStr((*path), ((NI) (i))));
1050  	}
1051  	goto LA19_;
1052  	LA24_: ;
1053  	{
1054  		nimln_(120, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
1055  		unsureAsgnRef((void**) (&(*path)), copyString(((NimStringDesc*) &TM__yu6cxgKBBXbNsTkT9cyMd4g_19)));
1056  	}
1057  	LA19_: ;
1058  	}BeforeRet_: ;
1059  	popFrame();
1060  }
1061  N_LIB_PRIVATE N_NIMCALL(void, joinPathImpl__pureZos_82)(NimStringDesc** result, NI* state, NimStringDesc* tail) {
1062  	NIM_BOOL trailingSep;
1063  	NIM_BOOL T1_;
1064  	NIM_BOOL T2_;
1065  	NIM_CHAR T4_;
1066  	NIM_BOOL T6_;
1067  	NIM_BOOL T8_;
1068  	NIM_CHAR* T10_;
1069  	nimfr_("joinPathImpl", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
1070  	nimln_(141, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
1071  	T1_ = (NIM_BOOL)0;
1072  	T2_ = (NIM_BOOL)0;
1073  	nimln_(138, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
1074  	T2_ = (((NI) 0) < (tail ? tail->Sup.len : 0));
1075  	if (!(T2_)) goto LA3_;
1076  	T4_ = (NIM_CHAR)0;
1077  	T4_ = X5BX5D___system_7375(tail, ((NI) 1));
1078  	T2_ = (((NU8)(T4_)) == ((NU8)(47)) || ((NU8)(T4_)) == ((NU8)(47)));
1079  	LA3_: ;
1080  	T1_ = T2_;
1081  	if (T1_) goto LA5_;
1082  	nimln_(141, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
1083  	T6_ = (NIM_BOOL)0;
1084  	T6_ = ((tail ? tail->Sup.len : 0) == ((NI) 0));
1085  	if (!(T6_)) goto LA7_;
1086  	T8_ = (NIM_BOOL)0;
1087  	nimln_(138, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
1088  	T8_ = (((NI) 0) < ((*result) ? (*result)->Sup.len : 0));
1089  	if (!(T8_)) goto LA9_;
1090  	T10_ = (NIM_CHAR*)0;
1091  	T10_ = X5BX5D___system_7408(result, ((NI) 1));
1092  	T8_ = (((NU8)((*T10_))) == ((NU8)(47)) || ((NU8)((*T10_))) == ((NU8)(47)));
1093  	LA9_: ;
1094  	T6_ = T8_;
1095  	LA7_: ;
1096  	T1_ = T6_;
1097  	LA5_: ;
1098  	trailingSep = T1_;
1099  	nimln_(142, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
1100  	normalizePathEnd__pureZos_51(result, NIM_FALSE);
1101  	nimln_(143, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
1102  	addNormalizePath__pureZpathnorm_71(tail, result, state, 47);
1103  	nimln_(144, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
1104  	normalizePathEnd__pureZos_51(result, trailingSep);
1105  	popFrame();
1106  }
1107  N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nosjoinPath)(NimStringDesc* head, NimStringDesc* tail) {
1108  	NimStringDesc* result;
1109  	NI TM__yu6cxgKBBXbNsTkT9cyMd4g_12;
1110  	NI state;
1111  	nimfr_("joinPath", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
1112  	result = NIM_NIL;
1113  	nimln_(172, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
1114  	if (nimAddInt((head ? head->Sup.len : 0), (tail ? tail->Sup.len : 0), &TM__yu6cxgKBBXbNsTkT9cyMd4g_12)) { raiseOverflow(); };
1115  	if (((NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_12)) < ((NI) 0) || ((NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_12)) > ((NI) IL64(9223372036854775807))){ raiseRangeErrorI((NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_12), ((NI) 0), ((NI) IL64(9223372036854775807))); }
1116  	result = rawNewString(((NI) ((NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_12))));
1117  	nimln_(173, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
1118  	state = ((NI) 0);
1119  	nimln_(174, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
1120  	joinPathImpl__pureZos_82((&result), (&state), head);
1121  	nimln_(175, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
1122  	joinPathImpl__pureZos_82((&result), (&state), tail);
1123  	popFrame();
1124  	return result;
1125  }
1126  N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, getEnv__pureZos_418)(NimStringDesc* key, NimStringDesc* default_0) {
1127  	NimStringDesc* result;
1128  	NCSTRING env;
1129  	nimfr_("getEnv", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/includes/osenv.nim");
1130  {	result = NIM_NIL;
1131  	nimln_(70, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/includes/osenv.nim");
1132  	env = getenv(nimToCStringConv(key));
1133  	nimln_(71, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/includes/osenv.nim");
1134  	{
1135  		NIM_BOOL T3_;
1136  		T3_ = (NIM_BOOL)0;
1137  		T3_ = eqeq___system_7770(env, ((NCSTRING) NIM_NIL));
1138  		if (!T3_) goto LA4_;
1139  		result = copyString(default_0);
1140  		goto BeforeRet_;
1141  	}
1142  	LA4_: ;
1143  	nimln_(72, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/includes/osenv.nim");
1144  	result = cstrToNimstr(env);
1145  	}BeforeRet_: ;
1146  	popFrame();
1147  	return result;
1148  }
1149  N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nosgetHomeDir)(void) {
1150  	NimStringDesc* result;
1151  	NimStringDesc* T1_;
1152  	NimStringDesc* T2_;
1153  	nimfr_("getHomeDir", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
1154  {	result = NIM_NIL;
1155  	nimln_(893, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
1156  	T1_ = NIM_NIL;
1157  	T2_ = NIM_NIL;
1158  	T2_ = getEnv__pureZos_418(((NimStringDesc*) &TM__yu6cxgKBBXbNsTkT9cyMd4g_20), ((NimStringDesc*) NIM_NIL));
1159  	T1_ = rawNewString((T2_ ? T2_->Sup.len : 0) + 1);
1160  appendString(T1_, T2_);
1161  appendString(T1_, ((NimStringDesc*) &TM__yu6cxgKBBXbNsTkT9cyMd4g_19));
1162  	result = T1_;
1163  	goto BeforeRet_;
1164  	}BeforeRet_: ;
1165  	popFrame();
1166  	return result;
1167  }
1168  static N_INLINE(NimStringDesc*, slash___pureZos_121)(NimStringDesc* head, NimStringDesc* tail) {
1169  	NimStringDesc* result;
1170  	nimfr_("/", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
1171  	result = NIM_NIL;
1172  	nimln_(234, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
1173  	result = nosjoinPath(head, tail);
1174  	popFrame();
1175  	return result;
1176  }
1177  N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nosgetConfigDir)(void) {
1178  	NimStringDesc* result;
1179  	NimStringDesc* T1_;
1180  	NimStringDesc* T2_;
1181  	nimfr_("getConfigDir", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
1182  	result = NIM_NIL;
1183  	nimln_(916, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
1184  	T1_ = NIM_NIL;
1185  	T1_ = getEnv__pureZos_418(((NimStringDesc*) &TM__yu6cxgKBBXbNsTkT9cyMd4g_20), ((NimStringDesc*) NIM_NIL));
1186  	T2_ = NIM_NIL;
1187  	T2_ = slash___pureZos_121(T1_, ((NimStringDesc*) &TM__yu6cxgKBBXbNsTkT9cyMd4g_22));
1188  	result = getEnv__pureZos_418(((NimStringDesc*) &TM__yu6cxgKBBXbNsTkT9cyMd4g_21), T2_);
1189  	nimln_(917, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
1190  	normalizePathEnd__pureZos_51((&result), NIM_TRUE);
1191  	popFrame();
1192  	return result;
1193  }
1194  N_LIB_PRIVATE N_NIMCALL(void, nossplitPath)(NimStringDesc* path, tyTuple__UV3llMMYFckfui8YMBuUZA* Result) {
1195  	NI sepPos;
1196  	nimfr_("splitPath", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
1197  	unsureAsgnRef((void**)&(*Result).Field0, NIM_NIL);
1198  	unsureAsgnRef((void**)&(*Result).Field1, NIM_NIL);
1199  	nimln_(258, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
1200  	sepPos = ((NI) -1);
1201  	{
1202  		NI i;
1203  		NI colontmp_;
1204  		NI TM__yu6cxgKBBXbNsTkT9cyMd4g_23;
1205  		NI res;
1206  		i = (NI)0;
1207  		colontmp_ = (NI)0;
1208  		nimln_(259, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
1209  		if (nimSubInt((path ? path->Sup.len : 0), ((NI) 1), &TM__yu6cxgKBBXbNsTkT9cyMd4g_23)) { raiseOverflow(); };
1210  		colontmp_ = (NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_23);
1211  		nimln_(33, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/iterators_1.nim");
1212  		res = colontmp_;
1213  		{
1214  			nimln_(34, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/iterators_1.nim");
1215  			while (1) {
1216  				NI TM__yu6cxgKBBXbNsTkT9cyMd4g_24;
1217  				if (!(((NI) 0) <= res)) goto LA3;
1218  				nimln_(259, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
1219  				i = res;
1220  				{
1221  					nimln_(260, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
1222  					if (i < 0 || i >= (path ? path->Sup.len : 0)){ raiseIndexError2(i,(path ? path->Sup.len : 0)-1); }
1223  					if (!(((NU8)(path->data[i])) == ((NU8)(47)) || ((NU8)(path->data[i])) == ((NU8)(47)))) goto LA6_;
1224  					nimln_(261, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
1225  					sepPos = i;
1226  					nimln_(262, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
1227  					goto LA1;
1228  				}
1229  				LA6_: ;
1230  				nimln_(36, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/iterators_1.nim");
1231  				if (nimSubInt(res, ((NI) 1), &TM__yu6cxgKBBXbNsTkT9cyMd4g_24)) { raiseOverflow(); };
1232  				res = (NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_24);
1233  			} LA3: ;
1234  		}
1235  	} LA1: ;
1236  	nimln_(263, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
1237  	{
1238  		NI T12_;
1239  		NI TM__yu6cxgKBBXbNsTkT9cyMd4g_26;
1240  		if (!(((NI) 0) <= sepPos)) goto LA10_;
1241  		nimln_(264, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
1242  		T12_ = (NI)0;
1243  		nimln_(268, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
1244  		{
1245  			NIM_BOOL T15_;
1246  			NI TM__yu6cxgKBBXbNsTkT9cyMd4g_25;
1247  			nimln_(2093, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system.nim");
1248  			nimln_(268, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
1249  			nimln_(2093, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system.nim");
1250  			T15_ = (NIM_BOOL)0;
1251  			T15_ = NIM_LIKELY((((NI) 1) <= sepPos));
1252  			if (!T15_) goto LA16_;
1253  			nimln_(268, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
1254  			if (nimSubInt(sepPos, ((NI) 1), &TM__yu6cxgKBBXbNsTkT9cyMd4g_25)) { raiseOverflow(); };
1255  			T12_ = (NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_25);
1256  		}
1257  		goto LA13_;
1258  		LA16_: ;
1259  		{
1260  			T12_ = ((NI) 0);
1261  		}
1262  		LA13_: ;
1263  		nimln_(264, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
1264  		unsureAsgnRef((void**) (&(*Result).Field0), substr__system_7790(path, ((NI) 0), T12_));
1265  		nimln_(270, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
1266  		if (nimAddInt(sepPos, ((NI) 1), &TM__yu6cxgKBBXbNsTkT9cyMd4g_26)) { raiseOverflow(); };
1267  		unsureAsgnRef((void**) (&(*Result).Field1), substr__system_7802(path, (NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_26)));
1268  	}
1269  	goto LA8_;
1270  	LA10_: ;
1271  	{
1272  		nimln_(272, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
1273  		unsureAsgnRef((void**) (&(*Result).Field0), ((NimStringDesc*) NIM_NIL));
1274  		nimln_(273, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
1275  		unsureAsgnRef((void**) (&(*Result).Field1), copyString(path));
1276  	}
1277  	LA8_: ;
1278  	popFrame();
1279  }
1280  static N_INLINE(NI, find__pureZos_658)(NIM_CHAR* a, NI aLen_0, NIM_CHAR item) {
1281  	NI result;
1282  	nimfr_("find", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system.nim");
1283  {	result = (NI)0;
1284  	nimln_(1837, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system.nim");
1285  	result = ((NI) 0);
1286  	{
1287  		NIM_CHAR i;
1288  		NI i_2;
1289  		i = (NIM_CHAR)0;
1290  		nimln_(18, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/iterators.nim");
1291  		i_2 = ((NI) 0);
1292  		{
1293  			nimln_(19, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/iterators.nim");
1294  			while (1) {
1295  				NI TM__yu6cxgKBBXbNsTkT9cyMd4g_27;
1296  				NI TM__yu6cxgKBBXbNsTkT9cyMd4g_28;
1297  				if (!(i_2 < aLen_0)) goto LA3;
1298  				nimln_(1838, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system.nim");
1299  				if (i_2 < 0 || i_2 >= aLen_0){ raiseIndexError2(i_2,aLen_0-1); }
1300  				i = a[i_2];
1301  				{
1302  					nimln_(1839, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system.nim");
1303  					if (!((NU8)(i) == (NU8)(item))) goto LA6_;
1304  					goto BeforeRet_;
1305  				}
1306  				LA6_: ;
1307  				nimln_(1838, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system.nim");
1308  				if (nimAddInt(result, ((NI) 1), &TM__yu6cxgKBBXbNsTkT9cyMd4g_27)) { raiseOverflow(); };
1309  				result = (NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_27);
1310  				nimln_(21, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/iterators.nim");
1311  				if (nimAddInt(i_2, ((NI) 1), &TM__yu6cxgKBBXbNsTkT9cyMd4g_28)) { raiseOverflow(); };
1312  				i_2 = (NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_28);
1313  			} LA3: ;
1314  		}
1315  	}
1316  	nimln_(1841, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system.nim");
1317  	result = ((NI) -1);
1318  	}BeforeRet_: ;
1319  	popFrame();
1320  	return result;
1321  }
1322  static N_INLINE(NIM_BOOL, contains__pureZos_653)(NIM_CHAR* a, NI aLen_0, NIM_CHAR item) {
1323  	NIM_BOOL result;
1324  	NI T1_;
1325  	nimfr_("contains", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system.nim");
1326  {	result = (NIM_BOOL)0;
1327  	nimln_(1855, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system.nim");
1328  	T1_ = (NI)0;
1329  	T1_ = find__pureZos_658(a, aLen_0, item);
1330  	result = (((NI) 0) <= T1_);
1331  	goto BeforeRet_;
1332  	}BeforeRet_: ;
1333  	popFrame();
1334  	return result;
1335  }
1336  N_LIB_PRIVATE N_NIMCALL(NI, searchExtPos__pureZos_271)(NimStringDesc* path) {
1337  	NI result;
1338  	nimfr_("searchExtPos", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
1339  	result = (NI)0;
1340  	nimln_(638, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
1341  	result = ((NI) -1);
1342  	{
1343  		NI i;
1344  		NI colontmp_;
1345  		NI TM__yu6cxgKBBXbNsTkT9cyMd4g_29;
1346  		NI res;
1347  		i = (NI)0;
1348  		colontmp_ = (NI)0;
1349  		nimln_(639, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
1350  		if (nimSubInt((path ? path->Sup.len : 0), ((NI) 1), &TM__yu6cxgKBBXbNsTkT9cyMd4g_29)) { raiseOverflow(); };
1351  		colontmp_ = (NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_29);
1352  		nimln_(33, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/iterators_1.nim");
1353  		res = colontmp_;
1354  		{
1355  			nimln_(34, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/iterators_1.nim");
1356  			while (1) {
1357  				NI TM__yu6cxgKBBXbNsTkT9cyMd4g_30;
1358  				if (!(((NI) 1) <= res)) goto LA3;
1359  				nimln_(639, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
1360  				i = res;
1361  				{
1362  					nimln_(640, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
1363  					if (i < 0 || i >= (path ? path->Sup.len : 0)){ raiseIndexError2(i,(path ? path->Sup.len : 0)-1); }
1364  					if (!((NU8)(path->data[i]) == (NU8)(46))) goto LA6_;
1365  					nimln_(641, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
1366  					result = i;
1367  					nimln_(642, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
1368  					goto LA1;
1369  				}
1370  				goto LA4_;
1371  				LA6_: ;
1372  				{
1373  					nimln_(643, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
1374  					if (i < 0 || i >= (path ? path->Sup.len : 0)){ raiseIndexError2(i,(path ? path->Sup.len : 0)-1); }
1375  					if (!(((NU8)(path->data[i])) == ((NU8)(47)) || ((NU8)(path->data[i])) == ((NU8)(47)))) goto LA9_;
1376  					nimln_(644, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
1377  					goto LA1;
1378  				}
1379  				goto LA4_;
1380  				LA9_: ;
1381  				LA4_: ;
1382  				nimln_(36, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/iterators_1.nim");
1383  				if (nimSubInt(res, ((NI) 1), &TM__yu6cxgKBBXbNsTkT9cyMd4g_30)) { raiseOverflow(); };
1384  				res = (NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_30);
1385  			} LA3: ;
1386  		}
1387  	} LA1: ;
1388  	popFrame();
1389  	return result;
1390  }
1391  static N_INLINE(void, appendChar)(NimStringDesc* dest, NIM_CHAR c) {
1392  	(*dest).data[(*dest).Sup.len] = c;
1393  	(*dest).data[(NI)((*dest).Sup.len + ((NI) 1))] = 0;
1394  	(*dest).Sup.len += ((NI) 1);
1395  }
1396  N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, normExt__pureZos_268)(NimStringDesc* ext) {
1397  	NimStringDesc* result;
1398  	nimfr_("normExt", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
1399  	result = NIM_NIL;
1400  	nimln_(618, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
1401  	{
1402  		NIM_BOOL T3_;
1403  		T3_ = (NIM_BOOL)0;
1404  		T3_ = ((ext ? ext->Sup.len : 0) == 0);
1405  		if (T3_) goto LA4_;
1406  		if (((NI) 0) < 0 || ((NI) 0) >= (ext ? ext->Sup.len : 0)){ raiseIndexError2(((NI) 0),(ext ? ext->Sup.len : 0)-1); }
1407  		T3_ = ((NU8)(ext->data[((NI) 0)]) == (NU8)(46));
1408  		LA4_: ;
1409  		if (!T3_) goto LA5_;
1410  		result = copyString(ext);
1411  	}
1412  	goto LA1_;
1413  	LA5_: ;
1414  	{
1415  		NimStringDesc* T8_;
1416  		nimln_(619, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
1417  		T8_ = NIM_NIL;
1418  		T8_ = rawNewString((ext ? ext->Sup.len : 0) + 1);
1419  appendChar(T8_, 46);
1420  appendString(T8_, ext);
1421  		result = T8_;
1422  	}
1423  	LA1_: ;
1424  	popFrame();
1425  	return result;
1426  }
1427  N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nosaddFileExt)(NimStringDesc* filename, NimStringDesc* ext) {
1428  	NimStringDesc* result;
1429  	NI extPos;
1430  	nimfr_("addFileExt", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
1431  	result = NIM_NIL;
1432  	nimln_(786, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
1433  	extPos = searchExtPos__pureZos_271(filename);
1434  	nimln_(787, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
1435  	{
1436  		NimStringDesc* T5_;
1437  		NimStringDesc* T6_;
1438  		if (!(extPos < ((NI) 0))) goto LA3_;
1439  		T5_ = NIM_NIL;
1440  		T6_ = NIM_NIL;
1441  		T6_ = normExt__pureZos_268(ext);
1442  		T5_ = rawNewString((filename ? filename->Sup.len : 0) + (T6_ ? T6_->Sup.len : 0) + 0);
1443  appendString(T5_, filename);
1444  appendString(T5_, T6_);
1445  		result = T5_;
1446  	}
1447  	goto LA1_;
1448  	LA3_: ;
1449  	{
1450  		nimln_(788, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
1451  		result = copyString(filename);
1452  	}
1453  	LA1_: ;
1454  	popFrame();
1455  	return result;
1456  }
1457  static N_INLINE(void, nimSetMem__systemZmemory_7)(void* a, int v, NI size) {
1458  	void* T1_;
1459  	T1_ = (void*)0;
1460  	T1_ = memset(a, v, ((size_t) (size)));
1461  }
1462  static N_INLINE(void, nimZeroMem)(void* p, NI size) {
1463  	nimSetMem__systemZmemory_7(p, ((int) 0), size);
1464  }
1465  N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, nosfileExists)(NimStringDesc* filename) {
1466  	NIM_BOOL result;
1467  	struct stat res;
1468  	NIM_BOOL T1_;
1469  	int T2_;
1470  	nimfr_("fileExists", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
1471  {	result = (NIM_BOOL)0;
1472  	nimZeroMem((void*)(&res), sizeof(struct stat));
1473  	nimln_(1175, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
1474  	T1_ = (NIM_BOOL)0;
1475  	T2_ = (int)0;
1476  	T2_ = stat(nimToCStringConv(filename), (&res));
1477  	T1_ = (((NI32) 0) <= T2_);
1478  	if (!(T1_)) goto LA3_;
1479  	T1_ = S_ISREG(res.st_mode);
1480  	LA3_: ;
1481  	result = T1_;
1482  	goto BeforeRet_;
1483  	}BeforeRet_: ;
1484  	popFrame();
1485  	return result;
1486  }
1487  N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, expandTilde__pureZos_578)(NimStringDesc* path) {
1488  	NimStringDesc* result;
1489  	nimfr_("expandTilde", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
1490  	result = NIM_NIL;
1491  	nimln_(1037, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
1492  	{
1493  		NIM_BOOL T3_;
1494  		T3_ = (NIM_BOOL)0;
1495  		T3_ = ((path ? path->Sup.len : 0) == ((NI) 0));
1496  		if (T3_) goto LA4_;
1497  		if (((NI) 0) < 0 || ((NI) 0) >= (path ? path->Sup.len : 0)){ raiseIndexError2(((NI) 0),(path ? path->Sup.len : 0)-1); }
1498  		T3_ = !(((NU8)(path->data[((NI) 0)]) == (NU8)(126)));
1499  		LA4_: ;
1500  		if (!T3_) goto LA5_;
1501  		nimln_(1038, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
1502  		result = copyString(path);
1503  	}
1504  	goto LA1_;
1505  	LA5_: ;
1506  	{
1507  		nimln_(1039, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
1508  		if (!((path ? path->Sup.len : 0) == ((NI) 1))) goto LA8_;
1509  		nimln_(1040, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
1510  		result = nosgetHomeDir();
1511  	}
1512  	goto LA1_;
1513  	LA8_: ;
1514  	{
1515  		NimStringDesc* T13_;
1516  		NimStringDesc* T14_;
1517  		nimln_(1041, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
1518  		if (((NI) 1) < 0 || ((NI) 1) >= (path ? path->Sup.len : 0)){ raiseIndexError2(((NI) 1),(path ? path->Sup.len : 0)-1); }
1519  		if (!(((NU8)(path->data[((NI) 1)])) == ((NU8)(47)) || ((NU8)(path->data[((NI) 1)])) == ((NU8)(47)))) goto LA11_;
1520  		nimln_(1042, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
1521  		T13_ = NIM_NIL;
1522  		T13_ = nosgetHomeDir();
1523  		T14_ = NIM_NIL;
1524  		T14_ = substr__system_7802(path, ((NI) 2));
1525  		result = slash___pureZos_121(T13_, T14_);
1526  	}
1527  	goto LA1_;
1528  	LA11_: ;
1529  	{
1530  		nimln_(1045, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
1531  		result = copyString(path);
1532  	}
1533  	LA1_: ;
1534  	popFrame();
1535  	return result;
1536  }
1537  N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, nossymlinkExists)(NimStringDesc* link) {
1538  	NIM_BOOL result;
1539  	struct stat res;
1540  	NIM_BOOL T1_;
1541  	int T2_;
1542  	nimfr_("symlinkExists", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
1543  	result = (NIM_BOOL)0;
1544  	nimZeroMem((void*)(&res), sizeof(struct stat));
1545  	nimln_(1216, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
1546  	T1_ = (NIM_BOOL)0;
1547  	T2_ = (int)0;
1548  	T2_ = lstat(nimToCStringConv(link), (&res));
1549  	T1_ = (((NI32) 0) <= T2_);
1550  	if (!(T1_)) goto LA3_;
1551  	T1_ = S_ISLNK(res.st_mode);
1552  	LA3_: ;
1553  	result = T1_;
1554  	popFrame();
1555  	return result;
1556  }
1557  N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, nosisAbsolute)(NimStringDesc* path) {
1558  	NIM_BOOL result;
1559  	nimfr_("isAbsolute", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
1560  {	result = (NIM_BOOL)0;
1561  	nimln_(287, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
1562  	{
1563  		if (!((path ? path->Sup.len : 0) == ((NI) 0))) goto LA3_;
1564  		result = NIM_FALSE;
1565  		goto BeforeRet_;
1566  	}
1567  	LA3_: ;
1568  	nimln_(301, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
1569  	if (((NI) 0) < 0 || ((NI) 0) >= (path ? path->Sup.len : 0)){ raiseIndexError2(((NI) 0),(path ? path->Sup.len : 0)-1); }
1570  	result = ((NU8)(path->data[((NI) 0)]) == (NU8)(47));
1571  	}BeforeRet_: ;
1572  	popFrame();
1573  	return result;
1574  }
1575  N_LIB_PRIVATE N_NIMCALL(NI, parentDirPos__pureZos_195)(NimStringDesc* path) {
1576  	NI result;
1577  	NI q;
1578  	nimfr_("parentDirPos", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
1579  {	result = (NI)0;
1580  	nimln_(467, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
1581  	q = ((NI) 1);
1582  	nimln_(468, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
1583  	{
1584  		NIM_BOOL T3_;
1585  		NI TM__yu6cxgKBBXbNsTkT9cyMd4g_36;
1586  		T3_ = (NIM_BOOL)0;
1587  		T3_ = (((NI) 1) <= (path ? path->Sup.len : 0));
1588  		if (!(T3_)) goto LA4_;
1589  		if (nimSubInt((path ? path->Sup.len : 0), ((NI) 1), &TM__yu6cxgKBBXbNsTkT9cyMd4g_36)) { raiseOverflow(); };
1590  		if ((NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_36) < 0 || (NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_36) >= (path ? path->Sup.len : 0)){ raiseIndexError2((NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_36),(path ? path->Sup.len : 0)-1); }
1591  		T3_ = (((NU8)(path->data[(NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_36)])) == ((NU8)(47)) || ((NU8)(path->data[(NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_36)])) == ((NU8)(47)));
1592  		LA4_: ;
1593  		if (!T3_) goto LA5_;
1594  		q = ((NI) 2);
1595  	}
1596  	LA5_: ;
1597  	{
1598  		NI i;
1599  		NI colontmp_;
1600  		NI TM__yu6cxgKBBXbNsTkT9cyMd4g_37;
1601  		NI res;
1602  		i = (NI)0;
1603  		colontmp_ = (NI)0;
1604  		nimln_(469, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
1605  		if (nimSubInt((path ? path->Sup.len : 0), q, &TM__yu6cxgKBBXbNsTkT9cyMd4g_37)) { raiseOverflow(); };
1606  		colontmp_ = (NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_37);
1607  		nimln_(33, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/iterators_1.nim");
1608  		res = colontmp_;
1609  		{
1610  			nimln_(34, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/iterators_1.nim");
1611  			while (1) {
1612  				NI TM__yu6cxgKBBXbNsTkT9cyMd4g_38;
1613  				if (!(((NI) 0) <= res)) goto LA9;
1614  				nimln_(469, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
1615  				i = res;
1616  				{
1617  					nimln_(470, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
1618  					if (i < 0 || i >= (path ? path->Sup.len : 0)){ raiseIndexError2(i,(path ? path->Sup.len : 0)-1); }
1619  					if (!(((NU8)(path->data[i])) == ((NU8)(47)) || ((NU8)(path->data[i])) == ((NU8)(47)))) goto LA12_;
1620  					result = i;
1621  					goto BeforeRet_;
1622  				}
1623  				LA12_: ;
1624  				nimln_(36, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/iterators_1.nim");
1625  				if (nimSubInt(res, ((NI) 1), &TM__yu6cxgKBBXbNsTkT9cyMd4g_38)) { raiseOverflow(); };
1626  				res = (NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_38);
1627  			} LA9: ;
1628  		}
1629  	}
1630  	nimln_(471, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
1631  	result = ((NI) -1);
1632  	}BeforeRet_: ;
1633  	popFrame();
1634  	return result;
1635  }
1636  static N_INLINE(int, nimCmpMem)(void* a, void* b, NI size) {
1637  	int result;
1638  	result = (int)0;
1639  	result = memcmp(a, b, ((size_t) (size)));
1640  	return result;
1641  }
1642  static N_INLINE(NIM_BOOL, equalMem__system_1735)(void* a, void* b, NI size) {
1643  	NIM_BOOL result;
1644  	int T1_;
1645  	result = (NIM_BOOL)0;
1646  	T1_ = (int)0;
1647  	T1_ = nimCmpMem(a, b, size);
1648  	result = (T1_ == ((NI32) 0));
1649  	return result;
1650  }
1651  static N_INLINE(NIM_BOOL, eqStrings)(NimStringDesc* a, NimStringDesc* b) {
1652  	NIM_BOOL result;
1653  	NI alen;
1654  	NI blen;
1655  	nimfr_("eqStrings", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/strmantle.nim");
1656  {	result = (NIM_BOOL)0;
1657  	nimln_(27, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/strmantle.nim");
1658  	alen = (a ? a->Sup.len : 0);
1659  	nimln_(28, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/strmantle.nim");
1660  	blen = (b ? b->Sup.len : 0);
1661  	nimln_(29, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/strmantle.nim");
1662  	{
1663  		if (!(alen == blen)) goto LA3_;
1664  		nimln_(30, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/strmantle.nim");
1665  		{
1666  			if (!(alen == ((NI) 0))) goto LA7_;
1667  			result = NIM_TRUE;
1668  			goto BeforeRet_;
1669  		}
1670  		LA7_: ;
1671  		nimln_(31, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/strmantle.nim");
1672  		result = equalMem__system_1735(((void*) ((&a->data[((NI) 0)]))), ((void*) ((&b->data[((NI) 0)]))), ((NI) (alen)));
1673  		goto BeforeRet_;
1674  	}
1675  	LA3_: ;
1676  	}BeforeRet_: ;
1677  	popFrame();
1678  	return result;
1679  }
1680  N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nosparentDir)(NimStringDesc* path) {
1681  	NimStringDesc* result;
1682  	NI sepPos;
1683  	nimfr_("parentDir", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
1684  	result = NIM_NIL;
1685  	nimln_(497, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
1686  	result = normalizePath__pureZpathnorm_127(path, 47);
1687  	nimln_(498, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
1688  	sepPos = parentDirPos__pureZos_195(result);
1689  	nimln_(499, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
1690  	{
1691  		if (!(((NI) 0) <= sepPos)) goto LA3_;
1692  		nimln_(500, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
1693  		result = substr__system_7790(result, ((NI) 0), sepPos);
1694  		nimln_(501, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
1695  		normalizePathEnd__pureZos_51((&result), NIM_FALSE);
1696  	}
1697  	goto LA1_;
1698  	LA3_: ;
1699  	{
1700  		NIM_BOOL T6_;
1701  		NIM_BOOL T7_;
1702  		NIM_BOOL T8_;
1703  		NIM_CHAR* T12_;
1704  		nimln_(502, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
1705  		T6_ = (NIM_BOOL)0;
1706  		T7_ = (NIM_BOOL)0;
1707  		T8_ = (NIM_BOOL)0;
1708  		T8_ = eqStrings(result, ((NimStringDesc*) &TM__yu6cxgKBBXbNsTkT9cyMd4g_39));
1709  		if (T8_) goto LA9_;
1710  		T8_ = eqStrings(result, ((NimStringDesc*) &TM__yu6cxgKBBXbNsTkT9cyMd4g_40));
1711  		LA9_: ;
1712  		T7_ = T8_;
1713  		if (T7_) goto LA10_;
1714  		T7_ = ((result ? result->Sup.len : 0) == ((NI) 0));
1715  		LA10_: ;
1716  		T6_ = T7_;
1717  		if (T6_) goto LA11_;
1718  		T12_ = (NIM_CHAR*)0;
1719  		T12_ = X5BX5D___system_7408((&result), ((NI) 1));
1720  		T6_ = (((NU8)((*T12_))) == ((NU8)(47)) || ((NU8)((*T12_))) == ((NU8)(47)));
1721  		LA11_: ;
1722  		if (!T6_) goto LA13_;
1723  		nimln_(505, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
1724  		result = ((NimStringDesc*) NIM_NIL);
1725  	}
1726  	goto LA1_;
1727  	LA13_: ;
1728  	{
1729  		nimln_(507, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
1730  		result = copyString(((NimStringDesc*) &TM__yu6cxgKBBXbNsTkT9cyMd4g_40));
1731  	}
1732  	LA1_: ;
1733  	popFrame();
1734  	return result;
1735  }
1736  N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, findExe__pureZos_646)(NimStringDesc* exe, NIM_BOOL followSymlinks, NimStringDesc** extensions, NI extensionsLen_0) {
1737  	NimStringDesc* result;
1738  	NimStringDesc* path;
1739  	nimfr_("findExe", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
1740  {	result = NIM_NIL;
1741  	nimln_(1240, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
1742  	{
1743  		if (!((exe ? exe->Sup.len : 0) == ((NI) 0))) goto LA3_;
1744  		goto BeforeRet_;
1745  	}
1746  	LA3_: ;
1747  	nimln_(1246, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
1748  	{
1749  		NIM_BOOL T7_;
1750  		T7_ = (NIM_BOOL)0;
1751  		T7_ = contains__pureZos_653((exe) ? (exe->data) : NIM_NIL, (exe ? exe->Sup.len : 0), 47);
1752  		if (!T7_) goto LA8_;
1753  		{
1754  			NimStringDesc** extX60gensym82_;
1755  			NI i;
1756  			extX60gensym82_ = (NimStringDesc**)0;
1757  			nimln_(8, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/iterators.nim");
1758  			i = ((NI) 0);
1759  			{
1760  				nimln_(9, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/iterators.nim");
1761  				while (1) {
1762  					NI TM__yu6cxgKBBXbNsTkT9cyMd4g_31;
1763  					if (!(i < extensionsLen_0)) goto LA12;
1764  					nimln_(1246, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
1765  					if (i < 0 || i >= extensionsLen_0){ raiseIndexError2(i,extensionsLen_0-1); }
1766  					extX60gensym82_ = (&extensions[i]);
1767  					nimln_(1243, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
1768  					result = nosaddFileExt(exe, (*extX60gensym82_));
1769  					nimln_(1246, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
1770  					{
1771  						NIM_BOOL T15_;
1772  						nimln_(1244, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
1773  						T15_ = (NIM_BOOL)0;
1774  						T15_ = nosfileExists(result);
1775  						if (!T15_) goto LA16_;
1776  						goto BeforeRet_;
1777  					}
1778  					LA16_: ;
1779  					nimln_(11, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/iterators.nim");
1780  					if (nimAddInt(i, ((NI) 1), &TM__yu6cxgKBBXbNsTkT9cyMd4g_31)) { raiseOverflow(); };
1781  					i = (NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_31);
1782  				} LA12: ;
1783  			}
1784  		}
1785  	}
1786  	LA8_: ;
1787  	nimln_(1249, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
1788  	path = getEnv__pureZos_418(((NimStringDesc*) &TM__yu6cxgKBBXbNsTkT9cyMd4g_32), ((NimStringDesc*) NIM_NIL));
1789  	{
1790  		NimStringDesc* candidate;
1791  		NI lastX60gensym34_;
1792  		NI splitsX60gensym34_;
1793  		candidate = NIM_NIL;
1794  		nimln_(365, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/strutils.nim");
1795  		lastX60gensym34_ = ((NI) 0);
1796  		nimln_(366, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/strutils.nim");
1797  		splitsX60gensym34_ = ((NI) -1);
1798  		{
1799  			nimln_(426, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/strutils.nim");
1800  			while (1) {
1801  				NI firstX60gensym34_;
1802  				NI TM__yu6cxgKBBXbNsTkT9cyMd4g_34;
1803  				NI TM__yu6cxgKBBXbNsTkT9cyMd4g_42;
1804  				NI TM__yu6cxgKBBXbNsTkT9cyMd4g_43;
1805  				nimln_(368, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/strutils.nim");
1806  				if (!(lastX60gensym34_ <= (path ? path->Sup.len : 0))) goto LA20;
1807  				nimln_(369, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/strutils.nim");
1808  				firstX60gensym34_ = lastX60gensym34_;
1809  				{
1810  					nimln_(370, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/strutils.nim");
1811  					while (1) {
1812  						NIM_BOOL T23_;
1813  						NI TM__yu6cxgKBBXbNsTkT9cyMd4g_33;
1814  						T23_ = (NIM_BOOL)0;
1815  						T23_ = (lastX60gensym34_ < (path ? path->Sup.len : 0));
1816  						if (!(T23_)) goto LA24_;
1817  						if (lastX60gensym34_ < 0 || lastX60gensym34_ >= (path ? path->Sup.len : 0)){ raiseIndexError2(lastX60gensym34_,(path ? path->Sup.len : 0)-1); }
1818  						T23_ = !(((NU8)(path->data[lastX60gensym34_]) == (NU8)(58)));
1819  						LA24_: ;
1820  						if (!T23_) goto LA22;
1821  						nimln_(371, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/strutils.nim");
1822  						if (nimAddInt(lastX60gensym34_, ((NI) 1), &TM__yu6cxgKBBXbNsTkT9cyMd4g_33)) { raiseOverflow(); };
1823  						lastX60gensym34_ = (NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_33);
1824  					} LA22: ;
1825  				}
1826  				nimln_(372, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/strutils.nim");
1827  				{
1828  					if (!(splitsX60gensym34_ == ((NI) 0))) goto LA27_;
1829  					lastX60gensym34_ = (path ? path->Sup.len : 0);
1830  				}
1831  				LA27_: ;
1832  				nimln_(1250, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
1833  				nimln_(373, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/strutils.nim");
1834  				if (nimSubInt(lastX60gensym34_, ((NI) 1), &TM__yu6cxgKBBXbNsTkT9cyMd4g_34)) { raiseOverflow(); };
1835  				nimln_(1250, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
1836  				candidate = substr__system_7790(path, firstX60gensym34_, (NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_34));
1837  				{
1838  					NimStringDesc* x;
1839  					NimStringDesc* T34_;
1840  					nimln_(1251, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
1841  					{
1842  						if (!((candidate ? candidate->Sup.len : 0) == ((NI) 0))) goto LA32_;
1843  						goto LA29;
1844  					}
1845  					LA32_: ;
1846  					nimln_(1257, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
1847  					T34_ = NIM_NIL;
1848  					T34_ = expandTilde__pureZos_578(candidate);
1849  					x = slash___pureZos_121(T34_, exe);
1850  					{
1851  						NimStringDesc** ext;
1852  						NI i_2;
1853  						ext = (NimStringDesc**)0;
1854  						nimln_(8, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/iterators.nim");
1855  						i_2 = ((NI) 0);
1856  						{
1857  							nimln_(9, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/iterators.nim");
1858  							while (1) {
1859  								NimStringDesc* x_2;
1860  								NI TM__yu6cxgKBBXbNsTkT9cyMd4g_41;
1861  								if (!(i_2 < extensionsLen_0)) goto LA37;
1862  								nimln_(1258, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
1863  								if (i_2 < 0 || i_2 >= extensionsLen_0){ raiseIndexError2(i_2,extensionsLen_0-1); }
1864  								ext = (&extensions[i_2]);
1865  								nimln_(1259, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
1866  								x_2 = nosaddFileExt(x, (*ext));
1867  								nimln_(1258, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
1868  								{
1869  									NIM_BOOL T40_;
1870  									nimln_(1260, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
1871  									T40_ = (NIM_BOOL)0;
1872  									T40_ = nosfileExists(x_2);
1873  									if (!T40_) goto LA41_;
1874  									{
1875  										nimln_(1262, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
1876  										while (1) {
1877  											if (!followSymlinks) goto LA44;
1878  											nimln_(1263, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
1879  											{
1880  												NIM_BOOL T47_;
1881  												NimStringDesc* r;
1882  												NI len;
1883  												T47_ = (NIM_BOOL)0;
1884  												T47_ = nossymlinkExists(x_2);
1885  												if (!T47_) goto LA48_;
1886  												nimln_(1264, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
1887  												r = mnewString(((NI) 1024));
1888  												nimln_(1265, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
1889  												len = readlink(nimToCStringConv(x_2), nimToCStringConv(r), ((NI) 1024));
1890  												nimln_(1266, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
1891  												{
1892  													NI32 T54_;
1893  													if (!(len < ((NI) 0))) goto LA52_;
1894  													nimln_(1267, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
1895  													T54_ = (NI32)0;
1896  													T54_ = osLastError__pureZos_408();
1897  													raiseOSError__pureZos_405(T54_, exe);
1898  												}
1899  												LA52_: ;
1900  												nimln_(1268, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
1901  												{
1902  													NI TM__yu6cxgKBBXbNsTkT9cyMd4g_35;
1903  													if (!(((NI) 1024) < len)) goto LA57_;
1904  													nimln_(1269, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
1905  													if (nimAddInt(len, ((NI) 1), &TM__yu6cxgKBBXbNsTkT9cyMd4g_35)) { raiseOverflow(); };
1906  													if (((NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_35)) < ((NI) 0) || ((NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_35)) > ((NI) IL64(9223372036854775807))){ raiseRangeErrorI((NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_35), ((NI) 0), ((NI) IL64(9223372036854775807))); }
1907  													r = mnewString(((NI) ((NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_35))));
1908  													nimln_(1270, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
1909  													len = readlink(nimToCStringConv(x_2), nimToCStringConv(r), len);
1910  												}
1911  												LA57_: ;
1912  												nimln_(1271, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
1913  												if ((len) < ((NI) 0) || (len) > ((NI) IL64(9223372036854775807))){ raiseRangeErrorI(len, ((NI) 0), ((NI) IL64(9223372036854775807))); }
1914  												r = setLengthStr(r, ((NI) (len)));
1915  												nimln_(1272, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
1916  												{
1917  													NIM_BOOL T61_;
1918  													T61_ = (NIM_BOOL)0;
1919  													T61_ = nosisAbsolute(r);
1920  													if (!T61_) goto LA62_;
1921  													nimln_(1273, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
1922  													x_2 = copyString(r);
1923  												}
1924  												goto LA59_;
1925  												LA62_: ;
1926  												{
1927  													NimStringDesc* T65_;
1928  													nimln_(1275, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
1929  													T65_ = NIM_NIL;
1930  													T65_ = nosparentDir(x_2);
1931  													x_2 = slash___pureZos_121(T65_, r);
1932  												}
1933  												LA59_: ;
1934  											}
1935  											goto LA45_;
1936  											LA48_: ;
1937  											{
1938  												nimln_(1277, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
1939  												goto LA43;
1940  											}
1941  											LA45_: ;
1942  										} LA44: ;
1943  									} LA43: ;
1944  									nimln_(1278, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
1945  									result = copyString(x_2);
1946  									goto BeforeRet_;
1947  								}
1948  								LA41_: ;
1949  								nimln_(11, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/iterators.nim");
1950  								if (nimAddInt(i_2, ((NI) 1), &TM__yu6cxgKBBXbNsTkT9cyMd4g_41)) { raiseOverflow(); };
1951  								i_2 = (NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_41);
1952  							} LA37: ;
1953  						}
1954  					}
1955  				} LA29: ;
1956  				nimln_(374, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/strutils.nim");
1957  				{
1958  					if (!(splitsX60gensym34_ == ((NI) 0))) goto LA69_;
1959  					goto LA19;
1960  				}
1961  				LA69_: ;
1962  				nimln_(375, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/strutils.nim");
1963  				if (nimSubInt(splitsX60gensym34_, ((NI) 1), &TM__yu6cxgKBBXbNsTkT9cyMd4g_42)) { raiseOverflow(); };
1964  				splitsX60gensym34_ = (NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_42);
1965  				nimln_(376, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/strutils.nim");
1966  				if (nimAddInt(lastX60gensym34_, ((NI) 1), &TM__yu6cxgKBBXbNsTkT9cyMd4g_43)) { raiseOverflow(); };
1967  				lastX60gensym34_ = (NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_43);
1968  			} LA20: ;
1969  		} LA19: ;
1970  	}
1971  	nimln_(1279, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
1972  	result = ((NimStringDesc*) NIM_NIL);
1973  	}BeforeRet_: ;
1974  	popFrame();
1975  	return result;
1976  }
1977  N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, absolutePath__pureZos_735)(NimStringDesc* path, NimStringDesc* root) {
1978  	NimStringDesc* result;
1979  	nimfr_("absolutePath", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
1980  	result = NIM_NIL;
1981  	nimln_(1442, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
1982  	nimln_(1452, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
1983  	{
1984  		NIM_BOOL T3_;
1985  		T3_ = (NIM_BOOL)0;
1986  		T3_ = nosisAbsolute(path);
1987  		if (!T3_) goto LA4_;
1988  		result = copyString(path);
1989  	}
1990  	goto LA1_;
1991  	LA4_: ;
1992  	{
1993  		nimln_(1454, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
1994  		{
1995  			NIM_BOOL T9_;
1996  			tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw* T12_;
1997  			NimStringDesc* T13_;
1998  			T9_ = (NIM_BOOL)0;
1999  			T9_ = nosisAbsolute(root);
2000  			if (!!(T9_)) goto LA10_;
2001  			T12_ = NIM_NIL;
2002  			T12_ = (tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw*) newObj((&NTIrefvalueerror__Ie1m0dv1ZHg72IgPRr1cDw_), sizeof(tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw));
2003  			(*T12_).Sup.Sup.Sup.m_type = (&NTIvalueerror__yoNlBGx0D2tRizIdhQuENw_);
2004  			(*T12_).Sup.Sup.name = "ValueError";
2005  			nimln_(1455, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
2006  			T13_ = NIM_NIL;
2007  			T13_ = rawNewString((root ? root->Sup.len : 0) + 36);
2008  appendString(T13_, ((NimStringDesc*) &TM__yu6cxgKBBXbNsTkT9cyMd4g_44));
2009  appendString(T13_, root);
2010  			asgnRef((void**) (&(*T12_).Sup.Sup.message), T13_);
2011  			asgnRef((void**) (&(*T12_).Sup.Sup.parent), ((Exception*) NIM_NIL));
2012  			raiseExceptionEx((Exception*)T12_, "ValueError", "absolutePath", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim", 1455);
2013  		}
2014  		LA10_: ;
2015  		nimln_(1456, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
2016  		result = nosjoinPath(root, path);
2017  	}
2018  	LA1_: ;
2019  	popFrame();
2020  	return result;
2021  }
2022  N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, nosdirExists)(NimStringDesc* dir) {
2023  	NIM_BOOL result;
2024  	struct stat res;
2025  	NIM_BOOL T1_;
2026  	int T2_;
2027  	nimfr_("dirExists", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
2028  	result = (NIM_BOOL)0;
2029  	nimZeroMem((void*)(&res), sizeof(struct stat));
2030  	nimln_(1194, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
2031  	T1_ = (NIM_BOOL)0;
2032  	T2_ = (int)0;
2033  	T2_ = stat(nimToCStringConv(dir), (&res));
2034  	T1_ = (((NI32) 0) <= T2_);
2035  	if (!(T1_)) goto LA3_;
2036  	T1_ = S_ISDIR(res.st_mode);
2037  	LA3_: ;
2038  	result = T1_;
2039  	popFrame();
2040  	return result;
2041  }
2042  N_LIB_PRIVATE N_NIMCALL(void, putEnv__pureZos_426)(NimStringDesc* key, NimStringDesc* val) {
2043  	nimfr_("putEnv", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/includes/osenv.nim");
2044  	nimln_(103, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/includes/osenv.nim");
2045  	{
2046  		int T3_;
2047  		NI32 T6_;
2048  		tyTuple__UV3llMMYFckfui8YMBuUZA T7_;
2049  		NimStringDesc* T8_;
2050  		T3_ = (int)0;
2051  		T3_ = setenv(nimToCStringConv(key), nimToCStringConv(val), ((NI32) 1));
2052  		if (!!((T3_ == ((NI32) 0)))) goto LA4_;
2053  		nimln_(104, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/includes/osenv.nim");
2054  		T6_ = (NI32)0;
2055  		T6_ = osLastError__pureZos_408();
2056  		nimZeroMem((void*)(&T7_), sizeof(tyTuple__UV3llMMYFckfui8YMBuUZA));
2057  		T7_.Field0 = copyString(key);
2058  		T7_.Field1 = copyString(val);
2059  		T8_ = NIM_NIL;
2060  		T8_ = dollar___pureZos_429(T7_);
2061  		raiseOSError__pureZos_405(T6_, T8_);
2062  	}
2063  	LA4_: ;
2064  	popFrame();
2065  }
2066  N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, rawCreateDir__pureZos_1406)(NimStringDesc* dir) {
2067  	NIM_BOOL result;
2068  	int res;
2069  	nimfr_("rawCreateDir", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
2070  	result = (NIM_BOOL)0;
2071  	nimln_(2488, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
2072  	res = mkdir(nimToCStringConv(dir), ((mode_t) 511));
2073  	nimln_(2489, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
2074  	{
2075  		if (!(res == ((NI32) 0))) goto LA3_;
2076  		nimln_(2490, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
2077  		result = NIM_TRUE;
2078  	}
2079  	goto LA1_;
2080  	LA3_: ;
2081  	{
2082  		nimln_(2491, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
2083  		if (!(errno == ((int) 17))) goto LA6_;
2084  		nimln_(2492, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
2085  		result = NIM_FALSE;
2086  	}
2087  	goto LA1_;
2088  	LA6_: ;
2089  	{
2090  		NI32 T9_;
2091  		nimln_(2495, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
2092  		T9_ = (NI32)0;
2093  		T9_ = osLastError__pureZos_408();
2094  		raiseOSError__pureZos_405(T9_, dir);
2095  	}
2096  	LA1_: ;
2097  	popFrame();
2098  	return result;
2099  }
2100  N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, nosexistsOrCreateDir)(NimStringDesc* dir) {
2101  	NIM_BOOL result;
2102  	NIM_BOOL T1_;
2103  	nimfr_("existsOrCreateDir", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
2104  	result = (NIM_BOOL)0;
2105  	nimln_(2522, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
2106  	T1_ = (NIM_BOOL)0;
2107  	T1_ = rawCreateDir__pureZos_1406(dir);
2108  	result = !(T1_);
2109  	nimln_(2523, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
2110  	{
2111  		if (!result) goto LA4_;
2112  		nimln_(2525, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
2113  		{
2114  			NIM_BOOL T8_;
2115  			tyObject_IOError__iLZrPn9anoh9ad1MmO0RczFw* T11_;
2116  			NimStringDesc* T12_;
2117  			T8_ = (NIM_BOOL)0;
2118  			T8_ = nosdirExists(dir);
2119  			if (!!(T8_)) goto LA9_;
2120  			T11_ = NIM_NIL;
2121  			T11_ = (tyObject_IOError__iLZrPn9anoh9ad1MmO0RczFw*) newObj((&NTIrefioerror__HMIVdYjdZYWskTmTQVo5BQ_), sizeof(tyObject_IOError__iLZrPn9anoh9ad1MmO0RczFw));
2122  			(*T11_).Sup.Sup.Sup.m_type = (&NTIioerror__iLZrPn9anoh9ad1MmO0RczFw_);
2123  			(*T11_).Sup.Sup.name = "IOError";
2124  			nimln_(2526, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
2125  			T12_ = NIM_NIL;
2126  			T12_ = rawNewString((dir ? dir->Sup.len : 0) + 19);
2127  appendString(T12_, ((NimStringDesc*) &TM__yu6cxgKBBXbNsTkT9cyMd4g_46));
2128  appendString(T12_, dir);
2129  appendString(T12_, ((NimStringDesc*) &TM__yu6cxgKBBXbNsTkT9cyMd4g_47));
2130  			asgnRef((void**) (&(*T11_).Sup.Sup.message), T12_);
2131  			asgnRef((void**) (&(*T11_).Sup.Sup.parent), ((Exception*) NIM_NIL));
2132  			raiseExceptionEx((Exception*)T11_, "IOError", "existsOrCreateDir", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim", 2526);
2133  		}
2134  		LA9_: ;
2135  	}
2136  	LA4_: ;
2137  	popFrame();
2138  	return result;
2139  }
2140  N_LIB_PRIVATE N_NIMCALL(void, noscreateDir)(NimStringDesc* dir) {
2141  	NIM_BOOL omitNext;
2142  	nimfr_("createDir", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
2143  	nimln_(2544, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
2144  	omitNext = NIM_FALSE;
2145  	{
2146  		NI i;
2147  		NI colontmp_;
2148  		NI TM__yu6cxgKBBXbNsTkT9cyMd4g_45;
2149  		NI res;
2150  		i = (NI)0;
2151  		colontmp_ = (NI)0;
2152  		nimln_(2547, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
2153  		if (nimSubInt((dir ? dir->Sup.len : 0), ((NI) 1), &TM__yu6cxgKBBXbNsTkT9cyMd4g_45)) { raiseOverflow(); };
2154  		colontmp_ = (NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_45);
2155  		nimln_(90, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/iterators_1.nim");
2156  		res = ((NI) 1);
2157  		{
2158  			nimln_(91, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/iterators_1.nim");
2159  			while (1) {
2160  				NI TM__yu6cxgKBBXbNsTkT9cyMd4g_49;
2161  				if (!(res <= colontmp_)) goto LA3;
2162  				nimln_(2547, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
2163  				i = res;
2164  				{
2165  					nimln_(2548, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
2166  					if (i < 0 || i >= (dir ? dir->Sup.len : 0)){ raiseIndexError2(i,(dir ? dir->Sup.len : 0)-1); }
2167  					if (!(((NU8)(dir->data[i])) == ((NU8)(47)) || ((NU8)(dir->data[i])) == ((NU8)(47)))) goto LA6_;
2168  					nimln_(2549, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
2169  					{
2170  						if (!omitNext) goto LA10_;
2171  						nimln_(2550, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
2172  						omitNext = NIM_FALSE;
2173  					}
2174  					goto LA8_;
2175  					LA10_: ;
2176  					{
2177  						NI TM__yu6cxgKBBXbNsTkT9cyMd4g_48;
2178  						NimStringDesc* T13_;
2179  						NIM_BOOL T14_;
2180  						nimln_(2552, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
2181  						if (nimSubInt(i, ((NI) 1), &TM__yu6cxgKBBXbNsTkT9cyMd4g_48)) { raiseOverflow(); };
2182  						T13_ = NIM_NIL;
2183  						T13_ = substr__system_7790(dir, ((NI) 0), (NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_48));
2184  						T14_ = (NIM_BOOL)0;
2185  						T14_ = nosexistsOrCreateDir(T13_);
2186  						(void)(T14_);
2187  					}
2188  					LA8_: ;
2189  				}
2190  				LA6_: ;
2191  				nimln_(93, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/iterators_1.nim");
2192  				if (nimAddInt(res, ((NI) 1), &TM__yu6cxgKBBXbNsTkT9cyMd4g_49)) { raiseOverflow(); };
2193  				res = (NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_49);
2194  			} LA3: ;
2195  		}
2196  	}
2197  	nimln_(2555, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
2198  	{
2199  		NIM_BOOL T17_;
2200  		NIM_BOOL T18_;
2201  		NIM_CHAR T21_;
2202  		NIM_BOOL T24_;
2203  		T17_ = (NIM_BOOL)0;
2204  		T18_ = (NIM_BOOL)0;
2205  		T18_ = (((NI) 0) < (dir ? dir->Sup.len : 0));
2206  		if (!(T18_)) goto LA19_;
2207  		T18_ = !(omitNext);
2208  		LA19_: ;
2209  		T17_ = T18_;
2210  		if (!(T17_)) goto LA20_;
2211  		nimln_(2556, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
2212  		T21_ = (NIM_CHAR)0;
2213  		T21_ = X5BX5D___system_7375(dir, ((NI) 1));
2214  		T17_ = !((((NU8)(T21_)) == ((NU8)(47)) || ((NU8)(T21_)) == ((NU8)(47))));
2215  		LA20_: ;
2216  		if (!T17_) goto LA22_;
2217  		nimln_(2557, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
2218  		T24_ = (NIM_BOOL)0;
2219  		T24_ = nosexistsOrCreateDir(dir);
2220  		(void)(T24_);
2221  	}
2222  	LA22_: ;
2223  	popFrame();
2224  }
2225  N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, existsEnv__pureZos_423)(NimStringDesc* key) {
2226  	NIM_BOOL result;
2227  	NCSTRING T1_;
2228  	NIM_BOOL T2_;
2229  	nimfr_("existsEnv", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/includes/osenv.nim");
2230  {	result = (NIM_BOOL)0;
2231  	nimln_(86, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/includes/osenv.nim");
2232  	T1_ = (NCSTRING)0;
2233  	T1_ = getenv(nimToCStringConv(key));
2234  	T2_ = (NIM_BOOL)0;
2235  	T2_ = eqeq___system_7770(T1_, ((NCSTRING) NIM_NIL));
2236  	result = !(T2_);
2237  	goto BeforeRet_;
2238  	}BeforeRet_: ;
2239  	popFrame();
2240  	return result;
2241  }
2242  N_LIB_PRIVATE N_NIMCALL(NI64, nosgetFileSize)(NimStringDesc* file) {
2243  	NI64 result;
2244  	FILE* f;
2245  	nimfr_("getFileSize", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
2246  	result = (NI64)0;
2247  	f = (FILE*)0;
2248  	nimln_(3228, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
2249  	{
2250  		NIM_BOOL T3_;
2251  		T3_ = (NIM_BOOL)0;
2252  		T3_ = open__systemZio_392(&f, file, ((tyEnum_FileMode__ZJfK20XeZ9bv2j1pZjw9aswg) 0), ((NI) -1));
2253  		if (!T3_) goto LA4_;
2254  		nimln_(3229, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
2255  		result = getFileSize__systemZio_455(f);
2256  		nimln_(3230, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
2257  		close__systemZio_217(f);
2258  	}
2259  	goto LA1_;
2260  	LA4_: ;
2261  	{
2262  		NI32 T7_;
2263  		nimln_(3231, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
2264  		T7_ = (NI32)0;
2265  		T7_ = osLastError__pureZos_408();
2266  		raiseOSError__pureZos_405(T7_, file);
2267  	}
2268  	LA1_: ;
2269  	popFrame();
2270  	return result;
2271  }
2272  static N_INLINE(NI, countSetBitsImpl__systemZcountbits95impl_26)(NU32 x) {
2273  	NI result;
2274  	int T1_;
2275  	nimfr_("countSetBitsImpl", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/countbits_impl.nim");
2276  	result = (NI)0;
2277  	nimln_(74, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/countbits_impl.nim");
2278  	T1_ = (int)0;
2279  	T1_ = __builtin_popcount(x);
2280  	result = ((NI) (T1_));
2281  	popFrame();
2282  	return result;
2283  }
2284  static N_INLINE(NI, countBits32)(NU32 n) {
2285  	NI result;
2286  	nimfr_("countBits32", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/countbits_impl.nim");
2287  	result = (NI)0;
2288  	nimln_(92, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/countbits_impl.nim");
2289  	result = countSetBitsImpl__systemZcountbits95impl_26(n);
2290  	popFrame();
2291  	return result;
2292  }
2293  N_LIB_PRIVATE N_NIMCALL(void, createSymlink__pureZos_1011)(NimStringDesc* src, NimStringDesc* dest) {
2294  	nimfr_("createSymlink", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
2295  	nimln_(1766, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
2296  	{
2297  		int T3_;
2298  		NI32 T6_;
2299  		tyTuple__UV3llMMYFckfui8YMBuUZA T7_;
2300  		NimStringDesc* T8_;
2301  		T3_ = (int)0;
2302  		T3_ = symlink(nimToCStringConv(src), nimToCStringConv(dest));
2303  		if (!!((T3_ == ((NI32) 0)))) goto LA4_;
2304  		nimln_(1767, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
2305  		T6_ = (NI32)0;
2306  		T6_ = osLastError__pureZos_408();
2307  		nimZeroMem((void*)(&T7_), sizeof(tyTuple__UV3llMMYFckfui8YMBuUZA));
2308  		T7_.Field0 = copyString(src);
2309  		T7_.Field1 = copyString(dest);
2310  		T8_ = NIM_NIL;
2311  		T8_ = dollar___pureZos_429(T7_);
2312  		raiseOSError__pureZos_405(T6_, T8_);
2313  	}
2314  	LA4_: ;
2315  	popFrame();
2316  }
2317  N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, expandSymlink__pureZos_1017)(NimStringDesc* symlinkPath) {
2318  	NimStringDesc* result;
2319  	NI len;
2320  	nimfr_("expandSymlink", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
2321  	result = NIM_NIL;
2322  	nimln_(1779, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
2323  	result = mnewString(((NI) 1024));
2324  	nimln_(1780, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
2325  	len = readlink(nimToCStringConv(symlinkPath), nimToCStringConv(result), ((NI) 1024));
2326  	nimln_(1781, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
2327  	{
2328  		NI32 T5_;
2329  		if (!(len < ((NI) 0))) goto LA3_;
2330  		nimln_(1782, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
2331  		T5_ = (NI32)0;
2332  		T5_ = osLastError__pureZos_408();
2333  		raiseOSError__pureZos_405(T5_, symlinkPath);
2334  	}
2335  	LA3_: ;
2336  	nimln_(1783, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
2337  	{
2338  		NI TM__yu6cxgKBBXbNsTkT9cyMd4g_51;
2339  		if (!(((NI) 1024) < len)) goto LA8_;
2340  		nimln_(1784, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
2341  		if (nimAddInt(len, ((NI) 1), &TM__yu6cxgKBBXbNsTkT9cyMd4g_51)) { raiseOverflow(); };
2342  		if (((NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_51)) < ((NI) 0) || ((NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_51)) > ((NI) IL64(9223372036854775807))){ raiseRangeErrorI((NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_51), ((NI) 0), ((NI) IL64(9223372036854775807))); }
2343  		result = mnewString(((NI) ((NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_51))));
2344  		nimln_(1785, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
2345  		len = readlink(nimToCStringConv(symlinkPath), nimToCStringConv(result), len);
2346  	}
2347  	LA8_: ;
2348  	nimln_(1786, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
2349  	if ((len) < ((NI) 0) || (len) > ((NI) IL64(9223372036854775807))){ raiseRangeErrorI(len, ((NI) 0), ((NI) IL64(9223372036854775807))); }
2350  	result = setLengthStr(result, ((NI) (len)));
2351  	popFrame();
2352  	return result;
2353  }
2354  N_LIB_PRIVATE N_NIMCALL(void, noscopyFile)(NimStringDesc* source, NimStringDesc* dest, tySet_tyEnum_CopyFlag__pdzel23GjJ9cPFw8c5ldeRA options) {
2355  	NIM_BOOL isSymlink;
2356  	nimfr_("copyFile", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
2357  {	nimln_(1851, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
2358  	{
2359  		if (!!((countBits32((7 & options)) == ((NI) 1)))) goto LA3_;
2360  		failedAssertImpl__systemZassertions_56(((NimStringDesc*) &TM__yu6cxgKBBXbNsTkT9cyMd4g_50));
2361  	}
2362  	LA3_: ;
2363  	nimln_(1853, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
2364  	isSymlink = nossymlinkExists(source);
2365  	nimln_(1854, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
2366  	{
2367  		NIM_BOOL T7_;
2368  		NIM_BOOL T9_;
2369  		T7_ = (NIM_BOOL)0;
2370  		T7_ = isSymlink;
2371  		if (!(T7_)) goto LA8_;
2372  		T9_ = (NIM_BOOL)0;
2373  		T9_ = ((options &((NU8)1<<((NU)(((tyEnum_CopyFlag__pdzel23GjJ9cPFw8c5ldeRA) 2))&7U)))!=0);
2374  		if (T9_) goto LA10_;
2375  		T9_ = NIM_FALSE;
2376  		LA10_: ;
2377  		T7_ = T9_;
2378  		LA8_: ;
2379  		if (!T7_) goto LA11_;
2380  		nimln_(1855, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
2381  		goto BeforeRet_;
2382  	}
2383  	LA11_: ;
2384  	nimln_(1866, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
2385  	{
2386  		NIM_BOOL T15_;
2387  		NimStringDesc* T19_;
2388  		T15_ = (NIM_BOOL)0;
2389  		T15_ = isSymlink;
2390  		if (!(T15_)) goto LA16_;
2391  		T15_ = ((options &((NU8)1<<((NU)(((tyEnum_CopyFlag__pdzel23GjJ9cPFw8c5ldeRA) 0))&7U)))!=0);
2392  		LA16_: ;
2393  		if (!T15_) goto LA17_;
2394  		nimln_(1867, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
2395  		T19_ = NIM_NIL;
2396  		T19_ = expandSymlink__pureZos_1017(source);
2397  		createSymlink__pureZos_1011(T19_, dest);
2398  	}
2399  	goto LA13_;
2400  	LA17_: ;
2401  	{
2402  		FILE* d;
2403  		FILE* s;
2404  		void* buf;
2405  		d = (FILE*)0;
2406  		s = (FILE*)0;
2407  		nimln_(1885, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
2408  		{
2409  			NIM_BOOL T23_;
2410  			NI32 T26_;
2411  			T23_ = (NIM_BOOL)0;
2412  			T23_ = open__systemZio_392(&s, source, ((tyEnum_FileMode__ZJfK20XeZ9bv2j1pZjw9aswg) 0), ((NI) -1));
2413  			if (!!(T23_)) goto LA24_;
2414  			T26_ = (NI32)0;
2415  			T26_ = osLastError__pureZos_408();
2416  			raiseOSError__pureZos_405(T26_, source);
2417  		}
2418  		LA24_: ;
2419  		nimln_(1886, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
2420  		{
2421  			NIM_BOOL T29_;
2422  			NI32 T32_;
2423  			T29_ = (NIM_BOOL)0;
2424  			T29_ = open__systemZio_392(&d, dest, ((tyEnum_FileMode__ZJfK20XeZ9bv2j1pZjw9aswg) 1), ((NI) -1));
2425  			if (!!(T29_)) goto LA30_;
2426  			nimln_(1887, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
2427  			close__systemZio_217(s);
2428  			nimln_(1888, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
2429  			T32_ = (NI32)0;
2430  			T32_ = osLastError__pureZos_408();
2431  			raiseOSError__pureZos_405(T32_, dest);
2432  		}
2433  		LA30_: ;
2434  		nimln_(1889, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
2435  		buf = allocImpl__system_1743(((NI) 8000));
2436  		{
2437  			nimln_(1890, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
2438  			while (1) {
2439  				NI bytesread;
2440  				nimln_(1891, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
2441  				bytesread = readBuffer__systemZio_144(s, buf, ((NI) 8000));
2442  				nimln_(1892, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
2443  				{
2444  					NI byteswritten;
2445  					if (!(((NI) 0) < bytesread)) goto LA37_;
2446  					nimln_(1893, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
2447  					if ((bytesread) < ((NI) 0) || (bytesread) > ((NI) IL64(9223372036854775807))){ raiseRangeErrorI(bytesread, ((NI) 0), ((NI) IL64(9223372036854775807))); }
2448  					byteswritten = writeBuffer__systemZio_176(d, buf, ((NI) (bytesread)));
2449  					nimln_(1894, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
2450  					{
2451  						NI32 T43_;
2452  						if (!!((bytesread == byteswritten))) goto LA41_;
2453  						nimln_(1895, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
2454  						dealloc(buf);
2455  						nimln_(1896, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
2456  						close__systemZio_217(s);
2457  						nimln_(1897, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
2458  						close__systemZio_217(d);
2459  						nimln_(1898, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
2460  						T43_ = (NI32)0;
2461  						T43_ = osLastError__pureZos_408();
2462  						raiseOSError__pureZos_405(T43_, dest);
2463  					}
2464  					LA41_: ;
2465  				}
2466  				LA37_: ;
2467  				nimln_(1899, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
2468  				{
2469  					if (!!((bytesread == ((NI) 8000)))) goto LA46_;
2470  					goto LA33;
2471  				}
2472  				LA46_: ;
2473  			}
2474  		} LA33: ;
2475  		nimln_(1900, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
2476  		dealloc(buf);
2477  		nimln_(1901, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
2478  		close__systemZio_217(s);
2479  		nimln_(1902, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
2480  		flushFile__systemZio_226(d);
2481  		nimln_(1903, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
2482  		close__systemZio_217(d);
2483  	}
2484  	LA13_: ;
2485  	}BeforeRet_: ;
2486  	popFrame();
2487  }
2488  N_LIB_PRIVATE N_NIMCALL(tyEnum_PathComponent__9c1SIU9cO1wHcl09b703A9cDrg, getSymlinkFileKind__pureZos_1220)(NimStringDesc* path) {
2489  	tyEnum_PathComponent__9c1SIU9cO1wHcl09b703A9cDrg result;
2490  	struct stat s;
2491  	nimfr_("getSymlinkFileKind", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
2492  	result = (tyEnum_PathComponent__9c1SIU9cO1wHcl09b703A9cDrg)0;
2493  	nimZeroMem((void*)(&s), sizeof(struct stat));
2494  	nimln_(2260, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
2495  	{
2496  		if (!!(!(((path ? path->Sup.len : 0) == 0)))) goto LA3_;
2497  		failedAssertImpl__systemZassertions_56(((NimStringDesc*) &TM__yu6cxgKBBXbNsTkT9cyMd4g_52));
2498  	}
2499  	LA3_: ;
2500  	nimln_(2261, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
2501  	{
2502  		NIM_BOOL T7_;
2503  		int T8_;
2504  		T7_ = (NIM_BOOL)0;
2505  		T8_ = (int)0;
2506  		T8_ = stat(nimToCStringConv(path), (&s));
2507  		T7_ = (T8_ == ((NI32) 0));
2508  		if (!(T7_)) goto LA9_;
2509  		T7_ = S_ISDIR(s.st_mode);
2510  		LA9_: ;
2511  		if (!T7_) goto LA10_;
2512  		nimln_(2262, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
2513  		result = ((tyEnum_PathComponent__9c1SIU9cO1wHcl09b703A9cDrg) 3);
2514  	}
2515  	goto LA5_;
2516  	LA10_: ;
2517  	{
2518  		nimln_(2264, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
2519  		result = ((tyEnum_PathComponent__9c1SIU9cO1wHcl09b703A9cDrg) 1);
2520  	}
2521  	LA5_: ;
2522  	popFrame();
2523  	return result;
2524  }
2525  N_LIB_PRIVATE N_NIMCALL(void, nossplitFile)(NimStringDesc* path, tyTuple__7q7q3E6Oj24ZNVJb9aonhAg* Result) {
2526  	NI namePos;
2527  	NI dotPos;
2528  	nimfr_("splitFile", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
2529  	unsureAsgnRef((void**)&(*Result).Field0, NIM_NIL);
2530  	unsureAsgnRef((void**)&(*Result).Field1, NIM_NIL);
2531  	unsureAsgnRef((void**)&(*Result).Field2, NIM_NIL);
2532  	nimln_(681, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
2533  	namePos = ((NI) 0);
2534  	nimln_(682, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
2535  	dotPos = ((NI) 0);
2536  	{
2537  		NI i;
2538  		NI colontmp_;
2539  		NI TM__yu6cxgKBBXbNsTkT9cyMd4g_53;
2540  		NI res;
2541  		i = (NI)0;
2542  		colontmp_ = (NI)0;
2543  		nimln_(683, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
2544  		if (nimSubInt((path ? path->Sup.len : 0), ((NI) 1), &TM__yu6cxgKBBXbNsTkT9cyMd4g_53)) { raiseOverflow(); };
2545  		colontmp_ = (NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_53);
2546  		nimln_(33, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/iterators_1.nim");
2547  		res = colontmp_;
2548  		{
2549  			nimln_(34, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/iterators_1.nim");
2550  			while (1) {
2551  				NI TM__yu6cxgKBBXbNsTkT9cyMd4g_60;
2552  				if (!(((NI) 0) <= res)) goto LA3;
2553  				nimln_(683, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
2554  				i = res;
2555  				{
2556  					NIM_BOOL T6_;
2557  					nimln_(684, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
2558  					T6_ = (NIM_BOOL)0;
2559  					if (i < 0 || i >= (path ? path->Sup.len : 0)){ raiseIndexError2(i,(path ? path->Sup.len : 0)-1); }
2560  					T6_ = (((NU8)(path->data[i])) == ((NU8)(47)) || ((NU8)(path->data[i])) == ((NU8)(47)));
2561  					if (T6_) goto LA7_;
2562  					T6_ = (i == ((NI) 0));
2563  					LA7_: ;
2564  					if (!T6_) goto LA8_;
2565  					nimln_(685, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
2566  					{
2567  						NI T14_;
2568  						NI TM__yu6cxgKBBXbNsTkT9cyMd4g_55;
2569  						if (i < 0 || i >= (path ? path->Sup.len : 0)){ raiseIndexError2(i,(path ? path->Sup.len : 0)-1); }
2570  						if (!(((NU8)(path->data[i])) == ((NU8)(47)) || ((NU8)(path->data[i])) == ((NU8)(47)))) goto LA12_;
2571  						nimln_(686, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
2572  						T14_ = (NI)0;
2573  						{
2574  							NIM_BOOL T17_;
2575  							NI TM__yu6cxgKBBXbNsTkT9cyMd4g_54;
2576  							nimln_(2093, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system.nim");
2577  							nimln_(686, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
2578  							nimln_(2093, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system.nim");
2579  							T17_ = (NIM_BOOL)0;
2580  							T17_ = NIM_LIKELY((((NI) 1) <= i));
2581  							if (!T17_) goto LA18_;
2582  							nimln_(686, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
2583  							if (nimSubInt(i, ((NI) 1), &TM__yu6cxgKBBXbNsTkT9cyMd4g_54)) { raiseOverflow(); };
2584  							T14_ = (NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_54);
2585  						}
2586  						goto LA15_;
2587  						LA18_: ;
2588  						{
2589  							T14_ = ((NI) 0);
2590  						}
2591  						LA15_: ;
2592  						unsureAsgnRef((void**) (&(*Result).Field0), substr__system_7790(path, ((NI) 0), T14_));
2593  						nimln_(687, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
2594  						if (nimAddInt(i, ((NI) 1), &TM__yu6cxgKBBXbNsTkT9cyMd4g_55)) { raiseOverflow(); };
2595  						namePos = (NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_55);
2596  					}
2597  					LA12_: ;
2598  					nimln_(688, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
2599  					{
2600  						NI TM__yu6cxgKBBXbNsTkT9cyMd4g_56;
2601  						if (!(i < dotPos)) goto LA23_;
2602  						nimln_(689, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
2603  						if (nimSubInt(dotPos, ((NI) 1), &TM__yu6cxgKBBXbNsTkT9cyMd4g_56)) { raiseOverflow(); };
2604  						unsureAsgnRef((void**) (&(*Result).Field1), substr__system_7790(path, namePos, (NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_56)));
2605  						nimln_(690, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
2606  						unsureAsgnRef((void**) (&(*Result).Field2), substr__system_7802(path, dotPos));
2607  					}
2608  					goto LA21_;
2609  					LA23_: ;
2610  					{
2611  						nimln_(692, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
2612  						unsureAsgnRef((void**) (&(*Result).Field1), substr__system_7802(path, namePos));
2613  					}
2614  					LA21_: ;
2615  					nimln_(693, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
2616  					goto LA1;
2617  				}
2618  				goto LA4_;
2619  				LA8_: ;
2620  				{
2621  					NIM_BOOL T27_;
2622  					NIM_BOOL T28_;
2623  					NIM_BOOL T29_;
2624  					NIM_BOOL T30_;
2625  					NIM_BOOL T31_;
2626  					NI TM__yu6cxgKBBXbNsTkT9cyMd4g_57;
2627  					NI TM__yu6cxgKBBXbNsTkT9cyMd4g_58;
2628  					NI TM__yu6cxgKBBXbNsTkT9cyMd4g_59;
2629  					nimln_(696, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
2630  					T27_ = (NIM_BOOL)0;
2631  					nimln_(695, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
2632  					T28_ = (NIM_BOOL)0;
2633  					nimln_(694, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
2634  					T29_ = (NIM_BOOL)0;
2635  					T30_ = (NIM_BOOL)0;
2636  					T31_ = (NIM_BOOL)0;
2637  					if (i < 0 || i >= (path ? path->Sup.len : 0)){ raiseIndexError2(i,(path ? path->Sup.len : 0)-1); }
2638  					T31_ = ((NU8)(path->data[i]) == (NU8)(46));
2639  					if (!(T31_)) goto LA32_;
2640  					T31_ = (((NI) 0) < i);
2641  					LA32_: ;
2642  					T30_ = T31_;
2643  					if (!(T30_)) goto LA33_;
2644  					if (nimSubInt((path ? path->Sup.len : 0), ((NI) 1), &TM__yu6cxgKBBXbNsTkT9cyMd4g_57)) { raiseOverflow(); };
2645  					T30_ = (i < (NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_57));
2646  					LA33_: ;
2647  					T29_ = T30_;
2648  					if (!(T29_)) goto LA34_;
2649  					nimln_(695, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
2650  					if (nimSubInt(i, ((NI) 1), &TM__yu6cxgKBBXbNsTkT9cyMd4g_58)) { raiseOverflow(); };
2651  					if ((NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_58) < 0 || (NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_58) >= (path ? path->Sup.len : 0)){ raiseIndexError2((NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_58),(path ? path->Sup.len : 0)-1); }
2652  					T29_ = !((((NU8)(path->data[(NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_58)])) == ((NU8)(47)) || ((NU8)(path->data[(NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_58)])) == ((NU8)(47))));
2653  					LA34_: ;
2654  					T28_ = T29_;
2655  					if (!(T28_)) goto LA35_;
2656  					nimln_(696, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
2657  					if (nimAddInt(i, ((NI) 1), &TM__yu6cxgKBBXbNsTkT9cyMd4g_59)) { raiseOverflow(); };
2658  					if ((NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_59) < 0 || (NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_59) >= (path ? path->Sup.len : 0)){ raiseIndexError2((NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_59),(path ? path->Sup.len : 0)-1); }
2659  					T28_ = !(((NU8)(path->data[(NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_59)]) == (NU8)(46)));
2660  					LA35_: ;
2661  					T27_ = T28_;
2662  					if (!(T27_)) goto LA36_;
2663  					T27_ = (dotPos == ((NI) 0));
2664  					LA36_: ;
2665  					if (!T27_) goto LA37_;
2666  					nimln_(697, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
2667  					dotPos = i;
2668  				}
2669  				goto LA4_;
2670  				LA37_: ;
2671  				LA4_: ;
2672  				nimln_(36, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/iterators_1.nim");
2673  				if (nimSubInt(res, ((NI) 1), &TM__yu6cxgKBBXbNsTkT9cyMd4g_60)) { raiseOverflow(); };
2674  				res = (NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_60);
2675  			} LA3: ;
2676  		}
2677  	} LA1: ;
2678  	popFrame();
2679  }
2680  static N_INLINE(tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q, toTime__pureZos_17)(struct timespec ts) {
2681  	tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q result;
2682  	nimfr_("toTime", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
2683  	nimZeroMem((void*)(&result), sizeof(tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q));
2684  	nimln_(61, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
2685  	if ((ts.tv_nsec) < ((NI) 0) || (ts.tv_nsec) > ((NI) 999999999)){ raiseRangeErrorI(ts.tv_nsec, ((NI) 0), ((NI) 999999999)); }
2686  	result = initTime__pureZtimes_897(((NI64) (ts.tv_sec)), ((NI) (ts.tv_nsec)));
2687  	popFrame();
2688  	return result;
2689  }
2690  N_LIB_PRIVATE N_NIMCALL(tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q, nosgetLastModificationTime)(NimStringDesc* file) {
2691  	tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q result;
2692  	struct stat res;
2693  	nimfr_("getLastModificationTime", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
2694  	nimZeroMem((void*)(&result), sizeof(tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q));
2695  	nimZeroMem((void*)(&res), sizeof(struct stat));
2696  	nimln_(1294, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
2697  	{
2698  		int T3_;
2699  		NI32 T6_;
2700  		T3_ = (int)0;
2701  		T3_ = stat(nimToCStringConv(file), (&res));
2702  		if (!(T3_ < ((NI32) 0))) goto LA4_;
2703  		T6_ = (NI32)0;
2704  		T6_ = osLastError__pureZos_408();
2705  		raiseOSError__pureZos_405(T6_, file);
2706  	}
2707  	LA4_: ;
2708  	nimln_(1295, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
2709  	result = toTime__pureZos_17(res.st_mtim);
2710  	popFrame();
2711  	return result;
2712  }
2713  N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, getApplAux__pureZos_1549)(NimStringDesc* procPath) {
2714  	NimStringDesc* result;
2715  	NI len;
2716  	nimfr_("getApplAux", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
2717  	result = NIM_NIL;
2718  	nimln_(3048, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
2719  	result = mnewString(((NI) 1024));
2720  	nimln_(3049, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
2721  	len = readlink(nimToCStringConv(procPath), nimToCStringConv(result), ((NI) 1024));
2722  	nimln_(3050, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
2723  	{
2724  		NI TM__yu6cxgKBBXbNsTkT9cyMd4g_61;
2725  		if (!(((NI) 1024) < len)) goto LA3_;
2726  		nimln_(3051, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
2727  		if (nimAddInt(len, ((NI) 1), &TM__yu6cxgKBBXbNsTkT9cyMd4g_61)) { raiseOverflow(); };
2728  		if (((NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_61)) < ((NI) 0) || ((NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_61)) > ((NI) IL64(9223372036854775807))){ raiseRangeErrorI((NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_61), ((NI) 0), ((NI) IL64(9223372036854775807))); }
2729  		result = mnewString(((NI) ((NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_61))));
2730  		nimln_(3052, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
2731  		len = readlink(nimToCStringConv(procPath), nimToCStringConv(result), len);
2732  	}
2733  	LA3_: ;
2734  	nimln_(3053, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
2735  	if ((len) < ((NI) 0) || (len) > ((NI) IL64(9223372036854775807))){ raiseRangeErrorI(len, ((NI) 0), ((NI) IL64(9223372036854775807))); }
2736  	result = setLengthStr(result, ((NI) (len)));
2737  	popFrame();
2738  	return result;
2739  }
2740  N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, getApplHeuristic__pureZos_1553)(void) {
2741  	NimStringDesc* result;
2742  	nimfr_("getApplHeuristic", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
2743  {	result = NIM_NIL;
2744  	nimln_(3092, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
2745  	result = paramStr__pureZos_1526(((NI) 0));
2746  	nimln_(3095, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
2747  	{
2748  		NIM_BOOL T3_;
2749  		T3_ = (NIM_BOOL)0;
2750  		T3_ = (((NI) 0) < (result ? result->Sup.len : 0));
2751  		if (!(T3_)) goto LA4_;
2752  		if (((NI) 0) < 0 || ((NI) 0) >= (result ? result->Sup.len : 0)){ raiseIndexError2(((NI) 0),(result ? result->Sup.len : 0)-1); }
2753  		T3_ = !(((NU8)(result->data[((NI) 0)]) == (NU8)(47)));
2754  		LA4_: ;
2755  		if (!T3_) goto LA5_;
2756  		{
2757  			NimStringDesc* p;
2758  			NimStringDesc* colontmp_;
2759  			NI lastX60gensym37_;
2760  			NI splitsX60gensym37_;
2761  			p = NIM_NIL;
2762  			colontmp_ = NIM_NIL;
2763  			nimln_(3097, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
2764  			colontmp_ = getEnv__pureZos_418(((NimStringDesc*) &TM__yu6cxgKBBXbNsTkT9cyMd4g_32), ((NimStringDesc*) NIM_NIL));
2765  			nimln_(365, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/strutils.nim");
2766  			lastX60gensym37_ = ((NI) 0);
2767  			nimln_(366, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/strutils.nim");
2768  			splitsX60gensym37_ = ((NI) -1);
2769  			{
2770  				nimln_(475, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/strutils.nim");
2771  				while (1) {
2772  					NI firstX60gensym37_;
2773  					NI TM__yu6cxgKBBXbNsTkT9cyMd4g_64;
2774  					NimStringDesc* x;
2775  					NI TM__yu6cxgKBBXbNsTkT9cyMd4g_65;
2776  					NI TM__yu6cxgKBBXbNsTkT9cyMd4g_66;
2777  					nimln_(368, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/strutils.nim");
2778  					if (!(lastX60gensym37_ <= (colontmp_ ? colontmp_->Sup.len : 0))) goto LA9;
2779  					nimln_(369, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/strutils.nim");
2780  					firstX60gensym37_ = lastX60gensym37_;
2781  					{
2782  						nimln_(370, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/strutils.nim");
2783  						while (1) {
2784  							NIM_BOOL T12_;
2785  							NI TM__yu6cxgKBBXbNsTkT9cyMd4g_63;
2786  							T12_ = (NIM_BOOL)0;
2787  							T12_ = (lastX60gensym37_ < (colontmp_ ? colontmp_->Sup.len : 0));
2788  							if (!(T12_)) goto LA13_;
2789  							if (lastX60gensym37_ < 0 || lastX60gensym37_ >= (colontmp_ ? colontmp_->Sup.len : 0)){ raiseIndexError2(lastX60gensym37_,(colontmp_ ? colontmp_->Sup.len : 0)-1); }
2790  							T12_ = !((((NU8)(colontmp_->data[lastX60gensym37_])) == ((NU8)(58))));
2791  							LA13_: ;
2792  							if (!T12_) goto LA11;
2793  							nimln_(371, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/strutils.nim");
2794  							if (nimAddInt(lastX60gensym37_, ((NI) 1), &TM__yu6cxgKBBXbNsTkT9cyMd4g_63)) { raiseOverflow(); };
2795  							lastX60gensym37_ = (NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_63);
2796  						} LA11: ;
2797  					}
2798  					nimln_(372, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/strutils.nim");
2799  					{
2800  						if (!(splitsX60gensym37_ == ((NI) 0))) goto LA16_;
2801  						lastX60gensym37_ = (colontmp_ ? colontmp_->Sup.len : 0);
2802  					}
2803  					LA16_: ;
2804  					nimln_(3097, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
2805  					nimln_(373, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/strutils.nim");
2806  					if (nimSubInt(lastX60gensym37_, ((NI) 1), &TM__yu6cxgKBBXbNsTkT9cyMd4g_64)) { raiseOverflow(); };
2807  					nimln_(3097, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
2808  					p = substr__system_7790(colontmp_, firstX60gensym37_, (NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_64));
2809  					nimln_(3098, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
2810  					x = nosjoinPath(p, result);
2811  					nimln_(3097, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
2812  					{
2813  						NIM_BOOL T20_;
2814  						nimln_(3099, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
2815  						T20_ = (NIM_BOOL)0;
2816  						T20_ = nosfileExists(x);
2817  						if (!T20_) goto LA21_;
2818  						result = copyString(x);
2819  						goto BeforeRet_;
2820  					}
2821  					LA21_: ;
2822  					nimln_(374, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/strutils.nim");
2823  					{
2824  						if (!(splitsX60gensym37_ == ((NI) 0))) goto LA25_;
2825  						goto LA8;
2826  					}
2827  					LA25_: ;
2828  					nimln_(375, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/strutils.nim");
2829  					if (nimSubInt(splitsX60gensym37_, ((NI) 1), &TM__yu6cxgKBBXbNsTkT9cyMd4g_65)) { raiseOverflow(); };
2830  					splitsX60gensym37_ = (NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_65);
2831  					nimln_(376, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/strutils.nim");
2832  					if (nimAddInt(lastX60gensym37_, ((NI) 1), &TM__yu6cxgKBBXbNsTkT9cyMd4g_66)) { raiseOverflow(); };
2833  					lastX60gensym37_ = (NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_66);
2834  				} LA9: ;
2835  			} LA8: ;
2836  		}
2837  	}
2838  	LA5_: ;
2839  	}BeforeRet_: ;
2840  	popFrame();
2841  	return result;
2842  }
2843  N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nosgetAppFilename)(void) {
2844  	NimStringDesc* result;
2845  	nimfr_("getAppFilename", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
2846  	result = NIM_NIL;
2847  	nimln_(3183, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
2848  	result = getApplAux__pureZos_1549(((NimStringDesc*) &TM__yu6cxgKBBXbNsTkT9cyMd4g_62));
2849  	nimln_(3196, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
2850  	{
2851  		if (!((result ? result->Sup.len : 0) == ((NI) 0))) goto LA3_;
2852  		nimln_(3197, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
2853  		result = getApplHeuristic__pureZos_1553();
2854  	}
2855  	LA3_: ;
2856  	popFrame();
2857  	return result;
2858  }
2859  N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nosgetTempDir)(void) {
2860  	NimStringDesc* result;
2861  	nimfr_("getTempDir", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
2862  	result = NIM_NIL;
2863  	{
2864  		NimStringDesc* dirX60gensym71_;
2865  		NI i;
2866  		dirX60gensym71_ = NIM_NIL;
2867  		nimln_(33, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/iterators.nim");
2868  		i = ((NI) 0);
2869  		{
2870  			nimln_(34, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/iterators.nim");
2871  			while (1) {
2872  				NI TM__yu6cxgKBBXbNsTkT9cyMd4g_72;
2873  				nimln_(1013, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
2874  				dirX60gensym71_ = copyString(TM__yu6cxgKBBXbNsTkT9cyMd4g_67[(i)- 0]);
2875  				{
2876  					NIM_BOOL T6_;
2877  					nimln_(966, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
2878  					T6_ = (NIM_BOOL)0;
2879  					T6_ = existsEnv__pureZos_423(dirX60gensym71_);
2880  					if (!T6_) goto LA7_;
2881  					nimln_(967, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
2882  					result = getEnv__pureZos_418(dirX60gensym71_, ((NimStringDesc*) NIM_NIL));
2883  					nimln_(968, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
2884  					goto LA1;
2885  				}
2886  				LA7_: ;
2887  				nimln_(36, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/iterators.nim");
2888  				{
2889  					if (!(((NI) 3) <= ((NI) (i)))) goto LA11_;
2890  					goto LA2;
2891  				}
2892  				LA11_: ;
2893  				nimln_(37, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/iterators.nim");
2894  				if (nimAddInt(i, ((NI) 1), &TM__yu6cxgKBBXbNsTkT9cyMd4g_72)) { raiseOverflow(); };
2895  				if (TM__yu6cxgKBBXbNsTkT9cyMd4g_72 < 0 || TM__yu6cxgKBBXbNsTkT9cyMd4g_72 > 3){ raiseOverflow(); }
2896  				i = (NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_72);
2897  			}
2898  		} LA2: ;
2899  	} LA1: ;
2900  	nimln_(1014, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
2901  	{
2902  		if (!((result ? result->Sup.len : 0) == ((NI) 0))) goto LA15_;
2903  		nimln_(996, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
2904  		result = copyString(((NimStringDesc*) &TM__yu6cxgKBBXbNsTkT9cyMd4g_73));
2905  	}
2906  	LA15_: ;
2907  	nimln_(1016, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
2908  	normalizePathEnd__pureZos_51((&result), NIM_TRUE);
2909  	popFrame();
2910  	return result;
2911  }
2912  N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, noschangeFileExt)(NimStringDesc* filename, NimStringDesc* ext) {
2913  	NimStringDesc* result;
2914  	NI extPos;
2915  	nimfr_("changeFileExt", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
2916  	result = NIM_NIL;
2917  	nimln_(762, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
2918  	extPos = searchExtPos__pureZos_271(filename);
2919  	nimln_(763, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
2920  	{
2921  		NimStringDesc* T5_;
2922  		NimStringDesc* T6_;
2923  		if (!(extPos < ((NI) 0))) goto LA3_;
2924  		T5_ = NIM_NIL;
2925  		T6_ = NIM_NIL;
2926  		T6_ = normExt__pureZos_268(ext);
2927  		T5_ = rawNewString((filename ? filename->Sup.len : 0) + (T6_ ? T6_->Sup.len : 0) + 0);
2928  appendString(T5_, filename);
2929  appendString(T5_, T6_);
2930  		result = T5_;
2931  	}
2932  	goto LA1_;
2933  	LA3_: ;
2934  	{
2935  		NimStringDesc* T8_;
2936  		NI TM__yu6cxgKBBXbNsTkT9cyMd4g_74;
2937  		NimStringDesc* T9_;
2938  		NimStringDesc* T10_;
2939  		nimln_(764, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
2940  		T8_ = NIM_NIL;
2941  		if (nimSubInt(extPos, ((NI) 1), &TM__yu6cxgKBBXbNsTkT9cyMd4g_74)) { raiseOverflow(); };
2942  		T9_ = NIM_NIL;
2943  		T9_ = substr__system_7790(filename, ((NI) 0), (NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_74));
2944  		T10_ = NIM_NIL;
2945  		T10_ = normExt__pureZos_268(ext);
2946  		T8_ = rawNewString((T9_ ? T9_->Sup.len : 0) + (T10_ ? T10_->Sup.len : 0) + 0);
2947  appendString(T8_, T9_);
2948  appendString(T8_, T10_);
2949  		result = T8_;
2950  	}
2951  	LA1_: ;
2952  	popFrame();
2953  	return result;
2954  }
2955  N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nosextractFilename)(NimStringDesc* path) {
2956  	NimStringDesc* result;
2957  	nimfr_("extractFilename", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
2958  	result = NIM_NIL;
2959  	nimln_(717, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
2960  	{
2961  		NIM_BOOL T3_;
2962  		NI TM__yu6cxgKBBXbNsTkT9cyMd4g_75;
2963  		T3_ = (NIM_BOOL)0;
2964  		T3_ = ((path ? path->Sup.len : 0) == ((NI) 0));
2965  		if (T3_) goto LA4_;
2966  		if (nimSubInt((path ? path->Sup.len : 0), ((NI) 1), &TM__yu6cxgKBBXbNsTkT9cyMd4g_75)) { raiseOverflow(); };
2967  		if ((NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_75) < 0 || (NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_75) >= (path ? path->Sup.len : 0)){ raiseIndexError2((NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_75),(path ? path->Sup.len : 0)-1); }
2968  		T3_ = (((NU8)(path->data[(NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_75)])) == ((NU8)(47)) || ((NU8)(path->data[(NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_75)])) == ((NU8)(47)));
2969  		LA4_: ;
2970  		if (!T3_) goto LA5_;
2971  		nimln_(718, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
2972  		result = ((NimStringDesc*) NIM_NIL);
2973  	}
2974  	goto LA1_;
2975  	LA5_: ;
2976  	{
2977  		tyTuple__UV3llMMYFckfui8YMBuUZA T8_;
2978  		nimln_(720, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
2979  		nimZeroMem((void*)(&T8_), sizeof(tyTuple__UV3llMMYFckfui8YMBuUZA));
2980  		nossplitPath(path, (&T8_));
2981  		result = copyString(T8_.Field1);
2982  	}
2983  	LA1_: ;
2984  	popFrame();
2985  	return result;
2986  }
2987  N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, nostryRemoveFile)(NimStringDesc* file) {
2988  	NIM_BOOL result;
2989  	nimfr_("tryRemoveFile", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
2990  	result = (NIM_BOOL)0;
2991  	nimln_(1952, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
2992  	result = NIM_TRUE;
2993  	nimln_(1968, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
2994  	{
2995  		NIM_BOOL T3_;
2996  		int T4_;
2997  		T3_ = (NIM_BOOL)0;
2998  		T4_ = (int)0;
2999  		T4_ = unlink(nimToCStringConv(file));
3000  		T3_ = !((T4_ == ((NI32) 0)));
3001  		if (!(T3_)) goto LA5_;
3002  		T3_ = !((errno == ((int) 2)));
3003  		LA5_: ;
3004  		if (!T3_) goto LA6_;
3005  		nimln_(1969, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3006  		result = NIM_FALSE;
3007  	}
3008  	LA6_: ;
3009  	popFrame();
3010  	return result;
3011  }
3012  N_LIB_PRIVATE N_NIMCALL(NI, getCurrentProcessId__pureZos_1745)(void) {
3013  	NI result;
3014  	pid_t T1_;
3015  	nimfr_("getCurrentProcessId", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3016  	result = (NI)0;
3017  	nimln_(3482, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3018  	T1_ = (pid_t)0;
3019  	T1_ = getpid();
3020  	result = ((NI) (T1_));
3021  	popFrame();
3022  	return result;
3023  }
3024  N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nospquoteShellPosix)(NimStringDesc* s) {
3025  	NimStringDesc* result;
3026  	nimfr_("quoteShellPosix", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3027  	result = NIM_NIL;
3028  	nimln_(1084, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3029  	{
3030  		if (!((s ? s->Sup.len : 0) == ((NI) 0))) goto LA3_;
3031  		nimln_(1085, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3032  		result = copyString(((NimStringDesc*) &TM__yu6cxgKBBXbNsTkT9cyMd4g_76));
3033  	}
3034  	goto LA1_;
3035  	LA3_: ;
3036  	{
3037  		NIM_BOOL T6_;
3038  		nimln_(1086, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3039  		T6_ = (NIM_BOOL)0;
3040  		T6_ = allCharsInSet__pureZstrutils_1402(s, TM__yu6cxgKBBXbNsTkT9cyMd4g_77);
3041  		if (!T6_) goto LA7_;
3042  		nimln_(1087, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3043  		result = copyString(s);
3044  	}
3045  	goto LA1_;
3046  	LA7_: ;
3047  	{
3048  		NimStringDesc* T10_;
3049  		NimStringDesc* T11_;
3050  		nimln_(1089, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3051  		T10_ = NIM_NIL;
3052  		T11_ = NIM_NIL;
3053  		T11_ = nsuReplaceStr(s, ((NimStringDesc*) &TM__yu6cxgKBBXbNsTkT9cyMd4g_47), ((NimStringDesc*) &TM__yu6cxgKBBXbNsTkT9cyMd4g_78));
3054  		T10_ = rawNewString((T11_ ? T11_->Sup.len : 0) + 2);
3055  appendString(T10_, ((NimStringDesc*) &TM__yu6cxgKBBXbNsTkT9cyMd4g_47));
3056  appendString(T10_, T11_);
3057  appendString(T10_, ((NimStringDesc*) &TM__yu6cxgKBBXbNsTkT9cyMd4g_47));
3058  		result = T10_;
3059  	}
3060  	LA1_: ;
3061  	popFrame();
3062  	return result;
3063  }
3064  N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nospquoteShell)(NimStringDesc* s) {
3065  	NimStringDesc* result;
3066  	nimfr_("quoteShell", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3067  	result = NIM_NIL;
3068  	nimln_(1101, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3069  	result = nospquoteShellPosix(s);
3070  	popFrame();
3071  	return result;
3072  }
3073  N_LIB_PRIVATE N_NIMCALL(int, exitStatusLikeShell__pureZos_1100)(int status) {
3074  	int result;
3075  	nimfr_("exitStatusLikeShell", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3076  	result = (int)0;
3077  	nimln_(2048, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3078  	nimln_(2050, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3079  	{
3080  		NIM_BOOL T3_;
3081  		int T6_;
3082  		NI TM__yu6cxgKBBXbNsTkT9cyMd4g_79;
3083  		T3_ = (NIM_BOOL)0;
3084  		T3_ = WIFSIGNALED__posixZposix_1063(status);
3085  		if (!T3_) goto LA4_;
3086  		nimln_(2052, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3087  		T6_ = (int)0;
3088  		T6_ = WTERMSIG__posixZposix_1054(status);
3089  		if (nimAddInt(((NI32) 128), T6_, &TM__yu6cxgKBBXbNsTkT9cyMd4g_79)) { raiseOverflow(); };
3090  		if (TM__yu6cxgKBBXbNsTkT9cyMd4g_79 < (-2147483647 -1) || TM__yu6cxgKBBXbNsTkT9cyMd4g_79 > 2147483647){ raiseOverflow(); }
3091  		result = (NI32)(TM__yu6cxgKBBXbNsTkT9cyMd4g_79);
3092  	}
3093  	goto LA1_;
3094  	LA4_: ;
3095  	{
3096  		nimln_(2054, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3097  		result = WEXITSTATUS__posixZposix_1047(status);
3098  	}
3099  	LA1_: ;
3100  	popFrame();
3101  	return result;
3102  }
3103  N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, nosisRootDir)(NimStringDesc* path) {
3104  	NIM_BOOL result;
3105  	NI T1_;
3106  	nimfr_("isRootDir", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3107  	result = (NIM_BOOL)0;
3108  	nimln_(545, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3109  	T1_ = (NI)0;
3110  	T1_ = parentDirPos__pureZos_195(path);
3111  	result = (T1_ < ((NI) 0));
3112  	popFrame();
3113  	return result;
3114  }
3115  N_LIB_PRIVATE N_NIMCALL(NI, noscmpPaths)(NimStringDesc* pathA, NimStringDesc* pathB) {
3116  	NI result;
3117  	NimStringDesc* a;
3118  	NimStringDesc* b;
3119  	nimfr_("cmpPaths", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3120  	result = (NI)0;
3121  	nimln_(806, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3122  	a = normalizePath__pureZpathnorm_127(pathA, 47);
3123  	nimln_(807, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3124  	b = normalizePath__pureZpathnorm_127(pathB, 47);
3125  	nimln_(808, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3126  	{
3127  		if (!NIM_TRUE) goto LA3_;
3128  		nimln_(809, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3129  		result = cmp__system_1549(a, b);
3130  	}
3131  	goto LA1_;
3132  	LA3_: ;
3133  	{
3134  		nimln_(815, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3135  		result = nsuCmpIgnoreCase(a, b);
3136  	}
3137  	LA1_: ;
3138  	popFrame();
3139  	return result;
3140  }
3141  N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nosexpandFilename)(NimStringDesc* filename) {
3142  	NimStringDesc* result;
3143  	NCSTRING r;
3144  	nimfr_("expandFilename", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3145  	result = NIM_NIL;
3146  	nimln_(2230, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3147  	r = realpath(nimToCStringConv(filename), ((NCSTRING) NIM_NIL));
3148  	nimln_(2231, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3149  	{
3150  		NI32 T5_;
3151  		if (!(r == 0)) goto LA3_;
3152  		nimln_(2232, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3153  		T5_ = (NI32)0;
3154  		T5_ = osLastError__pureZos_408();
3155  		raiseOSError__pureZos_405(T5_, filename);
3156  	}
3157  	goto LA1_;
3158  	LA3_: ;
3159  	{
3160  		nimln_(2234, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3161  		result = cstrToNimstr(r);
3162  		nimln_(2235, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3163  		free(((void*) (r)));
3164  	}
3165  	LA1_: ;
3166  	popFrame();
3167  	return result;
3168  }
3169  static N_INLINE(void, pushSafePoint)(TSafePoint* s) {
3170  	(*s).prev = excHandler__system_2565;
3171  	excHandler__system_2565 = s;
3172  }
3173  N_LIB_PRIVATE N_NIMCALL(void, nosremoveFile)(NimStringDesc* file) {
3174  	nimfr_("removeFile", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3175  	nimln_(1985, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3176  	{
3177  		NIM_BOOL T3_;
3178  		NI32 T6_;
3179  		T3_ = (NIM_BOOL)0;
3180  		T3_ = nostryRemoveFile(file);
3181  		if (!!(T3_)) goto LA4_;
3182  		nimln_(1986, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3183  		T6_ = (NI32)0;
3184  		T6_ = osLastError__pureZos_408();
3185  		raiseOSError__pureZos_405(T6_, file);
3186  	}
3187  	LA4_: ;
3188  	popFrame();
3189  }
3190  static N_INLINE(void, popSafePoint)(void) {
3191  	excHandler__system_2565 = (*excHandler__system_2565).prev;
3192  }
3193  static N_INLINE(TFrame*, getFrame)(void) {
3194  	TFrame* result;
3195  	result = (TFrame*)0;
3196  	result = framePtr__system_2564;
3197  	return result;
3198  }
3199  static N_INLINE(void, setFrame)(TFrame* s) {
3200  	framePtr__system_2564 = s;
3201  }
3202  N_LIB_PRIVATE N_NIMCALL(void, rawRemoveDir__pureZos_1399)(NimStringDesc* dir) {
3203  	nimfr_("rawRemoveDir", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3204  	nimln_(2438, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3205  	{
3206  		NIM_BOOL T3_;
3207  		int T4_;
3208  		NI32 T8_;
3209  		T3_ = (NIM_BOOL)0;
3210  		T4_ = (int)0;
3211  		T4_ = rmdir(nimToCStringConv(dir));
3212  		T3_ = !((T4_ == ((NI32) 0)));
3213  		if (!(T3_)) goto LA5_;
3214  		T3_ = !((errno == ((int) 2)));
3215  		LA5_: ;
3216  		if (!T3_) goto LA6_;
3217  		T8_ = (NI32)0;
3218  		T8_ = osLastError__pureZos_408();
3219  		raiseOSError__pureZos_405(T8_, dir);
3220  	}
3221  	LA6_: ;
3222  	popFrame();
3223  }
3224  N_LIB_PRIVATE N_NIMCALL(void, nosremoveDir)(NimStringDesc* dir, NIM_BOOL checkDir) {
3225  	TFrame* _nimCurFrame;
3226  	nimfr_("removeDir", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3227  	_nimCurFrame = getFrame();
3228  	{
3229  		tyEnum_PathComponent__9c1SIU9cO1wHcl09b703A9cDrg kind;
3230  		NimStringDesc* path;
3231  		DIR* d;
3232  		kind = (tyEnum_PathComponent__9c1SIU9cO1wHcl09b703A9cDrg)0;
3233  		path = NIM_NIL;
3234  		nimln_(2331, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3235  		d = opendir(nimToCStringConv(dir));
3236  		nimln_(2332, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3237  		{
3238  			if (!(d == ((DIR*) NIM_NIL))) goto LA4_;
3239  			nimln_(2333, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3240  			{
3241  				NI32 T10_;
3242  				if (!checkDir) goto LA8_;
3243  				nimln_(2334, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3244  				T10_ = (NI32)0;
3245  				T10_ = osLastError__pureZos_408();
3246  				raiseOSError__pureZos_405(T10_, dir);
3247  			}
3248  			LA8_: ;
3249  		}
3250  		goto LA2_;
3251  		LA4_: ;
3252  		{
3253  			TSafePoint TM__yu6cxgKBBXbNsTkT9cyMd4g_80;
3254  			nimln_(2336, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3255  			pushSafePoint(&TM__yu6cxgKBBXbNsTkT9cyMd4g_80);
3256  			TM__yu6cxgKBBXbNsTkT9cyMd4g_80.status = setjmp(TM__yu6cxgKBBXbNsTkT9cyMd4g_80.context);
3257  			if (TM__yu6cxgKBBXbNsTkT9cyMd4g_80.status == 0) {
3258  			{
3259  				nimln_(2337, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3260  				while (1) {
3261  					{
3262  						struct dirent* x;
3263  						NimStringDesc* y;
3264  						nimln_(2338, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3265  						x = readdir(d);
3266  						nimln_(2339, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3267  						{
3268  							if (!(x == ((struct dirent*) NIM_NIL))) goto LA17_;
3269  							goto LA12;
3270  						}
3271  						LA17_: ;
3272  						nimln_(2340, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3273  						y = cstrToNimstr(((NCSTRING) ((*x).d_name)));
3274  						nimln_(2341, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3275  						{
3276  							NIM_BOOL T21_;
3277  							struct stat s;
3278  							NimStringDesc* path_2;
3279  							tyEnum_PathComponent__9c1SIU9cO1wHcl09b703A9cDrg k;
3280  							T21_ = (NIM_BOOL)0;
3281  							T21_ = !(eqStrings(y, ((NimStringDesc*) &TM__yu6cxgKBBXbNsTkT9cyMd4g_40)));
3282  							if (!(T21_)) goto LA22_;
3283  							T21_ = !(eqStrings(y, ((NimStringDesc*) &TM__yu6cxgKBBXbNsTkT9cyMd4g_39)));
3284  							LA22_: ;
3285  							if (!T21_) goto LA23_;
3286  							nimZeroMem((void*)(&s), sizeof(struct stat));
3287  							nimln_(2343, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3288  							path_2 = slash___pureZos_121(dir, y);
3289  							nimln_(2344, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3290  							{
3291  								if (!NIM_TRUE) goto LA27_;
3292  								nimln_(2345, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3293  								y = copyString(path_2);
3294  							}
3295  							LA27_: ;
3296  							nimln_(2346, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3297  							k = ((tyEnum_PathComponent__9c1SIU9cO1wHcl09b703A9cDrg) 0);
3298  							nimln_(2357, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3299  							switch ((*x).d_type) {
3300  							case ((NI) 4):
3301  							{
3302  								nimln_(2358, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3303  								k = ((tyEnum_PathComponent__9c1SIU9cO1wHcl09b703A9cDrg) 2);
3304  							}
3305  							break;
3306  							case ((NI) 10):
3307  							{
3308  								nimln_(2360, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3309  								{
3310  									NIM_BOOL T33_;
3311  									T33_ = (NIM_BOOL)0;
3312  									T33_ = nosdirExists(path_2);
3313  									if (!T33_) goto LA34_;
3314  									k = ((tyEnum_PathComponent__9c1SIU9cO1wHcl09b703A9cDrg) 3);
3315  								}
3316  								goto LA31_;
3317  								LA34_: ;
3318  								{
3319  									nimln_(2361, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3320  									k = ((tyEnum_PathComponent__9c1SIU9cO1wHcl09b703A9cDrg) 1);
3321  								}
3322  								LA31_: ;
3323  							}
3324  							break;
3325  							case ((NI) 0):
3326  							{
3327  								nimln_(2363, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3328  								{
3329  									int T40_;
3330  									nimln_(2349, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3331  									T40_ = (int)0;
3332  									T40_ = lstat(nimToCStringConv(path_2), (&s));
3333  									if (!(T40_ < ((NI32) 0))) goto LA41_;
3334  									goto LA14;
3335  								}
3336  								goto LA38_;
3337  								LA41_: ;
3338  								{
3339  									NIM_BOOL T44_;
3340  									nimln_(2350, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3341  									T44_ = (NIM_BOOL)0;
3342  									T44_ = S_ISDIR(s.st_mode);
3343  									if (!T44_) goto LA45_;
3344  									nimln_(2351, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3345  									k = ((tyEnum_PathComponent__9c1SIU9cO1wHcl09b703A9cDrg) 2);
3346  								}
3347  								goto LA38_;
3348  								LA45_: ;
3349  								{
3350  									NIM_BOOL T48_;
3351  									nimln_(2352, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3352  									T48_ = (NIM_BOOL)0;
3353  									T48_ = S_ISLNK(s.st_mode);
3354  									if (!T48_) goto LA49_;
3355  									nimln_(2353, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3356  									k = getSymlinkFileKind__pureZos_1220(path_2);
3357  								}
3358  								goto LA38_;
3359  								LA49_: ;
3360  								LA38_: ;
3361  							}
3362  							break;
3363  							default:
3364  							{
3365  							}
3366  							break;
3367  							}
3368  							nimln_(2456, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3369  							kind = k;
3370  							path = y;
3371  							switch (kind) {
3372  							case ((tyEnum_PathComponent__9c1SIU9cO1wHcl09b703A9cDrg) 0):
3373  							case ((tyEnum_PathComponent__9c1SIU9cO1wHcl09b703A9cDrg) 1):
3374  							case ((tyEnum_PathComponent__9c1SIU9cO1wHcl09b703A9cDrg) 3):
3375  							{
3376  								nimln_(2458, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3377  								nosremoveFile(path);
3378  							}
3379  							break;
3380  							case ((tyEnum_PathComponent__9c1SIU9cO1wHcl09b703A9cDrg) 2):
3381  							{
3382  								nimln_(2459, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3383  								nosremoveDir(path, NIM_TRUE);
3384  							}
3385  							break;
3386  							}
3387  						}
3388  						LA23_: ;
3389  					} LA14: ;
3390  				}
3391  			} LA12: ;
3392  			popSafePoint();
3393  			}
3394  			else {
3395  				popSafePoint();
3396  				setFrame(_nimCurFrame);
3397  			}
3398  			{
3399  				int T56_;
3400  				nimln_(2336, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3401  				T56_ = (int)0;
3402  				T56_ = closedir(d);
3403  				(void)(T56_);
3404  				if (TM__yu6cxgKBBXbNsTkT9cyMd4g_80.status != 0) nimLeaveFinally();
3405  			}
3406  			if (TM__yu6cxgKBBXbNsTkT9cyMd4g_80.status != 0) reraiseException();
3407  		}
3408  		LA2_: ;
3409  	}
3410  	nimln_(2463, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3411  	rawRemoveDir__pureZos_1399(dir);
3412  	popFrame();
3413  }
3414  N_LIB_PRIVATE N_NIMCALL(void, getFileInfo__pureZos_1677)(NimStringDesc* path, NIM_BOOL followSymlink, tyObject_FileInfo__i26mN9byzlhWT5HGlFoyCYQ* Result) {
3415  	struct stat rawInfo;
3416  	dev_t colontmp_;
3417  	ino_t colontmp__2;
3418  	nimfr_("getFileInfo", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3419  	nimZeroMem((void*)Result, sizeof(tyObject_FileInfo__i26mN9byzlhWT5HGlFoyCYQ));
3420  	nimZeroMem((void*)(&rawInfo), sizeof(struct stat));
3421  	nimln_(3401, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3422  	{
3423  		if (!followSymlink) goto LA3_;
3424  		nimln_(3402, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3425  		{
3426  			int T7_;
3427  			NI32 T10_;
3428  			T7_ = (int)0;
3429  			T7_ = stat(nimToCStringConv(path), (&rawInfo));
3430  			if (!(T7_ < ((NI32) 0))) goto LA8_;
3431  			nimln_(3403, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3432  			T10_ = (NI32)0;
3433  			T10_ = osLastError__pureZos_408();
3434  			raiseOSError__pureZos_405(T10_, path);
3435  		}
3436  		LA8_: ;
3437  	}
3438  	goto LA1_;
3439  	LA3_: ;
3440  	{
3441  		nimln_(3405, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3442  		{
3443  			int T14_;
3444  			NI32 T17_;
3445  			T14_ = (int)0;
3446  			T14_ = lstat(nimToCStringConv(path), (&rawInfo));
3447  			if (!(T14_ < ((NI32) 0))) goto LA15_;
3448  			nimln_(3406, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3449  			T17_ = (NI32)0;
3450  			T17_ = osLastError__pureZos_408();
3451  			raiseOSError__pureZos_405(T17_, path);
3452  		}
3453  		LA15_: ;
3454  	}
3455  	LA1_: ;
3456  	nimln_(3299, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3457  	colontmp_ = rawInfo.st_dev;
3458  	colontmp__2 = rawInfo.st_ino;
3459  	(*Result).id.Field0 = colontmp_;
3460  	(*Result).id.Field1 = colontmp__2;
3461  	nimln_(3300, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3462  	(*Result).size = ((NI64) (rawInfo.st_size));
3463  	nimln_(3301, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3464  	if (rawInfo.st_nlink > (nlink_t)(IL64(9223372036854775807))){ raiseRangeErrorNoArgs(); }
3465  	(*Result).linkCount = ((NI64) (rawInfo.st_nlink));
3466  	nimln_(3302, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3467  	(*Result).lastAccessTime = toTime__pureZos_17(rawInfo.st_atim);
3468  	nimln_(3303, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3469  	(*Result).lastWriteTime = toTime__pureZos_17(rawInfo.st_mtim);
3470  	nimln_(3304, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3471  	(*Result).creationTime = toTime__pureZos_17(rawInfo.st_ctim);
3472  	nimln_(3305, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3473  	(*Result).blockSize = rawInfo.st_blksize;
3474  	nimln_(3307, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3475  	(*Result).permissions = 0;
3476  	nimln_(3308, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3477  	{
3478  		nimln_(3297, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3479  		if (!!(((NU32)(rawInfo.st_mode & ((mode_t) 256)) == ((mode_t) 0)))) goto LA20_;
3480  		nimln_(3298, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3481  		(*Result).permissions |= ((NU16)1)<<((((tyEnum_FilePermission__uTVeDpjCH6aWw9c74YkAskA) 2)) & 15);
3482  	}
3483  	LA20_: ;
3484  	nimln_(3309, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3485  	{
3486  		nimln_(3297, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3487  		if (!!(((NU32)(rawInfo.st_mode & ((mode_t) 128)) == ((mode_t) 0)))) goto LA24_;
3488  		nimln_(3298, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3489  		(*Result).permissions |= ((NU16)1)<<((((tyEnum_FilePermission__uTVeDpjCH6aWw9c74YkAskA) 1)) & 15);
3490  	}
3491  	LA24_: ;
3492  	nimln_(3310, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3493  	{
3494  		nimln_(3297, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3495  		if (!!(((NU32)(rawInfo.st_mode & ((mode_t) 64)) == ((mode_t) 0)))) goto LA28_;
3496  		nimln_(3298, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3497  		(*Result).permissions |= ((NU16)1)<<((((tyEnum_FilePermission__uTVeDpjCH6aWw9c74YkAskA) 0)) & 15);
3498  	}
3499  	LA28_: ;
3500  	nimln_(3312, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3501  	{
3502  		nimln_(3297, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3503  		if (!!(((NU32)(rawInfo.st_mode & ((mode_t) 32)) == ((mode_t) 0)))) goto LA32_;
3504  		nimln_(3298, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3505  		(*Result).permissions |= ((NU16)1)<<((((tyEnum_FilePermission__uTVeDpjCH6aWw9c74YkAskA) 5)) & 15);
3506  	}
3507  	LA32_: ;
3508  	nimln_(3313, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3509  	{
3510  		nimln_(3297, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3511  		if (!!(((NU32)(rawInfo.st_mode & ((mode_t) 16)) == ((mode_t) 0)))) goto LA36_;
3512  		nimln_(3298, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3513  		(*Result).permissions |= ((NU16)1)<<((((tyEnum_FilePermission__uTVeDpjCH6aWw9c74YkAskA) 4)) & 15);
3514  	}
3515  	LA36_: ;
3516  	nimln_(3314, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3517  	{
3518  		nimln_(3297, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3519  		if (!!(((NU32)(rawInfo.st_mode & ((mode_t) 8)) == ((mode_t) 0)))) goto LA40_;
3520  		nimln_(3298, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3521  		(*Result).permissions |= ((NU16)1)<<((((tyEnum_FilePermission__uTVeDpjCH6aWw9c74YkAskA) 3)) & 15);
3522  	}
3523  	LA40_: ;
3524  	nimln_(3316, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3525  	{
3526  		nimln_(3297, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3527  		if (!!(((NU32)(rawInfo.st_mode & ((mode_t) 4)) == ((mode_t) 0)))) goto LA44_;
3528  		nimln_(3298, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3529  		(*Result).permissions |= ((NU16)1)<<((((tyEnum_FilePermission__uTVeDpjCH6aWw9c74YkAskA) 8)) & 15);
3530  	}
3531  	LA44_: ;
3532  	nimln_(3317, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3533  	{
3534  		nimln_(3297, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3535  		if (!!(((NU32)(rawInfo.st_mode & ((mode_t) 2)) == ((mode_t) 0)))) goto LA48_;
3536  		nimln_(3298, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3537  		(*Result).permissions |= ((NU16)1)<<((((tyEnum_FilePermission__uTVeDpjCH6aWw9c74YkAskA) 7)) & 15);
3538  	}
3539  	LA48_: ;
3540  	nimln_(3318, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3541  	{
3542  		nimln_(3297, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3543  		if (!!(((NU32)(rawInfo.st_mode & ((mode_t) 1)) == ((mode_t) 0)))) goto LA52_;
3544  		nimln_(3298, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3545  		(*Result).permissions |= ((NU16)1)<<((((tyEnum_FilePermission__uTVeDpjCH6aWw9c74YkAskA) 6)) & 15);
3546  	}
3547  	LA52_: ;
3548  	nimln_(3321, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3549  	{
3550  		NIM_BOOL T56_;
3551  		T56_ = (NIM_BOOL)0;
3552  		T56_ = S_ISDIR(rawInfo.st_mode);
3553  		if (!T56_) goto LA57_;
3554  		(*Result).kind = ((tyEnum_PathComponent__9c1SIU9cO1wHcl09b703A9cDrg) 2);
3555  	}
3556  	goto LA54_;
3557  	LA57_: ;
3558  	{
3559  		NIM_BOOL T60_;
3560  		nimln_(3323, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3561  		T60_ = (NIM_BOOL)0;
3562  		T60_ = S_ISLNK(rawInfo.st_mode);
3563  		if (!T60_) goto LA61_;
3564  		nimln_(3324, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3565  		{
3566  			if (!!(!(((path ? path->Sup.len : 0) == 0)))) goto LA65_;
3567  			failedAssertImpl__systemZassertions_56(((NimStringDesc*) &TM__yu6cxgKBBXbNsTkT9cyMd4g_81));
3568  		}
3569  		LA65_: ;
3570  		nimln_(3325, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3571  		(*Result).kind = getSymlinkFileKind__pureZos_1220(path);
3572  	}
3573  	goto LA54_;
3574  	LA61_: ;
3575  	{
3576  		(*Result).kind = ((tyEnum_PathComponent__9c1SIU9cO1wHcl09b703A9cDrg) 0);
3577  	}
3578  	LA54_: ;
3579  	popFrame();
3580  }
3581  N_LIB_PRIVATE N_NIMCALL(void, nossetFilePermissions)(NimStringDesc* filename, tySet_tyEnum_FilePermission__uTVeDpjCH6aWw9c74YkAskA permissions, NIM_BOOL followSymlinks) {
3582  	mode_t p;
3583  	nimfr_("setFilePermissions", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3584  	nimln_(1675, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3585  	p = ((mode_t) 0);
3586  	nimln_(1676, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3587  	{
3588  		if (!((permissions &((NU16)1<<((NU)(((tyEnum_FilePermission__uTVeDpjCH6aWw9c74YkAskA) 2))&15U)))!=0)) goto LA3_;
3589  		p = (NU32)(p | ((mode_t) 256));
3590  	}
3591  	LA3_: ;
3592  	nimln_(1677, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3593  	{
3594  		if (!((permissions &((NU16)1<<((NU)(((tyEnum_FilePermission__uTVeDpjCH6aWw9c74YkAskA) 1))&15U)))!=0)) goto LA7_;
3595  		p = (NU32)(p | ((mode_t) 128));
3596  	}
3597  	LA7_: ;
3598  	nimln_(1678, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3599  	{
3600  		if (!((permissions &((NU16)1<<((NU)(((tyEnum_FilePermission__uTVeDpjCH6aWw9c74YkAskA) 0))&15U)))!=0)) goto LA11_;
3601  		p = (NU32)(p | ((mode_t) 64));
3602  	}
3603  	LA11_: ;
3604  	nimln_(1680, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3605  	{
3606  		if (!((permissions &((NU16)1<<((NU)(((tyEnum_FilePermission__uTVeDpjCH6aWw9c74YkAskA) 5))&15U)))!=0)) goto LA15_;
3607  		p = (NU32)(p | ((mode_t) 32));
3608  	}
3609  	LA15_: ;
3610  	nimln_(1681, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3611  	{
3612  		if (!((permissions &((NU16)1<<((NU)(((tyEnum_FilePermission__uTVeDpjCH6aWw9c74YkAskA) 4))&15U)))!=0)) goto LA19_;
3613  		p = (NU32)(p | ((mode_t) 16));
3614  	}
3615  	LA19_: ;
3616  	nimln_(1682, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3617  	{
3618  		if (!((permissions &((NU16)1<<((NU)(((tyEnum_FilePermission__uTVeDpjCH6aWw9c74YkAskA) 3))&15U)))!=0)) goto LA23_;
3619  		p = (NU32)(p | ((mode_t) 8));
3620  	}
3621  	LA23_: ;
3622  	nimln_(1684, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3623  	{
3624  		if (!((permissions &((NU16)1<<((NU)(((tyEnum_FilePermission__uTVeDpjCH6aWw9c74YkAskA) 8))&15U)))!=0)) goto LA27_;
3625  		p = (NU32)(p | ((mode_t) 4));
3626  	}
3627  	LA27_: ;
3628  	nimln_(1685, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3629  	{
3630  		if (!((permissions &((NU16)1<<((NU)(((tyEnum_FilePermission__uTVeDpjCH6aWw9c74YkAskA) 7))&15U)))!=0)) goto LA31_;
3631  		p = (NU32)(p | ((mode_t) 2));
3632  	}
3633  	LA31_: ;
3634  	nimln_(1686, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3635  	{
3636  		if (!((permissions &((NU16)1<<((NU)(((tyEnum_FilePermission__uTVeDpjCH6aWw9c74YkAskA) 6))&15U)))!=0)) goto LA35_;
3637  		p = (NU32)(p | ((mode_t) 1));
3638  	}
3639  	LA35_: ;
3640  	nimln_(1688, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3641  	{
3642  		NIM_BOOL T39_;
3643  		T39_ = (NIM_BOOL)0;
3644  		T39_ = !(followSymlinks);
3645  		if (!(T39_)) goto LA40_;
3646  		T39_ = nossymlinkExists(filename);
3647  		LA40_: ;
3648  		if (!T39_) goto LA41_;
3649  	}
3650  	goto LA37_;
3651  	LA41_: ;
3652  	{
3653  		nimln_(1693, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3654  		{
3655  			int T46_;
3656  			NI32 T49_;
3657  			tyTuple__HFn8JzZZeLZ9aKrFg4S9a7HA T50_;
3658  			NimStringDesc* T51_;
3659  			T46_ = (int)0;
3660  			T46_ = chmod(nimToCStringConv(filename), ((mode_t) (p)));
3661  			if (!!((T46_ == ((NI32) 0)))) goto LA47_;
3662  			nimln_(1694, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3663  			T49_ = (NI32)0;
3664  			T49_ = osLastError__pureZos_408();
3665  			nimZeroMem((void*)(&T50_), sizeof(tyTuple__HFn8JzZZeLZ9aKrFg4S9a7HA));
3666  			T50_.Field0 = copyString(filename);
3667  			T50_.Field1 = permissions;
3668  			T51_ = NIM_NIL;
3669  			T51_ = dollar___pureZos_873(T50_);
3670  			raiseOSError__pureZos_405(T49_, T51_);
3671  		}
3672  		LA47_: ;
3673  	}
3674  	LA37_: ;
3675  	popFrame();
3676  }
3677  N_LIB_PRIVATE N_NIMCALL(tySet_tyEnum_FilePermission__uTVeDpjCH6aWw9c74YkAskA, nosgetFilePermissions)(NimStringDesc* filename) {
3678  	tySet_tyEnum_FilePermission__uTVeDpjCH6aWw9c74YkAskA result;
3679  	struct stat a;
3680  	nimfr_("getFilePermissions", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3681  	nimZeroMem((void*)(&result), sizeof(tySet_tyEnum_FilePermission__uTVeDpjCH6aWw9c74YkAskA));
3682  	nimZeroMem((void*)(&a), sizeof(struct stat));
3683  	nimln_(1630, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3684  	{
3685  		int T3_;
3686  		NI32 T6_;
3687  		T3_ = (int)0;
3688  		T3_ = stat(nimToCStringConv(filename), (&a));
3689  		if (!(T3_ < ((NI32) 0))) goto LA4_;
3690  		T6_ = (NI32)0;
3691  		T6_ = osLastError__pureZos_408();
3692  		raiseOSError__pureZos_405(T6_, filename);
3693  	}
3694  	LA4_: ;
3695  	nimln_(1631, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3696  	result = 0;
3697  	nimln_(1632, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3698  	{
3699  		if (!!(((NU32)(a.st_mode & ((mode_t) 256)) == ((mode_t) 0)))) goto LA9_;
3700  		result |= ((NU16)1)<<((((tyEnum_FilePermission__uTVeDpjCH6aWw9c74YkAskA) 2)) & 15);
3701  	}
3702  	LA9_: ;
3703  	nimln_(1633, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3704  	{
3705  		if (!!(((NU32)(a.st_mode & ((mode_t) 128)) == ((mode_t) 0)))) goto LA13_;
3706  		result |= ((NU16)1)<<((((tyEnum_FilePermission__uTVeDpjCH6aWw9c74YkAskA) 1)) & 15);
3707  	}
3708  	LA13_: ;
3709  	nimln_(1634, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3710  	{
3711  		if (!!(((NU32)(a.st_mode & ((mode_t) 64)) == ((mode_t) 0)))) goto LA17_;
3712  		result |= ((NU16)1)<<((((tyEnum_FilePermission__uTVeDpjCH6aWw9c74YkAskA) 0)) & 15);
3713  	}
3714  	LA17_: ;
3715  	nimln_(1636, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3716  	{
3717  		if (!!(((NU32)(a.st_mode & ((mode_t) 32)) == ((mode_t) 0)))) goto LA21_;
3718  		result |= ((NU16)1)<<((((tyEnum_FilePermission__uTVeDpjCH6aWw9c74YkAskA) 5)) & 15);
3719  	}
3720  	LA21_: ;
3721  	nimln_(1637, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3722  	{
3723  		if (!!(((NU32)(a.st_mode & ((mode_t) 16)) == ((mode_t) 0)))) goto LA25_;
3724  		result |= ((NU16)1)<<((((tyEnum_FilePermission__uTVeDpjCH6aWw9c74YkAskA) 4)) & 15);
3725  	}
3726  	LA25_: ;
3727  	nimln_(1638, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3728  	{
3729  		if (!!(((NU32)(a.st_mode & ((mode_t) 8)) == ((mode_t) 0)))) goto LA29_;
3730  		result |= ((NU16)1)<<((((tyEnum_FilePermission__uTVeDpjCH6aWw9c74YkAskA) 3)) & 15);
3731  	}
3732  	LA29_: ;
3733  	nimln_(1640, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3734  	{
3735  		if (!!(((NU32)(a.st_mode & ((mode_t) 4)) == ((mode_t) 0)))) goto LA33_;
3736  		result |= ((NU16)1)<<((((tyEnum_FilePermission__uTVeDpjCH6aWw9c74YkAskA) 8)) & 15);
3737  	}
3738  	LA33_: ;
3739  	nimln_(1641, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3740  	{
3741  		if (!!(((NU32)(a.st_mode & ((mode_t) 2)) == ((mode_t) 0)))) goto LA37_;
3742  		result |= ((NU16)1)<<((((tyEnum_FilePermission__uTVeDpjCH6aWw9c74YkAskA) 7)) & 15);
3743  	}
3744  	LA37_: ;
3745  	nimln_(1642, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3746  	{
3747  		if (!!(((NU32)(a.st_mode & ((mode_t) 1)) == ((mode_t) 0)))) goto LA41_;
3748  		result |= ((NU16)1)<<((((tyEnum_FilePermission__uTVeDpjCH6aWw9c74YkAskA) 6)) & 15);
3749  	}
3750  	LA41_: ;
3751  	popFrame();
3752  	return result;
3753  }
3754  static N_INLINE(void, popCurrentException)(void) {
3755  	asgnRef((void**) (&currException__system_2566), (*currException__system_2566).up);
3756  }
3757  N_LIB_PRIVATE N_NIMCALL(void, copyFileWithPermissions__pureZos_1450)(NimStringDesc* source, NimStringDesc* dest, NIM_BOOL ignorePermissionErrors, tySet_tyEnum_CopyFlag__pdzel23GjJ9cPFw8c5ldeRA options) {
3758  	TSafePoint TM__yu6cxgKBBXbNsTkT9cyMd4g_82;
3759  	tySet_tyEnum_FilePermission__uTVeDpjCH6aWw9c74YkAskA T1_;
3760  	TFrame* _nimCurFrame;
3761  	nimfr_("copyFileWithPermissions", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3762  	_nimCurFrame = getFrame();
3763  	nimln_(2665, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3764  	noscopyFile(source, dest, options);
3765  	nimln_(2667, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3766  	pushSafePoint(&TM__yu6cxgKBBXbNsTkT9cyMd4g_82);
3767  	TM__yu6cxgKBBXbNsTkT9cyMd4g_82.status = setjmp(TM__yu6cxgKBBXbNsTkT9cyMd4g_82.context);
3768  	if (TM__yu6cxgKBBXbNsTkT9cyMd4g_82.status == 0) {
3769  	nimln_(2668, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3770  	T1_ = nosgetFilePermissions(source);
3771  	nimln_(2669, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3772  	nimln_(2668, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3773  	nossetFilePermissions(dest, T1_, ((options &((NU8)1<<((NU)(((tyEnum_CopyFlag__pdzel23GjJ9cPFw8c5ldeRA) 1))&7U)))!=0));
3774  	popSafePoint();
3775  	}
3776  	else {
3777  		popSafePoint();
3778  		setFrame(_nimCurFrame);
3779  		{
3780  			TM__yu6cxgKBBXbNsTkT9cyMd4g_82.status = 0;
3781  			nimln_(2671, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3782  			{
3783  				if (!!(ignorePermissionErrors)) goto LA6_;
3784  				nimln_(2672, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3785  				reraiseException();
3786  			}
3787  			LA6_: ;
3788  			popCurrentException();
3789  		}
3790  	}
3791  	if (TM__yu6cxgKBBXbNsTkT9cyMd4g_82.status != 0) reraiseException();
3792  	popFrame();
3793  }
3794  N_LIB_PRIVATE N_NIMCALL(void, nosnormalizePath)(NimStringDesc** path) {
3795  	nimfr_("normalizePath", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3796  	nimln_(1494, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3797  	unsureAsgnRef((void**) (&(*path)), normalizePath__pureZpathnorm_127((*path), 47));
3798  	popFrame();
3799  }
3800  static N_INLINE(void, normalizePathAux__pureZos_31)(NimStringDesc** path) {
3801  	nimfr_("normalizePathAux", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3802  	nimln_(1522, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3803  	nosnormalizePath(path);
3804  	popFrame();
3805  }
3806  N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, absolutePathInternal__pureZos_49)(NimStringDesc* path) {
3807  	NimStringDesc* result;
3808  	NimStringDesc* T1_;
3809  	nimfr_("absolutePathInternal", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3810  	result = NIM_NIL;
3811  	nimln_(1459, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3812  	T1_ = NIM_NIL;
3813  	T1_ = nosgetCurrentDir();
3814  	result = absolutePath__pureZos_735(path, T1_);
3815  	popFrame();
3816  	return result;
3817  }
3818  N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nosrelativePath)(NimStringDesc* path, NimStringDesc* base, NIM_CHAR sep) {
3819  	NimStringDesc* result;
3820  	NimStringDesc* base_2;
3821  	NimStringDesc* path_2;
3822  	NIM_BOOL a1;
3823  	NIM_BOOL a2;
3824  	tyObject_PathIter__tllF14xUpDWpqG9ci5sg9bMg f;
3825  	tyObject_PathIter__tllF14xUpDWpqG9ci5sg9bMg b;
3826  	tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ ff;
3827  	tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ bb;
3828  	nimfr_("relativePath", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3829  {	result = NIM_NIL;
3830  	nimln_(390, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3831  	{
3832  		if (!((path ? path->Sup.len : 0) == ((NI) 0))) goto LA3_;
3833  		result = ((NimStringDesc*) NIM_NIL);
3834  		goto BeforeRet_;
3835  	}
3836  	LA3_: ;
3837  	nimln_(391, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3838  	{
3839  		if (!eqStrings(base, ((NimStringDesc*) &TM__yu6cxgKBBXbNsTkT9cyMd4g_40))) goto LA7_;
3840  		base_2 = ((NimStringDesc*) NIM_NIL);
3841  	}
3842  	goto LA5_;
3843  	LA7_: ;
3844  	{
3845  		base_2 = copyString(base);
3846  	}
3847  	LA5_: ;
3848  	nimln_(392, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3849  	path_2 = copyString(path);
3850  	nimln_(393, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3851  	normalizePathAux__pureZos_31((&path_2));
3852  	nimln_(394, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3853  	normalizePathAux__pureZos_31((&base_2));
3854  	nimln_(395, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3855  	a1 = nosisAbsolute(path_2);
3856  	nimln_(396, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3857  	a2 = nosisAbsolute(base_2);
3858  	nimln_(397, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3859  	{
3860  		NIM_BOOL T12_;
3861  		T12_ = (NIM_BOOL)0;
3862  		T12_ = a1;
3863  		if (!(T12_)) goto LA13_;
3864  		T12_ = !(a2);
3865  		LA13_: ;
3866  		if (!T12_) goto LA14_;
3867  		nimln_(398, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3868  		base_2 = absolutePathInternal__pureZos_49(base_2);
3869  	}
3870  	goto LA10_;
3871  	LA14_: ;
3872  	{
3873  		NIM_BOOL T17_;
3874  		nimln_(399, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3875  		T17_ = (NIM_BOOL)0;
3876  		T17_ = a2;
3877  		if (!(T17_)) goto LA18_;
3878  		T17_ = !(a1);
3879  		LA18_: ;
3880  		if (!T17_) goto LA19_;
3881  		nimln_(400, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3882  		path_2 = absolutePathInternal__pureZos_49(path_2);
3883  	}
3884  	goto LA10_;
3885  	LA19_: ;
3886  	LA10_: ;
3887  	nimln_(407, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3888  	nimZeroMem((void*)(&f), sizeof(tyObject_PathIter__tllF14xUpDWpqG9ci5sg9bMg));
3889  	nimln_(408, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3890  	nimZeroMem((void*)(&b), sizeof(tyObject_PathIter__tllF14xUpDWpqG9ci5sg9bMg));
3891  	nimln_(409, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3892  	ff = TM__yu6cxgKBBXbNsTkT9cyMd4g_86;
3893  	nimln_(410, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3894  	bb = TM__yu6cxgKBBXbNsTkT9cyMd4g_86;
3895  	nimln_(411, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3896  	if (((path_2 ? path_2->Sup.len : 0)) < ((NI) 0) || ((path_2 ? path_2->Sup.len : 0)) > ((NI) IL64(9223372036854775807))){ raiseRangeErrorI((path_2 ? path_2->Sup.len : 0), ((NI) 0), ((NI) IL64(9223372036854775807))); }
3897  	result = rawNewString(((NI) ((path_2 ? path_2->Sup.len : 0))));
3898  	{
3899  		nimln_(413, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3900  		while (1) {
3901  			NIM_BOOL T23_;
3902  			NI diff;
3903  			NI TM__yu6cxgKBBXbNsTkT9cyMd4g_87;
3904  			NIM_BOOL same;
3905  			NI colontmp_;
3906  			NI colontmp__2;
3907  			NI colontmp__3;
3908  			NI colontmp__4;
3909  			T23_ = (NIM_BOOL)0;
3910  			T23_ = hasNext__pureZpathnorm_6(f, path_2);
3911  			if (!(T23_)) goto LA24_;
3912  			T23_ = hasNext__pureZpathnorm_6(b, base_2);
3913  			LA24_: ;
3914  			if (!T23_) goto LA22;
3915  			nimln_(414, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3916  			ff = next__pureZpathnorm_10((&f), path_2);
3917  			nimln_(415, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3918  			bb = next__pureZpathnorm_10((&b), base_2);
3919  			nimln_(416, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3920  			if (nimSubInt(ff.Field1, ff.Field0, &TM__yu6cxgKBBXbNsTkT9cyMd4g_87)) { raiseOverflow(); };
3921  			diff = (NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_87);
3922  			nimln_(417, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3923  			{
3924  				NI TM__yu6cxgKBBXbNsTkT9cyMd4g_88;
3925  				if (nimSubInt(bb.Field1, bb.Field0, &TM__yu6cxgKBBXbNsTkT9cyMd4g_88)) { raiseOverflow(); };
3926  				if (!!((diff == (NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_88)))) goto LA27_;
3927  				goto LA21;
3928  			}
3929  			LA27_: ;
3930  			nimln_(418, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3931  			same = NIM_TRUE;
3932  			{
3933  				NI i;
3934  				NI res;
3935  				i = (NI)0;
3936  				nimln_(90, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/iterators_1.nim");
3937  				res = ((NI) 0);
3938  				{
3939  					nimln_(91, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/iterators_1.nim");
3940  					while (1) {
3941  						NI TM__yu6cxgKBBXbNsTkT9cyMd4g_91;
3942  						if (!(res <= diff)) goto LA31;
3943  						nimln_(419, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3944  						i = res;
3945  						{
3946  							NI TM__yu6cxgKBBXbNsTkT9cyMd4g_89;
3947  							NI TM__yu6cxgKBBXbNsTkT9cyMd4g_90;
3948  							nimln_(420, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3949  							if (nimAddInt(i, ff.Field0, &TM__yu6cxgKBBXbNsTkT9cyMd4g_89)) { raiseOverflow(); };
3950  							if ((NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_89) < 0 || (NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_89) >= (path_2 ? path_2->Sup.len : 0)){ raiseIndexError2((NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_89),(path_2 ? path_2->Sup.len : 0)-1); }
3951  							if (nimAddInt(i, bb.Field0, &TM__yu6cxgKBBXbNsTkT9cyMd4g_90)) { raiseOverflow(); };
3952  							if ((NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_90) < 0 || (NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_90) >= (base_2 ? base_2->Sup.len : 0)){ raiseIndexError2((NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_90),(base_2 ? base_2->Sup.len : 0)-1); }
3953  							if (!!(((NU8)(path_2->data[(NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_89)]) == (NU8)(base_2->data[(NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_90)])))) goto LA34_;
3954  							nimln_(421, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3955  							same = NIM_FALSE;
3956  							nimln_(422, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3957  							goto LA29;
3958  						}
3959  						LA34_: ;
3960  						nimln_(93, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/iterators_1.nim");
3961  						if (nimAddInt(res, ((NI) 1), &TM__yu6cxgKBBXbNsTkT9cyMd4g_91)) { raiseOverflow(); };
3962  						res = (NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_91);
3963  					} LA31: ;
3964  				}
3965  			} LA29: ;
3966  			nimln_(423, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3967  			{
3968  				if (!!(same)) goto LA38_;
3969  				goto LA21;
3970  			}
3971  			LA38_: ;
3972  			nimln_(424, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3973  			colontmp_ = ((NI) 0);
3974  			colontmp__2 = ((NI) -1);
3975  			ff.Field0 = colontmp_;
3976  			ff.Field1 = colontmp__2;
3977  			nimln_(425, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3978  			colontmp__3 = ((NI) 0);
3979  			colontmp__4 = ((NI) -1);
3980  			bb.Field0 = colontmp__3;
3981  			bb.Field1 = colontmp__4;
3982  		} LA22: ;
3983  	} LA21: ;
3984  	{
3985  		nimln_(433, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3986  		while (1) {
3987  			nimln_(434, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3988  			{
3989  				if (!(bb.Field0 <= bb.Field1)) goto LA44_;
3990  				nimln_(435, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
3991  				{
3992  					NIM_BOOL T48_;
3993  					NIM_CHAR* T50_;
3994  					T48_ = (NIM_BOOL)0;
3995  					T48_ = (((NI) 0) < (result ? result->Sup.len : 0));
3996  					if (!(T48_)) goto LA49_;
3997  					T50_ = (NIM_CHAR*)0;
3998  					T50_ = X5BX5D___system_7408((&result), ((NI) 1));
3999  					T48_ = !(((NU8)((*T50_)) == (NU8)(sep)));
4000  					LA49_: ;
4001  					if (!T48_) goto LA51_;
4002  					nimln_(436, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
4003  					result = addChar(result, sep);
4004  				}
4005  				LA51_: ;
4006  				nimln_(437, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
4007  				result = resizeString(result, 2);
4008  appendString(result, ((NimStringDesc*) &TM__yu6cxgKBBXbNsTkT9cyMd4g_39));
4009  			}
4010  			LA44_: ;
4011  			nimln_(438, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
4012  			{
4013  				NIM_BOOL T55_;
4014  				T55_ = (NIM_BOOL)0;
4015  				T55_ = hasNext__pureZpathnorm_6(b, base_2);
4016  				if (!!(T55_)) goto LA56_;
4017  				goto LA40;
4018  			}
4019  			LA56_: ;
4020  			nimln_(439, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
4021  			bb = next__pureZpathnorm_10((&b), base_2);
4022  		}
4023  	} LA40: ;
4024  	{
4025  		nimln_(442, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
4026  		while (1) {
4027  			nimln_(443, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
4028  			{
4029  				if (!(ff.Field0 <= ff.Field1)) goto LA62_;
4030  				nimln_(444, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
4031  				{
4032  					NIM_BOOL T66_;
4033  					NIM_CHAR* T68_;
4034  					T66_ = (NIM_BOOL)0;
4035  					T66_ = (((NI) 0) < (result ? result->Sup.len : 0));
4036  					if (!(T66_)) goto LA67_;
4037  					T68_ = (NIM_CHAR*)0;
4038  					T68_ = X5BX5D___system_7408((&result), ((NI) 1));
4039  					T66_ = !(((NU8)((*T68_)) == (NU8)(sep)));
4040  					LA67_: ;
4041  					if (!T66_) goto LA69_;
4042  					nimln_(445, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
4043  					result = addChar(result, sep);
4044  				}
4045  				LA69_: ;
4046  				{
4047  					NI i_2;
4048  					NI colontmp__5;
4049  					NI TM__yu6cxgKBBXbNsTkT9cyMd4g_92;
4050  					NI res_2;
4051  					i_2 = (NI)0;
4052  					colontmp__5 = (NI)0;
4053  					nimln_(446, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
4054  					if (nimSubInt(ff.Field1, ff.Field0, &TM__yu6cxgKBBXbNsTkT9cyMd4g_92)) { raiseOverflow(); };
4055  					colontmp__5 = (NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_92);
4056  					nimln_(90, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/iterators_1.nim");
4057  					res_2 = ((NI) 0);
4058  					{
4059  						nimln_(91, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/iterators_1.nim");
4060  						while (1) {
4061  							NI TM__yu6cxgKBBXbNsTkT9cyMd4g_93;
4062  							NI TM__yu6cxgKBBXbNsTkT9cyMd4g_94;
4063  							if (!(res_2 <= colontmp__5)) goto LA73;
4064  							nimln_(446, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
4065  							i_2 = res_2;
4066  							nimln_(447, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
4067  							if (nimAddInt(i_2, ff.Field0, &TM__yu6cxgKBBXbNsTkT9cyMd4g_93)) { raiseOverflow(); };
4068  							if ((NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_93) < 0 || (NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_93) >= (path_2 ? path_2->Sup.len : 0)){ raiseIndexError2((NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_93),(path_2 ? path_2->Sup.len : 0)-1); }
4069  							result = addChar(result, path_2->data[(NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_93)]);
4070  							nimln_(93, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/iterators_1.nim");
4071  							if (nimAddInt(res_2, ((NI) 1), &TM__yu6cxgKBBXbNsTkT9cyMd4g_94)) { raiseOverflow(); };
4072  							res_2 = (NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_94);
4073  						} LA73: ;
4074  					}
4075  				}
4076  			}
4077  			LA62_: ;
4078  			nimln_(448, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
4079  			{
4080  				NIM_BOOL T76_;
4081  				T76_ = (NIM_BOOL)0;
4082  				T76_ = hasNext__pureZpathnorm_6(f, path_2);
4083  				if (!!(T76_)) goto LA77_;
4084  				goto LA58;
4085  			}
4086  			LA77_: ;
4087  			nimln_(449, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
4088  			ff = next__pureZpathnorm_10((&f), path_2);
4089  		}
4090  	} LA58: ;
4091  	nimln_(452, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
4092  	{
4093  		if (!((result ? result->Sup.len : 0) == ((NI) 0))) goto LA81_;
4094  		result = resizeString(result, 1);
4095  appendString(result, ((NimStringDesc*) &TM__yu6cxgKBBXbNsTkT9cyMd4g_40));
4096  	}
4097  	LA81_: ;
4098  	}BeforeRet_: ;
4099  	popFrame();
4100  	return result;
4101  }
4102  N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, quoteShellCommand__pureZos_603)(NimStringDesc** args, NI argsLen_0) {
4103  	NimStringDesc* result;
4104  	nimfr_("quoteShellCommand", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
4105  	result = NIM_NIL;
4106  	nimln_(1112, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
4107  	result = ((NimStringDesc*) NIM_NIL);
4108  	{
4109  		NI i;
4110  		NI colontmp_;
4111  		NI i_2;
4112  		i = (NI)0;
4113  		colontmp_ = (NI)0;
4114  		nimln_(1113, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
4115  		colontmp_ = argsLen_0;
4116  		nimln_(119, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/iterators_1.nim");
4117  		i_2 = ((NI) 0);
4118  		{
4119  			nimln_(120, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/iterators_1.nim");
4120  			while (1) {
4121  				NimStringDesc* T8_;
4122  				NI TM__yu6cxgKBBXbNsTkT9cyMd4g_96;
4123  				if (!(i_2 < colontmp_)) goto LA3;
4124  				nimln_(1113, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
4125  				i = i_2;
4126  				{
4127  					nimln_(1114, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
4128  					if (!(((NI) 0) < i)) goto LA6_;
4129  					result = resizeString(result, 1);
4130  appendString(result, ((NimStringDesc*) &TM__yu6cxgKBBXbNsTkT9cyMd4g_95));
4131  				}
4132  				LA6_: ;
4133  				nimln_(1113, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
4134  				nimln_(1115, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
4135  				if (i < 0 || i >= argsLen_0){ raiseIndexError2(i,argsLen_0-1); }
4136  				T8_ = NIM_NIL;
4137  				T8_ = nospquoteShell(args[i]);
4138  				result = resizeString(result, (T8_ ? T8_->Sup.len : 0) + 0);
4139  appendString(result, T8_);
4140  				nimln_(122, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/iterators_1.nim");
4141  				if (nimAddInt(i_2, ((NI) 1), &TM__yu6cxgKBBXbNsTkT9cyMd4g_96)) { raiseOverflow(); };
4142  				i_2 = (NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_96);
4143  			} LA3: ;
4144  		}
4145  	}
4146  	popFrame();
4147  	return result;
4148  }
4149  N_LIB_PRIVATE N_NIMCALL(void, nossleep)(NI milsecs) {
4150  	struct timespec a;
4151  	struct timespec b;
4152  	NI TM__yu6cxgKBBXbNsTkT9cyMd4g_97;
4153  	NI TM__yu6cxgKBBXbNsTkT9cyMd4g_98;
4154  	int T1_;
4155  	nimfr_("sleep", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
4156  	nimZeroMem((void*)(&a), sizeof(struct timespec));
4157  	nimZeroMem((void*)(&b), sizeof(struct timespec));
4158  	nimln_(3212, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
4159  	a.tv_sec = (NI)(milsecs / ((NI) 1000));
4160  	nimln_(3213, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
4161  	if (nimMulInt((NI)(milsecs % ((NI) 1000)), ((NI) 1000), &TM__yu6cxgKBBXbNsTkT9cyMd4g_97)) { raiseOverflow(); };
4162  	if (nimMulInt((NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_97), ((NI) 1000), &TM__yu6cxgKBBXbNsTkT9cyMd4g_98)) { raiseOverflow(); };
4163  	a.tv_nsec = (NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_98);
4164  	nimln_(3214, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
4165  	T1_ = (int)0;
4166  	T1_ = nanosleep((&a), (&b));
4167  	(void)(T1_);
4168  	popFrame();
4169  }
4170  N_LIB_PRIVATE N_NIMCALL(NI, nosexecShellCmd)(NimStringDesc* command) {
4171  	NI result;
4172  	int T1_;
4173  	int T2_;
4174  	nimfr_("execShellCmd", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
4175  	result = (NI)0;
4176  	nimln_(2074, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
4177  	T1_ = (int)0;
4178  	T1_ = system(nimToCStringConv(command));
4179  	T2_ = (int)0;
4180  	T2_ = exitStatusLikeShell__pureZos_1100(T1_);
4181  	result = ((NI) (T2_));
4182  	popFrame();
4183  	return result;
4184  }
4185  N_LIB_PRIVATE N_NIMCALL(void, atmdotdotatsdotdotatsdotdotatsdotdotatsdotchoosenimatstoolchainsatsnimminusathversionminus1minus6atslibatspureatsosdotnim_DatInit000)(void) {
4186  static TNimNode* TM__yu6cxgKBBXbNsTkT9cyMd4g_83_9[9];
4187  NI TM__yu6cxgKBBXbNsTkT9cyMd4g_85;
4188  static char* NIM_CONST TM__yu6cxgKBBXbNsTkT9cyMd4g_84[9] = {
4189  "fpUserExec", 
4190  "fpUserWrite", 
4191  "fpUserRead", 
4192  "fpGroupExec", 
4193  "fpGroupWrite", 
4194  "fpGroupRead", 
4195  "fpOthersExec", 
4196  "fpOthersWrite", 
4197  "fpOthersRead"};
4198  static TNimNode* TM__yu6cxgKBBXbNsTkT9cyMd4g_99_2[2];
4199  static TNimNode* TM__yu6cxgKBBXbNsTkT9cyMd4g_100_4[4];
4200  NI TM__yu6cxgKBBXbNsTkT9cyMd4g_102;
4201  static char* NIM_CONST TM__yu6cxgKBBXbNsTkT9cyMd4g_101[4] = {
4202  "pcFile", 
4203  "pcLinkToFile", 
4204  "pcDir", 
4205  "pcLinkToDir"};
4206  static TNimNode TM__yu6cxgKBBXbNsTkT9cyMd4g_0[18];
4207  NTIfilepermission__uTVeDpjCH6aWw9c74YkAskA_.size = sizeof(tyEnum_FilePermission__uTVeDpjCH6aWw9c74YkAskA);
4208  NTIfilepermission__uTVeDpjCH6aWw9c74YkAskA_.align = NIM_ALIGNOF(tyEnum_FilePermission__uTVeDpjCH6aWw9c74YkAskA);
4209  NTIfilepermission__uTVeDpjCH6aWw9c74YkAskA_.kind = 14;
4210  NTIfilepermission__uTVeDpjCH6aWw9c74YkAskA_.base = 0;
4211  NTIfilepermission__uTVeDpjCH6aWw9c74YkAskA_.flags = 3;
4212  for (TM__yu6cxgKBBXbNsTkT9cyMd4g_85 = 0; TM__yu6cxgKBBXbNsTkT9cyMd4g_85 < 9; TM__yu6cxgKBBXbNsTkT9cyMd4g_85++) {
4213  TM__yu6cxgKBBXbNsTkT9cyMd4g_0[TM__yu6cxgKBBXbNsTkT9cyMd4g_85+0].kind = 1;
4214  TM__yu6cxgKBBXbNsTkT9cyMd4g_0[TM__yu6cxgKBBXbNsTkT9cyMd4g_85+0].offset = TM__yu6cxgKBBXbNsTkT9cyMd4g_85;
4215  TM__yu6cxgKBBXbNsTkT9cyMd4g_0[TM__yu6cxgKBBXbNsTkT9cyMd4g_85+0].name = TM__yu6cxgKBBXbNsTkT9cyMd4g_84[TM__yu6cxgKBBXbNsTkT9cyMd4g_85];
4216  TM__yu6cxgKBBXbNsTkT9cyMd4g_83_9[TM__yu6cxgKBBXbNsTkT9cyMd4g_85] = &TM__yu6cxgKBBXbNsTkT9cyMd4g_0[TM__yu6cxgKBBXbNsTkT9cyMd4g_85+0];
4217  }
4218  TM__yu6cxgKBBXbNsTkT9cyMd4g_0[9].len = 9; TM__yu6cxgKBBXbNsTkT9cyMd4g_0[9].kind = 2; TM__yu6cxgKBBXbNsTkT9cyMd4g_0[9].sons = &TM__yu6cxgKBBXbNsTkT9cyMd4g_83_9[0];
4219  NTIfilepermission__uTVeDpjCH6aWw9c74YkAskA_.node = &TM__yu6cxgKBBXbNsTkT9cyMd4g_0[9];
4220  NTItupleLkind58pathcomponent_path58stringT__LCURwohbLBusrL8hdCnvng_.size = sizeof(tyTuple__LCURwohbLBusrL8hdCnvng);
4221  NTItupleLkind58pathcomponent_path58stringT__LCURwohbLBusrL8hdCnvng_.align = NIM_ALIGNOF(tyTuple__LCURwohbLBusrL8hdCnvng);
4222  NTItupleLkind58pathcomponent_path58stringT__LCURwohbLBusrL8hdCnvng_.kind = 18;
4223  NTItupleLkind58pathcomponent_path58stringT__LCURwohbLBusrL8hdCnvng_.base = 0;
4224  TM__yu6cxgKBBXbNsTkT9cyMd4g_99_2[0] = &TM__yu6cxgKBBXbNsTkT9cyMd4g_0[11];
4225  NTIpathcomponent__9c1SIU9cO1wHcl09b703A9cDrg_.size = sizeof(tyEnum_PathComponent__9c1SIU9cO1wHcl09b703A9cDrg);
4226  NTIpathcomponent__9c1SIU9cO1wHcl09b703A9cDrg_.align = NIM_ALIGNOF(tyEnum_PathComponent__9c1SIU9cO1wHcl09b703A9cDrg);
4227  NTIpathcomponent__9c1SIU9cO1wHcl09b703A9cDrg_.kind = 14;
4228  NTIpathcomponent__9c1SIU9cO1wHcl09b703A9cDrg_.base = 0;
4229  NTIpathcomponent__9c1SIU9cO1wHcl09b703A9cDrg_.flags = 3;
4230  for (TM__yu6cxgKBBXbNsTkT9cyMd4g_102 = 0; TM__yu6cxgKBBXbNsTkT9cyMd4g_102 < 4; TM__yu6cxgKBBXbNsTkT9cyMd4g_102++) {
4231  TM__yu6cxgKBBXbNsTkT9cyMd4g_0[TM__yu6cxgKBBXbNsTkT9cyMd4g_102+12].kind = 1;
4232  TM__yu6cxgKBBXbNsTkT9cyMd4g_0[TM__yu6cxgKBBXbNsTkT9cyMd4g_102+12].offset = TM__yu6cxgKBBXbNsTkT9cyMd4g_102;
4233  TM__yu6cxgKBBXbNsTkT9cyMd4g_0[TM__yu6cxgKBBXbNsTkT9cyMd4g_102+12].name = TM__yu6cxgKBBXbNsTkT9cyMd4g_101[TM__yu6cxgKBBXbNsTkT9cyMd4g_102];
4234  TM__yu6cxgKBBXbNsTkT9cyMd4g_100_4[TM__yu6cxgKBBXbNsTkT9cyMd4g_102] = &TM__yu6cxgKBBXbNsTkT9cyMd4g_0[TM__yu6cxgKBBXbNsTkT9cyMd4g_102+12];
4235  }
4236  TM__yu6cxgKBBXbNsTkT9cyMd4g_0[16].len = 4; TM__yu6cxgKBBXbNsTkT9cyMd4g_0[16].kind = 2; TM__yu6cxgKBBXbNsTkT9cyMd4g_0[16].sons = &TM__yu6cxgKBBXbNsTkT9cyMd4g_100_4[0];
4237  NTIpathcomponent__9c1SIU9cO1wHcl09b703A9cDrg_.node = &TM__yu6cxgKBBXbNsTkT9cyMd4g_0[16];
4238  TM__yu6cxgKBBXbNsTkT9cyMd4g_0[11].kind = 1;
4239  TM__yu6cxgKBBXbNsTkT9cyMd4g_0[11].offset = offsetof(tyTuple__LCURwohbLBusrL8hdCnvng, Field0);
4240  TM__yu6cxgKBBXbNsTkT9cyMd4g_0[11].typ = (&NTIpathcomponent__9c1SIU9cO1wHcl09b703A9cDrg_);
4241  TM__yu6cxgKBBXbNsTkT9cyMd4g_0[11].name = "Field0";
4242  TM__yu6cxgKBBXbNsTkT9cyMd4g_99_2[1] = &TM__yu6cxgKBBXbNsTkT9cyMd4g_0[17];
4243  TM__yu6cxgKBBXbNsTkT9cyMd4g_0[17].kind = 1;
4244  TM__yu6cxgKBBXbNsTkT9cyMd4g_0[17].offset = offsetof(tyTuple__LCURwohbLBusrL8hdCnvng, Field1);
4245  TM__yu6cxgKBBXbNsTkT9cyMd4g_0[17].typ = (&NTIstring__77mFvmsOLKik79ci2hXkHEg_);
4246  TM__yu6cxgKBBXbNsTkT9cyMd4g_0[17].name = "Field1";
4247  TM__yu6cxgKBBXbNsTkT9cyMd4g_0[10].len = 2; TM__yu6cxgKBBXbNsTkT9cyMd4g_0[10].kind = 2; TM__yu6cxgKBBXbNsTkT9cyMd4g_0[10].sons = &TM__yu6cxgKBBXbNsTkT9cyMd4g_99_2[0];
4248  NTItupleLkind58pathcomponent_path58stringT__LCURwohbLBusrL8hdCnvng_.node = &TM__yu6cxgKBBXbNsTkT9cyMd4g_0[10];
4249  }
4250