/* Generated by Nim Compiler v2.2.4 */
#define NIM_INTBITS 32
#define NIM_EmulateOverflowChecks

#include "nimbase.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 TNimTypeV2 TNimTypeV2;
typedef struct tyObject_KeyError__jzGRfzBmxnPANjp71FNw5Q tyObject_KeyError__jzGRfzBmxnPANjp71FNw5Q;
typedef struct tyObject_RefHeader__GDnGTjNyvwISJbkIvAst3A tyObject_RefHeader__GDnGTjNyvwISJbkIvAst3A;
typedef struct tyObject_ValueError__S29bKZF4TUS33IR7ZXb7fFA tyObject_ValueError__S29bKZF4TUS33IR7ZXb7fFA;
typedef struct tyObject_CatchableError__TCF9b1Y9b2ct0xPZvZnaY7gg tyObject_CatchableError__TCF9b1Y9b2ct0xPZvZnaY7gg;
typedef struct Exception Exception;
typedef struct RootObj RootObj;
typedef struct NimStrPayload NimStrPayload;
typedef struct NimStringV2 NimStringV2;
typedef struct tySequence__S89cE01OvNjsN9c71FKsSrqQ tySequence__S89cE01OvNjsN9c71FKsSrqQ;
typedef struct tySequence__S89cE01OvNjsN9c71FKsSrqQ_Content tySequence__S89cE01OvNjsN9c71FKsSrqQ_Content;
typedef struct tyObject_GcEnv__HccVszwojlCZRN46BE9cG8w tyObject_GcEnv__HccVszwojlCZRN46BE9cG8w;
typedef struct tyObject_CellSeq__gW9aeWLFbrNaeUKXqxYBXhg tyObject_CellSeq__gW9aeWLFbrNaeUKXqxYBXhg;
typedef struct tyTuple__N4J9cV4JZGem3ljqqj5rT0Q tyTuple__N4J9cV4JZGem3ljqqj5rT0Q;
typedef struct tyObject_CellSeq__IHvIqxITv1yMjJj8lwLrhg tyObject_CellSeq__IHvIqxITv1yMjJj8lwLrhg;
typedef struct tyTuple__DTRsWi2kgTewbhN2TT5mbA tyTuple__DTRsWi2kgTewbhN2TT5mbA;
typedef struct tyObject_IndexDefect__9cIOj9cQBZH8lEZvCihI6Eyg tyObject_IndexDefect__9cIOj9cQBZH8lEZvCihI6Eyg;
typedef struct tyObject_Defect__WFlDaIWu7hFOKoGSG7uH7g tyObject_Defect__WFlDaIWu7hFOKoGSG7uH7g;
typedef struct tyObject_AssertionDefect__AkhcRKr9ccpuvEuYF9cPAvsw tyObject_AssertionDefect__AkhcRKr9ccpuvEuYF9cPAvsw;
typedef struct tyObject_OSError__SuJIQW5BO0Kx9aOoF3Fjwkw tyObject_OSError__SuJIQW5BO0Kx9aOoF3Fjwkw;
typedef struct tyObject_IOError__vBePDvr8fj01uTfaJy9aD3Q tyObject_IOError__vBePDvr8fj01uTfaJy9aD3Q;
typedef struct tyObject_EOFError__Gv4QdlVwLTIj1uktzwyKeA tyObject_EOFError__Gv4QdlVwLTIj1uktzwyKeA;
typedef struct tyObject_OverflowDefect__k9cHpOYdyJ5gzriX3ztGHjQ tyObject_OverflowDefect__k9cHpOYdyJ5gzriX3ztGHjQ;
typedef struct tyObject_ArithmeticDefect__49cCBvfvNnJwGij66u4MOTw tyObject_ArithmeticDefect__49cCBvfvNnJwGij66u4MOTw;
typedef struct tyObject_ReraiseDefect__rf4J0hIl2XahwR8oH1IVPA tyObject_ReraiseDefect__rf4J0hIl2XahwR8oH1IVPA;
typedef struct tyObject_StackTraceEntry__RcJz5RXFIYjIseutvVFICA tyObject_StackTraceEntry__RcJz5RXFIYjIseutvVFICA;
struct TNimTypeV2 {
	void* destructor;
	NI size;
	NI16 align;
	NI16 depth;
	NU32* display;
	void* traceImpl;
	void* typeInfoV1;
	NI flags;
	void* vTable[SEQ_DECL_SIZE];
};
struct tyObject_RefHeader__GDnGTjNyvwISJbkIvAst3A {
	NI rc;
	NI rootIdx;
};
struct RootObj {
	TNimTypeV2* m_type;
};
struct NimStrPayload {
	NI cap;
	NIM_CHAR data[SEQ_DECL_SIZE];
};
struct NimStringV2 {
	NI len;
	NimStrPayload* p;
};
struct tySequence__S89cE01OvNjsN9c71FKsSrqQ {
  NI len; tySequence__S89cE01OvNjsN9c71FKsSrqQ_Content* p;
};
struct Exception {
	RootObj Sup;
	Exception* parent;
	NCSTRING name;
	NimStringV2 message;
	tySequence__S89cE01OvNjsN9c71FKsSrqQ trace;
	Exception* up;
};
struct tyObject_CatchableError__TCF9b1Y9b2ct0xPZvZnaY7gg {
	Exception Sup;
};
struct tyObject_ValueError__S29bKZF4TUS33IR7ZXb7fFA {
	tyObject_CatchableError__TCF9b1Y9b2ct0xPZvZnaY7gg Sup;
};
struct tyObject_KeyError__jzGRfzBmxnPANjp71FNw5Q {
	tyObject_ValueError__S29bKZF4TUS33IR7ZXb7fFA Sup;
};
struct tyObject_CellSeq__gW9aeWLFbrNaeUKXqxYBXhg {
	NI len;
	NI cap;
	tyTuple__N4J9cV4JZGem3ljqqj5rT0Q* d;
};
struct tyObject_CellSeq__IHvIqxITv1yMjJj8lwLrhg {
	NI len;
	NI cap;
	tyTuple__DTRsWi2kgTewbhN2TT5mbA* d;
};
struct tyObject_GcEnv__HccVszwojlCZRN46BE9cG8w {
	tyObject_CellSeq__gW9aeWLFbrNaeUKXqxYBXhg traceStack;
	tyObject_CellSeq__IHvIqxITv1yMjJj8lwLrhg toFree;
	NI freed;
	NI touched;
	NI edges;
	NI rcSum;
	NIM_BOOL keepThreshold;
};
struct tyTuple__N4J9cV4JZGem3ljqqj5rT0Q {
	void** Field0;
	TNimTypeV2* Field1;
};
struct tyObject_Defect__WFlDaIWu7hFOKoGSG7uH7g {
	Exception Sup;
};
struct tyObject_IndexDefect__9cIOj9cQBZH8lEZvCihI6Eyg {
	tyObject_Defect__WFlDaIWu7hFOKoGSG7uH7g Sup;
};
struct tyObject_AssertionDefect__AkhcRKr9ccpuvEuYF9cPAvsw {
	tyObject_Defect__WFlDaIWu7hFOKoGSG7uH7g Sup;
};
struct tyObject_OSError__SuJIQW5BO0Kx9aOoF3Fjwkw {
	tyObject_CatchableError__TCF9b1Y9b2ct0xPZvZnaY7gg Sup;
	NI32 errorCode;
};
struct tyObject_IOError__vBePDvr8fj01uTfaJy9aD3Q {
	tyObject_CatchableError__TCF9b1Y9b2ct0xPZvZnaY7gg Sup;
};
struct tyObject_EOFError__Gv4QdlVwLTIj1uktzwyKeA {
	tyObject_IOError__vBePDvr8fj01uTfaJy9aD3Q Sup;
};
struct tyObject_ArithmeticDefect__49cCBvfvNnJwGij66u4MOTw {
	tyObject_Defect__WFlDaIWu7hFOKoGSG7uH7g Sup;
};
struct tyObject_OverflowDefect__k9cHpOYdyJ5gzriX3ztGHjQ {
	tyObject_ArithmeticDefect__49cCBvfvNnJwGij66u4MOTw Sup;
};
struct tyObject_ReraiseDefect__rf4J0hIl2XahwR8oH1IVPA {
	tyObject_Defect__WFlDaIWu7hFOKoGSG7uH7g Sup;
};
struct tyObject_StackTraceEntry__RcJz5RXFIYjIseutvVFICA {
	NCSTRING procname;
	NI line;
	NCSTRING filename;
};
struct tySequence__S89cE01OvNjsN9c71FKsSrqQ_Content { NI cap; tyObject_StackTraceEntry__RcJz5RXFIYjIseutvVFICA data[SEQ_DECL_SIZE]; };
N_LIB_PRIVATE N_NIMCALL(void, rttiDestroy__systemZexceptions_u35)(void* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___pureZstrtabs_u332)(tyObject_KeyError__jzGRfzBmxnPANjp71FNw5Q* dest_p0);
static N_INLINE(NIM_BOOL, nimDecRefIsLastCyclicDyn)(void* p_p0);
static N_INLINE(NI, minuspercent___system_u805)(NI x_p0, NI y_p1);
N_LIB_PRIVATE N_NOINLINE(void, rememberCycle__system_u3470)(NIM_BOOL isDestroyAction_p0, tyObject_RefHeader__GDnGTjNyvwISJbkIvAst3A* s_p1, TNimTypeV2* desc_p2);
static N_INLINE(NIM_BOOL*, nimErrorFlag)(void);
N_LIB_PRIVATE N_NIMCALL(void, nimDestroyAndDispose)(void* p_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___system_u2627)(NimStringV2 dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___stdZassertions_u60)(tySequence__S89cE01OvNjsN9c71FKsSrqQ dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqtrace___pureZstrtabs_u344)(tyObject_KeyError__jzGRfzBmxnPANjp71FNw5Q* dest_p0, void* env_p1);
static N_INLINE(void, nimTraceRefDyn)(void* q_p0, void* env_p1);
static N_INLINE(void, add__system_u2953)(tyObject_CellSeq__gW9aeWLFbrNaeUKXqxYBXhg* s_p0, void** c_p1, TNimTypeV2* t_p2);
N_LIB_PRIVATE N_NIMCALL(void, resize__system_u2961)(tyObject_CellSeq__gW9aeWLFbrNaeUKXqxYBXhg* s_p0);
N_LIB_PRIVATE N_NIMCALL(void, rttiDestroy__systemZexceptions_u39)(void* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___pureZparseutils_u330)(tyObject_ValueError__S29bKZF4TUS33IR7ZXb7fFA* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqtrace___pureZparseutils_u342)(tyObject_ValueError__S29bKZF4TUS33IR7ZXb7fFA* dest_p0, void* env_p1);
N_LIB_PRIVATE N_NIMCALL(void, rttiDestroy__systemZexceptions_u41)(void* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___system_u4649)(tyObject_IndexDefect__9cIOj9cQBZH8lEZvCihI6Eyg* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqtrace___system_u4661)(tyObject_IndexDefect__9cIOj9cQBZH8lEZvCihI6Eyg* dest_p0, void* env_p1);
N_LIB_PRIVATE N_NIMCALL(void, rttiDestroy__systemZexceptions_u43)(void* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___stdZassertions_u184)(tyObject_AssertionDefect__AkhcRKr9ccpuvEuYF9cPAvsw* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqtrace___stdZassertions_u196)(tyObject_AssertionDefect__AkhcRKr9ccpuvEuYF9cPAvsw* dest_p0, void* env_p1);
N_LIB_PRIVATE N_NIMCALL(void, rttiDestroy__systemZexceptions_u45)(void* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___stdZoserrors_u60)(tyObject_OSError__SuJIQW5BO0Kx9aOoF3Fjwkw* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqtrace___stdZoserrors_u72)(tyObject_OSError__SuJIQW5BO0Kx9aOoF3Fjwkw* dest_p0, void* env_p1);
N_LIB_PRIVATE N_NIMCALL(void, rttiDestroy__systemZexceptions_u47)(void* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___system_u8481)(tyObject_IOError__vBePDvr8fj01uTfaJy9aD3Q* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqtrace___system_u8493)(tyObject_IOError__vBePDvr8fj01uTfaJy9aD3Q* dest_p0, void* env_p1);
N_LIB_PRIVATE N_NIMCALL(void, rttiDestroy__systemZexceptions_u49)(void* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___stdZsyncio_u100)(tyObject_EOFError__Gv4QdlVwLTIj1uktzwyKeA* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqtrace___stdZsyncio_u112)(tyObject_EOFError__Gv4QdlVwLTIj1uktzwyKeA* dest_p0, void* env_p1);
N_LIB_PRIVATE N_NIMCALL(void, rttiDestroy__systemZexceptions_u51)(void* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___system_u5053)(tyObject_OverflowDefect__k9cHpOYdyJ5gzriX3ztGHjQ* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqtrace___system_u5065)(tyObject_OverflowDefect__k9cHpOYdyJ5gzriX3ztGHjQ* dest_p0, void* env_p1);
N_LIB_PRIVATE N_NIMCALL(void, rttiDestroy__systemZexceptions_u53)(void* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___system_u4387)(tyObject_ReraiseDefect__rf4J0hIl2XahwR8oH1IVPA* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqtrace___system_u4399)(tyObject_ReraiseDefect__rf4J0hIl2XahwR8oH1IVPA* dest_p0, void* env_p1);
N_LIB_PRIVATE TNimTypeV2 NTIv2__jzGRfzBmxnPANjp71FNw5Q_;
N_LIB_PRIVATE TNimTypeV2 NTIv2__S29bKZF4TUS33IR7ZXb7fFA_;
N_LIB_PRIVATE TNimTypeV2 NTIv2__9cIOj9cQBZH8lEZvCihI6Eyg_;
N_LIB_PRIVATE TNimTypeV2 NTIv2__AkhcRKr9ccpuvEuYF9cPAvsw_;
N_LIB_PRIVATE TNimTypeV2 NTIv2__SuJIQW5BO0Kx9aOoF3Fjwkw_;
N_LIB_PRIVATE TNimTypeV2 NTIv2__vBePDvr8fj01uTfaJy9aD3Q_;
N_LIB_PRIVATE TNimTypeV2 NTIv2__Gv4QdlVwLTIj1uktzwyKeA_;
N_LIB_PRIVATE TNimTypeV2 NTIv2__k9cHpOYdyJ5gzriX3ztGHjQ_;
N_LIB_PRIVATE TNimTypeV2 NTIv2__rf4J0hIl2XahwR8oH1IVPA_;
extern NIM_BOOL nimInErrorMode__system_u4304;
static NIM_CONST NU32 TM__TzI3paKQY09cLjc9cmCvur3A_2[5] = {3701606400, 1285336064, 561960192, 1871340544, 831618816};
N_LIB_PRIVATE TNimTypeV2 NTIv2__jzGRfzBmxnPANjp71FNw5Q_ = {.destructor = (void*)rttiDestroy__systemZexceptions_u35, .size = sizeof(tyObject_KeyError__jzGRfzBmxnPANjp71FNw5Q), .align = (NI16) NIM_ALIGNOF(tyObject_KeyError__jzGRfzBmxnPANjp71FNw5Q), .depth = 4, .display = TM__TzI3paKQY09cLjc9cmCvur3A_2, .traceImpl = (void*)eqtrace___pureZstrtabs_u344, .flags = 0};
static NIM_CONST NU32 TM__TzI3paKQY09cLjc9cmCvur3A_3[4] = {3701606400, 1285336064, 561960192, 1871340544};
N_LIB_PRIVATE TNimTypeV2 NTIv2__S29bKZF4TUS33IR7ZXb7fFA_ = {.destructor = (void*)rttiDestroy__systemZexceptions_u39, .size = sizeof(tyObject_ValueError__S29bKZF4TUS33IR7ZXb7fFA), .align = (NI16) NIM_ALIGNOF(tyObject_ValueError__S29bKZF4TUS33IR7ZXb7fFA), .depth = 3, .display = TM__TzI3paKQY09cLjc9cmCvur3A_3, .traceImpl = (void*)eqtrace___pureZparseutils_u342, .flags = 0};
static NIM_CONST NU32 TM__TzI3paKQY09cLjc9cmCvur3A_4[4] = {3701606400, 1285336064, 1497589760, 2208562432};
N_LIB_PRIVATE TNimTypeV2 NTIv2__9cIOj9cQBZH8lEZvCihI6Eyg_ = {.destructor = (void*)rttiDestroy__systemZexceptions_u41, .size = sizeof(tyObject_IndexDefect__9cIOj9cQBZH8lEZvCihI6Eyg), .align = (NI16) NIM_ALIGNOF(tyObject_IndexDefect__9cIOj9cQBZH8lEZvCihI6Eyg), .depth = 3, .display = TM__TzI3paKQY09cLjc9cmCvur3A_4, .traceImpl = (void*)eqtrace___system_u4661, .flags = 0};
static NIM_CONST NU32 TM__TzI3paKQY09cLjc9cmCvur3A_5[4] = {3701606400, 1285336064, 1497589760, 1214006272};
N_LIB_PRIVATE TNimTypeV2 NTIv2__AkhcRKr9ccpuvEuYF9cPAvsw_ = {.destructor = (void*)rttiDestroy__systemZexceptions_u43, .size = sizeof(tyObject_AssertionDefect__AkhcRKr9ccpuvEuYF9cPAvsw), .align = (NI16) NIM_ALIGNOF(tyObject_AssertionDefect__AkhcRKr9ccpuvEuYF9cPAvsw), .depth = 3, .display = TM__TzI3paKQY09cLjc9cmCvur3A_5, .traceImpl = (void*)eqtrace___stdZassertions_u196, .flags = 0};
static NIM_CONST NU32 TM__TzI3paKQY09cLjc9cmCvur3A_6[4] = {3701606400, 1285336064, 561960192, 3796386048};
N_LIB_PRIVATE TNimTypeV2 NTIv2__SuJIQW5BO0Kx9aOoF3Fjwkw_ = {.destructor = (void*)rttiDestroy__systemZexceptions_u45, .size = sizeof(tyObject_OSError__SuJIQW5BO0Kx9aOoF3Fjwkw), .align = (NI16) NIM_ALIGNOF(tyObject_OSError__SuJIQW5BO0Kx9aOoF3Fjwkw), .depth = 3, .display = TM__TzI3paKQY09cLjc9cmCvur3A_6, .traceImpl = (void*)eqtrace___stdZoserrors_u72, .flags = 0};
static NIM_CONST NU32 TM__TzI3paKQY09cLjc9cmCvur3A_7[4] = {3701606400, 1285336064, 561960192, 395251200};
N_LIB_PRIVATE TNimTypeV2 NTIv2__vBePDvr8fj01uTfaJy9aD3Q_ = {.destructor = (void*)rttiDestroy__systemZexceptions_u47, .size = sizeof(tyObject_IOError__vBePDvr8fj01uTfaJy9aD3Q), .align = (NI16) NIM_ALIGNOF(tyObject_IOError__vBePDvr8fj01uTfaJy9aD3Q), .depth = 3, .display = TM__TzI3paKQY09cLjc9cmCvur3A_7, .traceImpl = (void*)eqtrace___system_u8493, .flags = 0};
static NIM_CONST NU32 TM__TzI3paKQY09cLjc9cmCvur3A_8[5] = {3701606400, 1285336064, 561960192, 395251200, 4262491648};
N_LIB_PRIVATE TNimTypeV2 NTIv2__Gv4QdlVwLTIj1uktzwyKeA_ = {.destructor = (void*)rttiDestroy__systemZexceptions_u49, .size = sizeof(tyObject_EOFError__Gv4QdlVwLTIj1uktzwyKeA), .align = (NI16) NIM_ALIGNOF(tyObject_EOFError__Gv4QdlVwLTIj1uktzwyKeA), .depth = 4, .display = TM__TzI3paKQY09cLjc9cmCvur3A_8, .traceImpl = (void*)eqtrace___stdZsyncio_u112, .flags = 0};
static NIM_CONST NU32 TM__TzI3paKQY09cLjc9cmCvur3A_9[5] = {3701606400, 1285336064, 1497589760, 4035034368, 4058593536};
N_LIB_PRIVATE TNimTypeV2 NTIv2__k9cHpOYdyJ5gzriX3ztGHjQ_ = {.destructor = (void*)rttiDestroy__systemZexceptions_u51, .size = sizeof(tyObject_OverflowDefect__k9cHpOYdyJ5gzriX3ztGHjQ), .align = (NI16) NIM_ALIGNOF(tyObject_OverflowDefect__k9cHpOYdyJ5gzriX3ztGHjQ), .depth = 4, .display = TM__TzI3paKQY09cLjc9cmCvur3A_9, .traceImpl = (void*)eqtrace___system_u5065, .flags = 0};
static NIM_CONST NU32 TM__TzI3paKQY09cLjc9cmCvur3A_10[4] = {3701606400, 1285336064, 1497589760, 4262056448};
N_LIB_PRIVATE TNimTypeV2 NTIv2__rf4J0hIl2XahwR8oH1IVPA_ = {.destructor = (void*)rttiDestroy__systemZexceptions_u53, .size = sizeof(tyObject_ReraiseDefect__rf4J0hIl2XahwR8oH1IVPA), .align = (NI16) NIM_ALIGNOF(tyObject_ReraiseDefect__rf4J0hIl2XahwR8oH1IVPA), .depth = 3, .display = TM__TzI3paKQY09cLjc9cmCvur3A_10, .traceImpl = (void*)eqtrace___system_u4399, .flags = 0};
static N_INLINE(NI, minuspercent___system_u805)(NI x_p0, NI y_p1) {
	NI result;
	result = ((NI) ((NU)((NU32)(((NU) (x_p0))) - (NU32)(((NU) (y_p1))))));
	return result;
}
static N_INLINE(NIM_BOOL*, nimErrorFlag)(void) {
	NIM_BOOL* result;
	result = (&nimInErrorMode__system_u4304);
	return result;
}
static N_INLINE(NIM_BOOL, nimDecRefIsLastCyclicDyn)(void* p_p0) {
	NIM_BOOL result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_FALSE;
	{
		tyObject_RefHeader__GDnGTjNyvwISJbkIvAst3A* cell_1;
		NI T5_;
		if (!!((p_p0 == NIM_NIL))) goto LA3_;
		T5_ = (NI)0;
		T5_ = minuspercent___system_u805(((NI) (ptrdiff_t) (p_p0)), ((NI)8));
		cell_1 = ((tyObject_RefHeader__GDnGTjNyvwISJbkIvAst3A*) (T5_));
		{
			if (!((NI)((*cell_1).rc & ((NI)-16)) == ((NI)0))) goto LA8_;
			result = NIM_TRUE;
		}
		goto LA6_;
LA8_: ;
		{
			(*cell_1).rc -= ((NI)16);
		}
LA6_: ;
		rememberCycle__system_u3470(result, cell_1, (*((TNimTypeV2**) (p_p0))));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA3_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___pureZstrtabs_u332)(tyObject_KeyError__jzGRfzBmxnPANjp71FNw5Q* dest_p0) {
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = nimDecRefIsLastCyclicDyn((*dest_p0).Sup.Sup.Sup.parent);
		if (!T3_) goto LA4_;
		nimDestroyAndDispose((*dest_p0).Sup.Sup.Sup.parent);
	}
LA4_: ;
	eqdestroy___system_u2627((*dest_p0).Sup.Sup.Sup.message);
	eqdestroy___stdZassertions_u60((*dest_p0).Sup.Sup.Sup.trace);
	{
		NIM_BOOL T8_;
		T8_ = (NIM_BOOL)0;
		T8_ = nimDecRefIsLastCyclicDyn((*dest_p0).Sup.Sup.Sup.up);
		if (!T8_) goto LA9_;
		nimDestroyAndDispose((*dest_p0).Sup.Sup.Sup.up);
	}
LA9_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, rttiDestroy__systemZexceptions_u35)(void* dest_p0) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	eqdestroy___pureZstrtabs_u332((&(*((tyObject_KeyError__jzGRfzBmxnPANjp71FNw5Q*) (dest_p0)))));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
static N_INLINE(void, add__system_u2953)(tyObject_CellSeq__gW9aeWLFbrNaeUKXqxYBXhg* s_p0, void** c_p1, TNimTypeV2* t_p2) {
	void** colontmp_;
	TNimTypeV2* colontmp__2;
	{
		if (!((*s_p0).cap <= (*s_p0).len)) goto LA3_;
		resize__system_u2961(s_p0);
	}
LA3_: ;
	colontmp_ = c_p1;
	colontmp__2 = t_p2;
	(*s_p0).d[(*s_p0).len].Field0 = colontmp_;
	(*s_p0).d[(*s_p0).len].Field1 = colontmp__2;
	(*s_p0).len += ((NI)1);
}
static N_INLINE(void, nimTraceRefDyn)(void* q_p0, void* env_p1) {
	void** p_1;
	p_1 = ((void**) (q_p0));
	{
		tyObject_GcEnv__HccVszwojlCZRN46BE9cG8w* j_1;
		if (!!(((*p_1) == NIM_NIL))) goto LA3_;
		j_1 = ((tyObject_GcEnv__HccVszwojlCZRN46BE9cG8w*) (env_p1));
		add__system_u2953((&(*j_1).traceStack), p_1, (*((TNimTypeV2**) ((*p_1)))));
	}
LA3_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, eqtrace___pureZstrtabs_u344)(tyObject_KeyError__jzGRfzBmxnPANjp71FNw5Q* dest_p0, void* env_p1) {
	nimTraceRefDyn(&(*dest_p0).Sup.Sup.Sup.parent, env_p1);
	nimTraceRefDyn(&(*dest_p0).Sup.Sup.Sup.up, env_p1);
}
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___pureZparseutils_u330)(tyObject_ValueError__S29bKZF4TUS33IR7ZXb7fFA* dest_p0) {
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = nimDecRefIsLastCyclicDyn((*dest_p0).Sup.Sup.parent);
		if (!T3_) goto LA4_;
		nimDestroyAndDispose((*dest_p0).Sup.Sup.parent);
	}
