/* Generated by Nim Compiler v2.2.10 */
/* Compiled for: MacOSX, arm64, clang */
/* Command for C compiler:
   clang -c  -w -ferror-limit=3 -fno-strict-aliasing -pthread -isysroot /Applications/Xcode_16.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk -target arm64-apple-darwin24.2.0 -O3   -I/Users/runner/work/nightlies/nightlies/nim-2.2.10/lib -I/Users/runner/work/nightlies/nightlies/nim-2.2.10/dist/atlas/src -o /Users/runner/work/nightlies/nightlies/nim-2.2.10/dist/atlas/.nimcache/@mbasic@sconfigutils.nim.c.o /Users/runner/work/nightlies/nightlies/nim-2.2.10/dist/atlas/.nimcache/@mbasic@sconfigutils.nim.c */
#define NIM_INTBITS 64
#define NIM_EmulateOverflowChecks

#include "nimbase.h"
#include <string.h>
#include <glob.h>
#undef LANGUAGE_C
#undef MIPSEB
#undef MIPSEL
#undef PPC
#undef R3000
#undef R4000
#undef i386
#undef linux
#undef mips
#undef near
#undef far
#undef powerpc
#undef unix
typedef struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ tySequence__sM4lkSb7zS6F7OVMvW9cffQ;
typedef struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content;
typedef struct NimStrPayload NimStrPayload;
typedef struct NimStringV2 NimStringV2;
typedef struct tyObject_NimbleFileInfo__i7bgYVgkuliKc9bzshfZ2Rw tyObject_NimbleFileInfo__i7bgYVgkuliKc9bzshfZ2Rw;
typedef struct tyObject_Table__9c9cL6DR4DCGVMI1lXj9akt8w tyObject_Table__9c9cL6DR4DCGVMI1lXj9akt8w;
typedef struct tySequence__JiteSJxrvz63iP2o9bcn2Sg tySequence__JiteSJxrvz63iP2o9bcn2Sg;
typedef struct tySequence__JiteSJxrvz63iP2o9bcn2Sg_Content tySequence__JiteSJxrvz63iP2o9bcn2Sg_Content;
typedef struct tySequence__4eQHGndY6XBYpFOH09apV8Q tySequence__4eQHGndY6XBYpFOH09apV8Q;
typedef struct tySequence__4eQHGndY6XBYpFOH09apV8Q_Content tySequence__4eQHGndY6XBYpFOH09apV8Q_Content;
typedef struct tyTuple__g1w83cyyBYiVU9c8WEJWnjQ tyTuple__g1w83cyyBYiVU9c8WEJWnjQ;
typedef struct tyTuple__UV3llMMYFckfui8YMBuUZA tyTuple__UV3llMMYFckfui8YMBuUZA;
struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ {
  NI len; tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content* p;
};
struct NimStrPayload {
	NI cap;
	NIM_CHAR data[SEQ_DECL_SIZE];
};
struct NimStringV2 {
	NI len;
	NimStrPayload* p;
};
typedef NimStringV2 tyArray__YgExxhfgKcesA5EOUj1MOA[1];
typedef NCSTRING tyUncheckedArray__nvS6J9clHMUMHfoZd8Ad2zg[1];
struct tySequence__JiteSJxrvz63iP2o9bcn2Sg {
  NI len; tySequence__JiteSJxrvz63iP2o9bcn2Sg_Content* p;
};
struct tyObject_Table__9c9cL6DR4DCGVMI1lXj9akt8w {
	tySequence__JiteSJxrvz63iP2o9bcn2Sg data;
	NI counter;
};
struct tySequence__4eQHGndY6XBYpFOH09apV8Q {
  NI len; tySequence__4eQHGndY6XBYpFOH09apV8Q_Content* p;
};
struct tyObject_NimbleFileInfo__i7bgYVgkuliKc9bzshfZ2Rw {
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ requires;
	tyObject_Table__9c9cL6DR4DCGVMI1lXj9akt8w features;
	NimStringV2 srcDir;
	NimStringV2 version;
	tySequence__4eQHGndY6XBYpFOH09apV8Q tasks;
	NIM_BOOL hasInstallHooks;
	NIM_BOOL hasErrors;
};
struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content { NI cap; NimStringV2 data[SEQ_DECL_SIZE]; };
struct tyTuple__g1w83cyyBYiVU9c8WEJWnjQ {
	NI Field0;
	NimStringV2 Field1;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ Field2;
};
struct tySequence__JiteSJxrvz63iP2o9bcn2Sg_Content { NI cap; tyTuple__g1w83cyyBYiVU9c8WEJWnjQ data[SEQ_DECL_SIZE]; };
struct tyTuple__UV3llMMYFckfui8YMBuUZA {
	NimStringV2 Field0;
	NimStringV2 Field1;
};
struct tySequence__4eQHGndY6XBYpFOH09apV8Q_Content { NI cap; tyTuple__UV3llMMYFckfui8YMBuUZA data[SEQ_DECL_SIZE]; };
N_LIB_PRIVATE N_NOINLINE(void, raiseIndexError2)(NI i_p0, NI n_p1);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, nosrelativePath)(NimStringV2 path_p0, NimStringV2 base_p1, NIM_CHAR sep_p2);
static N_INLINE(NIM_BOOL, eqStrings)(NimStringV2 a_p0, NimStringV2 b_p1);
static N_INLINE(NIM_BOOL, equalMem__system_u1763)(void* a_p0, void* b_p1, NI size_p2);
static N_INLINE(int, nimCmpMem)(void* a_p0, void* b_p1, NI size_p2);
static N_INLINE(void, appendString)(NimStringV2* dest_p0, NimStringV2 src_p1);
static N_INLINE(void, copyMem__system_u1755)(void* dest_p0, void* source_p1, NI size_p2);
static N_INLINE(void, nimCopyMem)(void* dest_p0, void* source_p1, NI size_p2);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, rawNewString)(NI space_p0);
N_LIB_PRIVATE N_NIMCALL(void, prepareAdd)(NimStringV2* s_p0, NI addLen_p1);
N_LIB_PRIVATE N_NOCONV(void, deallocShared)(void* p_p0);
N_LIB_PRIVATE N_NIMCALL(void, failedAssertImpl__stdZassertions_u95)(NimStringV2 msg_p0);
static N_INLINE(NimStringV2, slash___stdZprivateZospaths2_u88)(NimStringV2 head_p0, NimStringV2 tail_p1);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, nosjoinPath)(NimStringV2 head_p0, NimStringV2 tail_p1);
static N_INLINE(NIM_BOOL*, nimErrorFlag)(void);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, nosdirExists)(NimStringV2 dir_p0);
N_LIB_PRIVATE N_NIMCALL(void, error__basicZconfigutils_u107)(NimStringV2 p_p0, NimStringV2* args_p1, NI args_p1Len_0);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, project__basicZcontext_u340)(void);
static N_INLINE(NIM_BOOL, fileExists__stdZfiles_u10)(NimStringV2 filename_p0);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, nosfileExists)(NimStringV2 filename_p0);
N_LIB_PRIVATE N_NIMCALL(void, writeFile__stdZsyncio_u539)(NimStringV2 filename_p0, NimStringV2 content_p1);
N_LIB_PRIVATE N_NIMCALL(void, info__basicZconfigutils_u114)(NimStringV2 p_p0, NimStringV2* args_p1, NI args_p1Len_0);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, readableFile__basicZosutils_u70)(NimStringV2 s_p0, NimStringV2 path_p1);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, readFile__stdZsyncio_u534)(NimStringV2 filename_p0);
N_LIB_PRIVATE N_NIMCALL(NI, nsuFindStr)(NimStringV2 s_p0, NimStringV2 sub_p1, NI start_p2, NI last_p3);
N_LIB_PRIVATE N_NIMCALL(void, eqsink___system_u2760)(NimStringV2* dest_p0, NimStringV2 src_p1);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, substr__system_u9096)(NimStringV2 s_p0, NI first_p1, NI last_p2);
static N_INLINE(NIM_BOOL, nimSubInt)(NI a_p0, NI b_p1, NI* res_p2);
N_LIB_PRIVATE N_NOINLINE(void, raiseOverflow)(void);
N_LIB_PRIVATE N_NOINLINE(void, raiseRangeErrorI)(NI64 i_p0, NI64 a_p1, NI64 b_p2);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, substr__system_u9109)(NimStringV2 s_p0, NI first_p1);
static N_INLINE(NIM_BOOL, nimAddInt)(NI a_p0, NI b_p1, NI* res_p2);
N_LIB_PRIVATE N_NIMCALL(void, alignedDealloc)(void* p_p0, NI align_p1);
static N_INLINE(void, nimZeroMem)(void* p_p0, NI size_p1);
static N_INLINE(void, nimSetMem__system_u2188)(void* a_p0, int v_p1, NI size_p2);
static N_INLINE(NCSTRING, nimToCStringConv)(NimStringV2 s_p0);
static N_INLINE(NIM_BOOL, eqeq___system_u9048)(NCSTRING x_p0, NCSTRING y_p1);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, cstrToNimstr)(NCSTRING str_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqwasMoved___system_u2751)(NimStringV2* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, extractRequiresInfo__basicZparse95requires_u4666)(NimStringV2 nimbleFile_p0, tyObject_NimbleFileInfo__i7bgYVgkuliKc9bzshfZ2Rw* Result);
static N_INLINE(NimStringV2, slash___stdZpaths_u84)(NimStringV2 head_p0, NimStringV2 tail_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___basicZconfigutils_u18)(tyObject_NimbleFileInfo__i7bgYVgkuliKc9bzshfZ2Rw* dest_p0);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, eqdup___system_u2757)(NimStringV2 src_p0);
static const struct {
  NI cap; NIM_CHAR data[15+1];
} TM__Wwt06L9ccZpzmx0boHvQVEQ_2 = { 15 | NIM_STRLIT_FLAG, "--noNimblePath\012" };
static const NimStringV2 TM__Wwt06L9ccZpzmx0boHvQVEQ_3 = {15, (NimStrPayload*)&TM__Wwt06L9ccZpzmx0boHvQVEQ_2};
static const struct {
  NI cap; NIM_CHAR data[1+1];
} TM__Wwt06L9ccZpzmx0boHvQVEQ_4 = { 1 | NIM_STRLIT_FLAG, "." };
static const NimStringV2 TM__Wwt06L9ccZpzmx0boHvQVEQ_5 = {1, (NimStrPayload*)&TM__Wwt06L9ccZpzmx0boHvQVEQ_4};
static const struct {
  NI cap; NIM_CHAR data[8+1];
} TM__Wwt06L9ccZpzmx0boHvQVEQ_6 = { 8 | NIM_STRLIT_FLAG, "--path:\"" };
static const NimStringV2 TM__Wwt06L9ccZpzmx0boHvQVEQ_7 = {8, (NimStrPayload*)&TM__Wwt06L9ccZpzmx0boHvQVEQ_6};
static const struct {
  NI cap; NIM_CHAR data[2+1];
} TM__Wwt06L9ccZpzmx0boHvQVEQ_8 = { 2 | NIM_STRLIT_FLAG, "\"\012" };
static const NimStringV2 TM__Wwt06L9ccZpzmx0boHvQVEQ_9 = {2, (NimStrPayload*)&TM__Wwt06L9ccZpzmx0boHvQVEQ_8};
static const struct {
  NI cap; NIM_CHAR data[90+1];
} TM__Wwt06L9ccZpzmx0boHvQVEQ_10 = { 90 | NIM_STRLIT_FLAG, "iterators.nim(254, 11) `len(a) == L` the length of the seq changed while iterating over it" };
static const NimStringV2 TM__Wwt06L9ccZpzmx0boHvQVEQ_11 = {90, (NimStrPayload*)&TM__Wwt06L9ccZpzmx0boHvQVEQ_10};
static const struct {
  NI cap; NIM_CHAR data[10+1];
} TM__Wwt06L9ccZpzmx0boHvQVEQ_12 = { 10 | NIM_STRLIT_FLAG, "--define:\"" };
static const NimStringV2 TM__Wwt06L9ccZpzmx0boHvQVEQ_13 = {10, (NimStrPayload*)&TM__Wwt06L9ccZpzmx0boHvQVEQ_12};
static const NimStringV2 TM__Wwt06L9ccZpzmx0boHvQVEQ_14 = {2, (NimStrPayload*)&TM__Wwt06L9ccZpzmx0boHvQVEQ_8};
static const NimStringV2 TM__Wwt06L9ccZpzmx0boHvQVEQ_15 = {90, (NimStrPayload*)&TM__Wwt06L9ccZpzmx0boHvQVEQ_10};
static const struct {
  NI cap; NIM_CHAR data[52+1];
} TM__Wwt06L9ccZpzmx0boHvQVEQ_16 = { 52 | NIM_STRLIT_FLAG, "############# begin Atlas config section ##########\012" };
static const NimStringV2 TM__Wwt06L9ccZpzmx0boHvQVEQ_17 = {52, (NimStrPayload*)&TM__Wwt06L9ccZpzmx0boHvQVEQ_16};
static const struct {
  NI cap; NIM_CHAR data[52+1];
} TM__Wwt06L9ccZpzmx0boHvQVEQ_18 = { 52 | NIM_STRLIT_FLAG, "############# end Atlas config section   ##########\012" };
static const NimStringV2 TM__Wwt06L9ccZpzmx0boHvQVEQ_19 = {52, (NimStrPayload*)&TM__Wwt06L9ccZpzmx0boHvQVEQ_18};
static const struct {
  NI cap; NIM_CHAR data[7+1];
} TM__Wwt06L9ccZpzmx0boHvQVEQ_20 = { 7 | NIM_STRLIT_FLAG, "nim.cfg" };
static const NimStringV2 TM__Wwt06L9ccZpzmx0boHvQVEQ_21 = {7, (NimStrPayload*)&TM__Wwt06L9ccZpzmx0boHvQVEQ_20};
static const struct {
  NI cap; NIM_CHAR data[48+1];
} TM__Wwt06L9ccZpzmx0boHvQVEQ_22 = { 48 | NIM_STRLIT_FLAG, "configutils.nim(35, 3) `cfgPath.string.len > 0` " };
static const NimStringV2 TM__Wwt06L9ccZpzmx0boHvQVEQ_23 = {48, (NimStrPayload*)&TM__Wwt06L9ccZpzmx0boHvQVEQ_22};
static const struct {
  NI cap; NIM_CHAR data[27+1];
} TM__Wwt06L9ccZpzmx0boHvQVEQ_25 = { 27 | NIM_STRLIT_FLAG, "could not write the nim.cfg" };
static const struct {
  NI cap; NIM_CHAR data[9+1];
} TM__Wwt06L9ccZpzmx0boHvQVEQ_26 = { 9 | NIM_STRLIT_FLAG, "created: " };
static const NimStringV2 TM__Wwt06L9ccZpzmx0boHvQVEQ_27 = {9, (NimStrPayload*)&TM__Wwt06L9ccZpzmx0boHvQVEQ_26};
static const NimStringV2 TM__Wwt06L9ccZpzmx0boHvQVEQ_28 = {52, (NimStrPayload*)&TM__Wwt06L9ccZpzmx0boHvQVEQ_16};
static const NimStringV2 TM__Wwt06L9ccZpzmx0boHvQVEQ_30 = {52, (NimStrPayload*)&TM__Wwt06L9ccZpzmx0boHvQVEQ_18};
static const struct {
  NI cap; NIM_CHAR data[1+1];
} TM__Wwt06L9ccZpzmx0boHvQVEQ_32 = { 1 | NIM_STRLIT_FLAG, "\012" };
static const NimStringV2 TM__Wwt06L9ccZpzmx0boHvQVEQ_33 = {1, (NimStrPayload*)&TM__Wwt06L9ccZpzmx0boHvQVEQ_32};
static const struct {
  NI cap; NIM_CHAR data[9+1];
} TM__Wwt06L9ccZpzmx0boHvQVEQ_34 = { 9 | NIM_STRLIT_FLAG, "updated: " };
static const NimStringV2 TM__Wwt06L9ccZpzmx0boHvQVEQ_35 = {9, (NimStrPayload*)&TM__Wwt06L9ccZpzmx0boHvQVEQ_34};
static const struct {
  NI cap; NIM_CHAR data[8+1];
} TM__Wwt06L9ccZpzmx0boHvQVEQ_36 = { 8 | NIM_STRLIT_FLAG, "*.nimble" };
static const NimStringV2 TM__Wwt06L9ccZpzmx0boHvQVEQ_37 = {8, (NimStrPayload*)&TM__Wwt06L9ccZpzmx0boHvQVEQ_36};
static const struct {
  NI cap; NIM_CHAR data[58+1];
} TM__Wwt06L9ccZpzmx0boHvQVEQ_39 = { 58 | NIM_STRLIT_FLAG, "osdirs.nim(92, 15) `f`gensym0.gl_pathv[i`gensym0] != nil` " };
static const NimStringV2 TM__Wwt06L9ccZpzmx0boHvQVEQ_40 = {58, (NimStrPayload*)&TM__Wwt06L9ccZpzmx0boHvQVEQ_39};
static NIM_CONST tyArray__YgExxhfgKcesA5EOUj1MOA TM__Wwt06L9ccZpzmx0boHvQVEQ_24 = {{27, (NimStrPayload*)&TM__Wwt06L9ccZpzmx0boHvQVEQ_25}}
;
extern NIM_THREADVAR NIM_BOOL nimInErrorMode__system_u4198;
N_LIB_PRIVATE N_NIMCALL(void, eqwasMoved___basicZconfigutils_u147)(tySequence__sM4lkSb7zS6F7OVMvW9cffQ* dest_p0) {
	(*dest_p0).len = 0; (*dest_p0).p = NIM_NIL;
}
static N_INLINE(int, nimCmpMem)(void* a_p0, void* b_p1, NI size_p2) {
	int result;
	result = memcmp(a_p0, b_p1, ((size_t) (size_p2)));
	return result;
}
static N_INLINE(NIM_BOOL, equalMem__system_u1763)(void* a_p0, void* b_p1, NI size_p2) {
	NIM_BOOL result;
	int T1_;
	T1_ = (int)0;
	T1_ = nimCmpMem(a_p0, b_p1, size_p2);
	result = (T1_ == ((NI32)0));
	return result;
}
static N_INLINE(NIM_BOOL, eqStrings)(NimStringV2 a_p0, NimStringV2 b_p1) {
	NIM_BOOL result;
	NI alen_1;
	NI blen_1;
{	result = NIM_FALSE;
	alen_1 = a_p0.len;
	blen_1 = b_p1.len;
	{
		if (!(alen_1 == blen_1)) goto LA3_;
		{
			if (!(alen_1 == ((NI)0))) goto LA7_;
			result = NIM_TRUE;
			goto BeforeRet_;
		}
LA7_: ;
		result = equalMem__system_u1763(((void*) ((&a_p0.p->data[((NI)0)]))), ((void*) ((&b_p1.p->data[((NI)0)]))), (alen_1));
		goto BeforeRet_;
	}
LA3_: ;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(void, nimCopyMem)(void* dest_p0, void* source_p1, NI size_p2) {
	void* T1_;
	T1_ = (void*)0;
	T1_ = memcpy(dest_p0, source_p1, ((size_t) (size_p2)));
}
static N_INLINE(void, copyMem__system_u1755)(void* dest_p0, void* source_p1, NI size_p2) {
	nimCopyMem(dest_p0, source_p1, size_p2);
}
static N_INLINE(void, appendString)(NimStringV2* dest_p0, NimStringV2 src_p1) {
	{
		if (!(((NI)0) < src_p1.len)) goto LA3_;
		copyMem__system_u1755(((void*) ((&(*(*dest_p0).p).data[(*dest_p0).len]))), ((void*) ((&(*src_p1.p).data[((NI)0)]))), (src_p1.len));
		(*dest_p0).len += src_p1.len;
		(*(*dest_p0).p).data[(*dest_p0).len] = 0;
	}
LA3_: ;
}
static N_INLINE(NIM_BOOL*, nimErrorFlag)(void) {
	NIM_BOOL* result;
	result = (&nimInErrorMode__system_u4198);
	return result;
}
static N_INLINE(NimStringV2, slash___stdZprivateZospaths2_u88)(NimStringV2 head_p0, NimStringV2 tail_p1) {
	NimStringV2 result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result.len = 0; result.p = NIM_NIL;
	result = nosjoinPath(head_p0, tail_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NIM_BOOL, fileExists__stdZfiles_u10)(NimStringV2 filename_p0) {
	NIM_BOOL result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NIM_BOOL)0;
	result = nosfileExists(filename_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NIM_BOOL, nimSubInt)(NI a_p0, NI b_p1, NI* res_p2) {
	NIM_BOOL result;
	NI r_1;
	result = (NIM_BOOL)0;
	r_1 = ((NI) ((NU)((NU64)(((NU) (a_p0))) - (NU64)(((NU) (b_p1))))));
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = (((NI)0) <= (NI)(r_1 ^ a_p0));
		if (T3_) goto LA4_;
		T3_ = (((NI)0) <= (NI)(r_1 ^ (NI)((NU64) ~(b_p1))));
LA4_: ;
		if (!T3_) goto LA5_;
		(*res_p2) = r_1;
	}
	goto LA1_;
LA5_: ;
	{
		result = NIM_TRUE;
	}
LA1_: ;
	return result;
}
static N_INLINE(NIM_BOOL, nimAddInt)(NI a_p0, NI b_p1, NI* res_p2) {
	NIM_BOOL result;
	NI r_1;
	result = (NIM_BOOL)0;
	r_1 = ((NI) ((NU)((NU64)(((NU) (a_p0))) + (NU64)(((NU) (b_p1))))));
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = (((NI)0) <= (NI)(r_1 ^ a_p0));
		if (T3_) goto LA4_;
		T3_ = (((NI)0) <= (NI)(r_1 ^ b_p1));
LA4_: ;
		if (!T3_) goto LA5_;
		(*res_p2) = r_1;
	}
	goto LA1_;
LA5_: ;
	{
		result = NIM_TRUE;
	}
LA1_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, patchNimCfg__basicZconfigutils_u63)(tySequence__sM4lkSb7zS6F7OVMvW9cffQ deps_p0, NimStringV2 cfgPath_p1, tySequence__sM4lkSb7zS6F7OVMvW9cffQ features_p2) {
	NimStringV2 paths_1;
	NimStringV2 cfgContent_1;
	NimStringV2 cfg_1;
	NimStringV2 T31_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	paths_1.len = 0; paths_1.p = NIM_NIL;
	cfgContent_1.len = 0; cfgContent_1.p = NIM_NIL;
	cfg_1.len = 0; cfg_1.p = NIM_NIL;
	paths_1 = TM__Wwt06L9ccZpzmx0boHvQVEQ_3;
	{
		NimStringV2* d_1;
		NI i_1;
		NI L_1;
		NI T3_;
		d_1 = (NimStringV2*)0;
		i_1 = ((NI)0);
		T3_ = deps_p0.len;
		L_1 = T3_;
		{
			while (1) {
				NimStringV2 x_1;
				if (!(i_1 < L_1)) goto LA5;
				x_1.len = 0; x_1.p = NIM_NIL;
				if (i_1 < 0 || i_1 >= deps_p0.len){ raiseIndexError2(i_1,deps_p0.len-1); goto LA6_;
				}
				d_1 = (&deps_p0.p->data[i_1]);
				x_1 = nosrelativePath((*d_1), cfgPath_p1, 47);
				if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
				{
					NIM_BOOL T9_;
					NimStringV2 colontmpD_;
					NimStringV2 T13_;
					T9_ = (NIM_BOOL)0;
					T9_ = (((NI)0) < x_1.len);
					if (!(T9_)) goto LA10_;
					T9_ = !(eqStrings(x_1, TM__Wwt06L9ccZpzmx0boHvQVEQ_5));
LA10_: ;
					if (!T9_) goto LA11_;
					colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
					T13_.len = 0; T13_.p = NIM_NIL;
					T13_ = rawNewString(x_1.len + 10);
appendString((&T13_), TM__Wwt06L9ccZpzmx0boHvQVEQ_7);
appendString((&T13_), x_1);
appendString((&T13_), TM__Wwt06L9ccZpzmx0boHvQVEQ_9);
					colontmpD_ = T13_;
					prepareAdd((&paths_1), colontmpD_.len + 0);
appendString((&paths_1), colontmpD_);
					if (colontmpD_.p && !(colontmpD_.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD_.p);
}
				}
LA11_: ;
				i_1 += ((NI)1);
				{
					NI T16_;
					T16_ = deps_p0.len;
					if (!!((T16_ == L_1))) goto LA17_;
					failedAssertImpl__stdZassertions_u95(TM__Wwt06L9ccZpzmx0boHvQVEQ_11);
					if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
				}
LA17_: ;
				{
					LA6_:;
				}
				{
					if (x_1.p && !(x_1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(x_1.p);
}
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			} LA5: ;
		}
	}
	{
		NimStringV2* feature_1;
		NI i_2;
		NI L_2;
		NI T22_;
		feature_1 = (NimStringV2*)0;
		i_2 = ((NI)0);
		T22_ = features_p2.len;
		L_2 = T22_;
		{
			while (1) {
				NimStringV2 colontmpD__2;
				NimStringV2 T25_;
				if (!(i_2 < L_2)) goto LA24;
				colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
				if (i_2 < 0 || i_2 >= features_p2.len){ raiseIndexError2(i_2,features_p2.len-1); goto LA1_;
				}
				feature_1 = (&features_p2.p->data[i_2]);
				T25_.len = 0; T25_.p = NIM_NIL;
				T25_ = rawNewString((*feature_1).len + 12);
appendString((&T25_), TM__Wwt06L9ccZpzmx0boHvQVEQ_13);
appendString((&T25_), (*feature_1));
appendString((&T25_), TM__Wwt06L9ccZpzmx0boHvQVEQ_14);
				colontmpD__2 = T25_;
				prepareAdd((&paths_1), colontmpD__2.len + 0);
appendString((&paths_1), colontmpD__2);
				i_2 += ((NI)1);
				{
					NI T28_;
					T28_ = features_p2.len;
					if (!!((T28_ == L_2))) goto LA29_;
					failedAssertImpl__stdZassertions_u95(TM__Wwt06L9ccZpzmx0boHvQVEQ_15);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				}
LA29_: ;
				if (colontmpD__2.p && !(colontmpD__2.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__2.p);
}
			} LA24: ;
		}
	}
	T31_.len = 0; T31_.p = NIM_NIL;
	T31_ = rawNewString(paths_1.len + 104);
appendString((&T31_), TM__Wwt06L9ccZpzmx0boHvQVEQ_17);
appendString((&T31_), paths_1);
appendString((&T31_), TM__Wwt06L9ccZpzmx0boHvQVEQ_19);
	cfgContent_1 = T31_;
	cfg_1 = slash___stdZprivateZospaths2_u88(cfgPath_p1, TM__Wwt06L9ccZpzmx0boHvQVEQ_21);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		if (!!((((NI)0) < cfgPath_p1.len))) goto LA34_;
		failedAssertImpl__stdZassertions_u95(TM__Wwt06L9ccZpzmx0boHvQVEQ_23);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA34_: ;
	{
		NIM_BOOL T38_;
		NIM_BOOL T40_;
		NimStringV2 colontmpD__3;
		T38_ = (NIM_BOOL)0;
		T38_ = (((NI)0) < cfgPath_p1.len);
		if (!(T38_)) goto LA39_;
		T40_ = (NIM_BOOL)0;
		T40_ = nosdirExists(cfgPath_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T38_ = !(T40_);
LA39_: ;
		if (!T38_) goto LA41_;
		colontmpD__3.len = 0; colontmpD__3.p = NIM_NIL;
		colontmpD__3 = project__basicZcontext_u340();
		if (NIM_UNLIKELY(*nimErr_)) goto LA43_;
		error__basicZconfigutils_u107(colontmpD__3, TM__Wwt06L9ccZpzmx0boHvQVEQ_24, 1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA43_;
		{
			LA43_:;
		}
		{
			if (colontmpD__3.p && !(colontmpD__3.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__3.p);
}
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA36_;
LA41_: ;
	{
		NIM_BOOL T47_;
		NimStringV2 colontmpD__4;
		NimStringV2 colontmpD__5;
		NimStringV2 colontmpD__6;
		NimStringV2 colontmpD__7;
		tyArray__YgExxhfgKcesA5EOUj1MOA T51_;
		NimStringV2 T52_;
		T47_ = (NIM_BOOL)0;
		T47_ = fileExists__stdZfiles_u10(cfg_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (!!(T47_)) goto LA48_;
		colontmpD__4.len = 0; colontmpD__4.p = NIM_NIL;
		colontmpD__5.len = 0; colontmpD__5.p = NIM_NIL;
		colontmpD__6.len = 0; colontmpD__6.p = NIM_NIL;
		colontmpD__7.len = 0; colontmpD__7.p = NIM_NIL;
		writeFile__stdZsyncio_u539(cfg_1, cfgContent_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA50_;
		colontmpD__4 = project__basicZcontext_u340();
		if (NIM_UNLIKELY(*nimErr_)) goto LA50_;
		T52_.len = 0; T52_.p = NIM_NIL;
		colontmpD__5 = project__basicZcontext_u340();
		if (NIM_UNLIKELY(*nimErr_)) goto LA50_;
		colontmpD__6 = readableFile__basicZosutils_u70(cfg_1, colontmpD__5);
		if (NIM_UNLIKELY(*nimErr_)) goto LA50_;
		T52_ = rawNewString(colontmpD__6.len + 9);
appendString((&T52_), TM__Wwt06L9ccZpzmx0boHvQVEQ_27);
appendString((&T52_), colontmpD__6);
		colontmpD__7 = T52_;
		T51_[0] = colontmpD__7;
		info__basicZconfigutils_u114(colontmpD__4, T51_, 1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA50_;
		{
			LA50_:;
		}
		{
			if (colontmpD__7.p && !(colontmpD__7.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__7.p);
}
			if (colontmpD__6.p && !(colontmpD__6.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__6.p);
}
			if (colontmpD__5.p && !(colontmpD__5.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__5.p);
}
			if (colontmpD__4.p && !(colontmpD__4.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__4.p);
}
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA36_;
LA48_: ;
	{
		NimStringV2 content_1;
		NI start_1;
		content_1.len = 0; content_1.p = NIM_NIL;
		content_1 = readFile__stdZsyncio_u534(cfg_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA56_;
		start_1 = nsuFindStr(content_1, TM__Wwt06L9ccZpzmx0boHvQVEQ_28, ((NI)0), ((NI)-1));
		if (NIM_UNLIKELY(*nimErr_)) goto LA56_;
		{
			NimStringV2 colontmpD__8;
			NimStringV2 T61_;
			NI TM__Wwt06L9ccZpzmx0boHvQVEQ_29;
			NI theEnd_1;
			if (!(((NI)0) <= start_1)) goto LA59_;
			colontmpD__8.len = 0; colontmpD__8.p = NIM_NIL;
			T61_.len = 0; T61_.p = NIM_NIL;
			if (nimSubInt(start_1, ((NI)1), &TM__Wwt06L9ccZpzmx0boHvQVEQ_29)) { raiseOverflow(); goto LA56_;
			};
			colontmpD__8 = substr__system_u9096(content_1, ((NI)0), (NI)(TM__Wwt06L9ccZpzmx0boHvQVEQ_29));
			T61_ = rawNewString(colontmpD__8.len + cfgContent_1.len + 0);
appendString((&T61_), colontmpD__8);
appendString((&T61_), cfgContent_1);
			eqsink___system_u2760((&cfgContent_1), T61_);
			if ((start_1) < ((NI)0) || (start_1) > ((NI)IL64(9223372036854775807))){ raiseRangeErrorI(start_1, ((NI)0), ((NI)IL64(9223372036854775807))); goto LA56_;
			}
			theEnd_1 = nsuFindStr(content_1, TM__Wwt06L9ccZpzmx0boHvQVEQ_30, (start_1), ((NI)-1));
			if (NIM_UNLIKELY(*nimErr_)) goto LA56_;
			{
				NimStringV2 colontmpD__9;
				NI TM__Wwt06L9ccZpzmx0boHvQVEQ_31;
				if (!(((NI)0) <= theEnd_1)) goto LA64_;
				colontmpD__9.len = 0; colontmpD__9.p = NIM_NIL;
				if (nimAddInt(theEnd_1, ((NI)52), &TM__Wwt06L9ccZpzmx0boHvQVEQ_31)) { raiseOverflow(); goto LA56_;
				};
				colontmpD__9 = substr__system_u9109(content_1, (NI)(TM__Wwt06L9ccZpzmx0boHvQVEQ_31));
				prepareAdd((&cfgContent_1), colontmpD__9.len + 0);
appendString((&cfgContent_1), colontmpD__9);
				if (colontmpD__9.p && !(colontmpD__9.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__9.p);
}
			}
LA64_: ;
			if (colontmpD__8.p && !(colontmpD__8.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__8.p);
}
		}
		goto LA57_;
LA59_: ;
		{
			NimStringV2 T67_;
			T67_.len = 0; T67_.p = NIM_NIL;
			T67_ = rawNewString(content_1.len + cfgContent_1.len + 1);
appendString((&T67_), content_1);
appendString((&T67_), TM__Wwt06L9ccZpzmx0boHvQVEQ_33);
appendString((&T67_), cfgContent_1);
			eqsink___system_u2760((&cfgContent_1), T67_);
		}
LA57_: ;
		{
			NimStringV2 colontmpD__10;
			NimStringV2 colontmpD__11;
			NimStringV2 colontmpD__12;
			NimStringV2 colontmpD__13;
			tyArray__YgExxhfgKcesA5EOUj1MOA T73_;
			NimStringV2 T74_;
			if (!!(eqStrings(cfgContent_1, content_1))) goto LA70_;
			colontmpD__10.len = 0; colontmpD__10.p = NIM_NIL;
			colontmpD__11.len = 0; colontmpD__11.p = NIM_NIL;
			colontmpD__12.len = 0; colontmpD__12.p = NIM_NIL;
			colontmpD__13.len = 0; colontmpD__13.p = NIM_NIL;
			writeFile__stdZsyncio_u539(cfg_1, cfgContent_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA72_;
			colontmpD__10 = project__basicZcontext_u340();
			if (NIM_UNLIKELY(*nimErr_)) goto LA72_;
			T74_.len = 0; T74_.p = NIM_NIL;
			colontmpD__11 = project__basicZcontext_u340();
			if (NIM_UNLIKELY(*nimErr_)) goto LA72_;
			colontmpD__12 = readableFile__basicZosutils_u70(cfg_1, colontmpD__11);
			if (NIM_UNLIKELY(*nimErr_)) goto LA72_;
			T74_ = rawNewString(colontmpD__12.len + 9);
appendString((&T74_), TM__Wwt06L9ccZpzmx0boHvQVEQ_35);
appendString((&T74_), colontmpD__12);
			colontmpD__13 = T74_;
			T73_[0] = colontmpD__13;
			info__basicZconfigutils_u114(colontmpD__10, T73_, 1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA72_;
			{
				LA72_:;
			}
			{
				if (colontmpD__13.p && !(colontmpD__13.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__13.p);
}
				if (colontmpD__12.p && !(colontmpD__12.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__12.p);
}
				if (colontmpD__11.p && !(colontmpD__11.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__11.p);
}
				if (colontmpD__10.p && !(colontmpD__10.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__10.p);
}
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA56_;
		}
LA70_: ;
		{
			LA56_:;
		}
		{
			if (content_1.p && !(content_1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(content_1.p);
}
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA36_: ;
	{
		LA1_:;
	}
	{
		if (cfg_1.p && !(cfg_1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(cfg_1.p);
}
		if (cfgContent_1.p && !(cfgContent_1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(cfgContent_1.p);
}
		if (paths_1.p && !(paths_1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(paths_1.p);
}
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___basicZconfigutils_u150)(tySequence__sM4lkSb7zS6F7OVMvW9cffQ dest_p0) {
	NI colontmp_;
	colontmp_ = ((NI)0);
	{
		while (1) {
			NI T3_;
			T3_ = dest_p0.len;
			if (!(colontmp_ < T3_)) goto LA2;
			if (dest_p0.p->data[colontmp_].p && !(dest_p0.p->data[colontmp_].p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(dest_p0.p->data[colontmp_].p);
}
			colontmp_ += ((NI)1);
		} LA2: ;
	}
	if (dest_p0.p && !(dest_p0.p->cap & NIM_STRLIT_FLAG)) {
 alignedDealloc(dest_p0.p, NIM_ALIGNOF(NimStringV2));
}
}
static N_INLINE(void, nimSetMem__system_u2188)(void* a_p0, int v_p1, NI size_p2) {
	void* T1_;
	T1_ = (void*)0;
	T1_ = memset(a_p0, v_p1, ((size_t) (size_p2)));
}
static N_INLINE(void, nimZeroMem)(void* p_p0, NI size_p1) {
	nimSetMem__system_u2188(p_p0, ((int)0), size_p1);
}
static N_INLINE(NCSTRING, nimToCStringConv)(NimStringV2 s_p0) {
	NCSTRING result;
	{
		if (!(s_p0.len == ((NI)0))) goto LA3_;
		result = "";
	}
	goto LA1_;
LA3_: ;
	{
		result = ((NCSTRING) ((*s_p0.p).data));
	}
LA1_: ;
	return result;
}
static N_INLINE(NIM_BOOL, eqeq___system_u9048)(NCSTRING x_p0, NCSTRING y_p1) {
	NIM_BOOL result;
	{
		if (!(((void*) (x_p0)) == ((void*) (y_p1)))) goto LA3_;
		result = NIM_TRUE;
	}
	goto LA1_;
LA3_: ;
	{
		NIM_BOOL T6_;
		T6_ = (NIM_BOOL)0;
		T6_ = (((void*) (x_p0)) == NIM_NIL);
		if (T6_) goto LA7_;
		T6_ = (((void*) (y_p1)) == NIM_NIL);
LA7_: ;
		if (!T6_) goto LA8_;
		result = NIM_FALSE;
	}
	goto LA1_;
LA8_: ;
	{
		int T11_;
		T11_ = (int)0;
		T11_ = strcmp(x_p0, y_p1);
		result = (T11_ == ((NI32)0));
	}
LA1_: ;
	return result;
}
static N_INLINE(NimStringV2, slash___stdZpaths_u84)(NimStringV2 head_p0, NimStringV2 tail_p1) {
	NimStringV2 result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result.len = 0; result.p = NIM_NIL;
	result = nosjoinPath(head_p0, tail_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NimStringV2, findCfgDir__basicZconfigutils_u10)(NimStringV2 dir_p0) {
	NimStringV2 result;
	NimStringV2 colontmpD_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result.len = 0; result.p = NIM_NIL;
	{
		NimStringV2 nimbleFile_1;
		NimStringV2 colontmp_;
		glob_t fX60gensym0__1;
		NI resX60gensym0__1;
		int T3_;
		nimbleFile_1.len = 0; nimbleFile_1.p = NIM_NIL;
		colontmp_.len = 0; colontmp_.p = NIM_NIL;
		colontmp_ = slash___stdZprivateZospaths2_u88(dir_p0, TM__Wwt06L9ccZpzmx0boHvQVEQ_37);
		if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
		nimZeroMem((void*)(&fX60gensym0__1), sizeof(glob_t));
		resX60gensym0__1 = (NI)0;
		fX60gensym0__1.gl_offs = ((NI)0);
		fX60gensym0__1.gl_pathc = ((NI)0);
		fX60gensym0__1.gl_pathv = ((NCSTRING*) NIM_NIL);
		T3_ = (int)0;
		T3_ = glob(nimToCStringConv(colontmp_), ((int)0), NIM_NIL, (&fX60gensym0__1));
		resX60gensym0__1 = ((NI) (T3_));
		{
			if (!(resX60gensym0__1 == ((NI)0))) goto LA7_;
			{
				NI iX60gensym0__1;
				NI colontmp__2;
				NI TM__Wwt06L9ccZpzmx0boHvQVEQ_38;
				NI res_1;
				iX60gensym0__1 = (NI)0;
				colontmp__2 = (NI)0;
				if (nimSubInt(fX60gensym0__1.gl_pathc, ((NI)1), &TM__Wwt06L9ccZpzmx0boHvQVEQ_38)) { raiseOverflow(); goto LA4_;
				};
				colontmp__2 = (NI)(TM__Wwt06L9ccZpzmx0boHvQVEQ_38);
				res_1 = ((NI)0);
				{
					while (1) {
						NimStringV2 pathX60gensym0__1;
						NI TM__Wwt06L9ccZpzmx0boHvQVEQ_41;
						if (!(res_1 <= colontmp__2)) goto LA11;
						pathX60gensym0__1.len = 0; pathX60gensym0__1.p = NIM_NIL;
						iX60gensym0__1 = ((NI) (res_1));
						{
							NIM_BOOL T15_;
							T15_ = (NIM_BOOL)0;
							T15_ = eqeq___system_u9048(fX60gensym0__1.gl_pathv[iX60gensym0__1], ((NCSTRING) NIM_NIL));
							if (!!(!(T15_))) goto LA16_;
							failedAssertImpl__stdZassertions_u95(TM__Wwt06L9ccZpzmx0boHvQVEQ_40);
							if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
						}
LA16_: ;
						pathX60gensym0__1 = cstrToNimstr(fX60gensym0__1.gl_pathv[iX60gensym0__1]);
						{
							tyObject_NimbleFileInfo__i7bgYVgkuliKc9bzshfZ2Rw nimbleInfo_1;
							if (!NIM_TRUE) goto LA20_;
							nimZeroMem((void*)(&nimbleInfo_1), sizeof(tyObject_NimbleFileInfo__i7bgYVgkuliKc9bzshfZ2Rw));
							eqsink___system_u2760((&nimbleFile_1), pathX60gensym0__1);
							eqwasMoved___system_u2751((&pathX60gensym0__1));
							extractRequiresInfo__basicZparse95requires_u4666(nimbleFile_1, (&nimbleInfo_1));
							if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
							result = slash___stdZpaths_u84(dir_p0, nimbleInfo_1.srcDir);
							if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
							eqdestroy___basicZconfigutils_u18((&nimbleInfo_1));
							if (pathX60gensym0__1.p && !(pathX60gensym0__1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(pathX60gensym0__1.p);
}
							globfree((&fX60gensym0__1));
							if (colontmp_.p && !(colontmp_.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmp_.p);
}
							if (nimbleFile_1.p && !(nimbleFile_1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(nimbleFile_1.p);
}
							goto BeforeRet_;
							{
								LA22_:;
							}
							{
								eqdestroy___basicZconfigutils_u18((&nimbleInfo_1));
							}
							if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
						}
LA20_: ;
						if (nimAddInt(res_1, ((NI)1), &TM__Wwt06L9ccZpzmx0boHvQVEQ_41)) { raiseOverflow(); goto LA12_;
						};
						res_1 = (NI)(TM__Wwt06L9ccZpzmx0boHvQVEQ_41);
						{
							LA12_:;
						}
						{
							if (pathX60gensym0__1.p && !(pathX60gensym0__1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(pathX60gensym0__1.p);
}
						}
						if (NIM_UNLIKELY(*nimErr_)) goto LA4_;
					} LA11: ;
				}
			}
		}
LA7_: ;
		{
			LA4_:;
		}
		{
			globfree((&fX60gensym0__1));
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
		{
			LA2_:;
		}
		{
			if (colontmp_.p && !(colontmp_.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmp_.p);
}
			if (nimbleFile_1.p && !(nimbleFile_1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(nimbleFile_1.p);
}
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	colontmpD_ = eqdup___system_u2757(dir_p0);
	result = colontmpD_;
	goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
