/* 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/@psets.nim.c.o /Users/runner/work/nightlies/nightlies/nim-2.2.10/dist/atlas/.nimcache/@psets.nim.c */
#define NIM_INTBITS 64
#define NIM_EmulateOverflowChecks

#include "nimbase.h"
#include <string.h>
#include <math.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__4eRCaZmrYLLw2k30GPTiMw tySequence__4eRCaZmrYLLw2k30GPTiMw;
typedef struct tySequence__4eRCaZmrYLLw2k30GPTiMw_Content tySequence__4eRCaZmrYLLw2k30GPTiMw_Content;
typedef struct tyObject_NimRawSeq__8ODFhI7GYUKt9cpVXMRXb9bQ tyObject_NimRawSeq__8ODFhI7GYUKt9cpVXMRXb9bQ;
typedef struct tyTuple__QeWl6B6ffS4pU6WWrtcrDw tyTuple__QeWl6B6ffS4pU6WWrtcrDw;
typedef struct NimStrPayload NimStrPayload;
typedef struct NimStringV2 NimStringV2;
typedef struct tyObject_HashSet__v3AgR4bnzCtqFMiyBA9al4Q tyObject_HashSet__v3AgR4bnzCtqFMiyBA9al4Q;
typedef struct tySequence__8Np6tlClE5az1CyqZdN19bQ tySequence__8Np6tlClE5az1CyqZdN19bQ;
typedef struct tySequence__8Np6tlClE5az1CyqZdN19bQ_Content tySequence__8Np6tlClE5az1CyqZdN19bQ_Content;
typedef struct tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ;
typedef struct tyObject_HashSet__9aAVrrL6o7xnFQncOPM0SYQ tyObject_HashSet__9aAVrrL6o7xnFQncOPM0SYQ;
typedef struct tySequence__U9bYx6tPvWzQNzbZoriLUYA tySequence__U9bYx6tPvWzQNzbZoriLUYA;
typedef struct tySequence__U9bYx6tPvWzQNzbZoriLUYA_Content tySequence__U9bYx6tPvWzQNzbZoriLUYA_Content;
typedef struct tyTuple__5z13DioL2O9cny1CehriGcQ tyTuple__5z13DioL2O9cny1CehriGcQ;
typedef struct tyObject_VersionTag__io9bcihbopiwucKorobyKdg tyObject_VersionTag__io9bcihbopiwucKorobyKdg;
typedef struct tyObject_CommitHash__ENSoVMeDKmDIP8obk69cDaA tyObject_CommitHash__ENSoVMeDKmDIP8obk69cDaA;
typedef struct tyObject_HashSet__Uwr6yc54j9cc7mpkQIvCLZA tyObject_HashSet__Uwr6yc54j9cc7mpkQIvCLZA;
typedef struct tyObject_HashSet__Lvmn6BdMHxS172FqqpvhUQ tyObject_HashSet__Lvmn6BdMHxS172FqqpvhUQ;
typedef struct tySequence__LBJLCEp9cnUIr0If9a3YFyCQ tySequence__LBJLCEp9cnUIr0If9a3YFyCQ;
typedef struct tySequence__LBJLCEp9cnUIr0If9a3YFyCQ_Content tySequence__LBJLCEp9cnUIr0If9a3YFyCQ_Content;
typedef struct tyTuple__BOZJ2dQmr8noelxhx9c8g1Q tyTuple__BOZJ2dQmr8noelxhx9c8g1Q;
typedef struct tyObject_HashSet__9axRp7SZCUfmE3jbknxk4IA tyObject_HashSet__9axRp7SZCUfmE3jbknxk4IA;
typedef struct tyObject_HashSet__iZ4unXf6HrtaQ3am5vSdcA tyObject_HashSet__iZ4unXf6HrtaQ3am5vSdcA;
typedef struct tyObject_PackagecolonObjectType___oq9cbJmLUyLo2l9clmDFeVSA tyObject_PackagecolonObjectType___oq9cbJmLUyLo2l9clmDFeVSA;
typedef struct tySequence__pkEK4LYr0Fa9ces8wzZoClA tySequence__pkEK4LYr0Fa9ces8wzZoClA;
typedef struct tySequence__pkEK4LYr0Fa9ces8wzZoClA_Content tySequence__pkEK4LYr0Fa9ces8wzZoClA_Content;
typedef struct tyTuple__YcdVFt9cyrqK9aol4yLRJgzw tyTuple__YcdVFt9cyrqK9aol4yLRJgzw;
typedef struct tyObject_RefHeader__BVEqx9abcuAhztUEHxbqQJA tyObject_RefHeader__BVEqx9abcuAhztUEHxbqQJA;
typedef struct tyObject_PkgUrl__xtGEmbK9cVcp0WbjakP0xVw tyObject_PkgUrl__xtGEmbK9cVcp0WbjakP0xVw;
typedef struct tyTuple__7q7q3E6Oj24ZNVJb9aonhAg tyTuple__7q7q3E6Oj24ZNVJb9aonhAg;
typedef struct tyObject_Uri__MX62yCLGQmnfVYEE3Hjm9cA tyObject_Uri__MX62yCLGQmnfVYEE3Hjm9cA;
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 tySequence__sM4lkSb7zS6F7OVMvW9cffQ tySequence__sM4lkSb7zS6F7OVMvW9cffQ;
typedef struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content;
typedef struct tyObject_HashSet__9bBHlW7QEXKxXeSC3f02tCA tyObject_HashSet__9bBHlW7QEXKxXeSC3f02tCA;
typedef struct tySequence__ojvafS9bSffKtHkzzwgRSfA tySequence__ojvafS9bSffKtHkzzwgRSfA;
typedef struct tySequence__ojvafS9bSffKtHkzzwgRSfA_Content tySequence__ojvafS9bSffKtHkzzwgRSfA_Content;
typedef struct tyTuple__79ce9cuwoTfQvGVA8p9bRyI9cQ tyTuple__79ce9cuwoTfQvGVA8p9bRyI9cQ;
typedef struct tyTuple__GSIE033wnKaKWLU68PPv9cA tyTuple__GSIE033wnKaKWLU68PPv9cA;
typedef struct tyObject_NimbleReleasecolonObjectType___Cd1woUEuIWSParVQIsOkuw tyObject_NimbleReleasecolonObjectType___Cd1woUEuIWSParVQIsOkuw;
struct tySequence__4eRCaZmrYLLw2k30GPTiMw {
  NI len; tySequence__4eRCaZmrYLLw2k30GPTiMw_Content* p;
};
struct tyObject_NimRawSeq__8ODFhI7GYUKt9cpVXMRXb9bQ {
	NI len;
	void* p;
};
struct NimStrPayload {
	NI cap;
	NIM_CHAR data[SEQ_DECL_SIZE];
};
struct NimStringV2 {
	NI len;
	NimStrPayload* p;
};
struct tyTuple__QeWl6B6ffS4pU6WWrtcrDw {
	NI Field0;
	NimStringV2 Field1;
};
struct tyObject_HashSet__v3AgR4bnzCtqFMiyBA9al4Q {
	tySequence__4eRCaZmrYLLw2k30GPTiMw data;
	NI counter;
};
struct tySequence__8Np6tlClE5az1CyqZdN19bQ {
  NI len; tySequence__8Np6tlClE5az1CyqZdN19bQ_Content* p;
};
struct tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ {
	NI Field0;
	NI Field1;
};
struct tyObject_HashSet__9aAVrrL6o7xnFQncOPM0SYQ {
	tySequence__8Np6tlClE5az1CyqZdN19bQ data;
	NI counter;
};
struct tySequence__U9bYx6tPvWzQNzbZoriLUYA {
  NI len; tySequence__U9bYx6tPvWzQNzbZoriLUYA_Content* p;
};
typedef NU8 tyEnum_CommitOrigin__tDM8mWEQT3dZtKoOj7Mgww;
struct tyObject_CommitHash__ENSoVMeDKmDIP8obk69cDaA {
	NimStringV2 h;
	tyEnum_CommitOrigin__tDM8mWEQT3dZtKoOj7Mgww orig;
};
struct tyObject_VersionTag__io9bcihbopiwucKorobyKdg {
	tyObject_CommitHash__ENSoVMeDKmDIP8obk69cDaA c;
	NimStringV2 v;
	NIM_BOOL isTip;
};
struct tyTuple__5z13DioL2O9cny1CehriGcQ {
	NI Field0;
	tyObject_VersionTag__io9bcihbopiwucKorobyKdg Field1;
};
struct tyObject_HashSet__Uwr6yc54j9cc7mpkQIvCLZA {
	tySequence__U9bYx6tPvWzQNzbZoriLUYA data;
	NI counter;
};
struct tySequence__LBJLCEp9cnUIr0If9a3YFyCQ {
  NI len; tySequence__LBJLCEp9cnUIr0If9a3YFyCQ_Content* p;
};
struct tyObject_HashSet__Lvmn6BdMHxS172FqqpvhUQ {
	tySequence__LBJLCEp9cnUIr0If9a3YFyCQ data;
	NI counter;
};
struct tyTuple__BOZJ2dQmr8noelxhx9c8g1Q {
	NI Field0;
	tyObject_CommitHash__ENSoVMeDKmDIP8obk69cDaA Field1;
};
struct tyObject_HashSet__9axRp7SZCUfmE3jbknxk4IA {
	tySequence__4eRCaZmrYLLw2k30GPTiMw data;
	NI counter;
};
struct tySequence__pkEK4LYr0Fa9ces8wzZoClA {
  NI len; tySequence__pkEK4LYr0Fa9ces8wzZoClA_Content* p;
};
struct tyObject_HashSet__iZ4unXf6HrtaQ3am5vSdcA {
	tySequence__pkEK4LYr0Fa9ces8wzZoClA data;
	NI counter;
};
struct tyObject_RefHeader__BVEqx9abcuAhztUEHxbqQJA {
	NI rc;
	NI rootIdx;
};
struct tyTuple__YcdVFt9cyrqK9aol4yLRJgzw {
	NI Field0;
	tyObject_PackagecolonObjectType___oq9cbJmLUyLo2l9clmDFeVSA* Field1;
};
struct tyTuple__7q7q3E6Oj24ZNVJb9aonhAg {
	NimStringV2 Field0;
	NimStringV2 Field1;
	NimStringV2 Field2;
};
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_PkgUrl__xtGEmbK9cVcp0WbjakP0xVw {
	tyTuple__7q7q3E6Oj24ZNVJb9aonhAg qualifiedName;
	NIM_BOOL hasShortName;
	tyObject_Uri__MX62yCLGQmnfVYEE3Hjm9cA u;
};
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;
};
struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ {
  NI len; tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content* p;
};
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__ojvafS9bSffKtHkzzwgRSfA {
  NI len; tySequence__ojvafS9bSffKtHkzzwgRSfA_Content* p;
};
struct tyObject_HashSet__9bBHlW7QEXKxXeSC3f02tCA {
	tySequence__ojvafS9bSffKtHkzzwgRSfA data;
	NI counter;
};
struct tyTuple__79ce9cuwoTfQvGVA8p9bRyI9cQ {
	NI Field0;
	tyObject_PkgUrl__xtGEmbK9cVcp0WbjakP0xVw Field1;
};
struct tySequence__4eRCaZmrYLLw2k30GPTiMw_Content { NI cap; tyTuple__QeWl6B6ffS4pU6WWrtcrDw data[SEQ_DECL_SIZE]; };
struct tySequence__8Np6tlClE5az1CyqZdN19bQ_Content { NI cap; tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ data[SEQ_DECL_SIZE]; };
struct tySequence__U9bYx6tPvWzQNzbZoriLUYA_Content { NI cap; tyTuple__5z13DioL2O9cny1CehriGcQ data[SEQ_DECL_SIZE]; };
struct tySequence__LBJLCEp9cnUIr0If9a3YFyCQ_Content { NI cap; tyTuple__BOZJ2dQmr8noelxhx9c8g1Q data[SEQ_DECL_SIZE]; };
struct tySequence__pkEK4LYr0Fa9ces8wzZoClA_Content { NI cap; tyTuple__YcdVFt9cyrqK9aol4yLRJgzw 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 tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content { NI cap; NimStringV2 data[SEQ_DECL_SIZE]; };
struct tySequence__ojvafS9bSffKtHkzzwgRSfA_Content { NI cap; tyTuple__79ce9cuwoTfQvGVA8p9bRyI9cQ data[SEQ_DECL_SIZE]; };
static N_INLINE(NIM_BOOL, sameSeqPayload)(void* x_p0, void* y_p1);
N_LIB_PRIVATE N_NIMCALL(void, setLen__basicZversions_u937)(tySequence__4eRCaZmrYLLw2k30GPTiMw* s_p0, NI newlen_p1);
N_LIB_PRIVATE N_NOCONV(void, deallocShared)(void* p_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___system_u2754)(NimStringV2* dest_p0, NimStringV2 src_p1);
static N_INLINE(NI, slotsNeeded__pureZcollectionsZsets_u50)(NI count_p0);
N_LIB_PRIVATE N_NIMCALL(NI, nextPowerOfTwo__pureZmath_u258)(NI x_p0);
static N_INLINE(NIM_BOOL, nimAddInt)(NI a_p0, NI b_p1, NI* res_p2);
N_LIB_PRIVATE N_NOINLINE(void, raiseOverflow)(void);
static N_INLINE(NIM_BOOL*, nimErrorFlag)(void);
N_LIB_PRIVATE N_NIMCALL(void, newSeq__basicZversions_u929)(tySequence__4eRCaZmrYLLw2k30GPTiMw* s_p0, NI len_p1);
N_LIB_PRIVATE N_NOINLINE(void, raiseRangeErrorI)(NI64 i_p0, NI64 a_p1, NI64 b_p2);
static N_INLINE(NI, rawGet__basicZversions_u1056)(tyObject_HashSet__v3AgR4bnzCtqFMiyBA9al4Q t_p0, NimStringV2 key_p1, NI* hc_p2);
N_LIB_PRIVATE N_NIMCALL(NI, hash__pureZhashes_u586)(NimStringV2 x_p0);
static N_INLINE(NIM_BOOL, isFilled__pureZcollectionsZsets_u39)(NI hcode_p0);
N_LIB_PRIVATE N_NOINLINE(void, raiseIndexError2)(NI i_p0, NI n_p1);
static N_INLINE(NIM_BOOL, eqStrings)(NimStringV2 a_p0, NimStringV2 b_p1);
static N_INLINE(NIM_BOOL, equalMem__system_u1763)(void* a_p0, void* b_p1, NI size_p2);
static N_INLINE(int, nimCmpMem)(void* a_p0, void* b_p1, NI size_p2);
static N_INLINE(NI, nextTry__pureZcollectionsZsets_u42)(NI h_p0, NI maxHash_p1);
static N_INLINE(NIM_BOOL, nimSubInt)(NI a_p0, NI b_p1, NI* res_p2);
static N_INLINE(NIM_BOOL, mustRehash__basicZversions_u1348)(tyObject_HashSet__v3AgR4bnzCtqFMiyBA9al4Q t_p0);
N_LIB_PRIVATE N_NIMCALL(void, failedAssertImpl__stdZassertions_u95)(NimStringV2 msg_p0);
N_LIB_PRIVATE N_NIMCALL(void, enlarge__basicZversions_u1530)(tyObject_HashSet__v3AgR4bnzCtqFMiyBA9al4Q* s_p0);
static N_INLINE(NIM_BOOL, nimMulInt)(NI a_p0, NI b_p1, NI* res_p2);
static N_INLINE(NF, toFloat__system_u1705)(NI i_p0);
static N_INLINE(NF, abs__system_u5188)(NF x_p0);
static N_INLINE(NI, rawGetKnownHC__basicZversions_u1765)(tyObject_HashSet__v3AgR4bnzCtqFMiyBA9al4Q t_p0, NimStringV2 key_p1, NI hc_p2);
N_LIB_PRIVATE N_NIMCALL(void, rawInsert__basicZversions_u2103)(tyObject_HashSet__v3AgR4bnzCtqFMiyBA9al4Q* s_p0, tySequence__4eRCaZmrYLLw2k30GPTiMw* data_p1, NimStringV2 key_p2, NI hc_p3, NI h_p4);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___basicZversions_u1310)(tySequence__4eRCaZmrYLLw2k30GPTiMw dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, alignedDealloc)(void* p_p0, NI align_p1);
static N_INLINE(void, nimZeroMem)(void* p_p0, NI size_p1);
static N_INLINE(void, nimSetMem__system_u2188)(void* a_p0, int v_p1, NI size_p2);
N_LIB_PRIVATE N_NIMCALL(void, init__OOZOOZOOZcompilerZoptions_u1059)(tyObject_HashSet__v3AgR4bnzCtqFMiyBA9al4Q* s_p0, NI initialSize_p1);
N_LIB_PRIVATE N_NIMCALL(void, init__pureZnet_u1502)(tyObject_HashSet__9aAVrrL6o7xnFQncOPM0SYQ* s_p0, NI initialSize_p1);
N_LIB_PRIVATE N_NIMCALL(void, newSeq__pureZnet_u1128)(tySequence__8Np6tlClE5az1CyqZdN19bQ* s_p0, NI len_p1);
N_LIB_PRIVATE N_NIMCALL(tySequence__4eRCaZmrYLLw2k30GPTiMw, eqdup___basicZversions_u1316)(tySequence__4eRCaZmrYLLw2k30GPTiMw src_p0);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, eqdup___system_u2757)(NimStringV2 src_p0);
N_LIB_PRIVATE N_NIMCALL(void, newSeq__basicZgitops_u1474)(tySequence__U9bYx6tPvWzQNzbZoriLUYA* s_p0, NI len_p1);
static N_INLINE(NI, rawGet__basicZgitops_u1772)(tyObject_HashSet__Uwr6yc54j9cc7mpkQIvCLZA t_p0, tyObject_VersionTag__io9bcihbopiwucKorobyKdg* key_p1, NI* hc_p2);
N_LIB_PRIVATE N_NIMCALL(NI, hash__basicZversions_u5268)(tyObject_VersionTag__io9bcihbopiwucKorobyKdg* v_p0);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, eqeq___basicZversions_u5272)(tyObject_VersionTag__io9bcihbopiwucKorobyKdg* a_p0, tyObject_VersionTag__io9bcihbopiwucKorobyKdg* b_p1);
static N_INLINE(NIM_BOOL, mustRehash__basicZgitops_u2024)(tyObject_HashSet__Uwr6yc54j9cc7mpkQIvCLZA t_p0);
N_LIB_PRIVATE N_NIMCALL(void, enlarge__basicZgitops_u2206)(tyObject_HashSet__Uwr6yc54j9cc7mpkQIvCLZA* s_p0);
static N_INLINE(NI, rawGetKnownHC__basicZgitops_u2441)(tyObject_HashSet__Uwr6yc54j9cc7mpkQIvCLZA t_p0, tyObject_VersionTag__io9bcihbopiwucKorobyKdg* key_p1, NI hc_p2);
N_LIB_PRIVATE N_NIMCALL(void, rawInsert__basicZgitops_u2779)(tyObject_HashSet__Uwr6yc54j9cc7mpkQIvCLZA* s_p0, tySequence__U9bYx6tPvWzQNzbZoriLUYA* data_p1, tyObject_VersionTag__io9bcihbopiwucKorobyKdg* key_p2, NI hc_p3, NI h_p4);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___basicZversions_u3512)(tyObject_VersionTag__io9bcihbopiwucKorobyKdg* dest_p0, tyObject_VersionTag__io9bcihbopiwucKorobyKdg* src_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___basicZgitops_u1600)(tySequence__U9bYx6tPvWzQNzbZoriLUYA dest_p0);
N_LIB_PRIVATE N_NIMCALL(tySequence__U9bYx6tPvWzQNzbZoriLUYA, eqdup___basicZgitops_u1606)(tySequence__U9bYx6tPvWzQNzbZoriLUYA src_p0);
N_LIB_PRIVATE N_NIMCALL(void, setLen__basicZgitops_u1482)(tySequence__U9bYx6tPvWzQNzbZoriLUYA* s_p0, NI newlen_p1);
N_LIB_PRIVATE N_NIMCALL(void, init__basicZgitops_u1458)(tyObject_HashSet__Uwr6yc54j9cc7mpkQIvCLZA* s_p0, NI initialSize_p1);
N_LIB_PRIVATE N_NIMCALL(void, newSeq__dependencies_u5352)(tySequence__LBJLCEp9cnUIr0If9a3YFyCQ* s_p0, NI len_p1);
static N_INLINE(NI, rawGet__dependencies_u5480)(tyObject_HashSet__Lvmn6BdMHxS172FqqpvhUQ t_p0, tyObject_CommitHash__ENSoVMeDKmDIP8obk69cDaA key_p1, NI* hc_p2);
N_LIB_PRIVATE N_NIMCALL(NI, hash__basicZversions_u5265)(tyObject_CommitHash__ENSoVMeDKmDIP8obk69cDaA c_p0);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, eqeq___basicZversions_u5261)(tyObject_CommitHash__ENSoVMeDKmDIP8obk69cDaA a_p0, tyObject_CommitHash__ENSoVMeDKmDIP8obk69cDaA b_p1);
static N_INLINE(NIM_BOOL, mustRehash__dependencies_u5772)(tyObject_HashSet__Lvmn6BdMHxS172FqqpvhUQ t_p0);
N_LIB_PRIVATE N_NIMCALL(void, enlarge__dependencies_u5954)(tyObject_HashSet__Lvmn6BdMHxS172FqqpvhUQ* s_p0);
static N_INLINE(NI, rawGetKnownHC__dependencies_u6189)(tyObject_HashSet__Lvmn6BdMHxS172FqqpvhUQ t_p0, tyObject_CommitHash__ENSoVMeDKmDIP8obk69cDaA key_p1, NI hc_p2);
N_LIB_PRIVATE N_NIMCALL(void, rawInsert__dependencies_u6527)(tyObject_HashSet__Lvmn6BdMHxS172FqqpvhUQ* s_p0, tySequence__LBJLCEp9cnUIr0If9a3YFyCQ* data_p1, tyObject_CommitHash__ENSoVMeDKmDIP8obk69cDaA key_p2, NI hc_p3, NI h_p4);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___basicZversions_u114)(tyObject_CommitHash__ENSoVMeDKmDIP8obk69cDaA* dest_p0, tyObject_CommitHash__ENSoVMeDKmDIP8obk69cDaA src_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___dependencies_u5734)(tySequence__LBJLCEp9cnUIr0If9a3YFyCQ dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, newSeq__dependencies_u7142)(tySequence__4eRCaZmrYLLw2k30GPTiMw* s_p0, NI len_p1);
static N_INLINE(NI, rawGet__dependencies_u7268)(tyObject_HashSet__9axRp7SZCUfmE3jbknxk4IA t_p0, NimStringV2 key_p1, NI* hc_p2);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, eqeq___basicZversions_u359)(NimStringV2 a_p0, NimStringV2 b_p1);
static N_INLINE(NIM_BOOL, mustRehash__dependencies_u7560)(tyObject_HashSet__9axRp7SZCUfmE3jbknxk4IA t_p0);
N_LIB_PRIVATE N_NIMCALL(void, enlarge__dependencies_u7742)(tyObject_HashSet__9axRp7SZCUfmE3jbknxk4IA* s_p0);
static N_INLINE(NI, rawGetKnownHC__dependencies_u7977)(tyObject_HashSet__9axRp7SZCUfmE3jbknxk4IA t_p0, NimStringV2 key_p1, NI hc_p2);
N_LIB_PRIVATE N_NIMCALL(void, rawInsert__dependencies_u8315)(tyObject_HashSet__9axRp7SZCUfmE3jbknxk4IA* s_p0, tySequence__4eRCaZmrYLLw2k30GPTiMw* data_p1, NimStringV2 key_p2, NI hc_p3, NI h_p4);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___dependencies_u7522)(tySequence__4eRCaZmrYLLw2k30GPTiMw dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___basicZversions_u1313)(tySequence__4eRCaZmrYLLw2k30GPTiMw* dest_p0, tySequence__4eRCaZmrYLLw2k30GPTiMw src_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___basicZgitops_u1603)(tySequence__U9bYx6tPvWzQNzbZoriLUYA* dest_p0, tySequence__U9bYx6tPvWzQNzbZoriLUYA src_p1);
N_LIB_PRIVATE N_NIMCALL(NI, len__basicZdeptypesjson_u836)(tyObject_HashSet__v3AgR4bnzCtqFMiyBA9al4Q s_p0);
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(void, prepareAdd)(NimStringV2* s_p0, NI addLen_p1);
N_LIB_PRIVATE N_NIMCALL(void, addQuoted__stdZprivateZoscommon_u119)(NimStringV2* s_p0, NimStringV2 x_p1);
N_LIB_PRIVATE N_NIMCALL(void, newSeq__depgraphs_u13562)(tySequence__pkEK4LYr0Fa9ces8wzZoClA* s_p0, NI len_p1);
static N_INLINE(NIM_BOOL, nimDecRefIsLast)(void* p_p0);
static N_INLINE(NI, minuspercent___system_u813)(NI x_p0, NI y_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___basicZnimblecontext_u3603)(tyObject_PackagecolonObjectType___oq9cbJmLUyLo2l9clmDFeVSA* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, nimRawDispose)(void* p_p0, NI alignment_p1);
static N_INLINE(NI, rawGet__depgraphs_u15415)(tyObject_HashSet__iZ4unXf6HrtaQ3am5vSdcA t_p0, tyObject_PackagecolonObjectType___oq9cbJmLUyLo2l9clmDFeVSA* key_p1, NI* hc_p2);
N_LIB_PRIVATE N_NIMCALL(NI, hash__basicZdeptypes_u201)(tyObject_PackagecolonObjectType___oq9cbJmLUyLo2l9clmDFeVSA* r_p0);
static N_INLINE(NIM_BOOL, mustRehash__depgraphs_u15672)(tyObject_HashSet__iZ4unXf6HrtaQ3am5vSdcA t_p0);
N_LIB_PRIVATE N_NIMCALL(void, enlarge__depgraphs_u15854)(tyObject_HashSet__iZ4unXf6HrtaQ3am5vSdcA* s_p0);
static N_INLINE(NI, rawGetKnownHC__depgraphs_u16089)(tyObject_HashSet__iZ4unXf6HrtaQ3am5vSdcA t_p0, tyObject_PackagecolonObjectType___oq9cbJmLUyLo2l9clmDFeVSA* key_p1, NI hc_p2);
N_LIB_PRIVATE N_NIMCALL(void, rawInsert__depgraphs_u16431)(tyObject_HashSet__iZ4unXf6HrtaQ3am5vSdcA* s_p0, tySequence__pkEK4LYr0Fa9ces8wzZoClA* data_p1, tyObject_PackagecolonObjectType___oq9cbJmLUyLo2l9clmDFeVSA* key_p2, NI hc_p3, NI h_p4);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___basicZdepgraphtypes_u561)(tyObject_PackagecolonObjectType___oq9cbJmLUyLo2l9clmDFeVSA** dest_p0, tyObject_PackagecolonObjectType___oq9cbJmLUyLo2l9clmDFeVSA* src_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___depgraphs_u13690)(tySequence__pkEK4LYr0Fa9ces8wzZoClA dest_p0);
N_LIB_PRIVATE N_NIMCALL(tySequence__pkEK4LYr0Fa9ces8wzZoClA, eqdup___depgraphs_u13696)(tySequence__pkEK4LYr0Fa9ces8wzZoClA src_p0);
N_LIB_PRIVATE N_NIMCALL(void, setLen__depgraphs_u13570)(tySequence__pkEK4LYr0Fa9ces8wzZoClA* s_p0, NI newlen_p1);
static N_INLINE(void, nimIncRef)(void* p_p0);
static N_INLINE(NI, pluspercent___system_u793)(NI x_p0, NI y_p1);
N_LIB_PRIVATE N_NIMCALL(void, init__depgraphs_u13546)(tyObject_HashSet__iZ4unXf6HrtaQ3am5vSdcA* s_p0, NI initialSize_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___depgraphs_u13693)(tySequence__pkEK4LYr0Fa9ces8wzZoClA* dest_p0, tySequence__pkEK4LYr0Fa9ces8wzZoClA src_p1);
N_LIB_PRIVATE N_NIMCALL(void, newSeq__depgraphs_u7547)(tySequence__ojvafS9bSffKtHkzzwgRSfA* s_p0, NI len_p1);
static N_INLINE(NI, rawGet__depgraphs_u7697)(tyObject_HashSet__9bBHlW7QEXKxXeSC3f02tCA t_p0, tyObject_PkgUrl__xtGEmbK9cVcp0WbjakP0xVw* key_p1, NI* hc_p2);
static N_INLINE(NI, hash__basicZpkgurls_u50)(tyObject_PkgUrl__xtGEmbK9cVcp0WbjakP0xVw* a_p0);
N_LIB_PRIVATE N_NIMCALL(NI, hash__basicZpkgurls_u53)(tyObject_Uri__MX62yCLGQmnfVYEE3Hjm9cA* x_p0);
static N_INLINE(NIM_BOOL, eqeq___basicZpkgurls_u67)(tyObject_PkgUrl__xtGEmbK9cVcp0WbjakP0xVw* a_p0, tyObject_PkgUrl__xtGEmbK9cVcp0WbjakP0xVw* b_p1);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, eqeq___basicZpkgurls_u71)(tyObject_Uri__MX62yCLGQmnfVYEE3Hjm9cA* x_p0, tyObject_Uri__MX62yCLGQmnfVYEE3Hjm9cA* y_p1);
static N_INLINE(NIM_BOOL, mustRehash__depgraphs_u7989)(tyObject_HashSet__9bBHlW7QEXKxXeSC3f02tCA t_p0);
N_LIB_PRIVATE N_NIMCALL(void, enlarge__depgraphs_u8171)(tyObject_HashSet__9bBHlW7QEXKxXeSC3f02tCA* s_p0);
static N_INLINE(NI, rawGetKnownHC__depgraphs_u8406)(tyObject_HashSet__9bBHlW7QEXKxXeSC3f02tCA t_p0, tyObject_PkgUrl__xtGEmbK9cVcp0WbjakP0xVw* key_p1, NI hc_p2);
N_LIB_PRIVATE N_NIMCALL(void, rawInsert__depgraphs_u8744)(tyObject_HashSet__9bBHlW7QEXKxXeSC3f02tCA* s_p0, tySequence__ojvafS9bSffKtHkzzwgRSfA* data_p1, tyObject_PkgUrl__xtGEmbK9cVcp0WbjakP0xVw* key_p2, NI hc_p3, NI h_p4);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___basicZpkgurls_u264)(tyObject_PkgUrl__xtGEmbK9cVcp0WbjakP0xVw* dest_p0, tyObject_PkgUrl__xtGEmbK9cVcp0WbjakP0xVw* src_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___depgraphs_u7951)(tySequence__ojvafS9bSffKtHkzzwgRSfA dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, reset__system_u5540)(NimStringV2* obj_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_HashSet__Uwr6yc54j9cc7mpkQIvCLZA, initHashSet__basicZgitops_u1444)(NI initialSize_p0);
N_LIB_PRIVATE N_NIMCALL(void, incl__basicZgitops_u1690)(tyObject_HashSet__Uwr6yc54j9cc7mpkQIvCLZA* s_p0, tyObject_VersionTag__io9bcihbopiwucKorobyKdg* key_p1);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, lteq___basicZgitops_u3062)(tyObject_HashSet__Uwr6yc54j9cc7mpkQIvCLZA s_p0, tyObject_HashSet__Uwr6yc54j9cc7mpkQIvCLZA t_p1);
N_LIB_PRIVATE N_NIMCALL(NI, len__basicZgitops_u3121)(tyObject_HashSet__Uwr6yc54j9cc7mpkQIvCLZA s_p0);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, contains__basicZgitops_u3349)(tyObject_HashSet__Uwr6yc54j9cc7mpkQIvCLZA s_p0, tyObject_VersionTag__io9bcihbopiwucKorobyKdg* key_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___basicZversions_u3509)(tyObject_VersionTag__io9bcihbopiwucKorobyKdg* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, addQuoted__basicZgitops_u3543)(NimStringV2* s_p0, tyObject_VersionTag__io9bcihbopiwucKorobyKdg* x_p1);
static const struct {
  NI cap; NIM_CHAR data[47+1];
} TM__0JXiWyhP5OCO8jWMA6sb1w_6 = { 47 | NIM_STRLIT_FLAG, "hashcommon.nim(34, 9) `\012t.counter < t.dataLen` " };
static const NimStringV2 TM__0JXiWyhP5OCO8jWMA6sb1w_7 = {47, (NimStrPayload*)&TM__0JXiWyhP5OCO8jWMA6sb1w_6};
static const NimStringV2 TM__0JXiWyhP5OCO8jWMA6sb1w_19 = {47, (NimStrPayload*)&TM__0JXiWyhP5OCO8jWMA6sb1w_6};
static const NimStringV2 TM__0JXiWyhP5OCO8jWMA6sb1w_29 = {47, (NimStrPayload*)&TM__0JXiWyhP5OCO8jWMA6sb1w_6};
static const NimStringV2 TM__0JXiWyhP5OCO8jWMA6sb1w_41 = {47, (NimStrPayload*)&TM__0JXiWyhP5OCO8jWMA6sb1w_6};
static const struct {
  NI cap; NIM_CHAR data[1+1];
} TM__0JXiWyhP5OCO8jWMA6sb1w_50 = { 1 | NIM_STRLIT_FLAG, "{" };
static const NimStringV2 TM__0JXiWyhP5OCO8jWMA6sb1w_51 = {1, (NimStrPayload*)&TM__0JXiWyhP5OCO8jWMA6sb1w_50};
static const struct {
  NI cap; NIM_CHAR data[2+1];
} TM__0JXiWyhP5OCO8jWMA6sb1w_52 = { 2 | NIM_STRLIT_FLAG, ", " };
static const NimStringV2 TM__0JXiWyhP5OCO8jWMA6sb1w_53 = {2, (NimStrPayload*)&TM__0JXiWyhP5OCO8jWMA6sb1w_52};
static const struct {
  NI cap; NIM_CHAR data[94+1];
} TM__0JXiWyhP5OCO8jWMA6sb1w_54 = { 94 | NIM_STRLIT_FLAG, "sets.nim(273, 13) `len(s) == length` the length of the HashSet changed while iterating over it" };
static const NimStringV2 TM__0JXiWyhP5OCO8jWMA6sb1w_55 = {94, (NimStrPayload*)&TM__0JXiWyhP5OCO8jWMA6sb1w_54};
static const struct {
  NI cap; NIM_CHAR data[1+1];
} TM__0JXiWyhP5OCO8jWMA6sb1w_57 = { 1 | NIM_STRLIT_FLAG, "}" };
static const NimStringV2 TM__0JXiWyhP5OCO8jWMA6sb1w_58 = {1, (NimStrPayload*)&TM__0JXiWyhP5OCO8jWMA6sb1w_57};
static const NimStringV2 TM__0JXiWyhP5OCO8jWMA6sb1w_60 = {47, (NimStrPayload*)&TM__0JXiWyhP5OCO8jWMA6sb1w_6};
static const NimStringV2 TM__0JXiWyhP5OCO8jWMA6sb1w_70 = {47, (NimStrPayload*)&TM__0JXiWyhP5OCO8jWMA6sb1w_6};
static const NimStringV2 TM__0JXiWyhP5OCO8jWMA6sb1w_80 = {94, (NimStrPayload*)&TM__0JXiWyhP5OCO8jWMA6sb1w_54};
static const NimStringV2 TM__0JXiWyhP5OCO8jWMA6sb1w_82 = {1, (NimStrPayload*)&TM__0JXiWyhP5OCO8jWMA6sb1w_50};
static const NimStringV2 TM__0JXiWyhP5OCO8jWMA6sb1w_83 = {2, (NimStrPayload*)&TM__0JXiWyhP5OCO8jWMA6sb1w_52};
static const NimStringV2 TM__0JXiWyhP5OCO8jWMA6sb1w_84 = {94, (NimStrPayload*)&TM__0JXiWyhP5OCO8jWMA6sb1w_54};
static const NimStringV2 TM__0JXiWyhP5OCO8jWMA6sb1w_86 = {1, (NimStrPayload*)&TM__0JXiWyhP5OCO8jWMA6sb1w_57};
static const NimStringV2 TM__0JXiWyhP5OCO8jWMA6sb1w_87 = {94, (NimStrPayload*)&TM__0JXiWyhP5OCO8jWMA6sb1w_54};
extern NIM_THREADVAR NIM_BOOL nimInErrorMode__system_u4198;
static N_INLINE(NIM_BOOL, sameSeqPayload)(void* x_p0, void* y_p1) {
	NIM_BOOL result;
	result = ((*((tyObject_NimRawSeq__8ODFhI7GYUKt9cpVXMRXb9bQ*) (x_p0))).p == (*((tyObject_NimRawSeq__8ODFhI7GYUKt9cpVXMRXb9bQ*) (y_p1))).p);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___basicZversions_u1006)(tyTuple__QeWl6B6ffS4pU6WWrtcrDw* dest_p0) {
	if ((*dest_p0).Field1.p && !((*dest_p0).Field1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared((*dest_p0).Field1.p);
}
}
N_LIB_PRIVATE N_NIMCALL(void, eqwasMoved___basicZversions_u1003)(tyTuple__QeWl6B6ffS4pU6WWrtcrDw* dest_p0) {
	(*dest_p0).Field0 = 0;
	(*dest_p0).Field1.len = 0; (*dest_p0).Field1.p = NIM_NIL;
}
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___basicZversions_u1313)(tySequence__4eRCaZmrYLLw2k30GPTiMw* dest_p0, tySequence__4eRCaZmrYLLw2k30GPTiMw src_p1) {
	NI T6_;
	NI colontmp_;
{	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = sameSeqPayload(dest_p0, (&src_p1));
		if (!T3_) goto LA4_;
		goto BeforeRet_;
	}
LA4_: ;
	T6_ = src_p1.len;
	setLen__basicZversions_u937((&(*dest_p0)), T6_);
	colontmp_ = ((NI)0);
	{
		while (1) {
			NI T9_;
			T9_ = (*dest_p0).len;
			if (!(colontmp_ < T9_)) goto LA8;
			(*dest_p0).p->data[colontmp_].Field0 = src_p1.p->data[colontmp_].Field0;
			eqcopy___system_u2754((&(*dest_p0).p->data[colontmp_].Field1), src_p1.p->data[colontmp_].Field1);
			colontmp_ += ((NI)1);
		} LA8: ;
	}
	}BeforeRet_: ;
}
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;
}
static N_INLINE(NIM_BOOL*, nimErrorFlag)(void) {
	NIM_BOOL* result;
	result = (&nimInErrorMode__system_u4198);
	return result;
}
static N_INLINE(NI, slotsNeeded__pureZcollectionsZsets_u50)(NI count_p0) {
	NI result;
	NI TM__0JXiWyhP5OCO8jWMA6sb1w_2;
	NI TM__0JXiWyhP5OCO8jWMA6sb1w_3;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NI)0;
	if (nimAddInt((NI)((count_p0) / (((NI)2))), count_p0, &TM__0JXiWyhP5OCO8jWMA6sb1w_2)) { raiseOverflow(); goto BeforeRet_;
	};
	if (nimAddInt((NI)(TM__0JXiWyhP5OCO8jWMA6sb1w_2), ((NI)4), &TM__0JXiWyhP5OCO8jWMA6sb1w_3)) { raiseOverflow(); goto BeforeRet_;
	};
	result = nextPowerOfTwo__pureZmath_u258((NI)(TM__0JXiWyhP5OCO8jWMA6sb1w_3));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NIM_BOOL, isFilled__pureZcollectionsZsets_u39)(NI hcode_p0) {
	NIM_BOOL result;
	result = !((hcode_p0 == ((NI)0)));
	return result;
}
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(NI, nextTry__pureZcollectionsZsets_u42)(NI h_p0, NI maxHash_p1) {
	NI result;
	NI TM__0JXiWyhP5OCO8jWMA6sb1w_4;
{	result = (NI)0;
	if (nimAddInt(h_p0, ((NI)1), &TM__0JXiWyhP5OCO8jWMA6sb1w_4)) { raiseOverflow(); goto BeforeRet_;
	};
	result = (NI)((NI)(TM__0JXiWyhP5OCO8jWMA6sb1w_4) & maxHash_p1);
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NIM_BOOL, nimSubInt)(NI a_p0, NI b_p1, NI* res_p2) {
	NIM_BOOL result;
	NI r_1;
	result = (NIM_BOOL)0;
	r_1 = ((NI) ((NU)((NU64)(((NU) (a_p0))) - (NU64)(((NU) (b_p1))))));
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = (((NI)0) <= (NI)(r_1 ^ a_p0));
		if (T3_) goto LA4_;
		T3_ = (((NI)0) <= (NI)(r_1 ^ (NI)((NU64) ~(b_p1))));
LA4_: ;
		if (!T3_) goto LA5_;
		(*res_p2) = r_1;
	}
	goto LA1_;
LA5_: ;
	{
		result = NIM_TRUE;
	}
LA1_: ;
	return result;
}
static N_INLINE(NI, rawGet__basicZversions_u1056)(tyObject_HashSet__v3AgR4bnzCtqFMiyBA9al4Q t_p0, NimStringV2 key_p1, NI* hc_p2) {
	NI result;
	NI T1_;
	NI h_1;
	NI T11_;
	NI TM__0JXiWyhP5OCO8jWMA6sb1w_5;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NI)0;
	T1_ = (NI)0;
	T1_ = hash__pureZhashes_u586(key_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	(*hc_p2) = T1_;
	{
		if (!((*hc_p2) == ((NI)0))) goto LA4_;
		(*hc_p2) = ((NI)314159265);
	}
LA4_: ;
	{
		NI T8_;
		T8_ = t_p0.data.len;
		if (!(T8_ == ((NI)0))) goto LA9_;
		result = ((NI)-1);
		goto BeforeRet_;
	}
LA9_: ;
	T11_ = (t_p0.data.len-1);
	h_1 = (NI)((*hc_p2) & T11_);
	{
		while (1) {
			NIM_BOOL T14_;
			NI T21_;
			if (h_1 < 0 || h_1 >= t_p0.data.len){ raiseIndexError2(h_1,t_p0.data.len-1); goto BeforeRet_;
			}
			T14_ = (NIM_BOOL)0;
			T14_ = isFilled__pureZcollectionsZsets_u39(t_p0.data.p->data[h_1].Field0);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (!T14_) goto LA13;
			{
				NIM_BOOL T17_;
				T17_ = (NIM_BOOL)0;
				if (h_1 < 0 || h_1 >= t_p0.data.len){ raiseIndexError2(h_1,t_p0.data.len-1); goto BeforeRet_;
				}
				T17_ = (t_p0.data.p->data[h_1].Field0 == (*hc_p2));
				if (!(T17_)) goto LA18_;
				if (h_1 < 0 || h_1 >= t_p0.data.len){ raiseIndexError2(h_1,t_p0.data.len-1); goto BeforeRet_;
				}
				T17_ = eqStrings(t_p0.data.p->data[h_1].Field1, key_p1);
LA18_: ;
				if (!T17_) goto LA19_;
				result = h_1;
				goto BeforeRet_;
			}
LA19_: ;
			T21_ = (t_p0.data.len-1);
			h_1 = nextTry__pureZcollectionsZsets_u42(h_1, T21_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		} LA13: ;
	}
	if (nimSubInt(((NI)-1), h_1, &TM__0JXiWyhP5OCO8jWMA6sb1w_5)) { raiseOverflow(); goto BeforeRet_;
	};
	result = (NI)(TM__0JXiWyhP5OCO8jWMA6sb1w_5);
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NIM_BOOL, mustRehash__basicZversions_u1348)(tyObject_HashSet__v3AgR4bnzCtqFMiyBA9al4Q t_p0) {
	NIM_BOOL result;
	NIM_BOOL T6_;
	NI T7_;
	NI TM__0JXiWyhP5OCO8jWMA6sb1w_8;
	NI T9_;
	NI TM__0JXiWyhP5OCO8jWMA6sb1w_9;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NIM_BOOL)0;
	{
		NI T3_;
		T3_ = t_p0.data.len;
		if (!!((t_p0.counter < T3_))) goto LA4_;
		failedAssertImpl__stdZassertions_u95(TM__0JXiWyhP5OCO8jWMA6sb1w_7);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA4_: ;
	T6_ = (NIM_BOOL)0;
	T7_ = t_p0.data.len;
	if (nimAddInt(t_p0.counter, (NI)((t_p0.counter) / (((NI)2))), &TM__0JXiWyhP5OCO8jWMA6sb1w_8)) { raiseOverflow(); goto BeforeRet_;
	};
	T6_ = (T7_ < (NI)(TM__0JXiWyhP5OCO8jWMA6sb1w_8));
	if (T6_) goto LA8_;
	T9_ = t_p0.data.len;
	if (nimSubInt(T9_, t_p0.counter, &TM__0JXiWyhP5OCO8jWMA6sb1w_9)) { raiseOverflow(); goto BeforeRet_;
	};
	T6_ = ((NI)(TM__0JXiWyhP5OCO8jWMA6sb1w_9) < ((NI)4));
LA8_: ;
	result = T6_;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NF, toFloat__system_u1705)(NI i_p0) {
	NF result;
	result = ((NF) (i_p0));
	return result;
}
static N_INLINE(NF, abs__system_u5188)(NF x_p0) {
	NF result;
	result = (NF)0;
	result = fabs(x_p0);
	return result;
}
static N_INLINE(NIM_BOOL, nimMulInt)(NI a_p0, NI b_p1, NI* res_p2) {
	NIM_BOOL result;
	NI r_1;
	NF floatProd_1;
	NF T1_;
	NF T2_;
	NF resAsFloat_1;
	result = (NIM_BOOL)0;
	r_1 = ((NI) ((NU)((NU64)(((NU) (a_p0))) * (NU64)(((NU) (b_p1))))));
	T1_ = (NF)0;
	T1_ = toFloat__system_u1705(a_p0);
	T2_ = (NF)0;
	T2_ = toFloat__system_u1705(b_p1);
	floatProd_1 = ((NF)(T1_) * (NF)(T2_));
	resAsFloat_1 = toFloat__system_u1705(r_1);
	{
		if (!(resAsFloat_1 == floatProd_1)) goto LA5_;
		(*res_p2) = r_1;
	}
	goto LA3_;
LA5_: ;
	{
		{
			NF T10_;
			NF T11_;
			T10_ = (NF)0;
			T10_ = abs__system_u5188(((NF)(resAsFloat_1) - (NF)(floatProd_1)));
			T11_ = (NF)0;
			T11_ = abs__system_u5188(floatProd_1);
			if (!(((NF)(32.0) * (NF)(T10_)) <= T11_)) goto LA12_;
			(*res_p2) = r_1;
		}
		goto LA8_;
LA12_: ;
		{
			result = NIM_TRUE;
		}
LA8_: ;
	}
LA3_: ;
	return result;
}
static N_INLINE(NI, rawGetKnownHC__basicZversions_u1765)(tyObject_HashSet__v3AgR4bnzCtqFMiyBA9al4Q t_p0, NimStringV2 key_p1, NI hc_p2) {
	NI result;
	NI h_1;
	NI T6_;
	NI TM__0JXiWyhP5OCO8jWMA6sb1w_11;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NI)0;
	{
		NI T3_;
		T3_ = t_p0.data.len;
		if (!(T3_ == ((NI)0))) goto LA4_;
		result = ((NI)-1);
		goto BeforeRet_;
	}
LA4_: ;
	T6_ = (t_p0.data.len-1);
	h_1 = (NI)(hc_p2 & T6_);
	{
		while (1) {
			NIM_BOOL T9_;
			NI T16_;
			if (h_1 < 0 || h_1 >= t_p0.data.len){ raiseIndexError2(h_1,t_p0.data.len-1); goto BeforeRet_;
			}
			T9_ = (NIM_BOOL)0;
			T9_ = isFilled__pureZcollectionsZsets_u39(t_p0.data.p->data[h_1].Field0);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (!T9_) goto LA8;
			{
				NIM_BOOL T12_;
				T12_ = (NIM_BOOL)0;
				if (h_1 < 0 || h_1 >= t_p0.data.len){ raiseIndexError2(h_1,t_p0.data.len-1); goto BeforeRet_;
				}
				T12_ = (t_p0.data.p->data[h_1].Field0 == hc_p2);
				if (!(T12_)) goto LA13_;
				if (h_1 < 0 || h_1 >= t_p0.data.len){ raiseIndexError2(h_1,t_p0.data.len-1); goto BeforeRet_;
				}
				T12_ = eqStrings(t_p0.data.p->data[h_1].Field1, key_p1);
LA13_: ;
				if (!T12_) goto LA14_;
				result = h_1;
				goto BeforeRet_;
			}
LA14_: ;
			T16_ = (t_p0.data.len-1);
			h_1 = nextTry__pureZcollectionsZsets_u42(h_1, T16_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		} LA8: ;
	}
	if (nimSubInt(((NI)-1), h_1, &TM__0JXiWyhP5OCO8jWMA6sb1w_11)) { raiseOverflow(); goto BeforeRet_;
	};
	result = (NI)(TM__0JXiWyhP5OCO8jWMA6sb1w_11);
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, rawInsert__basicZversions_u2103)(tyObject_HashSet__v3AgR4bnzCtqFMiyBA9al4Q* s_p0, tySequence__4eRCaZmrYLLw2k30GPTiMw* data_p1, NimStringV2 key_p2, NI hc_p3, NI h_p4) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		NI T3_;
		NI correctSizeX60gensym59__1;
		T3_ = (*data_p1).len;
		if (!(T3_ == ((NI)0))) goto LA4_;
		correctSizeX60gensym59__1 = slotsNeeded__pureZcollectionsZsets_u50(((NI)64));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		(*s_p0).counter = ((NI)0);
		if ((correctSizeX60gensym59__1) < ((NI)0) || (correctSizeX60gensym59__1) > ((NI)IL64(9223372036854775807))){ raiseRangeErrorI(correctSizeX60gensym59__1, ((NI)0), ((NI)IL64(9223372036854775807))); goto BeforeRet_;
		}
		newSeq__basicZversions_u929((&(*s_p0).data), (correctSizeX60gensym59__1));
	}