LA4_: ;
	eqdestroy___system_u2627((*dest_p0).Sup.Sup.message);
	eqdestroy___stdZassertions_u60((*dest_p0).Sup.Sup.trace);
	{
		NIM_BOOL T8_;
		T8_ = (NIM_BOOL)0;
		T8_ = nimDecRefIsLastCyclicDyn((*dest_p0).Sup.Sup.up);
		if (!T8_) goto LA9_;
		nimDestroyAndDispose((*dest_p0).Sup.Sup.up);
	}
LA9_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, rttiDestroy__systemZexceptions_u39)(void* dest_p0) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	eqdestroy___pureZparseutils_u330((&(*((tyObject_ValueError__S29bKZF4TUS33IR7ZXb7fFA*) (dest_p0)))));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, eqtrace___pureZparseutils_u342)(tyObject_ValueError__S29bKZF4TUS33IR7ZXb7fFA* dest_p0, void* env_p1) {
	nimTraceRefDyn(&(*dest_p0).Sup.Sup.parent, env_p1);
	nimTraceRefDyn(&(*dest_p0).Sup.Sup.up, env_p1);
}
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___system_u4649)(tyObject_IndexDefect__9cIOj9cQBZH8lEZvCihI6Eyg* dest_p0) {
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = nimDecRefIsLastCyclicDyn((*dest_p0).Sup.Sup.parent);
		if (!T3_) goto LA4_;
		nimDestroyAndDispose((*dest_p0).Sup.Sup.parent);
	}
