/* 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@snimblecontext.nim.c.o /Users/runner/work/nightlies/nightlies/nim-2.2.10/dist/atlas/.nimcache/@mbasic@snimblecontext.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 tyTuple__7q7q3E6Oj24ZNVJb9aonhAg tyTuple__7q7q3E6Oj24ZNVJb9aonhAg;
typedef struct tyObject_NimbleContext__4UNXx9ceXbsj5kR4Hz1gUgA tyObject_NimbleContext__4UNXx9ceXbsj5kR4Hz1gUgA;
typedef struct tyObject_OrderedTable__NAaHKPe5f6Y5G54ThvHCdw tyObject_OrderedTable__NAaHKPe5f6Y5G54ThvHCdw;
typedef struct tySequence__oMQEWXk5BpYjO5RbdjG9a1Q tySequence__oMQEWXk5BpYjO5RbdjG9a1Q;
typedef struct tySequence__oMQEWXk5BpYjO5RbdjG9a1Q_Content tySequence__oMQEWXk5BpYjO5RbdjG9a1Q_Content;
typedef struct tyObject_OrderedTable__M9brAiOmdtiKfeNfN7hTa9bQ tyObject_OrderedTable__M9brAiOmdtiKfeNfN7hTa9bQ;
typedef struct tySequence__JpsB9cJkHWqV5PFSGlQ0YKA tySequence__JpsB9cJkHWqV5PFSGlQ0YKA;
typedef struct tySequence__JpsB9cJkHWqV5PFSGlQ0YKA_Content tySequence__JpsB9cJkHWqV5PFSGlQ0YKA_Content;
typedef struct tyObject_OrderedTable__2f785vUDCYHK3R5jPXmFkg tyObject_OrderedTable__2f785vUDCYHK3R5jPXmFkg;
typedef struct tySequence__oTNj4ZCEYoUfpbdjbvYW5Q tySequence__oTNj4ZCEYoUfpbdjbvYW5Q;
typedef struct tySequence__oTNj4ZCEYoUfpbdjbvYW5Q_Content tySequence__oTNj4ZCEYoUfpbdjbvYW5Q_Content;
typedef struct tyObject_Patterns__FXqyqR49aNa9c2SMD9akprhSg tyObject_Patterns__FXqyqR49aNa9c2SMD9akprhSg;
typedef struct tySequence__j9bhAvfiD9alXYEwmFnFGFNA tySequence__j9bhAvfiD9alXYEwmFnFGFNA;
typedef struct tySequence__j9bhAvfiD9alXYEwmFnFGFNA_Content tySequence__j9bhAvfiD9alXYEwmFnFGFNA_Content;
typedef struct tyObject_Table__ao79cQacnAZc5Mu0cN3jybg tyObject_Table__ao79cQacnAZc5Mu0cN3jybg;
typedef struct tySequence__SFipDZIkFtPcrLs0AGBBjQ tySequence__SFipDZIkFtPcrLs0AGBBjQ;
typedef struct tySequence__SFipDZIkFtPcrLs0AGBBjQ_Content tySequence__SFipDZIkFtPcrLs0AGBBjQ_Content;
typedef struct tySequence__4eQHGndY6XBYpFOH09apV8Q tySequence__4eQHGndY6XBYpFOH09apV8Q;
typedef struct tySequence__4eQHGndY6XBYpFOH09apV8Q_Content tySequence__4eQHGndY6XBYpFOH09apV8Q_Content;
typedef struct tyObject_HashSet__v3AgR4bnzCtqFMiyBA9al4Q tyObject_HashSet__v3AgR4bnzCtqFMiyBA9al4Q;
typedef struct tySequence__4eRCaZmrYLLw2k30GPTiMw tySequence__4eRCaZmrYLLw2k30GPTiMw;
typedef struct tySequence__4eRCaZmrYLLw2k30GPTiMw_Content tySequence__4eRCaZmrYLLw2k30GPTiMw_Content;
typedef struct tyObject_AtlasContext__9b9cOM1bS6SdrgGAPmY5KTwQ tyObject_AtlasContext__9b9cOM1bS6SdrgGAPmY5KTwQ;
typedef struct tyObject_Table__8bDqb52Br017mlUSc5FIOw tyObject_Table__8bDqb52Br017mlUSc5FIOw;
typedef struct tySequence__tas7jtBybgwOq4KxPkjGjg tySequence__tas7jtBybgwOq4KxPkjGjg;
typedef struct tySequence__tas7jtBybgwOq4KxPkjGjg_Content tySequence__tas7jtBybgwOq4KxPkjGjg_Content;
typedef struct tyObject_PluginInfo__jIeVHC5m9cMm7lQxxmW9bmHg tyObject_PluginInfo__jIeVHC5m9cMm7lQxxmW9bmHg;
typedef struct tyObject_Uri__MX62yCLGQmnfVYEE3Hjm9cA tyObject_Uri__MX62yCLGQmnfVYEE3Hjm9cA;
typedef struct tySequence__H3A42plY3ZGdd9cIkci4urw tySequence__H3A42plY3ZGdd9cIkci4urw;
typedef struct tySequence__H3A42plY3ZGdd9cIkci4urw_Content tySequence__H3A42plY3ZGdd9cIkci4urw_Content;
typedef struct tyObject_PackageInfocolonObjectType___R0oWrMCYB9aDk5GcoIvq3ew tyObject_PackageInfocolonObjectType___R0oWrMCYB9aDk5GcoIvq3ew;
typedef struct tyObject_PkgUrl__xtGEmbK9cVcp0WbjakP0xVw tyObject_PkgUrl__xtGEmbK9cVcp0WbjakP0xVw;
typedef struct tyObject_ValueError__YUzEEs8pGqG7cYmcRoc5rw tyObject_ValueError__YUzEEs8pGqG7cYmcRoc5rw;
typedef struct tyObject_CatchableError__liO6E8JNJNTVmf9cnXKZiug tyObject_CatchableError__liO6E8JNJNTVmf9cnXKZiug;
typedef struct Exception Exception;
typedef struct RootObj RootObj;
typedef struct TNimTypeV2 TNimTypeV2;
typedef struct tySequence__3EvzHGO0xyXGnJBUggwfKQ tySequence__3EvzHGO0xyXGnJBUggwfKQ;
typedef struct tySequence__3EvzHGO0xyXGnJBUggwfKQ_Content tySequence__3EvzHGO0xyXGnJBUggwfKQ_Content;
typedef struct tyTuple__UV3llMMYFckfui8YMBuUZA tyTuple__UV3llMMYFckfui8YMBuUZA;
typedef struct tyObject_PackagecolonObjectType___oq9cbJmLUyLo2l9clmDFeVSA tyObject_PackagecolonObjectType___oq9cbJmLUyLo2l9clmDFeVSA;
typedef struct tyObject_OrderedTable__6LH0iEO9c9cdi0YrUiH7Mtdg tyObject_OrderedTable__6LH0iEO9c9cdi0YrUiH7Mtdg;
typedef struct tySequence__jlOSbs9c7TpYbYckLycDaQg tySequence__jlOSbs9c7TpYbYckLycDaQg;
typedef struct tySequence__jlOSbs9c7TpYbYckLycDaQg_Content tySequence__jlOSbs9c7TpYbYckLycDaQg_Content;
typedef struct tyObject_PackageVersioncolonObjectType___nkWxN1qoImjRSFLA34DlGg tyObject_PackageVersioncolonObjectType___nkWxN1qoImjRSFLA34DlGg;
typedef struct tyObject_CommitHash__ENSoVMeDKmDIP8obk69cDaA tyObject_CommitHash__ENSoVMeDKmDIP8obk69cDaA;
typedef struct tyTuple__P9b03d79atTGoSs9bM2vK9bPRA tyTuple__P9b03d79atTGoSs9bM2vK9bPRA;
typedef struct tyTuple__POGkMJ7lRVtwX3CODjpoJQ tyTuple__POGkMJ7lRVtwX3CODjpoJQ;
typedef struct tyTuple__wXnHEQsKrl9aA3i9cwZxKIFg tyTuple__wXnHEQsKrl9aA3i9cwZxKIFg;
typedef struct tyObject_HashSet__Uwr6yc54j9cc7mpkQIvCLZA tyObject_HashSet__Uwr6yc54j9cc7mpkQIvCLZA;
typedef struct tySequence__U9bYx6tPvWzQNzbZoriLUYA tySequence__U9bYx6tPvWzQNzbZoriLUYA;
typedef struct tySequence__U9bYx6tPvWzQNzbZoriLUYA_Content tySequence__U9bYx6tPvWzQNzbZoriLUYA_Content;
typedef struct tyTuple__ZwcqNhWtDfKDJjVz9bcvE9cQ tyTuple__ZwcqNhWtDfKDJjVz9bcvE9cQ;
typedef struct tyObject_Pattern__K9baAv1Y6R5n9b0ZUxBeh6vA tyObject_Pattern__K9baAv1Y6R5n9b0ZUxBeh6vA;
typedef struct tySequence__xjLg9a72SfsVVFciefDuvtw tySequence__xjLg9a72SfsVVFciefDuvtw;
typedef struct tySequence__xjLg9a72SfsVVFciefDuvtw_Content tySequence__xjLg9a72SfsVVFciefDuvtw_Content;
typedef struct tyTuple__8ZxhPt1NwfElsJs8zUSV9bg tyTuple__8ZxhPt1NwfElsJs8zUSV9bg;
typedef struct tyTuple__QeWl6B6ffS4pU6WWrtcrDw tyTuple__QeWl6B6ffS4pU6WWrtcrDw;
typedef struct tyTuple__uSZbD2CRToUhqTsTNx4cgA tyTuple__uSZbD2CRToUhqTsTNx4cgA;
typedef struct tyObject_StackTraceEntry__lcKzdyiD6sm3eeh28rx7fw tyObject_StackTraceEntry__lcKzdyiD6sm3eeh28rx7fw;
typedef struct tyTuple__GSIE033wnKaKWLU68PPv9cA tyTuple__GSIE033wnKaKWLU68PPv9cA;
typedef struct tyObject_NimbleReleasecolonObjectType___Cd1woUEuIWSParVQIsOkuw tyObject_NimbleReleasecolonObjectType___Cd1woUEuIWSParVQIsOkuw;
typedef struct tyTuple__5z13DioL2O9cny1CehriGcQ tyTuple__5z13DioL2O9cny1CehriGcQ;
typedef struct tyObject_VersionTag__io9bcihbopiwucKorobyKdg tyObject_VersionTag__io9bcihbopiwucKorobyKdg;
typedef struct tyObject_Instr__dVxI1dKsh9ajF145UocfxWg tyObject_Instr__dVxI1dKsh9ajF145UocfxWg;
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;
};
struct tyTuple__7q7q3E6Oj24ZNVJb9aonhAg {
	NimStringV2 Field0;
	NimStringV2 Field1;
	NimStringV2 Field2;
};
typedef NCSTRING tyUncheckedArray__nvS6J9clHMUMHfoZd8Ad2zg[1];
typedef NimStringV2 tyArray__Seu7uK9aaOSN0BK3EAjjSHw[4];
struct tySequence__oMQEWXk5BpYjO5RbdjG9a1Q {
  NI len; tySequence__oMQEWXk5BpYjO5RbdjG9a1Q_Content* p;
};
struct tyObject_OrderedTable__NAaHKPe5f6Y5G54ThvHCdw {
	tySequence__oMQEWXk5BpYjO5RbdjG9a1Q data;
	NI counter;
	NI first;
	NI last;
};
struct tySequence__JpsB9cJkHWqV5PFSGlQ0YKA {
  NI len; tySequence__JpsB9cJkHWqV5PFSGlQ0YKA_Content* p;
};
struct tyObject_OrderedTable__M9brAiOmdtiKfeNfN7hTa9bQ {
	tySequence__JpsB9cJkHWqV5PFSGlQ0YKA data;
	NI counter;
	NI first;
	NI last;
};
struct tySequence__oTNj4ZCEYoUfpbdjbvYW5Q {
  NI len; tySequence__oTNj4ZCEYoUfpbdjbvYW5Q_Content* p;
};
struct tyObject_OrderedTable__2f785vUDCYHK3R5jPXmFkg {
	tySequence__oTNj4ZCEYoUfpbdjbvYW5Q data;
	NI counter;
	NI first;
	NI last;
};
struct tySequence__j9bhAvfiD9alXYEwmFnFGFNA {
  NI len; tySequence__j9bhAvfiD9alXYEwmFnFGFNA_Content* p;
};
struct tySequence__SFipDZIkFtPcrLs0AGBBjQ {
  NI len; tySequence__SFipDZIkFtPcrLs0AGBBjQ_Content* p;
};
struct tyObject_Table__ao79cQacnAZc5Mu0cN3jybg {
	tySequence__SFipDZIkFtPcrLs0AGBBjQ data;
	NI counter;
};
struct tySequence__4eQHGndY6XBYpFOH09apV8Q {
  NI len; tySequence__4eQHGndY6XBYpFOH09apV8Q_Content* p;
};
struct tyObject_Patterns__FXqyqR49aNa9c2SMD9akprhSg {
	tySequence__j9bhAvfiD9alXYEwmFnFGFNA s;
	tyObject_Table__ao79cQacnAZc5Mu0cN3jybg t;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ strings;
	tySequence__4eQHGndY6XBYpFOH09apV8Q patterns;
};
struct tySequence__4eRCaZmrYLLw2k30GPTiMw {
  NI len; tySequence__4eRCaZmrYLLw2k30GPTiMw_Content* p;
};
struct tyObject_HashSet__v3AgR4bnzCtqFMiyBA9al4Q {
	tySequence__4eRCaZmrYLLw2k30GPTiMw data;
	NI counter;
};
struct tyObject_NimbleContext__4UNXx9ceXbsj5kR4Hz1gUgA {
	tyObject_OrderedTable__NAaHKPe5f6Y5G54ThvHCdw packageToDependency;
	tyObject_OrderedTable__M9brAiOmdtiKfeNfN7hTa9bQ packageExtras;
	tyObject_OrderedTable__M9brAiOmdtiKfeNfN7hTa9bQ nameToUrl;
	tyObject_OrderedTable__2f785vUDCYHK3R5jPXmFkg explicitVersions;
	tyObject_Patterns__FXqyqR49aNa9c2SMD9akprhSg nameOverrides;
	tyObject_Patterns__FXqyqR49aNa9c2SMD9akprhSg urlOverrides;
	NIM_BOOL hasPackageList;
	tyObject_HashSet__v3AgR4bnzCtqFMiyBA9al4Q notFoundNames;
};
typedef NU32 tySet_tyEnum_Flag__YJpVNZDPDp9bqb0qWHXEQFw;
struct tySequence__tas7jtBybgwOq4KxPkjGjg {
  NI len; tySequence__tas7jtBybgwOq4KxPkjGjg_Content* p;
};
struct tyObject_Table__8bDqb52Br017mlUSc5FIOw {
	tySequence__tas7jtBybgwOq4KxPkjGjg data;
	NI counter;
};
typedef NU8 tyEnum_ResolutionAlgorithm__EDrRewmAkc38ngHuXBbDaw;
struct tyObject_PluginInfo__jIeVHC5m9cMm7lQxxmW9bmHg {
	tySequence__4eQHGndY6XBYpFOH09apV8Q builderPatterns;
};
struct tyObject_Uri__MX62yCLGQmnfVYEE3Hjm9cA {
	NimStringV2 scheme;
	NimStringV2 username;
	NimStringV2 password;
	NimStringV2 hostname;
	NimStringV2 port;
	NimStringV2 path;
	NimStringV2 query;
	NimStringV2 anchor;
	NIM_BOOL opaque;
	NIM_BOOL isIpv6;
};
struct tyObject_AtlasContext__9b9cOM1bS6SdrgGAPmY5KTwQ {
	NimStringV2 projectDir;
	NimStringV2 depsDir;
	NimStringV2 confDirOverride;
	tySet_tyEnum_Flag__YJpVNZDPDp9bqb0qWHXEQFw flags;
	tyObject_Patterns__FXqyqR49aNa9c2SMD9akprhSg nameOverrides;
	tyObject_Patterns__FXqyqR49aNa9c2SMD9akprhSg urlOverrides;
	tyObject_Table__8bDqb52Br017mlUSc5FIOw pkgOverrides;
	tyEnum_ResolutionAlgorithm__EDrRewmAkc38ngHuXBbDaw defaultAlgo;
	tyObject_PluginInfo__jIeVHC5m9cMm7lQxxmW9bmHg plugins;
	NimStringV2 overridesFile;
	NimStringV2 pluginsFile;
	tyObject_Uri__MX62yCLGQmnfVYEE3Hjm9cA proxy;
	tyObject_HashSet__v3AgR4bnzCtqFMiyBA9al4Q features;
};
struct tySequence__H3A42plY3ZGdd9cIkci4urw {
  NI len; tySequence__H3A42plY3ZGdd9cIkci4urw_Content* p;
};
typedef NU8 tyEnum_PackageKind__VnPGnYAiywvS9auJzQyUN8A;
struct tyObject_PackageInfocolonObjectType___R0oWrMCYB9aDk5GcoIvq3ew {
	NimStringV2 name;
	tyEnum_PackageKind__VnPGnYAiywvS9auJzQyUN8A kind;
union{
	struct {
	NimStringV2 alias;
} _kind_1;
	struct {
	NimStringV2 url;
	NimStringV2 license;
	NimStringV2 downloadMethod;
	NimStringV2 description;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ tags;
	NimStringV2 version;
	NimStringV2 dvcsTag;
	NimStringV2 web;
} _kind_2;
};
};
struct tyObject_PkgUrl__xtGEmbK9cVcp0WbjakP0xVw {
	tyTuple__7q7q3E6Oj24ZNVJb9aonhAg qualifiedName;
	NIM_BOOL hasShortName;
	tyObject_Uri__MX62yCLGQmnfVYEE3Hjm9cA u;
};
typedef NimStringV2 tyArray__dyW7vpmfeTYw8kX3EXuaJA[3];
typedef NimStringV2 tyArray__pK4u9cQ1bJzH46rrmNu9bPMQ[2];
struct TNimTypeV2 {
	void* destructor;
	NI size;
	NI16 align;
	NI16 depth;
	NU32* display;
	void* traceImpl;
	void* typeInfoV1;
	NI flags;
	void* vTable[SEQ_DECL_SIZE];
};
struct RootObj {
	TNimTypeV2* m_type;
};
struct tySequence__3EvzHGO0xyXGnJBUggwfKQ {
  NI len; tySequence__3EvzHGO0xyXGnJBUggwfKQ_Content* p;
};
struct Exception {
	RootObj Sup;
	Exception* parent;
	NCSTRING name;
	NimStringV2 message;
	tySequence__3EvzHGO0xyXGnJBUggwfKQ trace;
	Exception* up;
};
struct tyObject_CatchableError__liO6E8JNJNTVmf9cnXKZiug {
	Exception Sup;
};
struct tyObject_ValueError__YUzEEs8pGqG7cYmcRoc5rw {
	tyObject_CatchableError__liO6E8JNJNTVmf9cnXKZiug Sup;
};
typedef NimStringV2 tyArray__A2YC0h9cZydgH7zGAndH9bLg[6];
typedef NimStringV2 tyArray__hSrJSIaqyFxuH67Wd7apZQ[8];
typedef NimStringV2 tyArray__ftd030ZQb0rgyFYIoQaqFA[10];
struct tyTuple__UV3llMMYFckfui8YMBuUZA {
	NimStringV2 Field0;
	NimStringV2 Field1;
};
typedef NimStringV2 tyArray__YgExxhfgKcesA5EOUj1MOA[1];
typedef NU8 tyEnum_PackageState__INzfBajphYPGcwu72ccy8w;
struct tySequence__jlOSbs9c7TpYbYckLycDaQg {
  NI len; tySequence__jlOSbs9c7TpYbYckLycDaQg_Content* p;
};
struct tyObject_OrderedTable__6LH0iEO9c9cdi0YrUiH7Mtdg {
	tySequence__jlOSbs9c7TpYbYckLycDaQg data;
	NI counter;
	NI first;
	NI last;
};
typedef NU8 tyEnum_CommitOrigin__tDM8mWEQT3dZtKoOj7Mgww;
struct tyObject_CommitHash__ENSoVMeDKmDIP8obk69cDaA {
	NimStringV2 h;
	tyEnum_CommitOrigin__tDM8mWEQT3dZtKoOj7Mgww orig;
};
struct tyObject_PackagecolonObjectType___oq9cbJmLUyLo2l9clmDFeVSA {
	tyObject_PkgUrl__xtGEmbK9cVcp0WbjakP0xVw url;
	tyEnum_PackageState__INzfBajphYPGcwu72ccy8w state;
	tyObject_OrderedTable__6LH0iEO9c9cdi0YrUiH7Mtdg versions;
	tyObject_PackageVersioncolonObjectType___nkWxN1qoImjRSFLA34DlGg* activeVersion;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ activeFeatures;
	NimStringV2 module;
	NimStringV2 ondisk;
	NimStringV2 nimbleFile;
	NIM_BOOL active;
	NIM_BOOL isAtlasProject;
	NIM_BOOL isFork;
	NIM_BOOL isRoot;
	NIM_BOOL isLocalOnly;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ errors;
	tyObject_CommitHash__ENSoVMeDKmDIP8obk69cDaA originHead;
};
struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content { NI cap; NimStringV2 data[SEQ_DECL_SIZE]; };
struct tyTuple__P9b03d79atTGoSs9bM2vK9bPRA {
	NI Field0;
	NI Field1;
	tyObject_PkgUrl__xtGEmbK9cVcp0WbjakP0xVw Field2;
	tyObject_PackagecolonObjectType___oq9cbJmLUyLo2l9clmDFeVSA* Field3;
};
struct tySequence__oMQEWXk5BpYjO5RbdjG9a1Q_Content { NI cap; tyTuple__P9b03d79atTGoSs9bM2vK9bPRA data[SEQ_DECL_SIZE]; };
struct tyTuple__POGkMJ7lRVtwX3CODjpoJQ {
	NI Field0;
	NI Field1;
	NimStringV2 Field2;
	tyObject_PkgUrl__xtGEmbK9cVcp0WbjakP0xVw Field3;
};
struct tySequence__JpsB9cJkHWqV5PFSGlQ0YKA_Content { NI cap; tyTuple__POGkMJ7lRVtwX3CODjpoJQ data[SEQ_DECL_SIZE]; };
struct tySequence__U9bYx6tPvWzQNzbZoriLUYA {
  NI len; tySequence__U9bYx6tPvWzQNzbZoriLUYA_Content* p;
};
struct tyObject_HashSet__Uwr6yc54j9cc7mpkQIvCLZA {
	tySequence__U9bYx6tPvWzQNzbZoriLUYA data;
	NI counter;
};
struct tyTuple__wXnHEQsKrl9aA3i9cwZxKIFg {
	NI Field0;
	NI Field1;
	tyObject_PkgUrl__xtGEmbK9cVcp0WbjakP0xVw Field2;
	tyObject_HashSet__Uwr6yc54j9cc7mpkQIvCLZA Field3;
};
struct tySequence__oTNj4ZCEYoUfpbdjbvYW5Q_Content { NI cap; tyTuple__wXnHEQsKrl9aA3i9cwZxKIFg data[SEQ_DECL_SIZE]; };
struct tySequence__xjLg9a72SfsVVFciefDuvtw {
  NI len; tySequence__xjLg9a72SfsVVFciefDuvtw_Content* p;
};
struct tyObject_Pattern__K9baAv1Y6R5n9b0ZUxBeh6vA {
	tySequence__xjLg9a72SfsVVFciefDuvtw code;
	NI usedMatches;
	NimStringV2 error;
};
struct tyTuple__ZwcqNhWtDfKDJjVz9bcvE9cQ {
	tyObject_Pattern__K9baAv1Y6R5n9b0ZUxBeh6vA Field0;
	NimStringV2 Field1;
};
struct tySequence__j9bhAvfiD9alXYEwmFnFGFNA_Content { NI cap; tyTuple__ZwcqNhWtDfKDJjVz9bcvE9cQ data[SEQ_DECL_SIZE]; };
struct tyTuple__8ZxhPt1NwfElsJs8zUSV9bg {
	NI Field0;
	NimStringV2 Field1;
	NimStringV2 Field2;
};
struct tySequence__SFipDZIkFtPcrLs0AGBBjQ_Content { NI cap; tyTuple__8ZxhPt1NwfElsJs8zUSV9bg data[SEQ_DECL_SIZE]; };
struct tySequence__4eQHGndY6XBYpFOH09apV8Q_Content { NI cap; tyTuple__UV3llMMYFckfui8YMBuUZA data[SEQ_DECL_SIZE]; };
struct tyTuple__QeWl6B6ffS4pU6WWrtcrDw {
	NI Field0;
	NimStringV2 Field1;
};
struct tySequence__4eRCaZmrYLLw2k30GPTiMw_Content { NI cap; tyTuple__QeWl6B6ffS4pU6WWrtcrDw data[SEQ_DECL_SIZE]; };
struct tyTuple__uSZbD2CRToUhqTsTNx4cgA {
	NI Field0;
	NimStringV2 Field1;
	tyObject_Uri__MX62yCLGQmnfVYEE3Hjm9cA Field2;
};
struct tySequence__tas7jtBybgwOq4KxPkjGjg_Content { NI cap; tyTuple__uSZbD2CRToUhqTsTNx4cgA data[SEQ_DECL_SIZE]; };
struct tySequence__H3A42plY3ZGdd9cIkci4urw_Content { NI cap; tyObject_PackageInfocolonObjectType___R0oWrMCYB9aDk5GcoIvq3ew* data[SEQ_DECL_SIZE]; };
struct tyObject_StackTraceEntry__lcKzdyiD6sm3eeh28rx7fw {
	NCSTRING procname;
	NI line;
	NCSTRING filename;
};
struct tySequence__3EvzHGO0xyXGnJBUggwfKQ_Content { NI cap; tyObject_StackTraceEntry__lcKzdyiD6sm3eeh28rx7fw data[SEQ_DECL_SIZE]; };
struct tyTuple__GSIE033wnKaKWLU68PPv9cA {
	NI Field0;
	NI Field1;
	tyObject_PackageVersioncolonObjectType___nkWxN1qoImjRSFLA34DlGg* Field2;
	tyObject_NimbleReleasecolonObjectType___Cd1woUEuIWSParVQIsOkuw* Field3;
};
struct tySequence__jlOSbs9c7TpYbYckLycDaQg_Content { NI cap; tyTuple__GSIE033wnKaKWLU68PPv9cA data[SEQ_DECL_SIZE]; };
struct tyObject_VersionTag__io9bcihbopiwucKorobyKdg {
	tyObject_CommitHash__ENSoVMeDKmDIP8obk69cDaA c;
	NimStringV2 v;
	NIM_BOOL isTip;
};
struct tyTuple__5z13DioL2O9cny1CehriGcQ {
	NI Field0;
	tyObject_VersionTag__io9bcihbopiwucKorobyKdg Field1;
};
struct tySequence__U9bYx6tPvWzQNzbZoriLUYA_Content { NI cap; tyTuple__5z13DioL2O9cny1CehriGcQ data[SEQ_DECL_SIZE]; };
typedef NU8 tyEnum_Opcode__6ExfopoXudbZxEsLnN9aAhA;
struct tyObject_Instr__dVxI1dKsh9ajF145UocfxWg {
	tyEnum_Opcode__6ExfopoXudbZxEsLnN9aAhA opc;
	NU8 arg1;
	NU16 arg2;
};
struct tySequence__xjLg9a72SfsVVFciefDuvtw_Content { NI cap; tyObject_Instr__dVxI1dKsh9ajF145UocfxWg data[SEQ_DECL_SIZE]; };
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(void, splitFile__stdZpaths_u114)(NimStringV2 path_p0, tyTuple__7q7q3E6Oj24ZNVJb9aonhAg* Result);
N_LIB_PRIVATE N_NIMCALL(void, nossplitFile)(NimStringV2 path_p0, tyTuple__7q7q3E6Oj24ZNVJb9aonhAg* Result);
N_LIB_PRIVATE N_NIMCALL(void, eqwasMoved___system_u2751)(NimStringV2* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___pureZos_u217)(tyTuple__7q7q3E6Oj24ZNVJb9aonhAg* dest_p0);
static N_INLINE(NIM_BOOL*, nimErrorFlag)(void);
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);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___system_u2754)(NimStringV2* dest_p0, NimStringV2 src_p1);
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*, newSeqPayload)(NI cap_p0, NI elemSize_p1, NI elemAlign_p2);
N_LIB_PRIVATE N_NOCONV(void, deallocShared)(void* p_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___stdZpaths_u124)(tyTuple__7q7q3E6Oj24ZNVJb9aonhAg* dest_p0);
static N_INLINE(NimStringV2, slash___stdZpaths_u84)(NimStringV2 head_p0, NimStringV2 tail_p1);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, nosjoinPath)(NimStringV2 head_p0, NimStringV2 tail_p1);
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);
static N_INLINE(NimStringV2, slash___stdZprivateZospaths2_u88)(NimStringV2 head_p0, NimStringV2 tail_p1);
static N_INLINE(NCSTRING, nimToCStringConv)(NimStringV2 s_p0);
static N_INLINE(NIM_BOOL, nimSubInt)(NI a_p0, NI b_p1, NI* res_p2);
N_LIB_PRIVATE N_NOINLINE(void, raiseOverflow)(void);
static N_INLINE(NIM_BOOL, eqeq___system_u9048)(NCSTRING x_p0, NCSTRING y_p1);
N_LIB_PRIVATE N_NIMCALL(void, failedAssertImpl__stdZassertions_u95)(NimStringV2 msg_p0);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, cstrToNimstr)(NCSTRING str_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqsink___system_u2760)(NimStringV2* dest_p0, NimStringV2 src_p1);
N_LIB_PRIVATE N_NIMCALL(void, add__basicZnimblecontext_u72)(tySequence__sM4lkSb7zS6F7OVMvW9cffQ* x_p0, NimStringV2 y_p1);
static N_INLINE(NIM_BOOL, nimAddInt)(NI a_p0, NI b_p1, NI* res_p2);
N_LIB_PRIVATE N_NIMCALL(void, debug__basicZgitops_u1252)(NimStringV2 p_p0, NimStringV2* args_p1, NI args_p1Len_0);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, join__basicZnimblecontext_u96)(NimStringV2* a_p0, NI a_p0Len_0, NimStringV2 sep_p1);
N_LIB_PRIVATE N_NIMCALL(void, createUnfilledNimbleContext__basicZnimblecontext_u3559)(tyObject_NimbleContext__4UNXx9ceXbsj5kR4Hz1gUgA* Result);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___basicZcompiledpatterns_u1166)(tyObject_Patterns__FXqyqR49aNa9c2SMD9akprhSg* dest_p0, tyObject_Patterns__FXqyqR49aNa9c2SMD9akprhSg* src_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_AtlasContext__9b9cOM1bS6SdrgGAPmY5KTwQ*, context__basicZcontext_u319)(void);
N_LIB_PRIVATE N_NIMCALL(void, fillPackageLookupTable__basicZnimblecontext_u3347)(tyObject_NimbleContext__4UNXx9ceXbsj5kR4Hz1gUgA* c_p0);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, packagesDirectory__basicZcontext_u351)(void);
N_LIB_PRIVATE N_NIMCALL(void, updatePackages__basicZpackageinfos_u528)(NimStringV2 pkgsDir_p0);
N_LIB_PRIVATE N_NIMCALL(tySequence__H3A42plY3ZGdd9cIkci4urw, getPackageInfos__basicZpackageinfos_u186)(NimStringV2 pkgsDir_p0);
N_LIB_PRIVATE N_NOINLINE(void, raiseIndexError2)(NI i_p0, NI n_p1);
N_LIB_PRIVATE N_NIMCALL(void, add__basicZpackageinfos_u336)(tySequence__H3A42plY3ZGdd9cIkci4urw* x_p0, tyObject_PackageInfocolonObjectType___R0oWrMCYB9aDk5GcoIvq3ew* y_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_PackageInfocolonObjectType___R0oWrMCYB9aDk5GcoIvq3ew*, eqdup___basicZpackageinfos_u151)(tyObject_PackageInfocolonObjectType___R0oWrMCYB9aDk5GcoIvq3ew* src_p0);
N_LIB_PRIVATE N_NIMCALL(void, createUrlSkipPatterns__basicZpkgurls_u205)(NimStringV2 raw_p0, NIM_BOOL skipDirTest_p1, NIM_BOOL forceWindows_p2, tyObject_PkgUrl__xtGEmbK9cVcp0WbjakP0xVw* Result);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, dollar___basicZpackageinfos_u19)(tyEnum_PackageKind__VnPGnYAiywvS9auJzQyUN8A e_p0);
N_LIB_PRIVATE N_NOINLINE(void, raiseFieldErrorStr)(NimStringV2 f_p0, NimStringV2 discVal_p1);
N_LIB_PRIVATE N_NIMCALL(void, X5BX5Deq___basicZnimblecontext_u1610)(tyObject_OrderedTable__M9brAiOmdtiKfeNfN7hTa9bQ* t_p0, NimStringV2 key_p1, tyObject_PkgUrl__xtGEmbK9cVcp0WbjakP0xVw* val_p2);
static N_INLINE(NimStringV2, toLower__pureZunicode_u7554)(NimStringV2 s_p0);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, nuctoLowerStr)(NIM_CHAR* s_p0, NI s_p0Len_0);
N_LIB_PRIVATE N_NOINLINE(void, raiseIndexError4)(NI l1_p0, NI h1_p1, NI h2_p2);
N_LIB_PRIVATE N_NIMCALL(void, eqwasMoved___basicZpkgurls_u258)(tyObject_PkgUrl__xtGEmbK9cVcp0WbjakP0xVw* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___basicZpkgurls_u261)(tyObject_PkgUrl__xtGEmbK9cVcp0WbjakP0xVw* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___basicZpkgurls_u264)(tyObject_PkgUrl__xtGEmbK9cVcp0WbjakP0xVw* dest_p0, tyObject_PkgUrl__xtGEmbK9cVcp0WbjakP0xVw* src_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_PkgUrl__xtGEmbK9cVcp0WbjakP0xVw*, X5BX5D___basicZnimblecontext_u3006)(tyObject_OrderedTable__M9brAiOmdtiKfeNfN7hTa9bQ* t_p0, NimStringV2 key_p1);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isEmpty__basicZpkgurls_u23)(tyObject_PkgUrl__xtGEmbK9cVcp0WbjakP0xVw* s_p0);
N_LIB_PRIVATE N_NIMCALL(void, warn__basicZpkgurls_u133)(NimStringV2 p_p0, NimStringV2* args_p1, NI args_p1Len_0);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, dollar___basicZpackageinfos_u167)(tyObject_PackageInfocolonObjectType___R0oWrMCYB9aDk5GcoIvq3ew* pkg_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___basicZpackageinfos_u364)(tySequence__H3A42plY3ZGdd9cIkci4urw dest_p0);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, nosisAbsolute)(NimStringV2 path_p0);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isUrl__basicZpkgurls_u26)(NimStringV2 s_p0);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, substitute__basicZcompiledpatterns_u2454)(tyObject_Patterns__FXqyqR49aNa9c2SMD9akprhSg* p_p0, NimStringV2 input_p1, NIM_BOOL* didReplace_p2);
static N_INLINE(void, eqdestroy___system_u281)(NimStringV2 x_p0);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, shortName__basicZpkgurls_u32)(tyObject_PkgUrl__xtGEmbK9cVcp0WbjakP0xVw* u_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqsink___basicZpkgurls_u270)(tyObject_PkgUrl__xtGEmbK9cVcp0WbjakP0xVw* dest_p0, tyObject_PkgUrl__xtGEmbK9cVcp0WbjakP0xVw* src_p1);
N_LIB_PRIVATE N_NIMCALL(void, lookup__basicZnimblecontext_u442)(tyObject_NimbleContext__4UNXx9ceXbsj5kR4Hz1gUgA* nc_p0, NimStringV2 name_p1, tyObject_PkgUrl__xtGEmbK9cVcp0WbjakP0xVw* Result);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, contains__basicZnimblecontext_u496)(tyObject_OrderedTable__M9brAiOmdtiKfeNfN7hTa9bQ* t_p0, NimStringV2 key_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_PkgUrl__xtGEmbK9cVcp0WbjakP0xVw*, X5BX5D___basicZnimblecontext_u1034)(tyObject_OrderedTable__M9brAiOmdtiKfeNfN7hTa9bQ* t_p0, NimStringV2 key_p1);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, contains__basicZversions_u4165)(tyObject_HashSet__v3AgR4bnzCtqFMiyBA9al4Q s_p0, NimStringV2 key_p1);
N_LIB_PRIVATE N_NIMCALL(void, incl__basicZversions_u858)(tyObject_HashSet__v3AgR4bnzCtqFMiyBA9al4Q* s_p0, NimStringV2 key_p1);
N_LIB_PRIVATE N_NIMCALL(void*, nimNewObj)(NI size_p0, NI alignment_p1);
N_LIB_PRIVATE N_NIMCALL(void, raiseExceptionEx)(Exception* e_p0, NCSTRING ename_p1, NCSTRING procname_p2, NCSTRING filename_p3, NI line_p4);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, eqeq___basicZpkgurls_u71)(tyObject_Uri__MX62yCLGQmnfVYEE3Hjm9cA* x_p0, tyObject_Uri__MX62yCLGQmnfVYEE3Hjm9cA* y_p1);
N_LIB_PRIVATE N_NIMCALL(void, url__basicZpkgurls_u44)(tyObject_PkgUrl__xtGEmbK9cVcp0WbjakP0xVw* p_p0, tyObject_Uri__MX62yCLGQmnfVYEE3Hjm9cA* Result);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, put__basicZnimblecontext_u3205)(tyObject_NimbleContext__4UNXx9ceXbsj5kR4Hz1gUgA* nc_p0, NimStringV2 name_p1, tyObject_PkgUrl__xtGEmbK9cVcp0WbjakP0xVw* url_p2);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, putImpl__basicZnimblecontext_u1459)(tyObject_NimbleContext__4UNXx9ceXbsj5kR4Hz1gUgA* nc_p0, NimStringV2 name_p1, tyObject_PkgUrl__xtGEmbK9cVcp0WbjakP0xVw* url_p2, NIM_BOOL isFromPath_p3);
N_LIB_PRIVATE N_NIMCALL(void, eqdup___basicZpkgurls_u267)(tyObject_PkgUrl__xtGEmbK9cVcp0WbjakP0xVw* src_p0, tyObject_PkgUrl__xtGEmbK9cVcp0WbjakP0xVw* Result);
N_LIB_PRIVATE N_NIMCALL(void, info__basicZparse95requires_u40)(NimStringV2 p_p0, NimStringV2* args_p1, NI args_p1Len_0);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, dollar___pureZuri_u409)(tyObject_Uri__MX62yCLGQmnfVYEE3Hjm9cA* u_p0);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, nimBoolToStr)(NIM_BOOL x_p0);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, dollar___basicZpkgurls_u47)(tyObject_PkgUrl__xtGEmbK9cVcp0WbjakP0xVw* u_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___pureZuri_u213)(tyObject_Uri__MX62yCLGQmnfVYEE3Hjm9cA* dest_p0);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, projectName__basicZpkgurls_u35)(tyObject_PkgUrl__xtGEmbK9cVcp0WbjakP0xVw* u_p0);
N_LIB_PRIVATE N_NIMCALL(void, debug__basicZgitops_u1174)(NimStringV2 p_p0, NimStringV2* args_p1, NI args_p1Len_0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___basicZversions_u1310)(tySequence__4eRCaZmrYLLw2k30GPTiMw dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___stdZenvvars_u103)(tySequence__4eQHGndY6XBYpFOH09apV8Q dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___system_u5582)(tySequence__sM4lkSb7zS6F7OVMvW9cffQ dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___basicZcompiledpatterns_u879)(tySequence__SFipDZIkFtPcrLs0AGBBjQ dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___basicZcompiledpatterns_u930)(tySequence__j9bhAvfiD9alXYEwmFnFGFNA dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___basicZnimblecontext_u3848)(tySequence__oTNj4ZCEYoUfpbdjbvYW5Q dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___basicZnimblecontext_u811)(tySequence__JpsB9cJkHWqV5PFSGlQ0YKA dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___basicZnimblecontext_u3582)(tySequence__oMQEWXk5BpYjO5RbdjG9a1Q dest_p0);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, absolutePath__stdZpaths_u204)(NimStringV2 path_p0, NimStringV2 root_p1);
static N_INLINE(NimStringV2, getCurrentDir__stdZpaths_u191)(void);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, nosgetCurrentDir)(void);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isMainProject__basicZcontext_u366)(NimStringV2 dir_p0);
static N_INLINE(NIM_BOOL, eqeq___stdZpaths_u59)(NimStringV2 x_p0, NimStringV2 y_p1);
N_LIB_PRIVATE N_NIMCALL(NI, noscmpPaths)(NimStringV2 pathA_p0, NimStringV2 pathB_p1);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, project__basicZcontext_u340)(void);
N_LIB_PRIVATE N_NIMCALL(void, parseUri__pureZuri_u295)(NimStringV2 uri_p0, tyObject_Uri__MX62yCLGQmnfVYEE3Hjm9cA* Result);
N_LIB_PRIVATE N_NIMCALL(void, toPkgUriRaw__basicZpkgurls_u301)(tyObject_Uri__MX62yCLGQmnfVYEE3Hjm9cA* u_p0, NIM_BOOL hasShortName_p1, tyObject_PkgUrl__xtGEmbK9cVcp0WbjakP0xVw* Result);
N_LIB_PRIVATE N_NIMCALL(tySequence__sM4lkSb7zS6F7OVMvW9cffQ, findNimbleFile__basicZnimblecontext_u53)(NimStringV2 dir_p0, NimStringV2 projectName_p1);
N_LIB_PRIVATE N_NIMCALL(void, trace__basicZgitops_u1126)(NimStringV2 p_p0, NimStringV2* args_p1, NI args_p1Len_0);
static N_INLINE(void, splitPath__stdZpaths_u88)(NimStringV2 path_p0, tyTuple__UV3llMMYFckfui8YMBuUZA* Result);
N_LIB_PRIVATE N_NIMCALL(void, nossplitPath)(NimStringV2 path_p0, tyTuple__UV3llMMYFckfui8YMBuUZA* Result);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___stdZprivateZospaths2_u303)(tyTuple__UV3llMMYFckfui8YMBuUZA* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___stdZpaths_u97)(tyTuple__UV3llMMYFckfui8YMBuUZA* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___basicZnimblecontext_u145)(tySequence__sM4lkSb7zS6F7OVMvW9cffQ dest_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(NIM_BOOL, putFromPath__basicZnimblecontext_u3210)(tyObject_NimbleContext__4UNXx9ceXbsj5kR4Hz1gUgA* nc_p0, NimStringV2 name_p1, tyObject_PkgUrl__xtGEmbK9cVcp0WbjakP0xVw* url_p2);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, dollar___basicZdeptypes_u192)(tyObject_PackagecolonObjectType___oq9cbJmLUyLo2l9clmDFeVSA* d_p0);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, nimbleCachesDirectory__basicZcontext_u355)(void);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, cachedNimbleBase__basicZnimblecontext_u334)(NimStringV2 p_p0);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, eqdup___system_u2757)(NimStringV2 src_p0);
N_LIB_PRIVATE N_NIMCALL(NI, nsuFindChar)(NimStringV2 s_p0, NIM_CHAR sub_p1, NI start_p2, NI last_p3);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, substr__system_u9109)(NimStringV2 s_p0, NI first_p1);
N_LIB_PRIVATE N_NIMCALL(tySequence__sM4lkSb7zS6F7OVMvW9cffQ, preferShortNameNimble__basicZnimblecontext_u339)(tySequence__sM4lkSb7zS6F7OVMvW9cffQ paths_p0, NimStringV2 shortName_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqwasMoved___basicZnimblecontext_u142)(tySequence__sM4lkSb7zS6F7OVMvW9cffQ* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___basicZnimblecontext_u148)(tySequence__sM4lkSb7zS6F7OVMvW9cffQ* dest_p0, tySequence__sM4lkSb7zS6F7OVMvW9cffQ src_p1);
N_LIB_PRIVATE N_NIMCALL(tySequence__sM4lkSb7zS6F7OVMvW9cffQ, listFiles__basicZgitops_u947)(NimStringV2 path_p0, tyObject_CommitHash__ENSoVMeDKmDIP8obk69cDaA commit_p1);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, nsuEndsWith)(NimStringV2 s_p0, NimStringV2 suffix_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqsink___basicZnimblecontext_u154)(tySequence__sM4lkSb7zS6F7OVMvW9cffQ* dest_p0, tySequence__sM4lkSb7zS6F7OVMvW9cffQ src_p1);
static N_INLINE(void, createDir__stdZdirs_u6)(NimStringV2 dir_p0);
N_LIB_PRIVATE N_NIMCALL(void, noscreateDir)(NimStringV2 dir_p0);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, showFile__basicZgitops_u939)(NimStringV2 path_p0, tyObject_CommitHash__ENSoVMeDKmDIP8obk69cDaA commit_p1, NimStringV2 file_p2);
N_LIB_PRIVATE N_NIMCALL(void, writeFile__stdZsyncio_u539)(NimStringV2 filename_p0, NimStringV2 content_p1);
static const struct {
  NI cap; NIM_CHAR data[6+1];
} TM__CjU0EdVKX9bAie4MvljOq7Q_2 = { 6 | NIM_STRLIT_FLAG, "nimble" };
static const NimStringV2 TM__CjU0EdVKX9bAie4MvljOq7Q_3 = {6, (NimStrPayload*)&TM__CjU0EdVKX9bAie4MvljOq7Q_2};
static const struct {
  NI cap; NIM_CHAR data[7+1];
} TM__CjU0EdVKX9bAie4MvljOq7Q_4 = { 7 | NIM_STRLIT_FLAG, ".nimble" };
static const NimStringV2 TM__CjU0EdVKX9bAie4MvljOq7Q_5 = {7, (NimStrPayload*)&TM__CjU0EdVKX9bAie4MvljOq7Q_4};
static const struct {
  NI cap; NIM_CHAR data[8+1];
} TM__CjU0EdVKX9bAie4MvljOq7Q_6 = { 8 | NIM_STRLIT_FLAG, "*.nimble" };
static const NimStringV2 TM__CjU0EdVKX9bAie4MvljOq7Q_7 = {8, (NimStrPayload*)&TM__CjU0EdVKX9bAie4MvljOq7Q_6};
static const struct {
  NI cap; NIM_CHAR data[58+1];
} TM__CjU0EdVKX9bAie4MvljOq7Q_9 = { 58 | NIM_STRLIT_FLAG, "osdirs.nim(92, 15) `f`gensym5.gl_pathv[i`gensym5] != nil` " };
static const NimStringV2 TM__CjU0EdVKX9bAie4MvljOq7Q_10 = {58, (NimStrPayload*)&TM__CjU0EdVKX9bAie4MvljOq7Q_9};
static const struct {
  NI cap; NIM_CHAR data[38+1];
} TM__CjU0EdVKX9bAie4MvljOq7Q_12 = { 38 | NIM_STRLIT_FLAG, "finding nimble file searching by name:" };
static const NimStringV2 TM__CjU0EdVKX9bAie4MvljOq7Q_13 = {38, (NimStrPayload*)&TM__CjU0EdVKX9bAie4MvljOq7Q_12};
static const struct {
  NI cap; NIM_CHAR data[6+1];
} TM__CjU0EdVKX9bAie4MvljOq7Q_14 = { 6 | NIM_STRLIT_FLAG, "found:" };
static const NimStringV2 TM__CjU0EdVKX9bAie4MvljOq7Q_15 = {6, (NimStrPayload*)&TM__CjU0EdVKX9bAie4MvljOq7Q_14};
static const struct {
  NI cap; NIM_CHAR data[2+1];
} TM__CjU0EdVKX9bAie4MvljOq7Q_16 = { 2 | NIM_STRLIT_FLAG, ", " };
static const NimStringV2 TM__CjU0EdVKX9bAie4MvljOq7Q_17 = {2, (NimStrPayload*)&TM__CjU0EdVKX9bAie4MvljOq7Q_16};
static const struct {
  NI cap; NIM_CHAR data[13+1];
} TM__CjU0EdVKX9bAie4MvljOq7Q_18 = { 13 | NIM_STRLIT_FLAG, "packages.json" };
static const NimStringV2 TM__CjU0EdVKX9bAie4MvljOq7Q_19 = {13, (NimStrPayload*)&TM__CjU0EdVKX9bAie4MvljOq7Q_18};
static const struct {
  NI cap; NIM_CHAR data[67+1];
} TM__CjU0EdVKX9bAie4MvljOq7Q_20 = { 67 | NIM_STRLIT_FLAG, "field \'url\' is not accessible for type \'PackageInfo\' using \'kind = " };
static const NimStringV2 TM__CjU0EdVKX9bAie4MvljOq7Q_21 = {67, (NimStrPayload*)&TM__CjU0EdVKX9bAie4MvljOq7Q_20};
static const struct {
  NI cap; NIM_CHAR data[90+1];
} TM__CjU0EdVKX9bAie4MvljOq7Q_22 = { 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__CjU0EdVKX9bAie4MvljOq7Q_23 = {90, (NimStrPayload*)&TM__CjU0EdVKX9bAie4MvljOq7Q_22};
static const struct {
  NI cap; NIM_CHAR data[69+1];
} TM__CjU0EdVKX9bAie4MvljOq7Q_24 = { 69 | NIM_STRLIT_FLAG, "field \'alias\' is not accessible for type \'PackageInfo\' using \'kind = " };
static const NimStringV2 TM__CjU0EdVKX9bAie4MvljOq7Q_25 = {69, (NimStrPayload*)&TM__CjU0EdVKX9bAie4MvljOq7Q_24};
static const struct {
  NI cap; NIM_CHAR data[19+1];
} TM__CjU0EdVKX9bAie4MvljOq7Q_26 = { 19 | NIM_STRLIT_FLAG, "atlas:nimblecontext" };
static const NimStringV2 TM__CjU0EdVKX9bAie4MvljOq7Q_27 = {19, (NimStrPayload*)&TM__CjU0EdVKX9bAie4MvljOq7Q_26};
static const struct {
  NI cap; NIM_CHAR data[35+1];
} TM__CjU0EdVKX9bAie4MvljOq7Q_28 = { 35 | NIM_STRLIT_FLAG, "alias name not found in nameToUrl: " };
static const NimStringV2 TM__CjU0EdVKX9bAie4MvljOq7Q_29 = {35, (NimStrPayload*)&TM__CjU0EdVKX9bAie4MvljOq7Q_28};
static const struct {
  NI cap; NIM_CHAR data[6+1];
} TM__CjU0EdVKX9bAie4MvljOq7Q_30 = { 6 | NIM_STRLIT_FLAG, "lname:" };
static const NimStringV2 TM__CjU0EdVKX9bAie4MvljOq7Q_31 = {6, (NimStrPayload*)&TM__CjU0EdVKX9bAie4MvljOq7Q_30};
static const NimStringV2 TM__CjU0EdVKX9bAie4MvljOq7Q_32 = {90, (NimStrPayload*)&TM__CjU0EdVKX9bAie4MvljOq7Q_22};
static const struct {
  NI cap; NIM_CHAR data[97+1];
} TM__CjU0EdVKX9bAie4MvljOq7Q_33 = { 97 | NIM_STRLIT_FLAG, "nimblecontext.nim(131, 3) `not nameOrig.isAbsolute()` createUrl does not support relative paths: " };
static const NimStringV2 TM__CjU0EdVKX9bAie4MvljOq7Q_34 = {97, (NimStrPayload*)&TM__CjU0EdVKX9bAie4MvljOq7Q_33};
static const NimStringV2 TM__CjU0EdVKX9bAie4MvljOq7Q_35 = {19, (NimStrPayload*)&TM__CjU0EdVKX9bAie4MvljOq7Q_26};
static const struct {
  NI cap; NIM_CHAR data[36+1];
} TM__CjU0EdVKX9bAie4MvljOq7Q_36 = { 36 | NIM_STRLIT_FLAG, "name not found in packages database:" };
static const NimStringV2 TM__CjU0EdVKX9bAie4MvljOq7Q_37 = {36, (NimStrPayload*)&TM__CjU0EdVKX9bAie4MvljOq7Q_36};
extern TNimTypeV2 NTIv2__YUzEEs8pGqG7cYmcRoc5rw_;
static const struct {
  NI cap; NIM_CHAR data[45+1];
} TM__CjU0EdVKX9bAie4MvljOq7Q_38 = { 45 | NIM_STRLIT_FLAG, "project name not found in packages database: " };
static const NimStringV2 TM__CjU0EdVKX9bAie4MvljOq7Q_39 = {45, (NimStrPayload*)&TM__CjU0EdVKX9bAie4MvljOq7Q_38};
static const struct {
  NI cap; NIM_CHAR data[11+1];
} TM__CjU0EdVKX9bAie4MvljOq7Q_40 = { 11 | NIM_STRLIT_FLAG, " original: " };
static const NimStringV2 TM__CjU0EdVKX9bAie4MvljOq7Q_41 = {11, (NimStrPayload*)&TM__CjU0EdVKX9bAie4MvljOq7Q_40};
static const NimStringV2 TM__CjU0EdVKX9bAie4MvljOq7Q_42 = {19, (NimStrPayload*)&TM__CjU0EdVKX9bAie4MvljOq7Q_26};
static const struct {
  NI cap; NIM_CHAR data[43+1];
} TM__CjU0EdVKX9bAie4MvljOq7Q_43 = { 43 | NIM_STRLIT_FLAG, "different url schemes for the same package:" };
static const NimStringV2 TM__CjU0EdVKX9bAie4MvljOq7Q_44 = {43, (NimStrPayload*)&TM__CjU0EdVKX9bAie4MvljOq7Q_43};
static const struct {
  NI cap; NIM_CHAR data[9+1];
} TM__CjU0EdVKX9bAie4MvljOq7Q_45 = { 9 | NIM_STRLIT_FLAG, "existing:" };
static const NimStringV2 TM__CjU0EdVKX9bAie4MvljOq7Q_46 = {9, (NimStrPayload*)&TM__CjU0EdVKX9bAie4MvljOq7Q_45};
static const struct {
  NI cap; NIM_CHAR data[4+1];
} TM__CjU0EdVKX9bAie4MvljOq7Q_47 = { 4 | NIM_STRLIT_FLAG, "new:" };
static const NimStringV2 TM__CjU0EdVKX9bAie4MvljOq7Q_48 = {4, (NimStrPayload*)&TM__CjU0EdVKX9bAie4MvljOq7Q_47};
static const NimStringV2 TM__CjU0EdVKX9bAie4MvljOq7Q_49 = {19, (NimStrPayload*)&TM__CjU0EdVKX9bAie4MvljOq7Q_26};
static const struct {
  NI cap; NIM_CHAR data[37+1];
} TM__CjU0EdVKX9bAie4MvljOq7Q_50 = { 37 | NIM_STRLIT_FLAG, "name already exists in packageExtras:" };
static const NimStringV2 TM__CjU0EdVKX9bAie4MvljOq7Q_51 = {37, (NimStrPayload*)&TM__CjU0EdVKX9bAie4MvljOq7Q_50};
static const struct {
  NI cap; NIM_CHAR data[11+1];
} TM__CjU0EdVKX9bAie4MvljOq7Q_52 = { 11 | NIM_STRLIT_FLAG, "isFromPath:" };
static const NimStringV2 TM__CjU0EdVKX9bAie4MvljOq7Q_53 = {11, (NimStrPayload*)&TM__CjU0EdVKX9bAie4MvljOq7Q_52};
static const struct {
  NI cap; NIM_CHAR data[19+1];
} TM__CjU0EdVKX9bAie4MvljOq7Q_54 = { 19 | NIM_STRLIT_FLAG, "with different url:" };
static const NimStringV2 TM__CjU0EdVKX9bAie4MvljOq7Q_55 = {19, (NimStrPayload*)&TM__CjU0EdVKX9bAie4MvljOq7Q_54};
static const struct {
  NI cap; NIM_CHAR data[8+1];
} TM__CjU0EdVKX9bAie4MvljOq7Q_56 = { 8 | NIM_STRLIT_FLAG, "and url:" };
static const NimStringV2 TM__CjU0EdVKX9bAie4MvljOq7Q_57 = {8, (NimStrPayload*)&TM__CjU0EdVKX9bAie4MvljOq7Q_56};
static const struct {
  NI cap; NIM_CHAR data[15+1];
} TM__CjU0EdVKX9bAie4MvljOq7Q_58 = { 15 | NIM_STRLIT_FLAG, "atlas:createUrl" };
static const NimStringV2 TM__CjU0EdVKX9bAie4MvljOq7Q_59 = {15, (NimStrPayload*)&TM__CjU0EdVKX9bAie4MvljOq7Q_58};
static const struct {
  NI cap; NIM_CHAR data[22+1];
} TM__CjU0EdVKX9bAie4MvljOq7Q_60 = { 22 | NIM_STRLIT_FLAG, "created url with name:" };
static const NimStringV2 TM__CjU0EdVKX9bAie4MvljOq7Q_61 = {22, (NimStrPayload*)&TM__CjU0EdVKX9bAie4MvljOq7Q_60};
static const struct {
  NI cap; NIM_CHAR data[5+1];
} TM__CjU0EdVKX9bAie4MvljOq7Q_62 = { 5 | NIM_STRLIT_FLAG, "orig:" };
static const NimStringV2 TM__CjU0EdVKX9bAie4MvljOq7Q_63 = {5, (NimStrPayload*)&TM__CjU0EdVKX9bAie4MvljOq7Q_62};
static const struct {
  NI cap; NIM_CHAR data[12+1];
} TM__CjU0EdVKX9bAie4MvljOq7Q_64 = { 12 | NIM_STRLIT_FLAG, "projectName:" };
static const NimStringV2 TM__CjU0EdVKX9bAie4MvljOq7Q_65 = {12, (NimStrPayload*)&TM__CjU0EdVKX9bAie4MvljOq7Q_64};
static const struct {
  NI cap; NIM_CHAR data[13+1];
} TM__CjU0EdVKX9bAie4MvljOq7Q_66 = { 13 | NIM_STRLIT_FLAG, "hasShortName:" };
static const NimStringV2 TM__CjU0EdVKX9bAie4MvljOq7Q_67 = {13, (NimStrPayload*)&TM__CjU0EdVKX9bAie4MvljOq7Q_66};
static const struct {
  NI cap; NIM_CHAR data[4+1];
} TM__CjU0EdVKX9bAie4MvljOq7Q_68 = { 4 | NIM_STRLIT_FLAG, "url:" };
static const NimStringV2 TM__CjU0EdVKX9bAie4MvljOq7Q_69 = {4, (NimStrPayload*)&TM__CjU0EdVKX9bAie4MvljOq7Q_68};
static const struct {
  NI cap; NIM_CHAR data[7+1];
} TM__CjU0EdVKX9bAie4MvljOq7Q_70 = { 7 | NIM_STRLIT_FLAG, "link://" };
static const NimStringV2 TM__CjU0EdVKX9bAie4MvljOq7Q_71 = {7, (NimStrPayload*)&TM__CjU0EdVKX9bAie4MvljOq7Q_70};
static const struct {
  NI cap; NIM_CHAR data[8+1];
} TM__CjU0EdVKX9bAie4MvljOq7Q_72 = { 8 | NIM_STRLIT_FLAG, "atlas://" };
static const NimStringV2 TM__CjU0EdVKX9bAie4MvljOq7Q_73 = {8, (NimStrPayload*)&TM__CjU0EdVKX9bAie4MvljOq7Q_72};
static const struct {
  NI cap; NIM_CHAR data[0+1];
} TM__CjU0EdVKX9bAie4MvljOq7Q_74 = { 0 | NIM_STRLIT_FLAG, "" };
static const NimStringV2 TM__CjU0EdVKX9bAie4MvljOq7Q_75 = {0, (NimStrPayload*)&TM__CjU0EdVKX9bAie4MvljOq7Q_74};
static const NimStringV2 TM__CjU0EdVKX9bAie4MvljOq7Q_76 = {19, (NimStrPayload*)&TM__CjU0EdVKX9bAie4MvljOq7Q_26};
static const struct {
  NI cap; NIM_CHAR data[38+1];
} TM__CjU0EdVKX9bAie4MvljOq7Q_77 = { 38 | NIM_STRLIT_FLAG, "createUrlFromPath: found nimble file: " };
static const NimStringV2 TM__CjU0EdVKX9bAie4MvljOq7Q_78 = {38, (NimStrPayload*)&TM__CjU0EdVKX9bAie4MvljOq7Q_77};
static const NimStringV2 TM__CjU0EdVKX9bAie4MvljOq7Q_79 = {7, (NimStrPayload*)&TM__CjU0EdVKX9bAie4MvljOq7Q_4};
static const NimStringV2 TM__CjU0EdVKX9bAie4MvljOq7Q_80 = {19, (NimStrPayload*)&TM__CjU0EdVKX9bAie4MvljOq7Q_26};
static const struct {
  NI cap; NIM_CHAR data[64+1];
} TM__CjU0EdVKX9bAie4MvljOq7Q_81 = { 64 | NIM_STRLIT_FLAG, "createUrlFromPath: no nimble file found, trying directory name: " };
static const NimStringV2 TM__CjU0EdVKX9bAie4MvljOq7Q_82 = {64, (NimStrPayload*)&TM__CjU0EdVKX9bAie4MvljOq7Q_81};
static const NimStringV2 TM__CjU0EdVKX9bAie4MvljOq7Q_83 = {19, (NimStrPayload*)&TM__CjU0EdVKX9bAie4MvljOq7Q_26};
static const struct {
  NI cap; NIM_CHAR data[34+1];
} TM__CjU0EdVKX9bAie4MvljOq7Q_84 = { 34 | NIM_STRLIT_FLAG, "createUrlFromPath: not a project: " };
static const NimStringV2 TM__CjU0EdVKX9bAie4MvljOq7Q_85 = {34, (NimStrPayload*)&TM__CjU0EdVKX9bAie4MvljOq7Q_84};
static const struct {
  NI cap; NIM_CHAR data[126+1];
} TM__CjU0EdVKX9bAie4MvljOq7Q_86 = { 126 | NIM_STRLIT_FLAG, "nimblecontext.nim(31, 11) `info.ondisk.string != \"\"` Package ondisk must be set before findNimbleFile can be called! Package: " };
static const NimStringV2 TM__CjU0EdVKX9bAie4MvljOq7Q_87 = {126, (NimStrPayload*)&TM__CjU0EdVKX9bAie4MvljOq7Q_86};
static const struct {
  NI cap; NIM_CHAR data[9+1];
} TM__CjU0EdVKX9bAie4MvljOq7Q_88 = { 9 | NIM_STRLIT_FLAG, "-*.nimble" };
static const NimStringV2 TM__CjU0EdVKX9bAie4MvljOq7Q_89 = {9, (NimStrPayload*)&TM__CjU0EdVKX9bAie4MvljOq7Q_88};
static const NimStringV2 TM__CjU0EdVKX9bAie4MvljOq7Q_91 = {58, (NimStrPayload*)&TM__CjU0EdVKX9bAie4MvljOq7Q_9};
static const NimStringV2 TM__CjU0EdVKX9bAie4MvljOq7Q_94 = {7, (NimStrPayload*)&TM__CjU0EdVKX9bAie4MvljOq7Q_4};
static const NimStringV2 TM__CjU0EdVKX9bAie4MvljOq7Q_96 = {7, (NimStrPayload*)&TM__CjU0EdVKX9bAie4MvljOq7Q_4};
static const NimStringV2 TM__CjU0EdVKX9bAie4MvljOq7Q_97 = {90, (NimStrPayload*)&TM__CjU0EdVKX9bAie4MvljOq7Q_22};
static const NimStringV2 TM__CjU0EdVKX9bAie4MvljOq7Q_98 = {7, (NimStrPayload*)&TM__CjU0EdVKX9bAie4MvljOq7Q_4};
static const NimStringV2 TM__CjU0EdVKX9bAie4MvljOq7Q_99 = {7, (NimStrPayload*)&TM__CjU0EdVKX9bAie4MvljOq7Q_4};
static const NimStringV2 TM__CjU0EdVKX9bAie4MvljOq7Q_100 = {90, (NimStrPayload*)&TM__CjU0EdVKX9bAie4MvljOq7Q_22};
static const struct {
  NI cap; NIM_CHAR data[1+1];
} TM__CjU0EdVKX9bAie4MvljOq7Q_101 = { 1 | NIM_STRLIT_FLAG, "-" };
static const NimStringV2 TM__CjU0EdVKX9bAie4MvljOq7Q_102 = {1, (NimStrPayload*)&TM__CjU0EdVKX9bAie4MvljOq7Q_101};
static const NimStringV2 TM__CjU0EdVKX9bAie4MvljOq7Q_103 = {90, (NimStrPayload*)&TM__CjU0EdVKX9bAie4MvljOq7Q_22};
extern NIM_THREADVAR NIM_BOOL nimInErrorMode__system_u4198;
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(NIM_BOOL*, nimErrorFlag)(void) {
	NIM_BOOL* result;
	result = (&nimInErrorMode__system_u4198);
	return result;
}
static N_INLINE(void, splitFile__stdZpaths_u114)(NimStringV2 path_p0, tyTuple__7q7q3E6Oj24ZNVJb9aonhAg* Result) {
	tyTuple__7q7q3E6Oj24ZNVJb9aonhAg res_1;
	NimStringV2 colontmp_;
	NimStringV2 colontmp__2;
	NimStringV2 colontmp__3;
	NimStringV2 blitTmp_1;
	NimStringV2 blitTmp_2;
	NimStringV2 blitTmp_3;
	NimStringV2 blitTmp_4;
	NimStringV2 blitTmp_5;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	nimZeroMem((void*)Result, sizeof(tyTuple__7q7q3E6Oj24ZNVJb9aonhAg));
	nimZeroMem((void*)(&res_1), sizeof(tyTuple__7q7q3E6Oj24ZNVJb9aonhAg));
	colontmp_.len = 0; colontmp_.p = NIM_NIL;
	colontmp__2.len = 0; colontmp__2.p = NIM_NIL;
	colontmp__3.len = 0; colontmp__3.p = NIM_NIL;
	nossplitFile(path_p0, (&res_1));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	blitTmp_1 = res_1.Field0;
	eqwasMoved___system_u2751((&res_1.Field0));
	colontmp_ = blitTmp_1;
	blitTmp_2 = res_1.Field1;
	eqwasMoved___system_u2751((&res_1.Field1));
	colontmp__2 = blitTmp_2;
	colontmp__3 = res_1.Field2;
	eqwasMoved___system_u2751((&res_1.Field2));
	blitTmp_3 = colontmp_;
	(*Result).Field0 = blitTmp_3;
	blitTmp_4 = colontmp__2;
	(*Result).Field1 = blitTmp_4;
	blitTmp_5 = colontmp__3;
	(*Result).Field2 = blitTmp_5;
	eqdestroy___pureZos_u217((&res_1));
	}BeforeRet_: ;
}
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(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(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;
}
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(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(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, 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, 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(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(tySequence__sM4lkSb7zS6F7OVMvW9cffQ, findNimbleFile__basicZnimblecontext_u53)(NimStringV2 dir_p0, NimStringV2 projectName_p1) {
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ result;
	tyTuple__7q7q3E6Oj24ZNVJb9aonhAg colontmpD_;
	NimStringV2 colontmpD__2;
	tyArray__Seu7uK9aaOSN0BK3EAjjSHw T51_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result.len = 0; result.p = NIM_NIL;
	nimZeroMem((void*)(&colontmpD_), sizeof(tyTuple__7q7q3E6Oj24ZNVJb9aonhAg));
	colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
	{
		NimStringV2 nimbleFile_1;
		splitFile__stdZpaths_u114(dir_p0, (&colontmpD_));
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (!eqStrings(colontmpD_.Field2, TM__CjU0EdVKX9bAie4MvljOq7Q_3)) goto LA4_;
		nimbleFile_1.len = 0; nimbleFile_1.p = NIM_NIL;
		eqcopy___system_u2754((&nimbleFile_1), dir_p0);
		{
			NIM_BOOL T9_;
			NimStringV2 blitTmp_1;
			T9_ = (NIM_BOOL)0;
			T9_ = fileExists__stdZfiles_u10(nimbleFile_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
			if (!T9_) goto LA10_;
			result.len = 1; result.p = (tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content*) newSeqPayload(1, sizeof(NimStringV2), NIM_ALIGNOF(NimStringV2));
			blitTmp_1 = nimbleFile_1;
			eqwasMoved___system_u2751((&nimbleFile_1));
			result.p->data[0] = blitTmp_1;
			if (nimbleFile_1.p && !(nimbleFile_1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(nimbleFile_1.p);
}
			if (colontmpD__2.p && !(colontmpD__2.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__2.p);
}
			eqdestroy___stdZpaths_u124((&colontmpD_));
			goto BeforeRet_;
		}
LA10_: ;
		{
			LA6_:;
		}
		{
			if (nimbleFile_1.p && !(nimbleFile_1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(nimbleFile_1.p);
}
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA2_;
LA4_: ;
	{
		NimStringV2 nimbleFile_2;
		NimStringV2 colontmpD__3;
		NimStringV2 T16_;
		nimbleFile_2.len = 0; nimbleFile_2.p = NIM_NIL;
		colontmpD__3.len = 0; colontmpD__3.p = NIM_NIL;
		T16_.len = 0; T16_.p = NIM_NIL;
		T16_ = rawNewString(projectName_p1.len + 7);
appendString((&T16_), projectName_p1);
appendString((&T16_), TM__CjU0EdVKX9bAie4MvljOq7Q_5);
		colontmpD__3 = T16_;
		nimbleFile_2 = slash___stdZpaths_u84(dir_p0, colontmpD__3);
		if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
		{
			NIM_BOOL T19_;
			NimStringV2 blitTmp_2;
			T19_ = (NIM_BOOL)0;
			T19_ = fileExists__stdZfiles_u10(nimbleFile_2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
			if (!T19_) goto LA20_;
			result.len = 1; result.p = (tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content*) newSeqPayload(1, sizeof(NimStringV2), NIM_ALIGNOF(NimStringV2));
			blitTmp_2 = nimbleFile_2;
			eqwasMoved___system_u2751((&nimbleFile_2));
			result.p->data[0] = blitTmp_2;
			if (colontmpD__3.p && !(colontmpD__3.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__3.p);
}
			if (nimbleFile_2.p && !(nimbleFile_2.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(nimbleFile_2.p);
}
			if (colontmpD__2.p && !(colontmpD__2.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__2.p);
}
			eqdestroy___stdZpaths_u124((&colontmpD_));
			goto BeforeRet_;
		}
LA20_: ;
		{
			LA15_:;
		}
		{
			if (colontmpD__3.p && !(colontmpD__3.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__3.p);
}
			if (nimbleFile_2.p && !(nimbleFile_2.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(nimbleFile_2.p);
}
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA2_: ;
	{
		NI T26_;
		T26_ = result.len;
		if (!(T26_ == ((NI)0))) goto LA27_;
		{
			NimStringV2 file_1;
			NimStringV2 colontmp_;
			glob_t fX60gensym5__1;
			NI resX60gensym5__1;
			int T30_;
			file_1.len = 0; file_1.p = NIM_NIL;
			colontmp_.len = 0; colontmp_.p = NIM_NIL;
			colontmp_ = slash___stdZprivateZospaths2_u88(dir_p0, TM__CjU0EdVKX9bAie4MvljOq7Q_7);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			nimZeroMem((void*)(&fX60gensym5__1), sizeof(glob_t));
			resX60gensym5__1 = (NI)0;
			fX60gensym5__1.gl_offs = ((NI)0);
			fX60gensym5__1.gl_pathc = ((NI)0);
			fX60gensym5__1.gl_pathv = ((NCSTRING*) NIM_NIL);
			T30_ = (int)0;
			T30_ = glob(nimToCStringConv(colontmp_), ((int)0), NIM_NIL, (&fX60gensym5__1));
			resX60gensym5__1 = ((NI) (T30_));
			{
				if (!(resX60gensym5__1 == ((NI)0))) goto LA34_;
				{
					NI iX60gensym5__1;
					NI colontmp__2;
					NI TM__CjU0EdVKX9bAie4MvljOq7Q_8;
					NI res_1;
					iX60gensym5__1 = (NI)0;
					colontmp__2 = (NI)0;
					if (nimSubInt(fX60gensym5__1.gl_pathc, ((NI)1), &TM__CjU0EdVKX9bAie4MvljOq7Q_8)) { raiseOverflow(); goto LA31_;
					};
					colontmp__2 = (NI)(TM__CjU0EdVKX9bAie4MvljOq7Q_8);
					res_1 = ((NI)0);
					{
						while (1) {
							NimStringV2 pathX60gensym5__1;
							NI TM__CjU0EdVKX9bAie4MvljOq7Q_11;
							if (!(res_1 <= colontmp__2)) goto LA38;
							pathX60gensym5__1.len = 0; pathX60gensym5__1.p = NIM_NIL;
							iX60gensym5__1 = ((NI) (res_1));
							{
								NIM_BOOL T41_;
								T41_ = (NIM_BOOL)0;
								T41_ = eqeq___system_u9048(fX60gensym5__1.gl_pathv[iX60gensym5__1], ((NCSTRING) NIM_NIL));
								if (!!(!(T41_))) goto LA42_;
								failedAssertImpl__stdZassertions_u95(TM__CjU0EdVKX9bAie4MvljOq7Q_10);
								if (NIM_UNLIKELY(*nimErr_)) goto LA31_;
							}
LA42_: ;
							pathX60gensym5__1 = cstrToNimstr(fX60gensym5__1.gl_pathv[iX60gensym5__1]);
							{
								NIM_BOOL T46_;
								NimStringV2 blitTmp_3;
								T46_ = (NIM_BOOL)0;
								T46_ = nosfileExists(pathX60gensym5__1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA31_;
								if (!T46_) goto LA47_;
								eqsink___system_u2760((&file_1), pathX60gensym5__1);
								eqwasMoved___system_u2751((&pathX60gensym5__1));
								blitTmp_3 = file_1;
								eqwasMoved___system_u2751((&file_1));
								add__basicZnimblecontext_u72((&result), blitTmp_3);
							}
LA47_: ;
							if (nimAddInt(res_1, ((NI)1), &TM__CjU0EdVKX9bAie4MvljOq7Q_11)) { raiseOverflow(); goto LA31_;
							};
							res_1 = (NI)(TM__CjU0EdVKX9bAie4MvljOq7Q_11);
							if (pathX60gensym5__1.p && !(pathX60gensym5__1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(pathX60gensym5__1.p);
}
						} LA38: ;
					}
				}
			}
LA34_: ;
			{
				LA31_:;
			}
			{
				globfree((&fX60gensym5__1));
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			if (colontmp_.p && !(colontmp_.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmp_.p);
}
			if (file_1.p && !(file_1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(file_1.p);
}
		}
	}
LA27_: ;
	T51_[0] = TM__CjU0EdVKX9bAie4MvljOq7Q_13;
	T51_[1] = projectName_p1;
	T51_[2] = TM__CjU0EdVKX9bAie4MvljOq7Q_15;
	colontmpD__2 = join__basicZnimblecontext_u96(((result).p) ? (result.p->data) : NIM_NIL, result.len, TM__CjU0EdVKX9bAie4MvljOq7Q_17);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	T51_[3] = colontmpD__2;
	debug__basicZgitops_u1252(dir_p0, T51_, 4);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		LA1_:;
	}
	{
		if (colontmpD__2.p && !(colontmpD__2.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__2.p);
}
		eqdestroy___stdZpaths_u124((&colontmpD_));
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, createUnfilledNimbleContext__basicZnimblecontext_u3559)(tyObject_NimbleContext__4UNXx9ceXbsj5kR4Hz1gUgA* Result) {
	tyObject_AtlasContext__9b9cOM1bS6SdrgGAPmY5KTwQ* T1_;
	tyObject_AtlasContext__9b9cOM1bS6SdrgGAPmY5KTwQ* T2_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	nimZeroMem((void*)Result, sizeof(tyObject_NimbleContext__4UNXx9ceXbsj5kR4Hz1gUgA));
	T1_ = (tyObject_AtlasContext__9b9cOM1bS6SdrgGAPmY5KTwQ*)0;
	T1_ = context__basicZcontext_u319();
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	eqcopy___basicZcompiledpatterns_u1166((&(*Result).nameOverrides), (&(*T1_).nameOverrides));
	T2_ = (tyObject_AtlasContext__9b9cOM1bS6SdrgGAPmY5KTwQ*)0;
	T2_ = context__basicZcontext_u319();
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	eqcopy___basicZcompiledpatterns_u1166((&(*Result).urlOverrides), (&(*T2_).urlOverrides));
	}BeforeRet_: ;
}
static N_INLINE(NimStringV2, toLower__pureZunicode_u7554)(NimStringV2 s_p0) {
	NimStringV2 result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result.len = 0; result.p = NIM_NIL;
	if ((s_p0.len-1)-((NI)0) != -1 && (((NI)0) < 0 || ((NI)0) >= s_p0.len || (s_p0.len-1) < 0 || (s_p0.len-1) >= s_p0.len)){ raiseIndexError4(((NI)0), (s_p0.len-1), s_p0.len); goto BeforeRet_;
	}
	result = nuctoLowerStr((((s_p0).p) ? ((NIM_CHAR*)s_p0.p->data+(((NI)0))) : NIM_NIL), ((s_p0.len-1))-(((NI)0))+1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, fillPackageLookupTable__basicZnimblecontext_u3347)(tyObject_NimbleContext__4UNXx9ceXbsj5kR4Hz1gUgA* c_p0) {
	NimStringV2 pkgsDir_1;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	pkgsDir_1.len = 0; pkgsDir_1.p = NIM_NIL;
	pkgsDir_1 = packagesDirectory__basicZcontext_u351();
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		NimStringV2 colontmpD_;
		tySequence__H3A42plY3ZGdd9cIkci4urw packages_1;
		tySequence__H3A42plY3ZGdd9cIkci4urw aliases_1;
		if (!!((*c_p0).hasPackageList)) goto LA4_;
		colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
		packages_1.len = 0; packages_1.p = NIM_NIL;
		aliases_1.len = 0; aliases_1.p = NIM_NIL;
		(*c_p0).hasPackageList = NIM_TRUE;
		{
			NIM_BOOL T9_;
			colontmpD_ = slash___stdZpaths_u84(pkgsDir_1, TM__CjU0EdVKX9bAie4MvljOq7Q_19);
			if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
			T9_ = (NIM_BOOL)0;
			T9_ = fileExists__stdZfiles_u10(colontmpD_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
			if (!!(T9_)) goto LA10_;
			updatePackages__basicZpackageinfos_u528(pkgsDir_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		}
LA10_: ;
		packages_1 = getPackageInfos__basicZpackageinfos_u186(pkgsDir_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		aliases_1.len = 0; aliases_1.p = (tySequence__H3A42plY3ZGdd9cIkci4urw_Content*) newSeqPayload(0, sizeof(tyObject_PackageInfocolonObjectType___R0oWrMCYB9aDk5GcoIvq3ew*), NIM_ALIGNOF(tyObject_PackageInfocolonObjectType___R0oWrMCYB9aDk5GcoIvq3ew*));
		{
			tyObject_PackageInfocolonObjectType___R0oWrMCYB9aDk5GcoIvq3ew** pkgInfo_1;
			NI i_1;
			NI L_1;
			NI T13_;
			pkgInfo_1 = (tyObject_PackageInfocolonObjectType___R0oWrMCYB9aDk5GcoIvq3ew**)0;
			i_1 = ((NI)0);
			T13_ = packages_1.len;
			L_1 = T13_;
			{
				while (1) {
					if (!(i_1 < L_1)) goto LA15;
					if (i_1 < 0 || i_1 >= packages_1.len){ raiseIndexError2(i_1,packages_1.len-1); goto LA6_;
					}
					pkgInfo_1 = &packages_1.p->data[i_1];
					{
						tyObject_PackageInfocolonObjectType___R0oWrMCYB9aDk5GcoIvq3ew* colontmpD__2;
						if (!((*(*pkgInfo_1)).kind == ((tyEnum_PackageKind__VnPGnYAiywvS9auJzQyUN8A)1))) goto LA18_;
						colontmpD__2 = eqdup___basicZpackageinfos_u151((*pkgInfo_1));
						add__basicZpackageinfos_u336((&aliases_1), colontmpD__2);
					}
					goto LA16_;
LA18_: ;
					{
						tyObject_PkgUrl__xtGEmbK9cVcp0WbjakP0xVw pkgUrl_1;
						NimStringV2 colontmpD__3;
						tyObject_PkgUrl__xtGEmbK9cVcp0WbjakP0xVw blitTmp_1;
						nimZeroMem((void*)(&pkgUrl_1), sizeof(tyObject_PkgUrl__xtGEmbK9cVcp0WbjakP0xVw));
						colontmpD__3.len = 0; colontmpD__3.p = NIM_NIL;
						if (!(((1 &((NU8)1<<((NU)(((*(*pkgInfo_1)).kind))&7U)))!=0))) 						{ raiseFieldErrorStr(TM__CjU0EdVKX9bAie4MvljOq7Q_21, dollar___basicZpackageinfos_u19((*(*pkgInfo_1)).kind)); goto LA21_;
						}
						createUrlSkipPatterns__basicZpkgurls_u205((*(*pkgInfo_1))._kind_2.url, NIM_TRUE, NIM_FALSE, (&pkgUrl_1));
						if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
						pkgUrl_1.hasShortName = NIM_TRUE;
						eqcopy___system_u2754((&pkgUrl_1.qualifiedName.Field0), (*(*pkgInfo_1)).name);
						colontmpD__3 = toLower__pureZunicode_u7554((*(*pkgInfo_1)).name);
						if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
						nimZeroMem((void*)(&blitTmp_1), sizeof(tyObject_PkgUrl__xtGEmbK9cVcp0WbjakP0xVw));
						blitTmp_1 = pkgUrl_1;
						eqwasMoved___basicZpkgurls_u258((&pkgUrl_1));
						X5BX5Deq___basicZnimblecontext_u1610((&(*c_p0).nameToUrl), colontmpD__3, (&blitTmp_1));
						if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
						{
							LA21_:;
						}
						{
							if (colontmpD__3.p && !(colontmpD__3.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__3.p);
}
							eqdestroy___basicZpkgurls_u261((&pkgUrl_1));
						}
						if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
					}
LA16_: ;
					i_1 += ((NI)1);
					{
						NI T26_;
						T26_ = packages_1.len;
						if (!!((T26_ == L_1))) goto LA27_;
						failedAssertImpl__stdZassertions_u95(TM__CjU0EdVKX9bAie4MvljOq7Q_23);
						if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
					}
LA27_: ;
				} LA15: ;
			}
		}
		{
			tyObject_PackageInfocolonObjectType___R0oWrMCYB9aDk5GcoIvq3ew** pkgAlias_1;
			NI i_2;
			NI L_2;
			NI T30_;
			pkgAlias_1 = (tyObject_PackageInfocolonObjectType___R0oWrMCYB9aDk5GcoIvq3ew**)0;
			i_2 = ((NI)0);
			T30_ = aliases_1.len;
			L_2 = T30_;
			{
				while (1) {
					NimStringV2 aliasName_1;
					tyObject_PkgUrl__xtGEmbK9cVcp0WbjakP0xVw url_1;
					tyObject_PkgUrl__xtGEmbK9cVcp0WbjakP0xVw* T34_;
					if (!(i_2 < L_2)) goto LA32;
					aliasName_1.len = 0; aliasName_1.p = NIM_NIL;
					nimZeroMem((void*)(&url_1), sizeof(tyObject_PkgUrl__xtGEmbK9cVcp0WbjakP0xVw));
					if (i_2 < 0 || i_2 >= aliases_1.len){ raiseIndexError2(i_2,aliases_1.len-1); goto LA33_;
					}
					pkgAlias_1 = &aliases_1.p->data[i_2];
					if (!(((2 &((NU8)1<<((NU)(((*(*pkgAlias_1)).kind))&7U)))!=0))) 					{ raiseFieldErrorStr(TM__CjU0EdVKX9bAie4MvljOq7Q_25, dollar___basicZpackageinfos_u19((*(*pkgAlias_1)).kind)); goto LA33_;
					}
					aliasName_1 = toLower__pureZunicode_u7554((*(*pkgAlias_1))._kind_1.alias);
					if (NIM_UNLIKELY(*nimErr_)) goto LA33_;
					T34_ = (tyObject_PkgUrl__xtGEmbK9cVcp0WbjakP0xVw*)0;
					T34_ = X5BX5D___basicZnimblecontext_u3006((&(*c_p0).nameToUrl), aliasName_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA33_;
					eqcopy___basicZpkgurls_u264((&url_1), (&(*T34_)));
					{
						NIM_BOOL T37_;
						NimStringV2 colontmpD__4;
						NimStringV2 colontmpD__5;
						tyArray__dyW7vpmfeTYw8kX3EXuaJA T41_;
						NimStringV2 T42_;
						T37_ = (NIM_BOOL)0;
						T37_ = isEmpty__basicZpkgurls_u23((&url_1));
						if (NIM_UNLIKELY(*nimErr_)) goto LA33_;
						if (!T37_) goto LA38_;
						colontmpD__4.len = 0; colontmpD__4.p = NIM_NIL;
						colontmpD__5.len = 0; colontmpD__5.p = NIM_NIL;
						T42_.len = 0; T42_.p = NIM_NIL;
						colontmpD__4 = dollar___basicZpackageinfos_u167((*pkgAlias_1));
						if (NIM_UNLIKELY(*nimErr_)) goto LA40_;
						T42_ = rawNewString(colontmpD__4.len + 35);
appendString((&T42_), TM__CjU0EdVKX9bAie4MvljOq7Q_29);
appendString((&T42_), colontmpD__4);
						colontmpD__5 = T42_;
						T41_[0] = colontmpD__5;
						T41_[1] = TM__CjU0EdVKX9bAie4MvljOq7Q_31;
						T41_[2] = aliasName_1;
						warn__basicZpkgurls_u133(TM__CjU0EdVKX9bAie4MvljOq7Q_27, T41_, 3);
						if (NIM_UNLIKELY(*nimErr_)) goto LA40_;
						{
							LA40_:;
						}
						{
							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 LA33_;
					}
					goto LA35_;
LA38_: ;
					{
						tyObject_PkgUrl__xtGEmbK9cVcp0WbjakP0xVw blitTmp_2;
						nimZeroMem((void*)(&blitTmp_2), sizeof(tyObject_PkgUrl__xtGEmbK9cVcp0WbjakP0xVw));
						blitTmp_2 = url_1;
						eqwasMoved___basicZpkgurls_u258((&url_1));
						X5BX5Deq___basicZnimblecontext_u1610((&(*c_p0).nameToUrl), (*(*pkgAlias_1)).name, (&blitTmp_2));
						if (NIM_UNLIKELY(*nimErr_)) goto LA33_;
					}
LA35_: ;
					i_2 += ((NI)1);
					{
						NI T48_;
						T48_ = aliases_1.len;
						if (!!((T48_ == L_2))) goto LA49_;
						failedAssertImpl__stdZassertions_u95(TM__CjU0EdVKX9bAie4MvljOq7Q_32);
						if (NIM_UNLIKELY(*nimErr_)) goto LA33_;
					}
LA49_: ;
					{
						LA33_:;
					}
					{
						eqdestroy___basicZpkgurls_u261((&url_1));
						if (aliasName_1.p && !(aliasName_1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(aliasName_1.p);
}
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
				} LA32: ;
			}
		}
		{
			LA6_:;
		}
		{
			eqdestroy___basicZpackageinfos_u364(aliases_1);
			eqdestroy___basicZpackageinfos_u364(packages_1);
			if (colontmpD_.p && !(colontmpD_.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD_.p);
}
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA4_: ;
	{
		LA1_:;
	}
	{
		if (pkgsDir_1.p && !(pkgsDir_1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(pkgsDir_1.p);
}
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, createNimbleContext__basicZnimblecontext_u4050)(tyObject_NimbleContext__4UNXx9ceXbsj5kR4Hz1gUgA* Result) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	nimZeroMem((void*)Result, sizeof(tyObject_NimbleContext__4UNXx9ceXbsj5kR4Hz1gUgA));
	createUnfilledNimbleContext__basicZnimblecontext_u3559(Result);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	fillPackageLookupTable__basicZnimblecontext_u3347(Result);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
static N_INLINE(void, eqdestroy___system_u281)(NimStringV2 x_p0) {
}
N_LIB_PRIVATE N_NIMCALL(void, lookup__basicZnimblecontext_u442)(tyObject_NimbleContext__4UNXx9ceXbsj5kR4Hz1gUgA* nc_p0, NimStringV2 name_p1, tyObject_PkgUrl__xtGEmbK9cVcp0WbjakP0xVw* Result) {
	NimStringV2 lname_1;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	nimZeroMem((void*)Result, sizeof(tyObject_PkgUrl__xtGEmbK9cVcp0WbjakP0xVw));
	lname_1.len = 0; lname_1.p = NIM_NIL;
	lname_1 = toLower__pureZunicode_u7554(name_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		NIM_BOOL T4_;
		tyObject_PkgUrl__xtGEmbK9cVcp0WbjakP0xVw* T7_;
		T4_ = (NIM_BOOL)0;
		T4_ = contains__basicZnimblecontext_u496((&(*nc_p0).packageExtras), lname_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (!T4_) goto LA5_;
		T7_ = (tyObject_PkgUrl__xtGEmbK9cVcp0WbjakP0xVw*)0;
		T7_ = X5BX5D___basicZnimblecontext_u1034((&(*nc_p0).packageExtras), lname_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		eqcopy___basicZpkgurls_u264(Result, (&(*T7_)));
	}
	goto LA2_;
LA5_: ;
	{
		NIM_BOOL T9_;
		tyObject_PkgUrl__xtGEmbK9cVcp0WbjakP0xVw* T12_;
		T9_ = (NIM_BOOL)0;
		T9_ = contains__basicZnimblecontext_u496((&(*nc_p0).nameToUrl), lname_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (!T9_) goto LA10_;
		T12_ = (tyObject_PkgUrl__xtGEmbK9cVcp0WbjakP0xVw*)0;
		T12_ = X5BX5D___basicZnimblecontext_u1034((&(*nc_p0).nameToUrl), lname_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		eqcopy___basicZpkgurls_u264(Result, (&(*T12_)));
	}
	goto LA2_;
LA10_: ;
LA2_: ;
	{
		LA1_:;
	}
	{
		if (lname_1.p && !(lname_1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(lname_1.p);
}
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, putImpl__basicZnimblecontext_u1459)(tyObject_NimbleContext__4UNXx9ceXbsj5kR4Hz1gUgA* nc_p0, NimStringV2 name_p1, tyObject_PkgUrl__xtGEmbK9cVcp0WbjakP0xVw* url_p2, NIM_BOOL isFromPath_p3) {
	NIM_BOOL result;
	NimStringV2 name_2;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NIM_BOOL)0;
	name_2.len = 0; name_2.p = NIM_NIL;
	name_2 = toLower__pureZunicode_u7554(name_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		NIM_BOOL T4_;
		T4_ = (NIM_BOOL)0;
		T4_ = contains__basicZnimblecontext_u496((&(*nc_p0).nameToUrl), name_2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (!T4_) goto LA5_;
		result = NIM_FALSE;
	}
	goto LA2_;
LA5_: ;
	{
		NIM_BOOL T8_;
		tyObject_PkgUrl__xtGEmbK9cVcp0WbjakP0xVw colontmpD_;
		T8_ = (NIM_BOOL)0;
		T8_ = contains__basicZnimblecontext_u496((&(*nc_p0).packageExtras), name_2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (!!(T8_)) goto LA9_;
		eqdup___basicZpkgurls_u267(url_p2, (&colontmpD_));
		X5BX5Deq___basicZnimblecontext_u1610((&(*nc_p0).packageExtras), name_2, (&colontmpD_));
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		result = NIM_TRUE;
	}
	goto LA2_;
LA9_: ;
	{
		tyObject_PkgUrl__xtGEmbK9cVcp0WbjakP0xVw existingPkg_1;
		tyObject_Uri__MX62yCLGQmnfVYEE3Hjm9cA existingUrl_1;
		tyObject_Uri__MX62yCLGQmnfVYEE3Hjm9cA url_2;
		tyObject_PkgUrl__xtGEmbK9cVcp0WbjakP0xVw* T13_;
		tyObject_Uri__MX62yCLGQmnfVYEE3Hjm9cA T14_;
		tyObject_Uri__MX62yCLGQmnfVYEE3Hjm9cA T15_;
		nimZeroMem((void*)(&existingPkg_1), sizeof(tyObject_PkgUrl__xtGEmbK9cVcp0WbjakP0xVw));
		nimZeroMem((void*)(&existingUrl_1), sizeof(tyObject_Uri__MX62yCLGQmnfVYEE3Hjm9cA));
		nimZeroMem((void*)(&url_2), sizeof(tyObject_Uri__MX62yCLGQmnfVYEE3Hjm9cA));
		T13_ = (tyObject_PkgUrl__xtGEmbK9cVcp0WbjakP0xVw*)0;
		T13_ = X5BX5D___basicZnimblecontext_u3006((&(*nc_p0).packageExtras), name_2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
		eqcopy___basicZpkgurls_u264((&existingPkg_1), (&(*T13_)));
		nimZeroMem((void*)(&T14_), sizeof(tyObject_Uri__MX62yCLGQmnfVYEE3Hjm9cA));
		url__basicZpkgurls_u44((&existingPkg_1), (&T14_));
		existingUrl_1 = T14_;
		if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
		nimZeroMem((void*)(&T15_), sizeof(tyObject_Uri__MX62yCLGQmnfVYEE3Hjm9cA));
		url__basicZpkgurls_u44(url_p2, (&T15_));
		url_2 = T15_;
		if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
		{
			NIM_BOOL T18_;
			T18_ = (NIM_BOOL)0;
			T18_ = eqeq___basicZpkgurls_u71((&existingUrl_1), (&url_2));
			if (!!(T18_)) goto LA19_;
			{
				NIM_BOOL T23_;
				NIM_BOOL T24_;
				NIM_BOOL T25_;
				NimStringV2 colontmpD__2;
				NimStringV2 colontmpD__3;
				tyArray__A2YC0h9cZydgH7zGAndH9bLg T32_;
				T23_ = (NIM_BOOL)0;
				T24_ = (NIM_BOOL)0;
				T25_ = (NIM_BOOL)0;
				T25_ = !(eqStrings(existingUrl_1.scheme, url_2.scheme));
				if (!(T25_)) goto LA26_;
				T25_ = eqStrings(existingUrl_1.port, url_2.port);
LA26_: ;
				T24_ = T25_;
				if (!(T24_)) goto LA27_;
				T24_ = eqStrings(existingUrl_1.path, url_2.path);
LA27_: ;
				T23_ = T24_;
				if (!(T23_)) goto LA28_;
				T23_ = eqStrings(existingUrl_1.hostname, url_2.hostname);
LA28_: ;
				if (!T23_) goto LA29_;
				colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
				colontmpD__3.len = 0; colontmpD__3.p = NIM_NIL;
				T32_[0] = TM__CjU0EdVKX9bAie4MvljOq7Q_44;
				T32_[1] = name_2;
				T32_[2] = TM__CjU0EdVKX9bAie4MvljOq7Q_46;
				colontmpD__2 = dollar___pureZuri_u409((&existingUrl_1));
				if (NIM_UNLIKELY(*nimErr_)) goto LA31_;
				T32_[3] = colontmpD__2;
				T32_[4] = TM__CjU0EdVKX9bAie4MvljOq7Q_48;
				colontmpD__3 = dollar___pureZuri_u409((&url_2));
				if (NIM_UNLIKELY(*nimErr_)) goto LA31_;
				T32_[5] = colontmpD__3;
				info__basicZparse95requires_u40(TM__CjU0EdVKX9bAie4MvljOq7Q_42, T32_, 6);
				if (NIM_UNLIKELY(*nimErr_)) goto LA31_;
				{
					LA31_:;
				}
				{
					if (colontmpD__3.p && !(colontmpD__3.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__3.p);
}
					if (colontmpD__2.p && !(colontmpD__2.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__2.p);
}
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
			}
			goto LA21_;
LA29_: ;
			{
				NimStringV2 colontmpD__4;
				NimStringV2 colontmpD__5;
				NimStringV2 colontmpD__6;
				tyArray__hSrJSIaqyFxuH67Wd7apZQ T37_;
				tyObject_PkgUrl__xtGEmbK9cVcp0WbjakP0xVw* T38_;
				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;
				T37_[0] = TM__CjU0EdVKX9bAie4MvljOq7Q_51;
				T37_[1] = name_2;
				T37_[2] = TM__CjU0EdVKX9bAie4MvljOq7Q_53;
				colontmpD__4 = nimBoolToStr(isFromPath_p3);
				T37_[3] = colontmpD__4;
				T37_[4] = TM__CjU0EdVKX9bAie4MvljOq7Q_55;
				T38_ = (tyObject_PkgUrl__xtGEmbK9cVcp0WbjakP0xVw*)0;
				T38_ = X5BX5D___basicZnimblecontext_u3006((&(*nc_p0).packageExtras), name_2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA36_;
				colontmpD__5 = dollar___basicZpkgurls_u47((&(*T38_)));
				if (NIM_UNLIKELY(*nimErr_)) goto LA36_;
				T37_[5] = colontmpD__5;
				T37_[6] = TM__CjU0EdVKX9bAie4MvljOq7Q_57;
				colontmpD__6 = dollar___pureZuri_u409((&url_2));
				if (NIM_UNLIKELY(*nimErr_)) goto LA36_;
				T37_[7] = colontmpD__6;
				warn__basicZpkgurls_u133(TM__CjU0EdVKX9bAie4MvljOq7Q_49, T37_, 8);
				if (NIM_UNLIKELY(*nimErr_)) goto LA36_;
				result = NIM_FALSE;
				{
					LA36_:;
				}
				{
					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 LA12_;
			}
LA21_: ;
		}
LA19_: ;
		{
			LA12_:;
		}
		{
			eqdestroy___pureZuri_u213((&url_2));
			eqdestroy___pureZuri_u213((&existingUrl_1));
			eqdestroy___basicZpkgurls_u261((&existingPkg_1));
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA2_: ;
	{
		LA1_:;
	}
	{
		if (name_2.p && !(name_2.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(name_2.p);
}
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, put__basicZnimblecontext_u3205)(tyObject_NimbleContext__4UNXx9ceXbsj5kR4Hz1gUgA* nc_p0, NimStringV2 name_p1, tyObject_PkgUrl__xtGEmbK9cVcp0WbjakP0xVw* url_p2) {
	NIM_BOOL result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NIM_BOOL)0;
	result = putImpl__basicZnimblecontext_u1459(nc_p0, name_p1, url_p2, NIM_FALSE);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, createUrl__basicZnimblecontext_u3215)(tyObject_NimbleContext__4UNXx9ceXbsj5kR4Hz1gUgA* nc_p0, NimStringV2 nameOrig_p1, tyObject_PkgUrl__xtGEmbK9cVcp0WbjakP0xVw* Result) {
	NimStringV2 name_1;
	tyObject_PkgUrl__xtGEmbK9cVcp0WbjakP0xVw officialPkg_1;
	NimStringV2 colontmpD_;
	tyObject_Uri__MX62yCLGQmnfVYEE3Hjm9cA colontmpD__2;
	tyObject_Uri__MX62yCLGQmnfVYEE3Hjm9cA colontmpD__3;
	NIM_BOOL didReplace_1;
	NIM_BOOL origWasUrl_1;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	nimZeroMem((void*)Result, sizeof(tyObject_PkgUrl__xtGEmbK9cVcp0WbjakP0xVw));
	name_1.len = 0; name_1.p = NIM_NIL;
	nimZeroMem((void*)(&officialPkg_1), sizeof(tyObject_PkgUrl__xtGEmbK9cVcp0WbjakP0xVw));
	colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
	nimZeroMem((void*)(&colontmpD__2), sizeof(tyObject_Uri__MX62yCLGQmnfVYEE3Hjm9cA));
	nimZeroMem((void*)(&colontmpD__3), sizeof(tyObject_Uri__MX62yCLGQmnfVYEE3Hjm9cA));
	{
		NIM_BOOL T4_;
		NimStringV2 colontmpD__4;
		NimStringV2 T7_;
		T4_ = (NIM_BOOL)0;
		T4_ = nosisAbsolute(nameOrig_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (!!(!(T4_))) goto LA5_;
		colontmpD__4.len = 0; colontmpD__4.p = NIM_NIL;
		T7_.len = 0; T7_.p = NIM_NIL;
		T7_ = rawNewString(nameOrig_p1.len + 97);
appendString((&T7_), TM__CjU0EdVKX9bAie4MvljOq7Q_34);
appendString((&T7_), nameOrig_p1);
		colontmpD__4 = T7_;
		failedAssertImpl__stdZassertions_u95(colontmpD__4);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (colontmpD__4.p && !(colontmpD__4.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__4.p);
}
	}
LA5_: ;
	didReplace_1 = NIM_FALSE;
	eqcopy___system_u2754((&name_1), nameOrig_p1);
	origWasUrl_1 = isUrl__basicZpkgurls_u26(nameOrig_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		NIM_BOOL T10_;
		NimStringV2 T13_;
		T10_ = (NIM_BOOL)0;
		T10_ = isUrl__basicZpkgurls_u26(nameOrig_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (!T10_) goto LA11_;
		T13_.len = 0; T13_.p = NIM_NIL;
		T13_ = substitute__basicZcompiledpatterns_u2454((&(*nc_p0).urlOverrides), nameOrig_p1, (&didReplace_1));
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___system_u281(T13_); goto LA1_;}
		eqsink___system_u2760((&name_1), T13_);
	}
	goto LA8_;
LA11_: ;
	{
		NimStringV2 T15_;
		T15_.len = 0; T15_.p = NIM_NIL;
		T15_ = substitute__basicZcompiledpatterns_u2454((&(*nc_p0).nameOverrides), nameOrig_p1, (&didReplace_1));
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___system_u281(T15_); goto LA1_;}
		eqsink___system_u2760((&name_1), T15_);
	}
LA8_: ;
	{
		NIM_BOOL T18_;
		T18_ = (NIM_BOOL)0;
		T18_ = isUrl__basicZpkgurls_u26(name_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (!T18_) goto LA19_;
		createUrlSkipPatterns__basicZpkgurls_u205(name_1, NIM_FALSE, NIM_FALSE, Result);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		{
			NimStringV2 colontmpD__5;
			NIM_BOOL didReplace_2;
			NimStringV2 T26_;
			if (!!(origWasUrl_1)) goto LA23_;
			colontmpD__5.len = 0; colontmpD__5.p = NIM_NIL;
			didReplace_2 = NIM_FALSE;
			colontmpD__5 = shortName__basicZpkgurls_u32(Result);
			if (NIM_UNLIKELY(*nimErr_)) goto LA25_;
			T26_.len = 0; T26_.p = NIM_NIL;
			T26_ = substitute__basicZcompiledpatterns_u2454((&(*nc_p0).nameOverrides), colontmpD__5, (&didReplace_2));
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___system_u281(T26_); goto LA25_;}
			eqsink___system_u2760((&name_1), T26_);
			{
				tyObject_PkgUrl__xtGEmbK9cVcp0WbjakP0xVw T31_;
				if (!didReplace_2) goto LA29_;
				nimZeroMem((void*)(&T31_), sizeof(tyObject_PkgUrl__xtGEmbK9cVcp0WbjakP0xVw));
				createUrlSkipPatterns__basicZpkgurls_u205(name_1, NIM_FALSE, NIM_FALSE, (&T31_));
				if (NIM_UNLIKELY(*nimErr_)) goto LA25_;
				eqsink___basicZpkgurls_u270(Result, (&T31_));
			}
LA29_: ;
			{
				LA25_:;
			}
			{
				if (colontmpD__5.p && !(colontmpD__5.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__5.p);
}
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
LA23_: ;
	}
	goto LA16_;
LA19_: ;
	{
		tyObject_PkgUrl__xtGEmbK9cVcp0WbjakP0xVw lname_1;
		nimZeroMem((void*)(&lname_1), sizeof(tyObject_PkgUrl__xtGEmbK9cVcp0WbjakP0xVw));
		lookup__basicZnimblecontext_u442((&(*nc_p0)), name_1, (&lname_1));
		if (NIM_UNLIKELY(*nimErr_)) goto LA35_;
		{
			NIM_BOOL T38_;
			T38_ = (NIM_BOOL)0;
			T38_ = isEmpty__basicZpkgurls_u23((&lname_1));
			if (NIM_UNLIKELY(*nimErr_)) goto LA35_;
			if (!!(T38_)) goto LA39_;
			(*Result) = lname_1;
			eqwasMoved___basicZpkgurls_u258((&lname_1));
		}
		goto LA36_;
LA39_: ;
		{
			NimStringV2 lname_2;
			tyObject_ValueError__YUzEEs8pGqG7cYmcRoc5rw* T49_;
			NimStringV2 T50_;
			lname_2.len = 0; lname_2.p = NIM_NIL;
			lname_2 = toLower__pureZunicode_u7554(name_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA42_;
			{
				NIM_BOOL T45_;
				tyArray__pK4u9cQ1bJzH46rrmNu9bPMQ T48_;
				T45_ = (NIM_BOOL)0;
				T45_ = contains__basicZversions_u4165((*nc_p0).notFoundNames, lname_2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA42_;
				if (!!(T45_)) goto LA46_;
				T48_[0] = TM__CjU0EdVKX9bAie4MvljOq7Q_37;
				T48_[1] = name_1;
				warn__basicZpkgurls_u133(TM__CjU0EdVKX9bAie4MvljOq7Q_35, T48_, 2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA42_;
				incl__basicZversions_u858((&(*nc_p0).notFoundNames), lname_2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA42_;
			}
LA46_: ;
			T49_ = NIM_NIL;
			T49_ = (tyObject_ValueError__YUzEEs8pGqG7cYmcRoc5rw*) nimNewObj(sizeof(tyObject_ValueError__YUzEEs8pGqG7cYmcRoc5rw), NIM_ALIGNOF(tyObject_ValueError__YUzEEs8pGqG7cYmcRoc5rw));
			(*T49_).Sup.Sup.Sup.m_type = (&NTIv2__YUzEEs8pGqG7cYmcRoc5rw_);
			(*T49_).Sup.Sup.name = "ValueError";
			T50_.len = 0; T50_.p = NIM_NIL;
			T50_ = rawNewString(lname_2.len + nameOrig_p1.len + 56);
appendString((&T50_), TM__CjU0EdVKX9bAie4MvljOq7Q_39);
appendString((&T50_), lname_2);
appendString((&T50_), TM__CjU0EdVKX9bAie4MvljOq7Q_41);
appendString((&T50_), nameOrig_p1);
			(*T49_).Sup.Sup.message = T50_;
			(*T49_).Sup.Sup.parent = ((Exception*) NIM_NIL);
			raiseExceptionEx((Exception*)T49_, "ValueError", "createUrl", "nimblecontext.nim", 162);
goto LA42_;
			{
				LA42_:;
			}
			{
				if (lname_2.p && !(lname_2.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(lname_2.p);
}
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA35_;
		}
LA36_: ;
		{
			LA35_:;
		}
		{
			eqdestroy___basicZpkgurls_u261((&lname_1));
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA16_: ;
	colontmpD_ = shortName__basicZpkgurls_u32(Result);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	lookup__basicZnimblecontext_u442((&(*nc_p0)), colontmpD_, (&officialPkg_1));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		NIM_BOOL T57_;
		NIM_BOOL T58_;
		T57_ = (NIM_BOOL)0;
		T58_ = (NIM_BOOL)0;
		T58_ = isEmpty__basicZpkgurls_u23((&officialPkg_1));
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T57_ = !(T58_);
		if (!(T57_)) goto LA59_;
		url__basicZpkgurls_u44((&officialPkg_1), (&colontmpD__2));
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		url__basicZpkgurls_u44(Result, (&colontmpD__3));
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T57_ = eqeq___basicZpkgurls_u71((&colontmpD__2), (&colontmpD__3));
LA59_: ;
		if (!T57_) goto LA60_;
		(*Result).hasShortName = NIM_TRUE;
	}
LA60_: ;
	{
		NIM_BOOL T64_;
		NimStringV2 colontmpD__6;
		T64_ = (NIM_BOOL)0;
		T64_ = isEmpty__basicZpkgurls_u23(Result);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (!!(T64_)) goto LA65_;
		colontmpD__6.len = 0; colontmpD__6.p = NIM_NIL;
		{
			NIM_BOOL T70_;
			NimStringV2 colontmpD__7;
			NimStringV2 colontmpD__8;
			tyObject_Uri__MX62yCLGQmnfVYEE3Hjm9cA colontmpD__9;
			NimStringV2 colontmpD__10;
			tyArray__ftd030ZQb0rgyFYIoQaqFA T74_;
			colontmpD__6 = projectName__basicZpkgurls_u35(Result);
			if (NIM_UNLIKELY(*nimErr_)) goto LA67_;
			T70_ = (NIM_BOOL)0;
			T70_ = put__basicZnimblecontext_u3205(nc_p0, colontmpD__6, Result);
			if (NIM_UNLIKELY(*nimErr_)) goto LA67_;
			if (!T70_) goto LA71_;
			colontmpD__7.len = 0; colontmpD__7.p = NIM_NIL;
			colontmpD__8.len = 0; colontmpD__8.p = NIM_NIL;
			nimZeroMem((void*)(&colontmpD__9), sizeof(tyObject_Uri__MX62yCLGQmnfVYEE3Hjm9cA));
			colontmpD__10.len = 0; colontmpD__10.p = NIM_NIL;
			T74_[0] = TM__CjU0EdVKX9bAie4MvljOq7Q_61;
			T74_[1] = name_1;
			T74_[2] = TM__CjU0EdVKX9bAie4MvljOq7Q_63;
			T74_[3] = nameOrig_p1;
			T74_[4] = TM__CjU0EdVKX9bAie4MvljOq7Q_65;
			colontmpD__7 = projectName__basicZpkgurls_u35(Result);
			if (NIM_UNLIKELY(*nimErr_)) goto LA73_;
			T74_[5] = colontmpD__7;
			T74_[6] = TM__CjU0EdVKX9bAie4MvljOq7Q_67;
			colontmpD__8 = nimBoolToStr((*Result).hasShortName);
			T74_[7] = colontmpD__8;
			T74_[8] = TM__CjU0EdVKX9bAie4MvljOq7Q_69;
			url__basicZpkgurls_u44(Result, (&colontmpD__9));
			if (NIM_UNLIKELY(*nimErr_)) goto LA73_;
			colontmpD__10 = dollar___pureZuri_u409((&colontmpD__9));
			if (NIM_UNLIKELY(*nimErr_)) goto LA73_;
			T74_[9] = colontmpD__10;
			debug__basicZgitops_u1174(TM__CjU0EdVKX9bAie4MvljOq7Q_59, T74_, 10);
			if (NIM_UNLIKELY(*nimErr_)) goto LA73_;
			{
				LA73_:;
			}
			{
				if (colontmpD__10.p && !(colontmpD__10.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__10.p);
}
				eqdestroy___pureZuri_u213((&colontmpD__9));
				if (colontmpD__8.p && !(colontmpD__8.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__8.p);
}
				if (colontmpD__7.p && !(colontmpD__7.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__7.p);
}
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA67_;
		}
LA71_: ;
		{
			LA67_:;
		}
		{
			if (colontmpD__6.p && !(colontmpD__6.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__6.p);
}
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA65_: ;
	{
		LA1_:;
	}
	{
		eqdestroy___pureZuri_u213((&colontmpD__3));
		eqdestroy___pureZuri_u213((&colontmpD__2));
		if (colontmpD_.p && !(colontmpD_.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD_.p);
}
		eqdestroy___basicZpkgurls_u261((&officialPkg_1));
		if (name_1.p && !(name_1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(name_1.p);
}
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___basicZnimblecontext_u3564)(tyObject_NimbleContext__4UNXx9ceXbsj5kR4Hz1gUgA* dest_p0) {
	eqdestroy___basicZversions_u1310((*dest_p0).notFoundNames.data);
	eqdestroy___stdZenvvars_u103((*dest_p0).urlOverrides.patterns);
	eqdestroy___system_u5582((*dest_p0).urlOverrides.strings);
	eqdestroy___basicZcompiledpatterns_u879((*dest_p0).urlOverrides.t.data);
	eqdestroy___basicZcompiledpatterns_u930((*dest_p0).urlOverrides.s);
	eqdestroy___stdZenvvars_u103((*dest_p0).nameOverrides.patterns);
	eqdestroy___system_u5582((*dest_p0).nameOverrides.strings);
	eqdestroy___basicZcompiledpatterns_u879((*dest_p0).nameOverrides.t.data);
	eqdestroy___basicZcompiledpatterns_u930((*dest_p0).nameOverrides.s);
	eqdestroy___basicZnimblecontext_u3848((*dest_p0).explicitVersions.data);
	eqdestroy___basicZnimblecontext_u811((*dest_p0).nameToUrl.data);
	eqdestroy___basicZnimblecontext_u811((*dest_p0).packageExtras.data);
	eqdestroy___basicZnimblecontext_u3582((*dest_p0).packageToDependency.data);
}
static N_INLINE(NimStringV2, getCurrentDir__stdZpaths_u191)(void) {
	NimStringV2 result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result.len = 0; result.p = NIM_NIL;
	result = nosgetCurrentDir();
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NIM_BOOL, eqeq___stdZpaths_u59)(NimStringV2 x_p0, NimStringV2 y_p1) {
	NIM_BOOL result;
	NI T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NIM_BOOL)0;
	T1_ = (NI)0;
	T1_ = noscmpPaths(x_p0, y_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	result = (T1_ == ((NI)0));
	}BeforeRet_: ;
	return result;
}
static N_INLINE(void, splitPath__stdZpaths_u88)(NimStringV2 path_p0, tyTuple__UV3llMMYFckfui8YMBuUZA* Result) {
	tyTuple__UV3llMMYFckfui8YMBuUZA res_1;
	NimStringV2 colontmp_;
	NimStringV2 colontmp__2;
	NimStringV2 blitTmp_1;
	NimStringV2 blitTmp_2;
	NimStringV2 blitTmp_3;
	NimStringV2 blitTmp_4;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	nimZeroMem((void*)Result, sizeof(tyTuple__UV3llMMYFckfui8YMBuUZA));
	nimZeroMem((void*)(&res_1), sizeof(tyTuple__UV3llMMYFckfui8YMBuUZA));
	colontmp_.len = 0; colontmp_.p = NIM_NIL;
	colontmp__2.len = 0; colontmp__2.p = NIM_NIL;
	nossplitPath(path_p0, (&res_1));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	blitTmp_1 = res_1.Field0;
	eqwasMoved___system_u2751((&res_1.Field0));
	colontmp_ = blitTmp_1;
	blitTmp_2 = res_1.Field1;
	eqwasMoved___system_u2751((&res_1.Field1));
	colontmp__2 = blitTmp_2;
	blitTmp_3 = colontmp_;
	(*Result).Field0 = blitTmp_3;
	blitTmp_4 = colontmp__2;
	(*Result).Field1 = blitTmp_4;
	eqdestroy___stdZprivateZospaths2_u303((&res_1));
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, putFromPath__basicZnimblecontext_u3210)(tyObject_NimbleContext__4UNXx9ceXbsj5kR4Hz1gUgA* nc_p0, NimStringV2 name_p1, tyObject_PkgUrl__xtGEmbK9cVcp0WbjakP0xVw* url_p2) {
	NIM_BOOL result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NIM_BOOL)0;
	result = putImpl__basicZnimblecontext_u1459(nc_p0, name_p1, url_p2, NIM_TRUE);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, createUrlFromPath__basicZnimblecontext_u3320)(tyObject_NimbleContext__4UNXx9ceXbsj5kR4Hz1gUgA* nc_p0, NimStringV2 orig_p1, NIM_BOOL isLinkPath_p2, tyObject_PkgUrl__xtGEmbK9cVcp0WbjakP0xVw* Result) {
	NimStringV2 absPath_1;
	NimStringV2 colontmpD_;
	NimStringV2 prefix_1;
	NimStringV2 colontmpD__2;
	NimStringV2 colontmpD__3;
	NimStringV2 colontmpD__4;
	NimStringV2 T2_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	nimZeroMem((void*)Result, sizeof(tyObject_PkgUrl__xtGEmbK9cVcp0WbjakP0xVw));
	absPath_1.len = 0; absPath_1.p = NIM_NIL;
	colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
	prefix_1.len = 0; prefix_1.p = NIM_NIL;
	colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
	colontmpD__3.len = 0; colontmpD__3.p = NIM_NIL;
	colontmpD__4.len = 0; colontmpD__4.p = NIM_NIL;
	colontmpD_ = getCurrentDir__stdZpaths_u191();
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	absPath_1 = absolutePath__stdZpaths_u204(orig_p1, colontmpD_);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	T2_.len = 0; T2_.p = NIM_NIL;
	{
		if (!isLinkPath_p2) goto LA5_;
		prefix_1 = TM__CjU0EdVKX9bAie4MvljOq7Q_71;
	}
	goto LA3_;
LA5_: ;
	{
		prefix_1 = TM__CjU0EdVKX9bAie4MvljOq7Q_73;
	}
LA3_: ;
	{
		NIM_BOOL T10_;
		T10_ = (NIM_BOOL)0;
		T10_ = isMainProject__basicZcontext_u366(absPath_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (T10_) goto LA11_;
		colontmpD__2 = project__basicZcontext_u340();
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		colontmpD__3 = getCurrentDir__stdZpaths_u191();
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		colontmpD__4 = absolutePath__stdZpaths_u204(colontmpD__2, colontmpD__3);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T10_ = eqeq___stdZpaths_u59(absPath_1, colontmpD__4);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
LA11_: ;
		if (!T10_) goto LA12_;
		{
			tyObject_Uri__MX62yCLGQmnfVYEE3Hjm9cA url_1;
			NimStringV2 colontmpD__5;
			NimStringV2 T19_;
			if (!isLinkPath_p2) goto LA16_;
			nimZeroMem((void*)(&url_1), sizeof(tyObject_Uri__MX62yCLGQmnfVYEE3Hjm9cA));
			colontmpD__5.len = 0; colontmpD__5.p = NIM_NIL;
			T19_.len = 0; T19_.p = NIM_NIL;
			T19_ = rawNewString(prefix_1.len + absPath_1.len + 0);
appendString((&T19_), prefix_1);
appendString((&T19_), absPath_1);
			colontmpD__5 = T19_;
			parseUri__pureZuri_u295(colontmpD__5, (&url_1));
			if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
			toPkgUriRaw__basicZpkgurls_u301((&url_1), NIM_FALSE, Result);
			if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
			{
				LA18_:;
			}
			{
				if (colontmpD__5.p && !(colontmpD__5.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__5.p);
}
				eqdestroy___pureZuri_u213((&url_1));
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
		goto LA14_;
LA16_: ;
		{
			tySequence__sM4lkSb7zS6F7OVMvW9cffQ nimbleFiles_1;
			nimbleFiles_1.len = 0; nimbleFiles_1.p = NIM_NIL;
			nimbleFiles_1 = findNimbleFile__basicZnimblecontext_u53(absPath_1, TM__CjU0EdVKX9bAie4MvljOq7Q_75);
			if (NIM_UNLIKELY(*nimErr_)) goto LA23_;
			{
				NI T26_;
				tyObject_Uri__MX62yCLGQmnfVYEE3Hjm9cA url_2;
				NimStringV2 colontmpD__6;
				tyArray__pK4u9cQ1bJzH46rrmNu9bPMQ T30_;
				NimStringV2 T31_;
				T26_ = nimbleFiles_1.len;
				if (!(((NI)0) < T26_)) goto LA27_;
				nimZeroMem((void*)(&url_2), sizeof(tyObject_Uri__MX62yCLGQmnfVYEE3Hjm9cA));
				colontmpD__6.len = 0; colontmpD__6.p = NIM_NIL;
				T30_[0] = TM__CjU0EdVKX9bAie4MvljOq7Q_78;
				if (((NI)0) < 0 || ((NI)0) >= nimbleFiles_1.len){ raiseIndexError2(((NI)0),nimbleFiles_1.len-1); goto LA29_;
				}
				T30_[1] = nimbleFiles_1.p->data[((NI)0)];
				trace__basicZgitops_u1126(TM__CjU0EdVKX9bAie4MvljOq7Q_76, T30_, 2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA29_;
				T31_.len = 0; T31_.p = NIM_NIL;
				if (((NI)0) < 0 || ((NI)0) >= nimbleFiles_1.len){ raiseIndexError2(((NI)0),nimbleFiles_1.len-1); goto LA29_;
				}
				T31_ = rawNewString(prefix_1.len + nimbleFiles_1.p->data[((NI)0)].len + 0);
appendString((&T31_), prefix_1);
appendString((&T31_), nimbleFiles_1.p->data[((NI)0)]);
				colontmpD__6 = T31_;
				parseUri__pureZuri_u295(colontmpD__6, (&url_2));
				if (NIM_UNLIKELY(*nimErr_)) goto LA29_;
				toPkgUriRaw__basicZpkgurls_u301((&url_2), NIM_FALSE, Result);
				if (NIM_UNLIKELY(*nimErr_)) goto LA29_;
				{
					LA29_:;
				}
				{
					if (colontmpD__6.p && !(colontmpD__6.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__6.p);
}
					eqdestroy___pureZuri_u213((&url_2));
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA23_;
			}
			goto LA24_;
LA27_: ;
			{
				NimStringV2 nimble_1;
				tyTuple__UV3llMMYFckfui8YMBuUZA colontmpD__7;
				tyObject_Uri__MX62yCLGQmnfVYEE3Hjm9cA url_3;
				NimStringV2 colontmpD__8;
				NimStringV2 colontmpD__9;
				NimStringV2 T36_;
				tyArray__pK4u9cQ1bJzH46rrmNu9bPMQ T37_;
				NimStringV2 T38_;
				nimble_1.len = 0; nimble_1.p = NIM_NIL;
				nimZeroMem((void*)(&colontmpD__7), sizeof(tyTuple__UV3llMMYFckfui8YMBuUZA));
				nimZeroMem((void*)(&url_3), sizeof(tyObject_Uri__MX62yCLGQmnfVYEE3Hjm9cA));
				colontmpD__8.len = 0; colontmpD__8.p = NIM_NIL;
				colontmpD__9.len = 0; colontmpD__9.p = NIM_NIL;
				T36_.len = 0; T36_.p = NIM_NIL;
				splitPath__stdZpaths_u88(absPath_1, (&colontmpD__7));
				if (NIM_UNLIKELY(*nimErr_)) goto LA35_;
				T36_ = rawNewString(colontmpD__7.Field1.len + 7);
appendString((&T36_), colontmpD__7.Field1);
appendString((&T36_), TM__CjU0EdVKX9bAie4MvljOq7Q_79);
				nimble_1 = T36_;
				T37_[0] = TM__CjU0EdVKX9bAie4MvljOq7Q_82;
				T37_[1] = nimble_1;
				trace__basicZgitops_u1126(TM__CjU0EdVKX9bAie4MvljOq7Q_80, T37_, 2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA35_;
				T38_.len = 0; T38_.p = NIM_NIL;
				colontmpD__8 = slash___stdZprivateZospaths2_u88(absPath_1, nimble_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA35_;
				T38_ = rawNewString(prefix_1.len + colontmpD__8.len + 0);
appendString((&T38_), prefix_1);
appendString((&T38_), colontmpD__8);
				colontmpD__9 = T38_;
				parseUri__pureZuri_u295(colontmpD__9, (&url_3));
				if (NIM_UNLIKELY(*nimErr_)) goto LA35_;
				toPkgUriRaw__basicZpkgurls_u301((&url_3), NIM_FALSE, Result);
				if (NIM_UNLIKELY(*nimErr_)) goto LA35_;
				{
					LA35_:;
				}
				{
					if (colontmpD__9.p && !(colontmpD__9.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__9.p);
}
					if (colontmpD__8.p && !(colontmpD__8.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__8.p);
}
					eqdestroy___pureZuri_u213((&url_3));
					eqdestroy___stdZpaths_u97((&colontmpD__7));
					if (nimble_1.p && !(nimble_1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(nimble_1.p);
}
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA23_;
			}
LA24_: ;
			{
				LA23_:;
			}
			{
				eqdestroy___basicZnimblecontext_u145(nimbleFiles_1);
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
LA14_: ;
	}
	goto LA8_;
LA12_: ;
	{
		NimStringV2 colontmpD__10;
		tyArray__YgExxhfgKcesA5EOUj1MOA T45_;
		NimStringV2 T46_;
		colontmpD__10.len = 0; colontmpD__10.p = NIM_NIL;
		T46_.len = 0; T46_.p = NIM_NIL;
		T46_ = rawNewString(absPath_1.len + 34);
appendString((&T46_), TM__CjU0EdVKX9bAie4MvljOq7Q_85);
appendString((&T46_), absPath_1);
		colontmpD__10 = T46_;
		T45_[0] = colontmpD__10;
		error__basicZconfigutils_u107(TM__CjU0EdVKX9bAie4MvljOq7Q_83, T45_, 1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA44_;
		{
			LA44_:;
		}
		{
			if (colontmpD__10.p && !(colontmpD__10.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__10.p);
}
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA8_: ;
	{
		NIM_BOOL T51_;
		NimStringV2 colontmpD__11;
		NIM_BOOL T55_;
		T51_ = (NIM_BOOL)0;
		T51_ = isEmpty__basicZpkgurls_u23(Result);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (!!(T51_)) goto LA52_;
		colontmpD__11.len = 0; colontmpD__11.p = NIM_NIL;
		colontmpD__11 = projectName__basicZpkgurls_u35(Result);
		if (NIM_UNLIKELY(*nimErr_)) goto LA54_;
		T55_ = (NIM_BOOL)0;
		T55_ = putFromPath__basicZnimblecontext_u3210(nc_p0, colontmpD__11, Result);
		if (NIM_UNLIKELY(*nimErr_)) goto LA54_;
		(void)(T55_);
		{
			LA54_:;
		}
		{
			if (colontmpD__11.p && !(colontmpD__11.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__11.p);
}
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA52_: ;
	{
		LA1_:;
	}
	{
		if (colontmpD__4.p && !(colontmpD__4.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__4.p);
}
		if (colontmpD__3.p && !(colontmpD__3.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__3.p);
}
		if (colontmpD__2.p && !(colontmpD__2.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__2.p);
}
		if (colontmpD_.p && !(colontmpD_.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD_.p);
}
		if (absPath_1.p && !(absPath_1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(absPath_1.p);
}
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tySequence__sM4lkSb7zS6F7OVMvW9cffQ, findNimbleFile__basicZnimblecontext_u322)(tyObject_PackagecolonObjectType___oq9cbJmLUyLo2l9clmDFeVSA* info_p0) {
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ result;
	NimStringV2 colontmpD_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result.len = 0; result.p = NIM_NIL;
	colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
	{
		NimStringV2 colontmpD__2;
		NimStringV2 colontmpD__3;
		NimStringV2 T6_;
		if (!!(!(((*info_p0).ondisk.len == 0)))) goto LA4_;
		colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
		colontmpD__3.len = 0; colontmpD__3.p = NIM_NIL;
		T6_.len = 0; T6_.p = NIM_NIL;
		colontmpD__2 = dollar___basicZdeptypes_u192(info_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T6_ = rawNewString(colontmpD__2.len + 126);
appendString((&T6_), TM__CjU0EdVKX9bAie4MvljOq7Q_87);
appendString((&T6_), colontmpD__2);
		colontmpD__3 = T6_;
		failedAssertImpl__stdZassertions_u95(colontmpD__3);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (colontmpD__3.p && !(colontmpD__3.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__3.p);
}
		if (colontmpD__2.p && !(colontmpD__2.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__2.p);
}
	}
LA4_: ;
	colontmpD_ = shortName__basicZpkgurls_u32((&(*info_p0).url));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	result = findNimbleFile__basicZnimblecontext_u53((*info_p0).ondisk, colontmpD_);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		LA1_:;
	}
	{
		if (colontmpD_.p && !(colontmpD_.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD_.p);
}
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NimStringV2, cachedNimbleBase__basicZnimblecontext_u334)(NimStringV2 p_p0) {
	NimStringV2 result;
	NimStringV2 tail_1;
	NimStringV2 colontmpD_;
	tyTuple__UV3llMMYFckfui8YMBuUZA colontmpD__2;
	NI dash_1;
	NimStringV2 T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result.len = 0; result.p = NIM_NIL;
	tail_1.len = 0; tail_1.p = NIM_NIL;
	nimZeroMem((void*)(&colontmpD__2), sizeof(tyTuple__UV3llMMYFckfui8YMBuUZA));
	splitPath__stdZpaths_u88(p_p0, (&colontmpD__2));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	colontmpD_ = eqdup___system_u2757(colontmpD__2.Field1);
	tail_1 = colontmpD_;
	dash_1 = nsuFindChar(tail_1, 45, ((NI)0), ((NI)-1));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	T1_.len = 0; T1_.p = NIM_NIL;
	{
		NIM_BOOL T4_;
		NI TM__CjU0EdVKX9bAie4MvljOq7Q_92;
		NI TM__CjU0EdVKX9bAie4MvljOq7Q_93;
		T4_ = (NIM_BOOL)0;
		T4_ = (((NI)0) <= dash_1);
		if (!(T4_)) goto LA5_;
		if (nimAddInt(dash_1, ((NI)1), &TM__CjU0EdVKX9bAie4MvljOq7Q_92)) { raiseOverflow(); goto BeforeRet_;
		};
		T4_ = ((NI)(TM__CjU0EdVKX9bAie4MvljOq7Q_92) < tail_1.len);
LA5_: ;
		if (!T4_) goto LA6_;
		if (nimAddInt(dash_1, ((NI)1), &TM__CjU0EdVKX9bAie4MvljOq7Q_93)) { raiseOverflow(); goto BeforeRet_;
		};
		result = substr__system_u9109(tail_1, (NI)(TM__CjU0EdVKX9bAie4MvljOq7Q_93));
	}
	goto LA2_;
LA6_: ;
	{
		result = tail_1;
		eqwasMoved___system_u2751((&tail_1));
	}
LA2_: ;
	eqdestroy___stdZpaths_u97((&colontmpD__2));
	if (tail_1.p && !(tail_1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(tail_1.p);
}
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tySequence__sM4lkSb7zS6F7OVMvW9cffQ, preferShortNameNimble__basicZnimblecontext_u339)(tySequence__sM4lkSb7zS6F7OVMvW9cffQ paths_p0, NimStringV2 shortName_p1) {
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ result;
	NimStringV2 want_1;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ prefer_1;
	NimStringV2 T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result.len = 0; result.p = NIM_NIL;
	want_1.len = 0; want_1.p = NIM_NIL;
	prefer_1.len = 0; prefer_1.p = NIM_NIL;
	T1_.len = 0; T1_.p = NIM_NIL;
	T1_ = rawNewString(shortName_p1.len + 7);
appendString((&T1_), shortName_p1);
appendString((&T1_), TM__CjU0EdVKX9bAie4MvljOq7Q_96);
	want_1 = T1_;
	{
		NimStringV2* p_1;
		NI i_1;
		NI L_1;
		NI T3_;
		p_1 = (NimStringV2*)0;
		i_1 = ((NI)0);
		T3_ = paths_p0.len;
		L_1 = T3_;
		{
			while (1) {
				NimStringV2 colontmpD_;
				if (!(i_1 < L_1)) goto LA5;
				colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
				if (i_1 < 0 || i_1 >= paths_p0.len){ raiseIndexError2(i_1,paths_p0.len-1); goto BeforeRet_;
				}
				p_1 = (&paths_p0.p->data[i_1]);
				{
					NimStringV2 colontmpD__2;
					colontmpD_ = cachedNimbleBase__basicZnimblecontext_u334((*p_1));
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					if (!eqStrings(colontmpD_, want_1)) goto LA8_;
					colontmpD__2 = eqdup___system_u2757((*p_1));
					add__basicZnimblecontext_u72((&prefer_1), colontmpD__2);
				}
LA8_: ;
				i_1 += ((NI)1);
				{
					NI T12_;
					T12_ = paths_p0.len;
					if (!!((T12_ == L_1))) goto LA13_;
					failedAssertImpl__stdZassertions_u95(TM__CjU0EdVKX9bAie4MvljOq7Q_97);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				}
LA13_: ;
				if (colontmpD_.p && !(colontmpD_.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD_.p);
}
			} LA5: ;
		}
	}
	{
		NI T17_;
		T17_ = prefer_1.len;
		if (!(T17_ == ((NI)1))) goto LA18_;
		result = prefer_1;
		eqwasMoved___basicZnimblecontext_u142((&prefer_1));
	}
	goto LA15_;
LA18_: ;
	{
		NI T21_;
		NimStringV2 blitTmp_1;
		T21_ = prefer_1.len;
		if (!(((NI)1) < T21_)) goto LA22_;
		result.len = 1; result.p = (tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content*) newSeqPayload(1, sizeof(NimStringV2), NIM_ALIGNOF(NimStringV2));
		if (((NI)0) < 0 || ((NI)0) >= prefer_1.len){ raiseIndexError2(((NI)0),prefer_1.len-1); goto BeforeRet_;
		}
		blitTmp_1 = prefer_1.p->data[((NI)0)];
		if (((NI)0) < 0 || ((NI)0) >= prefer_1.len){ raiseIndexError2(((NI)0),prefer_1.len-1); goto BeforeRet_;
		}
		eqwasMoved___system_u2751((&prefer_1.p->data[((NI)0)]));
		result.p->data[0] = blitTmp_1;
	}
	goto LA15_;
LA22_: ;
	{
		eqcopy___basicZnimblecontext_u148((&result), paths_p0);
	}
LA15_: ;
	eqdestroy___basicZnimblecontext_u145(prefer_1);
	if (want_1.p && !(want_1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(want_1.p);
}
	}BeforeRet_: ;
	return result;
}
static N_INLINE(void, createDir__stdZdirs_u6)(NimStringV2 dir_p0) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	noscreateDir(dir_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tySequence__sM4lkSb7zS6F7OVMvW9cffQ, cacheNimbleFilesFromGit__basicZnimblecontext_u330)(tyObject_PackagecolonObjectType___oq9cbJmLUyLo2l9clmDFeVSA* pkg_p0, tyObject_CommitHash__ENSoVMeDKmDIP8obk69cDaA commit_p1) {
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ result;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ files_1;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ nimbleFiles_1;
	NimStringV2 colontmpD_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result.len = 0; result.p = NIM_NIL;
	files_1.len = 0; files_1.p = NIM_NIL;
	nimbleFiles_1.len = 0; nimbleFiles_1.p = NIM_NIL;
	colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
	{
		NimStringV2 file_1;
		NimStringV2 colontmp_;
		NimStringV2 colontmpD__2;
		NimStringV2 colontmpD__3;
		NimStringV2 T4_;
		glob_t fX60gensym5__1;
		NI resX60gensym5__1;
		int T5_;
		file_1.len = 0; file_1.p = NIM_NIL;
		colontmp_.len = 0; colontmp_.p = NIM_NIL;
		colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
		colontmpD__3.len = 0; colontmpD__3.p = NIM_NIL;
		colontmpD__2 = nimbleCachesDirectory__basicZcontext_u355();
		if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
		T4_.len = 0; T4_.p = NIM_NIL;
		T4_ = rawNewString(commit_p1.h.len + 9);
appendString((&T4_), commit_p1.h);
appendString((&T4_), TM__CjU0EdVKX9bAie4MvljOq7Q_89);
		colontmpD__3 = T4_;
		colontmp_ = slash___stdZprivateZospaths2_u88(colontmpD__2, colontmpD__3);
		if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
		nimZeroMem((void*)(&fX60gensym5__1), sizeof(glob_t));
		resX60gensym5__1 = (NI)0;
		fX60gensym5__1.gl_offs = ((NI)0);
		fX60gensym5__1.gl_pathc = ((NI)0);
		fX60gensym5__1.gl_pathv = ((NCSTRING*) NIM_NIL);
		T5_ = (int)0;
		T5_ = glob(nimToCStringConv(colontmp_), ((int)0), NIM_NIL, (&fX60gensym5__1));
		resX60gensym5__1 = ((NI) (T5_));
		{
			if (!(resX60gensym5__1 == ((NI)0))) goto LA9_;
			{
				NI iX60gensym5__1;
				NI colontmp__2;
				NI TM__CjU0EdVKX9bAie4MvljOq7Q_90;
				NI res_1;
				iX60gensym5__1 = (NI)0;
				colontmp__2 = (NI)0;
				if (nimSubInt(fX60gensym5__1.gl_pathc, ((NI)1), &TM__CjU0EdVKX9bAie4MvljOq7Q_90)) { raiseOverflow(); goto LA6_;
				};
				colontmp__2 = (NI)(TM__CjU0EdVKX9bAie4MvljOq7Q_90);
				res_1 = ((NI)0);
				{
					while (1) {
						NimStringV2 pathX60gensym5__1;
						NI TM__CjU0EdVKX9bAie4MvljOq7Q_95;
						if (!(res_1 <= colontmp__2)) goto LA13;
						pathX60gensym5__1.len = 0; pathX60gensym5__1.p = NIM_NIL;
						iX60gensym5__1 = ((NI) (res_1));
						{
							NIM_BOOL T17_;
							T17_ = (NIM_BOOL)0;
							T17_ = eqeq___system_u9048(fX60gensym5__1.gl_pathv[iX60gensym5__1], ((NCSTRING) NIM_NIL));
							if (!!(!(T17_))) goto LA18_;
							failedAssertImpl__stdZassertions_u95(TM__CjU0EdVKX9bAie4MvljOq7Q_91);
							if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
						}
LA18_: ;
						pathX60gensym5__1 = cstrToNimstr(fX60gensym5__1.gl_pathv[iX60gensym5__1]);
						{
							NIM_BOOL T22_;
							NimStringV2 path_1;
							NimStringV2 base_1;
							NimStringV2 colontmpD__4;
							NimStringV2 colontmpD__5;
							NimStringV2 blitTmp_1;
							NimStringV2 blitTmp_3;
							T22_ = (NIM_BOOL)0;
							T22_ = nosfileExists(pathX60gensym5__1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
							if (!T22_) goto LA23_;
							path_1.len = 0; path_1.p = NIM_NIL;
							base_1.len = 0; base_1.p = NIM_NIL;
							colontmpD__4.len = 0; colontmpD__4.p = NIM_NIL;
							colontmpD__5.len = 0; colontmpD__5.p = NIM_NIL;
							eqsink___system_u2760((&file_1), pathX60gensym5__1);
							eqwasMoved___system_u2751((&pathX60gensym5__1));
							blitTmp_1 = file_1;
							eqwasMoved___system_u2751((&file_1));
							path_1 = blitTmp_1;
							base_1 = cachedNimbleBase__basicZnimblecontext_u334(path_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA25_;
							{
								NimStringV2 T28_;
								NimStringV2 blitTmp_2;
								T28_.len = 0; T28_.p = NIM_NIL;
								colontmpD__4 = shortName__basicZpkgurls_u32((&(*pkg_p0).url));
								if (NIM_UNLIKELY(*nimErr_)) goto LA25_;
								T28_ = rawNewString(colontmpD__4.len + 7);
appendString((&T28_), colontmpD__4);
appendString((&T28_), TM__CjU0EdVKX9bAie4MvljOq7Q_94);
								colontmpD__5 = T28_;
								if (!eqStrings(base_1, colontmpD__5)) goto LA29_;
								result.len = 1; result.p = (tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content*) newSeqPayload(1, sizeof(NimStringV2), NIM_ALIGNOF(NimStringV2));
								blitTmp_2 = path_1;
								eqwasMoved___system_u2751((&path_1));
								result.p->data[0] = blitTmp_2;
								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 (base_1.p && !(base_1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(base_1.p);
}
								if (path_1.p && !(path_1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(path_1.p);
}
								if (pathX60gensym5__1.p && !(pathX60gensym5__1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(pathX60gensym5__1.p);
}
								globfree((&fX60gensym5__1));
								if (colontmpD__3.p && !(colontmpD__3.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__3.p);
}
								if (colontmpD__2.p && !(colontmpD__2.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__2.p);
}
								if (colontmp_.p && !(colontmp_.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmp_.p);
}
								if (file_1.p && !(file_1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(file_1.p);
}
								if (colontmpD_.p && !(colontmpD_.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD_.p);
}
								eqdestroy___basicZnimblecontext_u145(nimbleFiles_1);
								eqdestroy___system_u5582(files_1);
								goto BeforeRet_;
							}
LA29_: ;
							blitTmp_3 = path_1;
							eqwasMoved___system_u2751((&path_1));
							add__basicZnimblecontext_u72((&result), blitTmp_3);
							{
								LA25_:;
							}
							{
								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 (base_1.p && !(base_1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(base_1.p);
}
								if (path_1.p && !(path_1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(path_1.p);
}
							}
							if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
						}
LA23_: ;
						if (nimAddInt(res_1, ((NI)1), &TM__CjU0EdVKX9bAie4MvljOq7Q_95)) { raiseOverflow(); goto LA14_;
						};
						res_1 = (NI)(TM__CjU0EdVKX9bAie4MvljOq7Q_95);
						{
							LA14_:;
						}
						{
							if (pathX60gensym5__1.p && !(pathX60gensym5__1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(pathX60gensym5__1.p);
}
						}
						if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
					} LA13: ;
				}
			}
		}
LA9_: ;
		{
			LA6_:;
		}
		{
			globfree((&fX60gensym5__1));
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
		{
			LA3_:;
		}
		{
			if (colontmpD__3.p && !(colontmpD__3.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__3.p);
}
			if (colontmpD__2.p && !(colontmpD__2.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__2.p);
}
			if (colontmp_.p && !(colontmp_.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmp_.p);
}
			if (file_1.p && !(file_1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(file_1.p);
}
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	{
		NI T41_;
		NimStringV2 colontmpD__6;
		T41_ = result.len;
		if (!(((NI)0) < T41_)) goto LA42_;
		colontmpD__6.len = 0; colontmpD__6.p = NIM_NIL;
		colontmpD__6 = shortName__basicZpkgurls_u32((&(*pkg_p0).url));
		if (NIM_UNLIKELY(*nimErr_)) goto LA44_;
		result = preferShortNameNimble__basicZnimblecontext_u339(result, colontmpD__6);
		if (NIM_UNLIKELY(*nimErr_)) goto LA44_;
		if (colontmpD__6.p && !(colontmpD__6.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__6.p);
}
		if (colontmpD_.p && !(colontmpD_.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD_.p);
}
		eqdestroy___basicZnimblecontext_u145(nimbleFiles_1);
		eqdestroy___system_u5582(files_1);
		goto BeforeRet_;
		{
			LA44_:;
		}
		{
			if (colontmpD__6.p && !(colontmpD__6.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__6.p);
}
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA42_: ;
	files_1 = listFiles__basicZgitops_u947((*pkg_p0).ondisk, commit_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		NimStringV2* file_2;
		NI i_1;
		NI L_1;
		NI T48_;
		file_2 = (NimStringV2*)0;
		i_1 = ((NI)0);
		T48_ = files_1.len;
		L_1 = T48_;
		{
			while (1) {
				if (!(i_1 < L_1)) goto LA50;
				if (i_1 < 0 || i_1 >= files_1.len){ raiseIndexError2(i_1,files_1.len-1); goto LA1_;
				}
				file_2 = (&files_1.p->data[i_1]);
				{
					NIM_BOOL T53_;
					NimStringV2 tail_1;
					tyTuple__UV3llMMYFckfui8YMBuUZA colontmpD__7;
					NimStringV2 colontmpD__8;
					NimStringV2 colontmpD__9;
					NimStringV2 colontmpD__10;
					T53_ = (NIM_BOOL)0;
					T53_ = nsuEndsWith((*file_2), TM__CjU0EdVKX9bAie4MvljOq7Q_98);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					if (!T53_) goto LA54_;
					tail_1.len = 0; tail_1.p = NIM_NIL;
					nimZeroMem((void*)(&colontmpD__7), sizeof(tyTuple__UV3llMMYFckfui8YMBuUZA));
					colontmpD__8.len = 0; colontmpD__8.p = NIM_NIL;
					colontmpD__9.len = 0; colontmpD__9.p = NIM_NIL;
					splitPath__stdZpaths_u88((*file_2), (&colontmpD__7));
					if (NIM_UNLIKELY(*nimErr_)) goto LA56_;
					tail_1 = colontmpD__7.Field1;
					eqwasMoved___system_u2751((&colontmpD__7.Field1));
					{
						NimStringV2 T59_;
						NIM_BOOL T60_;
						NimStringV2 colontmpD__11;
						tySequence__sM4lkSb7zS6F7OVMvW9cffQ T63_;
						T59_.len = 0; T59_.p = NIM_NIL;
						colontmpD__8 = shortName__basicZpkgurls_u32((&(*pkg_p0).url));
						if (NIM_UNLIKELY(*nimErr_)) goto LA56_;
						T59_ = rawNewString(colontmpD__8.len + 7);
appendString((&T59_), colontmpD__8);
appendString((&T59_), TM__CjU0EdVKX9bAie4MvljOq7Q_99);
						colontmpD__9 = T59_;
						T60_ = (NIM_BOOL)0;
						T60_ = eqeq___stdZpaths_u59(tail_1, colontmpD__9);
						if (NIM_UNLIKELY(*nimErr_)) goto LA56_;
						if (!T60_) goto LA61_;
						T63_.len = 0; T63_.p = NIM_NIL;
						T63_.len = 1; T63_.p = (tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content*) newSeqPayload(1, sizeof(NimStringV2), NIM_ALIGNOF(NimStringV2));
						colontmpD__11 = eqdup___system_u2757((*file_2));
						T63_.p->data[0] = colontmpD__11;
						eqsink___basicZnimblecontext_u154((&nimbleFiles_1), T63_);
						if (colontmpD__9.p && !(colontmpD__9.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__9.p);
}
						if (colontmpD__8.p && !(colontmpD__8.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__8.p);
}
						eqdestroy___stdZpaths_u97((&colontmpD__7));
						if (tail_1.p && !(tail_1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(tail_1.p);
}
						goto LA47;
					}
LA61_: ;
					colontmpD__10 = eqdup___system_u2757((*file_2));
					add__basicZnimblecontext_u72((&nimbleFiles_1), colontmpD__10);
					{
						LA56_:;
					}
					{
						if (colontmpD__9.p && !(colontmpD__9.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__9.p);
}
						if (colontmpD__8.p && !(colontmpD__8.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__8.p);
}
						eqdestroy___stdZpaths_u97((&colontmpD__7));
						if (tail_1.p && !(tail_1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(tail_1.p);
}
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				}
LA54_: ;
				i_1 += ((NI)1);
				{
					NI T68_;
					T68_ = files_1.len;
					if (!!((T68_ == L_1))) goto LA69_;
					failedAssertImpl__stdZassertions_u95(TM__CjU0EdVKX9bAie4MvljOq7Q_100);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				}
LA69_: ;
			} LA50: ;
		}
	} LA47: ;
	colontmpD_ = nimbleCachesDirectory__basicZcontext_u355();
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	createDir__stdZdirs_u6(colontmpD_);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		NimStringV2* nimbleFile_1;
		NI i_2;
		NI L_2;
		NI T72_;
		nimbleFile_1 = (NimStringV2*)0;
		i_2 = ((NI)0);
		T72_ = nimbleFiles_1.len;
		L_2 = T72_;
		{
			while (1) {
				NimStringV2 cachePath_1;
				NimStringV2 colontmpD__12;
				tyTuple__UV3llMMYFckfui8YMBuUZA colontmpD__13;
				NimStringV2 colontmpD__14;
				NimStringV2 T76_;
				NimStringV2 blitTmp_4;
				if (!(i_2 < L_2)) goto LA74;
				cachePath_1.len = 0; cachePath_1.p = NIM_NIL;
				colontmpD__12.len = 0; colontmpD__12.p = NIM_NIL;
				nimZeroMem((void*)(&colontmpD__13), sizeof(tyTuple__UV3llMMYFckfui8YMBuUZA));
				colontmpD__14.len = 0; colontmpD__14.p = NIM_NIL;
				if (i_2 < 0 || i_2 >= nimbleFiles_1.len){ raiseIndexError2(i_2,nimbleFiles_1.len-1); goto LA75_;
				}
				nimbleFile_1 = (&nimbleFiles_1.p->data[i_2]);
				colontmpD__12 = nimbleCachesDirectory__basicZcontext_u355();
				if (NIM_UNLIKELY(*nimErr_)) goto LA75_;
				T76_.len = 0; T76_.p = NIM_NIL;
				splitPath__stdZpaths_u88((*nimbleFile_1), (&colontmpD__13));
				if (NIM_UNLIKELY(*nimErr_)) goto LA75_;
				T76_ = rawNewString(commit_p1.h.len + colontmpD__13.Field1.len + 1);
appendString((&T76_), commit_p1.h);
appendString((&T76_), TM__CjU0EdVKX9bAie4MvljOq7Q_102);
appendString((&T76_), colontmpD__13.Field1);
				colontmpD__14 = T76_;
				cachePath_1 = slash___stdZpaths_u84(colontmpD__12, colontmpD__14);
				if (NIM_UNLIKELY(*nimErr_)) goto LA75_;
				{
					NIM_BOOL T79_;
					NimStringV2 contents_1;
					T79_ = (NIM_BOOL)0;
					T79_ = fileExists__stdZfiles_u10(cachePath_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA75_;
					if (!!(T79_)) goto LA80_;
					contents_1.len = 0; contents_1.p = NIM_NIL;
					contents_1 = showFile__basicZgitops_u939((*pkg_p0).ondisk, commit_p1, (*nimbleFile_1));
					if (NIM_UNLIKELY(*nimErr_)) goto LA82_;
					writeFile__stdZsyncio_u539(cachePath_1, contents_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA82_;
					{
						LA82_:;
					}
					{
						if (contents_1.p && !(contents_1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(contents_1.p);
}
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA75_;
				}
LA80_: ;
				blitTmp_4 = cachePath_1;
				eqwasMoved___system_u2751((&cachePath_1));
				add__basicZnimblecontext_u72((&result), blitTmp_4);
				i_2 += ((NI)1);
				{
					NI T87_;
					T87_ = nimbleFiles_1.len;
					if (!!((T87_ == L_2))) goto LA88_;
					failedAssertImpl__stdZassertions_u95(TM__CjU0EdVKX9bAie4MvljOq7Q_103);
					if (NIM_UNLIKELY(*nimErr_)) goto LA75_;
				}
LA88_: ;
				{
					LA75_:;
				}
				{
					if (colontmpD__14.p && !(colontmpD__14.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__14.p);
}
					eqdestroy___stdZpaths_u97((&colontmpD__13));
					if (colontmpD__12.p && !(colontmpD__12.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__12.p);
}
					if (cachePath_1.p && !(cachePath_1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(cachePath_1.p);
}
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			} LA74: ;
		}
	}
	{
		NI T94_;
		NimStringV2 colontmpD__15;
		tySequence__sM4lkSb7zS6F7OVMvW9cffQ T97_;
		T94_ = result.len;
		if (!(((NI)1) < T94_)) goto LA95_;
		colontmpD__15.len = 0; colontmpD__15.p = NIM_NIL;
		colontmpD__15 = shortName__basicZpkgurls_u32((&(*pkg_p0).url));
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T97_.len = 0; T97_.p = NIM_NIL;
		T97_ = preferShortNameNimble__basicZnimblecontext_u339(result, colontmpD__15);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___basicZnimblecontext_u145(T97_); goto LA1_;}
		eqsink___basicZnimblecontext_u154((&result), T97_);
		if (colontmpD__15.p && !(colontmpD__15.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__15.p);
}
	}
LA95_: ;
	{
		LA1_:;
	}
	{
		if (colontmpD_.p && !(colontmpD_.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD_.p);
}
		eqdestroy___basicZnimblecontext_u145(nimbleFiles_1);
		eqdestroy___system_u5582(files_1);
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