LA4_: ;
	if (h_p4 < 0 || h_p4 >= (*data_p1).len){ raiseIndexError2(h_p4,(*data_p1).len-1); goto BeforeRet_;
	}
	eqcopy___system_u2754((&(*data_p1).p->data[h_p4].Field1), key_p2);
	if (h_p4 < 0 || h_p4 >= (*data_p1).len){ raiseIndexError2(h_p4,(*data_p1).len-1); goto BeforeRet_;
	}
	(*data_p1).p->data[h_p4].Field0 = hc_p3;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___basicZversions_u1310)(tySequence__4eRCaZmrYLLw2k30GPTiMw dest_p0) {
	NI colontmp_;
	colontmp_ = ((NI)0);
	{
		while (1) {
			NI T3_;
			T3_ = dest_p0.len;
			if (!(colontmp_ < T3_)) goto LA2;
			if (dest_p0.p->data[colontmp_].Field1.p && !(dest_p0.p->data[colontmp_].Field1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(dest_p0.p->data[colontmp_].Field1.p);
}
			colontmp_ += ((NI)1);
		} LA2: ;
	}
	if (dest_p0.p && !(dest_p0.p->cap & NIM_STRLIT_FLAG)) {
 alignedDealloc(dest_p0.p, NIM_ALIGNOF(tyTuple__QeWl6B6ffS4pU6WWrtcrDw));
}
}
N_LIB_PRIVATE N_NIMCALL(void, enlarge__basicZversions_u1530)(tyObject_HashSet__v3AgR4bnzCtqFMiyBA9al4Q* s_p0) {
	tySequence__4eRCaZmrYLLw2k30GPTiMw n_1;
	NI T1_;
	NI TM__0JXiWyhP5OCO8jWMA6sb1w_10;
	tySequence__4eRCaZmrYLLw2k30GPTiMw T2_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	n_1.len = 0; n_1.p = NIM_NIL;
	T1_ = (*s_p0).data.len;
	if (nimMulInt(T1_, ((NI)2), &TM__0JXiWyhP5OCO8jWMA6sb1w_10)) { raiseOverflow(); goto BeforeRet_;
	};
	if (((NI)(TM__0JXiWyhP5OCO8jWMA6sb1w_10)) < ((NI)0) || ((NI)(TM__0JXiWyhP5OCO8jWMA6sb1w_10)) > ((NI)IL64(9223372036854775807))){ raiseRangeErrorI((NI)(TM__0JXiWyhP5OCO8jWMA6sb1w_10), ((NI)0), ((NI)IL64(9223372036854775807))); goto BeforeRet_;
	}
	newSeq__basicZversions_u929((&n_1), ((NI)(TM__0JXiWyhP5OCO8jWMA6sb1w_10)));
	T2_.len = 0; T2_.p = NIM_NIL;
	T2_ = (*s_p0).data;
	(*s_p0).data = n_1;
	n_1 = T2_;
	{
		NI i_1;
		NI colontmp_;
		NI T4_;
		NI res_1;
		i_1 = (NI)0;
		colontmp_ = (NI)0;
		T4_ = (n_1.len-1);
		colontmp_ = T4_;
		res_1 = ((NI)0);
		{
			while (1) {
				NI TM__0JXiWyhP5OCO8jWMA6sb1w_13;
				if (!(res_1 <= colontmp_)) goto LA6;
				i_1 = ((NI) (res_1));
				{
					NIM_BOOL T9_;
					NI j_1;
					NI T12_;
					NI TM__0JXiWyhP5OCO8jWMA6sb1w_12;
					tyObject_HashSet__v3AgR4bnzCtqFMiyBA9al4Q* T13_;
					if (i_1 < 0 || i_1 >= n_1.len){ raiseIndexError2(i_1,n_1.len-1); goto BeforeRet_;
					}
					T9_ = (NIM_BOOL)0;
					T9_ = isFilled__pureZcollectionsZsets_u39(n_1.p->data[i_1].Field0);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					if (!T9_) goto LA10_;
					if (i_1 < 0 || i_1 >= n_1.len){ raiseIndexError2(i_1,n_1.len-1); goto BeforeRet_;
					}
					if (i_1 < 0 || i_1 >= n_1.len){ raiseIndexError2(i_1,n_1.len-1); goto BeforeRet_;
					}
					T12_ = (NI)0;
					T12_ = rawGetKnownHC__basicZversions_u1765((*s_p0), n_1.p->data[i_1].Field1, n_1.p->data[i_1].Field0);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					if (nimSubInt(((NI)-1), T12_, &TM__0JXiWyhP5OCO8jWMA6sb1w_12)) { raiseOverflow(); goto BeforeRet_;
					};
					j_1 = (NI)(TM__0JXiWyhP5OCO8jWMA6sb1w_12);
					T13_ = (tyObject_HashSet__v3AgR4bnzCtqFMiyBA9al4Q*)0;
					T13_ = s_p0;
					if (i_1 < 0 || i_1 >= n_1.len){ raiseIndexError2(i_1,n_1.len-1); goto BeforeRet_;
					}
					if (i_1 < 0 || i_1 >= n_1.len){ raiseIndexError2(i_1,n_1.len-1); goto BeforeRet_;
					}
					rawInsert__basicZversions_u2103(T13_, (&(*s_p0).data), n_1.p->data[i_1].Field1, n_1.p->data[i_1].Field0, j_1);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				}
LA10_: ;
				if (nimAddInt(res_1, ((NI)1), &TM__0JXiWyhP5OCO8jWMA6sb1w_13)) { raiseOverflow(); goto BeforeRet_;
				};
				res_1 = (NI)(TM__0JXiWyhP5OCO8jWMA6sb1w_13);
			} LA6: ;
		}
	}
	eqdestroy___basicZversions_u1310(n_1);
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, incl__basicZversions_u858)(tyObject_HashSet__v3AgR4bnzCtqFMiyBA9al4Q* s_p0, NimStringV2 key_p1) {
	NI hc_1;
	NI index_1;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		NI T3_;
		NI correctSizeX60gensym50__1;
		T3_ = (*s_p0).data.len;
		if (!(T3_ == ((NI)0))) goto LA4_;
		correctSizeX60gensym50__1 = slotsNeeded__pureZcollectionsZsets_u50(((NI)64));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		(*s_p0).counter = ((NI)0);
		if ((correctSizeX60gensym50__1) < ((NI)0) || (correctSizeX60gensym50__1) > ((NI)IL64(9223372036854775807))){ raiseRangeErrorI(correctSizeX60gensym50__1, ((NI)0), ((NI)IL64(9223372036854775807))); goto BeforeRet_;
		}
		newSeq__basicZversions_u929((&(*s_p0).data), (correctSizeX60gensym50__1));
	}
LA4_: ;
	hc_1 = (NI)0;
	index_1 = rawGet__basicZversions_u1056((*s_p0), key_p1, (&hc_1));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		tyObject_HashSet__v3AgR4bnzCtqFMiyBA9al4Q* T15_;
		NI TM__0JXiWyhP5OCO8jWMA6sb1w_14;
		NI TM__0JXiWyhP5OCO8jWMA6sb1w_15;
		if (!(index_1 < ((NI)0))) goto LA8_;
		{
			NIM_BOOL T12_;
			T12_ = (NIM_BOOL)0;
			T12_ = mustRehash__basicZversions_u1348((*s_p0));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (!T12_) goto LA13_;
			enlarge__basicZversions_u1530(s_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			index_1 = rawGetKnownHC__basicZversions_u1765((*s_p0), key_p1, hc_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA13_: ;
		T15_ = (tyObject_HashSet__v3AgR4bnzCtqFMiyBA9al4Q*)0;
		T15_ = s_p0;
		if (nimSubInt(((NI)-1), index_1, &TM__0JXiWyhP5OCO8jWMA6sb1w_14)) { raiseOverflow(); goto BeforeRet_;
		};
		rawInsert__basicZversions_u2103(T15_, (&(*s_p0).data), key_p1, hc_1, (NI)(TM__0JXiWyhP5OCO8jWMA6sb1w_14));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		if (nimAddInt((*s_p0).counter, ((NI)1), &TM__0JXiWyhP5OCO8jWMA6sb1w_15)) { raiseOverflow(); goto BeforeRet_;
		};
		(*s_p0).counter = (NI)(TM__0JXiWyhP5OCO8jWMA6sb1w_15);
	}
LA8_: ;
	}BeforeRet_: ;
}
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);
}
N_LIB_PRIVATE N_NIMCALL(void, init__OOZOOZOOZcompilerZoptions_u1059)(tyObject_HashSet__v3AgR4bnzCtqFMiyBA9al4Q* s_p0, NI initialSize_p1) {
	NI correctSizeX60gensym12__1;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	if ((initialSize_p1) < ((NI)0) || (initialSize_p1) > ((NI)IL64(9223372036854775807))){ raiseRangeErrorI(initialSize_p1, ((NI)0), ((NI)IL64(9223372036854775807))); goto BeforeRet_;
	}
	correctSizeX60gensym12__1 = slotsNeeded__pureZcollectionsZsets_u50((initialSize_p1));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	(*s_p0).counter = ((NI)0);
	if ((correctSizeX60gensym12__1) < ((NI)0) || (correctSizeX60gensym12__1) > ((NI)IL64(9223372036854775807))){ raiseRangeErrorI(correctSizeX60gensym12__1, ((NI)0), ((NI)IL64(9223372036854775807))); goto BeforeRet_;
	}
	newSeq__basicZversions_u929((&(*s_p0).data), (correctSizeX60gensym12__1));
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_HashSet__v3AgR4bnzCtqFMiyBA9al4Q, initHashSet__OOZOOZOOZcompilerZoptions_u1045)(NI initialSize_p0) {
	tyObject_HashSet__v3AgR4bnzCtqFMiyBA9al4Q result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	nimZeroMem((void*)(&result), sizeof(tyObject_HashSet__v3AgR4bnzCtqFMiyBA9al4Q));
	init__OOZOOZOOZcompilerZoptions_u1059((&result), initialSize_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___pureZnet_u332)(tySequence__8Np6tlClE5az1CyqZdN19bQ dest_p0) {
	if (dest_p0.p && !(dest_p0.p->cap & NIM_STRLIT_FLAG)) {
 alignedDealloc(dest_p0.p, NIM_ALIGNOF(tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ));
}
}
N_LIB_PRIVATE N_NIMCALL(void, init__pureZnet_u1502)(tyObject_HashSet__9aAVrrL6o7xnFQncOPM0SYQ* s_p0, NI initialSize_p1) {
	NI correctSizeX60gensym93__1;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	if ((initialSize_p1) < ((NI)0) || (initialSize_p1) > ((NI)IL64(9223372036854775807))){ raiseRangeErrorI(initialSize_p1, ((NI)0), ((NI)IL64(9223372036854775807))); goto BeforeRet_;
	}
	correctSizeX60gensym93__1 = slotsNeeded__pureZcollectionsZsets_u50((initialSize_p1));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	(*s_p0).counter = ((NI)0);
	if ((correctSizeX60gensym93__1) < ((NI)0) || (correctSizeX60gensym93__1) > ((NI)IL64(9223372036854775807))){ raiseRangeErrorI(correctSizeX60gensym93__1, ((NI)0), ((NI)IL64(9223372036854775807))); goto BeforeRet_;
	}
	newSeq__pureZnet_u1128((&(*s_p0).data), (correctSizeX60gensym93__1));
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_HashSet__9aAVrrL6o7xnFQncOPM0SYQ, initHashSet__pureZnet_u1488)(NI initialSize_p0) {
	tyObject_HashSet__9aAVrrL6o7xnFQncOPM0SYQ result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	nimZeroMem((void*)(&result), sizeof(tyObject_HashSet__9aAVrrL6o7xnFQncOPM0SYQ));
	init__pureZnet_u1502((&result), initialSize_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, containsOrIncl__basicZpackageinfos_u236)(tyObject_HashSet__v3AgR4bnzCtqFMiyBA9al4Q* s_p0, NimStringV2 key_p1) {
	NIM_BOOL result;
	NI hc_1;
	NI index_1;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NIM_BOOL)0;
	{
		NI T3_;
		NI correctSizeX60gensym10__1;
		T3_ = (*s_p0).data.len;
		if (!(T3_ == ((NI)0))) goto LA4_;
		correctSizeX60gensym10__1 = slotsNeeded__pureZcollectionsZsets_u50(((NI)64));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		(*s_p0).counter = ((NI)0);
		if ((correctSizeX60gensym10__1) < ((NI)0) || (correctSizeX60gensym10__1) > ((NI)IL64(9223372036854775807))){ raiseRangeErrorI(correctSizeX60gensym10__1, ((NI)0), ((NI)IL64(9223372036854775807))); goto BeforeRet_;
		}
		newSeq__basicZversions_u929((&(*s_p0).data), (correctSizeX60gensym10__1));
	}
LA4_: ;
	hc_1 = (NI)0;
	index_1 = rawGet__basicZversions_u1056((*s_p0), key_p1, (&hc_1));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		if (!(((NI)0) <= index_1)) goto LA8_;
		result = NIM_TRUE;
	}
	goto LA6_;
LA8_: ;
	{
		tyObject_HashSet__v3AgR4bnzCtqFMiyBA9al4Q* T16_;
		NI TM__0JXiWyhP5OCO8jWMA6sb1w_16;
		NI TM__0JXiWyhP5OCO8jWMA6sb1w_17;
		result = NIM_FALSE;
		{
			NIM_BOOL T13_;
			T13_ = (NIM_BOOL)0;
			T13_ = mustRehash__basicZversions_u1348((*s_p0));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (!T13_) goto LA14_;
			enlarge__basicZversions_u1530(s_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			index_1 = rawGetKnownHC__basicZversions_u1765((*s_p0), key_p1, hc_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA14_: ;
		T16_ = (tyObject_HashSet__v3AgR4bnzCtqFMiyBA9al4Q*)0;
		T16_ = s_p0;
		if (nimSubInt(((NI)-1), index_1, &TM__0JXiWyhP5OCO8jWMA6sb1w_16)) { raiseOverflow(); goto BeforeRet_;
		};
		rawInsert__basicZversions_u2103(T16_, (&(*s_p0).data), key_p1, hc_1, (NI)(TM__0JXiWyhP5OCO8jWMA6sb1w_16));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		if (nimAddInt((*s_p0).counter, ((NI)1), &TM__0JXiWyhP5OCO8jWMA6sb1w_17)) { raiseOverflow(); goto BeforeRet_;
		};
		(*s_p0).counter = (NI)(TM__0JXiWyhP5OCO8jWMA6sb1w_17);
	}
LA6_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___basicZversions_u5014)(tyObject_HashSet__v3AgR4bnzCtqFMiyBA9al4Q* dest_p0) {
	eqdestroy___basicZversions_u1310((*dest_p0).data);
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, contains__basicZversions_u4165)(tyObject_HashSet__v3AgR4bnzCtqFMiyBA9al4Q s_p0, NimStringV2 key_p1) {
	NIM_BOOL result;
	NI hc_1;
	NI index_1;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NIM_BOOL)0;
	hc_1 = 0;
	index_1 = rawGet__basicZversions_u1056(s_p0, key_p1, (&hc_1));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	result = (((NI)0) <= index_1);
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___basicZgitops_u1600)(tySequence__U9bYx6tPvWzQNzbZoriLUYA dest_p0) {
	NI colontmp_;
	colontmp_ = ((NI)0);
	{
		while (1) {
			NI T3_;
			T3_ = dest_p0.len;
			if (!(colontmp_ < T3_)) goto LA2;
			if (dest_p0.p->data[colontmp_].Field1.v.p && !(dest_p0.p->data[colontmp_].Field1.v.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(dest_p0.p->data[colontmp_].Field1.v.p);
}
			if (dest_p0.p->data[colontmp_].Field1.c.h.p && !(dest_p0.p->data[colontmp_].Field1.c.h.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(dest_p0.p->data[colontmp_].Field1.c.h.p);
}
			colontmp_ += ((NI)1);
		} LA2: ;
	}
	if (dest_p0.p && !(dest_p0.p->cap & NIM_STRLIT_FLAG)) {
 alignedDealloc(dest_p0.p, NIM_ALIGNOF(tyTuple__5z13DioL2O9cny1CehriGcQ));
}
}
N_LIB_PRIVATE N_NIMCALL(void, eqsink___basicZversions_u5023)(tyObject_HashSet__v3AgR4bnzCtqFMiyBA9al4Q* dest_p0, tyObject_HashSet__v3AgR4bnzCtqFMiyBA9al4Q src_p1) {
	if ((*dest_p0).data.p != src_p1.data.p) {	eqdestroy___basicZversions_u1310((*dest_p0).data);
	}
(*dest_p0).data.len = src_p1.data.len; (*dest_p0).data.p = src_p1.data.p;
	(*dest_p0).counter = src_p1.counter;
}
N_LIB_PRIVATE N_NIMCALL(void, eqwasMoved___basicZversions_u5011)(tyObject_HashSet__v3AgR4bnzCtqFMiyBA9al4Q* dest_p0) {
	(*dest_p0).data.len = 0; (*dest_p0).data.p = NIM_NIL;
	(*dest_p0).counter = 0;
}
N_LIB_PRIVATE N_NIMCALL(tySequence__4eRCaZmrYLLw2k30GPTiMw, eqdup___basicZversions_u1316)(tySequence__4eRCaZmrYLLw2k30GPTiMw src_p0) {
	tySequence__4eRCaZmrYLLw2k30GPTiMw result;
	NI T1_;
	NI colontmp_;
	result.len = 0; result.p = NIM_NIL;
	T1_ = src_p0.len;
	setLen__basicZversions_u937((&result), T1_);
	colontmp_ = ((NI)0);
	{
		while (1) {
			NI T4_;
			T4_ = result.len;
			if (!(colontmp_ < T4_)) goto LA3;
			result.p->data[colontmp_].Field0 = src_p0.p->data[colontmp_].Field0;
			result.p->data[colontmp_].Field1 = eqdup___system_u2757(src_p0.p->data[colontmp_].Field1);
			colontmp_ += ((NI)1);
		} LA3: ;
	}
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_HashSet__v3AgR4bnzCtqFMiyBA9al4Q, eqdup___basicZversions_u5020)(tyObject_HashSet__v3AgR4bnzCtqFMiyBA9al4Q src_p0) {
	tyObject_HashSet__v3AgR4bnzCtqFMiyBA9al4Q result;
	nimZeroMem((void*)(&result), sizeof(tyObject_HashSet__v3AgR4bnzCtqFMiyBA9al4Q));
	result.data = eqdup___basicZversions_u1316(src_p0.data);
	result.counter = src_p0.counter;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___basicZgitops_u1552)(tyTuple__5z13DioL2O9cny1CehriGcQ* dest_p0) {
	if ((*dest_p0).Field1.v.p && !((*dest_p0).Field1.v.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared((*dest_p0).Field1.v.p);
}
	if ((*dest_p0).Field1.c.h.p && !((*dest_p0).Field1.c.h.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared((*dest_p0).Field1.c.h.p);
}
}
N_LIB_PRIVATE N_NIMCALL(void, eqwasMoved___basicZgitops_u1549)(tyTuple__5z13DioL2O9cny1CehriGcQ* dest_p0) {
	(*dest_p0).Field0 = 0;
	(*dest_p0).Field1.c.h.len = 0; (*dest_p0).Field1.c.h.p = NIM_NIL;
	(*dest_p0).Field1.c.orig = 0;
	(*dest_p0).Field1.v.len = 0; (*dest_p0).Field1.v.p = NIM_NIL;
	(*dest_p0).Field1.isTip = 0;
}
static N_INLINE(NI, rawGet__basicZgitops_u1772)(tyObject_HashSet__Uwr6yc54j9cc7mpkQIvCLZA t_p0, tyObject_VersionTag__io9bcihbopiwucKorobyKdg* key_p1, NI* hc_p2) {
	NI result;
	NI T1_;
	NI h_1;
	NI T11_;
	NI TM__0JXiWyhP5OCO8jWMA6sb1w_18;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NI)0;
	T1_ = (NI)0;
	T1_ = hash__basicZversions_u5268(key_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	(*hc_p2) = T1_;
	{
		if (!((*hc_p2) == ((NI)0))) goto LA4_;
		(*hc_p2) = ((NI)314159265);
	}
LA4_: ;
	{
		NI T8_;
		T8_ = t_p0.data.len;
		if (!(T8_ == ((NI)0))) goto LA9_;
		result = ((NI)-1);
		goto BeforeRet_;
	}
LA9_: ;
	T11_ = (t_p0.data.len-1);
	h_1 = (NI)((*hc_p2) & T11_);
	{
		while (1) {
			NIM_BOOL T14_;
			NI T21_;
			if (h_1 < 0 || h_1 >= t_p0.data.len){ raiseIndexError2(h_1,t_p0.data.len-1); goto BeforeRet_;
			}
			T14_ = (NIM_BOOL)0;
			T14_ = isFilled__pureZcollectionsZsets_u39(t_p0.data.p->data[h_1].Field0);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (!T14_) goto LA13;
			{
				NIM_BOOL T17_;
				T17_ = (NIM_BOOL)0;
				if (h_1 < 0 || h_1 >= t_p0.data.len){ raiseIndexError2(h_1,t_p0.data.len-1); goto BeforeRet_;
				}
				T17_ = (t_p0.data.p->data[h_1].Field0 == (*hc_p2));
				if (!(T17_)) goto LA18_;
				if (h_1 < 0 || h_1 >= t_p0.data.len){ raiseIndexError2(h_1,t_p0.data.len-1); goto BeforeRet_;
				}
				T17_ = eqeq___basicZversions_u5272((&t_p0.data.p->data[h_1].Field1), key_p1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
LA18_: ;
				if (!T17_) goto LA19_;
				result = h_1;
				goto BeforeRet_;
			}
LA19_: ;
			T21_ = (t_p0.data.len-1);
			h_1 = nextTry__pureZcollectionsZsets_u42(h_1, T21_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		} LA13: ;
	}
	if (nimSubInt(((NI)-1), h_1, &TM__0JXiWyhP5OCO8jWMA6sb1w_18)) { raiseOverflow(); goto BeforeRet_;
	};
	result = (NI)(TM__0JXiWyhP5OCO8jWMA6sb1w_18);
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NIM_BOOL, mustRehash__basicZgitops_u2024)(tyObject_HashSet__Uwr6yc54j9cc7mpkQIvCLZA t_p0) {
	NIM_BOOL result;
	NIM_BOOL T6_;
	NI T7_;
	NI TM__0JXiWyhP5OCO8jWMA6sb1w_20;
	NI T9_;
	NI TM__0JXiWyhP5OCO8jWMA6sb1w_21;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NIM_BOOL)0;
	{
		NI T3_;
		T3_ = t_p0.data.len;
		if (!!((t_p0.counter < T3_))) goto LA4_;
		failedAssertImpl__stdZassertions_u95(TM__0JXiWyhP5OCO8jWMA6sb1w_19);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA4_: ;
	T6_ = (NIM_BOOL)0;
	T7_ = t_p0.data.len;
	if (nimAddInt(t_p0.counter, (NI)((t_p0.counter) / (((NI)2))), &TM__0JXiWyhP5OCO8jWMA6sb1w_20)) { raiseOverflow(); goto BeforeRet_;
	};
	T6_ = (T7_ < (NI)(TM__0JXiWyhP5OCO8jWMA6sb1w_20));
	if (T6_) goto LA8_;
	T9_ = t_p0.data.len;
	if (nimSubInt(T9_, t_p0.counter, &TM__0JXiWyhP5OCO8jWMA6sb1w_21)) { raiseOverflow(); goto BeforeRet_;
	};
	T6_ = ((NI)(TM__0JXiWyhP5OCO8jWMA6sb1w_21) < ((NI)4));
LA8_: ;
	result = T6_;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NI, rawGetKnownHC__basicZgitops_u2441)(tyObject_HashSet__Uwr6yc54j9cc7mpkQIvCLZA t_p0, tyObject_VersionTag__io9bcihbopiwucKorobyKdg* key_p1, NI hc_p2) {
	NI result;
	NI h_1;
	NI T6_;
	NI TM__0JXiWyhP5OCO8jWMA6sb1w_23;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NI)0;
	{
		NI T3_;
		T3_ = t_p0.data.len;
		if (!(T3_ == ((NI)0))) goto LA4_;
		result = ((NI)-1);
		goto BeforeRet_;
	}
LA4_: ;
	T6_ = (t_p0.data.len-1);
	h_1 = (NI)(hc_p2 & T6_);
	{
		while (1) {
			NIM_BOOL T9_;
			NI T16_;
			if (h_1 < 0 || h_1 >= t_p0.data.len){ raiseIndexError2(h_1,t_p0.data.len-1); goto BeforeRet_;
			}
			T9_ = (NIM_BOOL)0;
			T9_ = isFilled__pureZcollectionsZsets_u39(t_p0.data.p->data[h_1].Field0);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (!T9_) goto LA8;
			{
				NIM_BOOL T12_;
				T12_ = (NIM_BOOL)0;
				if (h_1 < 0 || h_1 >= t_p0.data.len){ raiseIndexError2(h_1,t_p0.data.len-1); goto BeforeRet_;
				}
				T12_ = (t_p0.data.p->data[h_1].Field0 == hc_p2);
				if (!(T12_)) goto LA13_;
				if (h_1 < 0 || h_1 >= t_p0.data.len){ raiseIndexError2(h_1,t_p0.data.len-1); goto BeforeRet_;
				}
				T12_ = eqeq___basicZversions_u5272((&t_p0.data.p->data[h_1].Field1), key_p1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
LA13_: ;
				if (!T12_) goto LA14_;
				result = h_1;
				goto BeforeRet_;
			}
LA14_: ;
			T16_ = (t_p0.data.len-1);
			h_1 = nextTry__pureZcollectionsZsets_u42(h_1, T16_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		} LA8: ;
	}
	if (nimSubInt(((NI)-1), h_1, &TM__0JXiWyhP5OCO8jWMA6sb1w_23)) { raiseOverflow(); goto BeforeRet_;
	};
	result = (NI)(TM__0JXiWyhP5OCO8jWMA6sb1w_23);
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, rawInsert__basicZgitops_u2779)(tyObject_HashSet__Uwr6yc54j9cc7mpkQIvCLZA* s_p0, tySequence__U9bYx6tPvWzQNzbZoriLUYA* data_p1, tyObject_VersionTag__io9bcihbopiwucKorobyKdg* key_p2, NI hc_p3, NI h_p4) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		NI T3_;
		NI correctSizeX60gensym102__1;
		T3_ = (*data_p1).len;
		if (!(T3_ == ((NI)0))) goto LA4_;
		correctSizeX60gensym102__1 = slotsNeeded__pureZcollectionsZsets_u50(((NI)64));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		(*s_p0).counter = ((NI)0);
		if ((correctSizeX60gensym102__1) < ((NI)0) || (correctSizeX60gensym102__1) > ((NI)IL64(9223372036854775807))){ raiseRangeErrorI(correctSizeX60gensym102__1, ((NI)0), ((NI)IL64(9223372036854775807))); goto BeforeRet_;
		}
		newSeq__basicZgitops_u1474((&(*s_p0).data), (correctSizeX60gensym102__1));
	}
LA4_: ;
	if (h_p4 < 0 || h_p4 >= (*data_p1).len){ raiseIndexError2(h_p4,(*data_p1).len-1); goto BeforeRet_;
	}
	eqcopy___basicZversions_u3512((&(*data_p1).p->data[h_p4].Field1), key_p2);
	if (h_p4 < 0 || h_p4 >= (*data_p1).len){ raiseIndexError2(h_p4,(*data_p1).len-1); goto BeforeRet_;
	}
	(*data_p1).p->data[h_p4].Field0 = hc_p3;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, enlarge__basicZgitops_u2206)(tyObject_HashSet__Uwr6yc54j9cc7mpkQIvCLZA* s_p0) {
	tySequence__U9bYx6tPvWzQNzbZoriLUYA n_1;
	NI T1_;
	NI TM__0JXiWyhP5OCO8jWMA6sb1w_22;
	tySequence__U9bYx6tPvWzQNzbZoriLUYA T2_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	n_1.len = 0; n_1.p = NIM_NIL;
	T1_ = (*s_p0).data.len;
	if (nimMulInt(T1_, ((NI)2), &TM__0JXiWyhP5OCO8jWMA6sb1w_22)) { raiseOverflow(); goto BeforeRet_;
	};
	if (((NI)(TM__0JXiWyhP5OCO8jWMA6sb1w_22)) < ((NI)0) || ((NI)(TM__0JXiWyhP5OCO8jWMA6sb1w_22)) > ((NI)IL64(9223372036854775807))){ raiseRangeErrorI((NI)(TM__0JXiWyhP5OCO8jWMA6sb1w_22), ((NI)0), ((NI)IL64(9223372036854775807))); goto BeforeRet_;
	}
	newSeq__basicZgitops_u1474((&n_1), ((NI)(TM__0JXiWyhP5OCO8jWMA6sb1w_22)));
	T2_.len = 0; T2_.p = NIM_NIL;
	T2_ = (*s_p0).data;
	(*s_p0).data = n_1;
	n_1 = T2_;
	{
		NI i_1;
		NI colontmp_;
		NI T4_;
		NI res_1;
		i_1 = (NI)0;
		colontmp_ = (NI)0;
		T4_ = (n_1.len-1);
		colontmp_ = T4_;
		res_1 = ((NI)0);
		{
			while (1) {
				NI TM__0JXiWyhP5OCO8jWMA6sb1w_25;
				if (!(res_1 <= colontmp_)) goto LA6;
				i_1 = ((NI) (res_1));
				{
					NIM_BOOL T9_;
					NI j_1;
					NI T12_;
					NI TM__0JXiWyhP5OCO8jWMA6sb1w_24;
					tyObject_HashSet__Uwr6yc54j9cc7mpkQIvCLZA* T13_;
					if (i_1 < 0 || i_1 >= n_1.len){ raiseIndexError2(i_1,n_1.len-1); goto BeforeRet_;
					}
					T9_ = (NIM_BOOL)0;
					T9_ = isFilled__pureZcollectionsZsets_u39(n_1.p->data[i_1].Field0);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					if (!T9_) goto LA10_;
					if (i_1 < 0 || i_1 >= n_1.len){ raiseIndexError2(i_1,n_1.len-1); goto BeforeRet_;
					}
					if (i_1 < 0 || i_1 >= n_1.len){ raiseIndexError2(i_1,n_1.len-1); goto BeforeRet_;
					}
					T12_ = (NI)0;
					T12_ = rawGetKnownHC__basicZgitops_u2441((*s_p0), (&n_1.p->data[i_1].Field1), n_1.p->data[i_1].Field0);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					if (nimSubInt(((NI)-1), T12_, &TM__0JXiWyhP5OCO8jWMA6sb1w_24)) { raiseOverflow(); goto BeforeRet_;
					};
					j_1 = (NI)(TM__0JXiWyhP5OCO8jWMA6sb1w_24);
					T13_ = (tyObject_HashSet__Uwr6yc54j9cc7mpkQIvCLZA*)0;
					T13_ = s_p0;
					if (i_1 < 0 || i_1 >= n_1.len){ raiseIndexError2(i_1,n_1.len-1); goto BeforeRet_;
					}
					if (i_1 < 0 || i_1 >= n_1.len){ raiseIndexError2(i_1,n_1.len-1); goto BeforeRet_;
					}
					rawInsert__basicZgitops_u2779(T13_, (&(*s_p0).data), (&n_1.p->data[i_1].Field1), n_1.p->data[i_1].Field0, j_1);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				}
LA10_: ;
				if (nimAddInt(res_1, ((NI)1), &TM__0JXiWyhP5OCO8jWMA6sb1w_25)) { raiseOverflow(); goto BeforeRet_;
				};
				res_1 = (NI)(TM__0JXiWyhP5OCO8jWMA6sb1w_25);
			} LA6: ;
		}
	}
	eqdestroy___basicZgitops_u1600(n_1);
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, incl__basicZgitops_u1690)(tyObject_HashSet__Uwr6yc54j9cc7mpkQIvCLZA* s_p0, tyObject_VersionTag__io9bcihbopiwucKorobyKdg* key_p1) {
	NI hc_1;
	NI index_1;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		NI T3_;
		NI correctSizeX60gensym93__1;
		T3_ = (*s_p0).data.len;
		if (!(T3_ == ((NI)0))) goto LA4_;
		correctSizeX60gensym93__1 = slotsNeeded__pureZcollectionsZsets_u50(((NI)64));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		(*s_p0).counter = ((NI)0);
		if ((correctSizeX60gensym93__1) < ((NI)0) || (correctSizeX60gensym93__1) > ((NI)IL64(9223372036854775807))){ raiseRangeErrorI(correctSizeX60gensym93__1, ((NI)0), ((NI)IL64(9223372036854775807))); goto BeforeRet_;
		}
		newSeq__basicZgitops_u1474((&(*s_p0).data), (correctSizeX60gensym93__1));
	}
LA4_: ;
	hc_1 = (NI)0;
	index_1 = rawGet__basicZgitops_u1772((*s_p0), key_p1, (&hc_1));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		tyObject_HashSet__Uwr6yc54j9cc7mpkQIvCLZA* T15_;
		NI TM__0JXiWyhP5OCO8jWMA6sb1w_26;
		NI TM__0JXiWyhP5OCO8jWMA6sb1w_27;
		if (!(index_1 < ((NI)0))) goto LA8_;
		{
			NIM_BOOL T12_;
			T12_ = (NIM_BOOL)0;
			T12_ = mustRehash__basicZgitops_u2024((*s_p0));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (!T12_) goto LA13_;
			enlarge__basicZgitops_u2206(s_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			index_1 = rawGetKnownHC__basicZgitops_u2441((*s_p0), key_p1, hc_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA13_: ;
		T15_ = (tyObject_HashSet__Uwr6yc54j9cc7mpkQIvCLZA*)0;
		T15_ = s_p0;
		if (nimSubInt(((NI)-1), index_1, &TM__0JXiWyhP5OCO8jWMA6sb1w_26)) { raiseOverflow(); goto BeforeRet_;
		};
		rawInsert__basicZgitops_u2779(T15_, (&(*s_p0).data), key_p1, hc_1, (NI)(TM__0JXiWyhP5OCO8jWMA6sb1w_26));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		if (nimAddInt((*s_p0).counter, ((NI)1), &TM__0JXiWyhP5OCO8jWMA6sb1w_27)) { raiseOverflow(); goto BeforeRet_;
		};
		(*s_p0).counter = (NI)(TM__0JXiWyhP5OCO8jWMA6sb1w_27);
	}
LA8_: ;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, eqsink___basicZgitops_u1649)(tyObject_HashSet__Uwr6yc54j9cc7mpkQIvCLZA* dest_p0, tyObject_HashSet__Uwr6yc54j9cc7mpkQIvCLZA src_p1) {
	if ((*dest_p0).data.p != src_p1.data.p) {	eqdestroy___basicZgitops_u1600((*dest_p0).data);
	}
(*dest_p0).data.len = src_p1.data.len; (*dest_p0).data.p = src_p1.data.p;
	(*dest_p0).counter = src_p1.counter;
}
N_LIB_PRIVATE N_NIMCALL(void, eqwasMoved___basicZgitops_u1637)(tyObject_HashSet__Uwr6yc54j9cc7mpkQIvCLZA* dest_p0) {
	(*dest_p0).data.len = 0; (*dest_p0).data.p = NIM_NIL;
	(*dest_p0).counter = 0;
}
N_LIB_PRIVATE N_NIMCALL(tySequence__U9bYx6tPvWzQNzbZoriLUYA, eqdup___basicZgitops_u1606)(tySequence__U9bYx6tPvWzQNzbZoriLUYA src_p0) {
	tySequence__U9bYx6tPvWzQNzbZoriLUYA result;
	NI T1_;
	NI colontmp_;
	result.len = 0; result.p = NIM_NIL;
	T1_ = src_p0.len;
	setLen__basicZgitops_u1482((&result), T1_);
	colontmp_ = ((NI)0);
	{
		while (1) {
			NI T4_;
			T4_ = result.len;
			if (!(colontmp_ < T4_)) goto LA3;
			result.p->data[colontmp_].Field0 = src_p0.p->data[colontmp_].Field0;
			result.p->data[colontmp_].Field1.c.h = eqdup___system_u2757(src_p0.p->data[colontmp_].Field1.c.h);
			result.p->data[colontmp_].Field1.c.orig = src_p0.p->data[colontmp_].Field1.c.orig;
			result.p->data[colontmp_].Field1.v = eqdup___system_u2757(src_p0.p->data[colontmp_].Field1.v);
			result.p->data[colontmp_].Field1.isTip = src_p0.p->data[colontmp_].Field1.isTip;
			colontmp_ += ((NI)1);
		} LA3: ;
	}
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_HashSet__Uwr6yc54j9cc7mpkQIvCLZA, eqdup___basicZgitops_u1646)(tyObject_HashSet__Uwr6yc54j9cc7mpkQIvCLZA src_p0) {
	tyObject_HashSet__Uwr6yc54j9cc7mpkQIvCLZA result;
	nimZeroMem((void*)(&result), sizeof(tyObject_HashSet__Uwr6yc54j9cc7mpkQIvCLZA));
	result.data = eqdup___basicZgitops_u1606(src_p0.data);
	result.counter = src_p0.counter;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, init__basicZgitops_u1458)(tyObject_HashSet__Uwr6yc54j9cc7mpkQIvCLZA* s_p0, NI initialSize_p1) {
	NI correctSizeX60gensym92__1;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	if ((initialSize_p1) < ((NI)0) || (initialSize_p1) > ((NI)IL64(9223372036854775807))){ raiseRangeErrorI(initialSize_p1, ((NI)0), ((NI)IL64(9223372036854775807))); goto BeforeRet_;
	}
	correctSizeX60gensym92__1 = slotsNeeded__pureZcollectionsZsets_u50((initialSize_p1));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	(*s_p0).counter = ((NI)0);
	if ((correctSizeX60gensym92__1) < ((NI)0) || (correctSizeX60gensym92__1) > ((NI)IL64(9223372036854775807))){ raiseRangeErrorI(correctSizeX60gensym92__1, ((NI)0), ((NI)IL64(9223372036854775807))); goto BeforeRet_;
	}
	newSeq__basicZgitops_u1474((&(*s_p0).data), (correctSizeX60gensym92__1));
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_HashSet__Uwr6yc54j9cc7mpkQIvCLZA, initHashSet__basicZgitops_u1444)(NI initialSize_p0) {
	tyObject_HashSet__Uwr6yc54j9cc7mpkQIvCLZA result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	nimZeroMem((void*)(&result), sizeof(tyObject_HashSet__Uwr6yc54j9cc7mpkQIvCLZA));
	init__basicZgitops_u1458((&result), initialSize_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___basicZgitops_u1640)(tyObject_HashSet__Uwr6yc54j9cc7mpkQIvCLZA* dest_p0) {
	eqdestroy___basicZgitops_u1600((*dest_p0).data);
}
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___dependencies_u5429)(tyTuple__BOZJ2dQmr8noelxhx9c8g1Q* dest_p0) {
	if ((*dest_p0).Field1.h.p && !((*dest_p0).Field1.h.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared((*dest_p0).Field1.h.p);
}
}
N_LIB_PRIVATE N_NIMCALL(void, eqwasMoved___dependencies_u5426)(tyTuple__BOZJ2dQmr8noelxhx9c8g1Q* dest_p0) {
	(*dest_p0).Field0 = 0;
	(*dest_p0).Field1.h.len = 0; (*dest_p0).Field1.h.p = NIM_NIL;
	(*dest_p0).Field1.orig = 0;
}
static N_INLINE(NI, rawGet__dependencies_u5480)(tyObject_HashSet__Lvmn6BdMHxS172FqqpvhUQ t_p0, tyObject_CommitHash__ENSoVMeDKmDIP8obk69cDaA key_p1, NI* hc_p2) {
	NI result;
	NI T1_;
	NI h_1;
	NI T11_;
	NI TM__0JXiWyhP5OCO8jWMA6sb1w_28;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NI)0;
	T1_ = (NI)0;
	T1_ = hash__basicZversions_u5265(key_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	(*hc_p2) = T1_;
	{
		if (!((*hc_p2) == ((NI)0))) goto LA4_;
		(*hc_p2) = ((NI)314159265);
	}
LA4_: ;
	{
		NI T8_;
		T8_ = t_p0.data.len;
		if (!(T8_ == ((NI)0))) goto LA9_;
		result = ((NI)-1);
		goto BeforeRet_;
	}
LA9_: ;
	T11_ = (t_p0.data.len-1);
	h_1 = (NI)((*hc_p2) & T11_);
	{
		while (1) {
			NIM_BOOL T14_;
			NI T21_;
			if (h_1 < 0 || h_1 >= t_p0.data.len){ raiseIndexError2(h_1,t_p0.data.len-1); goto BeforeRet_;
			}
			T14_ = (NIM_BOOL)0;
			T14_ = isFilled__pureZcollectionsZsets_u39(t_p0.data.p->data[h_1].Field0);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (!T14_) goto LA13;
			{
				NIM_BOOL T17_;
				T17_ = (NIM_BOOL)0;
				if (h_1 < 0 || h_1 >= t_p0.data.len){ raiseIndexError2(h_1,t_p0.data.len-1); goto BeforeRet_;
				}
				T17_ = (t_p0.data.p->data[h_1].Field0 == (*hc_p2));
				if (!(T17_)) goto LA18_;
				if (h_1 < 0 || h_1 >= t_p0.data.len){ raiseIndexError2(h_1,t_p0.data.len-1); goto BeforeRet_;
				}
				T17_ = eqeq___basicZversions_u5261(t_p0.data.p->data[h_1].Field1, key_p1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
LA18_: ;
				if (!T17_) goto LA19_;
				result = h_1;
				goto BeforeRet_;
			}
LA19_: ;
			T21_ = (t_p0.data.len-1);
			h_1 = nextTry__pureZcollectionsZsets_u42(h_1, T21_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		} LA13: ;
	}
	if (nimSubInt(((NI)-1), h_1, &TM__0JXiWyhP5OCO8jWMA6sb1w_28)) { raiseOverflow(); goto BeforeRet_;
	};
	result = (NI)(TM__0JXiWyhP5OCO8jWMA6sb1w_28);
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NIM_BOOL, mustRehash__dependencies_u5772)(tyObject_HashSet__Lvmn6BdMHxS172FqqpvhUQ t_p0) {
	NIM_BOOL result;
	NIM_BOOL T6_;
	NI T7_;
	NI TM__0JXiWyhP5OCO8jWMA6sb1w_30;
	NI T9_;
	NI TM__0JXiWyhP5OCO8jWMA6sb1w_31;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NIM_BOOL)0;
	{
		NI T3_;
		T3_ = t_p0.data.len;
		if (!!((t_p0.counter < T3_))) goto LA4_;
		failedAssertImpl__stdZassertions_u95(TM__0JXiWyhP5OCO8jWMA6sb1w_29);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA4_: ;
	T6_ = (NIM_BOOL)0;
	T7_ = t_p0.data.len;
	if (nimAddInt(t_p0.counter, (NI)((t_p0.counter) / (((NI)2))), &TM__0JXiWyhP5OCO8jWMA6sb1w_30)) { raiseOverflow(); goto BeforeRet_;
	};
	T6_ = (T7_ < (NI)(TM__0JXiWyhP5OCO8jWMA6sb1w_30));
	if (T6_) goto LA8_;
	T9_ = t_p0.data.len;
	if (nimSubInt(T9_, t_p0.counter, &TM__0JXiWyhP5OCO8jWMA6sb1w_31)) { raiseOverflow(); goto BeforeRet_;
	};
	T6_ = ((NI)(TM__0JXiWyhP5OCO8jWMA6sb1w_31) < ((NI)4));
LA8_: ;
	result = T6_;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NI, rawGetKnownHC__dependencies_u6189)(tyObject_HashSet__Lvmn6BdMHxS172FqqpvhUQ t_p0, tyObject_CommitHash__ENSoVMeDKmDIP8obk69cDaA key_p1, NI hc_p2) {
	NI result;
	NI h_1;
	NI T6_;
	NI TM__0JXiWyhP5OCO8jWMA6sb1w_33;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NI)0;
	{
		NI T3_;
		T3_ = t_p0.data.len;
		if (!(T3_ == ((NI)0))) goto LA4_;
		result = ((NI)-1);
		goto BeforeRet_;
	}
LA4_: ;
	T6_ = (t_p0.data.len-1);
	h_1 = (NI)(hc_p2 & T6_);
	{
		while (1) {
			NIM_BOOL T9_;
			NI T16_;
			if (h_1 < 0 || h_1 >= t_p0.data.len){ raiseIndexError2(h_1,t_p0.data.len-1); goto BeforeRet_;
			}
			T9_ = (NIM_BOOL)0;
			T9_ = isFilled__pureZcollectionsZsets_u39(t_p0.data.p->data[h_1].Field0);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (!T9_) goto LA8;
			{
				NIM_BOOL T12_;
				T12_ = (NIM_BOOL)0;
				if (h_1 < 0 || h_1 >= t_p0.data.len){ raiseIndexError2(h_1,t_p0.data.len-1); goto BeforeRet_;
				}
				T12_ = (t_p0.data.p->data[h_1].Field0 == hc_p2);
				if (!(T12_)) goto LA13_;
				if (h_1 < 0 || h_1 >= t_p0.data.len){ raiseIndexError2(h_1,t_p0.data.len-1); goto BeforeRet_;
				}
				T12_ = eqeq___basicZversions_u5261(t_p0.data.p->data[h_1].Field1, key_p1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
LA13_: ;
				if (!T12_) goto LA14_;
				result = h_1;
				goto BeforeRet_;
			}
LA14_: ;
			T16_ = (t_p0.data.len-1);
			h_1 = nextTry__pureZcollectionsZsets_u42(h_1, T16_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		} LA8: ;
	}
	if (nimSubInt(((NI)-1), h_1, &TM__0JXiWyhP5OCO8jWMA6sb1w_33)) { raiseOverflow(); goto BeforeRet_;
	};
	result = (NI)(TM__0JXiWyhP5OCO8jWMA6sb1w_33);
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, rawInsert__dependencies_u6527)(tyObject_HashSet__Lvmn6BdMHxS172FqqpvhUQ* s_p0, tySequence__LBJLCEp9cnUIr0If9a3YFyCQ* data_p1, tyObject_CommitHash__ENSoVMeDKmDIP8obk69cDaA key_p2, NI hc_p3, NI h_p4) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		NI T3_;
		NI correctSizeX60gensym91__1;
		T3_ = (*data_p1).len;
		if (!(T3_ == ((NI)0))) goto LA4_;
		correctSizeX60gensym91__1 = slotsNeeded__pureZcollectionsZsets_u50(((NI)64));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		(*s_p0).counter = ((NI)0);
		if ((correctSizeX60gensym91__1) < ((NI)0) || (correctSizeX60gensym91__1) > ((NI)IL64(9223372036854775807))){ raiseRangeErrorI(correctSizeX60gensym91__1, ((NI)0), ((NI)IL64(9223372036854775807))); goto BeforeRet_;
		}
		newSeq__dependencies_u5352((&(*s_p0).data), (correctSizeX60gensym91__1));
	}
LA4_: ;
	if (h_p4 < 0 || h_p4 >= (*data_p1).len){ raiseIndexError2(h_p4,(*data_p1).len-1); goto BeforeRet_;
	}
	eqcopy___basicZversions_u114((&(*data_p1).p->data[h_p4].Field1), key_p2);
	if (h_p4 < 0 || h_p4 >= (*data_p1).len){ raiseIndexError2(h_p4,(*data_p1).len-1); goto BeforeRet_;
	}
	(*data_p1).p->data[h_p4].Field0 = hc_p3;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___dependencies_u5734)(tySequence__LBJLCEp9cnUIr0If9a3YFyCQ dest_p0) {
	NI colontmp_;
	colontmp_ = ((NI)0);
	{
		while (1) {
			NI T3_;
			T3_ = dest_p0.len;
			if (!(colontmp_ < T3_)) goto LA2;
			if (dest_p0.p->data[colontmp_].Field1.h.p && !(dest_p0.p->data[colontmp_].Field1.h.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(dest_p0.p->data[colontmp_].Field1.h.p);
}
			colontmp_ += ((NI)1);
		} LA2: ;
	}
	if (dest_p0.p && !(dest_p0.p->cap & NIM_STRLIT_FLAG)) {
 alignedDealloc(dest_p0.p, NIM_ALIGNOF(tyTuple__BOZJ2dQmr8noelxhx9c8g1Q));
}
}
N_LIB_PRIVATE N_NIMCALL(void, enlarge__dependencies_u5954)(tyObject_HashSet__Lvmn6BdMHxS172FqqpvhUQ* s_p0) {
	tySequence__LBJLCEp9cnUIr0If9a3YFyCQ n_1;
	NI T1_;
	NI TM__0JXiWyhP5OCO8jWMA6sb1w_32;
	tySequence__LBJLCEp9cnUIr0If9a3YFyCQ T2_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	n_1.len = 0; n_1.p = NIM_NIL;
	T1_ = (*s_p0).data.len;
	if (nimMulInt(T1_, ((NI)2), &TM__0JXiWyhP5OCO8jWMA6sb1w_32)) { raiseOverflow(); goto BeforeRet_;
	};
	if (((NI)(TM__0JXiWyhP5OCO8jWMA6sb1w_32)) < ((NI)0) || ((NI)(TM__0JXiWyhP5OCO8jWMA6sb1w_32)) > ((NI)IL64(9223372036854775807))){ raiseRangeErrorI((NI)(TM__0JXiWyhP5OCO8jWMA6sb1w_32), ((NI)0), ((NI)IL64(9223372036854775807))); goto BeforeRet_;
	}
	newSeq__dependencies_u5352((&n_1), ((NI)(TM__0JXiWyhP5OCO8jWMA6sb1w_32)));
	T2_.len = 0; T2_.p = NIM_NIL;
	T2_ = (*s_p0).data;
	(*s_p0).data = n_1;
	n_1 = T2_;
	{
		NI i_1;
		NI colontmp_;
		NI T4_;
		NI res_1;
		i_1 = (NI)0;
		colontmp_ = (NI)0;
		T4_ = (n_1.len-1);
		colontmp_ = T4_;
		res_1 = ((NI)0);
		{
			while (1) {
				NI TM__0JXiWyhP5OCO8jWMA6sb1w_35;
				if (!(res_1 <= colontmp_)) goto LA6;
				i_1 = ((NI) (res_1));
				{
					NIM_BOOL T9_;
					NI j_1;
					NI T12_;
					NI TM__0JXiWyhP5OCO8jWMA6sb1w_34;
					tyObject_HashSet__Lvmn6BdMHxS172FqqpvhUQ* T13_;
					if (i_1 < 0 || i_1 >= n_1.len){ raiseIndexError2(i_1,n_1.len-1); goto BeforeRet_;
					}
					T9_ = (NIM_BOOL)0;
					T9_ = isFilled__pureZcollectionsZsets_u39(n_1.p->data[i_1].Field0);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					if (!T9_) goto LA10_;
					if (i_1 < 0 || i_1 >= n_1.len){ raiseIndexError2(i_1,n_1.len-1); goto BeforeRet_;
					}
					if (i_1 < 0 || i_1 >= n_1.len){ raiseIndexError2(i_1,n_1.len-1); goto BeforeRet_;
					}
					T12_ = (NI)0;
					T12_ = rawGetKnownHC__dependencies_u6189((*s_p0), n_1.p->data[i_1].Field1, n_1.p->data[i_1].Field0);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					if (nimSubInt(((NI)-1), T12_, &TM__0JXiWyhP5OCO8jWMA6sb1w_34)) { raiseOverflow(); goto BeforeRet_;
					};
					j_1 = (NI)(TM__0JXiWyhP5OCO8jWMA6sb1w_34);
					T13_ = (tyObject_HashSet__Lvmn6BdMHxS172FqqpvhUQ*)0;
					T13_ = s_p0;
					if (i_1 < 0 || i_1 >= n_1.len){ raiseIndexError2(i_1,n_1.len-1); goto BeforeRet_;
					}
					if (i_1 < 0 || i_1 >= n_1.len){ raiseIndexError2(i_1,n_1.len-1); goto BeforeRet_;
					}
					rawInsert__dependencies_u6527(T13_, (&(*s_p0).data), n_1.p->data[i_1].Field1, n_1.p->data[i_1].Field0, j_1);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				}
LA10_: ;
				if (nimAddInt(res_1, ((NI)1), &TM__0JXiWyhP5OCO8jWMA6sb1w_35)) { raiseOverflow(); goto BeforeRet_;
				};
				res_1 = (NI)(TM__0JXiWyhP5OCO8jWMA6sb1w_35);
			} LA6: ;
		}
	}
	eqdestroy___dependencies_u5734(n_1);
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, incl__dependencies_u5281)(tyObject_HashSet__Lvmn6BdMHxS172FqqpvhUQ* s_p0, tyObject_CommitHash__ENSoVMeDKmDIP8obk69cDaA key_p1) {
	NI hc_1;
	NI index_1;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		NI T3_;
		NI correctSizeX60gensym82__1;
		T3_ = (*s_p0).data.len;
		if (!(T3_ == ((NI)0))) goto LA4_;
		correctSizeX60gensym82__1 = slotsNeeded__pureZcollectionsZsets_u50(((NI)64));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		(*s_p0).counter = ((NI)0);
		if ((correctSizeX60gensym82__1) < ((NI)0) || (correctSizeX60gensym82__1) > ((NI)IL64(9223372036854775807))){ raiseRangeErrorI(correctSizeX60gensym82__1, ((NI)0), ((NI)IL64(9223372036854775807))); goto BeforeRet_;
		}
		newSeq__dependencies_u5352((&(*s_p0).data), (correctSizeX60gensym82__1));
	}
LA4_: ;
	hc_1 = (NI)0;
	index_1 = rawGet__dependencies_u5480((*s_p0), key_p1, (&hc_1));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		tyObject_HashSet__Lvmn6BdMHxS172FqqpvhUQ* T15_;
		NI TM__0JXiWyhP5OCO8jWMA6sb1w_36;
		NI TM__0JXiWyhP5OCO8jWMA6sb1w_37;
		if (!(index_1 < ((NI)0))) goto LA8_;
		{
			NIM_BOOL T12_;
			T12_ = (NIM_BOOL)0;
			T12_ = mustRehash__dependencies_u5772((*s_p0));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (!T12_) goto LA13_;
			enlarge__dependencies_u5954(s_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			index_1 = rawGetKnownHC__dependencies_u6189((*s_p0), key_p1, hc_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA13_: ;
		T15_ = (tyObject_HashSet__Lvmn6BdMHxS172FqqpvhUQ*)0;
		T15_ = s_p0;
		if (nimSubInt(((NI)-1), index_1, &TM__0JXiWyhP5OCO8jWMA6sb1w_36)) { raiseOverflow(); goto BeforeRet_;
		};
		rawInsert__dependencies_u6527(T15_, (&(*s_p0).data), key_p1, hc_1, (NI)(TM__0JXiWyhP5OCO8jWMA6sb1w_36));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		if (nimAddInt((*s_p0).counter, ((NI)1), &TM__0JXiWyhP5OCO8jWMA6sb1w_37)) { raiseOverflow(); goto BeforeRet_;
		};
		(*s_p0).counter = (NI)(TM__0JXiWyhP5OCO8jWMA6sb1w_37);
	}
LA8_: ;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, containsOrIncl__dependencies_u6789)(tyObject_HashSet__Lvmn6BdMHxS172FqqpvhUQ* s_p0, tyObject_CommitHash__ENSoVMeDKmDIP8obk69cDaA key_p1) {
	NIM_BOOL result;
	NI hc_1;
	NI index_1;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NIM_BOOL)0;
	{
		NI T3_;
		NI correctSizeX60gensym94__1;
		T3_ = (*s_p0).data.len;
		if (!(T3_ == ((NI)0))) goto LA4_;
		correctSizeX60gensym94__1 = slotsNeeded__pureZcollectionsZsets_u50(((NI)64));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		(*s_p0).counter = ((NI)0);
		if ((correctSizeX60gensym94__1) < ((NI)0) || (correctSizeX60gensym94__1) > ((NI)IL64(9223372036854775807))){ raiseRangeErrorI(correctSizeX60gensym94__1, ((NI)0), ((NI)IL64(9223372036854775807))); goto BeforeRet_;
		}
		newSeq__dependencies_u5352((&(*s_p0).data), (correctSizeX60gensym94__1));
	}
LA4_: ;
	hc_1 = (NI)0;
	index_1 = rawGet__dependencies_u5480((*s_p0), key_p1, (&hc_1));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		if (!(((NI)0) <= index_1)) goto LA8_;
		result = NIM_TRUE;
	}
	goto LA6_;
LA8_: ;
	{
		tyObject_HashSet__Lvmn6BdMHxS172FqqpvhUQ* T16_;
		NI TM__0JXiWyhP5OCO8jWMA6sb1w_38;
		NI TM__0JXiWyhP5OCO8jWMA6sb1w_39;
		result = NIM_FALSE;
		{
			NIM_BOOL T13_;
			T13_ = (NIM_BOOL)0;
			T13_ = mustRehash__dependencies_u5772((*s_p0));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (!T13_) goto LA14_;
			enlarge__dependencies_u5954(s_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			index_1 = rawGetKnownHC__dependencies_u6189((*s_p0), key_p1, hc_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA14_: ;
		T16_ = (tyObject_HashSet__Lvmn6BdMHxS172FqqpvhUQ*)0;
		T16_ = s_p0;
		if (nimSubInt(((NI)-1), index_1, &TM__0JXiWyhP5OCO8jWMA6sb1w_38)) { raiseOverflow(); goto BeforeRet_;
		};
		rawInsert__dependencies_u6527(T16_, (&(*s_p0).data), key_p1, hc_1, (NI)(TM__0JXiWyhP5OCO8jWMA6sb1w_38));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		if (nimAddInt((*s_p0).counter, ((NI)1), &TM__0JXiWyhP5OCO8jWMA6sb1w_39)) { raiseOverflow(); goto BeforeRet_;
		};
		(*s_p0).counter = (NI)(TM__0JXiWyhP5OCO8jWMA6sb1w_39);
	}
LA6_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___dependencies_u12088)(tyObject_HashSet__Lvmn6BdMHxS172FqqpvhUQ* dest_p0) {
	eqdestroy___dependencies_u5734((*dest_p0).data);
}
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___dependencies_u7219)(tyTuple__QeWl6B6ffS4pU6WWrtcrDw* dest_p0) {
	if ((*dest_p0).Field1.p && !((*dest_p0).Field1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared((*dest_p0).Field1.p);
}
}
N_LIB_PRIVATE N_NIMCALL(void, eqwasMoved___dependencies_u7216)(tyTuple__QeWl6B6ffS4pU6WWrtcrDw* dest_p0) {
	(*dest_p0).Field0 = 0;
	(*dest_p0).Field1.len = 0; (*dest_p0).Field1.p = NIM_NIL;
}
static N_INLINE(NI, rawGet__dependencies_u7268)(tyObject_HashSet__9axRp7SZCUfmE3jbknxk4IA t_p0, NimStringV2 key_p1, NI* hc_p2) {
	NI result;
	NI T1_;
	NI h_1;
	NI T11_;
	NI TM__0JXiWyhP5OCO8jWMA6sb1w_40;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NI)0;
	T1_ = (NI)0;
	T1_ = hash__pureZhashes_u586(key_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	(*hc_p2) = T1_;
	{
		if (!((*hc_p2) == ((NI)0))) goto LA4_;
		(*hc_p2) = ((NI)314159265);
	}
LA4_: ;
	{
		NI T8_;
		T8_ = t_p0.data.len;
		if (!(T8_ == ((NI)0))) goto LA9_;
		result = ((NI)-1);
		goto BeforeRet_;
	}
LA9_: ;
	T11_ = (t_p0.data.len-1);
	h_1 = (NI)((*hc_p2) & T11_);
	{
		while (1) {
			NIM_BOOL T14_;
			NI T21_;
			if (h_1 < 0 || h_1 >= t_p0.data.len){ raiseIndexError2(h_1,t_p0.data.len-1); goto BeforeRet_;
			}
			T14_ = (NIM_BOOL)0;
			T14_ = isFilled__pureZcollectionsZsets_u39(t_p0.data.p->data[h_1].Field0);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (!T14_) goto LA13;
			{
				NIM_BOOL T17_;
				T17_ = (NIM_BOOL)0;
				if (h_1 < 0 || h_1 >= t_p0.data.len){ raiseIndexError2(h_1,t_p0.data.len-1); goto BeforeRet_;
				}
				T17_ = (t_p0.data.p->data[h_1].Field0 == (*hc_p2));
				if (!(T17_)) goto LA18_;
				if (h_1 < 0 || h_1 >= t_p0.data.len){ raiseIndexError2(h_1,t_p0.data.len-1); goto BeforeRet_;
				}
				T17_ = eqeq___basicZversions_u359(t_p0.data.p->data[h_1].Field1, key_p1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
LA18_: ;
				if (!T17_) goto LA19_;
				result = h_1;
				goto BeforeRet_;
			}
LA19_: ;
			T21_ = (t_p0.data.len-1);
			h_1 = nextTry__pureZcollectionsZsets_u42(h_1, T21_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		} LA13: ;
	}
	if (nimSubInt(((NI)-1), h_1, &TM__0JXiWyhP5OCO8jWMA6sb1w_40)) { raiseOverflow(); goto BeforeRet_;
	};
	result = (NI)(TM__0JXiWyhP5OCO8jWMA6sb1w_40);
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NIM_BOOL, mustRehash__dependencies_u7560)(tyObject_HashSet__9axRp7SZCUfmE3jbknxk4IA t_p0) {
	NIM_BOOL result;
	NIM_BOOL T6_;
	NI T7_;
	NI TM__0JXiWyhP5OCO8jWMA6sb1w_42;
	NI T9_;
	NI TM__0JXiWyhP5OCO8jWMA6sb1w_43;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NIM_BOOL)0;
	{
		NI T3_;
		T3_ = t_p0.data.len;
		if (!!((t_p0.counter < T3_))) goto LA4_;
		failedAssertImpl__stdZassertions_u95(TM__0JXiWyhP5OCO8jWMA6sb1w_41);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA4_: ;
	T6_ = (NIM_BOOL)0;
	T7_ = t_p0.data.len;
	if (nimAddInt(t_p0.counter, (NI)((t_p0.counter) / (((NI)2))), &TM__0JXiWyhP5OCO8jWMA6sb1w_42)) { raiseOverflow(); goto BeforeRet_;
	};
	T6_ = (T7_ < (NI)(TM__0JXiWyhP5OCO8jWMA6sb1w_42));
	if (T6_) goto LA8_;
	T9_ = t_p0.data.len;
	if (nimSubInt(T9_, t_p0.counter, &TM__0JXiWyhP5OCO8jWMA6sb1w_43)) { raiseOverflow(); goto BeforeRet_;
	};
	T6_ = ((NI)(TM__0JXiWyhP5OCO8jWMA6sb1w_43) < ((NI)4));
LA8_: ;
	result = T6_;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NI, rawGetKnownHC__dependencies_u7977)(tyObject_HashSet__9axRp7SZCUfmE3jbknxk4IA t_p0, NimStringV2 key_p1, NI hc_p2) {
	NI result;
	NI h_1;
	NI T6_;
	NI TM__0JXiWyhP5OCO8jWMA6sb1w_45;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NI)0;
	{
		NI T3_;
		T3_ = t_p0.data.len;
		if (!(T3_ == ((NI)0))) goto LA4_;
		result = ((NI)-1);
		goto BeforeRet_;
	}
LA4_: ;
	T6_ = (t_p0.data.len-1);
	h_1 = (NI)(hc_p2 & T6_);
	{
		while (1) {
			NIM_BOOL T9_;
			NI T16_;
			if (h_1 < 0 || h_1 >= t_p0.data.len){ raiseIndexError2(h_1,t_p0.data.len-1); goto BeforeRet_;
			}
			T9_ = (NIM_BOOL)0;
			T9_ = isFilled__pureZcollectionsZsets_u39(t_p0.data.p->data[h_1].Field0);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (!T9_) goto LA8;
			{
				NIM_BOOL T12_;
				T12_ = (NIM_BOOL)0;
				if (h_1 < 0 || h_1 >= t_p0.data.len){ raiseIndexError2(h_1,t_p0.data.len-1); goto BeforeRet_;
				}
				T12_ = (t_p0.data.p->data[h_1].Field0 == hc_p2);
				if (!(T12_)) goto LA13_;
				if (h_1 < 0 || h_1 >= t_p0.data.len){ raiseIndexError2(h_1,t_p0.data.len-1); goto BeforeRet_;
				}
				T12_ = eqeq___basicZversions_u359(t_p0.data.p->data[h_1].Field1, key_p1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
LA13_: ;
				if (!T12_) goto LA14_;
				result = h_1;
				goto BeforeRet_;
			}
LA14_: ;
			T16_ = (t_p0.data.len-1);
			h_1 = nextTry__pureZcollectionsZsets_u42(h_1, T16_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		} LA8: ;
	}
	if (nimSubInt(((NI)-1), h_1, &TM__0JXiWyhP5OCO8jWMA6sb1w_45)) { raiseOverflow(); goto BeforeRet_;
	};
	result = (NI)(TM__0JXiWyhP5OCO8jWMA6sb1w_45);
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, rawInsert__dependencies_u8315)(tyObject_HashSet__9axRp7SZCUfmE3jbknxk4IA* s_p0, tySequence__4eRCaZmrYLLw2k30GPTiMw* data_p1, NimStringV2 key_p2, NI hc_p3, NI h_p4) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		NI T3_;
		NI correctSizeX60gensym110__1;
		T3_ = (*data_p1).len;
		if (!(T3_ == ((NI)0))) goto LA4_;
		correctSizeX60gensym110__1 = slotsNeeded__pureZcollectionsZsets_u50(((NI)64));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		(*s_p0).counter = ((NI)0);
		if ((correctSizeX60gensym110__1) < ((NI)0) || (correctSizeX60gensym110__1) > ((NI)IL64(9223372036854775807))){ raiseRangeErrorI(correctSizeX60gensym110__1, ((NI)0), ((NI)IL64(9223372036854775807))); goto BeforeRet_;
		}
		newSeq__dependencies_u7142((&(*s_p0).data), (correctSizeX60gensym110__1));
	}
LA4_: ;
	if (h_p4 < 0 || h_p4 >= (*data_p1).len){ raiseIndexError2(h_p4,(*data_p1).len-1); goto BeforeRet_;
	}
	eqcopy___system_u2754((&(*data_p1).p->data[h_p4].Field1), key_p2);
	if (h_p4 < 0 || h_p4 >= (*data_p1).len){ raiseIndexError2(h_p4,(*data_p1).len-1); goto BeforeRet_;
	}
	(*data_p1).p->data[h_p4].Field0 = hc_p3;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___dependencies_u7522)(tySequence__4eRCaZmrYLLw2k30GPTiMw dest_p0) {
	NI colontmp_;
	colontmp_ = ((NI)0);
	{
		while (1) {
			NI T3_;
			T3_ = dest_p0.len;
			if (!(colontmp_ < T3_)) goto LA2;
			if (dest_p0.p->data[colontmp_].Field1.p && !(dest_p0.p->data[colontmp_].Field1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(dest_p0.p->data[colontmp_].Field1.p);
}
			colontmp_ += ((NI)1);
		} LA2: ;
	}
	if (dest_p0.p && !(dest_p0.p->cap & NIM_STRLIT_FLAG)) {
 alignedDealloc(dest_p0.p, NIM_ALIGNOF(tyTuple__QeWl6B6ffS4pU6WWrtcrDw));
}
}
N_LIB_PRIVATE N_NIMCALL(void, enlarge__dependencies_u7742)(tyObject_HashSet__9axRp7SZCUfmE3jbknxk4IA* s_p0) {
	tySequence__4eRCaZmrYLLw2k30GPTiMw n_1;
	NI T1_;
	NI TM__0JXiWyhP5OCO8jWMA6sb1w_44;
	tySequence__4eRCaZmrYLLw2k30GPTiMw T2_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	n_1.len = 0; n_1.p = NIM_NIL;
	T1_ = (*s_p0).data.len;
	if (nimMulInt(T1_, ((NI)2), &TM__0JXiWyhP5OCO8jWMA6sb1w_44)) { raiseOverflow(); goto BeforeRet_;
	};
	if (((NI)(TM__0JXiWyhP5OCO8jWMA6sb1w_44)) < ((NI)0) || ((NI)(TM__0JXiWyhP5OCO8jWMA6sb1w_44)) > ((NI)IL64(9223372036854775807))){ raiseRangeErrorI((NI)(TM__0JXiWyhP5OCO8jWMA6sb1w_44), ((NI)0), ((NI)IL64(9223372036854775807))); goto BeforeRet_;
	}
	newSeq__dependencies_u7142((&n_1), ((NI)(TM__0JXiWyhP5OCO8jWMA6sb1w_44)));
	T2_.len = 0; T2_.p = NIM_NIL;
	T2_ = (*s_p0).data;
	(*s_p0).data = n_1;
	n_1 = T2_;
	{
		NI i_1;
		NI colontmp_;
		NI T4_;
		NI res_1;
		i_1 = (NI)0;
		colontmp_ = (NI)0;
		T4_ = (n_1.len-1);
		colontmp_ = T4_;
		res_1 = ((NI)0);
		{
			while (1) {
				NI TM__0JXiWyhP5OCO8jWMA6sb1w_47;
				if (!(res_1 <= colontmp_)) goto LA6;
				i_1 = ((NI) (res_1));
				{
					NIM_BOOL T9_;
					NI j_1;
					NI T12_;
					NI TM__0JXiWyhP5OCO8jWMA6sb1w_46;
					tyObject_HashSet__9axRp7SZCUfmE3jbknxk4IA* T13_;
					if (i_1 < 0 || i_1 >= n_1.len){ raiseIndexError2(i_1,n_1.len-1); goto BeforeRet_;
					}
					T9_ = (NIM_BOOL)0;
					T9_ = isFilled__pureZcollectionsZsets_u39(n_1.p->data[i_1].Field0);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					if (!T9_) goto LA10_;
					if (i_1 < 0 || i_1 >= n_1.len){ raiseIndexError2(i_1,n_1.len-1); goto BeforeRet_;
					}
					if (i_1 < 0 || i_1 >= n_1.len){ raiseIndexError2(i_1,n_1.len-1); goto BeforeRet_;
					}
					T12_ = (NI)0;
					T12_ = rawGetKnownHC__dependencies_u7977((*s_p0), n_1.p->data[i_1].Field1, n_1.p->data[i_1].Field0);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					if (nimSubInt(((NI)-1), T12_, &TM__0JXiWyhP5OCO8jWMA6sb1w_46)) { raiseOverflow(); goto BeforeRet_;
					};
					j_1 = (NI)(TM__0JXiWyhP5OCO8jWMA6sb1w_46);
					T13_ = (tyObject_HashSet__9axRp7SZCUfmE3jbknxk4IA*)0;
					T13_ = s_p0;
					if (i_1 < 0 || i_1 >= n_1.len){ raiseIndexError2(i_1,n_1.len-1); goto BeforeRet_;
					}
					if (i_1 < 0 || i_1 >= n_1.len){ raiseIndexError2(i_1,n_1.len-1); goto BeforeRet_;
					}
					rawInsert__dependencies_u8315(T13_, (&(*s_p0).data), n_1.p->data[i_1].Field1, n_1.p->data[i_1].Field0, j_1);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				}
LA10_: ;
				if (nimAddInt(res_1, ((NI)1), &TM__0JXiWyhP5OCO8jWMA6sb1w_47)) { raiseOverflow(); goto BeforeRet_;
				};
				res_1 = (NI)(TM__0JXiWyhP5OCO8jWMA6sb1w_47);
			} LA6: ;
		}
	}
	eqdestroy___dependencies_u7522(n_1);
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, containsOrIncl__dependencies_u7070)(tyObject_HashSet__9axRp7SZCUfmE3jbknxk4IA* s_p0, NimStringV2 key_p1) {
	NIM_BOOL result;
	NI hc_1;
	NI index_1;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NIM_BOOL)0;
	{
		NI T3_;
		NI correctSizeX60gensym101__1;
		T3_ = (*s_p0).data.len;
		if (!(T3_ == ((NI)0))) goto LA4_;
		correctSizeX60gensym101__1 = slotsNeeded__pureZcollectionsZsets_u50(((NI)64));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		(*s_p0).counter = ((NI)0);
		if ((correctSizeX60gensym101__1) < ((NI)0) || (correctSizeX60gensym101__1) > ((NI)IL64(9223372036854775807))){ raiseRangeErrorI(correctSizeX60gensym101__1, ((NI)0), ((NI)IL64(9223372036854775807))); goto BeforeRet_;
		}
		newSeq__dependencies_u7142((&(*s_p0).data), (correctSizeX60gensym101__1));
	}
LA4_: ;
	hc_1 = (NI)0;
	index_1 = rawGet__dependencies_u7268((*s_p0), key_p1, (&hc_1));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		if (!(((NI)0) <= index_1)) goto LA8_;
		result = NIM_TRUE;
	}
	goto LA6_;
LA8_: ;
	{
		tyObject_HashSet__9axRp7SZCUfmE3jbknxk4IA* T16_;
		NI TM__0JXiWyhP5OCO8jWMA6sb1w_48;
		NI TM__0JXiWyhP5OCO8jWMA6sb1w_49;
		result = NIM_FALSE;
		{
			NIM_BOOL T13_;
			T13_ = (NIM_BOOL)0;
			T13_ = mustRehash__dependencies_u7560((*s_p0));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (!T13_) goto LA14_;
			enlarge__dependencies_u7742(s_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			index_1 = rawGetKnownHC__dependencies_u7977((*s_p0), key_p1, hc_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA14_: ;
		T16_ = (tyObject_HashSet__9axRp7SZCUfmE3jbknxk4IA*)0;
		T16_ = s_p0;
		if (nimSubInt(((NI)-1), index_1, &TM__0JXiWyhP5OCO8jWMA6sb1w_48)) { raiseOverflow(); goto BeforeRet_;
		};
		rawInsert__dependencies_u8315(T16_, (&(*s_p0).data), key_p1, hc_1, (NI)(TM__0JXiWyhP5OCO8jWMA6sb1w_48));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		if (nimAddInt((*s_p0).counter, ((NI)1), &TM__0JXiWyhP5OCO8jWMA6sb1w_49)) { raiseOverflow(); goto BeforeRet_;
		};
		(*s_p0).counter = (NI)(TM__0JXiWyhP5OCO8jWMA6sb1w_49);
	}
LA6_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, contains__dependencies_u8682)(tyObject_HashSet__Lvmn6BdMHxS172FqqpvhUQ s_p0, tyObject_CommitHash__ENSoVMeDKmDIP8obk69cDaA key_p1) {
	NIM_BOOL result;
	NI hc_1;
	NI index_1;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NIM_BOOL)0;
	hc_1 = 0;
	index_1 = rawGet__dependencies_u5480(s_p0, key_p1, (&hc_1));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	result = (((NI)0) <= index_1);
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, contains__dependencies_u8755)(tyObject_HashSet__9axRp7SZCUfmE3jbknxk4IA s_p0, NimStringV2 key_p1) {
	NIM_BOOL result;
	NI hc_1;
	NI index_1;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NIM_BOOL)0;
	hc_1 = 0;
	index_1 = rawGet__dependencies_u7268(s_p0, key_p1, (&hc_1));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	result = (((NI)0) <= index_1);
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___dependencies_u12147)(tyObject_HashSet__9axRp7SZCUfmE3jbknxk4IA* dest_p0) {
	eqdestroy___dependencies_u7522((*dest_p0).data);
}
N_LIB_PRIVATE N_NIMCALL(NI, len__basicZdeptypesjson_u836)(tyObject_HashSet__v3AgR4bnzCtqFMiyBA9al4Q s_p0) {
	NI result;
	result = s_p0.counter;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___basicZversions_u5017)(tyObject_HashSet__v3AgR4bnzCtqFMiyBA9al4Q* dest_p0, tyObject_HashSet__v3AgR4bnzCtqFMiyBA9al4Q src_p1) {
	eqcopy___basicZversions_u1313((&(*dest_p0).data), src_p1.data);
	(*dest_p0).counter = src_p1.counter;
}
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___basicZgitops_u1603)(tySequence__U9bYx6tPvWzQNzbZoriLUYA* dest_p0, tySequence__U9bYx6tPvWzQNzbZoriLUYA src_p1) {
	NI T6_;
	NI colontmp_;
{	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = sameSeqPayload(dest_p0, (&src_p1));
		if (!T3_) goto LA4_;
		goto BeforeRet_;
	}
LA4_: ;
	T6_ = src_p1.len;
	setLen__basicZgitops_u1482((&(*dest_p0)), T6_);
	colontmp_ = ((NI)0);
	{
		while (1) {
			NI T9_;
			T9_ = (*dest_p0).len;
			if (!(colontmp_ < T9_)) goto LA8;
			(*dest_p0).p->data[colontmp_].Field0 = src_p1.p->data[colontmp_].Field0;
			eqcopy___system_u2754((&(*dest_p0).p->data[colontmp_].Field1.c.h), src_p1.p->data[colontmp_].Field1.c.h);
			(*dest_p0).p->data[colontmp_].Field1.c.orig = src_p1.p->data[colontmp_].Field1.c.orig;
			eqcopy___system_u2754((&(*dest_p0).p->data[colontmp_].Field1.v), src_p1.p->data[colontmp_].Field1.v);
			(*dest_p0).p->data[colontmp_].Field1.isTip = src_p1.p->data[colontmp_].Field1.isTip;
			colontmp_ += ((NI)1);
		} LA8: ;
	}
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___basicZgitops_u1643)(tyObject_HashSet__Uwr6yc54j9cc7mpkQIvCLZA* dest_p0, tyObject_HashSet__Uwr6yc54j9cc7mpkQIvCLZA src_p1) {
	eqcopy___basicZgitops_u1603((&(*dest_p0).data), src_p1.data);
	(*dest_p0).counter = src_p1.counter;
}
N_LIB_PRIVATE N_NIMCALL(NI, len__basicZgitops_u3121)(tyObject_HashSet__Uwr6yc54j9cc7mpkQIvCLZA s_p0) {
	NI result;
	result = s_p0.counter;
	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_: ;
}
N_LIB_PRIVATE N_NIMCALL(NimStringV2, dollar___depgraphs_u3037)(tyObject_HashSet__v3AgR4bnzCtqFMiyBA9al4Q s_p0) {
	NimStringV2 result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = TM__0JXiWyhP5OCO8jWMA6sb1w_51;
	{
		NimStringV2 key_1;
		NI length_1;
		key_1.len = 0; key_1.p = NIM_NIL;
		length_1 = len__basicZdeptypesjson_u836(s_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		{
			NI h_1;
			NI colontmp_;
			NI T3_;
			NI res_1;
			h_1 = (NI)0;
			colontmp_ = (NI)0;
			T3_ = (s_p0.data.len-1);
			colontmp_ = T3_;
			res_1 = ((NI)0);
			{
				while (1) {
					NI TM__0JXiWyhP5OCO8jWMA6sb1w_56;
					if (!(res_1 <= colontmp_)) goto LA5;
					h_1 = ((NI) (res_1));
					{
						NIM_BOOL T8_;
						if (h_1 < 0 || h_1 >= s_p0.data.len){ raiseIndexError2(h_1,s_p0.data.len-1); goto BeforeRet_;
						}
						T8_ = (NIM_BOOL)0;
						T8_ = isFilled__pureZcollectionsZsets_u39(s_p0.data.p->data[h_1].Field0);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						if (!T8_) goto LA9_;
						if (h_1 < 0 || h_1 >= s_p0.data.len){ raiseIndexError2(h_1,s_p0.data.len-1); goto BeforeRet_;
						}
						eqcopy___system_u2754((&key_1), s_p0.data.p->data[h_1].Field1);
						{
							if (!(((NI)1) < result.len)) goto LA13_;
							prepareAdd((&result), 2);
appendString((&result), TM__0JXiWyhP5OCO8jWMA6sb1w_53);
						}
LA13_: ;
						addQuoted__stdZprivateZoscommon_u119((&result), key_1);
						{
							NI T17_;
							T17_ = (NI)0;
							T17_ = len__basicZdeptypesjson_u836(s_p0);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
							if (!!((T17_ == length_1))) goto LA18_;
							failedAssertImpl__stdZassertions_u95(TM__0JXiWyhP5OCO8jWMA6sb1w_55);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						}
LA18_: ;
					}
LA9_: ;
					if (nimAddInt(res_1, ((NI)1), &TM__0JXiWyhP5OCO8jWMA6sb1w_56)) { raiseOverflow(); goto BeforeRet_;
					};
					res_1 = (NI)(TM__0JXiWyhP5OCO8jWMA6sb1w_56);
				} LA5: ;
			}
		}
		if (key_1.p && !(key_1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(key_1.p);
}
	}
	prepareAdd((&result), 1);
appendString((&result), TM__0JXiWyhP5OCO8jWMA6sb1w_58);
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NI, minuspercent___system_u813)(NI x_p0, NI y_p1) {
	NI result;
	result = ((NI) ((NU)((NU64)(((NU) (x_p0))) - (NU64)(((NU) (y_p1))))));
	return result;
}
static N_INLINE(NIM_BOOL, nimDecRefIsLast)(void* p_p0) {
	NIM_BOOL result;
	result = NIM_FALSE;
	{
		tyObject_RefHeader__BVEqx9abcuAhztUEHxbqQJA* cell_1;
		NI T5_;
		if (!!((p_p0 == NIM_NIL))) goto LA3_;
		T5_ = (NI)0;
		T5_ = minuspercent___system_u813(((NI) (ptrdiff_t) (p_p0)), ((NI)16));
		cell_1 = ((tyObject_RefHeader__BVEqx9abcuAhztUEHxbqQJA*) (T5_));
		{
			if (!((NI)((NI64)((*cell_1).rc) >> (NU64)(((NI)4) & (64 - 1))) == ((NI)0))) goto LA8_;
			result = NIM_TRUE;
		}
		goto LA6_;
LA8_: ;
		{
			(*cell_1).rc = minuspercent___system_u813((*cell_1).rc, ((NI)16));
		}
LA6_: ;
	}
LA3_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___depgraphs_u13640)(tyTuple__YcdVFt9cyrqK9aol4yLRJgzw* dest_p0) {
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = nimDecRefIsLast((*dest_p0).Field1);
		if (!T3_) goto LA4_;
		eqdestroy___basicZnimblecontext_u3603((&(*(*dest_p0).Field1)));
		nimRawDispose((*dest_p0).Field1, ((NI)8));
	}
LA4_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, eqwasMoved___depgraphs_u13637)(tyTuple__YcdVFt9cyrqK9aol4yLRJgzw* dest_p0) {
	(*dest_p0).Field0 = 0;
	(*dest_p0).Field1 = 0;
}
static N_INLINE(NI, rawGet__depgraphs_u15415)(tyObject_HashSet__iZ4unXf6HrtaQ3am5vSdcA t_p0, tyObject_PackagecolonObjectType___oq9cbJmLUyLo2l9clmDFeVSA* key_p1, NI* hc_p2) {
	NI result;
	NI T1_;
	NI h_1;
	NI T11_;
	NI TM__0JXiWyhP5OCO8jWMA6sb1w_59;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NI)0;
	T1_ = (NI)0;
	T1_ = hash__basicZdeptypes_u201(key_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	(*hc_p2) = T1_;
	{
		if (!((*hc_p2) == ((NI)0))) goto LA4_;
		(*hc_p2) = ((NI)314159265);
	}
LA4_: ;
	{
		NI T8_;
		T8_ = t_p0.data.len;
		if (!(T8_ == ((NI)0))) goto LA9_;
		result = ((NI)-1);
		goto BeforeRet_;
	}
LA9_: ;
	T11_ = (t_p0.data.len-1);
	h_1 = (NI)((*hc_p2) & T11_);
	{
		while (1) {
			NIM_BOOL T14_;
			NI T21_;
			if (h_1 < 0 || h_1 >= t_p0.data.len){ raiseIndexError2(h_1,t_p0.data.len-1); goto BeforeRet_;
			}
			T14_ = (NIM_BOOL)0;
			T14_ = isFilled__pureZcollectionsZsets_u39(t_p0.data.p->data[h_1].Field0);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (!T14_) goto LA13;
			{
				NIM_BOOL T17_;
				T17_ = (NIM_BOOL)0;
				if (h_1 < 0 || h_1 >= t_p0.data.len){ raiseIndexError2(h_1,t_p0.data.len-1); goto BeforeRet_;
				}
				T17_ = (t_p0.data.p->data[h_1].Field0 == (*hc_p2));
				if (!(T17_)) goto LA18_;
				if (h_1 < 0 || h_1 >= t_p0.data.len){ raiseIndexError2(h_1,t_p0.data.len-1); goto BeforeRet_;
				}
				T17_ = (t_p0.data.p->data[h_1].Field1 == key_p1);
LA18_: ;
				if (!T17_) goto LA19_;
				result = h_1;
				goto BeforeRet_;
			}
LA19_: ;
			T21_ = (t_p0.data.len-1);
			h_1 = nextTry__pureZcollectionsZsets_u42(h_1, T21_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		} LA13: ;
	}
	if (nimSubInt(((NI)-1), h_1, &TM__0JXiWyhP5OCO8jWMA6sb1w_59)) { raiseOverflow(); goto BeforeRet_;
	};
	result = (NI)(TM__0JXiWyhP5OCO8jWMA6sb1w_59);
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NIM_BOOL, mustRehash__depgraphs_u15672)(tyObject_HashSet__iZ4unXf6HrtaQ3am5vSdcA t_p0) {
	NIM_BOOL result;
	NIM_BOOL T6_;
	NI T7_;
	NI TM__0JXiWyhP5OCO8jWMA6sb1w_61;
	NI T9_;
	NI TM__0JXiWyhP5OCO8jWMA6sb1w_62;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NIM_BOOL)0;
	{
		NI T3_;
		T3_ = t_p0.data.len;
		if (!!((t_p0.counter < T3_))) goto LA4_;
		failedAssertImpl__stdZassertions_u95(TM__0JXiWyhP5OCO8jWMA6sb1w_60);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA4_: ;
	T6_ = (NIM_BOOL)0;
	T7_ = t_p0.data.len;
	if (nimAddInt(t_p0.counter, (NI)((t_p0.counter) / (((NI)2))), &TM__0JXiWyhP5OCO8jWMA6sb1w_61)) { raiseOverflow(); goto BeforeRet_;
	};
	T6_ = (T7_ < (NI)(TM__0JXiWyhP5OCO8jWMA6sb1w_61));
	if (T6_) goto LA8_;
	T9_ = t_p0.data.len;
	if (nimSubInt(T9_, t_p0.counter, &TM__0JXiWyhP5OCO8jWMA6sb1w_62)) { raiseOverflow(); goto BeforeRet_;
	};
	T6_ = ((NI)(TM__0JXiWyhP5OCO8jWMA6sb1w_62) < ((NI)4));
LA8_: ;
	result = T6_;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NI, rawGetKnownHC__depgraphs_u16089)(tyObject_HashSet__iZ4unXf6HrtaQ3am5vSdcA t_p0, tyObject_PackagecolonObjectType___oq9cbJmLUyLo2l9clmDFeVSA* key_p1, NI hc_p2) {
	NI result;
	NI h_1;
	NI T6_;
	NI TM__0JXiWyhP5OCO8jWMA6sb1w_64;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NI)0;
	{
		NI T3_;
		T3_ = t_p0.data.len;
		if (!(T3_ == ((NI)0))) goto LA4_;
		result = ((NI)-1);
		goto BeforeRet_;
	}
LA4_: ;
	T6_ = (t_p0.data.len-1);
	h_1 = (NI)(hc_p2 & T6_);
	{
		while (1) {
			NIM_BOOL T9_;
			NI T16_;
			if (h_1 < 0 || h_1 >= t_p0.data.len){ raiseIndexError2(h_1,t_p0.data.len-1); goto BeforeRet_;
			}
			T9_ = (NIM_BOOL)0;
			T9_ = isFilled__pureZcollectionsZsets_u39(t_p0.data.p->data[h_1].Field0);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (!T9_) goto LA8;
			{
				NIM_BOOL T12_;
				T12_ = (NIM_BOOL)0;
				if (h_1 < 0 || h_1 >= t_p0.data.len){ raiseIndexError2(h_1,t_p0.data.len-1); goto BeforeRet_;
				}
				T12_ = (t_p0.data.p->data[h_1].Field0 == hc_p2);
				if (!(T12_)) goto LA13_;
				if (h_1 < 0 || h_1 >= t_p0.data.len){ raiseIndexError2(h_1,t_p0.data.len-1); goto BeforeRet_;
				}
				T12_ = (t_p0.data.p->data[h_1].Field1 == key_p1);
LA13_: ;
				if (!T12_) goto LA14_;
				result = h_1;
				goto BeforeRet_;
			}
LA14_: ;
			T16_ = (t_p0.data.len-1);
			h_1 = nextTry__pureZcollectionsZsets_u42(h_1, T16_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		} LA8: ;
	}
	if (nimSubInt(((NI)-1), h_1, &TM__0JXiWyhP5OCO8jWMA6sb1w_64)) { raiseOverflow(); goto BeforeRet_;
	};
	result = (NI)(TM__0JXiWyhP5OCO8jWMA6sb1w_64);
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, rawInsert__depgraphs_u16431)(tyObject_HashSet__iZ4unXf6HrtaQ3am5vSdcA* s_p0, tySequence__pkEK4LYr0Fa9ces8wzZoClA* data_p1, tyObject_PackagecolonObjectType___oq9cbJmLUyLo2l9clmDFeVSA* key_p2, NI hc_p3, NI h_p4) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		NI T3_;
		NI correctSizeX60gensym192__1;
		T3_ = (*data_p1).len;
		if (!(T3_ == ((NI)0))) goto LA4_;
		correctSizeX60gensym192__1 = slotsNeeded__pureZcollectionsZsets_u50(((NI)64));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		(*s_p0).counter = ((NI)0);
		if ((correctSizeX60gensym192__1) < ((NI)0) || (correctSizeX60gensym192__1) > ((NI)IL64(9223372036854775807))){ raiseRangeErrorI(correctSizeX60gensym192__1, ((NI)0), ((NI)IL64(9223372036854775807))); goto BeforeRet_;
		}
		newSeq__depgraphs_u13562((&(*s_p0).data), (correctSizeX60gensym192__1));
	}
LA4_: ;
	if (h_p4 < 0 || h_p4 >= (*data_p1).len){ raiseIndexError2(h_p4,(*data_p1).len-1); goto BeforeRet_;
	}
	eqcopy___basicZdepgraphtypes_u561(&(*data_p1).p->data[h_p4].Field1, key_p2);
	if (h_p4 < 0 || h_p4 >= (*data_p1).len){ raiseIndexError2(h_p4,(*data_p1).len-1); goto BeforeRet_;
	}
	(*data_p1).p->data[h_p4].Field0 = hc_p3;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___depgraphs_u13690)(tySequence__pkEK4LYr0Fa9ces8wzZoClA dest_p0) {
	NI colontmp_;
	colontmp_ = ((NI)0);
	{
		while (1) {
			NI T3_;
			T3_ = dest_p0.len;
			if (!(colontmp_ < T3_)) goto LA2;
			{
				NIM_BOOL T6_;
				T6_ = (NIM_BOOL)0;
				T6_ = nimDecRefIsLast(dest_p0.p->data[colontmp_].Field1);
				if (!T6_) goto LA7_;
				eqdestroy___basicZnimblecontext_u3603((&(*dest_p0.p->data[colontmp_].Field1)));
				nimRawDispose(dest_p0.p->data[colontmp_].Field1, ((NI)8));
			}
LA7_: ;
			colontmp_ += ((NI)1);
		} LA2: ;
	}
	if (dest_p0.p && !(dest_p0.p->cap & NIM_STRLIT_FLAG)) {
 alignedDealloc(dest_p0.p, NIM_ALIGNOF(tyTuple__YcdVFt9cyrqK9aol4yLRJgzw));
}
}
N_LIB_PRIVATE N_NIMCALL(void, enlarge__depgraphs_u15854)(tyObject_HashSet__iZ4unXf6HrtaQ3am5vSdcA* s_p0) {
	tySequence__pkEK4LYr0Fa9ces8wzZoClA n_1;
	NI T1_;
	NI TM__0JXiWyhP5OCO8jWMA6sb1w_63;
	tySequence__pkEK4LYr0Fa9ces8wzZoClA T2_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	n_1.len = 0; n_1.p = NIM_NIL;
	T1_ = (*s_p0).data.len;
	if (nimMulInt(T1_, ((NI)2), &TM__0JXiWyhP5OCO8jWMA6sb1w_63)) { raiseOverflow(); goto BeforeRet_;
	};
	if (((NI)(TM__0JXiWyhP5OCO8jWMA6sb1w_63)) < ((NI)0) || ((NI)(TM__0JXiWyhP5OCO8jWMA6sb1w_63)) > ((NI)IL64(9223372036854775807))){ raiseRangeErrorI((NI)(TM__0JXiWyhP5OCO8jWMA6sb1w_63), ((NI)0), ((NI)IL64(9223372036854775807))); goto BeforeRet_;
	}
	newSeq__depgraphs_u13562((&n_1), ((NI)(TM__0JXiWyhP5OCO8jWMA6sb1w_63)));
	T2_.len = 0; T2_.p = NIM_NIL;
	T2_ = (*s_p0).data;
	(*s_p0).data = n_1;
	n_1 = T2_;
	{
		NI i_1;
		NI colontmp_;
		NI T4_;
		NI res_1;
		i_1 = (NI)0;
		colontmp_ = (NI)0;
		T4_ = (n_1.len-1);
		colontmp_ = T4_;
		res_1 = ((NI)0);
		{
			while (1) {
				NI TM__0JXiWyhP5OCO8jWMA6sb1w_66;
				if (!(res_1 <= colontmp_)) goto LA6;
				i_1 = ((NI) (res_1));
				{
					NIM_BOOL T9_;
					NI j_1;
					NI T12_;
					NI TM__0JXiWyhP5OCO8jWMA6sb1w_65;
					tyObject_HashSet__iZ4unXf6HrtaQ3am5vSdcA* T13_;
					if (i_1 < 0 || i_1 >= n_1.len){ raiseIndexError2(i_1,n_1.len-1); goto BeforeRet_;
					}
					T9_ = (NIM_BOOL)0;
					T9_ = isFilled__pureZcollectionsZsets_u39(n_1.p->data[i_1].Field0);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					if (!T9_) goto LA10_;
					if (i_1 < 0 || i_1 >= n_1.len){ raiseIndexError2(i_1,n_1.len-1); goto BeforeRet_;
					}
					if (i_1 < 0 || i_1 >= n_1.len){ raiseIndexError2(i_1,n_1.len-1); goto BeforeRet_;
					}
					T12_ = (NI)0;
					T12_ = rawGetKnownHC__depgraphs_u16089((*s_p0), n_1.p->data[i_1].Field1, n_1.p->data[i_1].Field0);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					if (nimSubInt(((NI)-1), T12_, &TM__0JXiWyhP5OCO8jWMA6sb1w_65)) { raiseOverflow(); goto BeforeRet_;
					};
					j_1 = (NI)(TM__0JXiWyhP5OCO8jWMA6sb1w_65);
					T13_ = (tyObject_HashSet__iZ4unXf6HrtaQ3am5vSdcA*)0;
					T13_ = s_p0;
					if (i_1 < 0 || i_1 >= n_1.len){ raiseIndexError2(i_1,n_1.len-1); goto BeforeRet_;
					}
					if (i_1 < 0 || i_1 >= n_1.len){ raiseIndexError2(i_1,n_1.len-1); goto BeforeRet_;
					}
					rawInsert__depgraphs_u16431(T13_, (&(*s_p0).data), n_1.p->data[i_1].Field1, n_1.p->data[i_1].Field0, j_1);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				}
LA10_: ;
				if (nimAddInt(res_1, ((NI)1), &TM__0JXiWyhP5OCO8jWMA6sb1w_66)) { raiseOverflow(); goto BeforeRet_;
				};
				res_1 = (NI)(TM__0JXiWyhP5OCO8jWMA6sb1w_66);
			} LA6: ;
		}
	}
	eqdestroy___depgraphs_u13690(n_1);
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, incl__depgraphs_u15333)(tyObject_HashSet__iZ4unXf6HrtaQ3am5vSdcA* s_p0, tyObject_PackagecolonObjectType___oq9cbJmLUyLo2l9clmDFeVSA* key_p1) {
	NI hc_1;
	NI index_1;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		NI T3_;
		NI correctSizeX60gensym183__1;
		T3_ = (*s_p0).data.len;
		if (!(T3_ == ((NI)0))) goto LA4_;
		correctSizeX60gensym183__1 = slotsNeeded__pureZcollectionsZsets_u50(((NI)64));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		(*s_p0).counter = ((NI)0);
		if ((correctSizeX60gensym183__1) < ((NI)0) || (correctSizeX60gensym183__1) > ((NI)IL64(9223372036854775807))){ raiseRangeErrorI(correctSizeX60gensym183__1, ((NI)0), ((NI)IL64(9223372036854775807))); goto BeforeRet_;
		}
		newSeq__depgraphs_u13562((&(*s_p0).data), (correctSizeX60gensym183__1));
	}
LA4_: ;
	hc_1 = (NI)0;
	index_1 = rawGet__depgraphs_u15415((*s_p0), key_p1, (&hc_1));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		tyObject_HashSet__iZ4unXf6HrtaQ3am5vSdcA* T15_;
		NI TM__0JXiWyhP5OCO8jWMA6sb1w_67;
		NI TM__0JXiWyhP5OCO8jWMA6sb1w_68;
		if (!(index_1 < ((NI)0))) goto LA8_;
		{
			NIM_BOOL T12_;
			T12_ = (NIM_BOOL)0;
			T12_ = mustRehash__depgraphs_u15672((*s_p0));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (!T12_) goto LA13_;
			enlarge__depgraphs_u15854(s_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			index_1 = rawGetKnownHC__depgraphs_u16089((*s_p0), key_p1, hc_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA13_: ;
		T15_ = (tyObject_HashSet__iZ4unXf6HrtaQ3am5vSdcA*)0;
		T15_ = s_p0;
		if (nimSubInt(((NI)-1), index_1, &TM__0JXiWyhP5OCO8jWMA6sb1w_67)) { raiseOverflow(); goto BeforeRet_;
		};
		rawInsert__depgraphs_u16431(T15_, (&(*s_p0).data), key_p1, hc_1, (NI)(TM__0JXiWyhP5OCO8jWMA6sb1w_67));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		if (nimAddInt((*s_p0).counter, ((NI)1), &TM__0JXiWyhP5OCO8jWMA6sb1w_68)) { raiseOverflow(); goto BeforeRet_;
		};
		(*s_p0).counter = (NI)(TM__0JXiWyhP5OCO8jWMA6sb1w_68);
	}
LA8_: ;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, eqsink___depgraphs_u13742)(tyObject_HashSet__iZ4unXf6HrtaQ3am5vSdcA* dest_p0, tyObject_HashSet__iZ4unXf6HrtaQ3am5vSdcA src_p1) {
	if ((*dest_p0).data.p != src_p1.data.p) {	eqdestroy___depgraphs_u13690((*dest_p0).data);
	}
(*dest_p0).data.len = src_p1.data.len; (*dest_p0).data.p = src_p1.data.p;
	(*dest_p0).counter = src_p1.counter;
}
N_LIB_PRIVATE N_NIMCALL(void, eqwasMoved___depgraphs_u13730)(tyObject_HashSet__iZ4unXf6HrtaQ3am5vSdcA* dest_p0) {
	(*dest_p0).data.len = 0; (*dest_p0).data.p = NIM_NIL;
	(*dest_p0).counter = 0;
}
static N_INLINE(NI, pluspercent___system_u793)(NI x_p0, NI y_p1) {
	NI result;
	result = ((NI) ((NU)((NU64)(((NU) (x_p0))) + (NU64)(((NU) (y_p1))))));
	return result;
}
static N_INLINE(void, nimIncRef)(void* p_p0) {
	NI T1_;
	NI T2_;
	T1_ = (NI)0;
	T1_ = minuspercent___system_u813(((NI) (ptrdiff_t) (p_p0)), ((NI)16));
	T2_ = (NI)0;
	T2_ = minuspercent___system_u813(((NI) (ptrdiff_t) (p_p0)), ((NI)16));
	(*((tyObject_RefHeader__BVEqx9abcuAhztUEHxbqQJA*) (T1_))).rc = pluspercent___system_u793((*((tyObject_RefHeader__BVEqx9abcuAhztUEHxbqQJA*) (T2_))).rc, ((NI)16));
}
N_LIB_PRIVATE N_NIMCALL(tySequence__pkEK4LYr0Fa9ces8wzZoClA, eqdup___depgraphs_u13696)(tySequence__pkEK4LYr0Fa9ces8wzZoClA src_p0) {
	tySequence__pkEK4LYr0Fa9ces8wzZoClA result;
	NI T1_;
	NI colontmp_;
	result.len = 0; result.p = NIM_NIL;
	T1_ = src_p0.len;
	setLen__depgraphs_u13570((&result), T1_);
	colontmp_ = ((NI)0);
	{
		while (1) {
			NI T4_;
			T4_ = result.len;
			if (!(colontmp_ < T4_)) goto LA3;
			result.p->data[colontmp_].Field0 = src_p0.p->data[colontmp_].Field0;
			result.p->data[colontmp_].Field1 = src_p0.p->data[colontmp_].Field1;
			{
				if (!src_p0.p->data[colontmp_].Field1) goto LA7_;
				nimIncRef(src_p0.p->data[colontmp_].Field1);
			}
LA7_: ;
			colontmp_ += ((NI)1);
		} LA3: ;
	}
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_HashSet__iZ4unXf6HrtaQ3am5vSdcA, eqdup___depgraphs_u13739)(tyObject_HashSet__iZ4unXf6HrtaQ3am5vSdcA src_p0) {
	tyObject_HashSet__iZ4unXf6HrtaQ3am5vSdcA result;
	nimZeroMem((void*)(&result), sizeof(tyObject_HashSet__iZ4unXf6HrtaQ3am5vSdcA));
	result.data = eqdup___depgraphs_u13696(src_p0.data);
	result.counter = src_p0.counter;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, init__depgraphs_u13546)(tyObject_HashSet__iZ4unXf6HrtaQ3am5vSdcA* s_p0, NI initialSize_p1) {
	NI correctSizeX60gensym168__1;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	if ((initialSize_p1) < ((NI)0) || (initialSize_p1) > ((NI)IL64(9223372036854775807))){ raiseRangeErrorI(initialSize_p1, ((NI)0), ((NI)IL64(9223372036854775807))); goto BeforeRet_;
	}
	correctSizeX60gensym168__1 = slotsNeeded__pureZcollectionsZsets_u50((initialSize_p1));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	(*s_p0).counter = ((NI)0);
	if ((correctSizeX60gensym168__1) < ((NI)0) || (correctSizeX60gensym168__1) > ((NI)IL64(9223372036854775807))){ raiseRangeErrorI(correctSizeX60gensym168__1, ((NI)0), ((NI)IL64(9223372036854775807))); goto BeforeRet_;
	}
	newSeq__depgraphs_u13562((&(*s_p0).data), (correctSizeX60gensym168__1));
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_HashSet__iZ4unXf6HrtaQ3am5vSdcA, initHashSet__depgraphs_u13532)(NI initialSize_p0) {
	tyObject_HashSet__iZ4unXf6HrtaQ3am5vSdcA result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	nimZeroMem((void*)(&result), sizeof(tyObject_HashSet__iZ4unXf6HrtaQ3am5vSdcA));
	init__depgraphs_u13546((&result), initialSize_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___depgraphs_u13733)(tyObject_HashSet__iZ4unXf6HrtaQ3am5vSdcA* dest_p0) {
	eqdestroy___depgraphs_u13690((*dest_p0).data);
}
N_LIB_PRIVATE N_NIMCALL(NI, len__depgraphs_u17236)(tyObject_HashSet__iZ4unXf6HrtaQ3am5vSdcA s_p0) {
	NI result;
	result = s_p0.counter;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___depgraphs_u13693)(tySequence__pkEK4LYr0Fa9ces8wzZoClA* dest_p0, tySequence__pkEK4LYr0Fa9ces8wzZoClA src_p1) {
	NI T6_;
	NI colontmp_;
{	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = sameSeqPayload(dest_p0, (&src_p1));
		if (!T3_) goto LA4_;
		goto BeforeRet_;
	}
LA4_: ;
	T6_ = src_p1.len;
	setLen__depgraphs_u13570((&(*dest_p0)), T6_);
	colontmp_ = ((NI)0);
	{
		while (1) {
			NI T9_;
			T9_ = (*dest_p0).len;
			if (!(colontmp_ < T9_)) goto LA8;
			(*dest_p0).p->data[colontmp_].Field0 = src_p1.p->data[colontmp_].Field0;
			{
				if (!src_p1.p->data[colontmp_].Field1) goto LA12_;
				nimIncRef(src_p1.p->data[colontmp_].Field1);
			}
LA12_: ;
			{
				NIM_BOOL T16_;
				T16_ = (NIM_BOOL)0;
				T16_ = nimDecRefIsLast((*dest_p0).p->data[colontmp_].Field1);
				if (!T16_) goto LA17_;
				eqdestroy___basicZnimblecontext_u3603((&(*(*dest_p0).p->data[colontmp_].Field1)));
				nimRawDispose((*dest_p0).p->data[colontmp_].Field1, ((NI)8));
			}
LA17_: ;
			(*dest_p0).p->data[colontmp_].Field1 = src_p1.p->data[colontmp_].Field1;
			colontmp_ += ((NI)1);
		} LA8: ;
	}
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___depgraphs_u13736)(tyObject_HashSet__iZ4unXf6HrtaQ3am5vSdcA* dest_p0, tyObject_HashSet__iZ4unXf6HrtaQ3am5vSdcA src_p1) {
	eqcopy___depgraphs_u13693((&(*dest_p0).data), src_p1.data);
	(*dest_p0).counter = src_p1.counter;
}
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___depgraphs_u7624)(tyTuple__79ce9cuwoTfQvGVA8p9bRyI9cQ* dest_p0) {
	if ((*dest_p0).Field1.u.anchor.p && !((*dest_p0).Field1.u.anchor.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared((*dest_p0).Field1.u.anchor.p);
}
	if ((*dest_p0).Field1.u.query.p && !((*dest_p0).Field1.u.query.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared((*dest_p0).Field1.u.query.p);
}
	if ((*dest_p0).Field1.u.path.p && !((*dest_p0).Field1.u.path.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared((*dest_p0).Field1.u.path.p);
}
	if ((*dest_p0).Field1.u.port.p && !((*dest_p0).Field1.u.port.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared((*dest_p0).Field1.u.port.p);
}
	if ((*dest_p0).Field1.u.hostname.p && !((*dest_p0).Field1.u.hostname.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared((*dest_p0).Field1.u.hostname.p);
}
	if ((*dest_p0).Field1.u.password.p && !((*dest_p0).Field1.u.password.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared((*dest_p0).Field1.u.password.p);
}
	if ((*dest_p0).Field1.u.username.p && !((*dest_p0).Field1.u.username.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared((*dest_p0).Field1.u.username.p);
}
	if ((*dest_p0).Field1.u.scheme.p && !((*dest_p0).Field1.u.scheme.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared((*dest_p0).Field1.u.scheme.p);
}
	if ((*dest_p0).Field1.qualifiedName.Field0.p && !((*dest_p0).Field1.qualifiedName.Field0.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared((*dest_p0).Field1.qualifiedName.Field0.p);
}
	if ((*dest_p0).Field1.qualifiedName.Field1.p && !((*dest_p0).Field1.qualifiedName.Field1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared((*dest_p0).Field1.qualifiedName.Field1.p);
}
	if ((*dest_p0).Field1.qualifiedName.Field2.p && !((*dest_p0).Field1.qualifiedName.Field2.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared((*dest_p0).Field1.qualifiedName.Field2.p);
}
}
N_LIB_PRIVATE N_NIMCALL(void, eqwasMoved___depgraphs_u7621)(tyTuple__79ce9cuwoTfQvGVA8p9bRyI9cQ* dest_p0) {
	(*dest_p0).Field0 = 0;
	(*dest_p0).Field1.qualifiedName.Field0.len = 0; (*dest_p0).Field1.qualifiedName.Field0.p = NIM_NIL;
	(*dest_p0).Field1.qualifiedName.Field1.len = 0; (*dest_p0).Field1.qualifiedName.Field1.p = NIM_NIL;
	(*dest_p0).Field1.qualifiedName.Field2.len = 0; (*dest_p0).Field1.qualifiedName.Field2.p = NIM_NIL;
	(*dest_p0).Field1.hasShortName = 0;
	(*dest_p0).Field1.u.scheme.len = 0; (*dest_p0).Field1.u.scheme.p = NIM_NIL;
	(*dest_p0).Field1.u.username.len = 0; (*dest_p0).Field1.u.username.p = NIM_NIL;
	(*dest_p0).Field1.u.password.len = 0; (*dest_p0).Field1.u.password.p = NIM_NIL;
	(*dest_p0).Field1.u.hostname.len = 0; (*dest_p0).Field1.u.hostname.p = NIM_NIL;
	(*dest_p0).Field1.u.port.len = 0; (*dest_p0).Field1.u.port.p = NIM_NIL;
	(*dest_p0).Field1.u.path.len = 0; (*dest_p0).Field1.u.path.p = NIM_NIL;
	(*dest_p0).Field1.u.query.len = 0; (*dest_p0).Field1.u.query.p = NIM_NIL;
	(*dest_p0).Field1.u.anchor.len = 0; (*dest_p0).Field1.u.anchor.p = NIM_NIL;
	(*dest_p0).Field1.u.opaque = 0;
	(*dest_p0).Field1.u.isIpv6 = 0;
}
static N_INLINE(NI, hash__basicZpkgurls_u50)(tyObject_PkgUrl__xtGEmbK9cVcp0WbjakP0xVw* a_p0) {
	NI result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NI)0;
	result = hash__basicZpkgurls_u53((&(*a_p0).u));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NIM_BOOL, eqeq___basicZpkgurls_u67)(tyObject_PkgUrl__xtGEmbK9cVcp0WbjakP0xVw* a_p0, tyObject_PkgUrl__xtGEmbK9cVcp0WbjakP0xVw* b_p1) {
	NIM_BOOL result;
	result = eqeq___basicZpkgurls_u71((&(*a_p0).u), (&(*b_p1).u));
	return result;
}
static N_INLINE(NI, rawGet__depgraphs_u7697)(tyObject_HashSet__9bBHlW7QEXKxXeSC3f02tCA t_p0, tyObject_PkgUrl__xtGEmbK9cVcp0WbjakP0xVw* key_p1, NI* hc_p2) {
	NI result;
	NI T1_;
	NI h_1;
	NI T11_;
	NI TM__0JXiWyhP5OCO8jWMA6sb1w_69;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NI)0;
	T1_ = (NI)0;
	T1_ = hash__basicZpkgurls_u50(key_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	(*hc_p2) = T1_;
	{
		if (!((*hc_p2) == ((NI)0))) goto LA4_;
		(*hc_p2) = ((NI)314159265);
	}
LA4_: ;
	{
		NI T8_;
		T8_ = t_p0.data.len;
		if (!(T8_ == ((NI)0))) goto LA9_;
		result = ((NI)-1);
		goto BeforeRet_;
	}
LA9_: ;
	T11_ = (t_p0.data.len-1);
	h_1 = (NI)((*hc_p2) & T11_);
	{
		while (1) {
			NIM_BOOL T14_;
			NI T21_;
			if (h_1 < 0 || h_1 >= t_p0.data.len){ raiseIndexError2(h_1,t_p0.data.len-1); goto BeforeRet_;
			}
			T14_ = (NIM_BOOL)0;
			T14_ = isFilled__pureZcollectionsZsets_u39(t_p0.data.p->data[h_1].Field0);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (!T14_) goto LA13;
			{
				NIM_BOOL T17_;
				T17_ = (NIM_BOOL)0;
				if (h_1 < 0 || h_1 >= t_p0.data.len){ raiseIndexError2(h_1,t_p0.data.len-1); goto BeforeRet_;
				}
				T17_ = (t_p0.data.p->data[h_1].Field0 == (*hc_p2));
				if (!(T17_)) goto LA18_;
				if (h_1 < 0 || h_1 >= t_p0.data.len){ raiseIndexError2(h_1,t_p0.data.len-1); goto BeforeRet_;
				}
				T17_ = eqeq___basicZpkgurls_u67((&t_p0.data.p->data[h_1].Field1), key_p1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
LA18_: ;
				if (!T17_) goto LA19_;
				result = h_1;
				goto BeforeRet_;
			}
LA19_: ;
			T21_ = (t_p0.data.len-1);
			h_1 = nextTry__pureZcollectionsZsets_u42(h_1, T21_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		} LA13: ;
	}
	if (nimSubInt(((NI)-1), h_1, &TM__0JXiWyhP5OCO8jWMA6sb1w_69)) { raiseOverflow(); goto BeforeRet_;
	};
	result = (NI)(TM__0JXiWyhP5OCO8jWMA6sb1w_69);
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NIM_BOOL, mustRehash__depgraphs_u7989)(tyObject_HashSet__9bBHlW7QEXKxXeSC3f02tCA t_p0) {
	NIM_BOOL result;
	NIM_BOOL T6_;
	NI T7_;
	NI TM__0JXiWyhP5OCO8jWMA6sb1w_71;
	NI T9_;
	NI TM__0JXiWyhP5OCO8jWMA6sb1w_72;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NIM_BOOL)0;
	{
		NI T3_;
		T3_ = t_p0.data.len;
		if (!!((t_p0.counter < T3_))) goto LA4_;
		failedAssertImpl__stdZassertions_u95(TM__0JXiWyhP5OCO8jWMA6sb1w_70);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA4_: ;
	T6_ = (NIM_BOOL)0;
	T7_ = t_p0.data.len;
	if (nimAddInt(t_p0.counter, (NI)((t_p0.counter) / (((NI)2))), &TM__0JXiWyhP5OCO8jWMA6sb1w_71)) { raiseOverflow(); goto BeforeRet_;
	};
	T6_ = (T7_ < (NI)(TM__0JXiWyhP5OCO8jWMA6sb1w_71));
	if (T6_) goto LA8_;
	T9_ = t_p0.data.len;
	if (nimSubInt(T9_, t_p0.counter, &TM__0JXiWyhP5OCO8jWMA6sb1w_72)) { raiseOverflow(); goto BeforeRet_;
	};
	T6_ = ((NI)(TM__0JXiWyhP5OCO8jWMA6sb1w_72) < ((NI)4));
LA8_: ;
	result = T6_;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NI, rawGetKnownHC__depgraphs_u8406)(tyObject_HashSet__9bBHlW7QEXKxXeSC3f02tCA t_p0, tyObject_PkgUrl__xtGEmbK9cVcp0WbjakP0xVw* key_p1, NI hc_p2) {
	NI result;
	NI h_1;
	NI T6_;
	NI TM__0JXiWyhP5OCO8jWMA6sb1w_74;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NI)0;
	{
		NI T3_;
		T3_ = t_p0.data.len;
		if (!(T3_ == ((NI)0))) goto LA4_;
		result = ((NI)-1);
		goto BeforeRet_;
	}
LA4_: ;
	T6_ = (t_p0.data.len-1);
	h_1 = (NI)(hc_p2 & T6_);
	{
		while (1) {
			NIM_BOOL T9_;
			NI T16_;
			if (h_1 < 0 || h_1 >= t_p0.data.len){ raiseIndexError2(h_1,t_p0.data.len-1); goto BeforeRet_;
			}
			T9_ = (NIM_BOOL)0;
			T9_ = isFilled__pureZcollectionsZsets_u39(t_p0.data.p->data[h_1].Field0);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (!T9_) goto LA8;
			{
				NIM_BOOL T12_;
				T12_ = (NIM_BOOL)0;
				if (h_1 < 0 || h_1 >= t_p0.data.len){ raiseIndexError2(h_1,t_p0.data.len-1); goto BeforeRet_;
				}
				T12_ = (t_p0.data.p->data[h_1].Field0 == hc_p2);
				if (!(T12_)) goto LA13_;
				if (h_1 < 0 || h_1 >= t_p0.data.len){ raiseIndexError2(h_1,t_p0.data.len-1); goto BeforeRet_;
				}
				T12_ = eqeq___basicZpkgurls_u67((&t_p0.data.p->data[h_1].Field1), key_p1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
LA13_: ;
				if (!T12_) goto LA14_;
				result = h_1;
				goto BeforeRet_;
			}
LA14_: ;
			T16_ = (t_p0.data.len-1);
			h_1 = nextTry__pureZcollectionsZsets_u42(h_1, T16_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		} LA8: ;
	}
	if (nimSubInt(((NI)-1), h_1, &TM__0JXiWyhP5OCO8jWMA6sb1w_74)) { raiseOverflow(); goto BeforeRet_;
	};
	result = (NI)(TM__0JXiWyhP5OCO8jWMA6sb1w_74);
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, rawInsert__depgraphs_u8744)(tyObject_HashSet__9bBHlW7QEXKxXeSC3f02tCA* s_p0, tySequence__ojvafS9bSffKtHkzzwgRSfA* data_p1, tyObject_PkgUrl__xtGEmbK9cVcp0WbjakP0xVw* key_p2, NI hc_p3, NI h_p4) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		NI T3_;
		NI correctSizeX60gensym126__1;
		T3_ = (*data_p1).len;
		if (!(T3_ == ((NI)0))) goto LA4_;
		correctSizeX60gensym126__1 = slotsNeeded__pureZcollectionsZsets_u50(((NI)64));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		(*s_p0).counter = ((NI)0);
		if ((correctSizeX60gensym126__1) < ((NI)0) || (correctSizeX60gensym126__1) > ((NI)IL64(9223372036854775807))){ raiseRangeErrorI(correctSizeX60gensym126__1, ((NI)0), ((NI)IL64(9223372036854775807))); goto BeforeRet_;
		}
		newSeq__depgraphs_u7547((&(*s_p0).data), (correctSizeX60gensym126__1));
	}
LA4_: ;
	if (h_p4 < 0 || h_p4 >= (*data_p1).len){ raiseIndexError2(h_p4,(*data_p1).len-1); goto BeforeRet_;
	}
	eqcopy___basicZpkgurls_u264((&(*data_p1).p->data[h_p4].Field1), key_p2);
	if (h_p4 < 0 || h_p4 >= (*data_p1).len){ raiseIndexError2(h_p4,(*data_p1).len-1); goto BeforeRet_;
	}
	(*data_p1).p->data[h_p4].Field0 = hc_p3;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___depgraphs_u7951)(tySequence__ojvafS9bSffKtHkzzwgRSfA dest_p0) {
	NI colontmp_;
	colontmp_ = ((NI)0);
	{
		while (1) {
			NI T3_;
			T3_ = dest_p0.len;
			if (!(colontmp_ < T3_)) goto LA2;
			if (dest_p0.p->data[colontmp_].Field1.u.anchor.p && !(dest_p0.p->data[colontmp_].Field1.u.anchor.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(dest_p0.p->data[colontmp_].Field1.u.anchor.p);
}
			if (dest_p0.p->data[colontmp_].Field1.u.query.p && !(dest_p0.p->data[colontmp_].Field1.u.query.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(dest_p0.p->data[colontmp_].Field1.u.query.p);
}
			if (dest_p0.p->data[colontmp_].Field1.u.path.p && !(dest_p0.p->data[colontmp_].Field1.u.path.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(dest_p0.p->data[colontmp_].Field1.u.path.p);
}
			if (dest_p0.p->data[colontmp_].Field1.u.port.p && !(dest_p0.p->data[colontmp_].Field1.u.port.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(dest_p0.p->data[colontmp_].Field1.u.port.p);
}
			if (dest_p0.p->data[colontmp_].Field1.u.hostname.p && !(dest_p0.p->data[colontmp_].Field1.u.hostname.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(dest_p0.p->data[colontmp_].Field1.u.hostname.p);
}
			if (dest_p0.p->data[colontmp_].Field1.u.password.p && !(dest_p0.p->data[colontmp_].Field1.u.password.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(dest_p0.p->data[colontmp_].Field1.u.password.p);
}
			if (dest_p0.p->data[colontmp_].Field1.u.username.p && !(dest_p0.p->data[colontmp_].Field1.u.username.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(dest_p0.p->data[colontmp_].Field1.u.username.p);
}
			if (dest_p0.p->data[colontmp_].Field1.u.scheme.p && !(dest_p0.p->data[colontmp_].Field1.u.scheme.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(dest_p0.p->data[colontmp_].Field1.u.scheme.p);
}
			if (dest_p0.p->data[colontmp_].Field1.qualifiedName.Field0.p && !(dest_p0.p->data[colontmp_].Field1.qualifiedName.Field0.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(dest_p0.p->data[colontmp_].Field1.qualifiedName.Field0.p);
}
			if (dest_p0.p->data[colontmp_].Field1.qualifiedName.Field1.p && !(dest_p0.p->data[colontmp_].Field1.qualifiedName.Field1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(dest_p0.p->data[colontmp_].Field1.qualifiedName.Field1.p);
}
			if (dest_p0.p->data[colontmp_].Field1.qualifiedName.Field2.p && !(dest_p0.p->data[colontmp_].Field1.qualifiedName.Field2.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(dest_p0.p->data[colontmp_].Field1.qualifiedName.Field2.p);
}
			colontmp_ += ((NI)1);
		} LA2: ;
	}
	if (dest_p0.p && !(dest_p0.p->cap & NIM_STRLIT_FLAG)) {
 alignedDealloc(dest_p0.p, NIM_ALIGNOF(tyTuple__79ce9cuwoTfQvGVA8p9bRyI9cQ));
}
}
N_LIB_PRIVATE N_NIMCALL(void, enlarge__depgraphs_u8171)(tyObject_HashSet__9bBHlW7QEXKxXeSC3f02tCA* s_p0) {
	tySequence__ojvafS9bSffKtHkzzwgRSfA n_1;
	NI T1_;
	NI TM__0JXiWyhP5OCO8jWMA6sb1w_73;
	tySequence__ojvafS9bSffKtHkzzwgRSfA T2_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	n_1.len = 0; n_1.p = NIM_NIL;
	T1_ = (*s_p0).data.len;
	if (nimMulInt(T1_, ((NI)2), &TM__0JXiWyhP5OCO8jWMA6sb1w_73)) { raiseOverflow(); goto BeforeRet_;
	};
	if (((NI)(TM__0JXiWyhP5OCO8jWMA6sb1w_73)) < ((NI)0) || ((NI)(TM__0JXiWyhP5OCO8jWMA6sb1w_73)) > ((NI)IL64(9223372036854775807))){ raiseRangeErrorI((NI)(TM__0JXiWyhP5OCO8jWMA6sb1w_73), ((NI)0), ((NI)IL64(9223372036854775807))); goto BeforeRet_;
	}
	newSeq__depgraphs_u7547((&n_1), ((NI)(TM__0JXiWyhP5OCO8jWMA6sb1w_73)));
	T2_.len = 0; T2_.p = NIM_NIL;
	T2_ = (*s_p0).data;
	(*s_p0).data = n_1;
	n_1 = T2_;
	{
		NI i_1;
		NI colontmp_;
		NI T4_;
		NI res_1;
		i_1 = (NI)0;
		colontmp_ = (NI)0;
		T4_ = (n_1.len-1);
		colontmp_ = T4_;
		res_1 = ((NI)0);
		{
			while (1) {
				NI TM__0JXiWyhP5OCO8jWMA6sb1w_76;
				if (!(res_1 <= colontmp_)) goto LA6;
				i_1 = ((NI) (res_1));
				{
					NIM_BOOL T9_;
					NI j_1;
					NI T12_;
					NI TM__0JXiWyhP5OCO8jWMA6sb1w_75;
					tyObject_HashSet__9bBHlW7QEXKxXeSC3f02tCA* T13_;
					if (i_1 < 0 || i_1 >= n_1.len){ raiseIndexError2(i_1,n_1.len-1); goto BeforeRet_;
					}
					T9_ = (NIM_BOOL)0;
					T9_ = isFilled__pureZcollectionsZsets_u39(n_1.p->data[i_1].Field0);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					if (!T9_) goto LA10_;
					if (i_1 < 0 || i_1 >= n_1.len){ raiseIndexError2(i_1,n_1.len-1); goto BeforeRet_;
					}
					if (i_1 < 0 || i_1 >= n_1.len){ raiseIndexError2(i_1,n_1.len-1); goto BeforeRet_;
					}
					T12_ = (NI)0;
					T12_ = rawGetKnownHC__depgraphs_u8406((*s_p0), (&n_1.p->data[i_1].Field1), n_1.p->data[i_1].Field0);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					if (nimSubInt(((NI)-1), T12_, &TM__0JXiWyhP5OCO8jWMA6sb1w_75)) { raiseOverflow(); goto BeforeRet_;
					};
					j_1 = (NI)(TM__0JXiWyhP5OCO8jWMA6sb1w_75);
					T13_ = (tyObject_HashSet__9bBHlW7QEXKxXeSC3f02tCA*)0;
					T13_ = s_p0;
					if (i_1 < 0 || i_1 >= n_1.len){ raiseIndexError2(i_1,n_1.len-1); goto BeforeRet_;
					}
					if (i_1 < 0 || i_1 >= n_1.len){ raiseIndexError2(i_1,n_1.len-1); goto BeforeRet_;
					}
					rawInsert__depgraphs_u8744(T13_, (&(*s_p0).data), (&n_1.p->data[i_1].Field1), n_1.p->data[i_1].Field0, j_1);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				}
LA10_: ;
				if (nimAddInt(res_1, ((NI)1), &TM__0JXiWyhP5OCO8jWMA6sb1w_76)) { raiseOverflow(); goto BeforeRet_;
				};
				res_1 = (NI)(TM__0JXiWyhP5OCO8jWMA6sb1w_76);
			} LA6: ;
		}
	}
	eqdestroy___depgraphs_u7951(n_1);
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, containsOrIncl__depgraphs_u7475)(tyObject_HashSet__9bBHlW7QEXKxXeSC3f02tCA* s_p0, tyObject_PkgUrl__xtGEmbK9cVcp0WbjakP0xVw* key_p1) {
	NIM_BOOL result;
	NI hc_1;
	NI index_1;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NIM_BOOL)0;
	{
		NI T3_;
		NI correctSizeX60gensym117__1;
		T3_ = (*s_p0).data.len;
		if (!(T3_ == ((NI)0))) goto LA4_;
		correctSizeX60gensym117__1 = slotsNeeded__pureZcollectionsZsets_u50(((NI)64));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		(*s_p0).counter = ((NI)0);
		if ((correctSizeX60gensym117__1) < ((NI)0) || (correctSizeX60gensym117__1) > ((NI)IL64(9223372036854775807))){ raiseRangeErrorI(correctSizeX60gensym117__1, ((NI)0), ((NI)IL64(9223372036854775807))); goto BeforeRet_;
		}
		newSeq__depgraphs_u7547((&(*s_p0).data), (correctSizeX60gensym117__1));
	}
LA4_: ;
	hc_1 = (NI)0;
	index_1 = rawGet__depgraphs_u7697((*s_p0), key_p1, (&hc_1));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		if (!(((NI)0) <= index_1)) goto LA8_;
		result = NIM_TRUE;
	}
	goto LA6_;
LA8_: ;
	{
		tyObject_HashSet__9bBHlW7QEXKxXeSC3f02tCA* T16_;
		NI TM__0JXiWyhP5OCO8jWMA6sb1w_77;
		NI TM__0JXiWyhP5OCO8jWMA6sb1w_78;
		result = NIM_FALSE;
		{
			NIM_BOOL T13_;
			T13_ = (NIM_BOOL)0;
			T13_ = mustRehash__depgraphs_u7989((*s_p0));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (!T13_) goto LA14_;
			enlarge__depgraphs_u8171(s_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			index_1 = rawGetKnownHC__depgraphs_u8406((*s_p0), key_p1, hc_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA14_: ;
		T16_ = (tyObject_HashSet__9bBHlW7QEXKxXeSC3f02tCA*)0;
		T16_ = s_p0;
		if (nimSubInt(((NI)-1), index_1, &TM__0JXiWyhP5OCO8jWMA6sb1w_77)) { raiseOverflow(); goto BeforeRet_;
		};
		rawInsert__depgraphs_u8744(T16_, (&(*s_p0).data), key_p1, hc_1, (NI)(TM__0JXiWyhP5OCO8jWMA6sb1w_77));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		if (nimAddInt((*s_p0).counter, ((NI)1), &TM__0JXiWyhP5OCO8jWMA6sb1w_78)) { raiseOverflow(); goto BeforeRet_;
		};
		(*s_p0).counter = (NI)(TM__0JXiWyhP5OCO8jWMA6sb1w_78);
	}
LA6_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___depgraphs_u9351)(tyObject_HashSet__9bBHlW7QEXKxXeSC3f02tCA* dest_p0) {
	eqdestroy___depgraphs_u7951((*dest_p0).data);
}
N_LIB_PRIVATE N_NIMCALL(void, clear__basicZdeptypesjson_u1736)(tyObject_HashSet__v3AgR4bnzCtqFMiyBA9al4Q* s_p0) {
{	(*s_p0).counter = ((NI)0);
	{
		NI i_1;
		NI colontmp_;
		NI T2_;
		NI i_2;
		i_1 = (NI)0;
		colontmp_ = (NI)0;
		T2_ = (*s_p0).data.len;
		colontmp_ = T2_;
		i_2 = ((NI)0);
		{
			while (1) {
				NI TM__0JXiWyhP5OCO8jWMA6sb1w_79;
				if (!(i_2 < colontmp_)) goto LA4;
				i_1 = i_2;
				if (i_1 < 0 || i_1 >= (*s_p0).data.len){ raiseIndexError2(i_1,(*s_p0).data.len-1); goto BeforeRet_;
				}
				(*s_p0).data.p->data[i_1].Field0 = ((NI)0);
				if (i_1 < 0 || i_1 >= (*s_p0).data.len){ raiseIndexError2(i_1,(*s_p0).data.len-1); goto BeforeRet_;
				}
				reset__system_u5540((&(*s_p0).data.p->data[i_1].Field1));
				if (nimAddInt(i_2, ((NI)1), &TM__0JXiWyhP5OCO8jWMA6sb1w_79)) { raiseOverflow(); goto BeforeRet_;
				};
				i_2 = (NI)(TM__0JXiWyhP5OCO8jWMA6sb1w_79);
			} LA4: ;
		}
	}
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_HashSet__Uwr6yc54j9cc7mpkQIvCLZA, toHashSet__basicZgitops_u1424)(tyObject_VersionTag__io9bcihbopiwucKorobyKdg* keys_p0, NI keys_p0Len_0) {
	tyObject_HashSet__Uwr6yc54j9cc7mpkQIvCLZA result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	nimZeroMem((void*)(&result), sizeof(tyObject_HashSet__Uwr6yc54j9cc7mpkQIvCLZA));
	result = initHashSet__basicZgitops_u1444(keys_p0Len_0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		tyObject_VersionTag__io9bcihbopiwucKorobyKdg* key_1;
		NI i_1;
		key_1 = (tyObject_VersionTag__io9bcihbopiwucKorobyKdg*)0;
		i_1 = ((NI)0);
		{
			while (1) {
				if (!(i_1 < keys_p0Len_0)) goto LA3;
				if (i_1 < 0 || i_1 >= keys_p0Len_0){ raiseIndexError2(i_1,keys_p0Len_0-1); goto BeforeRet_;
				}
				key_1 = (&keys_p0[i_1]);
				incl__basicZgitops_u1690((&result), (&(*key_1)));
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				i_1 += ((NI)1);
			} LA3: ;
		}
	}
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, contains__basicZgitops_u3349)(tyObject_HashSet__Uwr6yc54j9cc7mpkQIvCLZA s_p0, tyObject_VersionTag__io9bcihbopiwucKorobyKdg* key_p1) {
	NIM_BOOL result;
	NI hc_1;
	NI index_1;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NIM_BOOL)0;
	hc_1 = 0;
	index_1 = rawGet__basicZgitops_u1772(s_p0, key_p1, (&hc_1));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	result = (((NI)0) <= index_1);
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, lteq___basicZgitops_u3062)(tyObject_HashSet__Uwr6yc54j9cc7mpkQIvCLZA s_p0, tyObject_HashSet__Uwr6yc54j9cc7mpkQIvCLZA t_p1) {
	NIM_BOOL result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_FALSE;
	{
		if (!(t_p1.counter < s_p0.counter)) goto LA3_;
		goto BeforeRet_;
	}
LA3_: ;
	result = NIM_TRUE;
	{
		tyObject_VersionTag__io9bcihbopiwucKorobyKdg item_1;
		NI length_1;
		nimZeroMem((void*)(&item_1), sizeof(tyObject_VersionTag__io9bcihbopiwucKorobyKdg));
		length_1 = len__basicZgitops_u3121(s_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		{
			NI h_1;
			NI colontmp_;
			NI T8_;
			NI res_1;
			h_1 = (NI)0;
			colontmp_ = (NI)0;
			T8_ = (s_p0.data.len-1);
			colontmp_ = T8_;
			res_1 = ((NI)0);
			{
				while (1) {
					NI TM__0JXiWyhP5OCO8jWMA6sb1w_81;
					if (!(res_1 <= colontmp_)) goto LA10;
					h_1 = ((NI) (res_1));
					{
						NIM_BOOL T13_;
						if (h_1 < 0 || h_1 >= s_p0.data.len){ raiseIndexError2(h_1,s_p0.data.len-1); goto LA6_;
						}
						T13_ = (NIM_BOOL)0;
						T13_ = isFilled__pureZcollectionsZsets_u39(s_p0.data.p->data[h_1].Field0);
						if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
						if (!T13_) goto LA14_;
						if (h_1 < 0 || h_1 >= s_p0.data.len){ raiseIndexError2(h_1,s_p0.data.len-1); goto LA6_;
						}
						eqcopy___basicZversions_u3512((&item_1), (&s_p0.data.p->data[h_1].Field1));
						{
							NIM_BOOL T18_;
							T18_ = (NIM_BOOL)0;
							T18_ = contains__basicZgitops_u3349(t_p1, (&item_1));
							if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
							if (!!(T18_)) goto LA19_;
							result = NIM_FALSE;
							eqdestroy___basicZversions_u3509((&item_1));
							goto BeforeRet_;
						}
LA19_: ;
						{
							NI T23_;
							T23_ = (NI)0;
							T23_ = len__basicZgitops_u3121(s_p0);
							if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
							if (!!((T23_ == length_1))) goto LA24_;
							failedAssertImpl__stdZassertions_u95(TM__0JXiWyhP5OCO8jWMA6sb1w_80);
							if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
						}
LA24_: ;
					}
LA14_: ;
					if (nimAddInt(res_1, ((NI)1), &TM__0JXiWyhP5OCO8jWMA6sb1w_81)) { raiseOverflow(); goto LA6_;
					};
					res_1 = (NI)(TM__0JXiWyhP5OCO8jWMA6sb1w_81);
				} LA10: ;
			}
		}
		{
			LA6_:;
		}
		{
			eqdestroy___basicZversions_u3509((&item_1));
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, lt___basicZgitops_u3053)(tyObject_HashSet__Uwr6yc54j9cc7mpkQIvCLZA s_p0, tyObject_HashSet__Uwr6yc54j9cc7mpkQIvCLZA t_p1) {
	NIM_BOOL result;
	NIM_BOOL T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NIM_BOOL)0;
	T1_ = (NIM_BOOL)0;
	T1_ = !((s_p0.counter == t_p1.counter));
	if (!(T1_)) goto LA2_;
	T1_ = lteq___basicZgitops_u3062(s_p0, t_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
LA2_: ;
	result = T1_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NimStringV2, dollar___basicZgitops_u3535)(tyObject_HashSet__Uwr6yc54j9cc7mpkQIvCLZA s_p0) {
	NimStringV2 result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = TM__0JXiWyhP5OCO8jWMA6sb1w_82;
	{
		tyObject_VersionTag__io9bcihbopiwucKorobyKdg key_1;
		NI length_1;
		nimZeroMem((void*)(&key_1), sizeof(tyObject_VersionTag__io9bcihbopiwucKorobyKdg));
		length_1 = len__basicZgitops_u3121(s_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		{
			NI h_1;
			NI colontmp_;
			NI T3_;
			NI res_1;
			h_1 = (NI)0;
			colontmp_ = (NI)0;
			T3_ = (s_p0.data.len-1);
			colontmp_ = T3_;
			res_1 = ((NI)0);
			{
				while (1) {
					NI TM__0JXiWyhP5OCO8jWMA6sb1w_85;
					if (!(res_1 <= colontmp_)) goto LA5;
					h_1 = ((NI) (res_1));
					{
						NIM_BOOL T8_;
						if (h_1 < 0 || h_1 >= s_p0.data.len){ raiseIndexError2(h_1,s_p0.data.len-1); goto BeforeRet_;
						}
						T8_ = (NIM_BOOL)0;
						T8_ = isFilled__pureZcollectionsZsets_u39(s_p0.data.p->data[h_1].Field0);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						if (!T8_) goto LA9_;
						if (h_1 < 0 || h_1 >= s_p0.data.len){ raiseIndexError2(h_1,s_p0.data.len-1); goto BeforeRet_;
						}
						eqcopy___basicZversions_u3512((&key_1), (&s_p0.data.p->data[h_1].Field1));
						{
							if (!(((NI)1) < result.len)) goto LA13_;
							prepareAdd((&result), 2);
appendString((&result), TM__0JXiWyhP5OCO8jWMA6sb1w_83);
						}
LA13_: ;
						addQuoted__basicZgitops_u3543((&result), (&key_1));
						{
							NI T17_;
							T17_ = (NI)0;
							T17_ = len__basicZgitops_u3121(s_p0);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
							if (!!((T17_ == length_1))) goto LA18_;
							failedAssertImpl__stdZassertions_u95(TM__0JXiWyhP5OCO8jWMA6sb1w_84);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						}
LA18_: ;
					}
LA9_: ;
					if (nimAddInt(res_1, ((NI)1), &TM__0JXiWyhP5OCO8jWMA6sb1w_85)) { raiseOverflow(); goto BeforeRet_;
					};
					res_1 = (NI)(TM__0JXiWyhP5OCO8jWMA6sb1w_85);
				} LA5: ;
			}
		}
		eqdestroy___basicZversions_u3509((&key_1));
	}
	prepareAdd((&result), 1);
appendString((&result), TM__0JXiWyhP5OCO8jWMA6sb1w_86);
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_HashSet__Uwr6yc54j9cc7mpkQIvCLZA, difference__basicZgitops_u3386)(tyObject_HashSet__Uwr6yc54j9cc7mpkQIvCLZA s1_p0, tyObject_HashSet__Uwr6yc54j9cc7mpkQIvCLZA s2_p1) {
	tyObject_HashSet__Uwr6yc54j9cc7mpkQIvCLZA result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	nimZeroMem((void*)(&result), sizeof(tyObject_HashSet__Uwr6yc54j9cc7mpkQIvCLZA));
	result = initHashSet__basicZgitops_u1444(((NI)64));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		tyObject_VersionTag__io9bcihbopiwucKorobyKdg item_1;
		NI length_1;
		nimZeroMem((void*)(&item_1), sizeof(tyObject_VersionTag__io9bcihbopiwucKorobyKdg));
		length_1 = len__basicZgitops_u3121(s1_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		{
			NI h_1;
			NI colontmp_;
			NI T3_;
			NI res_1;
			h_1 = (NI)0;
			colontmp_ = (NI)0;
			T3_ = (s1_p0.data.len-1);
			colontmp_ = T3_;
			res_1 = ((NI)0);
			{
				while (1) {
					NI TM__0JXiWyhP5OCO8jWMA6sb1w_88;
					if (!(res_1 <= colontmp_)) goto LA5;
					h_1 = ((NI) (res_1));
					{
						NIM_BOOL T8_;
						if (h_1 < 0 || h_1 >= s1_p0.data.len){ raiseIndexError2(h_1,s1_p0.data.len-1); goto BeforeRet_;
						}
						T8_ = (NIM_BOOL)0;
						T8_ = isFilled__pureZcollectionsZsets_u39(s1_p0.data.p->data[h_1].Field0);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						if (!T8_) goto LA9_;
						if (h_1 < 0 || h_1 >= s1_p0.data.len){ raiseIndexError2(h_1,s1_p0.data.len-1); goto BeforeRet_;
						}
						eqcopy___basicZversions_u3512((&item_1), (&s1_p0.data.p->data[h_1].Field1));
						{
							NIM_BOOL T13_;
							T13_ = (NIM_BOOL)0;
							T13_ = contains__basicZgitops_u3349(s2_p1, (&item_1));
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
							if (!!(T13_)) goto LA14_;
							incl__basicZgitops_u1690((&result), (&item_1));
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						}
LA14_: ;
						{
							NI T18_;
							T18_ = (NI)0;
							T18_ = len__basicZgitops_u3121(s1_p0);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
							if (!!((T18_ == length_1))) goto LA19_;
							failedAssertImpl__stdZassertions_u95(TM__0JXiWyhP5OCO8jWMA6sb1w_87);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						}
LA19_: ;
					}
LA9_: ;
					if (nimAddInt(res_1, ((NI)1), &TM__0JXiWyhP5OCO8jWMA6sb1w_88)) { raiseOverflow(); goto BeforeRet_;
					};
					res_1 = (NI)(TM__0JXiWyhP5OCO8jWMA6sb1w_88);
				} LA5: ;
			}
		}
		eqdestroy___basicZversions_u3509((&item_1));
	}
	}BeforeRet_: ;
	return result;
}