LA4_: ;
	eqdestroy___system_u2627((*dest_p0).Sup.Sup.message);
	eqdestroy___stdZassertions_u60((*dest_p0).Sup.Sup.trace);
	{
		NIM_BOOL T8_;
		T8_ = (NIM_BOOL)0;
		T8_ = nimDecRefIsLastCyclicDyn((*dest_p0).Sup.Sup.up);
		if (!T8_) goto LA9_;
		nimDestroyAndDispose((*dest_p0).Sup.Sup.up);
	}
LA9_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, rttiDestroy__systemZexceptions_u41)(void* dest_p0) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	eqdestroy___system_u4649((&(*((tyObject_IndexDefect__9cIOj9cQBZH8lEZvCihI6Eyg*) (dest_p0)))));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, eqtrace___system_u4661)(tyObject_IndexDefect__9cIOj9cQBZH8lEZvCihI6Eyg* dest_p0, void* env_p1) {
	nimTraceRefDyn(&(*dest_p0).Sup.Sup.parent, env_p1);
	nimTraceRefDyn(&(*dest_p0).Sup.Sup.up, env_p1);
}
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___stdZassertions_u184)(tyObject_AssertionDefect__AkhcRKr9ccpuvEuYF9cPAvsw* dest_p0) {
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = nimDecRefIsLastCyclicDyn((*dest_p0).Sup.Sup.parent);
		if (!T3_) goto LA4_;
		nimDestroyAndDispose((*dest_p0).Sup.Sup.parent);
	}
