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

#include "nimbase.h"
#include <string.h>
#undef LANGUAGE_C
#undef MIPSEB
#undef MIPSEL
#undef PPC
#undef R3000
#undef R4000
#undef i386
#undef linux
#undef mips
#undef near
#undef far
#undef powerpc
#undef unix
typedef struct tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA;
typedef struct tyObject_PkgUrl__xtGEmbK9cVcp0WbjakP0xVw tyObject_PkgUrl__xtGEmbK9cVcp0WbjakP0xVw;
typedef struct NimStrPayload NimStrPayload;
typedef struct NimStringV2 NimStringV2;
typedef struct tyObject_OrderedTable__RIgoItpMnyMLlEioBo9bQIA tyObject_OrderedTable__RIgoItpMnyMLlEioBo9bQIA;
typedef struct tySequence__UM2HJI1wUigOaSPzL6VC3A tySequence__UM2HJI1wUigOaSPzL6VC3A;
typedef struct tySequence__UM2HJI1wUigOaSPzL6VC3A_Content tySequence__UM2HJI1wUigOaSPzL6VC3A_Content;
typedef struct tySequence__t6JKa4Kdxpc0RJiFEWRI9bw tySequence__t6JKa4Kdxpc0RJiFEWRI9bw;
typedef struct tySequence__t6JKa4Kdxpc0RJiFEWRI9bw_Content tySequence__t6JKa4Kdxpc0RJiFEWRI9bw_Content;
typedef struct tyObject_OrderedTable__6LH0iEO9c9cdi0YrUiH7Mtdg tyObject_OrderedTable__6LH0iEO9c9cdi0YrUiH7Mtdg;
typedef struct tyObject_ToJsonOptions__mRkT0c8Ugtl0BxbGElJ1oA tyObject_ToJsonOptions__mRkT0c8Ugtl0BxbGElJ1oA;
typedef struct tyObject_PackageVersioncolonObjectType___nkWxN1qoImjRSFLA34DlGg tyObject_PackageVersioncolonObjectType___nkWxN1qoImjRSFLA34DlGg;
typedef struct tyObject_NimbleReleasecolonObjectType___Cd1woUEuIWSParVQIsOkuw tyObject_NimbleReleasecolonObjectType___Cd1woUEuIWSParVQIsOkuw;
typedef struct tySequence__jlOSbs9c7TpYbYckLycDaQg tySequence__jlOSbs9c7TpYbYckLycDaQg;
typedef struct tySequence__jlOSbs9c7TpYbYckLycDaQg_Content tySequence__jlOSbs9c7TpYbYckLycDaQg_Content;
typedef struct tyTuple__GSIE033wnKaKWLU68PPv9cA tyTuple__GSIE033wnKaKWLU68PPv9cA;
typedef struct tyObject_VersionTag__io9bcihbopiwucKorobyKdg tyObject_VersionTag__io9bcihbopiwucKorobyKdg;
typedef struct tyTuple__XXBtNszxg1rbD9cnycyLK7A tyTuple__XXBtNszxg1rbD9cnycyLK7A;
typedef struct tyTuple__7q7q3E6Oj24ZNVJb9aonhAg tyTuple__7q7q3E6Oj24ZNVJb9aonhAg;
typedef struct tyObject_Uri__MX62yCLGQmnfVYEE3Hjm9cA tyObject_Uri__MX62yCLGQmnfVYEE3Hjm9cA;
typedef struct tyObject_VersionInterval__Fo18dECYIXwkOygWPnb8YA tyObject_VersionInterval__Fo18dECYIXwkOygWPnb8YA;
typedef struct tyObject_VersionReq__eFOT6plIfXH54d8sBkqpng tyObject_VersionReq__eFOT6plIfXH54d8sBkqpng;
typedef struct tyObject_Table__chgX4ZRn9aA0cwNzdIgL9a3w tyObject_Table__chgX4ZRn9aA0cwNzdIgL9a3w;
typedef struct tySequence__5tFKfHpt6l4YRslMO5BC9aA tySequence__5tFKfHpt6l4YRslMO5BC9aA;
typedef struct tySequence__5tFKfHpt6l4YRslMO5BC9aA_Content tySequence__5tFKfHpt6l4YRslMO5BC9aA_Content;
typedef struct tyObject_HashSet__v3AgR4bnzCtqFMiyBA9al4Q tyObject_HashSet__v3AgR4bnzCtqFMiyBA9al4Q;
typedef struct tySequence__4eRCaZmrYLLw2k30GPTiMw tySequence__4eRCaZmrYLLw2k30GPTiMw;
typedef struct tySequence__4eRCaZmrYLLw2k30GPTiMw_Content tySequence__4eRCaZmrYLLw2k30GPTiMw_Content;
typedef struct tyTuple__SgjupenGH7y9bVV9aV67zqsw tyTuple__SgjupenGH7y9bVV9aV67zqsw;
typedef struct tyObject_DepGraph__i1RlFs3c9aTk9bK2vN5Pa2yw tyObject_DepGraph__i1RlFs3c9aTk9bK2vN5Pa2yw;
typedef struct tyObject_OrderedTable__NAaHKPe5f6Y5G54ThvHCdw tyObject_OrderedTable__NAaHKPe5f6Y5G54ThvHCdw;
typedef struct tyObject_PackagecolonObjectType___oq9cbJmLUyLo2l9clmDFeVSA tyObject_PackagecolonObjectType___oq9cbJmLUyLo2l9clmDFeVSA;
typedef struct tySequence__oMQEWXk5BpYjO5RbdjG9a1Q tySequence__oMQEWXk5BpYjO5RbdjG9a1Q;
typedef struct tySequence__oMQEWXk5BpYjO5RbdjG9a1Q_Content tySequence__oMQEWXk5BpYjO5RbdjG9a1Q_Content;
typedef struct tyTuple__P9b03d79atTGoSs9bM2vK9bPRA tyTuple__P9b03d79atTGoSs9bM2vK9bPRA;
typedef struct tyObject_NimbleContext__4UNXx9ceXbsj5kR4Hz1gUgA tyObject_NimbleContext__4UNXx9ceXbsj5kR4Hz1gUgA;
typedef struct tyObject_Joptions__Bf62ivDFOdoKXzuMmXTKWw tyObject_Joptions__Bf62ivDFOdoKXzuMmXTKWw;
typedef struct tyObject_CommitHash__ENSoVMeDKmDIP8obk69cDaA tyObject_CommitHash__ENSoVMeDKmDIP8obk69cDaA;
typedef struct tyObject_HSlice__LlH5wTnoA9aQeGwJu9b9bzAYg tyObject_HSlice__LlH5wTnoA9aQeGwJu9b9bzAYg;
typedef struct tySequence__Cv9czsNzurrmCo02svI9bGaw tySequence__Cv9czsNzurrmCo02svI9bGaw;
typedef struct tySequence__Cv9czsNzurrmCo02svI9bGaw_Content tySequence__Cv9czsNzurrmCo02svI9bGaw_Content;
typedef struct tyObject_Table__RkXBcORzX4aZm9bJbtHRiMA tyObject_Table__RkXBcORzX4aZm9bJbtHRiMA;
typedef struct tySequence__eDvmA6YdVXqDawROf8i9aCg tySequence__eDvmA6YdVXqDawROf8i9aCg;
typedef struct tySequence__eDvmA6YdVXqDawROf8i9aCg_Content tySequence__eDvmA6YdVXqDawROf8i9aCg_Content;
typedef struct tyObject_Table__k9b9b9a4QBdl9cae9coIuQmAotQ tyObject_Table__k9b9b9a4QBdl9cae9coIuQmAotQ;
typedef struct tySequence__7lEisrXlQEzwtUKW5pzRCw tySequence__7lEisrXlQEzwtUKW5pzRCw;
typedef struct tySequence__7lEisrXlQEzwtUKW5pzRCw_Content tySequence__7lEisrXlQEzwtUKW5pzRCw_Content;
typedef struct tyTuple__otFEYh4BBZ0y3q0WDtkCOw tyTuple__otFEYh4BBZ0y3q0WDtkCOw;
typedef struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ tySequence__sM4lkSb7zS6F7OVMvW9cffQ;
typedef struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content;
typedef struct tyTuple__QeWl6B6ffS4pU6WWrtcrDw tyTuple__QeWl6B6ffS4pU6WWrtcrDw;
typedef struct tyTuple__DuXgJ7FhP2gM03hW7KEKAA tyTuple__DuXgJ7FhP2gM03hW7KEKAA;
typedef struct tyTuple__xYhUhS7X82rKTqbT9bRfCnw tyTuple__xYhUhS7X82rKTqbT9bRfCnw;
struct NimStrPayload {
	NI cap;
	NIM_CHAR data[SEQ_DECL_SIZE];
};
struct NimStringV2 {
	NI len;
	NimStrPayload* p;
};
typedef NU8 tyEnum_JsonNodeKind__iWE9brhI8kBHUww4QuE4NFA;
struct tySequence__UM2HJI1wUigOaSPzL6VC3A {
  NI len; tySequence__UM2HJI1wUigOaSPzL6VC3A_Content* p;
};
struct tyObject_OrderedTable__RIgoItpMnyMLlEioBo9bQIA {
	tySequence__UM2HJI1wUigOaSPzL6VC3A data;
	NI counter;
	NI first;
	NI last;
};
struct tySequence__t6JKa4Kdxpc0RJiFEWRI9bw {
  NI len; tySequence__t6JKa4Kdxpc0RJiFEWRI9bw_Content* p;
};
struct tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA {
	NIM_BOOL isUnquoted;
	tyEnum_JsonNodeKind__iWE9brhI8kBHUww4QuE4NFA kind;
union{
	struct {
	NimStringV2 str;
} _kind_1;
	struct {
	NI64 num;
} _kind_2;
	struct {
	NF fnum;
} _kind_3;
	struct {
	NIM_BOOL bval;
} _kind_4;
	struct {
	tyObject_OrderedTable__RIgoItpMnyMLlEioBo9bQIA fields;
} _kind_6;
	struct {
	tySequence__t6JKa4Kdxpc0RJiFEWRI9bw elems;
} _kind_7;
};
};
typedef NU8 tyEnum_EnumMode__SzEOeAZV29bxtRSEwT4jVCA;
typedef NU8 tyEnum_JsonNodeMode__IVcp7Bxa1lbzP5s9ahFgiLQ;
struct tyObject_ToJsonOptions__mRkT0c8Ugtl0BxbGElJ1oA {
	tyEnum_EnumMode__SzEOeAZV29bxtRSEwT4jVCA enumMode;
	tyEnum_JsonNodeMode__IVcp7Bxa1lbzP5s9ahFgiLQ jsonNodeMode;
};
struct tySequence__jlOSbs9c7TpYbYckLycDaQg {
  NI len; tySequence__jlOSbs9c7TpYbYckLycDaQg_Content* p;
};
struct tyObject_OrderedTable__6LH0iEO9c9cdi0YrUiH7Mtdg {
	tySequence__jlOSbs9c7TpYbYckLycDaQg data;
	NI counter;
	NI first;
	NI last;
};
struct tyTuple__GSIE033wnKaKWLU68PPv9cA {
	NI Field0;
	NI Field1;
	tyObject_PackageVersioncolonObjectType___nkWxN1qoImjRSFLA34DlGg* Field2;
	tyObject_NimbleReleasecolonObjectType___Cd1woUEuIWSParVQIsOkuw* Field3;
};
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_VersionRelation__4XquEtylWSi3MRH9c7xlRFw;
struct tyObject_VersionReq__eFOT6plIfXH54d8sBkqpng {
	tyEnum_VersionRelation__4XquEtylWSi3MRH9c7xlRFw r;
	NimStringV2 v;
};
struct tyObject_VersionInterval__Fo18dECYIXwkOygWPnb8YA {
	tyObject_VersionReq__eFOT6plIfXH54d8sBkqpng a;
	tyObject_VersionReq__eFOT6plIfXH54d8sBkqpng b;
	NIM_BOOL isInterval;
};
struct tyTuple__XXBtNszxg1rbD9cnycyLK7A {
	tyObject_PkgUrl__xtGEmbK9cVcp0WbjakP0xVw Field0;
	tyObject_VersionInterval__Fo18dECYIXwkOygWPnb8YA Field1;
};
struct tySequence__5tFKfHpt6l4YRslMO5BC9aA {
  NI len; tySequence__5tFKfHpt6l4YRslMO5BC9aA_Content* p;
};
struct tyObject_Table__chgX4ZRn9aA0cwNzdIgL9a3w {
	tySequence__5tFKfHpt6l4YRslMO5BC9aA data;
	NI counter;
};
struct tySequence__4eRCaZmrYLLw2k30GPTiMw {
  NI len; tySequence__4eRCaZmrYLLw2k30GPTiMw_Content* p;
};
struct tyObject_HashSet__v3AgR4bnzCtqFMiyBA9al4Q {
	tySequence__4eRCaZmrYLLw2k30GPTiMw data;
	NI counter;
};
struct tyTuple__SgjupenGH7y9bVV9aV67zqsw {
	NI Field0;
	tyObject_PkgUrl__xtGEmbK9cVcp0WbjakP0xVw Field1;
	tyObject_HashSet__v3AgR4bnzCtqFMiyBA9al4Q Field2;
};
struct tySequence__oMQEWXk5BpYjO5RbdjG9a1Q {
  NI len; tySequence__oMQEWXk5BpYjO5RbdjG9a1Q_Content* p;
};
struct tyObject_OrderedTable__NAaHKPe5f6Y5G54ThvHCdw {
	tySequence__oMQEWXk5BpYjO5RbdjG9a1Q data;
	NI counter;
	NI first;
	NI last;
};
struct tyTuple__P9b03d79atTGoSs9bM2vK9bPRA {
	NI Field0;
	NI Field1;
	tyObject_PkgUrl__xtGEmbK9cVcp0WbjakP0xVw Field2;
	tyObject_PackagecolonObjectType___oq9cbJmLUyLo2l9clmDFeVSA* Field3;
};
typedef NU8 tyEnum_TraversalMode__7oigiLe2XsEgCBvsMzDCZw;
struct tyObject_DepGraph__i1RlFs3c9aTk9bK2vN5Pa2yw {
	tyEnum_TraversalMode__7oigiLe2XsEgCBvsMzDCZw mode;
	tyObject_PackagecolonObjectType___oq9cbJmLUyLo2l9clmDFeVSA* root;
	tyObject_OrderedTable__NAaHKPe5f6Y5G54ThvHCdw pkgs;
};
struct tyObject_Joptions__Bf62ivDFOdoKXzuMmXTKWw {
	NIM_BOOL allowExtraKeys;
	NIM_BOOL allowMissingKeys;
};
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 tyObject_PackageVersioncolonObjectType___nkWxN1qoImjRSFLA34DlGg {
	tyObject_VersionTag__io9bcihbopiwucKorobyKdg vtag;
	NI32 vid;
};
struct tyObject_HSlice__LlH5wTnoA9aQeGwJu9b9bzAYg {
	NI a;
	NI b;
};
typedef NU8 tyEnum_ReleaseStatus__WQoraXO80GBXtge9ad8aCBg;
struct tySequence__Cv9czsNzurrmCo02svI9bGaw {
  NI len; tySequence__Cv9czsNzurrmCo02svI9bGaw_Content* p;
};
struct tySequence__eDvmA6YdVXqDawROf8i9aCg {
  NI len; tySequence__eDvmA6YdVXqDawROf8i9aCg_Content* p;
};
struct tyObject_Table__RkXBcORzX4aZm9bJbtHRiMA {
	tySequence__eDvmA6YdVXqDawROf8i9aCg data;
	NI counter;
};
struct tySequence__7lEisrXlQEzwtUKW5pzRCw {
  NI len; tySequence__7lEisrXlQEzwtUKW5pzRCw_Content* p;
};
struct tyObject_Table__k9b9b9a4QBdl9cae9coIuQmAotQ {
	tySequence__7lEisrXlQEzwtUKW5pzRCw data;
	NI counter;
};
struct tyObject_NimbleReleasecolonObjectType___Cd1woUEuIWSParVQIsOkuw {
	NimStringV2 version;
	NimStringV2 nimVersion;
	tyEnum_ReleaseStatus__WQoraXO80GBXtge9ad8aCBg status;
	tySequence__Cv9czsNzurrmCo02svI9bGaw requirements;
	tyObject_Table__chgX4ZRn9aA0cwNzdIgL9a3w reqsByFeatures;
	NIM_BOOL hasInstallHooks;
	NimStringV2 srcDir;
	NimStringV2 err;
	tyObject_Table__RkXBcORzX4aZm9bJbtHRiMA features;
	tyObject_Table__k9b9b9a4QBdl9cae9coIuQmAotQ featureVars;
};
struct tyTuple__otFEYh4BBZ0y3q0WDtkCOw {
	NI Field0;
	NI Field1;
	NimStringV2 Field2;
	tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* Field3;
};
typedef NU8 tyEnum_PackageState__INzfBajphYPGcwu72ccy8w;
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__UM2HJI1wUigOaSPzL6VC3A_Content { NI cap; tyTuple__otFEYh4BBZ0y3q0WDtkCOw data[SEQ_DECL_SIZE]; };
struct tySequence__t6JKa4Kdxpc0RJiFEWRI9bw_Content { NI cap; tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* data[SEQ_DECL_SIZE]; };
struct tySequence__jlOSbs9c7TpYbYckLycDaQg_Content { NI cap; tyTuple__GSIE033wnKaKWLU68PPv9cA data[SEQ_DECL_SIZE]; };
struct tySequence__5tFKfHpt6l4YRslMO5BC9aA_Content { NI cap; tyTuple__SgjupenGH7y9bVV9aV67zqsw data[SEQ_DECL_SIZE]; };
struct tyTuple__QeWl6B6ffS4pU6WWrtcrDw {
	NI Field0;
	NimStringV2 Field1;
};
struct tySequence__4eRCaZmrYLLw2k30GPTiMw_Content { NI cap; tyTuple__QeWl6B6ffS4pU6WWrtcrDw data[SEQ_DECL_SIZE]; };
struct tySequence__oMQEWXk5BpYjO5RbdjG9a1Q_Content { NI cap; tyTuple__P9b03d79atTGoSs9bM2vK9bPRA data[SEQ_DECL_SIZE]; };
struct tySequence__Cv9czsNzurrmCo02svI9bGaw_Content { NI cap; tyTuple__XXBtNszxg1rbD9cnycyLK7A data[SEQ_DECL_SIZE]; };
struct tyTuple__DuXgJ7FhP2gM03hW7KEKAA {
	NI Field0;
	NimStringV2 Field1;
	tySequence__Cv9czsNzurrmCo02svI9bGaw Field2;
};
struct tySequence__eDvmA6YdVXqDawROf8i9aCg_Content { NI cap; tyTuple__DuXgJ7FhP2gM03hW7KEKAA data[SEQ_DECL_SIZE]; };
struct tyTuple__xYhUhS7X82rKTqbT9bRfCnw {
	NI Field0;
	NimStringV2 Field1;
	NI32 Field2;
};
struct tySequence__7lEisrXlQEzwtUKW5pzRCw_Content { NI cap; tyTuple__xYhUhS7X82rKTqbT9bRfCnw data[SEQ_DECL_SIZE]; };
struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content { NI cap; NimStringV2 data[SEQ_DECL_SIZE]; };
N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA*, percent___pureZjson_u2161)(NimStringV2 s_p0);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, dollar___basicZpkgurls_u47)(tyObject_PkgUrl__xtGEmbK9cVcp0WbjakP0xVw* u_p0);
N_LIB_PRIVATE N_NOCONV(void, deallocShared)(void* p_p0);
static N_INLINE(NIM_BOOL*, nimErrorFlag)(void);
N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA*, newJArray__pureZjson_u503)(void);
static N_INLINE(NI, len__basicZdeptypes_u1719)(tyObject_OrderedTable__6LH0iEO9c9cdi0YrUiH7Mtdg* t_p0);
N_LIB_PRIVATE N_NOINLINE(void, raiseIndexError2)(NI i_p0, NI n_p1);
static N_INLINE(NIM_BOOL, isFilled__pureZcollectionsZtables_u31)(NI hcode_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___basicZdeptypes_u151)(tyObject_PackageVersioncolonObjectType___nkWxN1qoImjRSFLA34DlGg** dest_p0, tyObject_PackageVersioncolonObjectType___nkWxN1qoImjRSFLA34DlGg* src_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___basicZdeptypes_u1635)(tyObject_NimbleReleasecolonObjectType___Cd1woUEuIWSParVQIsOkuw** dest_p0, tyObject_NimbleReleasecolonObjectType___Cd1woUEuIWSParVQIsOkuw* src_p1);
N_LIB_PRIVATE N_NIMCALL(void, add__pureZjson_u659)(tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* father_p0, tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* child_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA*, toJson__basicZdeptypesjson_u2213)(tyObject_PackageVersioncolonObjectType___nkWxN1qoImjRSFLA34DlGg* a_p0, tyObject_ToJsonOptions__mRkT0c8Ugtl0BxbGElJ1oA opt_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA*, toJson__stdZjsonutils_u602)(NimStringV2 a_p0, tyObject_ToJsonOptions__mRkT0c8Ugtl0BxbGElJ1oA opt_p1);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, repr__basicZversions_u190)(tyObject_VersionTag__io9bcihbopiwucKorobyKdg* vt_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_ToJsonOptions__mRkT0c8Ugtl0BxbGElJ1oA, initToJsonOptions__stdZjsonutils_u33)(void);
N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA*, toJson__basicZdeptypesjson_u76)(NI a_p0, tyObject_ToJsonOptions__mRkT0c8Ugtl0BxbGElJ1oA opt_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA*, toJson__basicZdeptypesjson_u2248)(tyObject_NimbleReleasecolonObjectType___Cd1woUEuIWSParVQIsOkuw* a_p0, tyObject_ToJsonOptions__mRkT0c8Ugtl0BxbGElJ1oA opt_p1);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, dollar___basicZversions_u52)(NimStringV2 v_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA*, newJObject__pureZjson_u440)(void);
static N_INLINE(void, X5BX5Deq___pureZjson_u2311)(tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* obj_p0, NimStringV2 key_p1, tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* val_p2);
N_LIB_PRIVATE N_NIMCALL(void, failedAssertImpl__stdZassertions_u95)(NimStringV2 msg_p0);
N_LIB_PRIVATE N_NIMCALL(void, X5BX5Deq___pureZjson_u740)(tyObject_OrderedTable__RIgoItpMnyMLlEioBo9bQIA* t_p0, NimStringV2 key_p1, tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* val_p2);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, dollar___pureZjson_u20)(tyEnum_JsonNodeKind__iWE9brhI8kBHUww4QuE4NFA e_p0);
N_LIB_PRIVATE N_NOINLINE(void, raiseFieldErrorStr)(NimStringV2 f_p0, NimStringV2 discVal_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA*, eqdup___pureZjson_u327)(tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* src_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA*, toJsonHook__basicZdeptypesjson_u66)(tyObject_PkgUrl__xtGEmbK9cVcp0WbjakP0xVw* v_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA*, toJsonHook__basicZdeptypesjson_u12)(tyObject_VersionInterval__Fo18dECYIXwkOygWPnb8YA* v_p0);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, dollar___basicZversions_u5238)(tyObject_VersionInterval__Fo18dECYIXwkOygWPnb8YA* i_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___pureZjson_u321)(tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* dest_p0);
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(NI, len__basicZdeptypesjson_u195)(tyObject_Table__chgX4ZRn9aA0cwNzdIgL9a3w t_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___basicZpkgurls_u264)(tyObject_PkgUrl__xtGEmbK9cVcp0WbjakP0xVw* dest_p0, tyObject_PkgUrl__xtGEmbK9cVcp0WbjakP0xVw* src_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___basicZversions_u5017)(tyObject_HashSet__v3AgR4bnzCtqFMiyBA9al4Q* dest_p0, tyObject_HashSet__v3AgR4bnzCtqFMiyBA9al4Q src_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA*, toJson__basicZdeptypesjson_u476)(tyObject_HashSet__v3AgR4bnzCtqFMiyBA9al4Q a_p0, tyObject_ToJsonOptions__mRkT0c8Ugtl0BxbGElJ1oA opt_p1);
static N_INLINE(NIM_BOOL, nimAddInt)(NI a_p0, NI b_p1, NI* res_p2);
N_LIB_PRIVATE N_NOINLINE(void, raiseOverflow)(void);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___basicZversions_u5014)(tyObject_HashSet__v3AgR4bnzCtqFMiyBA9al4Q* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___basicZpkgurls_u261)(tyObject_PkgUrl__xtGEmbK9cVcp0WbjakP0xVw* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___basicZdeptypes_u1632)(tyObject_NimbleReleasecolonObjectType___Cd1woUEuIWSParVQIsOkuw* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___basicZdeptypes_u148)(tyObject_PackageVersioncolonObjectType___nkWxN1qoImjRSFLA34DlGg* dest_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA*, toJsonGraph__basicZdeptypesjson_u13589)(tyObject_DepGraph__i1RlFs3c9aTk9bK2vN5Pa2yw* d_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA*, toJson__basicZdeptypesjson_u13592)(tyObject_DepGraph__i1RlFs3c9aTk9bK2vN5Pa2yw* a_p0, tyObject_ToJsonOptions__mRkT0c8Ugtl0BxbGElJ1oA opt_p1);
static N_INLINE(NI, len__basicZdepgraphtypes_u302)(tyObject_OrderedTable__NAaHKPe5f6Y5G54ThvHCdw* t_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___basicZdepgraphtypes_u561)(tyObject_PackagecolonObjectType___oq9cbJmLUyLo2l9clmDFeVSA** dest_p0, tyObject_PackagecolonObjectType___oq9cbJmLUyLo2l9clmDFeVSA* src_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA*, toJson__basicZdeptypesjson_u11048)(tyObject_PackagecolonObjectType___oq9cbJmLUyLo2l9clmDFeVSA* a_p0, tyObject_ToJsonOptions__mRkT0c8Ugtl0BxbGElJ1oA opt_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___basicZdepgraphtypes_u558)(tyObject_PackagecolonObjectType___oq9cbJmLUyLo2l9clmDFeVSA* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, writeFile__stdZsyncio_u539)(NimStringV2 filename_p0, NimStringV2 content_p1);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, pretty__pureZjson_u4853)(tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* node_p0, NI indent_p1);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, dollar___pureZjson_u4857)(tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* node_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA*, parseFile__pureZjson_u5637)(NimStringV2 filename_p0);
N_LIB_PRIVATE N_NIMCALL(void, loadJson__basicZdeptypesjson_u13770)(tyObject_NimbleContext__4UNXx9ceXbsj5kR4Hz1gUgA* nc_p0, tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* json_p1, tyObject_DepGraph__i1RlFs3c9aTk9bK2vN5Pa2yw* Result);
N_LIB_PRIVATE N_NIMCALL(void, fromJson__basicZdeptypesjson_u13774)(tyObject_DepGraph__i1RlFs3c9aTk9bK2vN5Pa2yw* a_p0, tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* b_p1, tyObject_Joptions__Bf62ivDFOdoKXzuMmXTKWw opt_p2);
N_LIB_PRIVATE N_NIMCALL(void, eqsink___basicZpkgurls_u270)(tyObject_PkgUrl__xtGEmbK9cVcp0WbjakP0xVw* dest_p0, tyObject_PkgUrl__xtGEmbK9cVcp0WbjakP0xVw* src_p1);
N_LIB_PRIVATE N_NIMCALL(void, toPkgUriRaw__basicZpkgurls_u301)(tyObject_Uri__MX62yCLGQmnfVYEE3Hjm9cA* u_p0, NIM_BOOL hasShortName_p1, tyObject_PkgUrl__xtGEmbK9cVcp0WbjakP0xVw* Result);
N_LIB_PRIVATE N_NIMCALL(void, parseUri__pureZuri_u295)(NimStringV2 uri_p0, tyObject_Uri__MX62yCLGQmnfVYEE3Hjm9cA* Result);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, getStr__pureZjson_u551)(tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* n_p0, NimStringV2 default_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___pureZuri_u213)(tyObject_Uri__MX62yCLGQmnfVYEE3Hjm9cA* dest_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(NimStringV2, rawNewString)(NI space_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___pureZjson_u257)(tySequence__t6JKa4Kdxpc0RJiFEWRI9bw* dest_p0, tySequence__t6JKa4Kdxpc0RJiFEWRI9bw src_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___pureZjson_u324)(tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA** dest_p0, tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* src_p1);
N_LIB_PRIVATE N_NIMCALL(void, fromJson__basicZdeptypesjson_u3904)(tyObject_PackageVersioncolonObjectType___nkWxN1qoImjRSFLA34DlGg** a_p0, tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* b_p1, tyObject_Joptions__Bf62ivDFOdoKXzuMmXTKWw opt_p2);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, nsuEndsWith)(NimStringV2 s_p0, NimStringV2 suffix_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqsink___system_u2760)(NimStringV2* dest_p0, NimStringV2 src_p1);
static N_INLINE(NimStringV2, X5BX5D___pureZstrutils_u1319)(NimStringV2 s_p0, tyObject_HSlice__LlH5wTnoA9aQeGwJu9b9bzAYg x_p1);
static N_INLINE(NIM_BOOL, nimSubInt)(NI a_p0, NI b_p1, NI* res_p2);
N_NIMCALL(NimStringV2, mnewString)(NI len_p0);
N_LIB_PRIVATE N_NOINLINE(void, raiseRangeErrorI)(NI64 i_p0, NI64 a_p1, NI64 b_p2);
static N_INLINE(void, nimPrepareStrMutationV2)(NimStringV2* s_p0);
N_LIB_PRIVATE N_NIMCALL(void, nimPrepareStrMutationImpl__system_u2493)(NimStringV2* s_p0);
static N_INLINE(tyObject_HSlice__LlH5wTnoA9aQeGwJu9b9bzAYg, dotdot___stdZenumutils_u105)(NI a_p0, NI b_p1);
static N_INLINE(void, eqdestroy___system_u281)(NimStringV2 x_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqsink___basicZversions_u3518)(tyObject_VersionTag__io9bcihbopiwucKorobyKdg* dest_p0, tyObject_VersionTag__io9bcihbopiwucKorobyKdg* src_p1);
N_LIB_PRIVATE N_NIMCALL(void, toVersionTag__basicZversions_u5248)(NimStringV2 str_p0, tyEnum_CommitOrigin__tDM8mWEQT3dZtKoOj7Mgww origin_p1, tyObject_VersionTag__io9bcihbopiwucKorobyKdg* Result);
N_LIB_PRIVATE N_NIMCALL(NI, getInt__pureZjson_u563)(tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* n_p0, NI default_p1);
static N_INLINE(tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA*, X5BX5D___pureZjson_u3561)(tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* node_p0, NI index_p1);
N_LIB_PRIVATE N_NIMCALL(void, fromJson__basicZdeptypesjson_u4044)(tyObject_NimbleReleasecolonObjectType___Cd1woUEuIWSParVQIsOkuw** a_p0, tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* b_p1, tyObject_Joptions__Bf62ivDFOdoKXzuMmXTKWw opt_p2);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, toVersion__basicZversions_u5241)(NimStringV2 str_p0);
N_LIB_PRIVATE N_NIMCALL(void, fromJson__basicZdeptypesjson_u109)(tyObject_PkgUrl__xtGEmbK9cVcp0WbjakP0xVw* a_p0, tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* b_p1, tyObject_Joptions__Bf62ivDFOdoKXzuMmXTKWw opt_p2);
static N_INLINE(tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA*, X5BX5D___pureZjson_u3486)(tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* node_p0, NimStringV2 name_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA**, X5BX5D___pureZjson_u3055)(tyObject_OrderedTable__RIgoItpMnyMLlEioBo9bQIA* t_p0, NimStringV2 key_p1);
N_LIB_PRIVATE N_NIMCALL(void, fromJson__basicZdeptypesjson_u121)(tyObject_VersionInterval__Fo18dECYIXwkOygWPnb8YA* a_p0, tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* b_p1, tyObject_Joptions__Bf62ivDFOdoKXzuMmXTKWw opt_p2);
N_LIB_PRIVATE N_NIMCALL(void, eqsink___basicZversions_u255)(tyObject_VersionInterval__Fo18dECYIXwkOygWPnb8YA* dest_p0, tyObject_VersionInterval__Fo18dECYIXwkOygWPnb8YA* src_p1);
N_LIB_PRIVATE N_NIMCALL(void, parseVersionInterval__basicZversions_u649)(NimStringV2 s_p0, NI start_p1, NIM_BOOL* err_p2, tyObject_VersionInterval__Fo18dECYIXwkOygWPnb8YA* Result);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___pureZjson_u486)(tyObject_OrderedTable__RIgoItpMnyMLlEioBo9bQIA* dest_p0, tyObject_OrderedTable__RIgoItpMnyMLlEioBo9bQIA* src_p1);
static N_INLINE(NI, len__pureZjson_u2571)(tyObject_OrderedTable__RIgoItpMnyMLlEioBo9bQIA* t_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___system_u2754)(NimStringV2* dest_p0, NimStringV2 src_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqwasMoved___system_u2751)(NimStringV2* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqsink___pureZjson_u330)(tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA** dest_p0, tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* src_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqwasMoved___pureZjson_u318)(tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA** dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, fromJson__basicZdeptypesjson_u1339)(tyObject_HashSet__v3AgR4bnzCtqFMiyBA9al4Q* a_p0, tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* b_p1, tyObject_Joptions__Bf62ivDFOdoKXzuMmXTKWw opt_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA*, toJson__basicZdeptypesjson_u1062)(tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* a_p0, tyObject_ToJsonOptions__mRkT0c8Ugtl0BxbGElJ1oA opt_p1);
N_LIB_PRIVATE N_NIMCALL(void, X5BX5Deq___basicZdeptypesjson_u1973)(tyObject_Table__chgX4ZRn9aA0cwNzdIgL9a3w* t_p0, tyObject_PkgUrl__xtGEmbK9cVcp0WbjakP0xVw* key_p1, tyObject_HashSet__v3AgR4bnzCtqFMiyBA9al4Q val_p2);
N_LIB_PRIVATE N_NIMCALL(void, eqwasMoved___basicZversions_u5011)(tyObject_HashSet__v3AgR4bnzCtqFMiyBA9al4Q* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___pureZjson_u483)(tyObject_OrderedTable__RIgoItpMnyMLlEioBo9bQIA* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, X5BX5Deq___basicZdeptypesjson_u9465)(tyObject_OrderedTable__6LH0iEO9c9cdi0YrUiH7Mtdg* t_p0, tyObject_PackageVersioncolonObjectType___nkWxN1qoImjRSFLA34DlGg* key_p1, tyObject_NimbleReleasecolonObjectType___Cd1woUEuIWSParVQIsOkuw* val_p2);
N_LIB_PRIVATE N_NIMCALL(void, eqwasMoved___basicZdeptypes_u1629)(tyObject_NimbleReleasecolonObjectType___Cd1woUEuIWSParVQIsOkuw** dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___pureZjson_u254)(tySequence__t6JKa4Kdxpc0RJiFEWRI9bw dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, fromJson__basicZdeptypesjson_u11424)(tyObject_PackagecolonObjectType___oq9cbJmLUyLo2l9clmDFeVSA** a_p0, tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* b_p1, tyObject_Joptions__Bf62ivDFOdoKXzuMmXTKWw opt_p2);
N_LIB_PRIVATE N_NIMCALL(void, X5BX5Deq___basicZdeptypesjson_u12178)(tyObject_OrderedTable__NAaHKPe5f6Y5G54ThvHCdw* t_p0, tyObject_PkgUrl__xtGEmbK9cVcp0WbjakP0xVw* key_p1, tyObject_PackagecolonObjectType___oq9cbJmLUyLo2l9clmDFeVSA* val_p2);
N_LIB_PRIVATE N_NIMCALL(void, eqwasMoved___basicZdepgraphtypes_u555)(tyObject_PackagecolonObjectType___oq9cbJmLUyLo2l9clmDFeVSA** dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___basicZdepgraphtypes_u3156)(tyObject_OrderedTable__NAaHKPe5f6Y5G54ThvHCdw* dest_p0, tyObject_OrderedTable__NAaHKPe5f6Y5G54ThvHCdw* src_p1);
N_LIB_PRIVATE N_NIMCALL(void, clear__basicZdeptypesjson_u14071)(tyObject_OrderedTable__NAaHKPe5f6Y5G54ThvHCdw* t_p0);
N_LIB_PRIVATE N_NIMCALL(void, createUrl__basicZnimblecontext_u3215)(tyObject_NimbleContext__4UNXx9ceXbsj5kR4Hz1gUgA* nc_p0, NimStringV2 nameOrig_p1, tyObject_PkgUrl__xtGEmbK9cVcp0WbjakP0xVw* Result);
N_LIB_PRIVATE N_NIMCALL(tyObject_PackagecolonObjectType___oq9cbJmLUyLo2l9clmDFeVSA**, X5BX5D___basicZdeptypesjson_u14466)(tyObject_OrderedTable__NAaHKPe5f6Y5G54ThvHCdw* t_p0, tyObject_PkgUrl__xtGEmbK9cVcp0WbjakP0xVw* key_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___basicZdepgraphtypes_u3153)(tyObject_OrderedTable__NAaHKPe5f6Y5G54ThvHCdw* dest_p0);
static const struct {
  NI cap; NIM_CHAR data[39+1];
} TM__1WYrEGQWowGsA75jdDDFWw_2 = { 39 | NIM_STRLIT_FLAG, "json.nim(396, 9) `obj.kind == JObject` " };
static const NimStringV2 TM__1WYrEGQWowGsA75jdDDFWw_3 = {39, (NimStrPayload*)&TM__1WYrEGQWowGsA75jdDDFWw_2};
static const struct {
  NI cap; NIM_CHAR data[70+1];
} TM__1WYrEGQWowGsA75jdDDFWw_4 = { 70 | NIM_STRLIT_FLAG, "field \'fields\' is not accessible for type \'JsonNodeObj\' using \'kind = " };
static const NimStringV2 TM__1WYrEGQWowGsA75jdDDFWw_5 = {70, (NimStrPayload*)&TM__1WYrEGQWowGsA75jdDDFWw_4};
static const struct {
  NI cap; NIM_CHAR data[3+1];
} TM__1WYrEGQWowGsA75jdDDFWw_6 = { 3 | NIM_STRLIT_FLAG, "url" };
static const NimStringV2 TM__1WYrEGQWowGsA75jdDDFWw_7 = {3, (NimStrPayload*)&TM__1WYrEGQWowGsA75jdDDFWw_6};
static const struct {
  NI cap; NIM_CHAR data[7+1];
} TM__1WYrEGQWowGsA75jdDDFWw_8 = { 7 | NIM_STRLIT_FLAG, "version" };
static const NimStringV2 TM__1WYrEGQWowGsA75jdDDFWw_9 = {7, (NimStrPayload*)&TM__1WYrEGQWowGsA75jdDDFWw_8};
static const struct {
  NI cap; NIM_CHAR data[89+1];
} TM__1WYrEGQWowGsA75jdDDFWw_10 = { 89 | NIM_STRLIT_FLAG, "tables.nim(771, 13) `len(t) == L` the length of the table changed while iterating over it" };
static const NimStringV2 TM__1WYrEGQWowGsA75jdDDFWw_11 = {89, (NimStrPayload*)&TM__1WYrEGQWowGsA75jdDDFWw_10};
static const struct {
  NI cap; NIM_CHAR data[90+1];
} TM__1WYrEGQWowGsA75jdDDFWw_13 = { 90 | NIM_STRLIT_FLAG, "tables.nim(1822, 11) `len(t) == L` the length of the table changed while iterating over it" };
static const NimStringV2 TM__1WYrEGQWowGsA75jdDDFWw_14 = {90, (NimStrPayload*)&TM__1WYrEGQWowGsA75jdDDFWw_13};
static const NimStringV2 TM__1WYrEGQWowGsA75jdDDFWw_15 = {90, (NimStrPayload*)&TM__1WYrEGQWowGsA75jdDDFWw_13};
static const struct {
  NI cap; NIM_CHAR data[0+1];
} TM__1WYrEGQWowGsA75jdDDFWw_16 = { 0 | NIM_STRLIT_FLAG, "" };
static const NimStringV2 TM__1WYrEGQWowGsA75jdDDFWw_17 = {0, (NimStrPayload*)&TM__1WYrEGQWowGsA75jdDDFWw_16};
static const struct {
  NI cap; NIM_CHAR data[84+1];
} TM__1WYrEGQWowGsA75jdDDFWw_18 = { 84 | NIM_STRLIT_FLAG, "json.nim(834, 3) `node.kind == JArray` : items() can not iterate a JsonNode of kind " };
static const NimStringV2 TM__1WYrEGQWowGsA75jdDDFWw_19 = {84, (NimStrPayload*)&TM__1WYrEGQWowGsA75jdDDFWw_18};
static const struct {
  NI cap; NIM_CHAR data[69+1];
} TM__1WYrEGQWowGsA75jdDDFWw_20 = { 69 | NIM_STRLIT_FLAG, "field \'elems\' is not accessible for type \'JsonNodeObj\' using \'kind = " };
static const NimStringV2 TM__1WYrEGQWowGsA75jdDDFWw_21 = {69, (NimStrPayload*)&TM__1WYrEGQWowGsA75jdDDFWw_20};
static const NimStringV2 TM__1WYrEGQWowGsA75jdDDFWw_22 = {0, (NimStrPayload*)&TM__1WYrEGQWowGsA75jdDDFWw_16};
static const struct {
  NI cap; NIM_CHAR data[1+1];
} TM__1WYrEGQWowGsA75jdDDFWw_23 = { 1 | NIM_STRLIT_FLAG, "^" };
static const NimStringV2 TM__1WYrEGQWowGsA75jdDDFWw_24 = {1, (NimStrPayload*)&TM__1WYrEGQWowGsA75jdDDFWw_23};
static const struct {
  NI cap; NIM_CHAR data[35+1];
} TM__1WYrEGQWowGsA75jdDDFWw_30 = { 35 | NIM_STRLIT_FLAG, "json.nim(531, 9) `not isNil(node)` " };
static const NimStringV2 TM__1WYrEGQWowGsA75jdDDFWw_31 = {35, (NimStrPayload*)&TM__1WYrEGQWowGsA75jdDDFWw_30};
static const struct {
  NI cap; NIM_CHAR data[39+1];
} TM__1WYrEGQWowGsA75jdDDFWw_32 = { 39 | NIM_STRLIT_FLAG, "json.nim(532, 9) `node.kind == JArray` " };
static const NimStringV2 TM__1WYrEGQWowGsA75jdDDFWw_33 = {39, (NimStrPayload*)&TM__1WYrEGQWowGsA75jdDDFWw_32};
static const NimStringV2 TM__1WYrEGQWowGsA75jdDDFWw_34 = {69, (NimStrPayload*)&TM__1WYrEGQWowGsA75jdDDFWw_20};
static const NimStringV2 TM__1WYrEGQWowGsA75jdDDFWw_35 = {0, (NimStrPayload*)&TM__1WYrEGQWowGsA75jdDDFWw_16};
static const struct {
  NI cap; NIM_CHAR data[35+1];
} TM__1WYrEGQWowGsA75jdDDFWw_36 = { 35 | NIM_STRLIT_FLAG, "json.nim(521, 9) `not isNil(node)` " };
static const NimStringV2 TM__1WYrEGQWowGsA75jdDDFWw_37 = {35, (NimStrPayload*)&TM__1WYrEGQWowGsA75jdDDFWw_36};
static const struct {
  NI cap; NIM_CHAR data[40+1];
} TM__1WYrEGQWowGsA75jdDDFWw_38 = { 40 | NIM_STRLIT_FLAG, "json.nim(522, 9) `node.kind == JObject` " };
static const NimStringV2 TM__1WYrEGQWowGsA75jdDDFWw_39 = {40, (NimStrPayload*)&TM__1WYrEGQWowGsA75jdDDFWw_38};
static const NimStringV2 TM__1WYrEGQWowGsA75jdDDFWw_40 = {70, (NimStrPayload*)&TM__1WYrEGQWowGsA75jdDDFWw_4};
static const NimStringV2 TM__1WYrEGQWowGsA75jdDDFWw_41 = {3, (NimStrPayload*)&TM__1WYrEGQWowGsA75jdDDFWw_6};
static const NimStringV2 TM__1WYrEGQWowGsA75jdDDFWw_42 = {0, (NimStrPayload*)&TM__1WYrEGQWowGsA75jdDDFWw_16};
static const NimStringV2 TM__1WYrEGQWowGsA75jdDDFWw_43 = {7, (NimStrPayload*)&TM__1WYrEGQWowGsA75jdDDFWw_8};
static const struct {
  NI cap; NIM_CHAR data[85+1];
} TM__1WYrEGQWowGsA75jdDDFWw_44 = { 85 | NIM_STRLIT_FLAG, "json.nim(847, 3) `node.kind == JObject` : pairs() can not iterate a JsonNode of kind " };
static const NimStringV2 TM__1WYrEGQWowGsA75jdDDFWw_45 = {85, (NimStrPayload*)&TM__1WYrEGQWowGsA75jdDDFWw_44};
static const NimStringV2 TM__1WYrEGQWowGsA75jdDDFWw_46 = {70, (NimStrPayload*)&TM__1WYrEGQWowGsA75jdDDFWw_4};
static const NimStringV2 TM__1WYrEGQWowGsA75jdDDFWw_47 = {90, (NimStrPayload*)&TM__1WYrEGQWowGsA75jdDDFWw_13};
static const NimStringV2 TM__1WYrEGQWowGsA75jdDDFWw_48 = {0, (NimStrPayload*)&TM__1WYrEGQWowGsA75jdDDFWw_16};
static const struct {
  NI cap; NIM_CHAR data[90+1];
} TM__1WYrEGQWowGsA75jdDDFWw_49 = { 90 | NIM_STRLIT_FLAG, "iterators.nim(254, 11) `len(a) == L` the length of the seq changed while iterating over it" };
static const NimStringV2 TM__1WYrEGQWowGsA75jdDDFWw_50 = {90, (NimStrPayload*)&TM__1WYrEGQWowGsA75jdDDFWw_49};
static const NimStringV2 TM__1WYrEGQWowGsA75jdDDFWw_51 = {85, (NimStrPayload*)&TM__1WYrEGQWowGsA75jdDDFWw_44};
static const NimStringV2 TM__1WYrEGQWowGsA75jdDDFWw_52 = {70, (NimStrPayload*)&TM__1WYrEGQWowGsA75jdDDFWw_4};
static const NimStringV2 TM__1WYrEGQWowGsA75jdDDFWw_53 = {90, (NimStrPayload*)&TM__1WYrEGQWowGsA75jdDDFWw_13};
static const NimStringV2 TM__1WYrEGQWowGsA75jdDDFWw_54 = {90, (NimStrPayload*)&TM__1WYrEGQWowGsA75jdDDFWw_13};
extern NIM_THREADVAR NIM_BOOL nimInErrorMode__system_u4198;
static N_INLINE(NIM_BOOL*, nimErrorFlag)(void) {
	NIM_BOOL* result;
	result = (&nimInErrorMode__system_u4198);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA*, toJsonHook__basicZdeptypesjson_u66)(tyObject_PkgUrl__xtGEmbK9cVcp0WbjakP0xVw* v_p0) {
	tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* result;
	NimStringV2 colontmpD_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
	colontmpD_ = dollar___basicZpkgurls_u47(v_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	result = percent___pureZjson_u2161(colontmpD_);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	if (colontmpD_.p && !(colontmpD_.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD_.p);
}
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NI, len__basicZdeptypes_u1719)(tyObject_OrderedTable__6LH0iEO9c9cdi0YrUiH7Mtdg* t_p0) {
	NI result;
	result = (*t_p0).counter;
	return result;
}
static N_INLINE(NIM_BOOL, isFilled__pureZcollectionsZtables_u31)(NI hcode_p0) {
	NIM_BOOL result;
	result = !((hcode_p0 == ((NI)0)));
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA*, toJsonHook__basicZdeptypesjson_u26)(tyObject_VersionTag__io9bcihbopiwucKorobyKdg* v_p0) {
	tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* result;
	NimStringV2 colontmpD_;
	tyObject_ToJsonOptions__mRkT0c8Ugtl0BxbGElJ1oA T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
	colontmpD_ = repr__basicZversions_u190(v_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	T1_ = initToJsonOptions__stdZjsonutils_u33();
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	result = toJson__stdZjsonutils_u602(colontmpD_, T1_);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	if (colontmpD_.p && !(colontmpD_.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD_.p);
}
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA*, toJsonHook__basicZdeptypesjson_u73)(NI32 vid_p0) {
	tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* result;
	tyObject_ToJsonOptions__mRkT0c8Ugtl0BxbGElJ1oA T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	T1_ = initToJsonOptions__stdZjsonutils_u33();
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	result = toJson__basicZdeptypesjson_u76(((NI) (vid_p0)), T1_);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA*, toJsonHook__basicZdeptypesjson_u19)(NimStringV2 v_p0) {
	tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* result;
	NimStringV2 colontmpD_;
	tyObject_ToJsonOptions__mRkT0c8Ugtl0BxbGElJ1oA T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
	colontmpD_ = dollar___basicZversions_u52(v_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	T1_ = initToJsonOptions__stdZjsonutils_u33();
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	result = toJson__stdZjsonutils_u602(colontmpD_, T1_);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	if (colontmpD_.p && !(colontmpD_.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD_.p);
}
	}BeforeRet_: ;
	return result;
}
static N_INLINE(void, X5BX5Deq___pureZjson_u2311)(tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* obj_p0, NimStringV2 key_p1, tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* val_p2) {
	tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* colontmpD_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		if (!!(((*obj_p0).kind == ((tyEnum_JsonNodeKind__iWE9brhI8kBHUww4QuE4NFA)5)))) goto LA3_;
		failedAssertImpl__stdZassertions_u95(TM__1WYrEGQWowGsA75jdDDFWw_3);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA3_: ;
	if (!(((32 &((NU8)1<<((NU)(((*obj_p0).kind))&7U)))!=0))) 	{ raiseFieldErrorStr(TM__1WYrEGQWowGsA75jdDDFWw_5, dollar___pureZjson_u20((*obj_p0).kind)); goto BeforeRet_;
	}
	colontmpD_ = eqdup___pureZjson_u327(val_p2);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	X5BX5Deq___pureZjson_u740((&(*obj_p0)._kind_6.fields), key_p1, colontmpD_);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA*, toJsonHook__basicZdeptypesjson_u12)(tyObject_VersionInterval__Fo18dECYIXwkOygWPnb8YA* v_p0) {
	tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* result;
	NimStringV2 colontmpD_;
	tyObject_ToJsonOptions__mRkT0c8Ugtl0BxbGElJ1oA T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
	colontmpD_ = dollar___basicZversions_u5238(v_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	T1_ = initToJsonOptions__stdZjsonutils_u33();
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	result = toJson__stdZjsonutils_u602(colontmpD_, T1_);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	if (colontmpD_.p && !(colontmpD_.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD_.p);
}
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA*, toJsonHook__basicZdeptypesjson_u101)(tyTuple__XXBtNszxg1rbD9cnycyLK7A* v_p0, tyObject_ToJsonOptions__mRkT0c8Ugtl0BxbGElJ1oA opt_p1) {
	tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* result;
	tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* colontmpD_;
	tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* colontmpD__2;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	colontmpD_ = NIM_NIL;
	colontmpD__2 = NIM_NIL;
	result = newJObject__pureZjson_u440();
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	colontmpD_ = toJsonHook__basicZdeptypesjson_u66((&(*v_p0).Field0));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	X5BX5Deq___pureZjson_u2311(result, TM__1WYrEGQWowGsA75jdDDFWw_7, colontmpD_);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	colontmpD__2 = toJsonHook__basicZdeptypesjson_u12((&(*v_p0).Field1));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	X5BX5Deq___pureZjson_u2311(result, TM__1WYrEGQWowGsA75jdDDFWw_9, colontmpD__2);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	eqdestroy___pureZjson_u321(colontmpD__2);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	eqdestroy___pureZjson_u321(colontmpD_);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(void, nimSetMem__system_u2188)(void* a_p0, int v_p1, NI size_p2) {
	void* T1_;
	T1_ = (void*)0;
	T1_ = memset(a_p0, v_p1, ((size_t) (size_p2)));
}
static N_INLINE(void, nimZeroMem)(void* p_p0, NI size_p1) {
	nimSetMem__system_u2188(p_p0, ((int)0), size_p1);
}
static N_INLINE(NIM_BOOL, nimAddInt)(NI a_p0, NI b_p1, NI* res_p2) {
	NIM_BOOL result;
	NI r_1;
	result = (NIM_BOOL)0;
	r_1 = ((NI) ((NU)((NU64)(((NU) (a_p0))) + (NU64)(((NU) (b_p1))))));
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = (((NI)0) <= (NI)(r_1 ^ a_p0));
		if (T3_) goto LA4_;
		T3_ = (((NI)0) <= (NI)(r_1 ^ b_p1));
LA4_: ;
		if (!T3_) goto LA5_;
		(*res_p2) = r_1;
	}
	goto LA1_;
LA5_: ;
	{
		result = NIM_TRUE;
	}
LA1_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA*, toJsonHook__basicZdeptypesjson_u133)(tyObject_Table__chgX4ZRn9aA0cwNzdIgL9a3w v_p0, tyObject_ToJsonOptions__mRkT0c8Ugtl0BxbGElJ1oA opt_p1) {
	tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	result = newJObject__pureZjson_u440();
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		tyObject_PkgUrl__xtGEmbK9cVcp0WbjakP0xVw k_1;
		tyObject_HashSet__v3AgR4bnzCtqFMiyBA9al4Q v_2;
		NI L_1;
		nimZeroMem((void*)(&k_1), sizeof(tyObject_PkgUrl__xtGEmbK9cVcp0WbjakP0xVw));
		nimZeroMem((void*)(&v_2), sizeof(tyObject_HashSet__v3AgR4bnzCtqFMiyBA9al4Q));
		L_1 = len__basicZdeptypesjson_u195(v_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_ = (v_p0.data.len-1);
			colontmp_ = T3_;
			res_1 = ((NI)0);
			{
				while (1) {
					NI TM__1WYrEGQWowGsA75jdDDFWw_12;
					if (!(res_1 <= colontmp_)) goto LA5;
					h_1 = ((NI) (res_1));
					{
						NIM_BOOL T8_;
						NimStringV2 colontmpD_;
						tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* colontmpD__2;
						if (h_1 < 0 || h_1 >= v_p0.data.len){ raiseIndexError2(h_1,v_p0.data.len-1); goto BeforeRet_;
						}
						T8_ = (NIM_BOOL)0;
						T8_ = isFilled__pureZcollectionsZtables_u31(v_p0.data.p->data[h_1].Field0);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						if (!T8_) goto LA9_;
						colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
						colontmpD__2 = NIM_NIL;
						if (h_1 < 0 || h_1 >= v_p0.data.len){ raiseIndexError2(h_1,v_p0.data.len-1); goto BeforeRet_;
						}
						eqcopy___basicZpkgurls_u264((&k_1), (&v_p0.data.p->data[h_1].Field1));
						if (h_1 < 0 || h_1 >= v_p0.data.len){ raiseIndexError2(h_1,v_p0.data.len-1); goto BeforeRet_;
						}
						eqcopy___basicZversions_u5017((&v_2), v_p0.data.p->data[h_1].Field2);
						colontmpD_ = dollar___basicZpkgurls_u47((&k_1));
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						colontmpD__2 = toJson__basicZdeptypesjson_u476(v_2, opt_p1);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						X5BX5Deq___pureZjson_u2311(result, colontmpD_, colontmpD__2);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						{
							NI T13_;
							T13_ = (NI)0;
							T13_ = len__basicZdeptypesjson_u195(v_p0);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
							if (!!((T13_ == L_1))) goto LA14_;
							failedAssertImpl__stdZassertions_u95(TM__1WYrEGQWowGsA75jdDDFWw_11);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						}
LA14_: ;
						eqdestroy___pureZjson_u321(colontmpD__2);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						if (colontmpD_.p && !(colontmpD_.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD_.p);
}
					}
LA9_: ;
					if (nimAddInt(res_1, ((NI)1), &TM__1WYrEGQWowGsA75jdDDFWw_12)) { raiseOverflow(); goto BeforeRet_;
					};
					res_1 = (NI)(TM__1WYrEGQWowGsA75jdDDFWw_12);
				} LA5: ;
			}
		}
		eqdestroy___basicZversions_u5014((&v_2));
		eqdestroy___basicZpkgurls_u261((&k_1));
	}
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA*, toJsonHook__basicZdeptypesjson_u90)(NimStringV2 p_p0) {
	tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* result;
	tyObject_ToJsonOptions__mRkT0c8Ugtl0BxbGElJ1oA T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	T1_ = initToJsonOptions__stdZjsonutils_u33();
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	result = toJson__stdZjsonutils_u602(p_p0, T1_);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA*, toJsonHook__basicZdeptypesjson_u2200)(tyObject_OrderedTable__6LH0iEO9c9cdi0YrUiH7Mtdg* t_p0, tyObject_ToJsonOptions__mRkT0c8Ugtl0BxbGElJ1oA opt_p1) {
	tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	result = newJArray__pureZjson_u503();
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		tyObject_PackageVersioncolonObjectType___nkWxN1qoImjRSFLA34DlGg* k_1;
		tyObject_NimbleReleasecolonObjectType___Cd1woUEuIWSParVQIsOkuw* v_1;
		NI L_1;
		k_1 = NIM_NIL;
		v_1 = NIM_NIL;
		L_1 = len__basicZdeptypes_u1719(t_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		{
			NI h_1;
			if (!(((NI)0) < (*t_p0).counter)) goto LA4_;
			h_1 = (*t_p0).first;
			{
				while (1) {
					NI nxt_1;
					if (!(((NI)0) <= h_1)) goto LA7;
					if (h_1 < 0 || h_1 >= (*t_p0).data.len){ raiseIndexError2(h_1,(*t_p0).data.len-1); goto BeforeRet_;
					}
					nxt_1 = (*t_p0).data.p->data[h_1].Field1;
					{
						NIM_BOOL T10_;
						tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* tpl_1;
						tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* colontmpD_;
						tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* colontmpD__2;
						if (h_1 < 0 || h_1 >= (*t_p0).data.len){ raiseIndexError2(h_1,(*t_p0).data.len-1); goto BeforeRet_;
						}
						T10_ = (NIM_BOOL)0;
						T10_ = isFilled__pureZcollectionsZtables_u31((*t_p0).data.p->data[h_1].Field0);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						if (!T10_) goto LA11_;
						tpl_1 = NIM_NIL;
						colontmpD_ = NIM_NIL;
						colontmpD__2 = NIM_NIL;
						if (h_1 < 0 || h_1 >= (*t_p0).data.len){ raiseIndexError2(h_1,(*t_p0).data.len-1); goto BeforeRet_;
						}
						eqcopy___basicZdeptypes_u151(&k_1, (*t_p0).data.p->data[h_1].Field2);
						if (h_1 < 0 || h_1 >= (*t_p0).data.len){ raiseIndexError2(h_1,(*t_p0).data.len-1); goto BeforeRet_;
						}
						eqcopy___basicZdeptypes_u1635(&v_1, (*t_p0).data.p->data[h_1].Field3);
						tpl_1 = newJArray__pureZjson_u503();
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						colontmpD_ = toJson__basicZdeptypesjson_u2213(k_1, opt_p1);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						add__pureZjson_u659(tpl_1, colontmpD_);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						colontmpD__2 = toJson__basicZdeptypesjson_u2248(v_1, opt_p1);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						add__pureZjson_u659(tpl_1, colontmpD__2);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						add__pureZjson_u659(result, tpl_1);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						{
							NI T15_;
							T15_ = (NI)0;
							T15_ = len__basicZdeptypes_u1719(t_p0);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
							if (!!((T15_ == L_1))) goto LA16_;
							failedAssertImpl__stdZassertions_u95(TM__1WYrEGQWowGsA75jdDDFWw_14);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						}
LA16_: ;
						eqdestroy___pureZjson_u321(colontmpD__2);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						eqdestroy___pureZjson_u321(colontmpD_);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						eqdestroy___pureZjson_u321(tpl_1);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					}
LA11_: ;
					h_1 = nxt_1;
				} LA7: ;
			}
		}
LA4_: ;
		eqdestroy___basicZdeptypes_u1632(v_1);
		eqdestroy___basicZdeptypes_u148(k_1);
	}
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NI, len__basicZdepgraphtypes_u302)(tyObject_OrderedTable__NAaHKPe5f6Y5G54ThvHCdw* t_p0) {
	NI result;
	result = (*t_p0).counter;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA*, toJsonHook__basicZdeptypesjson_u11036)(tyObject_OrderedTable__NAaHKPe5f6Y5G54ThvHCdw* t_p0, tyObject_ToJsonOptions__mRkT0c8Ugtl0BxbGElJ1oA opt_p1) {
	tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	result = newJObject__pureZjson_u440();
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		tyObject_PkgUrl__xtGEmbK9cVcp0WbjakP0xVw k_1;
		tyObject_PackagecolonObjectType___oq9cbJmLUyLo2l9clmDFeVSA* v_1;
		NI L_1;
		nimZeroMem((void*)(&k_1), sizeof(tyObject_PkgUrl__xtGEmbK9cVcp0WbjakP0xVw));
		v_1 = NIM_NIL;
		L_1 = len__basicZdepgraphtypes_u302(t_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		{
			NI h_1;
			if (!(((NI)0) < (*t_p0).counter)) goto LA4_;
			h_1 = (*t_p0).first;
			{
				while (1) {
					NI nxt_1;
					if (!(((NI)0) <= h_1)) goto LA7;
					if (h_1 < 0 || h_1 >= (*t_p0).data.len){ raiseIndexError2(h_1,(*t_p0).data.len-1); goto BeforeRet_;
					}
					nxt_1 = (*t_p0).data.p->data[h_1].Field1;
					{
						NIM_BOOL T10_;
						NimStringV2 colontmpD_;
						tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* colontmpD__2;
						if (h_1 < 0 || h_1 >= (*t_p0).data.len){ raiseIndexError2(h_1,(*t_p0).data.len-1); goto BeforeRet_;
						}
						T10_ = (NIM_BOOL)0;
						T10_ = isFilled__pureZcollectionsZtables_u31((*t_p0).data.p->data[h_1].Field0);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						if (!T10_) goto LA11_;
						colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
						colontmpD__2 = NIM_NIL;
						if (h_1 < 0 || h_1 >= (*t_p0).data.len){ raiseIndexError2(h_1,(*t_p0).data.len-1); goto BeforeRet_;
						}
						eqcopy___basicZpkgurls_u264((&k_1), (&(*t_p0).data.p->data[h_1].Field2));
						if (h_1 < 0 || h_1 >= (*t_p0).data.len){ raiseIndexError2(h_1,(*t_p0).data.len-1); goto BeforeRet_;
						}
						eqcopy___basicZdepgraphtypes_u561(&v_1, (*t_p0).data.p->data[h_1].Field3);
						colontmpD_ = dollar___basicZpkgurls_u47((&k_1));
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						colontmpD__2 = toJson__basicZdeptypesjson_u11048(v_1, opt_p1);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						X5BX5Deq___pureZjson_u2311(result, colontmpD_, colontmpD__2);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						{
							NI T15_;
							T15_ = (NI)0;
							T15_ = len__basicZdepgraphtypes_u302(t_p0);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
							if (!!((T15_ == L_1))) goto LA16_;
							failedAssertImpl__stdZassertions_u95(TM__1WYrEGQWowGsA75jdDDFWw_15);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						}
LA16_: ;
						eqdestroy___pureZjson_u321(colontmpD__2);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						if (colontmpD_.p && !(colontmpD_.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD_.p);
}
					}
LA11_: ;
					h_1 = nxt_1;
				} LA7: ;
			}
		}
LA4_: ;
		eqdestroy___basicZdepgraphtypes_u558(v_1);
		eqdestroy___basicZpkgurls_u261((&k_1));
	}
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA*, toJsonGraph__basicZdeptypesjson_u13589)(tyObject_DepGraph__i1RlFs3c9aTk9bK2vN5Pa2yw* d_p0) {
	tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* result;
	tyObject_ToJsonOptions__mRkT0c8Ugtl0BxbGElJ1oA T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	nimZeroMem((void*)(&T1_), sizeof(tyObject_ToJsonOptions__mRkT0c8Ugtl0BxbGElJ1oA));
	T1_.enumMode = ((tyEnum_EnumMode__SzEOeAZV29bxtRSEwT4jVCA)2);
	result = toJson__basicZdeptypesjson_u13592(d_p0, T1_);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, dumpJson__basicZdeptypesjson_u13765)(tyObject_DepGraph__i1RlFs3c9aTk9bK2vN5Pa2yw* d_p0, NimStringV2 filename_p1, NIM_BOOL pretty_p2) {
	tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* jn_1;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	jn_1 = NIM_NIL;
	jn_1 = toJsonGraph__basicZdeptypesjson_u13589(d_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		NimStringV2 colontmpD_;
		if (!pretty_p2) goto LA4_;
		colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
		colontmpD_ = pretty__pureZjson_u4853(jn_1, ((NI)2));
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		writeFile__stdZsyncio_u539(filename_p1, colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		{
			LA6_:;
		}
		{
			if (colontmpD_.p && !(colontmpD_.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD_.p);
}
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA2_;
LA4_: ;
	{
		NimStringV2 colontmpD__2;
		colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
		colontmpD__2 = dollar___pureZjson_u4857(jn_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
		writeFile__stdZsyncio_u539(filename_p1, colontmpD__2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
		{
			LA10_:;
		}
		{
			if (colontmpD__2.p && !(colontmpD__2.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__2.p);
}
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA2_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___pureZjson_u321(jn_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, fromJsonHook__basicZdeptypesjson_u69)(tyObject_PkgUrl__xtGEmbK9cVcp0WbjakP0xVw* a_p0, tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* b_p1, tyObject_Joptions__Bf62ivDFOdoKXzuMmXTKWw opt_p2) {
	NimStringV2 colontmpD_;
	tyObject_Uri__MX62yCLGQmnfVYEE3Hjm9cA colontmpD__2;
	tyObject_PkgUrl__xtGEmbK9cVcp0WbjakP0xVw T2_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
	nimZeroMem((void*)(&colontmpD__2), sizeof(tyObject_Uri__MX62yCLGQmnfVYEE3Hjm9cA));
	colontmpD_ = getStr__pureZjson_u551(b_p1, TM__1WYrEGQWowGsA75jdDDFWw_17);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	parseUri__pureZuri_u295(colontmpD_, (&colontmpD__2));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	nimZeroMem((void*)(&T2_), sizeof(tyObject_PkgUrl__xtGEmbK9cVcp0WbjakP0xVw));
	toPkgUriRaw__basicZpkgurls_u301((&colontmpD__2), NIM_FALSE, (&T2_));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	eqsink___basicZpkgurls_u270((&(*a_p0)), (&T2_));
	{
		LA1_:;
	}
	{
		eqdestroy___pureZuri_u213((&colontmpD__2));
		if (colontmpD_.p && !(colontmpD_.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD_.p);
}
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
static N_INLINE(void, nimCopyMem)(void* dest_p0, void* source_p1, NI size_p2) {
	void* T1_;
	T1_ = (void*)0;
	T1_ = memcpy(dest_p0, source_p1, ((size_t) (size_p2)));
}
static N_INLINE(void, copyMem__system_u1755)(void* dest_p0, void* source_p1, NI size_p2) {
	nimCopyMem(dest_p0, source_p1, size_p2);
}
static N_INLINE(void, appendString)(NimStringV2* dest_p0, NimStringV2 src_p1) {
	{
		if (!(((NI)0) < src_p1.len)) goto LA3_;
		copyMem__system_u1755(((void*) ((&(*(*dest_p0).p).data[(*dest_p0).len]))), ((void*) ((&(*src_p1.p).data[((NI)0)]))), (src_p1.len));
		(*dest_p0).len += src_p1.len;
		(*(*dest_p0).p).data[(*dest_p0).len] = 0;
	}
LA3_: ;
}
static N_INLINE(NIM_BOOL, 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(void, nimPrepareStrMutationV2)(NimStringV2* s_p0) {
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = !(((*s_p0).p == ((NimStrPayload*) NIM_NIL)));
		if (!(T3_)) goto LA4_;
		T3_ = ((NI)((*(*s_p0).p).cap & ((NI)IL64(4611686018427387904))) == ((NI)IL64(4611686018427387904)));
LA4_: ;
		if (!T3_) goto LA5_;
		nimPrepareStrMutationImpl__system_u2493(s_p0);
	}
LA5_: ;
}
static N_INLINE(NimStringV2, X5BX5D___pureZstrutils_u1319)(NimStringV2 s_p0, tyObject_HSlice__LlH5wTnoA9aQeGwJu9b9bzAYg x_p1) {
	NimStringV2 result;
	NI a_1;
	NI L_1;
	NI TM__1WYrEGQWowGsA75jdDDFWw_25;
	NI TM__1WYrEGQWowGsA75jdDDFWw_26;
	NI TM__1WYrEGQWowGsA75jdDDFWw_27;
{	result.len = 0; result.p = NIM_NIL;
	a_1 = x_p1.a;
	if (nimSubInt(s_p0.len, x_p1.b, &TM__1WYrEGQWowGsA75jdDDFWw_25)) { raiseOverflow(); goto BeforeRet_;
	};
	if (nimSubInt((NI)(TM__1WYrEGQWowGsA75jdDDFWw_25), a_1, &TM__1WYrEGQWowGsA75jdDDFWw_26)) { raiseOverflow(); goto BeforeRet_;
	};
	if (nimAddInt((NI)(TM__1WYrEGQWowGsA75jdDDFWw_26), ((NI)1), &TM__1WYrEGQWowGsA75jdDDFWw_27)) { raiseOverflow(); goto BeforeRet_;
	};
	L_1 = (NI)(TM__1WYrEGQWowGsA75jdDDFWw_27);
	if ((L_1) < ((NI)0) || (L_1) > ((NI)IL64(9223372036854775807))){ raiseRangeErrorI(L_1, ((NI)0), ((NI)IL64(9223372036854775807))); goto BeforeRet_;
	}
	result = mnewString((L_1));
	{
		NI i_1;
		NI i_2;
		i_1 = (NI)0;
		i_2 = ((NI)0);
		{
			while (1) {
				NI TM__1WYrEGQWowGsA75jdDDFWw_28;
				NI TM__1WYrEGQWowGsA75jdDDFWw_29;
				if (!(i_2 < L_1)) goto LA3;
				i_1 = i_2;
				if (i_1 < 0 || i_1 >= result.len){ raiseIndexError2(i_1,result.len-1); goto BeforeRet_;
				}
				nimPrepareStrMutationV2((&result));
				if (nimAddInt(i_1, a_1, &TM__1WYrEGQWowGsA75jdDDFWw_28)) { raiseOverflow(); goto BeforeRet_;
				};
				if ((NI)(TM__1WYrEGQWowGsA75jdDDFWw_28) < 0 || (NI)(TM__1WYrEGQWowGsA75jdDDFWw_28) >= s_p0.len){ raiseIndexError2((NI)(TM__1WYrEGQWowGsA75jdDDFWw_28),s_p0.len-1); goto BeforeRet_;
				}
				result.p->data[i_1] = s_p0.p->data[(NI)(TM__1WYrEGQWowGsA75jdDDFWw_28)];
				if (nimAddInt(i_2, ((NI)1), &TM__1WYrEGQWowGsA75jdDDFWw_29)) { raiseOverflow(); goto BeforeRet_;
				};
				i_2 = (NI)(TM__1WYrEGQWowGsA75jdDDFWw_29);
			} LA3: ;
		}
	}
	}BeforeRet_: ;
	return result;
}
static N_INLINE(tyObject_HSlice__LlH5wTnoA9aQeGwJu9b9bzAYg, dotdot___stdZenumutils_u105)(NI a_p0, NI b_p1) {
	tyObject_HSlice__LlH5wTnoA9aQeGwJu9b9bzAYg result;
	result.a = a_p0;
	result.b = b_p1;
	return result;
}
static N_INLINE(void, eqdestroy___system_u281)(NimStringV2 x_p0) {
}
N_LIB_PRIVATE N_NIMCALL(void, fromJsonHook__basicZdeptypesjson_u42)(tyObject_VersionTag__io9bcihbopiwucKorobyKdg* a_p0, tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* b_p1, tyObject_Joptions__Bf62ivDFOdoKXzuMmXTKWw opt_p2) {
	NimStringV2 raw_1;
	NIM_BOOL isTip_1;
	tyObject_VersionTag__io9bcihbopiwucKorobyKdg T9_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	raw_1.len = 0; raw_1.p = NIM_NIL;
	raw_1 = getStr__pureZjson_u551(b_p1, TM__1WYrEGQWowGsA75jdDDFWw_22);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	isTip_1 = NIM_FALSE;
	{
		NIM_BOOL T4_;
		tyObject_HSlice__LlH5wTnoA9aQeGwJu9b9bzAYg T7_;
		NimStringV2 T8_;
		T4_ = (NIM_BOOL)0;
		T4_ = nsuEndsWith(raw_1, TM__1WYrEGQWowGsA75jdDDFWw_24);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (!T4_) goto LA5_;
		isTip_1 = NIM_TRUE;
		T7_ = dotdot___stdZenumutils_u105(((NI)0), ((NI)2));
		T8_.len = 0; T8_.p = NIM_NIL;
		T8_ = X5BX5D___pureZstrutils_u1319(raw_1, T7_);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___system_u281(T8_); goto LA1_;}
		eqsink___system_u2760((&raw_1), T8_);
	}
LA5_: ;
	nimZeroMem((void*)(&T9_), sizeof(tyObject_VersionTag__io9bcihbopiwucKorobyKdg));
	toVersionTag__basicZversions_u5248(raw_1, ((tyEnum_CommitOrigin__tDM8mWEQT3dZtKoOj7Mgww)0), (&T9_));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	eqsink___basicZversions_u3518((&(*a_p0)), (&T9_));
	(*a_p0).isTip = isTip_1;
	{
		LA1_:;
	}
	{
		if (raw_1.p && !(raw_1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(raw_1.p);
}
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, fromJsonHook__basicZdeptypesjson_u86)(NI32* a_p0, tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* b_p1, tyObject_Joptions__Bf62ivDFOdoKXzuMmXTKWw opt_p2) {
	NI T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	T1_ = (NI)0;
	T1_ = getInt__pureZjson_u563(b_p1, ((NI)0));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	if ((T1_) < ((NI32)(-2147483647 -1)) || (T1_) > ((NI32)2147483647)){ raiseRangeErrorI(T1_, ((NI32)(-2147483647 -1)), ((NI32)2147483647)); goto BeforeRet_;
	}
	(*a_p0) = ((NI32) (T1_));
	}BeforeRet_: ;
}
static N_INLINE(tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA*, X5BX5D___pureZjson_u3561)(tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* node_p0, NI index_p1) {
	tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	{
		if (!!(!((node_p0 == 0)))) goto LA3_;
		failedAssertImpl__stdZassertions_u95(TM__1WYrEGQWowGsA75jdDDFWw_31);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA3_: ;
	{
		if (!!(((*node_p0).kind == ((tyEnum_JsonNodeKind__iWE9brhI8kBHUww4QuE4NFA)6)))) goto LA7_;
		failedAssertImpl__stdZassertions_u95(TM__1WYrEGQWowGsA75jdDDFWw_33);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA7_: ;
	if (!(((64 &((NU8)1<<((NU)(((*node_p0).kind))&7U)))!=0))) 	{ raiseFieldErrorStr(TM__1WYrEGQWowGsA75jdDDFWw_34, dollar___pureZjson_u20((*node_p0).kind)); goto BeforeRet_;
	}
	if (index_p1 < 0 || index_p1 >= (*node_p0)._kind_7.elems.len){ raiseIndexError2(index_p1,(*node_p0)._kind_7.elems.len-1); goto BeforeRet_;
	}
	eqcopy___pureZjson_u324(&result, (*node_p0)._kind_7.elems.p->data[index_p1]);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, fromJsonHook__basicZdeptypesjson_u38)(NimStringV2* a_p0, tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* b_p1, tyObject_Joptions__Bf62ivDFOdoKXzuMmXTKWw opt_p2) {
	NimStringV2 colontmpD_;
	NimStringV2 T2_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
	colontmpD_ = getStr__pureZjson_u551(b_p1, TM__1WYrEGQWowGsA75jdDDFWw_35);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	T2_.len = 0; T2_.p = NIM_NIL;
	T2_ = toVersion__basicZversions_u5241(colontmpD_);
	if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___system_u281(T2_); goto LA1_;}
	eqsink___system_u2760((&(*a_p0)), T2_);
	{
		LA1_:;
	}
	{
		if (colontmpD_.p && !(colontmpD_.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD_.p);
}
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
static N_INLINE(tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA*, X5BX5D___pureZjson_u3486)(tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* node_p0, NimStringV2 name_p1) {
	tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* result;
	tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA** T9_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	{
		if (!!(!((node_p0 == 0)))) goto LA3_;
		failedAssertImpl__stdZassertions_u95(TM__1WYrEGQWowGsA75jdDDFWw_37);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA3_: ;
	{
		if (!!(((*node_p0).kind == ((tyEnum_JsonNodeKind__iWE9brhI8kBHUww4QuE4NFA)5)))) goto LA7_;
		failedAssertImpl__stdZassertions_u95(TM__1WYrEGQWowGsA75jdDDFWw_39);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA7_: ;
	if (!(((32 &((NU8)1<<((NU)(((*node_p0).kind))&7U)))!=0))) 	{ raiseFieldErrorStr(TM__1WYrEGQWowGsA75jdDDFWw_40, dollar___pureZjson_u20((*node_p0).kind)); goto BeforeRet_;
	}
	T9_ = (tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA**)0;
	T9_ = X5BX5D___pureZjson_u3055((&(*node_p0)._kind_6.fields), name_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	eqcopy___pureZjson_u324(&result, (*T9_));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, fromJsonHook__basicZdeptypesjson_u33)(tyObject_VersionInterval__Fo18dECYIXwkOygWPnb8YA* a_p0, tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* b_p1, tyObject_Joptions__Bf62ivDFOdoKXzuMmXTKWw opt_p2) {
	NimStringV2 colontmpD_;
	NIM_BOOL err_1;
	tyObject_VersionInterval__Fo18dECYIXwkOygWPnb8YA T2_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
	err_1 = NIM_FALSE;
	colontmpD_ = getStr__pureZjson_u551(b_p1, TM__1WYrEGQWowGsA75jdDDFWw_42);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	nimZeroMem((void*)(&T2_), sizeof(tyObject_VersionInterval__Fo18dECYIXwkOygWPnb8YA));
	parseVersionInterval__basicZversions_u649(colontmpD_, ((NI)0), (&err_1), (&T2_));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	eqsink___basicZversions_u255((&(*a_p0)), (&T2_));
	{
		LA1_:;
	}
	{
		if (colontmpD_.p && !(colontmpD_.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD_.p);
}
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, fromJsonHook__basicZdeptypesjson_u105)(tyTuple__XXBtNszxg1rbD9cnycyLK7A* a_p0, tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* b_p1, tyObject_Joptions__Bf62ivDFOdoKXzuMmXTKWw opt_p2) {
	tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* colontmpD_;
	tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* colontmpD__2;
	tyObject_Joptions__Bf62ivDFOdoKXzuMmXTKWw T2_;
	tyObject_Joptions__Bf62ivDFOdoKXzuMmXTKWw T3_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	colontmpD_ = NIM_NIL;
	colontmpD__2 = NIM_NIL;
	colontmpD_ = X5BX5D___pureZjson_u3486(b_p1, TM__1WYrEGQWowGsA75jdDDFWw_41);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	nimZeroMem((void*)(&T2_), sizeof(tyObject_Joptions__Bf62ivDFOdoKXzuMmXTKWw));
	fromJson__basicZdeptypesjson_u109((&(*a_p0).Field0), colontmpD_, T2_);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	colontmpD__2 = X5BX5D___pureZjson_u3486(b_p1, TM__1WYrEGQWowGsA75jdDDFWw_43);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	nimZeroMem((void*)(&T3_), sizeof(tyObject_Joptions__Bf62ivDFOdoKXzuMmXTKWw));
	fromJson__basicZdeptypesjson_u121((&(*a_p0).Field1), colontmpD__2, T3_);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___pureZjson_u321(colontmpD__2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___pureZjson_u321(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
static N_INLINE(NI, len__pureZjson_u2571)(tyObject_OrderedTable__RIgoItpMnyMLlEioBo9bQIA* t_p0) {
	NI result;
	result = (*t_p0).counter;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, fromJsonHook__basicZdeptypesjson_u1040)(tyObject_Table__chgX4ZRn9aA0cwNzdIgL9a3w* a_p0, tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* b_p1, tyObject_Joptions__Bf62ivDFOdoKXzuMmXTKWw opt_p2) {
NIM_BOOL oldNimErrFin21_;
NIM_BOOL oldNimErrFin9_;
NIM_BOOL oldNimErrFin2_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		NimStringV2 k_1;
		tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* v_1;
		k_1.len = 0; k_1.p = NIM_NIL;
		v_1 = NIM_NIL;
		{
			NimStringV2 colontmpD_;
			NimStringV2 colontmpD__2;
			NimStringV2 T7_;
			if (!!(((*b_p1).kind == ((tyEnum_JsonNodeKind__iWE9brhI8kBHUww4QuE4NFA)5)))) goto LA5_;
			colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
			colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
			T7_.len = 0; T7_.p = NIM_NIL;
			colontmpD_ = dollar___pureZjson_u20((*b_p1).kind);
			T7_ = rawNewString(colontmpD_.len + 85);
appendString((&T7_), TM__1WYrEGQWowGsA75jdDDFWw_45);
appendString((&T7_), colontmpD_);
			colontmpD__2 = T7_;
			failedAssertImpl__stdZassertions_u95(colontmpD__2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
			if (colontmpD__2.p && !(colontmpD__2.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__2.p);
}
			if (colontmpD_.p && !(colontmpD_.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD_.p);
}
		}
LA5_: ;
		{
			NimStringV2 key_1;
			tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* val_1;
			tyObject_OrderedTable__RIgoItpMnyMLlEioBo9bQIA colontmp_;
			NI L_1;
			key_1.len = 0; key_1.p = NIM_NIL;
			val_1 = NIM_NIL;
			nimZeroMem((void*)(&colontmp_), sizeof(tyObject_OrderedTable__RIgoItpMnyMLlEioBo9bQIA));
			if (!(((32 &((NU8)1<<((NU)(((*b_p1).kind))&7U)))!=0))) 			{ raiseFieldErrorStr(TM__1WYrEGQWowGsA75jdDDFWw_46, dollar___pureZjson_u20((*b_p1).kind)); goto LA9_;
			}
			eqcopy___pureZjson_u486((&colontmp_), (&(*b_p1)._kind_6.fields));
			if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
			L_1 = len__pureZjson_u2571((&colontmp_));
			if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
			{
				NI h_1;
				if (!(((NI)0) < colontmp_.counter)) goto LA12_;
				h_1 = colontmp_.first;
				{
					while (1) {
						NI nxt_1;
						if (!(((NI)0) <= h_1)) goto LA15;
						if (h_1 < 0 || h_1 >= colontmp_.data.len){ raiseIndexError2(h_1,colontmp_.data.len-1); goto LA9_;
						}
						nxt_1 = colontmp_.data.p->data[h_1].Field1;
						{
							NIM_BOOL T18_;
							tyObject_PkgUrl__xtGEmbK9cVcp0WbjakP0xVw url_1;
							tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* colontmpD__3;
							tyObject_HashSet__v3AgR4bnzCtqFMiyBA9al4Q flags_1;
							tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* colontmpD__4;
							tyObject_ToJsonOptions__mRkT0c8Ugtl0BxbGElJ1oA T22_;
							tyObject_Joptions__Bf62ivDFOdoKXzuMmXTKWw T23_;
							tyObject_ToJsonOptions__mRkT0c8Ugtl0BxbGElJ1oA T24_;
							tyObject_Joptions__Bf62ivDFOdoKXzuMmXTKWw T25_;
							tyObject_HashSet__v3AgR4bnzCtqFMiyBA9al4Q blitTmp_1;
							if (h_1 < 0 || h_1 >= colontmp_.data.len){ raiseIndexError2(h_1,colontmp_.data.len-1); goto LA9_;
							}
							T18_ = (NIM_BOOL)0;
							T18_ = isFilled__pureZcollectionsZtables_u31(colontmp_.data.p->data[h_1].Field0);
							if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
							if (!T18_) goto LA19_;
							nimZeroMem((void*)(&url_1), sizeof(tyObject_PkgUrl__xtGEmbK9cVcp0WbjakP0xVw));
							colontmpD__3 = NIM_NIL;
							nimZeroMem((void*)(&flags_1), sizeof(tyObject_HashSet__v3AgR4bnzCtqFMiyBA9al4Q));
							colontmpD__4 = NIM_NIL;
							if (h_1 < 0 || h_1 >= colontmp_.data.len){ raiseIndexError2(h_1,colontmp_.data.len-1); goto LA21_;
							}
							eqcopy___system_u2754((&key_1), colontmp_.data.p->data[h_1].Field2);
							if (h_1 < 0 || h_1 >= colontmp_.data.len){ raiseIndexError2(h_1,colontmp_.data.len-1); goto LA21_;
							}
							eqcopy___pureZjson_u324(&val_1, colontmp_.data.p->data[h_1].Field3);
							if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
							eqsink___system_u2760((&k_1), key_1);
							eqwasMoved___system_u2751((&key_1));
							eqsink___pureZjson_u330(&v_1, val_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
							eqwasMoved___pureZjson_u318(&val_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
							nimZeroMem((void*)(&url_1), sizeof(tyObject_PkgUrl__xtGEmbK9cVcp0WbjakP0xVw));
							T22_ = initToJsonOptions__stdZjsonutils_u33();
							if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
							colontmpD__3 = toJson__stdZjsonutils_u602(k_1, T22_);
							if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
							nimZeroMem((void*)(&T23_), sizeof(tyObject_Joptions__Bf62ivDFOdoKXzuMmXTKWw));
							fromJson__basicZdeptypesjson_u109((&url_1), colontmpD__3, T23_);
							if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
							nimZeroMem((void*)(&flags_1), sizeof(tyObject_HashSet__v3AgR4bnzCtqFMiyBA9al4Q));
							T24_ = initToJsonOptions__stdZjsonutils_u33();
							if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
							colontmpD__4 = toJson__basicZdeptypesjson_u1062(v_1, T24_);
							if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
							nimZeroMem((void*)(&T25_), sizeof(tyObject_Joptions__Bf62ivDFOdoKXzuMmXTKWw));
							fromJson__basicZdeptypesjson_u1339((&flags_1), colontmpD__4, T25_);
							if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
							blitTmp_1 = flags_1;
							eqwasMoved___basicZversions_u5011((&flags_1));
							X5BX5Deq___basicZdeptypesjson_u1973(a_p0, (&url_1), blitTmp_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
							{
								NI T28_;
								T28_ = (NI)0;
								T28_ = len__pureZjson_u2571((&colontmp_));
								if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
								if (!!((T28_ == L_1))) goto LA29_;
								failedAssertImpl__stdZassertions_u95(TM__1WYrEGQWowGsA75jdDDFWw_47);
								if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
							}
LA29_: ;
							{
								LA21_:;
							}
							{
								oldNimErrFin21_ = *nimErr_; *nimErr_ = NIM_FALSE;
								eqdestroy___pureZjson_u321(colontmpD__4);
								if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
								eqdestroy___basicZversions_u5014((&flags_1));
								eqdestroy___pureZjson_u321(colontmpD__3);
								if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
								eqdestroy___basicZpkgurls_u261((&url_1));
								*nimErr_ = oldNimErrFin21_;
							}
							if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
						}
LA19_: ;
						h_1 = nxt_1;
					} LA15: ;
				}
			}
LA12_: ;
			{
				LA9_:;
			}
			{
				oldNimErrFin9_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___pureZjson_u483((&colontmp_));
				if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
				eqdestroy___pureZjson_u321(val_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
				if (key_1.p && !(key_1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(key_1.p);
}
				*nimErr_ = oldNimErrFin9_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
		}
		{
			LA2_:;
		}
		{
			oldNimErrFin2_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___pureZjson_u321(v_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (k_1.p && !(k_1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(k_1.p);
}
			*nimErr_ = oldNimErrFin2_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, fromJsonHook__basicZdeptypesjson_u97)(NimStringV2* a_p0, tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* b_p1, tyObject_Joptions__Bf62ivDFOdoKXzuMmXTKWw opt_p2) {
	NimStringV2 T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	T1_.len = 0; T1_.p = NIM_NIL;
	T1_ = getStr__pureZjson_u551(b_p1, TM__1WYrEGQWowGsA75jdDDFWw_48);
	if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___system_u281(T1_); goto BeforeRet_;}
	eqsink___system_u2760((&(*a_p0)), T1_);
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, fromJsonHook__basicZdeptypesjson_u3896)(tyObject_OrderedTable__6LH0iEO9c9cdi0YrUiH7Mtdg* t_p0, tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* b_p1, tyObject_Joptions__Bf62ivDFOdoKXzuMmXTKWw opt_p2) {
NIM_BOOL oldNimErrFin13_;
NIM_BOOL oldNimErrFin9_;
NIM_BOOL oldNimErrFin2_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* item_1;
		item_1 = NIM_NIL;
		{
			NimStringV2 colontmpD_;
			NimStringV2 colontmpD__2;
			NimStringV2 T7_;
			if (!!(((*b_p1).kind == ((tyEnum_JsonNodeKind__iWE9brhI8kBHUww4QuE4NFA)6)))) goto LA5_;
			colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
			colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
			T7_.len = 0; T7_.p = NIM_NIL;
			colontmpD_ = dollar___pureZjson_u20((*b_p1).kind);
			T7_ = rawNewString(colontmpD_.len + 84);
appendString((&T7_), TM__1WYrEGQWowGsA75jdDDFWw_19);
appendString((&T7_), colontmpD_);
			colontmpD__2 = T7_;
			failedAssertImpl__stdZassertions_u95(colontmpD__2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
			if (colontmpD__2.p && !(colontmpD__2.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__2.p);
}
			if (colontmpD_.p && !(colontmpD_.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD_.p);
}
		}
LA5_: ;
		{
			tySequence__t6JKa4Kdxpc0RJiFEWRI9bw colontmp_;
			tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA** i_1;
			NI i_2;
			NI L_1;
			NI T10_;
			colontmp_.len = 0; colontmp_.p = NIM_NIL;
			i_1 = (tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA**)0;
			if (!(((64 &((NU8)1<<((NU)(((*b_p1).kind))&7U)))!=0))) 			{ raiseFieldErrorStr(TM__1WYrEGQWowGsA75jdDDFWw_21, dollar___pureZjson_u20((*b_p1).kind)); goto LA9_;
			}
			eqcopy___pureZjson_u257((&colontmp_), (*b_p1)._kind_7.elems);
			if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
			i_2 = ((NI)0);
			T10_ = colontmp_.len;
			L_1 = T10_;
			{
				while (1) {
					tyObject_PackageVersioncolonObjectType___nkWxN1qoImjRSFLA34DlGg* pv_1;
					tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* colontmpD__3;
					tyObject_NimbleReleasecolonObjectType___Cd1woUEuIWSParVQIsOkuw* release_1;
					tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* colontmpD__4;
					tyObject_Joptions__Bf62ivDFOdoKXzuMmXTKWw T14_;
					tyObject_Joptions__Bf62ivDFOdoKXzuMmXTKWw T15_;
					tyObject_NimbleReleasecolonObjectType___Cd1woUEuIWSParVQIsOkuw* blitTmp_1;
					if (!(i_2 < L_1)) goto LA12;
					pv_1 = NIM_NIL;
					colontmpD__3 = NIM_NIL;
					release_1 = NIM_NIL;
					colontmpD__4 = NIM_NIL;
					if (i_2 < 0 || i_2 >= colontmp_.len){ raiseIndexError2(i_2,colontmp_.len-1); goto LA13_;
					}
					i_1 = &colontmp_.p->data[i_2];
					eqcopy___pureZjson_u324(&item_1, (*i_1));
					if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
					pv_1 = 0;
					colontmpD__3 = X5BX5D___pureZjson_u3561(item_1, ((NI)0));
					if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
					nimZeroMem((void*)(&T14_), sizeof(tyObject_Joptions__Bf62ivDFOdoKXzuMmXTKWw));
					fromJson__basicZdeptypesjson_u3904(&pv_1, colontmpD__3, T14_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
					release_1 = 0;
					colontmpD__4 = X5BX5D___pureZjson_u3561(item_1, ((NI)1));
					if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
					nimZeroMem((void*)(&T15_), sizeof(tyObject_Joptions__Bf62ivDFOdoKXzuMmXTKWw));
					fromJson__basicZdeptypesjson_u4044(&release_1, colontmpD__4, T15_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
					blitTmp_1 = release_1;
					eqwasMoved___basicZdeptypes_u1629(&release_1);
					X5BX5Deq___basicZdeptypesjson_u9465(t_p0, pv_1, blitTmp_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
					i_2 += ((NI)1);
					{
						NI T18_;
						T18_ = colontmp_.len;
						if (!!((T18_ == L_1))) goto LA19_;
						failedAssertImpl__stdZassertions_u95(TM__1WYrEGQWowGsA75jdDDFWw_50);
						if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
					}
LA19_: ;
					{
						LA13_:;
					}
					{
						oldNimErrFin13_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___pureZjson_u321(colontmpD__4);
						if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
						eqdestroy___basicZdeptypes_u1632(release_1);
						eqdestroy___pureZjson_u321(colontmpD__3);
						if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
						eqdestroy___basicZdeptypes_u148(pv_1);
						*nimErr_ = oldNimErrFin13_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
				} LA12: ;
			}
			{
				LA9_:;
			}
			{
				oldNimErrFin9_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___pureZjson_u254(colontmp_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
				*nimErr_ = oldNimErrFin9_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
		}
		{
			LA2_:;
		}
		{
			oldNimErrFin2_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___pureZjson_u321(item_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin2_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, fromJsonHook__basicZdeptypesjson_u11404)(tyObject_OrderedTable__NAaHKPe5f6Y5G54ThvHCdw* t_p0, tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* b_p1, tyObject_Joptions__Bf62ivDFOdoKXzuMmXTKWw opt_p2) {
NIM_BOOL oldNimErrFin21_;
NIM_BOOL oldNimErrFin9_;
NIM_BOOL oldNimErrFin2_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		NimStringV2 k_1;
		tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* v_1;
		k_1.len = 0; k_1.p = NIM_NIL;
		v_1 = NIM_NIL;
		{
			NimStringV2 colontmpD_;
			NimStringV2 colontmpD__2;
			NimStringV2 T7_;
			if (!!(((*b_p1).kind == ((tyEnum_JsonNodeKind__iWE9brhI8kBHUww4QuE4NFA)5)))) goto LA5_;
			colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
			colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
			T7_.len = 0; T7_.p = NIM_NIL;
			colontmpD_ = dollar___pureZjson_u20((*b_p1).kind);
			T7_ = rawNewString(colontmpD_.len + 85);
appendString((&T7_), TM__1WYrEGQWowGsA75jdDDFWw_51);
appendString((&T7_), colontmpD_);
			colontmpD__2 = T7_;
			failedAssertImpl__stdZassertions_u95(colontmpD__2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
			if (colontmpD__2.p && !(colontmpD__2.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__2.p);
}
			if (colontmpD_.p && !(colontmpD_.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD_.p);
}
		}
LA5_: ;
		{
			NimStringV2 key_1;
			tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* val_1;
			tyObject_OrderedTable__RIgoItpMnyMLlEioBo9bQIA colontmp_;
			NI L_1;
			key_1.len = 0; key_1.p = NIM_NIL;
			val_1 = NIM_NIL;
			nimZeroMem((void*)(&colontmp_), sizeof(tyObject_OrderedTable__RIgoItpMnyMLlEioBo9bQIA));
			if (!(((32 &((NU8)1<<((NU)(((*b_p1).kind))&7U)))!=0))) 			{ raiseFieldErrorStr(TM__1WYrEGQWowGsA75jdDDFWw_52, dollar___pureZjson_u20((*b_p1).kind)); goto LA9_;
			}
			eqcopy___pureZjson_u486((&colontmp_), (&(*b_p1)._kind_6.fields));
			if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
			L_1 = len__pureZjson_u2571((&colontmp_));
			if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
			{
				NI h_1;
				if (!(((NI)0) < colontmp_.counter)) goto LA12_;
				h_1 = colontmp_.first;
				{
					while (1) {
						NI nxt_1;
						if (!(((NI)0) <= h_1)) goto LA15;
						if (h_1 < 0 || h_1 >= colontmp_.data.len){ raiseIndexError2(h_1,colontmp_.data.len-1); goto LA9_;
						}
						nxt_1 = colontmp_.data.p->data[h_1].Field1;
						{
							NIM_BOOL T18_;
							tyObject_PkgUrl__xtGEmbK9cVcp0WbjakP0xVw url_1;
							tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* colontmpD__3;
							tyObject_PackagecolonObjectType___oq9cbJmLUyLo2l9clmDFeVSA* pkg_1;
							tyObject_ToJsonOptions__mRkT0c8Ugtl0BxbGElJ1oA T22_;
							tyObject_Joptions__Bf62ivDFOdoKXzuMmXTKWw T23_;
							tyObject_Joptions__Bf62ivDFOdoKXzuMmXTKWw T24_;
							tyObject_PackagecolonObjectType___oq9cbJmLUyLo2l9clmDFeVSA* blitTmp_1;
							if (h_1 < 0 || h_1 >= colontmp_.data.len){ raiseIndexError2(h_1,colontmp_.data.len-1); goto LA9_;
							}
							T18_ = (NIM_BOOL)0;
							T18_ = isFilled__pureZcollectionsZtables_u31(colontmp_.data.p->data[h_1].Field0);
							if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
							if (!T18_) goto LA19_;
							nimZeroMem((void*)(&url_1), sizeof(tyObject_PkgUrl__xtGEmbK9cVcp0WbjakP0xVw));
							colontmpD__3 = NIM_NIL;
							pkg_1 = NIM_NIL;
							if (h_1 < 0 || h_1 >= colontmp_.data.len){ raiseIndexError2(h_1,colontmp_.data.len-1); goto LA21_;
							}
							eqcopy___system_u2754((&key_1), colontmp_.data.p->data[h_1].Field2);
							if (h_1 < 0 || h_1 >= colontmp_.data.len){ raiseIndexError2(h_1,colontmp_.data.len-1); goto LA21_;
							}
							eqcopy___pureZjson_u324(&val_1, colontmp_.data.p->data[h_1].Field3);
							if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
							eqsink___system_u2760((&k_1), key_1);
							eqwasMoved___system_u2751((&key_1));
							eqsink___pureZjson_u330(&v_1, val_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
							eqwasMoved___pureZjson_u318(&val_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
							nimZeroMem((void*)(&url_1), sizeof(tyObject_PkgUrl__xtGEmbK9cVcp0WbjakP0xVw));
							T22_ = initToJsonOptions__stdZjsonutils_u33();
							if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
							colontmpD__3 = toJson__stdZjsonutils_u602(k_1, T22_);
							if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
							nimZeroMem((void*)(&T23_), sizeof(tyObject_Joptions__Bf62ivDFOdoKXzuMmXTKWw));
							fromJson__basicZdeptypesjson_u109((&url_1), colontmpD__3, T23_);
							if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
							pkg_1 = 0;
							nimZeroMem((void*)(&T24_), sizeof(tyObject_Joptions__Bf62ivDFOdoKXzuMmXTKWw));
							fromJson__basicZdeptypesjson_u11424(&pkg_1, v_1, T24_);
							if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
							blitTmp_1 = pkg_1;
							eqwasMoved___basicZdepgraphtypes_u555(&pkg_1);
							X5BX5Deq___basicZdeptypesjson_u12178(t_p0, (&url_1), blitTmp_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
							{
								NI T27_;
								T27_ = (NI)0;
								T27_ = len__pureZjson_u2571((&colontmp_));
								if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
								if (!!((T27_ == L_1))) goto LA28_;
								failedAssertImpl__stdZassertions_u95(TM__1WYrEGQWowGsA75jdDDFWw_53);
								if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
							}
LA28_: ;
							{
								LA21_:;
							}
							{
								oldNimErrFin21_ = *nimErr_; *nimErr_ = NIM_FALSE;
								eqdestroy___basicZdepgraphtypes_u558(pkg_1);
								eqdestroy___pureZjson_u321(colontmpD__3);
								if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
								eqdestroy___basicZpkgurls_u261((&url_1));
								*nimErr_ = oldNimErrFin21_;
							}
							if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
						}
LA19_: ;
						h_1 = nxt_1;
					} LA15: ;
				}
			}
LA12_: ;
			{
				LA9_:;
			}
			{
				oldNimErrFin9_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___pureZjson_u483((&colontmp_));
				if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
				eqdestroy___pureZjson_u321(val_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
				if (key_1.p && !(key_1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(key_1.p);
}
				*nimErr_ = oldNimErrFin9_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
		}
		{
			LA2_:;
		}
		{
			oldNimErrFin2_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___pureZjson_u321(v_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (k_1.p && !(k_1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(k_1.p);
}
			*nimErr_ = oldNimErrFin2_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, loadJson__basicZdeptypesjson_u13770)(tyObject_NimbleContext__4UNXx9ceXbsj5kR4Hz1gUgA* nc_p0, tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* json_p1, tyObject_DepGraph__i1RlFs3c9aTk9bK2vN5Pa2yw* Result) {
	tyObject_OrderedTable__NAaHKPe5f6Y5G54ThvHCdw pkgs_1;
	tyObject_PkgUrl__xtGEmbK9cVcp0WbjakP0xVw rootUrl_1;
	NimStringV2 colontmpD_;
	tyObject_Joptions__Bf62ivDFOdoKXzuMmXTKWw T2_;
	tyObject_PackagecolonObjectType___oq9cbJmLUyLo2l9clmDFeVSA** T26_;
	tyObject_PackagecolonObjectType___oq9cbJmLUyLo2l9clmDFeVSA** T27_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	nimZeroMem((void*)Result, sizeof(tyObject_DepGraph__i1RlFs3c9aTk9bK2vN5Pa2yw));
	nimZeroMem((void*)(&pkgs_1), sizeof(tyObject_OrderedTable__NAaHKPe5f6Y5G54ThvHCdw));
	nimZeroMem((void*)(&rootUrl_1), sizeof(tyObject_PkgUrl__xtGEmbK9cVcp0WbjakP0xVw));
	colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
	T2_.allowMissingKeys = NIM_TRUE;
	T2_.allowExtraKeys = NIM_TRUE;
	fromJson__basicZdeptypesjson_u13774(Result, json_p1, T2_);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	eqcopy___basicZdepgraphtypes_u3156((&pkgs_1), (&(*Result).pkgs));
	clear__basicZdeptypesjson_u14071((&(*Result).pkgs));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		tyObject_PkgUrl__xtGEmbK9cVcp0WbjakP0xVw url_1;
		tyObject_PackagecolonObjectType___oq9cbJmLUyLo2l9clmDFeVSA* pkg_1;
		NI L_1;
		nimZeroMem((void*)(&url_1), sizeof(tyObject_PkgUrl__xtGEmbK9cVcp0WbjakP0xVw));
		pkg_1 = NIM_NIL;
		L_1 = len__basicZdepgraphtypes_u302((&pkgs_1));
		if (NIM_UNLIKELY(*nimErr_)) goto LA4_;
		{
			NI h_1;
			if (!(((NI)0) < pkgs_1.counter)) goto LA7_;
			h_1 = pkgs_1.first;
			{
				while (1) {
					NI nxt_1;
					if (!(((NI)0) <= h_1)) goto LA10;
					if (h_1 < 0 || h_1 >= pkgs_1.data.len){ raiseIndexError2(h_1,pkgs_1.data.len-1); goto LA4_;
					}
					nxt_1 = pkgs_1.data.p->data[h_1].Field1;
					{
						NIM_BOOL T13_;
						tyObject_PkgUrl__xtGEmbK9cVcp0WbjakP0xVw url2_1;
						NimStringV2 colontmpD__2;
						tyObject_PackagecolonObjectType___oq9cbJmLUyLo2l9clmDFeVSA* blitTmp_1;
						if (h_1 < 0 || h_1 >= pkgs_1.data.len){ raiseIndexError2(h_1,pkgs_1.data.len-1); goto LA4_;
						}
						T13_ = (NIM_BOOL)0;
						T13_ = isFilled__pureZcollectionsZtables_u31(pkgs_1.data.p->data[h_1].Field0);
						if (NIM_UNLIKELY(*nimErr_)) goto LA4_;
						if (!T13_) goto LA14_;
						nimZeroMem((void*)(&url2_1), sizeof(tyObject_PkgUrl__xtGEmbK9cVcp0WbjakP0xVw));
						colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
						if (h_1 < 0 || h_1 >= pkgs_1.data.len){ raiseIndexError2(h_1,pkgs_1.data.len-1); goto LA16_;
						}
						eqcopy___basicZpkgurls_u264((&url_1), (&pkgs_1.data.p->data[h_1].Field2));
						if (h_1 < 0 || h_1 >= pkgs_1.data.len){ raiseIndexError2(h_1,pkgs_1.data.len-1); goto LA16_;
						}
						eqcopy___basicZdepgraphtypes_u561(&pkg_1, pkgs_1.data.p->data[h_1].Field3);
						colontmpD__2 = dollar___basicZpkgurls_u47((&(*pkg_1).url));
						if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
						createUrl__basicZnimblecontext_u3215(nc_p0, colontmpD__2, (&url2_1));
						if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
						eqcopy___basicZpkgurls_u264((&(*pkg_1).url), (&url2_1));
						blitTmp_1 = pkg_1;
						eqwasMoved___basicZdepgraphtypes_u555(&pkg_1);
						X5BX5Deq___basicZdeptypesjson_u12178((&(*Result).pkgs), (&url2_1), blitTmp_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
						{
							NI T19_;
							T19_ = (NI)0;
							T19_ = len__basicZdepgraphtypes_u302((&pkgs_1));
							if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
							if (!!((T19_ == L_1))) goto LA20_;
							failedAssertImpl__stdZassertions_u95(TM__1WYrEGQWowGsA75jdDDFWw_54);
							if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
						}
LA20_: ;
						{
							LA16_:;
						}
						{
							if (colontmpD__2.p && !(colontmpD__2.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__2.p);
}
							eqdestroy___basicZpkgurls_u261((&url2_1));
						}
						if (NIM_UNLIKELY(*nimErr_)) goto LA4_;
					}
LA14_: ;
					h_1 = nxt_1;
				} LA10: ;
			}
		}
LA7_: ;
		{
			LA4_:;
		}
		{
			eqdestroy___basicZdepgraphtypes_u558(pkg_1);
			eqdestroy___basicZpkgurls_u261((&url_1));
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	colontmpD_ = dollar___basicZpkgurls_u47((&(*(*Result).root).url));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	createUrl__basicZnimblecontext_u3215(nc_p0, colontmpD_, (&rootUrl_1));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	T26_ = (tyObject_PackagecolonObjectType___oq9cbJmLUyLo2l9clmDFeVSA**)0;
	T26_ = &(*Result).root;
	T27_ = (tyObject_PackagecolonObjectType___oq9cbJmLUyLo2l9clmDFeVSA**)0;
	T27_ = X5BX5D___basicZdeptypesjson_u14466((&(*Result).pkgs), (&rootUrl_1));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	eqcopy___basicZdepgraphtypes_u561(T26_, (*T27_));
	{
		LA1_:;
	}
	{
		if (colontmpD_.p && !(colontmpD_.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD_.p);
}
		eqdestroy___basicZpkgurls_u261((&rootUrl_1));
		eqdestroy___basicZdepgraphtypes_u3153((&pkgs_1));
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, loadJson__basicZdeptypesjson_u14555)(tyObject_NimbleContext__4UNXx9ceXbsj5kR4Hz1gUgA* nc_p0, NimStringV2 filename_p1, tyObject_DepGraph__i1RlFs3c9aTk9bK2vN5Pa2yw* Result) {
	tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* jn_1;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	nimZeroMem((void*)Result, sizeof(tyObject_DepGraph__i1RlFs3c9aTk9bK2vN5Pa2yw));
	jn_1 = NIM_NIL;
	jn_1 = parseFile__pureZjson_u5637(filename_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	loadJson__basicZdeptypesjson_u13770(nc_p0, jn_1, Result);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___pureZjson_u321(jn_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