LA4_: ;
	eqdestroy___system_u2627((*dest_p0).Sup.Sup.message);
	eqdestroy___stdZassertions_u60((*dest_p0).Sup.Sup.trace);
	{
		NIM_BOOL T8_;
		T8_ = (NIM_BOOL)0;
		T8_ = nimDecRefIsLastCyclicDyn((*dest_p0).Sup.Sup.up);
		if (!T8_) goto LA9_;
		nimDestroyAndDispose((*dest_p0).Sup.Sup.up);
	}
LA9_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, rttiDestroy__systemZexceptions_u43)(void* dest_p0) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	eqdestroy___stdZassertions_u184((&(*((tyObject_AssertionDefect__AkhcRKr9ccpuvEuYF9cPAvsw*) (dest_p0)))));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, eqtrace___stdZassertions_u196)(tyObject_AssertionDefect__AkhcRKr9ccpuvEuYF9cPAvsw* dest_p0, void* env_p1) {
	nimTraceRefDyn(&(*dest_p0).Sup.Sup.parent, env_p1);
	nimTraceRefDyn(&(*dest_p0).Sup.Sup.up, env_p1);
}
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___stdZoserrors_u60)(tyObject_OSError__SuJIQW5BO0Kx9aOoF3Fjwkw* dest_p0) {
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = nimDecRefIsLastCyclicDyn((*dest_p0).Sup.Sup.parent);
		if (!T3_) goto LA4_;
		nimDestroyAndDispose((*dest_p0).Sup.Sup.parent);
	}
LA4_: ;
	eqdestroy___system_u2627((*dest_p0).Sup.Sup.message);
	eqdestroy___stdZassertions_u60((*dest_p0).Sup.Sup.trace);
	{
		NIM_BOOL T8_;
		T8_ = (NIM_BOOL)0;
		T8_ = nimDecRefIsLastCyclicDyn((*dest_p0).Sup.Sup.up);
		if (!T8_) goto LA9_;
		nimDestroyAndDispose((*dest_p0).Sup.Sup.up);
	}
LA9_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, rttiDestroy__systemZexceptions_u45)(void* dest_p0) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	eqdestroy___stdZoserrors_u60((&(*((tyObject_OSError__SuJIQW5BO0Kx9aOoF3Fjwkw*) (dest_p0)))));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, eqtrace___stdZoserrors_u72)(tyObject_OSError__SuJIQW5BO0Kx9aOoF3Fjwkw* dest_p0, void* env_p1) {
	nimTraceRefDyn(&(*dest_p0).Sup.Sup.parent, env_p1);
	nimTraceRefDyn(&(*dest_p0).Sup.Sup.up, env_p1);
}
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___system_u8481)(tyObject_IOError__vBePDvr8fj01uTfaJy9aD3Q* dest_p0) {
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = nimDecRefIsLastCyclicDyn((*dest_p0).Sup.Sup.parent);
		if (!T3_) goto LA4_;
		nimDestroyAndDispose((*dest_p0).Sup.Sup.parent);
	}
LA4_: ;
	eqdestroy___system_u2627((*dest_p0).Sup.Sup.message);
	eqdestroy___stdZassertions_u60((*dest_p0).Sup.Sup.trace);
	{
		NIM_BOOL T8_;
		T8_ = (NIM_BOOL)0;
		T8_ = nimDecRefIsLastCyclicDyn((*dest_p0).Sup.Sup.up);
		if (!T8_) goto LA9_;
		nimDestroyAndDispose((*dest_p0).Sup.Sup.up);
	}
LA9_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, rttiDestroy__systemZexceptions_u47)(void* dest_p0) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	eqdestroy___system_u8481((&(*((tyObject_IOError__vBePDvr8fj01uTfaJy9aD3Q*) (dest_p0)))));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, eqtrace___system_u8493)(tyObject_IOError__vBePDvr8fj01uTfaJy9aD3Q* dest_p0, void* env_p1) {
	nimTraceRefDyn(&(*dest_p0).Sup.Sup.parent, env_p1);
	nimTraceRefDyn(&(*dest_p0).Sup.Sup.up, env_p1);
}
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___stdZsyncio_u100)(tyObject_EOFError__Gv4QdlVwLTIj1uktzwyKeA* dest_p0) {
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = nimDecRefIsLastCyclicDyn((*dest_p0).Sup.Sup.Sup.parent);
		if (!T3_) goto LA4_;
		nimDestroyAndDispose((*dest_p0).Sup.Sup.Sup.parent);
	}
LA4_: ;
	eqdestroy___system_u2627((*dest_p0).Sup.Sup.Sup.message);
	eqdestroy___stdZassertions_u60((*dest_p0).Sup.Sup.Sup.trace);
	{
		NIM_BOOL T8_;
		T8_ = (NIM_BOOL)0;
		T8_ = nimDecRefIsLastCyclicDyn((*dest_p0).Sup.Sup.Sup.up);
		if (!T8_) goto LA9_;
		nimDestroyAndDispose((*dest_p0).Sup.Sup.Sup.up);
	}
LA9_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, rttiDestroy__systemZexceptions_u49)(void* dest_p0) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	eqdestroy___stdZsyncio_u100((&(*((tyObject_EOFError__Gv4QdlVwLTIj1uktzwyKeA*) (dest_p0)))));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, eqtrace___stdZsyncio_u112)(tyObject_EOFError__Gv4QdlVwLTIj1uktzwyKeA* dest_p0, void* env_p1) {
	nimTraceRefDyn(&(*dest_p0).Sup.Sup.Sup.parent, env_p1);
	nimTraceRefDyn(&(*dest_p0).Sup.Sup.Sup.up, env_p1);
}
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___system_u5053)(tyObject_OverflowDefect__k9cHpOYdyJ5gzriX3ztGHjQ* dest_p0) {
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = nimDecRefIsLastCyclicDyn((*dest_p0).Sup.Sup.Sup.parent);
		if (!T3_) goto LA4_;
		nimDestroyAndDispose((*dest_p0).Sup.Sup.Sup.parent);
	}
LA4_: ;
	eqdestroy___system_u2627((*dest_p0).Sup.Sup.Sup.message);
	eqdestroy___stdZassertions_u60((*dest_p0).Sup.Sup.Sup.trace);
	{
		NIM_BOOL T8_;
		T8_ = (NIM_BOOL)0;
		T8_ = nimDecRefIsLastCyclicDyn((*dest_p0).Sup.Sup.Sup.up);
		if (!T8_) goto LA9_;
		nimDestroyAndDispose((*dest_p0).Sup.Sup.Sup.up);
	}
LA9_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, rttiDestroy__systemZexceptions_u51)(void* dest_p0) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	eqdestroy___system_u5053((&(*((tyObject_OverflowDefect__k9cHpOYdyJ5gzriX3ztGHjQ*) (dest_p0)))));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, eqtrace___system_u5065)(tyObject_OverflowDefect__k9cHpOYdyJ5gzriX3ztGHjQ* dest_p0, void* env_p1) {
	nimTraceRefDyn(&(*dest_p0).Sup.Sup.Sup.parent, env_p1);
	nimTraceRefDyn(&(*dest_p0).Sup.Sup.Sup.up, env_p1);
}
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___system_u4387)(tyObject_ReraiseDefect__rf4J0hIl2XahwR8oH1IVPA* dest_p0) {
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = nimDecRefIsLastCyclicDyn((*dest_p0).Sup.Sup.parent);
		if (!T3_) goto LA4_;
		nimDestroyAndDispose((*dest_p0).Sup.Sup.parent);
	}
LA4_: ;
	eqdestroy___system_u2627((*dest_p0).Sup.Sup.message);
	eqdestroy___stdZassertions_u60((*dest_p0).Sup.Sup.trace);
	{
		NIM_BOOL T8_;
		T8_ = (NIM_BOOL)0;
		T8_ = nimDecRefIsLastCyclicDyn((*dest_p0).Sup.Sup.up);
		if (!T8_) goto LA9_;
		nimDestroyAndDispose((*dest_p0).Sup.Sup.up);
	}
LA9_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, rttiDestroy__systemZexceptions_u53)(void* dest_p0) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	eqdestroy___system_u4387((&(*((tyObject_ReraiseDefect__rf4J0hIl2XahwR8oH1IVPA*) (dest_p0)))));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, eqtrace___system_u4399)(tyObject_ReraiseDefect__rf4J0hIl2XahwR8oH1IVPA* dest_p0, void* env_p1) {
	nimTraceRefDyn(&(*dest_p0).Sup.Sup.parent, env_p1);
	nimTraceRefDyn(&(*dest_p0).Sup.Sup.up, env_p1);
}
