/* Generated by Nim Compiler v1.3.5 */
/*   (c) 2020 Andreas Rumpf */
/* The generated code is subject to the original license. */
#define NIM_INTBITS 64

/* section: NIM_merge_HEADERS */

#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

/* section: NIM_merge_FRAME_DEFINES */
#define nimfr_(x, y)
#define nimln_(x, y)

/* section: NIM_merge_FORWARD_TYPES */
typedef struct tyObject_Table__GpIQt2f0xrasZObyH6X8bg tyObject_Table__GpIQt2f0xrasZObyH6X8bg;
typedef struct tySequence__9chP3SzkaldXzawWQCDsqqg tySequence__9chP3SzkaldXzawWQCDsqqg;
typedef struct TGenericSeq TGenericSeq;
typedef struct tyTuple__aGv2fk9ceddvdC01ZJC2Q2g tyTuple__aGv2fk9ceddvdC01ZJC2Q2g;
typedef struct TNimType TNimType;
typedef struct TNimNode TNimNode;
typedef struct tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA;
typedef struct tySequence__7lEisrXlQEzwtUKW5pzRCw tySequence__7lEisrXlQEzwtUKW5pzRCw;
typedef struct tyTuple__xYhUhS7X82rKTqbT9bRfCnw tyTuple__xYhUhS7X82rKTqbT9bRfCnw;
typedef struct NimStringDesc NimStringDesc;
typedef struct tyObject_Table__l6AB9cIrSdEYtCGu5YO9b61Q tyObject_Table__l6AB9cIrSdEYtCGu5YO9b61Q;
typedef struct tySequence__TXIV9cpS1nTKZLiCib9cPT4g tySequence__TXIV9cpS1nTKZLiCib9cPT4g;
typedef struct tyTuple__ucLo1ofiZatslecSftPI2A tyTuple__ucLo1ofiZatslecSftPI2A;
typedef struct tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q;
typedef struct tyObject_ProfileInfo__le1imru0p6WwvUctTtOlIw tyObject_ProfileInfo__le1imru0p6WwvUctTtOlIw;
typedef struct tyObject_Table__fdKWDDO1P17zvuQPReVgRA tyObject_Table__fdKWDDO1P17zvuQPReVgRA;
typedef struct tySequence__fdmz6VkIf1ewwrssKYqRFg tySequence__fdmz6VkIf1ewwrssKYqRFg;
typedef struct tyTuple__1mtQ8sCEE7DbfIuQciv9b5Q tyTuple__1mtQ8sCEE7DbfIuQciv9b5Q;
typedef struct tySequence__48JTohSgTy339bRxHzUD8KA tySequence__48JTohSgTy339bRxHzUD8KA;
typedef struct tyObject_Table__e2Ciu0s1q49aVQ7ULXy7l9bQ tyObject_Table__e2Ciu0s1q49aVQ7ULXy7l9bQ;
typedef struct tySequence__kxu4GK0onha2t9bo86mdVAg tySequence__kxu4GK0onha2t9bo86mdVAg;
typedef struct tyTuple__xDU9bZmv1ZbZkJDaATBekIQ tyTuple__xDU9bZmv1ZbZkJDaATBekIQ;
typedef struct tyObject_Table__IioUJGdqPI6xC7S7QF8MBw tyObject_Table__IioUJGdqPI6xC7S7QF8MBw;
typedef struct tySequence__Qr6E8eH7btq79cFKGaJfGLw tySequence__Qr6E8eH7btq79cFKGaJfGLw;
typedef struct tyTuple__EkGTYRWQ6y9cppXTlT8Xm5g tyTuple__EkGTYRWQ6y9cppXTlT8Xm5g;
typedef struct tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ;
typedef struct tyObject_Table__G1v8c16HePOldLeucwe05Q tyObject_Table__G1v8c16HePOldLeucwe05Q;
typedef struct tySequence__fIB1rTQ55aFonoft9a9bmljQ tySequence__fIB1rTQ55aFonoft9a9bmljQ;
typedef struct tyTuple__OJFzEczluV8Jmo9bRpBfkzw tyTuple__OJFzEczluV8Jmo9bRpBfkzw;
typedef struct tyObject_Table__0Y2brGGKD9bV6GJLXT9aUDgA tyObject_Table__0Y2brGGKD9bV6GJLXT9aUDgA;
typedef struct tySequence__23SMqauuRsbDANhthj9bWlA tySequence__23SMqauuRsbDANhthj9bWlA;
typedef struct tyTuple__2SGm9aGCXuo7XSQ9bqD29axXw tyTuple__2SGm9aGCXuo7XSQ9bqD29axXw;
typedef struct tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw;
typedef struct tyObject_Table__NttoEzoiq5CiphZe81oadg tyObject_Table__NttoEzoiq5CiphZe81oadg;
typedef struct tySequence__squ9b9bUH4OLHf6cEMrt6hVA tySequence__squ9b9bUH4OLHf6cEMrt6hVA;
typedef struct tyTuple__F3gkSrMB1qp2Tvf9bixVXwg tyTuple__F3gkSrMB1qp2Tvf9bixVXwg;
typedef struct tyObject_Table__nagDFX4QHx0s6Fvma9blmSg tyObject_Table__nagDFX4QHx0s6Fvma9blmSg;
typedef struct tySequence__pHNq3oXj9av2sEUdqaqeZjw tySequence__pHNq3oXj9av2sEUdqaqeZjw;
typedef struct tyTuple__wcNatyuf8WOqAhGLhSvgiw tyTuple__wcNatyuf8WOqAhGLhSvgiw;
typedef struct tyObject_BTree__VZdzO0Tlflp7WMN4gS8oPg tyObject_BTree__VZdzO0Tlflp7WMN4gS8oPg;
typedef struct tyObject_NodecolonObjectType___dNELmBSmY7nthjhZupWO6g tyObject_NodecolonObjectType___dNELmBSmY7nthjhZupWO6g;
typedef struct tyObject_KeyError__t7nhKLvXTQS9cS8ByJU9bIag tyObject_KeyError__t7nhKLvXTQS9cS8ByJU9bIag;
typedef struct tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw;
typedef struct tyObject_CatchableError__qrLSDoe2oBoAqNtJ9badtnA tyObject_CatchableError__qrLSDoe2oBoAqNtJ9badtnA;
typedef struct Exception Exception;
typedef struct RootObj RootObj;
typedef struct tySequence__uB9b75OUPRENsBAu4AnoePA tySequence__uB9b75OUPRENsBAu4AnoePA;
typedef struct tyObject_Table__Os4it9bmHnOQtsd5CqH09aRQ tyObject_Table__Os4it9bmHnOQtsd5CqH09aRQ;
typedef struct tySequence__hLW2w9a9bDM1AHB8BIrU3BYw tySequence__hLW2w9a9bDM1AHB8BIrU3BYw;
typedef struct tyTuple__YGgHblKlCINajXDZno8UTQ tyTuple__YGgHblKlCINajXDZno8UTQ;
typedef struct tyObject_TIdObj__iIXPrEsiKHiioLj0HSkQhA tyObject_TIdObj__iIXPrEsiKHiioLj0HSkQhA;
typedef struct tySequence__Ef05srmQTDulnBdXR4Ja6Q tySequence__Ef05srmQTDulnBdXR4Ja6Q;
typedef struct tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w;
typedef struct tySequence__MvZmat48bhe9b6x9aUD58D5Q tySequence__MvZmat48bhe9b6x9aUD58D5Q;
typedef struct tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA;
typedef struct tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA;
typedef struct tyObject_Table__JrI9bTpOVccKpiJXKOskjFg tyObject_Table__JrI9bTpOVccKpiJXKOskjFg;
typedef struct tySequence__YuKuU17u5ApAIki23DK9bJw tySequence__YuKuU17u5ApAIki23DK9bJw;
typedef struct tyTuple__Wymbvuvlf49clEgp9bKoFN9bw tyTuple__Wymbvuvlf49clEgp9bKoFN9bw;
typedef struct tyObject_TIdent__GufRQq9c0miSybX3zBD4tyA tyObject_TIdent__GufRQq9c0miSybX3zBD4tyA;
typedef struct tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ;
typedef struct tyObject_Table__7O9bs4LORhqcR0JGh7d1MDg tyObject_Table__7O9bs4LORhqcR0JGh7d1MDg;
typedef struct tySequence__s12F9c4cKfaapm8VzG9a1flQ tySequence__s12F9c4cKfaapm8VzG9a1flQ;
typedef struct tyTuple__8jHm6IGDGecciKpp2bTNxA tyTuple__8jHm6IGDGecciKpp2bTNxA;
typedef struct tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA;
typedef struct tyTuple__zwpS6d6iewrdlBSTNFoyVA tyTuple__zwpS6d6iewrdlBSTNFoyVA;

/* section: NIM_merge_TYPES */
struct tyObject_Table__GpIQt2f0xrasZObyH6X8bg {
tySequence__9chP3SzkaldXzawWQCDsqqg* data;
NI counter;
};
struct TGenericSeq {
NI len;
NI reserved;
};
struct tyTuple__aGv2fk9ceddvdC01ZJC2Q2g {
NI Field0;
void* Field1;
NI Field2;
};
typedef NU8 tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A;
typedef NU8 tySet_tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ;
typedef N_NIMCALL_PTR(void, tyProc__ojoeKfW4VYIm36I9cpDTQIg) (void* p, NI op);
typedef N_NIMCALL_PTR(void*, tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ) (void* p);
struct TNimType {
NI size;
NI align;
tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A kind;
tySet_tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ flags;
TNimType* base;
TNimNode* node;
void* finalizer;
tyProc__ojoeKfW4VYIm36I9cpDTQIg marker;
tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ deepcopy;
};
typedef NU8 tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ;
struct TNimNode {
tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ kind;
NI offset;
TNimType* typ;
NCSTRING name;
NI len;
TNimNode** sons;
};
struct tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA {
tySequence__7lEisrXlQEzwtUKW5pzRCw* data;
NI counter;
};
struct NimStringDesc {
  TGenericSeq Sup;
NIM_CHAR data[SEQ_DECL_SIZE];
};
struct tyTuple__xYhUhS7X82rKTqbT9bRfCnw {
NI Field0;
NimStringDesc* Field1;
NI32 Field2;
};
struct tyObject_Table__l6AB9cIrSdEYtCGu5YO9b61Q {
tySequence__TXIV9cpS1nTKZLiCib9cPT4g* data;
NI counter;
};
struct tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q {
NU16 line;
NI16 col;
NI32 fileIndex;
};
struct tyObject_ProfileInfo__le1imru0p6WwvUctTtOlIw {
NF time;
NI count;
};
struct tyTuple__ucLo1ofiZatslecSftPI2A {
NI Field0;
tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q Field1;
tyObject_ProfileInfo__le1imru0p6WwvUctTtOlIw Field2;
};
struct tyObject_Table__fdKWDDO1P17zvuQPReVgRA {
tySequence__fdmz6VkIf1ewwrssKYqRFg* data;
NI counter;
};
struct tyTuple__1mtQ8sCEE7DbfIuQciv9b5Q {
NI Field0;
NI32 Field1;
tySequence__48JTohSgTy339bRxHzUD8KA* Field2;
};
struct tyObject_Table__e2Ciu0s1q49aVQ7ULXy7l9bQ {
tySequence__kxu4GK0onha2t9bo86mdVAg* data;
NI counter;
};
struct tyTuple__xDU9bZmv1ZbZkJDaATBekIQ {
NI Field0;
NI32 Field1;
NI32 Field2;
};
struct tyObject_Table__IioUJGdqPI6xC7S7QF8MBw {
tySequence__Qr6E8eH7btq79cFKGaJfGLw* data;
NI counter;
};
typedef NU8 tyArray__qtqsWM5aXmcpMIVmvq3kAA[16];
struct tyTuple__EkGTYRWQ6y9cppXTlT8Xm5g {
NI Field0;
tyArray__qtqsWM5aXmcpMIVmvq3kAA Field1;
tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ* Field2;
};
struct tyObject_Table__G1v8c16HePOldLeucwe05Q {
tySequence__fIB1rTQ55aFonoft9a9bmljQ* data;
NI counter;
};
struct tyTuple__OJFzEczluV8Jmo9bRpBfkzw {
NI Field0;
NI Field1;
tyArray__qtqsWM5aXmcpMIVmvq3kAA Field2;
};
struct tyObject_Table__0Y2brGGKD9bV6GJLXT9aUDgA {
tySequence__23SMqauuRsbDANhthj9bWlA* data;
NI counter;
};
struct tyTuple__2SGm9aGCXuo7XSQ9bqD29axXw {
NI Field0;
NimStringDesc* Field1;
tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* Field2;
};
struct tyObject_Table__NttoEzoiq5CiphZe81oadg {
tySequence__squ9b9bUH4OLHf6cEMrt6hVA* data;
NI counter;
};
struct tyTuple__F3gkSrMB1qp2Tvf9bixVXwg {
NI Field0;
NimStringDesc* Field1;
NI64 Field2;
};
struct tyObject_Table__nagDFX4QHx0s6Fvma9blmSg {
tySequence__pHNq3oXj9av2sEUdqaqeZjw* data;
NI counter;
};
struct tyObject_BTree__VZdzO0Tlflp7WMN4gS8oPg {
tyObject_NodecolonObjectType___dNELmBSmY7nthjhZupWO6g* root;
NI entries;
};
struct tyTuple__wcNatyuf8WOqAhGLhSvgiw {
NI Field0;
NimStringDesc* Field1;
tyObject_BTree__VZdzO0Tlflp7WMN4gS8oPg Field2;
};
struct RootObj {
TNimType* m_type;
};
struct Exception {
  RootObj Sup;
Exception* parent;
NCSTRING name;
NimStringDesc* message;
tySequence__uB9b75OUPRENsBAu4AnoePA* trace;
Exception* up;
};
struct tyObject_CatchableError__qrLSDoe2oBoAqNtJ9badtnA {
  Exception Sup;
};
struct tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw {
  tyObject_CatchableError__qrLSDoe2oBoAqNtJ9badtnA Sup;
};
struct tyObject_KeyError__t7nhKLvXTQS9cS8ByJU9bIag {
  tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw Sup;
};
struct tyObject_Table__Os4it9bmHnOQtsd5CqH09aRQ {
tySequence__hLW2w9a9bDM1AHB8BIrU3BYw* data;
NI counter;
};
struct tyTuple__YGgHblKlCINajXDZno8UTQ {
NI Field0;
NI Field1;
tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ* Field2;
};
struct tyObject_TIdObj__iIXPrEsiKHiioLj0HSkQhA {
  RootObj Sup;
NI id;
};
typedef NU8 tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag;
typedef NU8 tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA;
typedef NU64 tySet_tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw;
typedef tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w* tyArray__PsPyPA45AAjHu4uDGHNjTg[6];
typedef NU8 tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg;
typedef NU8 tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw;
typedef NU16 tySet_tyEnum_TLocFlag__o2bqJgR4ceIupnUSpxiudA;
struct tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA {
tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg k;
tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw storage;
tySet_tyEnum_TLocFlag__o2bqJgR4ceIupnUSpxiudA flags;
tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* lode;
tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* r;
};
struct tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ {
  tyObject_TIdObj__iIXPrEsiKHiioLj0HSkQhA Sup;
tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kind;
tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA callConv;
tySet_tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw flags;
tySequence__Ef05srmQTDulnBdXR4Ja6Q* sons;
tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n;
tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w* owner;
tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w* sym;
tyArray__PsPyPA45AAjHu4uDGHNjTg attachedOps;
tySequence__MvZmat48bhe9b6x9aUD58D5Q* methods;
NI64 size;
NI16 align;
NI16 paddingAtEnd;
NI16 lockLevel;
tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA loc;
tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ* typeInst;
NI uniqueId;
};
struct tyObject_Table__JrI9bTpOVccKpiJXKOskjFg {
tySequence__YuKuU17u5ApAIki23DK9bJw* data;
NI counter;
};
struct tyTuple__Wymbvuvlf49clEgp9bKoFN9bw {
NI Field0;
NI Field1;
tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* Field2;
};
typedef NU32 tySet_tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg;
typedef NU8 tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw;
struct tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw {
tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ* typ;
tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info;
tySet_tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg flags;
tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind;
union{
struct {NI64 intVal;
} _kind_1;
struct {NF floatVal;
} _kind_2;
struct {NimStringDesc* strVal;
} _kind_3;
struct {tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w* sym;
} _kind_4;
struct {tyObject_TIdent__GufRQq9c0miSybX3zBD4tyA* ident;
} _kind_5;
struct {tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ* sons;
} _kind_6;
};
NimStringDesc* comment;
};
struct tyObject_Table__7O9bs4LORhqcR0JGh7d1MDg {
tySequence__s12F9c4cKfaapm8VzG9a1flQ* data;
NI counter;
};
struct tyTuple__8jHm6IGDGecciKpp2bTNxA {
NI Field0;
NI64 Field1;
tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* Field2;
};
struct tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA {
NCSTRING procname;
NI line;
NCSTRING filename;
};
struct tyTuple__zwpS6d6iewrdlBSTNFoyVA {
NI Field0;
tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w* Field1;
};

/* section: NIM_merge_SEQ_TYPES */
struct tySequence__9chP3SzkaldXzawWQCDsqqg {
  TGenericSeq Sup;
  tyTuple__aGv2fk9ceddvdC01ZJC2Q2g data[SEQ_DECL_SIZE];
};
struct tySequence__7lEisrXlQEzwtUKW5pzRCw {
  TGenericSeq Sup;
  tyTuple__xYhUhS7X82rKTqbT9bRfCnw data[SEQ_DECL_SIZE];
};
struct tySequence__TXIV9cpS1nTKZLiCib9cPT4g {
  TGenericSeq Sup;
  tyTuple__ucLo1ofiZatslecSftPI2A data[SEQ_DECL_SIZE];
};
struct tySequence__48JTohSgTy339bRxHzUD8KA {
  TGenericSeq Sup;
  NI32 data[SEQ_DECL_SIZE];
};
struct tySequence__fdmz6VkIf1ewwrssKYqRFg {
  TGenericSeq Sup;
  tyTuple__1mtQ8sCEE7DbfIuQciv9b5Q data[SEQ_DECL_SIZE];
};
struct tySequence__kxu4GK0onha2t9bo86mdVAg {
  TGenericSeq Sup;
  tyTuple__xDU9bZmv1ZbZkJDaATBekIQ data[SEQ_DECL_SIZE];
};
struct tySequence__Qr6E8eH7btq79cFKGaJfGLw {
  TGenericSeq Sup;
  tyTuple__EkGTYRWQ6y9cppXTlT8Xm5g data[SEQ_DECL_SIZE];
};
struct tySequence__fIB1rTQ55aFonoft9a9bmljQ {
  TGenericSeq Sup;
  tyTuple__OJFzEczluV8Jmo9bRpBfkzw data[SEQ_DECL_SIZE];
};
struct tySequence__23SMqauuRsbDANhthj9bWlA {
  TGenericSeq Sup;
  tyTuple__2SGm9aGCXuo7XSQ9bqD29axXw data[SEQ_DECL_SIZE];
};
struct tySequence__squ9b9bUH4OLHf6cEMrt6hVA {
  TGenericSeq Sup;
  tyTuple__F3gkSrMB1qp2Tvf9bixVXwg data[SEQ_DECL_SIZE];
};
struct tySequence__pHNq3oXj9av2sEUdqaqeZjw {
  TGenericSeq Sup;
  tyTuple__wcNatyuf8WOqAhGLhSvgiw data[SEQ_DECL_SIZE];
};
struct tySequence__hLW2w9a9bDM1AHB8BIrU3BYw {
  TGenericSeq Sup;
  tyTuple__YGgHblKlCINajXDZno8UTQ data[SEQ_DECL_SIZE];
};
struct tySequence__YuKuU17u5ApAIki23DK9bJw {
  TGenericSeq Sup;
  tyTuple__Wymbvuvlf49clEgp9bKoFN9bw data[SEQ_DECL_SIZE];
};
struct tySequence__s12F9c4cKfaapm8VzG9a1flQ {
  TGenericSeq Sup;
  tyTuple__8jHm6IGDGecciKpp2bTNxA data[SEQ_DECL_SIZE];
};
struct tySequence__uB9b75OUPRENsBAu4AnoePA {
  TGenericSeq Sup;
  tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA data[SEQ_DECL_SIZE];
};
struct tySequence__Ef05srmQTDulnBdXR4Ja6Q {
  TGenericSeq Sup;
  tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ* data[SEQ_DECL_SIZE];
};
struct tySequence__MvZmat48bhe9b6x9aUD58D5Q {
  TGenericSeq Sup;
  tyTuple__zwpS6d6iewrdlBSTNFoyVA data[SEQ_DECL_SIZE];
};
struct tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ {
  TGenericSeq Sup;
  tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* data[SEQ_DECL_SIZE];
};

/* section: NIM_merge_PROC_HEADERS */
static N_INLINE(void, unsureAsgnRef)(void** dest, void* src);
static N_INLINE(NI, slotsNeeded__LvRw9cAKRC9b1pD3bnSd1DdAtables)(NI count);
N_LIB_PRIVATE N_NIMCALL(NI, nextPowerOfTwo__v2qC0V55wqa9bmqc7eHTz8A)(NI x);
static N_INLINE(NIM_BOOL*, nimErrorFlag)(void);
N_LIB_PRIVATE N_NIMCALL(void*, newSeq)(TNimType* typ, NI len);
static N_NIMCALL(void, Marker_tySequence__9chP3SzkaldXzawWQCDsqqg)(void* p, NI op);
static N_INLINE(NI, rawGet__pJC7JHVRNtUUDTiQZ8plCgtables)(tyObject_Table__GpIQt2f0xrasZObyH6X8bg t, void* key, NI* hc);
static N_INLINE(NI, hash__7gl3lTUUVpX34lnpKJqWSAhashes)(void* x);
static N_INLINE(NIM_BOOL, isFilled__5Qpmu5QqwDY0esVXn6wf7wtables)(NI hcode);
static N_INLINE(NI, nextTry__rkF6R1GhqjFh3qSAPaT2Cwtables)(NI h, NI maxHash);
static N_INLINE(NIM_BOOL, mustRehash__GCxEq9aIwNeW61R5709cAICAtables)(tyObject_Table__GpIQt2f0xrasZObyH6X8bg t);
N_LIB_PRIVATE N_NIMCALL(void, enlarge__nhw9bTVfE6OkiLzyZXzMd2g)(tyObject_Table__GpIQt2f0xrasZObyH6X8bg* t);
N_LIB_PRIVATE N_NIMCALL(void, rawInsert__LmaHS4VRBw21v38Bn9cFz9aw)(tyObject_Table__GpIQt2f0xrasZObyH6X8bg* t, tySequence__9chP3SzkaldXzawWQCDsqqg** data, void* key, NI val, NI hc, NI h);
static N_INLINE(NI, rawGetKnownHC__dnp0S0givr4a9aDtgzNUbswtables)(tyObject_Table__GpIQt2f0xrasZObyH6X8bg t, void* key, NI hc);
N_LIB_PRIVATE N_NIMCALL(void, nimGCvisit)(void* d, NI op);
static N_NIMCALL(void, Marker_tySequence__7lEisrXlQEzwtUKW5pzRCw)(void* p, NI op);
static N_NIMCALL(void, Marker_tySequence__TXIV9cpS1nTKZLiCib9cPT4g)(void* p, NI op);
static N_NIMCALL(void, Marker_tyRef__c9cu1Wn3L8QykVYwvBtxVTQ)(void* p, NI op);
N_LIB_PRIVATE N_NIMCALL(void*, newObj)(TNimType* typ, NI size);
N_LIB_PRIVATE N_NIMCALL(void, initTable__4MaLRRCV3xtzBJ7B6rKL3w)(NI initialSize, tyObject_Table__l6AB9cIrSdEYtCGu5YO9b61Q* Result);
static N_NIMCALL(void, Marker_tySequence__fdmz6VkIf1ewwrssKYqRFg)(void* p, NI op);
static N_NIMCALL(void, Marker_tySequence__kxu4GK0onha2t9bo86mdVAg)(void* p, NI op);
static N_NIMCALL(void, Marker_tySequence__Qr6E8eH7btq79cFKGaJfGLw)(void* p, NI op);
static N_NIMCALL(void, Marker_tySequence__fIB1rTQ55aFonoft9a9bmljQ)(void* p, NI op);
static N_NIMCALL(void, Marker_tySequence__23SMqauuRsbDANhthj9bWlA)(void* p, NI op);
static N_NIMCALL(void, Marker_tySequence__squ9b9bUH4OLHf6cEMrt6hVA)(void* p, NI op);
static N_NIMCALL(void, Marker_tySequence__pHNq3oXj9av2sEUdqaqeZjw)(void* p, NI op);
static N_INLINE(NI, rawGet__aseVP1phVqFWkLGjK22lyQtables)(tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA t, NimStringDesc* key, NI* hc);
N_LIB_PRIVATE N_NIMCALL(NI, hash__6PCYkKlCNhq9cnRLnqWKkwQ)(NimStringDesc* x);
static N_INLINE(NIM_BOOL, eqStrings)(NimStringDesc* a, NimStringDesc* b);
static N_INLINE(NIM_BOOL, equalMem__9bGgqEk7RXXl6eqM9c1HdELAsystem)(void* a, void* b, NI size);
static N_INLINE(int, nimCmpMem)(void* a, void* b, NI size);
static N_INLINE(void, appendString)(NimStringDesc* dest, NimStringDesc* src);
static N_INLINE(void, copyMem__i80o3k0SgEI5gTRCzYdyWAsystem)(void* dest, void* source, NI size);
static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, rawNewString)(NI space);
N_LIB_PRIVATE N_NIMCALL(void, raiseExceptionEx)(Exception* e, NCSTRING ename, NCSTRING procname, NCSTRING filename, NI line);
static N_INLINE(NIM_BOOL, mustRehash__JWT9bsg9c7yyIxio5aQg7uigtables)(tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA t);
N_LIB_PRIVATE N_NIMCALL(void, enlarge__P4cqx62gVTX9c2bQ9bXSUNLQ)(tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA* t);
N_LIB_PRIVATE N_NIMCALL(void, rawInsert__yQ7epY8a0RazcWyuwV5Ntg)(tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA* t, tySequence__7lEisrXlQEzwtUKW5pzRCw** data, NimStringDesc* key, NI32 val, NI hc, NI h);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, copyString)(NimStringDesc* src);
static N_INLINE(NI, rawGetKnownHC__HSQlXRmDev9cP9bGdOA5HsvQtables)(tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA t, NimStringDesc* key, NI hc);
static N_INLINE(NI, rawGet__VHL4jbXDU6F0885vBGFikgtables)(tyObject_Table__e2Ciu0s1q49aVQ7ULXy7l9bQ t, NI32 key, NI* hc);
static N_INLINE(NI, hash__ixIcN23Rzgwj4rjH9cMHDWQhashes)(NI32 x);
static N_INLINE(NI, hashWangYi1__AN9c8V1UY1ZE7b8ldNRftRQhashes)(NU64 x);
static N_INLINE(NU64, hiXorLo__wWqo9alrSZddOyokrApfNaQhashes)(NU64 a, NU64 b);
static N_INLINE(NIM_BOOL, mustRehash__p0SD9ac9cV70OflrgSip1TDgtables)(tyObject_Table__e2Ciu0s1q49aVQ7ULXy7l9bQ t);
N_LIB_PRIVATE N_NIMCALL(void, enlarge__WznuIAS2HbbgwoQgMlLNGA)(tyObject_Table__e2Ciu0s1q49aVQ7ULXy7l9bQ* t);
N_LIB_PRIVATE N_NIMCALL(void, rawInsert__wUVYiyWmQ9cvzc9aNVobHWfA)(tyObject_Table__e2Ciu0s1q49aVQ7ULXy7l9bQ* t, tySequence__kxu4GK0onha2t9bo86mdVAg** data, NI32 key, NI32 val, NI hc, NI h);
static N_INLINE(NI, rawGetKnownHC__WbZNr9ajY1NXktE9abGpy5rgtables)(tyObject_Table__e2Ciu0s1q49aVQ7ULXy7l9bQ t, NI32 key, NI hc);
static N_INLINE(NI, rawGet__QnNqXOulpiE3rTDm0rj6bgtables)(tyObject_Table__fdKWDDO1P17zvuQPReVgRA t, NI32 key, NI* hc);
static N_INLINE(NIM_BOOL, mustRehash__4hpuf9b9bexmHtlCuFvGGypwtables)(tyObject_Table__fdKWDDO1P17zvuQPReVgRA t);
N_LIB_PRIVATE N_NIMCALL(void, enlarge__8q9c9aCPUMM0w7HNF4dndgQg)(tyObject_Table__fdKWDDO1P17zvuQPReVgRA* t);
N_LIB_PRIVATE N_NIMCALL(void, rawInsert__IVJyWWnSh59cPztkOuQNV0g)(tyObject_Table__fdKWDDO1P17zvuQPReVgRA* t, tySequence__fdmz6VkIf1ewwrssKYqRFg** data, NI32 key, tySequence__48JTohSgTy339bRxHzUD8KA* val, NI hc, NI h);
N_LIB_PRIVATE N_NIMCALL(void, genericSeqAssign)(void* dest, void* src, TNimType* mt);
static N_INLINE(NI, rawGetKnownHC__4Fsb1T2VnPSV6oxoQiJufQtables)(tyObject_Table__fdKWDDO1P17zvuQPReVgRA t, NI32 key, NI hc);
static N_INLINE(NI, rawGet__8eLPyJNN6hcR50ctxeSkDgtables)(tyObject_Table__G1v8c16HePOldLeucwe05Q t, NI key, NI* hc);
static N_INLINE(NI, hash__aWv89bCLOibANstPF9bHQoyQhashes)(NI x);
static N_INLINE(NIM_BOOL, mustRehash__yfsonszRyw8UOuzQhTX8Jwtables)(tyObject_Table__G1v8c16HePOldLeucwe05Q t);
N_LIB_PRIVATE N_NIMCALL(void, enlarge__IhIQ7TfMuHBewVVmTQrOlQ)(tyObject_Table__G1v8c16HePOldLeucwe05Q* t);
N_LIB_PRIVATE N_NIMCALL(void, rawInsert__2E5CplI9bWrWY15XwFVf2bA)(tyObject_Table__G1v8c16HePOldLeucwe05Q* t, tySequence__fIB1rTQ55aFonoft9a9bmljQ** data, NI key, tyArray__qtqsWM5aXmcpMIVmvq3kAA val, NI hc, NI h);
static N_INLINE(void, nimZeroMem)(void* p, NI size);
static N_INLINE(void, nimSetMem__zxfKBYntu9cBapkhrCOk1fgmemory)(void* a, int v, NI size);
static N_INLINE(NI, rawGetKnownHC__UaWZNeEgUaDIcsfDXIvasAtables)(tyObject_Table__G1v8c16HePOldLeucwe05Q t, NI key, NI hc);
static N_NIMCALL(void, Marker_tySequence__hLW2w9a9bDM1AHB8BIrU3BYw)(void* p, NI op);
static N_INLINE(NI, rawGet__6JakEI68PBBdEMzqcwDJCAtables)(tyObject_Table__Os4it9bmHnOQtsd5CqH09aRQ t, NI key, NI* hc);
static N_INLINE(NIM_BOOL, mustRehash__YnVi9ccarQj2fmPjmGrkOUQtables)(tyObject_Table__Os4it9bmHnOQtsd5CqH09aRQ t);
N_LIB_PRIVATE N_NIMCALL(void, enlarge__e2mchzYwFdhwebJni6CqZg)(tyObject_Table__Os4it9bmHnOQtsd5CqH09aRQ* t);
N_LIB_PRIVATE N_NIMCALL(void, rawInsert__0NF4fuOYJP4YH8beRyMvWg)(tyObject_Table__Os4it9bmHnOQtsd5CqH09aRQ* t, tySequence__hLW2w9a9bDM1AHB8BIrU3BYw** data, NI key, tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ* val, NI hc, NI h);
static N_INLINE(NI, rawGetKnownHC__eNcUgWoz7pcvMX3xYaDRLgtables)(tyObject_Table__Os4it9bmHnOQtsd5CqH09aRQ t, NI key, NI hc);
static N_NIMCALL(void, Marker_tySequence__YuKuU17u5ApAIki23DK9bJw)(void* p, NI op);
static N_INLINE(NI, rawGet__aS7VMifwQ5UsdOtD1Dx7GAtables)(tyObject_Table__JrI9bTpOVccKpiJXKOskjFg t, NI key, NI* hc);
static N_INLINE(NIM_BOOL, mustRehash__FZslO537WT1reRaZVmizDQtables)(tyObject_Table__JrI9bTpOVccKpiJXKOskjFg t);
N_LIB_PRIVATE N_NIMCALL(void, enlarge__NZJD7XooFe3vwlZMQikupw)(tyObject_Table__JrI9bTpOVccKpiJXKOskjFg* t);
N_LIB_PRIVATE N_NIMCALL(void, rawInsert__zd631ggeGEiPTefqYEGpiA)(tyObject_Table__JrI9bTpOVccKpiJXKOskjFg* t, tySequence__YuKuU17u5ApAIki23DK9bJw** data, NI key, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* val, NI hc, NI h);
static N_INLINE(NI, rawGetKnownHC__abkoCGbCZlz6d4aa4hHxhgtables)(tyObject_Table__JrI9bTpOVccKpiJXKOskjFg t, NI key, NI hc);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nimIntToStr)(NI x);
static N_INLINE(NI, rawGet__UJsERo5BkViQH6ie2d9asaQtables)(tyObject_Table__IioUJGdqPI6xC7S7QF8MBw t, tyArray__qtqsWM5aXmcpMIVmvq3kAA key, NI* hc);
N_LIB_PRIVATE N_NIMCALL(NI, hash__XFPFecV5bGJUDhwku4bw7A)(tyArray__qtqsWM5aXmcpMIVmvq3kAA u);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, eqeq___76rDYGuUQDl2xSav8vUDiA)(tyArray__qtqsWM5aXmcpMIVmvq3kAA a, tyArray__qtqsWM5aXmcpMIVmvq3kAA b);
static N_INLINE(NIM_BOOL, mustRehash__czPJfvxxSt2pCWZYMPjskAtables)(tyObject_Table__IioUJGdqPI6xC7S7QF8MBw t);
N_LIB_PRIVATE N_NIMCALL(void, enlarge__wtlRvAPpfH5zwFZ6PVJ9bEw)(tyObject_Table__IioUJGdqPI6xC7S7QF8MBw* t);
N_LIB_PRIVATE N_NIMCALL(void, rawInsert__u9aJV4Xxo1Qv0WGIfVav9c2Q)(tyObject_Table__IioUJGdqPI6xC7S7QF8MBw* t, tySequence__Qr6E8eH7btq79cFKGaJfGLw** data, tyArray__qtqsWM5aXmcpMIVmvq3kAA key, tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ* val, NI hc, NI h);
static N_INLINE(NI, rawGetKnownHC__bT8cRF5uMfM8lc5JOL9baswtables)(tyObject_Table__IioUJGdqPI6xC7S7QF8MBw t, tyArray__qtqsWM5aXmcpMIVmvq3kAA key, NI hc);
static N_INLINE(NI, rawGet__3B39bms3hJS0Syhd7xxEULgtables)(tyObject_Table__NttoEzoiq5CiphZe81oadg t, NimStringDesc* key, NI* hc);
static N_INLINE(NIM_BOOL, mustRehash__KVLO3XLRu9btzF86gyyrOFwtables)(tyObject_Table__NttoEzoiq5CiphZe81oadg t);
N_LIB_PRIVATE N_NIMCALL(void, enlarge__Ia9aKwc9aYyF2xX8fakDniHw)(tyObject_Table__NttoEzoiq5CiphZe81oadg* t);
N_LIB_PRIVATE N_NIMCALL(void, rawInsert__XH2oBuEgDaY43m9bc9czCHzQ)(tyObject_Table__NttoEzoiq5CiphZe81oadg* t, tySequence__squ9b9bUH4OLHf6cEMrt6hVA** data, NimStringDesc* key, NI64 val, NI hc, NI h);
static N_INLINE(NI, rawGetKnownHC__A9bYZN6s9cFvr27D9aBNRZxQwtables)(tyObject_Table__NttoEzoiq5CiphZe81oadg t, NimStringDesc* key, NI hc);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasKey__tNDb8HX4Pcd05E6w80ngeA_2)(tyObject_Table__0Y2brGGKD9bV6GJLXT9aUDgA t, NimStringDesc* key);
static N_INLINE(NI, rawGet__SMyMIOHvYU9bKbIDA9aXa0CQtables)(tyObject_Table__0Y2brGGKD9bV6GJLXT9aUDgA t, NimStringDesc* key, NI* hc);
static N_INLINE(NIM_BOOL, mustRehash__VtDMB9bHz8P8P9bEROJFDiJgtables)(tyObject_Table__0Y2brGGKD9bV6GJLXT9aUDgA t);
N_LIB_PRIVATE N_NIMCALL(void, enlarge__6K1KMyIJ44JU1rDXMt00fQ)(tyObject_Table__0Y2brGGKD9bV6GJLXT9aUDgA* t);
N_LIB_PRIVATE N_NIMCALL(void, rawInsert__dphYj2K2cQV4c59cmH9bTrwQ)(tyObject_Table__0Y2brGGKD9bV6GJLXT9aUDgA* t, tySequence__23SMqauuRsbDANhthj9bWlA** data, NimStringDesc* key, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* val, NI hc, NI h);
static N_INLINE(NI, rawGetKnownHC__So4NwPMLEKibXtBM4tOfkQtables)(tyObject_Table__0Y2brGGKD9bV6GJLXT9aUDgA t, NimStringDesc* key, NI hc);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasKey__HJN1GCNkXuSaKainyv8E2w_2)(tyObject_Table__nagDFX4QHx0s6Fvma9blmSg t, NimStringDesc* key);
static N_INLINE(NI, rawGet__z5lyUFnYWNZgtnmQvNIG1Atables)(tyObject_Table__nagDFX4QHx0s6Fvma9blmSg t, NimStringDesc* key, NI* hc);
static N_INLINE(NIM_BOOL, mustRehash__CGa6FpBBVdStCo4ldGugWQtables)(tyObject_Table__nagDFX4QHx0s6Fvma9blmSg t);
N_LIB_PRIVATE N_NIMCALL(void, enlarge__xUzvAyBcVu9b8xJ84vmmdgg)(tyObject_Table__nagDFX4QHx0s6Fvma9blmSg* t);
N_LIB_PRIVATE N_NIMCALL(void, rawInsert__X9afgMwIB5o1VDnyZkF63LA)(tyObject_Table__nagDFX4QHx0s6Fvma9blmSg* t, tySequence__pHNq3oXj9av2sEUdqaqeZjw** data, NimStringDesc* key, tyObject_BTree__VZdzO0Tlflp7WMN4gS8oPg val, NI hc, NI h);
static N_INLINE(NI, rawGetKnownHC__TSpYtoROqC7475f9bg4iXugtables)(tyObject_Table__nagDFX4QHx0s6Fvma9blmSg t, NimStringDesc* key, NI hc);
static N_NIMCALL(void, Marker_tySequence__s12F9c4cKfaapm8VzG9a1flQ)(void* p, NI op);
static N_INLINE(NI, rawGet__WHgMCdcTgzDXYwrCU5rygAtables)(tyObject_Table__7O9bs4LORhqcR0JGh7d1MDg t, NI64 key, NI* hc);
static N_INLINE(NI, hash__sTYVuBLDBQbglYNxcT9bWrghashes)(NI64 x);
static N_INLINE(NIM_BOOL, mustRehash__T9cz0kw5vDbNDnfPWcSRNYgtables)(tyObject_Table__7O9bs4LORhqcR0JGh7d1MDg t);
N_LIB_PRIVATE N_NIMCALL(void, enlarge__eoqIM0Hd0SjhaY9cur9b4i8w)(tyObject_Table__7O9bs4LORhqcR0JGh7d1MDg* t);
N_LIB_PRIVATE N_NIMCALL(void, rawInsert__9bGCjjc8EMS6OJa9a9anUwMjg)(tyObject_Table__7O9bs4LORhqcR0JGh7d1MDg* t, tySequence__s12F9c4cKfaapm8VzG9a1flQ** data, NI64 key, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* val, NI hc, NI h);
static N_INLINE(NI, rawGetKnownHC__K1f7gLsHF5x79adahVjRo5Atables)(tyObject_Table__7O9bs4LORhqcR0JGh7d1MDg t, NI64 key, NI hc);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasKey__nQCg2DVRQn4zUR62WaaQ4w_2)(tyObject_Table__l6AB9cIrSdEYtCGu5YO9b61Q* t, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q key);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasKey__TdGhKsSaf9bmh8whPiEIOXw)(tyObject_Table__l6AB9cIrSdEYtCGu5YO9b61Q t, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q key);
static N_INLINE(NI, rawGet__KAHxhNAZHXtj35YPlFp3CQtables)(tyObject_Table__l6AB9cIrSdEYtCGu5YO9b61Q t, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q key, NI* hc);
N_LIB_PRIVATE N_NIMCALL(NI, hash__SGf1i29beSa89acqisuwMuyg)(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q i);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, eqeq___xg1zPyXc6cdWexuBqSObOw)(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q x, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q y);
N_LIB_PRIVATE N_NIMCALL(void, X5BX5Deq___V57ibkW7LIpBP9b9cMWfgk5A)(tyObject_Table__l6AB9cIrSdEYtCGu5YO9b61Q* t, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q key, tyObject_ProfileInfo__le1imru0p6WwvUctTtOlIw val);
static N_INLINE(NIM_BOOL, mustRehash__FjltqzJjpq9caBUDHyV2U6Qtables)(tyObject_Table__l6AB9cIrSdEYtCGu5YO9b61Q t);
N_LIB_PRIVATE N_NIMCALL(void, enlarge__llNZABVg9cHtGC9btjLPK9aQQ)(tyObject_Table__l6AB9cIrSdEYtCGu5YO9b61Q* t);
N_LIB_PRIVATE N_NIMCALL(void, rawInsert__P9bSe9aGji82m6txhxFz1wnw)(tyObject_Table__l6AB9cIrSdEYtCGu5YO9b61Q* t, tySequence__TXIV9cpS1nTKZLiCib9cPT4g** data, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q key, tyObject_ProfileInfo__le1imru0p6WwvUctTtOlIw val, NI hc, NI h);
static N_INLINE(NI, rawGetKnownHC__iEOEFa0YHvnmMvRiT9axDUwtables)(tyObject_Table__l6AB9cIrSdEYtCGu5YO9b61Q t, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q key, NI hc);
N_LIB_PRIVATE N_NIMCALL(tyObject_ProfileInfo__le1imru0p6WwvUctTtOlIw*, X5BX5D___DldrQjxt0iOBMCfnDHQJiQ)(tyObject_Table__l6AB9cIrSdEYtCGu5YO9b61Q* t, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q key);

/* section: NIM_merge_DATA */
N_LIB_PRIVATE TNimType NTI__aGv2fk9ceddvdC01ZJC2Q2g_;
extern TNimType NTI__rR5Bzr1D5krxoo1NcNyeMA_;
extern TNimType NTI__vr5DoT1jILTGdRlYv1OYpw_;
N_LIB_PRIVATE TNimType NTI__9chP3SzkaldXzawWQCDsqqg_;
N_LIB_PRIVATE TNimType NTI__Ab4q9c36aMR4mtkEOIBzdzA_;
N_LIB_PRIVATE TNimType NTI__xYhUhS7X82rKTqbT9bRfCnw_;
extern TNimType NTI__77mFvmsOLKik79ci2hXkHEg_;
extern TNimType NTI__sVg18TP9cLifHyygRe9cro9aA_;
N_LIB_PRIVATE TNimType NTI__7lEisrXlQEzwtUKW5pzRCw_;
N_LIB_PRIVATE TNimType NTI__l6AB9cIrSdEYtCGu5YO9b61Q_;
N_LIB_PRIVATE TNimType NTI__ucLo1ofiZatslecSftPI2A_;
extern TNimType NTI__WGx4rAexNXnczy1Avn646Q_;
extern TNimType NTI__le1imru0p6WwvUctTtOlIw_;
N_LIB_PRIVATE TNimType NTI__TXIV9cpS1nTKZLiCib9cPT4g_;
N_LIB_PRIVATE TNimType NTI__c9cu1Wn3L8QykVYwvBtxVTQ_;
N_LIB_PRIVATE TNimType NTI__fdKWDDO1P17zvuQPReVgRA_;
N_LIB_PRIVATE TNimType NTI__1mtQ8sCEE7DbfIuQciv9b5Q_;
extern TNimType NTI__48JTohSgTy339bRxHzUD8KA_;
N_LIB_PRIVATE TNimType NTI__fdmz6VkIf1ewwrssKYqRFg_;
N_LIB_PRIVATE TNimType NTI__e2Ciu0s1q49aVQ7ULXy7l9bQ_;
N_LIB_PRIVATE TNimType NTI__xDU9bZmv1ZbZkJDaATBekIQ_;
N_LIB_PRIVATE TNimType NTI__kxu4GK0onha2t9bo86mdVAg_;
N_LIB_PRIVATE TNimType NTI__IioUJGdqPI6xC7S7QF8MBw_;
N_LIB_PRIVATE TNimType NTI__EkGTYRWQ6y9cppXTlT8Xm5g_;
extern TNimType NTI__qtqsWM5aXmcpMIVmvq3kAA_;
extern TNimType NTI__AgIT5feFR9a9aoVjv9cx2rOtg_;
N_LIB_PRIVATE TNimType NTI__Qr6E8eH7btq79cFKGaJfGLw_;
N_LIB_PRIVATE TNimType NTI__G1v8c16HePOldLeucwe05Q_;
N_LIB_PRIVATE TNimType NTI__OJFzEczluV8Jmo9bRpBfkzw_;
N_LIB_PRIVATE TNimType NTI__fIB1rTQ55aFonoft9a9bmljQ_;
N_LIB_PRIVATE TNimType NTI__0Y2brGGKD9bV6GJLXT9aUDgA_;
N_LIB_PRIVATE TNimType NTI__2SGm9aGCXuo7XSQ9bqD29axXw_;
extern TNimType NTI__fKfcLzXYiz5jNu3NH3Tv8Q_;
N_LIB_PRIVATE TNimType NTI__23SMqauuRsbDANhthj9bWlA_;
N_LIB_PRIVATE TNimType NTI__NttoEzoiq5CiphZe81oadg_;
N_LIB_PRIVATE TNimType NTI__F3gkSrMB1qp2Tvf9bixVXwg_;
extern TNimType NTI__Aav8dQoMlCFnZRxA0IhTHQ_;
N_LIB_PRIVATE TNimType NTI__squ9b9bUH4OLHf6cEMrt6hVA_;
N_LIB_PRIVATE TNimType NTI__nagDFX4QHx0s6Fvma9blmSg_;
N_LIB_PRIVATE TNimType NTI__wcNatyuf8WOqAhGLhSvgiw_;
extern TNimType NTI__VZdzO0Tlflp7WMN4gS8oPg_;
N_LIB_PRIVATE TNimType NTI__pHNq3oXj9av2sEUdqaqeZjw_;
extern TNimType NTI__8SzoIAgLw9ci2v0yafHj9b6Q_;
extern TNimType NTI__t7nhKLvXTQS9cS8ByJU9bIag_;
STRING_LITERAL(TM__4SoG2KRQy3oMm9aUzSLtGrA_21, "key not found: ", 15);
N_LIB_PRIVATE TNimType NTI__YGgHblKlCINajXDZno8UTQ_;
N_LIB_PRIVATE TNimType NTI__hLW2w9a9bDM1AHB8BIrU3BYw_;
N_LIB_PRIVATE TNimType NTI__Wymbvuvlf49clEgp9bKoFN9bw_;
N_LIB_PRIVATE TNimType NTI__YuKuU17u5ApAIki23DK9bJw_;
N_LIB_PRIVATE TNimType NTI__8jHm6IGDGecciKpp2bTNxA_;
N_LIB_PRIVATE TNimType NTI__s12F9c4cKfaapm8VzG9a1flQ_;
STRING_LITERAL(TM__4SoG2KRQy3oMm9aUzSLtGrA_25, "key not found", 13);

/* section: NIM_merge_VARS */
extern NIM_BOOL nimInErrorMode__759bT87luu8XGcbkw13FUjA;

/* section: NIM_merge_PROCS */
static N_INLINE(void, unsureAsgnRef)(void** dest, void* src) {
	(*dest) = src;
}
static N_INLINE(NIM_BOOL*, nimErrorFlag)(void) {
	NIM_BOOL* result;
	result = (NIM_BOOL*)0;
	result = (&nimInErrorMode__759bT87luu8XGcbkw13FUjA);
	return result;
}
static N_INLINE(NI, slotsNeeded__LvRw9cAKRC9b1pD3bnSd1DdAtables)(NI count) {
	NI result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NI)0;
	result = nextPowerOfTwo__v2qC0V55wqa9bmqc7eHTz8A((NI)((NI)((NI)(((NI) (count)) * ((NI) 3)) / ((NI) 2)) + ((NI) 4)));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
static N_NIMCALL(void, Marker_tySequence__9chP3SzkaldXzawWQCDsqqg)(void* p, NI op) {
	tySequence__9chP3SzkaldXzawWQCDsqqg* a;
	NI T1_;
	a = (tySequence__9chP3SzkaldXzawWQCDsqqg*)p;
	T1_ = (NI)0;
}
N_LIB_PRIVATE N_NIMCALL(void, initTable__avINVlbIK12XSqjy8oSlzg)(NI initialSize, tyObject_Table__GpIQt2f0xrasZObyH6X8bg* Result) {
	NI correctSizeX60gensym131_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	unsureAsgnRef((void**)&(*Result).data, NIM_NIL);
	(*Result).counter = 0;
	correctSizeX60gensym131_ = slotsNeeded__LvRw9cAKRC9b1pD3bnSd1DdAtables(((NI) (initialSize)));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	(*Result).counter = ((NI) 0);
	(*Result).data = (tySequence__9chP3SzkaldXzawWQCDsqqg*) newSeq((&NTI__9chP3SzkaldXzawWQCDsqqg_), ((NI) (correctSizeX60gensym131_)));
	}BeforeRet_: ;
}
static N_INLINE(NI, hash__7gl3lTUUVpX34lnpKJqWSAhashes)(void* x) {
	NI result;
	result = (NI)0;
	result = ((NI) ((NU)((NU64)(((NU) (ptrdiff_t) (x))) >> (NU64)(((NI) 3)))));
	return result;
}
static N_INLINE(NIM_BOOL, isFilled__5Qpmu5QqwDY0esVXn6wf7wtables)(NI hcode) {
	NIM_BOOL result;
	result = (NIM_BOOL)0;
	result = !((hcode == ((NI) 0)));
	return result;
}
static N_INLINE(NI, nextTry__rkF6R1GhqjFh3qSAPaT2Cwtables)(NI h, NI maxHash) {
	NI result;
	result = (NI)0;
	result = (NI)((NI)(h + ((NI) 1)) & maxHash);
	return result;
}
static N_INLINE(NI, rawGet__pJC7JHVRNtUUDTiQZ8plCgtables)(tyObject_Table__GpIQt2f0xrasZObyH6X8bg t, void* key, NI* hc) {
	NI result;
	NI T1_;
	NI h;
	NI T11_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NI)0;
	T1_ = (NI)0;
	T1_ = hash__7gl3lTUUVpX34lnpKJqWSAhashes(key);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	(*hc) = T1_;
	{
		if (!((*hc) == ((NI) 0))) goto LA4_;
		(*hc) = ((NI) 314159265);
	}
	LA4_: ;
	{
		NI T8_;
		T8_ = (t.data ? t.data->Sup.len : 0);
		if (!(T8_ == ((NI) 0))) goto LA9_;
		result = ((NI) -1);
		goto BeforeRet_;
	}
	LA9_: ;
	T11_ = ((t.data ? t.data->Sup.len : 0)-1);
	h = (NI)((*hc) & T11_);
	{
		while (1) {
			NIM_BOOL T14_;
			NI T21_;
			T14_ = (NIM_BOOL)0;
			T14_ = isFilled__5Qpmu5QqwDY0esVXn6wf7wtables(t.data->data[h].Field0);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (!T14_) goto LA13;
			{
				NIM_BOOL T17_;
				T17_ = (NIM_BOOL)0;
				T17_ = (t.data->data[h].Field0 == (*hc));
				if (!(T17_)) goto LA18_;
				T17_ = (t.data->data[h].Field1 == key);
				LA18_: ;
				if (!T17_) goto LA19_;
				result = h;
				goto BeforeRet_;
			}
			LA19_: ;
			T21_ = ((t.data ? t.data->Sup.len : 0)-1);
			h = nextTry__rkF6R1GhqjFh3qSAPaT2Cwtables(h, T21_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		} LA13: ;
	}
	result = (NI)(((NI) -1) - h);
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NI, getOrDefault__ucLvuteXMiAMAvKs77J1uw)(tyObject_Table__GpIQt2f0xrasZObyH6X8bg t, void* key, NI default_0) {
	NI result;
	NI hcX60gensym95_;
	NI indexX60gensym95_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NI)0;
	hcX60gensym95_ = (NI)0;
	indexX60gensym95_ = rawGet__pJC7JHVRNtUUDTiQZ8plCgtables(t, key, (&hcX60gensym95_));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		if (!(((NI) 0) <= indexX60gensym95_)) goto LA3_;
		result = t.data->data[indexX60gensym95_].Field2;
	}
	goto LA1_;
	LA3_: ;
	{
		result = default_0;
	}
	LA1_: ;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NIM_BOOL, mustRehash__GCxEq9aIwNeW61R5709cAICAtables)(tyObject_Table__GpIQt2f0xrasZObyH6X8bg t) {
	NIM_BOOL result;
	NIM_BOOL T1_;
	NI T2_;
	NI T4_;
	result = (NIM_BOOL)0;
	T1_ = (NIM_BOOL)0;
	T2_ = (t.data ? t.data->Sup.len : 0);
	T1_ = ((NI)(T2_ * ((NI) 2)) < (NI)(t.counter * ((NI) 3)));
	if (T1_) goto LA3_;
	T4_ = (t.data ? t.data->Sup.len : 0);
	T1_ = ((NI)(T4_ - t.counter) < ((NI) 4));
	LA3_: ;
	result = T1_;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, rawInsert__LmaHS4VRBw21v38Bn9cFz9aw)(tyObject_Table__GpIQt2f0xrasZObyH6X8bg* t, tySequence__9chP3SzkaldXzawWQCDsqqg** data, void* key, NI val, NI hc, NI h) {
	(*data)->data[h].Field1 = key;
	(*data)->data[h].Field2 = val;
	(*data)->data[h].Field0 = hc;
}
N_LIB_PRIVATE N_NIMCALL(void, enlarge__nhw9bTVfE6OkiLzyZXzMd2g)(tyObject_Table__GpIQt2f0xrasZObyH6X8bg* t) {
	tySequence__9chP3SzkaldXzawWQCDsqqg* n;
	NI T1_;
	tySequence__9chP3SzkaldXzawWQCDsqqg* T2_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	n = (tySequence__9chP3SzkaldXzawWQCDsqqg*)0;
	T1_ = ((*t).data ? (*t).data->Sup.len : 0);
	n = (tySequence__9chP3SzkaldXzawWQCDsqqg*) newSeq((&NTI__9chP3SzkaldXzawWQCDsqqg_), ((NI) ((NI)(T1_ * ((NI) 2)))));
	T2_ = (tySequence__9chP3SzkaldXzawWQCDsqqg*)0;
	T2_ = (*t).data;
	(*t).data = n;
	n = T2_;
	{
		NI i;
		NI colontmp_;
		NI T4_;
		NI res;
		i = (NI)0;
		colontmp_ = (NI)0;
		T4_ = ((n ? n->Sup.len : 0)-1);
		colontmp_ = T4_;
		res = ((NI) 0);
		{
			while (1) {
				NI eh;
				if (!(res <= colontmp_)) goto LA6;
				i = res;
				eh = n->data[i].Field0;
				{
					NIM_BOOL T9_;
					NI j;
					NI T12_;
					tyObject_Table__GpIQt2f0xrasZObyH6X8bg* T17_;
					void* T18_;
					void* T19_;
					NI T20_;
					T9_ = (NIM_BOOL)0;
					T9_ = isFilled__5Qpmu5QqwDY0esVXn6wf7wtables(eh);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					if (!T9_) goto LA10_;
					T12_ = (((*t).data ? (*t).data->Sup.len : 0)-1);
					j = (NI)(eh & T12_);
					{
						while (1) {
							NIM_BOOL T15_;
							NI T16_;
							T15_ = (NIM_BOOL)0;
							T15_ = isFilled__5Qpmu5QqwDY0esVXn6wf7wtables((*t).data->data[j].Field0);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
							if (!T15_) goto LA14;
							T16_ = (((*t).data ? (*t).data->Sup.len : 0)-1);
							j = nextTry__rkF6R1GhqjFh3qSAPaT2Cwtables(j, T16_);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						} LA14: ;
					}
					T17_ = (tyObject_Table__GpIQt2f0xrasZObyH6X8bg*)0;
					T17_ = t;
					T18_ = (void*)0;
					T18_ = n->data[i].Field1;
					n->data[i].Field1 = 0;
					T19_ = (void*)0;
					T19_ = T18_;
					T20_ = (NI)0;
					T20_ = n->data[i].Field2;
					n->data[i].Field2 = 0;
					rawInsert__LmaHS4VRBw21v38Bn9cFz9aw(T17_, (&(*t).data), T19_, T20_, eh, j);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				}
				LA10_: ;
				res += ((NI) 1);
			} LA6: ;
		}
	}
	}BeforeRet_: ;
}
static N_INLINE(NI, rawGetKnownHC__dnp0S0givr4a9aDtgzNUbswtables)(tyObject_Table__GpIQt2f0xrasZObyH6X8bg t, void* key, NI hc) {
	NI result;
	NI h;
	NI T6_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NI)0;
	{
		NI T3_;
		T3_ = (t.data ? t.data->Sup.len : 0);
		if (!(T3_ == ((NI) 0))) goto LA4_;
		result = ((NI) -1);
		goto BeforeRet_;
	}
	LA4_: ;
	T6_ = ((t.data ? t.data->Sup.len : 0)-1);
	h = (NI)(hc & T6_);
	{
		while (1) {
			NIM_BOOL T9_;
			NI T16_;
			T9_ = (NIM_BOOL)0;
			T9_ = isFilled__5Qpmu5QqwDY0esVXn6wf7wtables(t.data->data[h].Field0);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (!T9_) goto LA8;
			{
				NIM_BOOL T12_;
				T12_ = (NIM_BOOL)0;
				T12_ = (t.data->data[h].Field0 == hc);
				if (!(T12_)) goto LA13_;
				T12_ = (t.data->data[h].Field1 == key);
				LA13_: ;
				if (!T12_) goto LA14_;
				result = h;
				goto BeforeRet_;
			}
			LA14_: ;
			T16_ = ((t.data ? t.data->Sup.len : 0)-1);
			h = nextTry__rkF6R1GhqjFh3qSAPaT2Cwtables(h, T16_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		} LA8: ;
	}
	result = (NI)(((NI) -1) - h);
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, X5BX5Deq___7nUN9bEb8it8esEzVF54z3Q)(tyObject_Table__GpIQt2f0xrasZObyH6X8bg* t, void* key, NI val) {
	NI hc;
	NI index;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		NI T3_;
		NI correctSizeX60gensym100_;
		T3_ = ((*t).data ? (*t).data->Sup.len : 0);
		if (!(T3_ == ((NI) 0))) goto LA4_;
		correctSizeX60gensym100_ = slotsNeeded__LvRw9cAKRC9b1pD3bnSd1DdAtables(((NI) 32));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		(*t).counter = ((NI) 0);
		(*t).data = (tySequence__9chP3SzkaldXzawWQCDsqqg*) newSeq((&NTI__9chP3SzkaldXzawWQCDsqqg_), ((NI) (correctSizeX60gensym100_)));
	}
	LA4_: ;
	hc = (NI)0;
	index = rawGet__pJC7JHVRNtUUDTiQZ8plCgtables((*t), key, (&hc));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		if (!(((NI) 0) <= index)) goto LA8_;
		(*t).data->data[index].Field2 = val;
	}
	goto LA6_;
	LA8_: ;
	{
		tyObject_Table__GpIQt2f0xrasZObyH6X8bg* T21_;
		{
			NI T13_;
			NI correctSizeX60gensym103_;
			T13_ = ((*t).data ? (*t).data->Sup.len : 0);
			if (!(T13_ == ((NI) 0))) goto LA14_;
			correctSizeX60gensym103_ = slotsNeeded__LvRw9cAKRC9b1pD3bnSd1DdAtables(((NI) 32));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			(*t).counter = ((NI) 0);
			(*t).data = (tySequence__9chP3SzkaldXzawWQCDsqqg*) newSeq((&NTI__9chP3SzkaldXzawWQCDsqqg_), ((NI) (correctSizeX60gensym103_)));
		}
		LA14_: ;
		{
			NIM_BOOL T18_;
			T18_ = (NIM_BOOL)0;
			T18_ = mustRehash__GCxEq9aIwNeW61R5709cAICAtables((*t));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (!T18_) goto LA19_;
			enlarge__nhw9bTVfE6OkiLzyZXzMd2g(t);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			index = rawGetKnownHC__dnp0S0givr4a9aDtgzNUbswtables((*t), key, hc);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		LA19_: ;
		index = (NI)(((NI) -1) - index);
		T21_ = (tyObject_Table__GpIQt2f0xrasZObyH6X8bg*)0;
		T21_ = t;
		rawInsert__LmaHS4VRBw21v38Bn9cFz9aw(T21_, (&(*t).data), key, val, hc, index);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		(*t).counter += ((NI) 1);
	}
	LA6_: ;
	}BeforeRet_: ;
}
static N_NIMCALL(void, Marker_tySequence__7lEisrXlQEzwtUKW5pzRCw)(void* p, NI op) {
	tySequence__7lEisrXlQEzwtUKW5pzRCw* a;
	NI T1_;
	a = (tySequence__7lEisrXlQEzwtUKW5pzRCw*)p;
	T1_ = (NI)0;
	for (T1_ = 0; T1_ < (a ? a->Sup.len : 0); T1_++) {
	nimGCvisit((void*)a->data[T1_].Field1, op);
	}
}
static N_NIMCALL(void, Marker_tySequence__TXIV9cpS1nTKZLiCib9cPT4g)(void* p, NI op) {
	tySequence__TXIV9cpS1nTKZLiCib9cPT4g* a;
	NI T1_;
	a = (tySequence__TXIV9cpS1nTKZLiCib9cPT4g*)p;
	T1_ = (NI)0;
}
static N_NIMCALL(void, Marker_tyRef__c9cu1Wn3L8QykVYwvBtxVTQ)(void* p, NI op) {
	tyObject_Table__l6AB9cIrSdEYtCGu5YO9b61Q* a;
	a = (tyObject_Table__l6AB9cIrSdEYtCGu5YO9b61Q*)p;
	nimGCvisit((void*)(*a).data, op);
}
N_LIB_PRIVATE N_NIMCALL(void, initTable__14glhEbpv2WXsBQ7EIe6aQ)(NI initialSize, tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA* Result) {
	NI correctSizeX60gensym6_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	unsureAsgnRef((void**)&(*Result).data, NIM_NIL);
	(*Result).counter = 0;
	correctSizeX60gensym6_ = slotsNeeded__LvRw9cAKRC9b1pD3bnSd1DdAtables(((NI) (initialSize)));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	(*Result).counter = ((NI) 0);
	(*Result).data = (tySequence__7lEisrXlQEzwtUKW5pzRCw*) newSeq((&NTI__7lEisrXlQEzwtUKW5pzRCw_), ((NI) (correctSizeX60gensym6_)));
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, initTable__4MaLRRCV3xtzBJ7B6rKL3w)(NI initialSize, tyObject_Table__l6AB9cIrSdEYtCGu5YO9b61Q* Result) {
	NI correctSizeX60gensym10_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	unsureAsgnRef((void**)&(*Result).data, NIM_NIL);
	(*Result).counter = 0;
	correctSizeX60gensym10_ = slotsNeeded__LvRw9cAKRC9b1pD3bnSd1DdAtables(((NI) (initialSize)));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	(*Result).counter = ((NI) 0);
	(*Result).data = (tySequence__TXIV9cpS1nTKZLiCib9cPT4g*) newSeq((&NTI__TXIV9cpS1nTKZLiCib9cPT4g_), ((NI) (correctSizeX60gensym10_)));
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_Table__l6AB9cIrSdEYtCGu5YO9b61Q*, newTable__088QQ41uktX3YsfbBrbfpA)(NI initialSize) {
	tyObject_Table__l6AB9cIrSdEYtCGu5YO9b61Q* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (tyObject_Table__l6AB9cIrSdEYtCGu5YO9b61Q*)0;
	result = (tyObject_Table__l6AB9cIrSdEYtCGu5YO9b61Q*) newObj((&NTI__c9cu1Wn3L8QykVYwvBtxVTQ_), sizeof(tyObject_Table__l6AB9cIrSdEYtCGu5YO9b61Q));
	initTable__4MaLRRCV3xtzBJ7B6rKL3w(initialSize, (&(*result)));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
static N_NIMCALL(void, Marker_tySequence__fdmz6VkIf1ewwrssKYqRFg)(void* p, NI op) {
	tySequence__fdmz6VkIf1ewwrssKYqRFg* a;
	NI T1_;
	a = (tySequence__fdmz6VkIf1ewwrssKYqRFg*)p;
	T1_ = (NI)0;
	for (T1_ = 0; T1_ < (a ? a->Sup.len : 0); T1_++) {
	nimGCvisit((void*)a->data[T1_].Field2, op);
	}
}
static N_NIMCALL(void, Marker_tySequence__kxu4GK0onha2t9bo86mdVAg)(void* p, NI op) {
	tySequence__kxu4GK0onha2t9bo86mdVAg* a;
	NI T1_;
	a = (tySequence__kxu4GK0onha2t9bo86mdVAg*)p;
	T1_ = (NI)0;
}
static N_NIMCALL(void, Marker_tySequence__Qr6E8eH7btq79cFKGaJfGLw)(void* p, NI op) {
	tySequence__Qr6E8eH7btq79cFKGaJfGLw* a;
	NI T1_;
	NI T2_;
	a = (tySequence__Qr6E8eH7btq79cFKGaJfGLw*)p;
	T1_ = (NI)0;
	for (T1_ = 0; T1_ < (a ? a->Sup.len : 0); T1_++) {
	T2_ = (NI)0;
	nimGCvisit((void*)a->data[T1_].Field2, op);
	}
}
static N_NIMCALL(void, Marker_tySequence__fIB1rTQ55aFonoft9a9bmljQ)(void* p, NI op) {
	tySequence__fIB1rTQ55aFonoft9a9bmljQ* a;
	NI T1_;
	NI T2_;
	a = (tySequence__fIB1rTQ55aFonoft9a9bmljQ*)p;
	T1_ = (NI)0;
	for (T1_ = 0; T1_ < (a ? a->Sup.len : 0); T1_++) {
	T2_ = (NI)0;
	}
}
static N_NIMCALL(void, Marker_tySequence__23SMqauuRsbDANhthj9bWlA)(void* p, NI op) {
	tySequence__23SMqauuRsbDANhthj9bWlA* a;
	NI T1_;
	a = (tySequence__23SMqauuRsbDANhthj9bWlA*)p;
	T1_ = (NI)0;
	for (T1_ = 0; T1_ < (a ? a->Sup.len : 0); T1_++) {
	nimGCvisit((void*)a->data[T1_].Field1, op);
	nimGCvisit((void*)a->data[T1_].Field2, op);
	}
}
static N_NIMCALL(void, Marker_tySequence__squ9b9bUH4OLHf6cEMrt6hVA)(void* p, NI op) {
	tySequence__squ9b9bUH4OLHf6cEMrt6hVA* a;
	NI T1_;
	a = (tySequence__squ9b9bUH4OLHf6cEMrt6hVA*)p;
	T1_ = (NI)0;
	for (T1_ = 0; T1_ < (a ? a->Sup.len : 0); T1_++) {
	nimGCvisit((void*)a->data[T1_].Field1, op);
	}
}
static N_NIMCALL(void, Marker_tySequence__pHNq3oXj9av2sEUdqaqeZjw)(void* p, NI op) {
	tySequence__pHNq3oXj9av2sEUdqaqeZjw* a;
	NI T1_;
	a = (tySequence__pHNq3oXj9av2sEUdqaqeZjw*)p;
	T1_ = (NI)0;
	for (T1_ = 0; T1_ < (a ? a->Sup.len : 0); T1_++) {
	nimGCvisit((void*)a->data[T1_].Field1, op);
	nimGCvisit((void*)a->data[T1_].Field2.root, op);
	}
}
N_LIB_PRIVATE N_NIMCALL(void, initTable__w3hW0l8agm6xMv9afJe9aiRw)(NI initialSize, tyObject_Table__fdKWDDO1P17zvuQPReVgRA* Result) {
	NI correctSizeX60gensym1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	unsureAsgnRef((void**)&(*Result).data, NIM_NIL);
	(*Result).counter = 0;
	correctSizeX60gensym1_ = slotsNeeded__LvRw9cAKRC9b1pD3bnSd1DdAtables(((NI) (initialSize)));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	(*Result).counter = ((NI) 0);
	(*Result).data = (tySequence__fdmz6VkIf1ewwrssKYqRFg*) newSeq((&NTI__fdmz6VkIf1ewwrssKYqRFg_), ((NI) (correctSizeX60gensym1_)));
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, initTable__CaVonymNJD1dGAhApMbV2g)(NI initialSize, tyObject_Table__e2Ciu0s1q49aVQ7ULXy7l9bQ* Result) {
	NI correctSizeX60gensym3_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	unsureAsgnRef((void**)&(*Result).data, NIM_NIL);
	(*Result).counter = 0;
	correctSizeX60gensym3_ = slotsNeeded__LvRw9cAKRC9b1pD3bnSd1DdAtables(((NI) (initialSize)));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	(*Result).counter = ((NI) 0);
	(*Result).data = (tySequence__kxu4GK0onha2t9bo86mdVAg*) newSeq((&NTI__kxu4GK0onha2t9bo86mdVAg_), ((NI) (correctSizeX60gensym3_)));
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, initTable__nbdg1XkakWibhw6meLxFVg)(NI initialSize, tyObject_Table__0Y2brGGKD9bV6GJLXT9aUDgA* Result) {
	NI correctSizeX60gensym6_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	unsureAsgnRef((void**)&(*Result).data, NIM_NIL);
	(*Result).counter = 0;
	correctSizeX60gensym6_ = slotsNeeded__LvRw9cAKRC9b1pD3bnSd1DdAtables(((NI) (initialSize)));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	(*Result).counter = ((NI) 0);
	(*Result).data = (tySequence__23SMqauuRsbDANhthj9bWlA*) newSeq((&NTI__23SMqauuRsbDANhthj9bWlA_), ((NI) (correctSizeX60gensym6_)));
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, initTable__2gDElK9agmPOHa6UVPYygZg)(NI initialSize, tyObject_Table__NttoEzoiq5CiphZe81oadg* Result) {
	NI correctSizeX60gensym8_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	unsureAsgnRef((void**)&(*Result).data, NIM_NIL);
	(*Result).counter = 0;
	correctSizeX60gensym8_ = slotsNeeded__LvRw9cAKRC9b1pD3bnSd1DdAtables(((NI) (initialSize)));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	(*Result).counter = ((NI) 0);
	(*Result).data = (tySequence__squ9b9bUH4OLHf6cEMrt6hVA*) newSeq((&NTI__squ9b9bUH4OLHf6cEMrt6hVA_), ((NI) (correctSizeX60gensym8_)));
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, initTable__Qp2wzR51fqIFP8LjGKEktQ)(NI initialSize, tyObject_Table__nagDFX4QHx0s6Fvma9blmSg* Result) {
	NI correctSizeX60gensym10_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	unsureAsgnRef((void**)&(*Result).data, NIM_NIL);
	(*Result).counter = 0;
	correctSizeX60gensym10_ = slotsNeeded__LvRw9cAKRC9b1pD3bnSd1DdAtables(((NI) (initialSize)));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	(*Result).counter = ((NI) 0);
	(*Result).data = (tySequence__pHNq3oXj9av2sEUdqaqeZjw*) newSeq((&NTI__pHNq3oXj9av2sEUdqaqeZjw_), ((NI) (correctSizeX60gensym10_)));
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, initTable__SkNpgL9chjNeAljrvOTzV2Q)(NI initialSize, tyObject_Table__IioUJGdqPI6xC7S7QF8MBw* Result) {
	NI correctSizeX60gensym12_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	unsureAsgnRef((void**)&(*Result).data, NIM_NIL);
	(*Result).counter = 0;
	correctSizeX60gensym12_ = slotsNeeded__LvRw9cAKRC9b1pD3bnSd1DdAtables(((NI) (initialSize)));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	(*Result).counter = ((NI) 0);
	(*Result).data = (tySequence__Qr6E8eH7btq79cFKGaJfGLw*) newSeq((&NTI__Qr6E8eH7btq79cFKGaJfGLw_), ((NI) (correctSizeX60gensym12_)));
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, initTable__DqzDsZYrt3ZYs1snAP7Uqw)(NI initialSize, tyObject_Table__G1v8c16HePOldLeucwe05Q* Result) {
	NI correctSizeX60gensym14_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	unsureAsgnRef((void**)&(*Result).data, NIM_NIL);
	(*Result).counter = 0;
	correctSizeX60gensym14_ = slotsNeeded__LvRw9cAKRC9b1pD3bnSd1DdAtables(((NI) (initialSize)));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	(*Result).counter = ((NI) 0);
	(*Result).data = (tySequence__fIB1rTQ55aFonoft9a9bmljQ*) newSeq((&NTI__fIB1rTQ55aFonoft9a9bmljQ_), ((NI) (correctSizeX60gensym14_)));
	}BeforeRet_: ;
}
static N_INLINE(int, nimCmpMem)(void* a, void* b, NI size) {
	int result;
	result = (int)0;
	result = memcmp(a, b, ((size_t) (size)));
	return result;
}
static N_INLINE(NIM_BOOL, equalMem__9bGgqEk7RXXl6eqM9c1HdELAsystem)(void* a, void* b, NI size) {
	NIM_BOOL result;
	int T1_;
	result = (NIM_BOOL)0;
	T1_ = (int)0;
	T1_ = nimCmpMem(a, b, size);
	result = (T1_ == ((NI32) 0));
	return result;
}
static N_INLINE(NIM_BOOL, eqStrings)(NimStringDesc* a, NimStringDesc* b) {
	NIM_BOOL result;
	NI alen;
	NI blen;
{	result = (NIM_BOOL)0;
	alen = (a ? a->Sup.len : 0);
	blen = (b ? b->Sup.len : 0);
	{
		if (!(alen == blen)) goto LA3_;
		{
			if (!(alen == ((NI) 0))) goto LA7_;
			result = NIM_TRUE;
			goto BeforeRet_;
		}
		LA7_: ;
		result = equalMem__9bGgqEk7RXXl6eqM9c1HdELAsystem(((void*) ((&a->data[((NI) 0)]))), ((void*) ((&b->data[((NI) 0)]))), ((NI) (alen)));
		goto BeforeRet_;
	}
	LA3_: ;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NI, rawGet__aseVP1phVqFWkLGjK22lyQtables)(tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA t, NimStringDesc* key, NI* hc) {
	NI result;
	NI T1_;
	NI h;
	NI T11_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NI)0;
	T1_ = (NI)0;
	T1_ = hash__6PCYkKlCNhq9cnRLnqWKkwQ(key);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	(*hc) = T1_;
	{
		if (!((*hc) == ((NI) 0))) goto LA4_;
		(*hc) = ((NI) 314159265);
	}
	LA4_: ;
	{
		NI T8_;
		T8_ = (t.data ? t.data->Sup.len : 0);
		if (!(T8_ == ((NI) 0))) goto LA9_;
		result = ((NI) -1);
		goto BeforeRet_;
	}
	LA9_: ;
	T11_ = ((t.data ? t.data->Sup.len : 0)-1);
	h = (NI)((*hc) & T11_);
	{
		while (1) {
			NIM_BOOL T14_;
			NI T21_;
			T14_ = (NIM_BOOL)0;
			T14_ = isFilled__5Qpmu5QqwDY0esVXn6wf7wtables(t.data->data[h].Field0);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (!T14_) goto LA13;
			{
				NIM_BOOL T17_;
				T17_ = (NIM_BOOL)0;
				T17_ = (t.data->data[h].Field0 == (*hc));
				if (!(T17_)) goto LA18_;
				T17_ = eqStrings(t.data->data[h].Field1, key);
				LA18_: ;
				if (!T17_) goto LA19_;
				result = h;
				goto BeforeRet_;
			}
			LA19_: ;
			T21_ = ((t.data ? t.data->Sup.len : 0)-1);
			h = nextTry__rkF6R1GhqjFh3qSAPaT2Cwtables(h, T21_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		} LA13: ;
	}
	result = (NI)(((NI) -1) - h);
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasKey__V2bna9aem30Wfb1MT9bSnPzQ)(tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA t, NimStringDesc* key) {
	NIM_BOOL result;
	NI hc;
	NI T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NIM_BOOL)0;
	hc = (NI)0;
	T1_ = (NI)0;
	T1_ = rawGet__aseVP1phVqFWkLGjK22lyQtables(t, key, (&hc));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	result = (((NI) 0) <= T1_);
	}BeforeRet_: ;
	return result;
}
static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size) {
	void* T1_;
	T1_ = (void*)0;
	T1_ = memcpy(dest, source, ((size_t) (size)));
}
static N_INLINE(void, copyMem__i80o3k0SgEI5gTRCzYdyWAsystem)(void* dest, void* source, NI size) {
	nimCopyMem(dest, source, size);
}
static N_INLINE(void, appendString)(NimStringDesc* dest, NimStringDesc* src) {
	{
		void* T5_;
		void* T6_;
		if (!!((src == NIM_NIL))) goto LA3_;
		T5_ = (void*)0;
		T5_ = ((void*) ((&(*dest).data[(*dest).Sup.len])));
		T6_ = (void*)0;
		T6_ = ((void*) ((*src).data));
		copyMem__i80o3k0SgEI5gTRCzYdyWAsystem(T5_, T6_, ((NI) ((NI)((*src).Sup.len + ((NI) 1)))));
		(*dest).Sup.len += (*src).Sup.len;
	}
	LA3_: ;
}
N_LIB_PRIVATE N_NIMCALL(NI32*, X5BX5D___cYD9bwEY2FvxLm9bWq5KUhtA)(tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA* t, NimStringDesc* key) {
	NI32* result;
	NI hcX60gensym22_;
	NI indexX60gensym22_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NI32*)0;
	hcX60gensym22_ = (NI)0;
	indexX60gensym22_ = rawGet__aseVP1phVqFWkLGjK22lyQtables((*t), key, (&hcX60gensym22_));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		if (!(((NI) 0) <= indexX60gensym22_)) goto LA3_;
		result = (&(*t).data->data[indexX60gensym22_].Field2);
	}
	goto LA1_;
	LA3_: ;
	{
		tyObject_KeyError__t7nhKLvXTQS9cS8ByJU9bIag* T6_;
		NimStringDesc* T7_;
		T6_ = (tyObject_KeyError__t7nhKLvXTQS9cS8ByJU9bIag*)0;
		T6_ = (tyObject_KeyError__t7nhKLvXTQS9cS8ByJU9bIag*) newObj((&NTI__8SzoIAgLw9ci2v0yafHj9b6Q_), sizeof(tyObject_KeyError__t7nhKLvXTQS9cS8ByJU9bIag));
		(*T6_).Sup.Sup.Sup.Sup.m_type = (&NTI__t7nhKLvXTQS9cS8ByJU9bIag_);
		(*T6_).Sup.Sup.Sup.name = "KeyError";
		T7_ = (NimStringDesc*)0;
		T7_ = rawNewString((key ? key->Sup.len : 0) + 15);
appendString(T7_, ((NimStringDesc*) &TM__4SoG2KRQy3oMm9aUzSLtGrA_21));
appendString(T7_, key);
		(*T6_).Sup.Sup.Sup.message = T7_;
		(*T6_).Sup.Sup.Sup.parent = NIM_NIL;
		raiseExceptionEx((Exception*)T6_, "KeyError", "[]", "tables.nim", 262);
		goto BeforeRet_;
	}
	LA1_: ;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NIM_BOOL, mustRehash__JWT9bsg9c7yyIxio5aQg7uigtables)(tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA t) {
	NIM_BOOL result;
	NIM_BOOL T1_;
	NI T2_;
	NI T4_;
	result = (NIM_BOOL)0;
	T1_ = (NIM_BOOL)0;
	T2_ = (t.data ? t.data->Sup.len : 0);
	T1_ = ((NI)(T2_ * ((NI) 2)) < (NI)(t.counter * ((NI) 3)));
	if (T1_) goto LA3_;
	T4_ = (t.data ? t.data->Sup.len : 0);
	T1_ = ((NI)(T4_ - t.counter) < ((NI) 4));
	LA3_: ;
	result = T1_;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, rawInsert__yQ7epY8a0RazcWyuwV5Ntg)(tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA* t, tySequence__7lEisrXlQEzwtUKW5pzRCw** data, NimStringDesc* key, NI32 val, NI hc, NI h) {
	(*data)->data[h].Field1 = copyString(key);
	(*data)->data[h].Field2 = val;
	(*data)->data[h].Field0 = hc;
}
N_LIB_PRIVATE N_NIMCALL(void, enlarge__P4cqx62gVTX9c2bQ9bXSUNLQ)(tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA* t) {
	tySequence__7lEisrXlQEzwtUKW5pzRCw* n;
	NI T1_;
	tySequence__7lEisrXlQEzwtUKW5pzRCw* T2_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	n = (tySequence__7lEisrXlQEzwtUKW5pzRCw*)0;
	T1_ = ((*t).data ? (*t).data->Sup.len : 0);
	n = (tySequence__7lEisrXlQEzwtUKW5pzRCw*) newSeq((&NTI__7lEisrXlQEzwtUKW5pzRCw_), ((NI) ((NI)(T1_ * ((NI) 2)))));
	T2_ = (tySequence__7lEisrXlQEzwtUKW5pzRCw*)0;
	T2_ = (*t).data;
	(*t).data = n;
	n = T2_;
	{
		NI i;
		NI colontmp_;
		NI T4_;
		NI res;
		i = (NI)0;
		colontmp_ = (NI)0;
		T4_ = ((n ? n->Sup.len : 0)-1);
		colontmp_ = T4_;
		res = ((NI) 0);
		{
			while (1) {
				NI eh;
				if (!(res <= colontmp_)) goto LA6;
				i = res;
				eh = n->data[i].Field0;
				{
					NIM_BOOL T9_;
					NI j;
					NI T12_;
					tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA* T17_;
					NimStringDesc* T18_;
					NimStringDesc* T19_;
					NI32 T20_;
					T9_ = (NIM_BOOL)0;
					T9_ = isFilled__5Qpmu5QqwDY0esVXn6wf7wtables(eh);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					if (!T9_) goto LA10_;
					T12_ = (((*t).data ? (*t).data->Sup.len : 0)-1);
					j = (NI)(eh & T12_);
					{
						while (1) {
							NIM_BOOL T15_;
							NI T16_;
							T15_ = (NIM_BOOL)0;
							T15_ = isFilled__5Qpmu5QqwDY0esVXn6wf7wtables((*t).data->data[j].Field0);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
							if (!T15_) goto LA14;
							T16_ = (((*t).data ? (*t).data->Sup.len : 0)-1);
							j = nextTry__rkF6R1GhqjFh3qSAPaT2Cwtables(j, T16_);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						} LA14: ;
					}
					T17_ = (tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA*)0;
					T17_ = t;
					T18_ = (NimStringDesc*)0;
					T18_ = n->data[i].Field1;
					n->data[i].Field1 = NIM_NIL;
					T19_ = (NimStringDesc*)0;
					T19_ = T18_;
					T20_ = (NI32)0;
					T20_ = n->data[i].Field2;
					n->data[i].Field2 = 0;
					rawInsert__yQ7epY8a0RazcWyuwV5Ntg(T17_, (&(*t).data), T19_, T20_, eh, j);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				}
				LA10_: ;
				res += ((NI) 1);
			} LA6: ;
		}
	}
	}BeforeRet_: ;
}
static N_INLINE(NI, rawGetKnownHC__HSQlXRmDev9cP9bGdOA5HsvQtables)(tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA t, NimStringDesc* key, NI hc) {
	NI result;
	NI h;
	NI T6_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NI)0;
	{
		NI T3_;
		T3_ = (t.data ? t.data->Sup.len : 0);
		if (!(T3_ == ((NI) 0))) goto LA4_;
		result = ((NI) -1);
		goto BeforeRet_;
	}
	LA4_: ;
	T6_ = ((t.data ? t.data->Sup.len : 0)-1);
	h = (NI)(hc & T6_);
	{
		while (1) {
			NIM_BOOL T9_;
			NI T16_;
			T9_ = (NIM_BOOL)0;
			T9_ = isFilled__5Qpmu5QqwDY0esVXn6wf7wtables(t.data->data[h].Field0);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (!T9_) goto LA8;
			{
				NIM_BOOL T12_;
				T12_ = (NIM_BOOL)0;
				T12_ = (t.data->data[h].Field0 == hc);
				if (!(T12_)) goto LA13_;
				T12_ = eqStrings(t.data->data[h].Field1, key);
				LA13_: ;
				if (!T12_) goto LA14_;
				result = h;
				goto BeforeRet_;
			}
			LA14_: ;
			T16_ = ((t.data ? t.data->Sup.len : 0)-1);
			h = nextTry__rkF6R1GhqjFh3qSAPaT2Cwtables(h, T16_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		} LA8: ;
	}
	result = (NI)(((NI) -1) - h);
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, X5BX5Deq___anizD9c0GXTQTVVON49cli6g)(tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA* t, NimStringDesc* key, NI32 val) {
	NI hc;
	NI index;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		NI T3_;
		NI correctSizeX60gensym4_;
		T3_ = ((*t).data ? (*t).data->Sup.len : 0);
		if (!(T3_ == ((NI) 0))) goto LA4_;
		correctSizeX60gensym4_ = slotsNeeded__LvRw9cAKRC9b1pD3bnSd1DdAtables(((NI) 32));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		(*t).counter = ((NI) 0);
		(*t).data = (tySequence__7lEisrXlQEzwtUKW5pzRCw*) newSeq((&NTI__7lEisrXlQEzwtUKW5pzRCw_), ((NI) (correctSizeX60gensym4_)));
	}
	LA4_: ;
	hc = (NI)0;
	index = rawGet__aseVP1phVqFWkLGjK22lyQtables((*t), key, (&hc));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		if (!(((NI) 0) <= index)) goto LA8_;
		(*t).data->data[index].Field2 = val;
	}
	goto LA6_;
	LA8_: ;
	{
		tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA* T21_;
		{
			NI T13_;
			NI correctSizeX60gensym7_;
			T13_ = ((*t).data ? (*t).data->Sup.len : 0);
			if (!(T13_ == ((NI) 0))) goto LA14_;
			correctSizeX60gensym7_ = slotsNeeded__LvRw9cAKRC9b1pD3bnSd1DdAtables(((NI) 32));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			(*t).counter = ((NI) 0);
			(*t).data = (tySequence__7lEisrXlQEzwtUKW5pzRCw*) newSeq((&NTI__7lEisrXlQEzwtUKW5pzRCw_), ((NI) (correctSizeX60gensym7_)));
		}
		LA14_: ;
		{
			NIM_BOOL T18_;
			T18_ = (NIM_BOOL)0;
			T18_ = mustRehash__JWT9bsg9c7yyIxio5aQg7uigtables((*t));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (!T18_) goto LA19_;
			enlarge__P4cqx62gVTX9c2bQ9bXSUNLQ(t);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			index = rawGetKnownHC__HSQlXRmDev9cP9bGdOA5HsvQtables((*t), key, hc);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		LA19_: ;
		index = (NI)(((NI) -1) - index);
		T21_ = (tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA*)0;
		T21_ = t;
		rawInsert__yQ7epY8a0RazcWyuwV5Ntg(T21_, (&(*t).data), key, val, hc, index);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		(*t).counter += ((NI) 1);
	}
	LA6_: ;
	}BeforeRet_: ;
}
static N_INLINE(NU64, hiXorLo__wWqo9alrSZddOyokrApfNaQhashes)(NU64 a, NU64 b) {
	NU64 result;
	result = (NU64)0;
	__uint128_t r = a; r *= b; result = (r >> 64) ^ r;
	return result;
}
static N_INLINE(NI, hashWangYi1__AN9c8V1UY1ZE7b8ldNRftRQhashes)(NU64 x) {
	NI result;
	NU64 T1_;
	NU64 T2_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NI)0;
	T1_ = (NU64)0;
	T1_ = hiXorLo__wWqo9alrSZddOyokrApfNaQhashes(11562461410679940143ULL, (NU64)(x ^ 16646288086500911323ULL));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	T2_ = (NU64)0;
	T2_ = hiXorLo__wWqo9alrSZddOyokrApfNaQhashes(T1_, 16952864883938283885ULL);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	result = ((NI) (T2_));
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NI, hash__ixIcN23Rzgwj4rjH9cMHDWQhashes)(NI32 x) {
	NI result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NI)0;
	result = hashWangYi1__AN9c8V1UY1ZE7b8ldNRftRQhashes(((NU64) (x)));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NI, rawGet__VHL4jbXDU6F0885vBGFikgtables)(tyObject_Table__e2Ciu0s1q49aVQ7ULXy7l9bQ t, NI32 key, NI* hc) {
	NI result;
	NI T1_;
	NI h;
	NI T11_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NI)0;
	T1_ = (NI)0;
	T1_ = hash__ixIcN23Rzgwj4rjH9cMHDWQhashes(key);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	(*hc) = T1_;
	{
		if (!((*hc) == ((NI) 0))) goto LA4_;
		(*hc) = ((NI) 314159265);
	}
	LA4_: ;
	{
		NI T8_;
		T8_ = (t.data ? t.data->Sup.len : 0);
		if (!(T8_ == ((NI) 0))) goto LA9_;
		result = ((NI) -1);
		goto BeforeRet_;
	}
	LA9_: ;
	T11_ = ((t.data ? t.data->Sup.len : 0)-1);
	h = (NI)((*hc) & T11_);
	{
		while (1) {
			NIM_BOOL T14_;
			NI T21_;
			T14_ = (NIM_BOOL)0;
			T14_ = isFilled__5Qpmu5QqwDY0esVXn6wf7wtables(t.data->data[h].Field0);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (!T14_) goto LA13;
			{
				NIM_BOOL T17_;
				T17_ = (NIM_BOOL)0;
				T17_ = (t.data->data[h].Field0 == (*hc));
				if (!(T17_)) goto LA18_;
				T17_ = (t.data->data[h].Field1 == key);
				LA18_: ;
				if (!T17_) goto LA19_;
				result = h;
				goto BeforeRet_;
			}
			LA19_: ;
			T21_ = ((t.data ? t.data->Sup.len : 0)-1);
			h = nextTry__rkF6R1GhqjFh3qSAPaT2Cwtables(h, T21_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		} LA13: ;
	}
	result = (NI)(((NI) -1) - h);
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NIM_BOOL, mustRehash__p0SD9ac9cV70OflrgSip1TDgtables)(tyObject_Table__e2Ciu0s1q49aVQ7ULXy7l9bQ t) {
	NIM_BOOL result;
	NIM_BOOL T1_;
	NI T2_;
	NI T4_;
	result = (NIM_BOOL)0;
	T1_ = (NIM_BOOL)0;
	T2_ = (t.data ? t.data->Sup.len : 0);
	T1_ = ((NI)(T2_ * ((NI) 2)) < (NI)(t.counter * ((NI) 3)));
	if (T1_) goto LA3_;
	T4_ = (t.data ? t.data->Sup.len : 0);
	T1_ = ((NI)(T4_ - t.counter) < ((NI) 4));
	LA3_: ;
	result = T1_;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, rawInsert__wUVYiyWmQ9cvzc9aNVobHWfA)(tyObject_Table__e2Ciu0s1q49aVQ7ULXy7l9bQ* t, tySequence__kxu4GK0onha2t9bo86mdVAg** data, NI32 key, NI32 val, NI hc, NI h) {
	(*data)->data[h].Field1 = key;
	(*data)->data[h].Field2 = val;
	(*data)->data[h].Field0 = hc;
}
N_LIB_PRIVATE N_NIMCALL(void, enlarge__WznuIAS2HbbgwoQgMlLNGA)(tyObject_Table__e2Ciu0s1q49aVQ7ULXy7l9bQ* t) {
	tySequence__kxu4GK0onha2t9bo86mdVAg* n;
	NI T1_;
	tySequence__kxu4GK0onha2t9bo86mdVAg* T2_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	n = (tySequence__kxu4GK0onha2t9bo86mdVAg*)0;
	T1_ = ((*t).data ? (*t).data->Sup.len : 0);
	n = (tySequence__kxu4GK0onha2t9bo86mdVAg*) newSeq((&NTI__kxu4GK0onha2t9bo86mdVAg_), ((NI) ((NI)(T1_ * ((NI) 2)))));
	T2_ = (tySequence__kxu4GK0onha2t9bo86mdVAg*)0;
	T2_ = (*t).data;
	(*t).data = n;
	n = T2_;
	{
		NI i;
		NI colontmp_;
		NI T4_;
		NI res;
		i = (NI)0;
		colontmp_ = (NI)0;
		T4_ = ((n ? n->Sup.len : 0)-1);
		colontmp_ = T4_;
		res = ((NI) 0);
		{
			while (1) {
				NI eh;
				if (!(res <= colontmp_)) goto LA6;
				i = res;
				eh = n->data[i].Field0;
				{
					NIM_BOOL T9_;
					NI j;
					NI T12_;
					tyObject_Table__e2Ciu0s1q49aVQ7ULXy7l9bQ* T17_;
					NI32 T18_;
					NI32 T19_;
					NI32 T20_;
					T9_ = (NIM_BOOL)0;
					T9_ = isFilled__5Qpmu5QqwDY0esVXn6wf7wtables(eh);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					if (!T9_) goto LA10_;
					T12_ = (((*t).data ? (*t).data->Sup.len : 0)-1);
					j = (NI)(eh & T12_);
					{
						while (1) {
							NIM_BOOL T15_;
							NI T16_;
							T15_ = (NIM_BOOL)0;
							T15_ = isFilled__5Qpmu5QqwDY0esVXn6wf7wtables((*t).data->data[j].Field0);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
							if (!T15_) goto LA14;
							T16_ = (((*t).data ? (*t).data->Sup.len : 0)-1);
							j = nextTry__rkF6R1GhqjFh3qSAPaT2Cwtables(j, T16_);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						} LA14: ;
					}
					T17_ = (tyObject_Table__e2Ciu0s1q49aVQ7ULXy7l9bQ*)0;
					T17_ = t;
					T18_ = (NI32)0;
					T18_ = n->data[i].Field1;
					n->data[i].Field1 = 0;
					T19_ = (NI32)0;
					T19_ = T18_;
					T20_ = (NI32)0;
					T20_ = n->data[i].Field2;
					n->data[i].Field2 = 0;
					rawInsert__wUVYiyWmQ9cvzc9aNVobHWfA(T17_, (&(*t).data), T19_, T20_, eh, j);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				}
				LA10_: ;
				res += ((NI) 1);
			} LA6: ;
		}
	}
	}BeforeRet_: ;
}
static N_INLINE(NI, rawGetKnownHC__WbZNr9ajY1NXktE9abGpy5rgtables)(tyObject_Table__e2Ciu0s1q49aVQ7ULXy7l9bQ t, NI32 key, NI hc) {
	NI result;
	NI h;
	NI T6_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NI)0;
	{
		NI T3_;
		T3_ = (t.data ? t.data->Sup.len : 0);
		if (!(T3_ == ((NI) 0))) goto LA4_;
		result = ((NI) -1);
		goto BeforeRet_;
	}
	LA4_: ;
	T6_ = ((t.data ? t.data->Sup.len : 0)-1);
	h = (NI)(hc & T6_);
	{
		while (1) {
			NIM_BOOL T9_;
			NI T16_;
			T9_ = (NIM_BOOL)0;
			T9_ = isFilled__5Qpmu5QqwDY0esVXn6wf7wtables(t.data->data[h].Field0);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (!T9_) goto LA8;
			{
				NIM_BOOL T12_;
				T12_ = (NIM_BOOL)0;
				T12_ = (t.data->data[h].Field0 == hc);
				if (!(T12_)) goto LA13_;
				T12_ = (t.data->data[h].Field1 == key);
				LA13_: ;
				if (!T12_) goto LA14_;
				result = h;
				goto BeforeRet_;
			}
			LA14_: ;
			T16_ = ((t.data ? t.data->Sup.len : 0)-1);
			h = nextTry__rkF6R1GhqjFh3qSAPaT2Cwtables(h, T16_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		} LA8: ;
	}
	result = (NI)(((NI) -1) - h);
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasKeyOrPut__WdnGwzJoNnsIHUzxAKLE9aw)(tyObject_Table__e2Ciu0s1q49aVQ7ULXy7l9bQ* t, NI32 key, NI32 val) {
	NIM_BOOL result;
	NI hc;
	NI index;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NIM_BOOL)0;
	{
		NI T3_;
		NI correctSizeX60gensym22_;
		T3_ = ((*t).data ? (*t).data->Sup.len : 0);
		if (!(T3_ == ((NI) 0))) goto LA4_;
		correctSizeX60gensym22_ = slotsNeeded__LvRw9cAKRC9b1pD3bnSd1DdAtables(((NI) 32));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		(*t).counter = ((NI) 0);
		(*t).data = (tySequence__kxu4GK0onha2t9bo86mdVAg*) newSeq((&NTI__kxu4GK0onha2t9bo86mdVAg_), ((NI) (correctSizeX60gensym22_)));
	}
	LA4_: ;
	hc = (NI)0;
	index = rawGet__VHL4jbXDU6F0885vBGFikgtables((*t), key, (&hc));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		tyObject_Table__e2Ciu0s1q49aVQ7ULXy7l9bQ* T20_;
		if (!(index < ((NI) 0))) goto LA8_;
		result = NIM_FALSE;
		{
			NI T12_;
			NI correctSizeX60gensym27_;
			T12_ = ((*t).data ? (*t).data->Sup.len : 0);
			if (!(T12_ == ((NI) 0))) goto LA13_;
			correctSizeX60gensym27_ = slotsNeeded__LvRw9cAKRC9b1pD3bnSd1DdAtables(((NI) 32));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			(*t).counter = ((NI) 0);
			(*t).data = (tySequence__kxu4GK0onha2t9bo86mdVAg*) newSeq((&NTI__kxu4GK0onha2t9bo86mdVAg_), ((NI) (correctSizeX60gensym27_)));
		}
		LA13_: ;
		{
			NIM_BOOL T17_;
			T17_ = (NIM_BOOL)0;
			T17_ = mustRehash__p0SD9ac9cV70OflrgSip1TDgtables((*t));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (!T17_) goto LA18_;
			enlarge__WznuIAS2HbbgwoQgMlLNGA(t);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			index = rawGetKnownHC__WbZNr9ajY1NXktE9abGpy5rgtables((*t), key, hc);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		LA18_: ;
		index = (NI)(((NI) -1) - index);
		T20_ = (tyObject_Table__e2Ciu0s1q49aVQ7ULXy7l9bQ*)0;
		T20_ = t;
		rawInsert__wUVYiyWmQ9cvzc9aNVobHWfA(T20_, (&(*t).data), key, val, hc, index);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		(*t).counter += ((NI) 1);
	}
	goto LA6_;
	LA8_: ;
	{
		result = NIM_TRUE;
	}
	LA6_: ;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NI, rawGet__QnNqXOulpiE3rTDm0rj6bgtables)(tyObject_Table__fdKWDDO1P17zvuQPReVgRA t, NI32 key, NI* hc) {
	NI result;
	NI T1_;
	NI h;
	NI T11_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NI)0;
	T1_ = (NI)0;
	T1_ = hash__ixIcN23Rzgwj4rjH9cMHDWQhashes(key);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	(*hc) = T1_;
	{
		if (!((*hc) == ((NI) 0))) goto LA4_;
		(*hc) = ((NI) 314159265);
	}
	LA4_: ;
	{
		NI T8_;
		T8_ = (t.data ? t.data->Sup.len : 0);
		if (!(T8_ == ((NI) 0))) goto LA9_;
		result = ((NI) -1);
		goto BeforeRet_;
	}
	LA9_: ;
	T11_ = ((t.data ? t.data->Sup.len : 0)-1);
	h = (NI)((*hc) & T11_);
	{
		while (1) {
			NIM_BOOL T14_;
			NI T21_;
			T14_ = (NIM_BOOL)0;
			T14_ = isFilled__5Qpmu5QqwDY0esVXn6wf7wtables(t.data->data[h].Field0);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (!T14_) goto LA13;
			{
				NIM_BOOL T17_;
				T17_ = (NIM_BOOL)0;
				T17_ = (t.data->data[h].Field0 == (*hc));
				if (!(T17_)) goto LA18_;
				T17_ = (t.data->data[h].Field1 == key);
				LA18_: ;
				if (!T17_) goto LA19_;
				result = h;
				goto BeforeRet_;
			}
			LA19_: ;
			T21_ = ((t.data ? t.data->Sup.len : 0)-1);
			h = nextTry__rkF6R1GhqjFh3qSAPaT2Cwtables(h, T21_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		} LA13: ;
	}
	result = (NI)(((NI) -1) - h);
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NIM_BOOL, mustRehash__4hpuf9b9bexmHtlCuFvGGypwtables)(tyObject_Table__fdKWDDO1P17zvuQPReVgRA t) {
	NIM_BOOL result;
	NIM_BOOL T1_;
	NI T2_;
	NI T4_;
	result = (NIM_BOOL)0;
	T1_ = (NIM_BOOL)0;
	T2_ = (t.data ? t.data->Sup.len : 0);
	T1_ = ((NI)(T2_ * ((NI) 2)) < (NI)(t.counter * ((NI) 3)));
	if (T1_) goto LA3_;
	T4_ = (t.data ? t.data->Sup.len : 0);
	T1_ = ((NI)(T4_ - t.counter) < ((NI) 4));
	LA3_: ;
	result = T1_;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, rawInsert__IVJyWWnSh59cPztkOuQNV0g)(tyObject_Table__fdKWDDO1P17zvuQPReVgRA* t, tySequence__fdmz6VkIf1ewwrssKYqRFg** data, NI32 key, tySequence__48JTohSgTy339bRxHzUD8KA* val, NI hc, NI h) {
	(*data)->data[h].Field1 = key;
	genericSeqAssign((&(*data)->data[h].Field2), val, (&NTI__48JTohSgTy339bRxHzUD8KA_));
	(*data)->data[h].Field0 = hc;
}
N_LIB_PRIVATE N_NIMCALL(void, enlarge__8q9c9aCPUMM0w7HNF4dndgQg)(tyObject_Table__fdKWDDO1P17zvuQPReVgRA* t) {
	tySequence__fdmz6VkIf1ewwrssKYqRFg* n;
	NI T1_;
	tySequence__fdmz6VkIf1ewwrssKYqRFg* T2_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	n = (tySequence__fdmz6VkIf1ewwrssKYqRFg*)0;
	T1_ = ((*t).data ? (*t).data->Sup.len : 0);
	n = (tySequence__fdmz6VkIf1ewwrssKYqRFg*) newSeq((&NTI__fdmz6VkIf1ewwrssKYqRFg_), ((NI) ((NI)(T1_ * ((NI) 2)))));
	T2_ = (tySequence__fdmz6VkIf1ewwrssKYqRFg*)0;
	T2_ = (*t).data;
	(*t).data = n;
	n = T2_;
	{
		NI i;
		NI colontmp_;
		NI T4_;
		NI res;
		i = (NI)0;
		colontmp_ = (NI)0;
		T4_ = ((n ? n->Sup.len : 0)-1);
		colontmp_ = T4_;
		res = ((NI) 0);
		{
			while (1) {
				NI eh;
				if (!(res <= colontmp_)) goto LA6;
				i = res;
				eh = n->data[i].Field0;
				{
					NIM_BOOL T9_;
					NI j;
					NI T12_;
					tyObject_Table__fdKWDDO1P17zvuQPReVgRA* T17_;
					NI32 T18_;
					NI32 T19_;
					tySequence__48JTohSgTy339bRxHzUD8KA* T20_;
					T9_ = (NIM_BOOL)0;
					T9_ = isFilled__5Qpmu5QqwDY0esVXn6wf7wtables(eh);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					if (!T9_) goto LA10_;
					T12_ = (((*t).data ? (*t).data->Sup.len : 0)-1);
					j = (NI)(eh & T12_);
					{
						while (1) {
							NIM_BOOL T15_;
							NI T16_;
							T15_ = (NIM_BOOL)0;
							T15_ = isFilled__5Qpmu5QqwDY0esVXn6wf7wtables((*t).data->data[j].Field0);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
							if (!T15_) goto LA14;
							T16_ = (((*t).data ? (*t).data->Sup.len : 0)-1);
							j = nextTry__rkF6R1GhqjFh3qSAPaT2Cwtables(j, T16_);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						} LA14: ;
					}
					T17_ = (tyObject_Table__fdKWDDO1P17zvuQPReVgRA*)0;
					T17_ = t;
					T18_ = (NI32)0;
					T18_ = n->data[i].Field1;
					n->data[i].Field1 = 0;
					T19_ = (NI32)0;
					T19_ = T18_;
					T20_ = (tySequence__48JTohSgTy339bRxHzUD8KA*)0;
					T20_ = n->data[i].Field2;
					n->data[i].Field2 = NIM_NIL;
					rawInsert__IVJyWWnSh59cPztkOuQNV0g(T17_, (&(*t).data), T19_, T20_, eh, j);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				}
				LA10_: ;
				res += ((NI) 1);
			} LA6: ;
		}
	}
	}BeforeRet_: ;
}
static N_INLINE(NI, rawGetKnownHC__4Fsb1T2VnPSV6oxoQiJufQtables)(tyObject_Table__fdKWDDO1P17zvuQPReVgRA t, NI32 key, NI hc) {
	NI result;
	NI h;
	NI T6_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NI)0;
	{
		NI T3_;
		T3_ = (t.data ? t.data->Sup.len : 0);
		if (!(T3_ == ((NI) 0))) goto LA4_;
		result = ((NI) -1);
		goto BeforeRet_;
	}
	LA4_: ;
	T6_ = ((t.data ? t.data->Sup.len : 0)-1);
	h = (NI)(hc & T6_);
	{
		while (1) {
			NIM_BOOL T9_;
			NI T16_;
			T9_ = (NIM_BOOL)0;
			T9_ = isFilled__5Qpmu5QqwDY0esVXn6wf7wtables(t.data->data[h].Field0);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (!T9_) goto LA8;
			{
				NIM_BOOL T12_;
				T12_ = (NIM_BOOL)0;
				T12_ = (t.data->data[h].Field0 == hc);
				if (!(T12_)) goto LA13_;
				T12_ = (t.data->data[h].Field1 == key);
				LA13_: ;
				if (!T12_) goto LA14_;
				result = h;
				goto BeforeRet_;
			}
			LA14_: ;
			T16_ = ((t.data ? t.data->Sup.len : 0)-1);
			h = nextTry__rkF6R1GhqjFh3qSAPaT2Cwtables(h, T16_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		} LA8: ;
	}
	result = (NI)(((NI) -1) - h);
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tySequence__48JTohSgTy339bRxHzUD8KA**, mgetOrPut__zZWWGOWkKOEGJoEiQeIHZA)(tyObject_Table__fdKWDDO1P17zvuQPReVgRA* t, NI32 key, tySequence__48JTohSgTy339bRxHzUD8KA* val) {
	tySequence__48JTohSgTy339bRxHzUD8KA** result;
	NI hc;
	NI index;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (tySequence__48JTohSgTy339bRxHzUD8KA**)0;
	{
		NI T3_;
		NI correctSizeX60gensym18_;
		T3_ = ((*t).data ? (*t).data->Sup.len : 0);
		if (!(T3_ == ((NI) 0))) goto LA4_;
		correctSizeX60gensym18_ = slotsNeeded__LvRw9cAKRC9b1pD3bnSd1DdAtables(((NI) 32));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		(*t).counter = ((NI) 0);
		(*t).data = (tySequence__fdmz6VkIf1ewwrssKYqRFg*) newSeq((&NTI__fdmz6VkIf1ewwrssKYqRFg_), ((NI) (correctSizeX60gensym18_)));
	}
	LA4_: ;
	hc = (NI)0;
	index = rawGet__QnNqXOulpiE3rTDm0rj6bgtables((*t), key, (&hc));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		tyObject_Table__fdKWDDO1P17zvuQPReVgRA* T20_;
		if (!(index < ((NI) 0))) goto LA8_;
		{
			NI T12_;
			NI correctSizeX60gensym23_;
			T12_ = ((*t).data ? (*t).data->Sup.len : 0);
			if (!(T12_ == ((NI) 0))) goto LA13_;
			correctSizeX60gensym23_ = slotsNeeded__LvRw9cAKRC9b1pD3bnSd1DdAtables(((NI) 32));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			(*t).counter = ((NI) 0);
			(*t).data = (tySequence__fdmz6VkIf1ewwrssKYqRFg*) newSeq((&NTI__fdmz6VkIf1ewwrssKYqRFg_), ((NI) (correctSizeX60gensym23_)));
		}
		LA13_: ;
		{
			NIM_BOOL T17_;
			T17_ = (NIM_BOOL)0;
			T17_ = mustRehash__4hpuf9b9bexmHtlCuFvGGypwtables((*t));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (!T17_) goto LA18_;
			enlarge__8q9c9aCPUMM0w7HNF4dndgQg(t);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			index = rawGetKnownHC__4Fsb1T2VnPSV6oxoQiJufQtables((*t), key, hc);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		LA18_: ;
		index = (NI)(((NI) -1) - index);
		T20_ = (tyObject_Table__fdKWDDO1P17zvuQPReVgRA*)0;
		T20_ = t;
		rawInsert__IVJyWWnSh59cPztkOuQNV0g(T20_, (&(*t).data), key, val, hc, index);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		(*t).counter += ((NI) 1);
	}
	LA8_: ;
	result = (&(*t).data->data[index].Field2);
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NI, hash__aWv89bCLOibANstPF9bHQoyQhashes)(NI x) {
	NI result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NI)0;
	result = hashWangYi1__AN9c8V1UY1ZE7b8ldNRftRQhashes(((NU64) (x)));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NI, rawGet__8eLPyJNN6hcR50ctxeSkDgtables)(tyObject_Table__G1v8c16HePOldLeucwe05Q t, NI key, NI* hc) {
	NI result;
	NI T1_;
	NI h;
	NI T11_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NI)0;
	T1_ = (NI)0;
	T1_ = hash__aWv89bCLOibANstPF9bHQoyQhashes(key);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	(*hc) = T1_;
	{
		if (!((*hc) == ((NI) 0))) goto LA4_;
		(*hc) = ((NI) 314159265);
	}
	LA4_: ;
	{
		NI T8_;
		T8_ = (t.data ? t.data->Sup.len : 0);
		if (!(T8_ == ((NI) 0))) goto LA9_;
		result = ((NI) -1);
		goto BeforeRet_;
	}
	LA9_: ;
	T11_ = ((t.data ? t.data->Sup.len : 0)-1);
	h = (NI)((*hc) & T11_);
	{
		while (1) {
			NIM_BOOL T14_;
			NI T21_;
			T14_ = (NIM_BOOL)0;
			T14_ = isFilled__5Qpmu5QqwDY0esVXn6wf7wtables(t.data->data[h].Field0);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (!T14_) goto LA13;
			{
				NIM_BOOL T17_;
				T17_ = (NIM_BOOL)0;
				T17_ = (t.data->data[h].Field0 == (*hc));
				if (!(T17_)) goto LA18_;
				T17_ = (t.data->data[h].Field1 == key);
				LA18_: ;
				if (!T17_) goto LA19_;
				result = h;
				goto BeforeRet_;
			}
			LA19_: ;
			T21_ = ((t.data ? t.data->Sup.len : 0)-1);
			h = nextTry__rkF6R1GhqjFh3qSAPaT2Cwtables(h, T21_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		} LA13: ;
	}
	result = (NI)(((NI) -1) - h);
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NIM_BOOL, mustRehash__yfsonszRyw8UOuzQhTX8Jwtables)(tyObject_Table__G1v8c16HePOldLeucwe05Q t) {
	NIM_BOOL result;
	NIM_BOOL T1_;
	NI T2_;
	NI T4_;
	result = (NIM_BOOL)0;
	T1_ = (NIM_BOOL)0;
	T2_ = (t.data ? t.data->Sup.len : 0);
	T1_ = ((NI)(T2_ * ((NI) 2)) < (NI)(t.counter * ((NI) 3)));
	if (T1_) goto LA3_;
	T4_ = (t.data ? t.data->Sup.len : 0);
	T1_ = ((NI)(T4_ - t.counter) < ((NI) 4));
	LA3_: ;
	result = T1_;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, rawInsert__2E5CplI9bWrWY15XwFVf2bA)(tyObject_Table__G1v8c16HePOldLeucwe05Q* t, tySequence__fIB1rTQ55aFonoft9a9bmljQ** data, NI key, tyArray__qtqsWM5aXmcpMIVmvq3kAA val, NI hc, NI h) {
	(*data)->data[h].Field1 = key;
	nimCopyMem((void*)(*data)->data[h].Field2, (NIM_CONST void*)val, sizeof(tyArray__qtqsWM5aXmcpMIVmvq3kAA));
	(*data)->data[h].Field0 = hc;
}
static N_INLINE(void, nimSetMem__zxfKBYntu9cBapkhrCOk1fgmemory)(void* a, int v, NI size) {
	void* T1_;
	T1_ = (void*)0;
	T1_ = memset(a, v, ((size_t) (size)));
}
static N_INLINE(void, nimZeroMem)(void* p, NI size) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	nimSetMem__zxfKBYntu9cBapkhrCOk1fgmemory(p, ((int) 0), size);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, enlarge__IhIQ7TfMuHBewVVmTQrOlQ)(tyObject_Table__G1v8c16HePOldLeucwe05Q* t) {
	tySequence__fIB1rTQ55aFonoft9a9bmljQ* n;
	NI T1_;
	tySequence__fIB1rTQ55aFonoft9a9bmljQ* T2_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	n = (tySequence__fIB1rTQ55aFonoft9a9bmljQ*)0;
	T1_ = ((*t).data ? (*t).data->Sup.len : 0);
	n = (tySequence__fIB1rTQ55aFonoft9a9bmljQ*) newSeq((&NTI__fIB1rTQ55aFonoft9a9bmljQ_), ((NI) ((NI)(T1_ * ((NI) 2)))));
	T2_ = (tySequence__fIB1rTQ55aFonoft9a9bmljQ*)0;
	T2_ = (*t).data;
	(*t).data = n;
	n = T2_;
	{
		NI i;
		NI colontmp_;
		NI T4_;
		NI res;
		i = (NI)0;
		colontmp_ = (NI)0;
		T4_ = ((n ? n->Sup.len : 0)-1);
		colontmp_ = T4_;
		res = ((NI) 0);
		{
			while (1) {
				NI eh;
				if (!(res <= colontmp_)) goto LA6;
				i = res;
				eh = n->data[i].Field0;
				{
					NIM_BOOL T9_;
					NI j;
					NI T12_;
					tyObject_Table__G1v8c16HePOldLeucwe05Q* T17_;
					NI T18_;
					NI T19_;
					tyArray__qtqsWM5aXmcpMIVmvq3kAA T20_;
					T9_ = (NIM_BOOL)0;
					T9_ = isFilled__5Qpmu5QqwDY0esVXn6wf7wtables(eh);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					if (!T9_) goto LA10_;
					T12_ = (((*t).data ? (*t).data->Sup.len : 0)-1);
					j = (NI)(eh & T12_);
					{
						while (1) {
							NIM_BOOL T15_;
							NI T16_;
							T15_ = (NIM_BOOL)0;
							T15_ = isFilled__5Qpmu5QqwDY0esVXn6wf7wtables((*t).data->data[j].Field0);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
							if (!T15_) goto LA14;
							T16_ = (((*t).data ? (*t).data->Sup.len : 0)-1);
							j = nextTry__rkF6R1GhqjFh3qSAPaT2Cwtables(j, T16_);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						} LA14: ;
					}
					T17_ = (tyObject_Table__G1v8c16HePOldLeucwe05Q*)0;
					T17_ = t;
					T18_ = (NI)0;
					T18_ = n->data[i].Field1;
					n->data[i].Field1 = 0;
					T19_ = (NI)0;
					T19_ = T18_;
					nimCopyMem((void*)T20_, (NIM_CONST void*)n->data[i].Field2, sizeof(tyArray__qtqsWM5aXmcpMIVmvq3kAA));
					nimZeroMem((void*)n->data[i].Field2, sizeof(tyArray__qtqsWM5aXmcpMIVmvq3kAA));
					rawInsert__2E5CplI9bWrWY15XwFVf2bA(T17_, (&(*t).data), T19_, T20_, eh, j);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				}
				LA10_: ;
				res += ((NI) 1);
			} LA6: ;
		}
	}
	}BeforeRet_: ;
}
static N_INLINE(NI, rawGetKnownHC__UaWZNeEgUaDIcsfDXIvasAtables)(tyObject_Table__G1v8c16HePOldLeucwe05Q t, NI key, NI hc) {
	NI result;
	NI h;
	NI T6_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NI)0;
	{
		NI T3_;
		T3_ = (t.data ? t.data->Sup.len : 0);
		if (!(T3_ == ((NI) 0))) goto LA4_;
		result = ((NI) -1);
		goto BeforeRet_;
	}
	LA4_: ;
	T6_ = ((t.data ? t.data->Sup.len : 0)-1);
	h = (NI)(hc & T6_);
	{
		while (1) {
			NIM_BOOL T9_;
			NI T16_;
			T9_ = (NIM_BOOL)0;
			T9_ = isFilled__5Qpmu5QqwDY0esVXn6wf7wtables(t.data->data[h].Field0);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (!T9_) goto LA8;
			{
				NIM_BOOL T12_;
				T12_ = (NIM_BOOL)0;
				T12_ = (t.data->data[h].Field0 == hc);
				if (!(T12_)) goto LA13_;
				T12_ = (t.data->data[h].Field1 == key);
				LA13_: ;
				if (!T12_) goto LA14_;
				result = h;
				goto BeforeRet_;
			}
			LA14_: ;
			T16_ = ((t.data ? t.data->Sup.len : 0)-1);
			h = nextTry__rkF6R1GhqjFh3qSAPaT2Cwtables(h, T16_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		} LA8: ;
	}
	result = (NI)(((NI) -1) - h);
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, X5BX5Deq___vM9aGuvtd2MaMcJSPmyUs0g)(tyObject_Table__G1v8c16HePOldLeucwe05Q* t, NI key, tyArray__qtqsWM5aXmcpMIVmvq3kAA val) {
	NI hc;
	NI index;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		NI T3_;
		NI correctSizeX60gensym93_;
		T3_ = ((*t).data ? (*t).data->Sup.len : 0);
		if (!(T3_ == ((NI) 0))) goto LA4_;
		correctSizeX60gensym93_ = slotsNeeded__LvRw9cAKRC9b1pD3bnSd1DdAtables(((NI) 32));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		(*t).counter = ((NI) 0);
		(*t).data = (tySequence__fIB1rTQ55aFonoft9a9bmljQ*) newSeq((&NTI__fIB1rTQ55aFonoft9a9bmljQ_), ((NI) (correctSizeX60gensym93_)));
	}
	LA4_: ;
	hc = (NI)0;
	index = rawGet__8eLPyJNN6hcR50ctxeSkDgtables((*t), key, (&hc));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		if (!(((NI) 0) <= index)) goto LA8_;
		nimCopyMem((void*)(*t).data->data[index].Field2, (NIM_CONST void*)val, sizeof(tyArray__qtqsWM5aXmcpMIVmvq3kAA));
	}
	goto LA6_;
	LA8_: ;
	{
		tyObject_Table__G1v8c16HePOldLeucwe05Q* T21_;
		{
			NI T13_;
			NI correctSizeX60gensym96_;
			T13_ = ((*t).data ? (*t).data->Sup.len : 0);
			if (!(T13_ == ((NI) 0))) goto LA14_;
			correctSizeX60gensym96_ = slotsNeeded__LvRw9cAKRC9b1pD3bnSd1DdAtables(((NI) 32));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			(*t).counter = ((NI) 0);
			(*t).data = (tySequence__fIB1rTQ55aFonoft9a9bmljQ*) newSeq((&NTI__fIB1rTQ55aFonoft9a9bmljQ_), ((NI) (correctSizeX60gensym96_)));
		}
		LA14_: ;
		{
			NIM_BOOL T18_;
			T18_ = (NIM_BOOL)0;
			T18_ = mustRehash__yfsonszRyw8UOuzQhTX8Jwtables((*t));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (!T18_) goto LA19_;
			enlarge__IhIQ7TfMuHBewVVmTQrOlQ(t);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			index = rawGetKnownHC__UaWZNeEgUaDIcsfDXIvasAtables((*t), key, hc);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		LA19_: ;
		index = (NI)(((NI) -1) - index);
		T21_ = (tyObject_Table__G1v8c16HePOldLeucwe05Q*)0;
		T21_ = t;
		rawInsert__2E5CplI9bWrWY15XwFVf2bA(T21_, (&(*t).data), key, val, hc, index);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		(*t).counter += ((NI) 1);
	}
	LA6_: ;
	}BeforeRet_: ;
}
static N_NIMCALL(void, Marker_tySequence__hLW2w9a9bDM1AHB8BIrU3BYw)(void* p, NI op) {
	tySequence__hLW2w9a9bDM1AHB8BIrU3BYw* a;
	NI T1_;
	a = (tySequence__hLW2w9a9bDM1AHB8BIrU3BYw*)p;
	T1_ = (NI)0;
	for (T1_ = 0; T1_ < (a ? a->Sup.len : 0); T1_++) {
	nimGCvisit((void*)a->data[T1_].Field2, op);
	}
}
N_LIB_PRIVATE N_NIMCALL(void, initTable__a9bC7nkiLU3lFTLZqMubj5Q)(NI initialSize, tyObject_Table__Os4it9bmHnOQtsd5CqH09aRQ* Result) {
	NI correctSizeX60gensym50_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	unsureAsgnRef((void**)&(*Result).data, NIM_NIL);
	(*Result).counter = 0;
	correctSizeX60gensym50_ = slotsNeeded__LvRw9cAKRC9b1pD3bnSd1DdAtables(((NI) (initialSize)));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	(*Result).counter = ((NI) 0);
	(*Result).data = (tySequence__hLW2w9a9bDM1AHB8BIrU3BYw*) newSeq((&NTI__hLW2w9a9bDM1AHB8BIrU3BYw_), ((NI) (correctSizeX60gensym50_)));
	}BeforeRet_: ;
}
static N_INLINE(NI, rawGet__6JakEI68PBBdEMzqcwDJCAtables)(tyObject_Table__Os4it9bmHnOQtsd5CqH09aRQ t, NI key, NI* hc) {
	NI result;
	NI T1_;
	NI h;
	NI T11_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NI)0;
	T1_ = (NI)0;
	T1_ = hash__aWv89bCLOibANstPF9bHQoyQhashes(key);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	(*hc) = T1_;
	{
		if (!((*hc) == ((NI) 0))) goto LA4_;
		(*hc) = ((NI) 314159265);
	}
	LA4_: ;
	{
		NI T8_;
		T8_ = (t.data ? t.data->Sup.len : 0);
		if (!(T8_ == ((NI) 0))) goto LA9_;
		result = ((NI) -1);
		goto BeforeRet_;
	}
	LA9_: ;
	T11_ = ((t.data ? t.data->Sup.len : 0)-1);
	h = (NI)((*hc) & T11_);
	{
		while (1) {
			NIM_BOOL T14_;
			NI T21_;
			T14_ = (NIM_BOOL)0;
			T14_ = isFilled__5Qpmu5QqwDY0esVXn6wf7wtables(t.data->data[h].Field0);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (!T14_) goto LA13;
			{
				NIM_BOOL T17_;
				T17_ = (NIM_BOOL)0;
				T17_ = (t.data->data[h].Field0 == (*hc));
				if (!(T17_)) goto LA18_;
				T17_ = (t.data->data[h].Field1 == key);
				LA18_: ;
				if (!T17_) goto LA19_;
				result = h;
				goto BeforeRet_;
			}
			LA19_: ;
			T21_ = ((t.data ? t.data->Sup.len : 0)-1);
			h = nextTry__rkF6R1GhqjFh3qSAPaT2Cwtables(h, T21_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		} LA13: ;
	}
	result = (NI)(((NI) -1) - h);
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ*, getOrDefault__9bQKf8dFvOTPFC2tZLVBE7A)(tyObject_Table__Os4it9bmHnOQtsd5CqH09aRQ t, NI key) {
	tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ* result;
	NI hcX60gensym52_;
	NI indexX60gensym52_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ*)0;
	hcX60gensym52_ = (NI)0;
	indexX60gensym52_ = rawGet__6JakEI68PBBdEMzqcwDJCAtables(t, key, (&hcX60gensym52_));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		if (!(((NI) 0) <= indexX60gensym52_)) goto LA3_;
		result = t.data->data[indexX60gensym52_].Field2;
	}
	LA3_: ;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NIM_BOOL, mustRehash__YnVi9ccarQj2fmPjmGrkOUQtables)(tyObject_Table__Os4it9bmHnOQtsd5CqH09aRQ t) {
	NIM_BOOL result;
	NIM_BOOL T1_;
	NI T2_;
	NI T4_;
	result = (NIM_BOOL)0;
	T1_ = (NIM_BOOL)0;
	T2_ = (t.data ? t.data->Sup.len : 0);
	T1_ = ((NI)(T2_ * ((NI) 2)) < (NI)(t.counter * ((NI) 3)));
	if (T1_) goto LA3_;
	T4_ = (t.data ? t.data->Sup.len : 0);
	T1_ = ((NI)(T4_ - t.counter) < ((NI) 4));
	LA3_: ;
	result = T1_;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, rawInsert__0NF4fuOYJP4YH8beRyMvWg)(tyObject_Table__Os4it9bmHnOQtsd5CqH09aRQ* t, tySequence__hLW2w9a9bDM1AHB8BIrU3BYw** data, NI key, tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ* val, NI hc, NI h) {
	(*data)->data[h].Field1 = key;
	(*data)->data[h].Field2 = val;
	(*data)->data[h].Field0 = hc;
}
N_LIB_PRIVATE N_NIMCALL(void, enlarge__e2mchzYwFdhwebJni6CqZg)(tyObject_Table__Os4it9bmHnOQtsd5CqH09aRQ* t) {
	tySequence__hLW2w9a9bDM1AHB8BIrU3BYw* n;
	NI T1_;
	tySequence__hLW2w9a9bDM1AHB8BIrU3BYw* T2_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	n = (tySequence__hLW2w9a9bDM1AHB8BIrU3BYw*)0;
	T1_ = ((*t).data ? (*t).data->Sup.len : 0);
	n = (tySequence__hLW2w9a9bDM1AHB8BIrU3BYw*) newSeq((&NTI__hLW2w9a9bDM1AHB8BIrU3BYw_), ((NI) ((NI)(T1_ * ((NI) 2)))));
	T2_ = (tySequence__hLW2w9a9bDM1AHB8BIrU3BYw*)0;
	T2_ = (*t).data;
	(*t).data = n;
	n = T2_;
	{
		NI i;
		NI colontmp_;
		NI T4_;
		NI res;
		i = (NI)0;
		colontmp_ = (NI)0;
		T4_ = ((n ? n->Sup.len : 0)-1);
		colontmp_ = T4_;
		res = ((NI) 0);
		{
			while (1) {
				NI eh;
				if (!(res <= colontmp_)) goto LA6;
				i = res;
				eh = n->data[i].Field0;
				{
					NIM_BOOL T9_;
					NI j;
					NI T12_;
					tyObject_Table__Os4it9bmHnOQtsd5CqH09aRQ* T17_;
					NI T18_;
					NI T19_;
					tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ* T20_;
					T9_ = (NIM_BOOL)0;
					T9_ = isFilled__5Qpmu5QqwDY0esVXn6wf7wtables(eh);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					if (!T9_) goto LA10_;
					T12_ = (((*t).data ? (*t).data->Sup.len : 0)-1);
					j = (NI)(eh & T12_);
					{
						while (1) {
							NIM_BOOL T15_;
							NI T16_;
							T15_ = (NIM_BOOL)0;
							T15_ = isFilled__5Qpmu5QqwDY0esVXn6wf7wtables((*t).data->data[j].Field0);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
							if (!T15_) goto LA14;
							T16_ = (((*t).data ? (*t).data->Sup.len : 0)-1);
							j = nextTry__rkF6R1GhqjFh3qSAPaT2Cwtables(j, T16_);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						} LA14: ;
					}
					T17_ = (tyObject_Table__Os4it9bmHnOQtsd5CqH09aRQ*)0;
					T17_ = t;
					T18_ = (NI)0;
					T18_ = n->data[i].Field1;
					n->data[i].Field1 = 0;
					T19_ = (NI)0;
					T19_ = T18_;
					T20_ = (tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ*)0;
					T20_ = n->data[i].Field2;
					n->data[i].Field2 = NIM_NIL;
					rawInsert__0NF4fuOYJP4YH8beRyMvWg(T17_, (&(*t).data), T19_, T20_, eh, j);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				}
				LA10_: ;
				res += ((NI) 1);
			} LA6: ;
		}
	}
	}BeforeRet_: ;
}
static N_INLINE(NI, rawGetKnownHC__eNcUgWoz7pcvMX3xYaDRLgtables)(tyObject_Table__Os4it9bmHnOQtsd5CqH09aRQ t, NI key, NI hc) {
	NI result;
	NI h;
	NI T6_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NI)0;
	{
		NI T3_;
		T3_ = (t.data ? t.data->Sup.len : 0);
		if (!(T3_ == ((NI) 0))) goto LA4_;
		result = ((NI) -1);
		goto BeforeRet_;
	}
	LA4_: ;
	T6_ = ((t.data ? t.data->Sup.len : 0)-1);
	h = (NI)(hc & T6_);
	{
		while (1) {
			NIM_BOOL T9_;
			NI T16_;
			T9_ = (NIM_BOOL)0;
			T9_ = isFilled__5Qpmu5QqwDY0esVXn6wf7wtables(t.data->data[h].Field0);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (!T9_) goto LA8;
			{
				NIM_BOOL T12_;
				T12_ = (NIM_BOOL)0;
				T12_ = (t.data->data[h].Field0 == hc);
				if (!(T12_)) goto LA13_;
				T12_ = (t.data->data[h].Field1 == key);
				LA13_: ;
				if (!T12_) goto LA14_;
				result = h;
				goto BeforeRet_;
			}
			LA14_: ;
			T16_ = ((t.data ? t.data->Sup.len : 0)-1);
			h = nextTry__rkF6R1GhqjFh3qSAPaT2Cwtables(h, T16_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		} LA8: ;
	}
	result = (NI)(((NI) -1) - h);
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, X5BX5Deq___MQp6geYbWilpbmJT3tnncQ)(tyObject_Table__Os4it9bmHnOQtsd5CqH09aRQ* t, NI key, tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ* val) {
	NI hc;
	NI index;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		NI T3_;
		NI correctSizeX60gensym57_;
		T3_ = ((*t).data ? (*t).data->Sup.len : 0);
		if (!(T3_ == ((NI) 0))) goto LA4_;
		correctSizeX60gensym57_ = slotsNeeded__LvRw9cAKRC9b1pD3bnSd1DdAtables(((NI) 32));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		(*t).counter = ((NI) 0);
		(*t).data = (tySequence__hLW2w9a9bDM1AHB8BIrU3BYw*) newSeq((&NTI__hLW2w9a9bDM1AHB8BIrU3BYw_), ((NI) (correctSizeX60gensym57_)));
	}
	LA4_: ;
	hc = (NI)0;
	index = rawGet__6JakEI68PBBdEMzqcwDJCAtables((*t), key, (&hc));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		if (!(((NI) 0) <= index)) goto LA8_;
		(*t).data->data[index].Field2 = val;
	}
	goto LA6_;
	LA8_: ;
	{
		tyObject_Table__Os4it9bmHnOQtsd5CqH09aRQ* T21_;
		{
			NI T13_;
			NI correctSizeX60gensym60_;
			T13_ = ((*t).data ? (*t).data->Sup.len : 0);
			if (!(T13_ == ((NI) 0))) goto LA14_;
			correctSizeX60gensym60_ = slotsNeeded__LvRw9cAKRC9b1pD3bnSd1DdAtables(((NI) 32));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			(*t).counter = ((NI) 0);
			(*t).data = (tySequence__hLW2w9a9bDM1AHB8BIrU3BYw*) newSeq((&NTI__hLW2w9a9bDM1AHB8BIrU3BYw_), ((NI) (correctSizeX60gensym60_)));
		}
		LA14_: ;
		{
			NIM_BOOL T18_;
			T18_ = (NIM_BOOL)0;
			T18_ = mustRehash__YnVi9ccarQj2fmPjmGrkOUQtables((*t));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (!T18_) goto LA19_;
			enlarge__e2mchzYwFdhwebJni6CqZg(t);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			index = rawGetKnownHC__eNcUgWoz7pcvMX3xYaDRLgtables((*t), key, hc);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		LA19_: ;
		index = (NI)(((NI) -1) - index);
		T21_ = (tyObject_Table__Os4it9bmHnOQtsd5CqH09aRQ*)0;
		T21_ = t;
		rawInsert__0NF4fuOYJP4YH8beRyMvWg(T21_, (&(*t).data), key, val, hc, index);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		(*t).counter += ((NI) 1);
	}
	LA6_: ;
	}BeforeRet_: ;
}
static N_NIMCALL(void, Marker_tySequence__YuKuU17u5ApAIki23DK9bJw)(void* p, NI op) {
	tySequence__YuKuU17u5ApAIki23DK9bJw* a;
	NI T1_;
	a = (tySequence__YuKuU17u5ApAIki23DK9bJw*)p;
	T1_ = (NI)0;
	for (T1_ = 0; T1_ < (a ? a->Sup.len : 0); T1_++) {
	nimGCvisit((void*)a->data[T1_].Field2, op);
	}
}
N_LIB_PRIVATE N_NIMCALL(void, initTable__TJKMxrEPQUpx86MsTl1C3A)(NI initialSize, tyObject_Table__JrI9bTpOVccKpiJXKOskjFg* Result) {
	NI correctSizeX60gensym96_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	unsureAsgnRef((void**)&(*Result).data, NIM_NIL);
	(*Result).counter = 0;
	correctSizeX60gensym96_ = slotsNeeded__LvRw9cAKRC9b1pD3bnSd1DdAtables(((NI) (initialSize)));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	(*Result).counter = ((NI) 0);
	(*Result).data = (tySequence__YuKuU17u5ApAIki23DK9bJw*) newSeq((&NTI__YuKuU17u5ApAIki23DK9bJw_), ((NI) (correctSizeX60gensym96_)));
	}BeforeRet_: ;
}
static N_INLINE(NI, rawGet__aS7VMifwQ5UsdOtD1Dx7GAtables)(tyObject_Table__JrI9bTpOVccKpiJXKOskjFg t, NI key, NI* hc) {
	NI result;
	NI T1_;
	NI h;
	NI T11_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NI)0;
	T1_ = (NI)0;
	T1_ = hash__aWv89bCLOibANstPF9bHQoyQhashes(key);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	(*hc) = T1_;
	{
		if (!((*hc) == ((NI) 0))) goto LA4_;
		(*hc) = ((NI) 314159265);
	}
	LA4_: ;
	{
		NI T8_;
		T8_ = (t.data ? t.data->Sup.len : 0);
		if (!(T8_ == ((NI) 0))) goto LA9_;
		result = ((NI) -1);
		goto BeforeRet_;
	}
	LA9_: ;
	T11_ = ((t.data ? t.data->Sup.len : 0)-1);
	h = (NI)((*hc) & T11_);
	{
		while (1) {
			NIM_BOOL T14_;
			NI T21_;
			T14_ = (NIM_BOOL)0;
			T14_ = isFilled__5Qpmu5QqwDY0esVXn6wf7wtables(t.data->data[h].Field0);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (!T14_) goto LA13;
			{
				NIM_BOOL T17_;
				T17_ = (NIM_BOOL)0;
				T17_ = (t.data->data[h].Field0 == (*hc));
				if (!(T17_)) goto LA18_;
				T17_ = (t.data->data[h].Field1 == key);
				LA18_: ;
				if (!T17_) goto LA19_;
				result = h;
				goto BeforeRet_;
			}
			LA19_: ;
			T21_ = ((t.data ? t.data->Sup.len : 0)-1);
			h = nextTry__rkF6R1GhqjFh3qSAPaT2Cwtables(h, T21_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		} LA13: ;
	}
	result = (NI)(((NI) -1) - h);
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, getOrDefault__OX9anFuDn9bfK9aeoL9blUUBvw)(tyObject_Table__JrI9bTpOVccKpiJXKOskjFg t, NI key) {
	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
	NI hcX60gensym105_;
	NI indexX60gensym105_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
	hcX60gensym105_ = (NI)0;
	indexX60gensym105_ = rawGet__aS7VMifwQ5UsdOtD1Dx7GAtables(t, key, (&hcX60gensym105_));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		if (!(((NI) 0) <= indexX60gensym105_)) goto LA3_;
		result = t.data->data[indexX60gensym105_].Field2;
	}
	LA3_: ;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NIM_BOOL, mustRehash__FZslO537WT1reRaZVmizDQtables)(tyObject_Table__JrI9bTpOVccKpiJXKOskjFg t) {
	NIM_BOOL result;
	NIM_BOOL T1_;
	NI T2_;
	NI T4_;
	result = (NIM_BOOL)0;
	T1_ = (NIM_BOOL)0;
	T2_ = (t.data ? t.data->Sup.len : 0);
	T1_ = ((NI)(T2_ * ((NI) 2)) < (NI)(t.counter * ((NI) 3)));
	if (T1_) goto LA3_;
	T4_ = (t.data ? t.data->Sup.len : 0);
	T1_ = ((NI)(T4_ - t.counter) < ((NI) 4));
	LA3_: ;
	result = T1_;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, rawInsert__zd631ggeGEiPTefqYEGpiA)(tyObject_Table__JrI9bTpOVccKpiJXKOskjFg* t, tySequence__YuKuU17u5ApAIki23DK9bJw** data, NI key, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* val, NI hc, NI h) {
	(*data)->data[h].Field1 = key;
	(*data)->data[h].Field2 = val;
	(*data)->data[h].Field0 = hc;
}
N_LIB_PRIVATE N_NIMCALL(void, enlarge__NZJD7XooFe3vwlZMQikupw)(tyObject_Table__JrI9bTpOVccKpiJXKOskjFg* t) {
	tySequence__YuKuU17u5ApAIki23DK9bJw* n;
	NI T1_;
	tySequence__YuKuU17u5ApAIki23DK9bJw* T2_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	n = (tySequence__YuKuU17u5ApAIki23DK9bJw*)0;
	T1_ = ((*t).data ? (*t).data->Sup.len : 0);
	n = (tySequence__YuKuU17u5ApAIki23DK9bJw*) newSeq((&NTI__YuKuU17u5ApAIki23DK9bJw_), ((NI) ((NI)(T1_ * ((NI) 2)))));
	T2_ = (tySequence__YuKuU17u5ApAIki23DK9bJw*)0;
	T2_ = (*t).data;
	(*t).data = n;
	n = T2_;
	{
		NI i;
		NI colontmp_;
		NI T4_;
		NI res;
		i = (NI)0;
		colontmp_ = (NI)0;
		T4_ = ((n ? n->Sup.len : 0)-1);
		colontmp_ = T4_;
		res = ((NI) 0);
		{
			while (1) {
				NI eh;
				if (!(res <= colontmp_)) goto LA6;
				i = res;
				eh = n->data[i].Field0;
				{
					NIM_BOOL T9_;
					NI j;
					NI T12_;
					tyObject_Table__JrI9bTpOVccKpiJXKOskjFg* T17_;
					NI T18_;
					NI T19_;
					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T20_;
					T9_ = (NIM_BOOL)0;
					T9_ = isFilled__5Qpmu5QqwDY0esVXn6wf7wtables(eh);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					if (!T9_) goto LA10_;
					T12_ = (((*t).data ? (*t).data->Sup.len : 0)-1);
					j = (NI)(eh & T12_);
					{
						while (1) {
							NIM_BOOL T15_;
							NI T16_;
							T15_ = (NIM_BOOL)0;
							T15_ = isFilled__5Qpmu5QqwDY0esVXn6wf7wtables((*t).data->data[j].Field0);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
							if (!T15_) goto LA14;
							T16_ = (((*t).data ? (*t).data->Sup.len : 0)-1);
							j = nextTry__rkF6R1GhqjFh3qSAPaT2Cwtables(j, T16_);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						} LA14: ;
					}
					T17_ = (tyObject_Table__JrI9bTpOVccKpiJXKOskjFg*)0;
					T17_ = t;
					T18_ = (NI)0;
					T18_ = n->data[i].Field1;
					n->data[i].Field1 = 0;
					T19_ = (NI)0;
					T19_ = T18_;
					T20_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
					T20_ = n->data[i].Field2;
					n->data[i].Field2 = NIM_NIL;
					rawInsert__zd631ggeGEiPTefqYEGpiA(T17_, (&(*t).data), T19_, T20_, eh, j);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				}
				LA10_: ;
				res += ((NI) 1);
			} LA6: ;
		}
	}
	}BeforeRet_: ;
}
static N_INLINE(NI, rawGetKnownHC__abkoCGbCZlz6d4aa4hHxhgtables)(tyObject_Table__JrI9bTpOVccKpiJXKOskjFg t, NI key, NI hc) {
	NI result;
	NI h;
	NI T6_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NI)0;
	{
		NI T3_;
		T3_ = (t.data ? t.data->Sup.len : 0);
		if (!(T3_ == ((NI) 0))) goto LA4_;
		result = ((NI) -1);
		goto BeforeRet_;
	}
	LA4_: ;
	T6_ = ((t.data ? t.data->Sup.len : 0)-1);
	h = (NI)(hc & T6_);
	{
		while (1) {
			NIM_BOOL T9_;
			NI T16_;
			T9_ = (NIM_BOOL)0;
			T9_ = isFilled__5Qpmu5QqwDY0esVXn6wf7wtables(t.data->data[h].Field0);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (!T9_) goto LA8;
			{
				NIM_BOOL T12_;
				T12_ = (NIM_BOOL)0;
				T12_ = (t.data->data[h].Field0 == hc);
				if (!(T12_)) goto LA13_;
				T12_ = (t.data->data[h].Field1 == key);
				LA13_: ;
				if (!T12_) goto LA14_;
				result = h;
				goto BeforeRet_;
			}
			LA14_: ;
			T16_ = ((t.data ? t.data->Sup.len : 0)-1);
			h = nextTry__rkF6R1GhqjFh3qSAPaT2Cwtables(h, T16_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		} LA8: ;
	}
	result = (NI)(((NI) -1) - h);
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, X5BX5Deq___tMEyAvlcC3r82WGaTaSYrQ)(tyObject_Table__JrI9bTpOVccKpiJXKOskjFg* t, NI key, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* val) {
	NI hc;
	NI index;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		NI T3_;
		NI correctSizeX60gensym112_;
		T3_ = ((*t).data ? (*t).data->Sup.len : 0);
		if (!(T3_ == ((NI) 0))) goto LA4_;
		correctSizeX60gensym112_ = slotsNeeded__LvRw9cAKRC9b1pD3bnSd1DdAtables(((NI) 32));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		(*t).counter = ((NI) 0);
		(*t).data = (tySequence__YuKuU17u5ApAIki23DK9bJw*) newSeq((&NTI__YuKuU17u5ApAIki23DK9bJw_), ((NI) (correctSizeX60gensym112_)));
	}
	LA4_: ;
	hc = (NI)0;
	index = rawGet__aS7VMifwQ5UsdOtD1Dx7GAtables((*t), key, (&hc));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		if (!(((NI) 0) <= index)) goto LA8_;
		(*t).data->data[index].Field2 = val;
	}
	goto LA6_;
	LA8_: ;
	{
		tyObject_Table__JrI9bTpOVccKpiJXKOskjFg* T21_;
		{
			NI T13_;
			NI correctSizeX60gensym115_;
			T13_ = ((*t).data ? (*t).data->Sup.len : 0);
			if (!(T13_ == ((NI) 0))) goto LA14_;
			correctSizeX60gensym115_ = slotsNeeded__LvRw9cAKRC9b1pD3bnSd1DdAtables(((NI) 32));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			(*t).counter = ((NI) 0);
			(*t).data = (tySequence__YuKuU17u5ApAIki23DK9bJw*) newSeq((&NTI__YuKuU17u5ApAIki23DK9bJw_), ((NI) (correctSizeX60gensym115_)));
		}
		LA14_: ;
		{
			NIM_BOOL T18_;
			T18_ = (NIM_BOOL)0;
			T18_ = mustRehash__FZslO537WT1reRaZVmizDQtables((*t));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (!T18_) goto LA19_;
			enlarge__NZJD7XooFe3vwlZMQikupw(t);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			index = rawGetKnownHC__abkoCGbCZlz6d4aa4hHxhgtables((*t), key, hc);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		LA19_: ;
		index = (NI)(((NI) -1) - index);
		T21_ = (tyObject_Table__JrI9bTpOVccKpiJXKOskjFg*)0;
		T21_ = t;
		rawInsert__zd631ggeGEiPTefqYEGpiA(T21_, (&(*t).data), key, val, hc, index);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		(*t).counter += ((NI) 1);
	}
	LA6_: ;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw**, X5BX5D___X7HRLXyMghOAScJitThqsw)(tyObject_Table__JrI9bTpOVccKpiJXKOskjFg* t, NI key) {
	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** result;
	NI hcX60gensym22_;
	NI indexX60gensym22_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw**)0;
	hcX60gensym22_ = (NI)0;
	indexX60gensym22_ = rawGet__aS7VMifwQ5UsdOtD1Dx7GAtables((*t), key, (&hcX60gensym22_));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		if (!(((NI) 0) <= indexX60gensym22_)) goto LA3_;
		result = &(*t).data->data[indexX60gensym22_].Field2;
	}
	goto LA1_;
	LA3_: ;
	{
		tyObject_KeyError__t7nhKLvXTQS9cS8ByJU9bIag* T6_;
		NimStringDesc* T7_;
		NimStringDesc* T8_;
		T6_ = (tyObject_KeyError__t7nhKLvXTQS9cS8ByJU9bIag*)0;
		T6_ = (tyObject_KeyError__t7nhKLvXTQS9cS8ByJU9bIag*) newObj((&NTI__8SzoIAgLw9ci2v0yafHj9b6Q_), sizeof(tyObject_KeyError__t7nhKLvXTQS9cS8ByJU9bIag));
		(*T6_).Sup.Sup.Sup.Sup.m_type = (&NTI__t7nhKLvXTQS9cS8ByJU9bIag_);
		(*T6_).Sup.Sup.Sup.name = "KeyError";
		T7_ = (NimStringDesc*)0;
		T8_ = (NimStringDesc*)0;
		T8_ = nimIntToStr(key);
		T7_ = rawNewString((T8_ ? T8_->Sup.len : 0) + 15);
appendString(T7_, ((NimStringDesc*) &TM__4SoG2KRQy3oMm9aUzSLtGrA_21));
appendString(T7_, T8_);
		(*T6_).Sup.Sup.Sup.message = T7_;
		(*T6_).Sup.Sup.Sup.parent = NIM_NIL;
		raiseExceptionEx((Exception*)T6_, "KeyError", "[]", "tables.nim", 262);
		goto BeforeRet_;
	}
	LA1_: ;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NI, rawGet__UJsERo5BkViQH6ie2d9asaQtables)(tyObject_Table__IioUJGdqPI6xC7S7QF8MBw t, tyArray__qtqsWM5aXmcpMIVmvq3kAA key, NI* hc) {
	NI result;
	NI T1_;
	NI h;
	NI T11_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NI)0;
	T1_ = (NI)0;
	T1_ = hash__XFPFecV5bGJUDhwku4bw7A(key);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	(*hc) = T1_;
	{
		if (!((*hc) == ((NI) 0))) goto LA4_;
		(*hc) = ((NI) 314159265);
	}
	LA4_: ;
	{
		NI T8_;
		T8_ = (t.data ? t.data->Sup.len : 0);
		if (!(T8_ == ((NI) 0))) goto LA9_;
		result = ((NI) -1);
		goto BeforeRet_;
	}
	LA9_: ;
	T11_ = ((t.data ? t.data->Sup.len : 0)-1);
	h = (NI)((*hc) & T11_);
	{
		while (1) {
			NIM_BOOL T14_;
			NI T21_;
			T14_ = (NIM_BOOL)0;
			T14_ = isFilled__5Qpmu5QqwDY0esVXn6wf7wtables(t.data->data[h].Field0);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (!T14_) goto LA13;
			{
				NIM_BOOL T17_;
				T17_ = (NIM_BOOL)0;
				T17_ = (t.data->data[h].Field0 == (*hc));
				if (!(T17_)) goto LA18_;
				T17_ = eqeq___76rDYGuUQDl2xSav8vUDiA(t.data->data[h].Field1, key);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				LA18_: ;
				if (!T17_) goto LA19_;
				result = h;
				goto BeforeRet_;
			}
			LA19_: ;
			T21_ = ((t.data ? t.data->Sup.len : 0)-1);
			h = nextTry__rkF6R1GhqjFh3qSAPaT2Cwtables(h, T21_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		} LA13: ;
	}
	result = (NI)(((NI) -1) - h);
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ*, getOrDefault__osKkoxC3A03cBoj9bK1Or9cQ)(tyObject_Table__IioUJGdqPI6xC7S7QF8MBw t, tyArray__qtqsWM5aXmcpMIVmvq3kAA key) {
	tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ* result;
	NI hcX60gensym102_;
	NI indexX60gensym102_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ*)0;
	hcX60gensym102_ = (NI)0;
	indexX60gensym102_ = rawGet__UJsERo5BkViQH6ie2d9asaQtables(t, key, (&hcX60gensym102_));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		if (!(((NI) 0) <= indexX60gensym102_)) goto LA3_;
		result = t.data->data[indexX60gensym102_].Field2;
	}
	LA3_: ;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NIM_BOOL, mustRehash__czPJfvxxSt2pCWZYMPjskAtables)(tyObject_Table__IioUJGdqPI6xC7S7QF8MBw t) {
	NIM_BOOL result;
	NIM_BOOL T1_;
	NI T2_;
	NI T4_;
	result = (NIM_BOOL)0;
	T1_ = (NIM_BOOL)0;
	T2_ = (t.data ? t.data->Sup.len : 0);
	T1_ = ((NI)(T2_ * ((NI) 2)) < (NI)(t.counter * ((NI) 3)));
	if (T1_) goto LA3_;
	T4_ = (t.data ? t.data->Sup.len : 0);
	T1_ = ((NI)(T4_ - t.counter) < ((NI) 4));
	LA3_: ;
	result = T1_;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, rawInsert__u9aJV4Xxo1Qv0WGIfVav9c2Q)(tyObject_Table__IioUJGdqPI6xC7S7QF8MBw* t, tySequence__Qr6E8eH7btq79cFKGaJfGLw** data, tyArray__qtqsWM5aXmcpMIVmvq3kAA key, tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ* val, NI hc, NI h) {
	nimCopyMem((void*)(*data)->data[h].Field1, (NIM_CONST void*)key, sizeof(tyArray__qtqsWM5aXmcpMIVmvq3kAA));
	(*data)->data[h].Field2 = val;
	(*data)->data[h].Field0 = hc;
}
N_LIB_PRIVATE N_NIMCALL(void, enlarge__wtlRvAPpfH5zwFZ6PVJ9bEw)(tyObject_Table__IioUJGdqPI6xC7S7QF8MBw* t) {
	tySequence__Qr6E8eH7btq79cFKGaJfGLw* n;
	NI T1_;
	tySequence__Qr6E8eH7btq79cFKGaJfGLw* T2_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	n = (tySequence__Qr6E8eH7btq79cFKGaJfGLw*)0;
	T1_ = ((*t).data ? (*t).data->Sup.len : 0);
	n = (tySequence__Qr6E8eH7btq79cFKGaJfGLw*) newSeq((&NTI__Qr6E8eH7btq79cFKGaJfGLw_), ((NI) ((NI)(T1_ * ((NI) 2)))));
	T2_ = (tySequence__Qr6E8eH7btq79cFKGaJfGLw*)0;
	T2_ = (*t).data;
	(*t).data = n;
	n = T2_;
	{
		NI i;
		NI colontmp_;
		NI T4_;
		NI res;
		i = (NI)0;
		colontmp_ = (NI)0;
		T4_ = ((n ? n->Sup.len : 0)-1);
		colontmp_ = T4_;
		res = ((NI) 0);
		{
			while (1) {
				NI eh;
				if (!(res <= colontmp_)) goto LA6;
				i = res;
				eh = n->data[i].Field0;
				{
					NIM_BOOL T9_;
					NI j;
					NI T12_;
					tyObject_Table__IioUJGdqPI6xC7S7QF8MBw* T17_;
					tyArray__qtqsWM5aXmcpMIVmvq3kAA T18_;
					tyArray__qtqsWM5aXmcpMIVmvq3kAA T19_;
					tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ* T20_;
					T9_ = (NIM_BOOL)0;
					T9_ = isFilled__5Qpmu5QqwDY0esVXn6wf7wtables(eh);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					if (!T9_) goto LA10_;
					T12_ = (((*t).data ? (*t).data->Sup.len : 0)-1);
					j = (NI)(eh & T12_);
					{
						while (1) {
							NIM_BOOL T15_;
							NI T16_;
							T15_ = (NIM_BOOL)0;
							T15_ = isFilled__5Qpmu5QqwDY0esVXn6wf7wtables((*t).data->data[j].Field0);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
							if (!T15_) goto LA14;
							T16_ = (((*t).data ? (*t).data->Sup.len : 0)-1);
							j = nextTry__rkF6R1GhqjFh3qSAPaT2Cwtables(j, T16_);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						} LA14: ;
					}
					T17_ = (tyObject_Table__IioUJGdqPI6xC7S7QF8MBw*)0;
					T17_ = t;
					nimCopyMem((void*)T18_, (NIM_CONST void*)n->data[i].Field1, sizeof(tyArray__qtqsWM5aXmcpMIVmvq3kAA));
					nimZeroMem((void*)n->data[i].Field1, sizeof(tyArray__qtqsWM5aXmcpMIVmvq3kAA));
					nimCopyMem((void*)T19_, (NIM_CONST void*)T18_, sizeof(tyArray__qtqsWM5aXmcpMIVmvq3kAA));
					T20_ = (tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ*)0;
					T20_ = n->data[i].Field2;
					n->data[i].Field2 = NIM_NIL;
					rawInsert__u9aJV4Xxo1Qv0WGIfVav9c2Q(T17_, (&(*t).data), T19_, T20_, eh, j);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				}
				LA10_: ;
				res += ((NI) 1);
			} LA6: ;
		}
	}
	}BeforeRet_: ;
}
static N_INLINE(NI, rawGetKnownHC__bT8cRF5uMfM8lc5JOL9baswtables)(tyObject_Table__IioUJGdqPI6xC7S7QF8MBw t, tyArray__qtqsWM5aXmcpMIVmvq3kAA key, NI hc) {
	NI result;
	NI h;
	NI T6_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NI)0;
	{
		NI T3_;
		T3_ = (t.data ? t.data->Sup.len : 0);
		if (!(T3_ == ((NI) 0))) goto LA4_;
		result = ((NI) -1);
		goto BeforeRet_;
	}
	LA4_: ;
	T6_ = ((t.data ? t.data->Sup.len : 0)-1);
	h = (NI)(hc & T6_);
	{
		while (1) {
			NIM_BOOL T9_;
			NI T16_;
			T9_ = (NIM_BOOL)0;
			T9_ = isFilled__5Qpmu5QqwDY0esVXn6wf7wtables(t.data->data[h].Field0);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (!T9_) goto LA8;
			{
				NIM_BOOL T12_;
				T12_ = (NIM_BOOL)0;
				T12_ = (t.data->data[h].Field0 == hc);
				if (!(T12_)) goto LA13_;
				T12_ = eqeq___76rDYGuUQDl2xSav8vUDiA(t.data->data[h].Field1, key);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				LA13_: ;
				if (!T12_) goto LA14_;
				result = h;
				goto BeforeRet_;
			}
			LA14_: ;
			T16_ = ((t.data ? t.data->Sup.len : 0)-1);
			h = nextTry__rkF6R1GhqjFh3qSAPaT2Cwtables(h, T16_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		} LA8: ;
	}
	result = (NI)(((NI) -1) - h);
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, X5BX5Deq___mDjERi9aeOTPpwet1knXpgw)(tyObject_Table__IioUJGdqPI6xC7S7QF8MBw* t, tyArray__qtqsWM5aXmcpMIVmvq3kAA key, tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ* val) {
	NI hc;
	NI index;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		NI T3_;
		NI correctSizeX60gensym206_;
		T3_ = ((*t).data ? (*t).data->Sup.len : 0);
		if (!(T3_ == ((NI) 0))) goto LA4_;
		correctSizeX60gensym206_ = slotsNeeded__LvRw9cAKRC9b1pD3bnSd1DdAtables(((NI) 32));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		(*t).counter = ((NI) 0);
		(*t).data = (tySequence__Qr6E8eH7btq79cFKGaJfGLw*) newSeq((&NTI__Qr6E8eH7btq79cFKGaJfGLw_), ((NI) (correctSizeX60gensym206_)));
	}
	LA4_: ;
	hc = (NI)0;
	index = rawGet__UJsERo5BkViQH6ie2d9asaQtables((*t), key, (&hc));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		if (!(((NI) 0) <= index)) goto LA8_;
		(*t).data->data[index].Field2 = val;
	}
	goto LA6_;
	LA8_: ;
	{
		tyObject_Table__IioUJGdqPI6xC7S7QF8MBw* T21_;
		{
			NI T13_;
			NI correctSizeX60gensym209_;
			T13_ = ((*t).data ? (*t).data->Sup.len : 0);
			if (!(T13_ == ((NI) 0))) goto LA14_;
			correctSizeX60gensym209_ = slotsNeeded__LvRw9cAKRC9b1pD3bnSd1DdAtables(((NI) 32));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			(*t).counter = ((NI) 0);
			(*t).data = (tySequence__Qr6E8eH7btq79cFKGaJfGLw*) newSeq((&NTI__Qr6E8eH7btq79cFKGaJfGLw_), ((NI) (correctSizeX60gensym209_)));
		}
		LA14_: ;
		{
			NIM_BOOL T18_;
			T18_ = (NIM_BOOL)0;
			T18_ = mustRehash__czPJfvxxSt2pCWZYMPjskAtables((*t));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (!T18_) goto LA19_;
			enlarge__wtlRvAPpfH5zwFZ6PVJ9bEw(t);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			index = rawGetKnownHC__bT8cRF5uMfM8lc5JOL9baswtables((*t), key, hc);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		LA19_: ;
		index = (NI)(((NI) -1) - index);
		T21_ = (tyObject_Table__IioUJGdqPI6xC7S7QF8MBw*)0;
		T21_ = t;
		rawInsert__u9aJV4Xxo1Qv0WGIfVav9c2Q(T21_, (&(*t).data), key, val, hc, index);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		(*t).counter += ((NI) 1);
	}
	LA6_: ;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, X5BX5D___OX9anFuDn9bfK9aeoL9blUUBvw_2)(tyObject_Table__JrI9bTpOVccKpiJXKOskjFg t, NI key) {
	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
	NI hcX60gensym20_;
	NI indexX60gensym20_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
	hcX60gensym20_ = (NI)0;
	indexX60gensym20_ = rawGet__aS7VMifwQ5UsdOtD1Dx7GAtables(t, key, (&hcX60gensym20_));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		if (!(((NI) 0) <= indexX60gensym20_)) goto LA3_;
		result = t.data->data[indexX60gensym20_].Field2;
	}
	goto LA1_;
	LA3_: ;
	{
		tyObject_KeyError__t7nhKLvXTQS9cS8ByJU9bIag* T6_;
		NimStringDesc* T7_;
		NimStringDesc* T8_;
		T6_ = (tyObject_KeyError__t7nhKLvXTQS9cS8ByJU9bIag*)0;
		T6_ = (tyObject_KeyError__t7nhKLvXTQS9cS8ByJU9bIag*) newObj((&NTI__8SzoIAgLw9ci2v0yafHj9b6Q_), sizeof(tyObject_KeyError__t7nhKLvXTQS9cS8ByJU9bIag));
		(*T6_).Sup.Sup.Sup.Sup.m_type = (&NTI__t7nhKLvXTQS9cS8ByJU9bIag_);
		(*T6_).Sup.Sup.Sup.name = "KeyError";
		T7_ = (NimStringDesc*)0;
		T8_ = (NimStringDesc*)0;
		T8_ = nimIntToStr(key);
		T7_ = rawNewString((T8_ ? T8_->Sup.len : 0) + 15);
appendString(T7_, ((NimStringDesc*) &TM__4SoG2KRQy3oMm9aUzSLtGrA_21));
appendString(T7_, T8_);
		(*T6_).Sup.Sup.Sup.message = T7_;
		(*T6_).Sup.Sup.Sup.parent = NIM_NIL;
		raiseExceptionEx((Exception*)T6_, "KeyError", "[]", "tables.nim", 262);
		goto BeforeRet_;
	}
	LA1_: ;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NI, rawGet__3B39bms3hJS0Syhd7xxEULgtables)(tyObject_Table__NttoEzoiq5CiphZe81oadg t, NimStringDesc* key, NI* hc) {
	NI result;
	NI T1_;
	NI h;
	NI T11_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NI)0;
	T1_ = (NI)0;
	T1_ = hash__6PCYkKlCNhq9cnRLnqWKkwQ(key);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	(*hc) = T1_;
	{
		if (!((*hc) == ((NI) 0))) goto LA4_;
		(*hc) = ((NI) 314159265);
	}
	LA4_: ;
	{
		NI T8_;
		T8_ = (t.data ? t.data->Sup.len : 0);
		if (!(T8_ == ((NI) 0))) goto LA9_;
		result = ((NI) -1);
		goto BeforeRet_;
	}
	LA9_: ;
	T11_ = ((t.data ? t.data->Sup.len : 0)-1);
	h = (NI)((*hc) & T11_);
	{
		while (1) {
			NIM_BOOL T14_;
			NI T21_;
			T14_ = (NIM_BOOL)0;
			T14_ = isFilled__5Qpmu5QqwDY0esVXn6wf7wtables(t.data->data[h].Field0);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (!T14_) goto LA13;
			{
				NIM_BOOL T17_;
				T17_ = (NIM_BOOL)0;
				T17_ = (t.data->data[h].Field0 == (*hc));
				if (!(T17_)) goto LA18_;
				T17_ = eqStrings(t.data->data[h].Field1, key);
				LA18_: ;
				if (!T17_) goto LA19_;
				result = h;
				goto BeforeRet_;
			}
			LA19_: ;
			T21_ = ((t.data ? t.data->Sup.len : 0)-1);
			h = nextTry__rkF6R1GhqjFh3qSAPaT2Cwtables(h, T21_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		} LA13: ;
	}
	result = (NI)(((NI) -1) - h);
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NI64, getOrDefault__z8A9cwbmxkLXNxRJ9arkRPMQ)(tyObject_Table__NttoEzoiq5CiphZe81oadg t, NimStringDesc* key) {
	NI64 result;
	NI hcX60gensym964_;
	NI indexX60gensym964_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NI64)0;
	hcX60gensym964_ = (NI)0;
	indexX60gensym964_ = rawGet__3B39bms3hJS0Syhd7xxEULgtables(t, key, (&hcX60gensym964_));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		if (!(((NI) 0) <= indexX60gensym964_)) goto LA3_;
		result = t.data->data[indexX60gensym964_].Field2;
	}
	LA3_: ;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NIM_BOOL, mustRehash__KVLO3XLRu9btzF86gyyrOFwtables)(tyObject_Table__NttoEzoiq5CiphZe81oadg t) {
	NIM_BOOL result;
	NIM_BOOL T1_;
	NI T2_;
	NI T4_;
	result = (NIM_BOOL)0;
	T1_ = (NIM_BOOL)0;
	T2_ = (t.data ? t.data->Sup.len : 0);
	T1_ = ((NI)(T2_ * ((NI) 2)) < (NI)(t.counter * ((NI) 3)));
	if (T1_) goto LA3_;
	T4_ = (t.data ? t.data->Sup.len : 0);
	T1_ = ((NI)(T4_ - t.counter) < ((NI) 4));
	LA3_: ;
	result = T1_;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, rawInsert__XH2oBuEgDaY43m9bc9czCHzQ)(tyObject_Table__NttoEzoiq5CiphZe81oadg* t, tySequence__squ9b9bUH4OLHf6cEMrt6hVA** data, NimStringDesc* key, NI64 val, NI hc, NI h) {
	(*data)->data[h].Field1 = copyString(key);
	(*data)->data[h].Field2 = val;
	(*data)->data[h].Field0 = hc;
}
N_LIB_PRIVATE N_NIMCALL(void, enlarge__Ia9aKwc9aYyF2xX8fakDniHw)(tyObject_Table__NttoEzoiq5CiphZe81oadg* t) {
	tySequence__squ9b9bUH4OLHf6cEMrt6hVA* n;
	NI T1_;
	tySequence__squ9b9bUH4OLHf6cEMrt6hVA* T2_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	n = (tySequence__squ9b9bUH4OLHf6cEMrt6hVA*)0;
	T1_ = ((*t).data ? (*t).data->Sup.len : 0);
	n = (tySequence__squ9b9bUH4OLHf6cEMrt6hVA*) newSeq((&NTI__squ9b9bUH4OLHf6cEMrt6hVA_), ((NI) ((NI)(T1_ * ((NI) 2)))));
	T2_ = (tySequence__squ9b9bUH4OLHf6cEMrt6hVA*)0;
	T2_ = (*t).data;
	(*t).data = n;
	n = T2_;
	{
		NI i;
		NI colontmp_;
		NI T4_;
		NI res;
		i = (NI)0;
		colontmp_ = (NI)0;
		T4_ = ((n ? n->Sup.len : 0)-1);
		colontmp_ = T4_;
		res = ((NI) 0);
		{
			while (1) {
				NI eh;
				if (!(res <= colontmp_)) goto LA6;
				i = res;
				eh = n->data[i].Field0;
				{
					NIM_BOOL T9_;
					NI j;
					NI T12_;
					tyObject_Table__NttoEzoiq5CiphZe81oadg* T17_;
					NimStringDesc* T18_;
					NimStringDesc* T19_;
					NI64 T20_;
					T9_ = (NIM_BOOL)0;
					T9_ = isFilled__5Qpmu5QqwDY0esVXn6wf7wtables(eh);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					if (!T9_) goto LA10_;
					T12_ = (((*t).data ? (*t).data->Sup.len : 0)-1);
					j = (NI)(eh & T12_);
					{
						while (1) {
							NIM_BOOL T15_;
							NI T16_;
							T15_ = (NIM_BOOL)0;
							T15_ = isFilled__5Qpmu5QqwDY0esVXn6wf7wtables((*t).data->data[j].Field0);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
							if (!T15_) goto LA14;
							T16_ = (((*t).data ? (*t).data->Sup.len : 0)-1);
							j = nextTry__rkF6R1GhqjFh3qSAPaT2Cwtables(j, T16_);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						} LA14: ;
					}
					T17_ = (tyObject_Table__NttoEzoiq5CiphZe81oadg*)0;
					T17_ = t;
					T18_ = (NimStringDesc*)0;
					T18_ = n->data[i].Field1;
					n->data[i].Field1 = NIM_NIL;
					T19_ = (NimStringDesc*)0;
					T19_ = T18_;
					T20_ = (NI64)0;
					T20_ = n->data[i].Field2;
					n->data[i].Field2 = 0;
					rawInsert__XH2oBuEgDaY43m9bc9czCHzQ(T17_, (&(*t).data), T19_, T20_, eh, j);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				}
				LA10_: ;
				res += ((NI) 1);
			} LA6: ;
		}
	}
	}BeforeRet_: ;
}
static N_INLINE(NI, rawGetKnownHC__A9bYZN6s9cFvr27D9aBNRZxQwtables)(tyObject_Table__NttoEzoiq5CiphZe81oadg t, NimStringDesc* key, NI hc) {
	NI result;
	NI h;
	NI T6_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NI)0;
	{
		NI T3_;
		T3_ = (t.data ? t.data->Sup.len : 0);
		if (!(T3_ == ((NI) 0))) goto LA4_;
		result = ((NI) -1);
		goto BeforeRet_;
	}
	LA4_: ;
	T6_ = ((t.data ? t.data->Sup.len : 0)-1);
	h = (NI)(hc & T6_);
	{
		while (1) {
			NIM_BOOL T9_;
			NI T16_;
			T9_ = (NIM_BOOL)0;
			T9_ = isFilled__5Qpmu5QqwDY0esVXn6wf7wtables(t.data->data[h].Field0);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (!T9_) goto LA8;
			{
				NIM_BOOL T12_;
				T12_ = (NIM_BOOL)0;
				T12_ = (t.data->data[h].Field0 == hc);
				if (!(T12_)) goto LA13_;
				T12_ = eqStrings(t.data->data[h].Field1, key);
				LA13_: ;
				if (!T12_) goto LA14_;
				result = h;
				goto BeforeRet_;
			}
			LA14_: ;
			T16_ = ((t.data ? t.data->Sup.len : 0)-1);
			h = nextTry__rkF6R1GhqjFh3qSAPaT2Cwtables(h, T16_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		} LA8: ;
	}
	result = (NI)(((NI) -1) - h);
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, X5BX5Deq___fM9b60sY7h9aUB763UQb3oXA)(tyObject_Table__NttoEzoiq5CiphZe81oadg* t, NimStringDesc* key, NI64 val) {
	NI hc;
	NI index;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		NI T3_;
		NI correctSizeX60gensym972_;
		T3_ = ((*t).data ? (*t).data->Sup.len : 0);
		if (!(T3_ == ((NI) 0))) goto LA4_;
		correctSizeX60gensym972_ = slotsNeeded__LvRw9cAKRC9b1pD3bnSd1DdAtables(((NI) 32));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		(*t).counter = ((NI) 0);
		(*t).data = (tySequence__squ9b9bUH4OLHf6cEMrt6hVA*) newSeq((&NTI__squ9b9bUH4OLHf6cEMrt6hVA_), ((NI) (correctSizeX60gensym972_)));
	}
	LA4_: ;
	hc = (NI)0;
	index = rawGet__3B39bms3hJS0Syhd7xxEULgtables((*t), key, (&hc));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		if (!(((NI) 0) <= index)) goto LA8_;
		(*t).data->data[index].Field2 = val;
	}
	goto LA6_;
	LA8_: ;
	{
		tyObject_Table__NttoEzoiq5CiphZe81oadg* T21_;
		{
			NI T13_;
			NI correctSizeX60gensym975_;
			T13_ = ((*t).data ? (*t).data->Sup.len : 0);
			if (!(T13_ == ((NI) 0))) goto LA14_;
			correctSizeX60gensym975_ = slotsNeeded__LvRw9cAKRC9b1pD3bnSd1DdAtables(((NI) 32));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			(*t).counter = ((NI) 0);
			(*t).data = (tySequence__squ9b9bUH4OLHf6cEMrt6hVA*) newSeq((&NTI__squ9b9bUH4OLHf6cEMrt6hVA_), ((NI) (correctSizeX60gensym975_)));
		}
		LA14_: ;
		{
			NIM_BOOL T18_;
			T18_ = (NIM_BOOL)0;
			T18_ = mustRehash__KVLO3XLRu9btzF86gyyrOFwtables((*t));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (!T18_) goto LA19_;
			enlarge__Ia9aKwc9aYyF2xX8fakDniHw(t);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			index = rawGetKnownHC__A9bYZN6s9cFvr27D9aBNRZxQwtables((*t), key, hc);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		LA19_: ;
		index = (NI)(((NI) -1) - index);
		T21_ = (tyObject_Table__NttoEzoiq5CiphZe81oadg*)0;
		T21_ = t;
		rawInsert__XH2oBuEgDaY43m9bc9czCHzQ(T21_, (&(*t).data), key, val, hc, index);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		(*t).counter += ((NI) 1);
	}
	LA6_: ;
	}BeforeRet_: ;
}
static N_INLINE(NI, rawGet__SMyMIOHvYU9bKbIDA9aXa0CQtables)(tyObject_Table__0Y2brGGKD9bV6GJLXT9aUDgA t, NimStringDesc* key, NI* hc) {
	NI result;
	NI T1_;
	NI h;
	NI T11_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NI)0;
	T1_ = (NI)0;
	T1_ = hash__6PCYkKlCNhq9cnRLnqWKkwQ(key);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	(*hc) = T1_;
	{
		if (!((*hc) == ((NI) 0))) goto LA4_;
		(*hc) = ((NI) 314159265);
	}
	LA4_: ;
	{
		NI T8_;
		T8_ = (t.data ? t.data->Sup.len : 0);
		if (!(T8_ == ((NI) 0))) goto LA9_;
		result = ((NI) -1);
		goto BeforeRet_;
	}
	LA9_: ;
	T11_ = ((t.data ? t.data->Sup.len : 0)-1);
	h = (NI)((*hc) & T11_);
	{
		while (1) {
			NIM_BOOL T14_;
			NI T21_;
			T14_ = (NIM_BOOL)0;
			T14_ = isFilled__5Qpmu5QqwDY0esVXn6wf7wtables(t.data->data[h].Field0);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (!T14_) goto LA13;
			{
				NIM_BOOL T17_;
				T17_ = (NIM_BOOL)0;
				T17_ = (t.data->data[h].Field0 == (*hc));
				if (!(T17_)) goto LA18_;
				T17_ = eqStrings(t.data->data[h].Field1, key);
				LA18_: ;
				if (!T17_) goto LA19_;
				result = h;
				goto BeforeRet_;
			}
			LA19_: ;
			T21_ = ((t.data ? t.data->Sup.len : 0)-1);
			h = nextTry__rkF6R1GhqjFh3qSAPaT2Cwtables(h, T21_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		} LA13: ;
	}
	result = (NI)(((NI) -1) - h);
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasKey__tNDb8HX4Pcd05E6w80ngeA_2)(tyObject_Table__0Y2brGGKD9bV6GJLXT9aUDgA t, NimStringDesc* key) {
	NIM_BOOL result;
	NI hc;
	NI T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NIM_BOOL)0;
	hc = (NI)0;
	T1_ = (NI)0;
	T1_ = rawGet__SMyMIOHvYU9bKbIDA9aXa0CQtables(t, key, (&hc));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	result = (((NI) 0) <= T1_);
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, contains__tNDb8HX4Pcd05E6w80ngeA)(tyObject_Table__0Y2brGGKD9bV6GJLXT9aUDgA t, NimStringDesc* key) {
	NIM_BOOL result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NIM_BOOL)0;
	result = hasKey__tNDb8HX4Pcd05E6w80ngeA_2(t, key);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NIM_BOOL, mustRehash__VtDMB9bHz8P8P9bEROJFDiJgtables)(tyObject_Table__0Y2brGGKD9bV6GJLXT9aUDgA t) {
	NIM_BOOL result;
	NIM_BOOL T1_;
	NI T2_;
	NI T4_;
	result = (NIM_BOOL)0;
	T1_ = (NIM_BOOL)0;
	T2_ = (t.data ? t.data->Sup.len : 0);
	T1_ = ((NI)(T2_ * ((NI) 2)) < (NI)(t.counter * ((NI) 3)));
	if (T1_) goto LA3_;
	T4_ = (t.data ? t.data->Sup.len : 0);
	T1_ = ((NI)(T4_ - t.counter) < ((NI) 4));
	LA3_: ;
	result = T1_;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, rawInsert__dphYj2K2cQV4c59cmH9bTrwQ)(tyObject_Table__0Y2brGGKD9bV6GJLXT9aUDgA* t, tySequence__23SMqauuRsbDANhthj9bWlA** data, NimStringDesc* key, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* val, NI hc, NI h) {
	(*data)->data[h].Field1 = copyString(key);
	(*data)->data[h].Field2 = val;
	(*data)->data[h].Field0 = hc;
}
N_LIB_PRIVATE N_NIMCALL(void, enlarge__6K1KMyIJ44JU1rDXMt00fQ)(tyObject_Table__0Y2brGGKD9bV6GJLXT9aUDgA* t) {
	tySequence__23SMqauuRsbDANhthj9bWlA* n;
	NI T1_;
	tySequence__23SMqauuRsbDANhthj9bWlA* T2_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	n = (tySequence__23SMqauuRsbDANhthj9bWlA*)0;
	T1_ = ((*t).data ? (*t).data->Sup.len : 0);
	n = (tySequence__23SMqauuRsbDANhthj9bWlA*) newSeq((&NTI__23SMqauuRsbDANhthj9bWlA_), ((NI) ((NI)(T1_ * ((NI) 2)))));
	T2_ = (tySequence__23SMqauuRsbDANhthj9bWlA*)0;
	T2_ = (*t).data;
	(*t).data = n;
	n = T2_;
	{
		NI i;
		NI colontmp_;
		NI T4_;
		NI res;
		i = (NI)0;
		colontmp_ = (NI)0;
		T4_ = ((n ? n->Sup.len : 0)-1);
		colontmp_ = T4_;
		res = ((NI) 0);
		{
			while (1) {
				NI eh;
				if (!(res <= colontmp_)) goto LA6;
				i = res;
				eh = n->data[i].Field0;
				{
					NIM_BOOL T9_;
					NI j;
					NI T12_;
					tyObject_Table__0Y2brGGKD9bV6GJLXT9aUDgA* T17_;
					NimStringDesc* T18_;
					NimStringDesc* T19_;
					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T20_;
					T9_ = (NIM_BOOL)0;
					T9_ = isFilled__5Qpmu5QqwDY0esVXn6wf7wtables(eh);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					if (!T9_) goto LA10_;
					T12_ = (((*t).data ? (*t).data->Sup.len : 0)-1);
					j = (NI)(eh & T12_);
					{
						while (1) {
							NIM_BOOL T15_;
							NI T16_;
							T15_ = (NIM_BOOL)0;
							T15_ = isFilled__5Qpmu5QqwDY0esVXn6wf7wtables((*t).data->data[j].Field0);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
							if (!T15_) goto LA14;
							T16_ = (((*t).data ? (*t).data->Sup.len : 0)-1);
							j = nextTry__rkF6R1GhqjFh3qSAPaT2Cwtables(j, T16_);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						} LA14: ;
					}
					T17_ = (tyObject_Table__0Y2brGGKD9bV6GJLXT9aUDgA*)0;
					T17_ = t;
					T18_ = (NimStringDesc*)0;
					T18_ = n->data[i].Field1;
					n->data[i].Field1 = NIM_NIL;
					T19_ = (NimStringDesc*)0;
					T19_ = T18_;
					T20_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
					T20_ = n->data[i].Field2;
					n->data[i].Field2 = NIM_NIL;
					rawInsert__dphYj2K2cQV4c59cmH9bTrwQ(T17_, (&(*t).data), T19_, T20_, eh, j);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				}
				LA10_: ;
				res += ((NI) 1);
			} LA6: ;
		}
	}
	}BeforeRet_: ;
}
static N_INLINE(NI, rawGetKnownHC__So4NwPMLEKibXtBM4tOfkQtables)(tyObject_Table__0Y2brGGKD9bV6GJLXT9aUDgA t, NimStringDesc* key, NI hc) {
	NI result;
	NI h;
	NI T6_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NI)0;
	{
		NI T3_;
		T3_ = (t.data ? t.data->Sup.len : 0);
		if (!(T3_ == ((NI) 0))) goto LA4_;
		result = ((NI) -1);
		goto BeforeRet_;
	}
	LA4_: ;
	T6_ = ((t.data ? t.data->Sup.len : 0)-1);
	h = (NI)(hc & T6_);
	{
		while (1) {
			NIM_BOOL T9_;
			NI T16_;
			T9_ = (NIM_BOOL)0;
			T9_ = isFilled__5Qpmu5QqwDY0esVXn6wf7wtables(t.data->data[h].Field0);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (!T9_) goto LA8;
			{
				NIM_BOOL T12_;
				T12_ = (NIM_BOOL)0;
				T12_ = (t.data->data[h].Field0 == hc);
				if (!(T12_)) goto LA13_;
				T12_ = eqStrings(t.data->data[h].Field1, key);
				LA13_: ;
				if (!T12_) goto LA14_;
				result = h;
				goto BeforeRet_;
			}
			LA14_: ;
			T16_ = ((t.data ? t.data->Sup.len : 0)-1);
			h = nextTry__rkF6R1GhqjFh3qSAPaT2Cwtables(h, T16_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		} LA8: ;
	}
	result = (NI)(((NI) -1) - h);
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, X5BX5Deq___sShzjuQoVJkvjz3oILuGOQ)(tyObject_Table__0Y2brGGKD9bV6GJLXT9aUDgA* t, NimStringDesc* key, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* val) {
	NI hc;
	NI index;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		NI T3_;
		NI correctSizeX60gensym989_;
		T3_ = ((*t).data ? (*t).data->Sup.len : 0);
		if (!(T3_ == ((NI) 0))) goto LA4_;
		correctSizeX60gensym989_ = slotsNeeded__LvRw9cAKRC9b1pD3bnSd1DdAtables(((NI) 32));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		(*t).counter = ((NI) 0);
		(*t).data = (tySequence__23SMqauuRsbDANhthj9bWlA*) newSeq((&NTI__23SMqauuRsbDANhthj9bWlA_), ((NI) (correctSizeX60gensym989_)));
	}
	LA4_: ;
	hc = (NI)0;
	index = rawGet__SMyMIOHvYU9bKbIDA9aXa0CQtables((*t), key, (&hc));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		if (!(((NI) 0) <= index)) goto LA8_;
		(*t).data->data[index].Field2 = val;
	}
	goto LA6_;
	LA8_: ;
	{
		tyObject_Table__0Y2brGGKD9bV6GJLXT9aUDgA* T21_;
		{
			NI T13_;
			NI correctSizeX60gensym992_;
			T13_ = ((*t).data ? (*t).data->Sup.len : 0);
			if (!(T13_ == ((NI) 0))) goto LA14_;
			correctSizeX60gensym992_ = slotsNeeded__LvRw9cAKRC9b1pD3bnSd1DdAtables(((NI) 32));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			(*t).counter = ((NI) 0);
			(*t).data = (tySequence__23SMqauuRsbDANhthj9bWlA*) newSeq((&NTI__23SMqauuRsbDANhthj9bWlA_), ((NI) (correctSizeX60gensym992_)));
		}
		LA14_: ;
		{
			NIM_BOOL T18_;
			T18_ = (NIM_BOOL)0;
			T18_ = mustRehash__VtDMB9bHz8P8P9bEROJFDiJgtables((*t));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (!T18_) goto LA19_;
			enlarge__6K1KMyIJ44JU1rDXMt00fQ(t);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			index = rawGetKnownHC__So4NwPMLEKibXtBM4tOfkQtables((*t), key, hc);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		LA19_: ;
		index = (NI)(((NI) -1) - index);
		T21_ = (tyObject_Table__0Y2brGGKD9bV6GJLXT9aUDgA*)0;
		T21_ = t;
		rawInsert__dphYj2K2cQV4c59cmH9bTrwQ(T21_, (&(*t).data), key, val, hc, index);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		(*t).counter += ((NI) 1);
	}
	LA6_: ;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw**, X5BX5D___MfHxsDwfhxJEwdTZBgdTmg)(tyObject_Table__0Y2brGGKD9bV6GJLXT9aUDgA* t, NimStringDesc* key) {
	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** result;
	NI hcX60gensym22_;
	NI indexX60gensym22_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw**)0;
	hcX60gensym22_ = (NI)0;
	indexX60gensym22_ = rawGet__SMyMIOHvYU9bKbIDA9aXa0CQtables((*t), key, (&hcX60gensym22_));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		if (!(((NI) 0) <= indexX60gensym22_)) goto LA3_;
		result = &(*t).data->data[indexX60gensym22_].Field2;
	}
	goto LA1_;
	LA3_: ;
	{
		tyObject_KeyError__t7nhKLvXTQS9cS8ByJU9bIag* T6_;
		NimStringDesc* T7_;
		T6_ = (tyObject_KeyError__t7nhKLvXTQS9cS8ByJU9bIag*)0;
		T6_ = (tyObject_KeyError__t7nhKLvXTQS9cS8ByJU9bIag*) newObj((&NTI__8SzoIAgLw9ci2v0yafHj9b6Q_), sizeof(tyObject_KeyError__t7nhKLvXTQS9cS8ByJU9bIag));
		(*T6_).Sup.Sup.Sup.Sup.m_type = (&NTI__t7nhKLvXTQS9cS8ByJU9bIag_);
		(*T6_).Sup.Sup.Sup.name = "KeyError";
		T7_ = (NimStringDesc*)0;
		T7_ = rawNewString((key ? key->Sup.len : 0) + 15);
appendString(T7_, ((NimStringDesc*) &TM__4SoG2KRQy3oMm9aUzSLtGrA_21));
appendString(T7_, key);
		(*T6_).Sup.Sup.Sup.message = T7_;
		(*T6_).Sup.Sup.Sup.parent = NIM_NIL;
		raiseExceptionEx((Exception*)T6_, "KeyError", "[]", "tables.nim", 262);
		goto BeforeRet_;
	}
	LA1_: ;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NI, rawGet__z5lyUFnYWNZgtnmQvNIG1Atables)(tyObject_Table__nagDFX4QHx0s6Fvma9blmSg t, NimStringDesc* key, NI* hc) {
	NI result;
	NI T1_;
	NI h;
	NI T11_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NI)0;
	T1_ = (NI)0;
	T1_ = hash__6PCYkKlCNhq9cnRLnqWKkwQ(key);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	(*hc) = T1_;
	{
		if (!((*hc) == ((NI) 0))) goto LA4_;
		(*hc) = ((NI) 314159265);
	}
	LA4_: ;
	{
		NI T8_;
		T8_ = (t.data ? t.data->Sup.len : 0);
		if (!(T8_ == ((NI) 0))) goto LA9_;
		result = ((NI) -1);
		goto BeforeRet_;
	}
	LA9_: ;
	T11_ = ((t.data ? t.data->Sup.len : 0)-1);
	h = (NI)((*hc) & T11_);
	{
		while (1) {
			NIM_BOOL T14_;
			NI T21_;
			T14_ = (NIM_BOOL)0;
			T14_ = isFilled__5Qpmu5QqwDY0esVXn6wf7wtables(t.data->data[h].Field0);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (!T14_) goto LA13;
			{
				NIM_BOOL T17_;
				T17_ = (NIM_BOOL)0;
				T17_ = (t.data->data[h].Field0 == (*hc));
				if (!(T17_)) goto LA18_;
				T17_ = eqStrings(t.data->data[h].Field1, key);
				LA18_: ;
				if (!T17_) goto LA19_;
				result = h;
				goto BeforeRet_;
			}
			LA19_: ;
			T21_ = ((t.data ? t.data->Sup.len : 0)-1);
			h = nextTry__rkF6R1GhqjFh3qSAPaT2Cwtables(h, T21_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		} LA13: ;
	}
	result = (NI)(((NI) -1) - h);
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasKey__HJN1GCNkXuSaKainyv8E2w_2)(tyObject_Table__nagDFX4QHx0s6Fvma9blmSg t, NimStringDesc* key) {
	NIM_BOOL result;
	NI hc;
	NI T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NIM_BOOL)0;
	hc = (NI)0;
	T1_ = (NI)0;
	T1_ = rawGet__z5lyUFnYWNZgtnmQvNIG1Atables(t, key, (&hc));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	result = (((NI) 0) <= T1_);
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, contains__HJN1GCNkXuSaKainyv8E2w)(tyObject_Table__nagDFX4QHx0s6Fvma9blmSg t, NimStringDesc* key) {
	NIM_BOOL result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NIM_BOOL)0;
	result = hasKey__HJN1GCNkXuSaKainyv8E2w_2(t, key);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NIM_BOOL, mustRehash__CGa6FpBBVdStCo4ldGugWQtables)(tyObject_Table__nagDFX4QHx0s6Fvma9blmSg t) {
	NIM_BOOL result;
	NIM_BOOL T1_;
	NI T2_;
	NI T4_;
	result = (NIM_BOOL)0;
	T1_ = (NIM_BOOL)0;
	T2_ = (t.data ? t.data->Sup.len : 0);
	T1_ = ((NI)(T2_ * ((NI) 2)) < (NI)(t.counter * ((NI) 3)));
	if (T1_) goto LA3_;
	T4_ = (t.data ? t.data->Sup.len : 0);
	T1_ = ((NI)(T4_ - t.counter) < ((NI) 4));
	LA3_: ;
	result = T1_;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, rawInsert__X9afgMwIB5o1VDnyZkF63LA)(tyObject_Table__nagDFX4QHx0s6Fvma9blmSg* t, tySequence__pHNq3oXj9av2sEUdqaqeZjw** data, NimStringDesc* key, tyObject_BTree__VZdzO0Tlflp7WMN4gS8oPg val, NI hc, NI h) {
	(*data)->data[h].Field1 = copyString(key);
	(*data)->data[h].Field2.root = val.root;
	(*data)->data[h].Field2.entries = val.entries;
	(*data)->data[h].Field0 = hc;
}
N_LIB_PRIVATE N_NIMCALL(void, enlarge__xUzvAyBcVu9b8xJ84vmmdgg)(tyObject_Table__nagDFX4QHx0s6Fvma9blmSg* t) {
	tySequence__pHNq3oXj9av2sEUdqaqeZjw* n;
	NI T1_;
	tySequence__pHNq3oXj9av2sEUdqaqeZjw* T2_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	n = (tySequence__pHNq3oXj9av2sEUdqaqeZjw*)0;
	T1_ = ((*t).data ? (*t).data->Sup.len : 0);
	n = (tySequence__pHNq3oXj9av2sEUdqaqeZjw*) newSeq((&NTI__pHNq3oXj9av2sEUdqaqeZjw_), ((NI) ((NI)(T1_ * ((NI) 2)))));
	T2_ = (tySequence__pHNq3oXj9av2sEUdqaqeZjw*)0;
	T2_ = (*t).data;
	(*t).data = n;
	n = T2_;
	{
		NI i;
		NI colontmp_;
		NI T4_;
		NI res;
		i = (NI)0;
		colontmp_ = (NI)0;
		T4_ = ((n ? n->Sup.len : 0)-1);
		colontmp_ = T4_;
		res = ((NI) 0);
		{
			while (1) {
				NI eh;
				if (!(res <= colontmp_)) goto LA6;
				i = res;
				eh = n->data[i].Field0;
				{
					NIM_BOOL T9_;
					NI j;
					NI T12_;
					tyObject_Table__nagDFX4QHx0s6Fvma9blmSg* T17_;
					NimStringDesc* T18_;
					NimStringDesc* T19_;
					tyObject_BTree__VZdzO0Tlflp7WMN4gS8oPg T20_;
					T9_ = (NIM_BOOL)0;
					T9_ = isFilled__5Qpmu5QqwDY0esVXn6wf7wtables(eh);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					if (!T9_) goto LA10_;
					T12_ = (((*t).data ? (*t).data->Sup.len : 0)-1);
					j = (NI)(eh & T12_);
					{
						while (1) {
							NIM_BOOL T15_;
							NI T16_;
							T15_ = (NIM_BOOL)0;
							T15_ = isFilled__5Qpmu5QqwDY0esVXn6wf7wtables((*t).data->data[j].Field0);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
							if (!T15_) goto LA14;
							T16_ = (((*t).data ? (*t).data->Sup.len : 0)-1);
							j = nextTry__rkF6R1GhqjFh3qSAPaT2Cwtables(j, T16_);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						} LA14: ;
					}
					T17_ = (tyObject_Table__nagDFX4QHx0s6Fvma9blmSg*)0;
					T17_ = t;
					T18_ = (NimStringDesc*)0;
					T18_ = n->data[i].Field1;
					n->data[i].Field1 = NIM_NIL;
					T19_ = (NimStringDesc*)0;
					T19_ = T18_;
					nimZeroMem((void*)(&T20_), sizeof(tyObject_BTree__VZdzO0Tlflp7WMN4gS8oPg));
					T20_.root = n->data[i].Field2.root;
					T20_.entries = n->data[i].Field2.entries;
					unsureAsgnRef((void**)&n->data[i].Field2.root, NIM_NIL);
					n->data[i].Field2.entries = 0;
					rawInsert__X9afgMwIB5o1VDnyZkF63LA(T17_, (&(*t).data), T19_, T20_, eh, j);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				}
				LA10_: ;
				res += ((NI) 1);
			} LA6: ;
		}
	}
	}BeforeRet_: ;
}
static N_INLINE(NI, rawGetKnownHC__TSpYtoROqC7475f9bg4iXugtables)(tyObject_Table__nagDFX4QHx0s6Fvma9blmSg t, NimStringDesc* key, NI hc) {
	NI result;
	NI h;
	NI T6_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NI)0;
	{
		NI T3_;
		T3_ = (t.data ? t.data->Sup.len : 0);
		if (!(T3_ == ((NI) 0))) goto LA4_;
		result = ((NI) -1);
		goto BeforeRet_;
	}
	LA4_: ;
	T6_ = ((t.data ? t.data->Sup.len : 0)-1);
	h = (NI)(hc & T6_);
	{
		while (1) {
			NIM_BOOL T9_;
			NI T16_;
			T9_ = (NIM_BOOL)0;
			T9_ = isFilled__5Qpmu5QqwDY0esVXn6wf7wtables(t.data->data[h].Field0);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (!T9_) goto LA8;
			{
				NIM_BOOL T12_;
				T12_ = (NIM_BOOL)0;
				T12_ = (t.data->data[h].Field0 == hc);
				if (!(T12_)) goto LA13_;
				T12_ = eqStrings(t.data->data[h].Field1, key);
				LA13_: ;
				if (!T12_) goto LA14_;
				result = h;
				goto BeforeRet_;
			}
			LA14_: ;
			T16_ = ((t.data ? t.data->Sup.len : 0)-1);
			h = nextTry__rkF6R1GhqjFh3qSAPaT2Cwtables(h, T16_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		} LA8: ;
	}
	result = (NI)(((NI) -1) - h);
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, X5BX5Deq___L2EahbjJPAlDipW4Omiq5g)(tyObject_Table__nagDFX4QHx0s6Fvma9blmSg* t, NimStringDesc* key, tyObject_BTree__VZdzO0Tlflp7WMN4gS8oPg val) {
	NI hc;
	NI index;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		NI T3_;
		NI correctSizeX60gensym1020_;
		T3_ = ((*t).data ? (*t).data->Sup.len : 0);
		if (!(T3_ == ((NI) 0))) goto LA4_;
		correctSizeX60gensym1020_ = slotsNeeded__LvRw9cAKRC9b1pD3bnSd1DdAtables(((NI) 32));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		(*t).counter = ((NI) 0);
		(*t).data = (tySequence__pHNq3oXj9av2sEUdqaqeZjw*) newSeq((&NTI__pHNq3oXj9av2sEUdqaqeZjw_), ((NI) (correctSizeX60gensym1020_)));
	}
	LA4_: ;
	hc = (NI)0;
	index = rawGet__z5lyUFnYWNZgtnmQvNIG1Atables((*t), key, (&hc));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		if (!(((NI) 0) <= index)) goto LA8_;
		(*t).data->data[index].Field2.root = val.root;
		(*t).data->data[index].Field2.entries = val.entries;
	}
	goto LA6_;
	LA8_: ;
	{
		tyObject_Table__nagDFX4QHx0s6Fvma9blmSg* T21_;
		{
			NI T13_;
			NI correctSizeX60gensym1023_;
			T13_ = ((*t).data ? (*t).data->Sup.len : 0);
			if (!(T13_ == ((NI) 0))) goto LA14_;
			correctSizeX60gensym1023_ = slotsNeeded__LvRw9cAKRC9b1pD3bnSd1DdAtables(((NI) 32));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			(*t).counter = ((NI) 0);
			(*t).data = (tySequence__pHNq3oXj9av2sEUdqaqeZjw*) newSeq((&NTI__pHNq3oXj9av2sEUdqaqeZjw_), ((NI) (correctSizeX60gensym1023_)));
		}
		LA14_: ;
		{
			NIM_BOOL T18_;
			T18_ = (NIM_BOOL)0;
			T18_ = mustRehash__CGa6FpBBVdStCo4ldGugWQtables((*t));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (!T18_) goto LA19_;
			enlarge__xUzvAyBcVu9b8xJ84vmmdgg(t);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			index = rawGetKnownHC__TSpYtoROqC7475f9bg4iXugtables((*t), key, hc);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		LA19_: ;
		index = (NI)(((NI) -1) - index);
		T21_ = (tyObject_Table__nagDFX4QHx0s6Fvma9blmSg*)0;
		T21_ = t;
		rawInsert__X9afgMwIB5o1VDnyZkF63LA(T21_, (&(*t).data), key, val, hc, index);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		(*t).counter += ((NI) 1);
	}
	LA6_: ;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_BTree__VZdzO0Tlflp7WMN4gS8oPg*, X5BX5D___SsXWfuQKn5htR3WBdyM0mA)(tyObject_Table__nagDFX4QHx0s6Fvma9blmSg* t, NimStringDesc* key) {
	tyObject_BTree__VZdzO0Tlflp7WMN4gS8oPg* result;
	NI hcX60gensym22_;
	NI indexX60gensym22_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (tyObject_BTree__VZdzO0Tlflp7WMN4gS8oPg*)0;
	hcX60gensym22_ = (NI)0;
	indexX60gensym22_ = rawGet__z5lyUFnYWNZgtnmQvNIG1Atables((*t), key, (&hcX60gensym22_));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		if (!(((NI) 0) <= indexX60gensym22_)) goto LA3_;
		result = (&(*t).data->data[indexX60gensym22_].Field2);
	}
	goto LA1_;
	LA3_: ;
	{
		tyObject_KeyError__t7nhKLvXTQS9cS8ByJU9bIag* T6_;
		NimStringDesc* T7_;
		T6_ = (tyObject_KeyError__t7nhKLvXTQS9cS8ByJU9bIag*)0;
		T6_ = (tyObject_KeyError__t7nhKLvXTQS9cS8ByJU9bIag*) newObj((&NTI__8SzoIAgLw9ci2v0yafHj9b6Q_), sizeof(tyObject_KeyError__t7nhKLvXTQS9cS8ByJU9bIag));
		(*T6_).Sup.Sup.Sup.Sup.m_type = (&NTI__t7nhKLvXTQS9cS8ByJU9bIag_);
		(*T6_).Sup.Sup.Sup.name = "KeyError";
		T7_ = (NimStringDesc*)0;
		T7_ = rawNewString((key ? key->Sup.len : 0) + 15);
appendString(T7_, ((NimStringDesc*) &TM__4SoG2KRQy3oMm9aUzSLtGrA_21));
appendString(T7_, key);
		(*T6_).Sup.Sup.Sup.message = T7_;
		(*T6_).Sup.Sup.Sup.parent = NIM_NIL;
		raiseExceptionEx((Exception*)T6_, "KeyError", "[]", "tables.nim", 262);
		goto BeforeRet_;
	}
	LA1_: ;
	}BeforeRet_: ;
	return result;
}
static N_NIMCALL(void, Marker_tySequence__s12F9c4cKfaapm8VzG9a1flQ)(void* p, NI op) {
	tySequence__s12F9c4cKfaapm8VzG9a1flQ* a;
	NI T1_;
	a = (tySequence__s12F9c4cKfaapm8VzG9a1flQ*)p;
	T1_ = (NI)0;
	for (T1_ = 0; T1_ < (a ? a->Sup.len : 0); T1_++) {
	nimGCvisit((void*)a->data[T1_].Field2, op);
	}
}
N_LIB_PRIVATE N_NIMCALL(void, initTable__YTsZ11U9aeIqqeJoGkYFEXQ)(NI initialSize, tyObject_Table__7O9bs4LORhqcR0JGh7d1MDg* Result) {
	NI correctSizeX60gensym72_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	unsureAsgnRef((void**)&(*Result).data, NIM_NIL);
	(*Result).counter = 0;
	correctSizeX60gensym72_ = slotsNeeded__LvRw9cAKRC9b1pD3bnSd1DdAtables(((NI) (initialSize)));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	(*Result).counter = ((NI) 0);
	(*Result).data = (tySequence__s12F9c4cKfaapm8VzG9a1flQ*) newSeq((&NTI__s12F9c4cKfaapm8VzG9a1flQ_), ((NI) (correctSizeX60gensym72_)));
	}BeforeRet_: ;
}
static N_INLINE(NI, hash__sTYVuBLDBQbglYNxcT9bWrghashes)(NI64 x) {
	NI result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NI)0;
	result = hashWangYi1__AN9c8V1UY1ZE7b8ldNRftRQhashes(((NU64) (x)));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NI, rawGet__WHgMCdcTgzDXYwrCU5rygAtables)(tyObject_Table__7O9bs4LORhqcR0JGh7d1MDg t, NI64 key, NI* hc) {
	NI result;
	NI T1_;
	NI h;
	NI T11_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NI)0;
	T1_ = (NI)0;
	T1_ = hash__sTYVuBLDBQbglYNxcT9bWrghashes(key);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	(*hc) = T1_;
	{
		if (!((*hc) == ((NI) 0))) goto LA4_;
		(*hc) = ((NI) 314159265);
	}
	LA4_: ;
	{
		NI T8_;
		T8_ = (t.data ? t.data->Sup.len : 0);
		if (!(T8_ == ((NI) 0))) goto LA9_;
		result = ((NI) -1);
		goto BeforeRet_;
	}
	LA9_: ;
	T11_ = ((t.data ? t.data->Sup.len : 0)-1);
	h = (NI)((*hc) & T11_);
	{
		while (1) {
			NIM_BOOL T14_;
			NI T21_;
			T14_ = (NIM_BOOL)0;
			T14_ = isFilled__5Qpmu5QqwDY0esVXn6wf7wtables(t.data->data[h].Field0);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (!T14_) goto LA13;
			{
				NIM_BOOL T17_;
				T17_ = (NIM_BOOL)0;
				T17_ = (t.data->data[h].Field0 == (*hc));
				if (!(T17_)) goto LA18_;
				T17_ = (t.data->data[h].Field1 == key);
				LA18_: ;
				if (!T17_) goto LA19_;
				result = h;
				goto BeforeRet_;
			}
			LA19_: ;
			T21_ = ((t.data ? t.data->Sup.len : 0)-1);
			h = nextTry__rkF6R1GhqjFh3qSAPaT2Cwtables(h, T21_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		} LA13: ;
	}
	result = (NI)(((NI) -1) - h);
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, getOrDefault__NuV0kwmS6NPkSg4nGTYxGQ)(tyObject_Table__7O9bs4LORhqcR0JGh7d1MDg t, NI64 key) {
	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
	NI hcX60gensym54_;
	NI indexX60gensym54_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
	hcX60gensym54_ = (NI)0;
	indexX60gensym54_ = rawGet__WHgMCdcTgzDXYwrCU5rygAtables(t, key, (&hcX60gensym54_));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		if (!(((NI) 0) <= indexX60gensym54_)) goto LA3_;
		result = t.data->data[indexX60gensym54_].Field2;
	}
	LA3_: ;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NIM_BOOL, mustRehash__T9cz0kw5vDbNDnfPWcSRNYgtables)(tyObject_Table__7O9bs4LORhqcR0JGh7d1MDg t) {
	NIM_BOOL result;
	NIM_BOOL T1_;
	NI T2_;
	NI T4_;
	result = (NIM_BOOL)0;
	T1_ = (NIM_BOOL)0;
	T2_ = (t.data ? t.data->Sup.len : 0);
	T1_ = ((NI)(T2_ * ((NI) 2)) < (NI)(t.counter * ((NI) 3)));
	if (T1_) goto LA3_;
	T4_ = (t.data ? t.data->Sup.len : 0);
	T1_ = ((NI)(T4_ - t.counter) < ((NI) 4));
	LA3_: ;
	result = T1_;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, rawInsert__9bGCjjc8EMS6OJa9a9anUwMjg)(tyObject_Table__7O9bs4LORhqcR0JGh7d1MDg* t, tySequence__s12F9c4cKfaapm8VzG9a1flQ** data, NI64 key, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* val, NI hc, NI h) {
	(*data)->data[h].Field1 = key;
	(*data)->data[h].Field2 = val;
	(*data)->data[h].Field0 = hc;
}
N_LIB_PRIVATE N_NIMCALL(void, enlarge__eoqIM0Hd0SjhaY9cur9b4i8w)(tyObject_Table__7O9bs4LORhqcR0JGh7d1MDg* t) {
	tySequence__s12F9c4cKfaapm8VzG9a1flQ* n;
	NI T1_;
	tySequence__s12F9c4cKfaapm8VzG9a1flQ* T2_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	n = (tySequence__s12F9c4cKfaapm8VzG9a1flQ*)0;
	T1_ = ((*t).data ? (*t).data->Sup.len : 0);
	n = (tySequence__s12F9c4cKfaapm8VzG9a1flQ*) newSeq((&NTI__s12F9c4cKfaapm8VzG9a1flQ_), ((NI) ((NI)(T1_ * ((NI) 2)))));
	T2_ = (tySequence__s12F9c4cKfaapm8VzG9a1flQ*)0;
	T2_ = (*t).data;
	(*t).data = n;
	n = T2_;
	{
		NI i;
		NI colontmp_;
		NI T4_;
		NI res;
		i = (NI)0;
		colontmp_ = (NI)0;
		T4_ = ((n ? n->Sup.len : 0)-1);
		colontmp_ = T4_;
		res = ((NI) 0);
		{
			while (1) {
				NI eh;
				if (!(res <= colontmp_)) goto LA6;
				i = res;
				eh = n->data[i].Field0;
				{
					NIM_BOOL T9_;
					NI j;
					NI T12_;
					tyObject_Table__7O9bs4LORhqcR0JGh7d1MDg* T17_;
					NI64 T18_;
					NI64 T19_;
					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T20_;
					T9_ = (NIM_BOOL)0;
					T9_ = isFilled__5Qpmu5QqwDY0esVXn6wf7wtables(eh);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					if (!T9_) goto LA10_;
					T12_ = (((*t).data ? (*t).data->Sup.len : 0)-1);
					j = (NI)(eh & T12_);
					{
						while (1) {
							NIM_BOOL T15_;
							NI T16_;
							T15_ = (NIM_BOOL)0;
							T15_ = isFilled__5Qpmu5QqwDY0esVXn6wf7wtables((*t).data->data[j].Field0);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
							if (!T15_) goto LA14;
							T16_ = (((*t).data ? (*t).data->Sup.len : 0)-1);
							j = nextTry__rkF6R1GhqjFh3qSAPaT2Cwtables(j, T16_);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						} LA14: ;
					}
					T17_ = (tyObject_Table__7O9bs4LORhqcR0JGh7d1MDg*)0;
					T17_ = t;
					T18_ = (NI64)0;
					T18_ = n->data[i].Field1;
					n->data[i].Field1 = 0;
					T19_ = (NI64)0;
					T19_ = T18_;
					T20_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
					T20_ = n->data[i].Field2;
					n->data[i].Field2 = NIM_NIL;
					rawInsert__9bGCjjc8EMS6OJa9a9anUwMjg(T17_, (&(*t).data), T19_, T20_, eh, j);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				}
				LA10_: ;
				res += ((NI) 1);
			} LA6: ;
		}
	}
	}BeforeRet_: ;
}
static N_INLINE(NI, rawGetKnownHC__K1f7gLsHF5x79adahVjRo5Atables)(tyObject_Table__7O9bs4LORhqcR0JGh7d1MDg t, NI64 key, NI hc) {
	NI result;
	NI h;
	NI T6_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NI)0;
	{
		NI T3_;
		T3_ = (t.data ? t.data->Sup.len : 0);
		if (!(T3_ == ((NI) 0))) goto LA4_;
		result = ((NI) -1);
		goto BeforeRet_;
	}
	LA4_: ;
	T6_ = ((t.data ? t.data->Sup.len : 0)-1);
	h = (NI)(hc & T6_);
	{
		while (1) {
			NIM_BOOL T9_;
			NI T16_;
			T9_ = (NIM_BOOL)0;
			T9_ = isFilled__5Qpmu5QqwDY0esVXn6wf7wtables(t.data->data[h].Field0);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (!T9_) goto LA8;
			{
				NIM_BOOL T12_;
				T12_ = (NIM_BOOL)0;
				T12_ = (t.data->data[h].Field0 == hc);
				if (!(T12_)) goto LA13_;
				T12_ = (t.data->data[h].Field1 == key);
				LA13_: ;
				if (!T12_) goto LA14_;
				result = h;
				goto BeforeRet_;
			}
			LA14_: ;
			T16_ = ((t.data ? t.data->Sup.len : 0)-1);
			h = nextTry__rkF6R1GhqjFh3qSAPaT2Cwtables(h, T16_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		} LA8: ;
	}
	result = (NI)(((NI) -1) - h);
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, X5BX5Deq___OtPEflpH4zlxCllppdpU2g)(tyObject_Table__7O9bs4LORhqcR0JGh7d1MDg* t, NI64 key, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* val) {
	NI hc;
	NI index;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		NI T3_;
		NI correctSizeX60gensym59_;
		T3_ = ((*t).data ? (*t).data->Sup.len : 0);
		if (!(T3_ == ((NI) 0))) goto LA4_;
		correctSizeX60gensym59_ = slotsNeeded__LvRw9cAKRC9b1pD3bnSd1DdAtables(((NI) 32));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		(*t).counter = ((NI) 0);
		(*t).data = (tySequence__s12F9c4cKfaapm8VzG9a1flQ*) newSeq((&NTI__s12F9c4cKfaapm8VzG9a1flQ_), ((NI) (correctSizeX60gensym59_)));
	}
	LA4_: ;
	hc = (NI)0;
	index = rawGet__WHgMCdcTgzDXYwrCU5rygAtables((*t), key, (&hc));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		if (!(((NI) 0) <= index)) goto LA8_;
		(*t).data->data[index].Field2 = val;
	}
	goto LA6_;
	LA8_: ;
	{
		tyObject_Table__7O9bs4LORhqcR0JGh7d1MDg* T21_;
		{
			NI T13_;
			NI correctSizeX60gensym62_;
			T13_ = ((*t).data ? (*t).data->Sup.len : 0);
			if (!(T13_ == ((NI) 0))) goto LA14_;
			correctSizeX60gensym62_ = slotsNeeded__LvRw9cAKRC9b1pD3bnSd1DdAtables(((NI) 32));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			(*t).counter = ((NI) 0);
			(*t).data = (tySequence__s12F9c4cKfaapm8VzG9a1flQ*) newSeq((&NTI__s12F9c4cKfaapm8VzG9a1flQ_), ((NI) (correctSizeX60gensym62_)));
		}
		LA14_: ;
		{
			NIM_BOOL T18_;
			T18_ = (NIM_BOOL)0;
			T18_ = mustRehash__T9cz0kw5vDbNDnfPWcSRNYgtables((*t));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (!T18_) goto LA19_;
			enlarge__eoqIM0Hd0SjhaY9cur9b4i8w(t);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			index = rawGetKnownHC__K1f7gLsHF5x79adahVjRo5Atables((*t), key, hc);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		LA19_: ;
		index = (NI)(((NI) -1) - index);
		T21_ = (tyObject_Table__7O9bs4LORhqcR0JGh7d1MDg*)0;
		T21_ = t;
		rawInsert__9bGCjjc8EMS6OJa9a9anUwMjg(T21_, (&(*t).data), key, val, hc, index);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		(*t).counter += ((NI) 1);
	}
	LA6_: ;
	}BeforeRet_: ;
}
static N_INLINE(NI, rawGet__KAHxhNAZHXtj35YPlFp3CQtables)(tyObject_Table__l6AB9cIrSdEYtCGu5YO9b61Q t, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q key, NI* hc) {
	NI result;
	NI T1_;
	NI h;
	NI T11_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NI)0;
	T1_ = (NI)0;
	T1_ = hash__SGf1i29beSa89acqisuwMuyg(key);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	(*hc) = T1_;
	{
		if (!((*hc) == ((NI) 0))) goto LA4_;
		(*hc) = ((NI) 314159265);
	}
	LA4_: ;
	{
		NI T8_;
		T8_ = (t.data ? t.data->Sup.len : 0);
		if (!(T8_ == ((NI) 0))) goto LA9_;
		result = ((NI) -1);
		goto BeforeRet_;
	}
	LA9_: ;
	T11_ = ((t.data ? t.data->Sup.len : 0)-1);
	h = (NI)((*hc) & T11_);
	{
		while (1) {
			NIM_BOOL T14_;
			NI T21_;
			T14_ = (NIM_BOOL)0;
			T14_ = isFilled__5Qpmu5QqwDY0esVXn6wf7wtables(t.data->data[h].Field0);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (!T14_) goto LA13;
			{
				NIM_BOOL T17_;
				T17_ = (NIM_BOOL)0;
				T17_ = (t.data->data[h].Field0 == (*hc));
				if (!(T17_)) goto LA18_;
				T17_ = eqeq___xg1zPyXc6cdWexuBqSObOw(t.data->data[h].Field1, key);
				LA18_: ;
				if (!T17_) goto LA19_;
				result = h;
				goto BeforeRet_;
			}
			LA19_: ;
			T21_ = ((t.data ? t.data->Sup.len : 0)-1);
			h = nextTry__rkF6R1GhqjFh3qSAPaT2Cwtables(h, T21_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		} LA13: ;
	}
	result = (NI)(((NI) -1) - h);
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasKey__TdGhKsSaf9bmh8whPiEIOXw)(tyObject_Table__l6AB9cIrSdEYtCGu5YO9b61Q t, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q key) {
	NIM_BOOL result;
	NI hc;
	NI T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NIM_BOOL)0;
	hc = (NI)0;
	T1_ = (NI)0;
	T1_ = rawGet__KAHxhNAZHXtj35YPlFp3CQtables(t, key, (&hc));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	result = (((NI) 0) <= T1_);
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasKey__nQCg2DVRQn4zUR62WaaQ4w_2)(tyObject_Table__l6AB9cIrSdEYtCGu5YO9b61Q* t, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q key) {
	NIM_BOOL result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NIM_BOOL)0;
	result = hasKey__TdGhKsSaf9bmh8whPiEIOXw((*t), key);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, contains__nQCg2DVRQn4zUR62WaaQ4w)(tyObject_Table__l6AB9cIrSdEYtCGu5YO9b61Q* t, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q key) {
	NIM_BOOL result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NIM_BOOL)0;
	result = hasKey__nQCg2DVRQn4zUR62WaaQ4w_2(t, key);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NIM_BOOL, mustRehash__FjltqzJjpq9caBUDHyV2U6Qtables)(tyObject_Table__l6AB9cIrSdEYtCGu5YO9b61Q t) {
	NIM_BOOL result;
	NIM_BOOL T1_;
	NI T2_;
	NI T4_;
	result = (NIM_BOOL)0;
	T1_ = (NIM_BOOL)0;
	T2_ = (t.data ? t.data->Sup.len : 0);
	T1_ = ((NI)(T2_ * ((NI) 2)) < (NI)(t.counter * ((NI) 3)));
	if (T1_) goto LA3_;
	T4_ = (t.data ? t.data->Sup.len : 0);
	T1_ = ((NI)(T4_ - t.counter) < ((NI) 4));
	LA3_: ;
	result = T1_;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, rawInsert__P9bSe9aGji82m6txhxFz1wnw)(tyObject_Table__l6AB9cIrSdEYtCGu5YO9b61Q* t, tySequence__TXIV9cpS1nTKZLiCib9cPT4g** data, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q key, tyObject_ProfileInfo__le1imru0p6WwvUctTtOlIw val, NI hc, NI h) {
	(*data)->data[h].Field1 = key;
	(*data)->data[h].Field2 = val;
	(*data)->data[h].Field0 = hc;
}
N_LIB_PRIVATE N_NIMCALL(void, enlarge__llNZABVg9cHtGC9btjLPK9aQQ)(tyObject_Table__l6AB9cIrSdEYtCGu5YO9b61Q* t) {
	tySequence__TXIV9cpS1nTKZLiCib9cPT4g* n;
	NI T1_;
	tySequence__TXIV9cpS1nTKZLiCib9cPT4g* T2_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	n = (tySequence__TXIV9cpS1nTKZLiCib9cPT4g*)0;
	T1_ = ((*t).data ? (*t).data->Sup.len : 0);
	n = (tySequence__TXIV9cpS1nTKZLiCib9cPT4g*) newSeq((&NTI__TXIV9cpS1nTKZLiCib9cPT4g_), ((NI) ((NI)(T1_ * ((NI) 2)))));
	T2_ = (tySequence__TXIV9cpS1nTKZLiCib9cPT4g*)0;
	T2_ = (*t).data;
	(*t).data = n;
	n = T2_;
	{
		NI i;
		NI colontmp_;
		NI T4_;
		NI res;
		i = (NI)0;
		colontmp_ = (NI)0;
		T4_ = ((n ? n->Sup.len : 0)-1);
		colontmp_ = T4_;
		res = ((NI) 0);
		{
			while (1) {
				NI eh;
				if (!(res <= colontmp_)) goto LA6;
				i = res;
				eh = n->data[i].Field0;
				{
					NIM_BOOL T9_;
					NI j;
					NI T12_;
					tyObject_Table__l6AB9cIrSdEYtCGu5YO9b61Q* T17_;
					tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q T18_;
					tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q T19_;
					tyObject_ProfileInfo__le1imru0p6WwvUctTtOlIw T20_;
					T9_ = (NIM_BOOL)0;
					T9_ = isFilled__5Qpmu5QqwDY0esVXn6wf7wtables(eh);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					if (!T9_) goto LA10_;
					T12_ = (((*t).data ? (*t).data->Sup.len : 0)-1);
					j = (NI)(eh & T12_);
					{
						while (1) {
							NIM_BOOL T15_;
							NI T16_;
							T15_ = (NIM_BOOL)0;
							T15_ = isFilled__5Qpmu5QqwDY0esVXn6wf7wtables((*t).data->data[j].Field0);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
							if (!T15_) goto LA14;
							T16_ = (((*t).data ? (*t).data->Sup.len : 0)-1);
							j = nextTry__rkF6R1GhqjFh3qSAPaT2Cwtables(j, T16_);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						} LA14: ;
					}
					T17_ = (tyObject_Table__l6AB9cIrSdEYtCGu5YO9b61Q*)0;
					T17_ = t;
					T18_ = n->data[i].Field1;
					nimZeroMem((void*)(&n->data[i].Field1), sizeof(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q));
					T19_ = T18_;
					T20_ = n->data[i].Field2;
					nimZeroMem((void*)(&n->data[i].Field2), sizeof(tyObject_ProfileInfo__le1imru0p6WwvUctTtOlIw));
					rawInsert__P9bSe9aGji82m6txhxFz1wnw(T17_, (&(*t).data), T19_, T20_, eh, j);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				}
				LA10_: ;
				res += ((NI) 1);
			} LA6: ;
		}
	}
	}BeforeRet_: ;
}
static N_INLINE(NI, rawGetKnownHC__iEOEFa0YHvnmMvRiT9axDUwtables)(tyObject_Table__l6AB9cIrSdEYtCGu5YO9b61Q t, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q key, NI hc) {
	NI result;
	NI h;
	NI T6_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NI)0;
	{
		NI T3_;
		T3_ = (t.data ? t.data->Sup.len : 0);
		if (!(T3_ == ((NI) 0))) goto LA4_;
		result = ((NI) -1);
		goto BeforeRet_;
	}
	LA4_: ;
	T6_ = ((t.data ? t.data->Sup.len : 0)-1);
	h = (NI)(hc & T6_);
	{
		while (1) {
			NIM_BOOL T9_;
			NI T16_;
			T9_ = (NIM_BOOL)0;
			T9_ = isFilled__5Qpmu5QqwDY0esVXn6wf7wtables(t.data->data[h].Field0);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (!T9_) goto LA8;
			{
				NIM_BOOL T12_;
				T12_ = (NIM_BOOL)0;
				T12_ = (t.data->data[h].Field0 == hc);
				if (!(T12_)) goto LA13_;
				T12_ = eqeq___xg1zPyXc6cdWexuBqSObOw(t.data->data[h].Field1, key);
				LA13_: ;
				if (!T12_) goto LA14_;
				result = h;
				goto BeforeRet_;
			}
			LA14_: ;
			T16_ = ((t.data ? t.data->Sup.len : 0)-1);
			h = nextTry__rkF6R1GhqjFh3qSAPaT2Cwtables(h, T16_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		} LA8: ;
	}
	result = (NI)(((NI) -1) - h);
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, X5BX5Deq___V57ibkW7LIpBP9b9cMWfgk5A)(tyObject_Table__l6AB9cIrSdEYtCGu5YO9b61Q* t, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q key, tyObject_ProfileInfo__le1imru0p6WwvUctTtOlIw val) {
	NI hc;
	NI index;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		NI T3_;
		NI correctSizeX60gensym13_;
		T3_ = ((*t).data ? (*t).data->Sup.len : 0);
		if (!(T3_ == ((NI) 0))) goto LA4_;
		correctSizeX60gensym13_ = slotsNeeded__LvRw9cAKRC9b1pD3bnSd1DdAtables(((NI) 32));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		(*t).counter = ((NI) 0);
		(*t).data = (tySequence__TXIV9cpS1nTKZLiCib9cPT4g*) newSeq((&NTI__TXIV9cpS1nTKZLiCib9cPT4g_), ((NI) (correctSizeX60gensym13_)));
	}
	LA4_: ;
	hc = (NI)0;
	index = rawGet__KAHxhNAZHXtj35YPlFp3CQtables((*t), key, (&hc));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		if (!(((NI) 0) <= index)) goto LA8_;
		(*t).data->data[index].Field2 = val;
	}
	goto LA6_;
	LA8_: ;
	{
		tyObject_Table__l6AB9cIrSdEYtCGu5YO9b61Q* T21_;
		{
			NI T13_;
			NI correctSizeX60gensym18_;
			T13_ = ((*t).data ? (*t).data->Sup.len : 0);
			if (!(T13_ == ((NI) 0))) goto LA14_;
			correctSizeX60gensym18_ = slotsNeeded__LvRw9cAKRC9b1pD3bnSd1DdAtables(((NI) 32));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			(*t).counter = ((NI) 0);
			(*t).data = (tySequence__TXIV9cpS1nTKZLiCib9cPT4g*) newSeq((&NTI__TXIV9cpS1nTKZLiCib9cPT4g_), ((NI) (correctSizeX60gensym18_)));
		}
		LA14_: ;
		{
			NIM_BOOL T18_;
			T18_ = (NIM_BOOL)0;
			T18_ = mustRehash__FjltqzJjpq9caBUDHyV2U6Qtables((*t));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (!T18_) goto LA19_;
			enlarge__llNZABVg9cHtGC9btjLPK9aQQ(t);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			index = rawGetKnownHC__iEOEFa0YHvnmMvRiT9axDUwtables((*t), key, hc);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		LA19_: ;
		index = (NI)(((NI) -1) - index);
		T21_ = (tyObject_Table__l6AB9cIrSdEYtCGu5YO9b61Q*)0;
		T21_ = t;
		rawInsert__P9bSe9aGji82m6txhxFz1wnw(T21_, (&(*t).data), key, val, hc, index);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		(*t).counter += ((NI) 1);
	}
	LA6_: ;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, X5BX5Deq___FU0mmKQi2nn9cIDsFU4BjLQ)(tyObject_Table__l6AB9cIrSdEYtCGu5YO9b61Q* t, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q key, tyObject_ProfileInfo__le1imru0p6WwvUctTtOlIw val) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	X5BX5Deq___V57ibkW7LIpBP9b9cMWfgk5A(t, key, val);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_ProfileInfo__le1imru0p6WwvUctTtOlIw*, X5BX5D___DldrQjxt0iOBMCfnDHQJiQ)(tyObject_Table__l6AB9cIrSdEYtCGu5YO9b61Q* t, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q key) {
	tyObject_ProfileInfo__le1imru0p6WwvUctTtOlIw* result;
	NI hcX60gensym22_;
	NI indexX60gensym22_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (tyObject_ProfileInfo__le1imru0p6WwvUctTtOlIw*)0;
	hcX60gensym22_ = (NI)0;
	indexX60gensym22_ = rawGet__KAHxhNAZHXtj35YPlFp3CQtables((*t), key, (&hcX60gensym22_));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		if (!(((NI) 0) <= indexX60gensym22_)) goto LA3_;
		result = (&(*t).data->data[indexX60gensym22_].Field2);
	}
	goto LA1_;
	LA3_: ;
	{
		tyObject_KeyError__t7nhKLvXTQS9cS8ByJU9bIag* T6_;
		T6_ = (tyObject_KeyError__t7nhKLvXTQS9cS8ByJU9bIag*)0;
		T6_ = (tyObject_KeyError__t7nhKLvXTQS9cS8ByJU9bIag*) newObj((&NTI__8SzoIAgLw9ci2v0yafHj9b6Q_), sizeof(tyObject_KeyError__t7nhKLvXTQS9cS8ByJU9bIag));
		(*T6_).Sup.Sup.Sup.Sup.m_type = (&NTI__t7nhKLvXTQS9cS8ByJU9bIag_);
		(*T6_).Sup.Sup.Sup.name = "KeyError";
		(*T6_).Sup.Sup.Sup.message = copyString(((NimStringDesc*) &TM__4SoG2KRQy3oMm9aUzSLtGrA_25));
		(*T6_).Sup.Sup.Sup.parent = NIM_NIL;
		raiseExceptionEx((Exception*)T6_, "KeyError", "[]", "tables.nim", 264);
		goto BeforeRet_;
	}
	LA1_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_ProfileInfo__le1imru0p6WwvUctTtOlIw*, X5BX5D___z7jB5dSVya8ADmG71Hczew)(tyObject_Table__l6AB9cIrSdEYtCGu5YO9b61Q* t, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q key) {
	tyObject_ProfileInfo__le1imru0p6WwvUctTtOlIw* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (tyObject_ProfileInfo__le1imru0p6WwvUctTtOlIw*)0;
	result = X5BX5D___DldrQjxt0iOBMCfnDHQJiQ(t, key);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, stdlib_tablesDatInit000)(void) {

/* section: NIM_merge_TYPE_INIT1 */
static TNimNode* TM__4SoG2KRQy3oMm9aUzSLtGrA_2_3[3];
static TNimNode* TM__4SoG2KRQy3oMm9aUzSLtGrA_3_2[2];
static TNimNode* TM__4SoG2KRQy3oMm9aUzSLtGrA_4_3[3];
static TNimNode* TM__4SoG2KRQy3oMm9aUzSLtGrA_5_2[2];
static TNimNode* TM__4SoG2KRQy3oMm9aUzSLtGrA_6_3[3];
static TNimNode* TM__4SoG2KRQy3oMm9aUzSLtGrA_7_2[2];
static TNimNode* TM__4SoG2KRQy3oMm9aUzSLtGrA_8_3[3];
static TNimNode* TM__4SoG2KRQy3oMm9aUzSLtGrA_9_2[2];
static TNimNode* TM__4SoG2KRQy3oMm9aUzSLtGrA_10_3[3];
static TNimNode* TM__4SoG2KRQy3oMm9aUzSLtGrA_11_2[2];
static TNimNode* TM__4SoG2KRQy3oMm9aUzSLtGrA_12_3[3];
static TNimNode* TM__4SoG2KRQy3oMm9aUzSLtGrA_13_2[2];
static TNimNode* TM__4SoG2KRQy3oMm9aUzSLtGrA_14_3[3];
static TNimNode* TM__4SoG2KRQy3oMm9aUzSLtGrA_15_2[2];
static TNimNode* TM__4SoG2KRQy3oMm9aUzSLtGrA_16_3[3];
static TNimNode* TM__4SoG2KRQy3oMm9aUzSLtGrA_17_2[2];
static TNimNode* TM__4SoG2KRQy3oMm9aUzSLtGrA_18_3[3];
static TNimNode* TM__4SoG2KRQy3oMm9aUzSLtGrA_19_2[2];
static TNimNode* TM__4SoG2KRQy3oMm9aUzSLtGrA_20_3[3];
static TNimNode* TM__4SoG2KRQy3oMm9aUzSLtGrA_22_3[3];
static TNimNode* TM__4SoG2KRQy3oMm9aUzSLtGrA_23_3[3];
static TNimNode* TM__4SoG2KRQy3oMm9aUzSLtGrA_24_3[3];
static TNimNode TM__4SoG2KRQy3oMm9aUzSLtGrA_0[79];

/* section: NIM_merge_TYPE_INIT3 */
NTI__aGv2fk9ceddvdC01ZJC2Q2g_.size = sizeof(tyTuple__aGv2fk9ceddvdC01ZJC2Q2g);
NTI__aGv2fk9ceddvdC01ZJC2Q2g_.align = NIM_ALIGNOF(tyTuple__aGv2fk9ceddvdC01ZJC2Q2g);
NTI__aGv2fk9ceddvdC01ZJC2Q2g_.kind = 18;
NTI__aGv2fk9ceddvdC01ZJC2Q2g_.base = 0;
NTI__aGv2fk9ceddvdC01ZJC2Q2g_.flags = 3;
TM__4SoG2KRQy3oMm9aUzSLtGrA_2_3[0] = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[1];
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[1].kind = 1;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[1].offset = offsetof(tyTuple__aGv2fk9ceddvdC01ZJC2Q2g, Field0);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[1].typ = (&NTI__rR5Bzr1D5krxoo1NcNyeMA_);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[1].name = "Field0";
TM__4SoG2KRQy3oMm9aUzSLtGrA_2_3[1] = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[2];
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[2].kind = 1;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[2].offset = offsetof(tyTuple__aGv2fk9ceddvdC01ZJC2Q2g, Field1);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[2].typ = (&NTI__vr5DoT1jILTGdRlYv1OYpw_);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[2].name = "Field1";
TM__4SoG2KRQy3oMm9aUzSLtGrA_2_3[2] = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[3];
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[3].kind = 1;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[3].offset = offsetof(tyTuple__aGv2fk9ceddvdC01ZJC2Q2g, Field2);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[3].typ = (&NTI__rR5Bzr1D5krxoo1NcNyeMA_);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[3].name = "Field2";
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[0].len = 3; TM__4SoG2KRQy3oMm9aUzSLtGrA_0[0].kind = 2; TM__4SoG2KRQy3oMm9aUzSLtGrA_0[0].sons = &TM__4SoG2KRQy3oMm9aUzSLtGrA_2_3[0];
NTI__aGv2fk9ceddvdC01ZJC2Q2g_.node = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[0];
NTI__9chP3SzkaldXzawWQCDsqqg_.size = sizeof(tySequence__9chP3SzkaldXzawWQCDsqqg*);
NTI__9chP3SzkaldXzawWQCDsqqg_.align = NIM_ALIGNOF(tySequence__9chP3SzkaldXzawWQCDsqqg*);
NTI__9chP3SzkaldXzawWQCDsqqg_.kind = 24;
NTI__9chP3SzkaldXzawWQCDsqqg_.base = (&NTI__aGv2fk9ceddvdC01ZJC2Q2g_);
NTI__9chP3SzkaldXzawWQCDsqqg_.flags = 2;
NTI__9chP3SzkaldXzawWQCDsqqg_.marker = Marker_tySequence__9chP3SzkaldXzawWQCDsqqg;
NTI__Ab4q9c36aMR4mtkEOIBzdzA_.size = sizeof(tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA);
NTI__Ab4q9c36aMR4mtkEOIBzdzA_.align = NIM_ALIGNOF(tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA);
NTI__Ab4q9c36aMR4mtkEOIBzdzA_.kind = 18;
NTI__Ab4q9c36aMR4mtkEOIBzdzA_.base = 0;
NTI__Ab4q9c36aMR4mtkEOIBzdzA_.flags = 2;
TM__4SoG2KRQy3oMm9aUzSLtGrA_3_2[0] = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[5];
NTI__xYhUhS7X82rKTqbT9bRfCnw_.size = sizeof(tyTuple__xYhUhS7X82rKTqbT9bRfCnw);
NTI__xYhUhS7X82rKTqbT9bRfCnw_.align = NIM_ALIGNOF(tyTuple__xYhUhS7X82rKTqbT9bRfCnw);
NTI__xYhUhS7X82rKTqbT9bRfCnw_.kind = 18;
NTI__xYhUhS7X82rKTqbT9bRfCnw_.base = 0;
NTI__xYhUhS7X82rKTqbT9bRfCnw_.flags = 2;
TM__4SoG2KRQy3oMm9aUzSLtGrA_4_3[0] = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[7];
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[7].kind = 1;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[7].offset = offsetof(tyTuple__xYhUhS7X82rKTqbT9bRfCnw, Field0);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[7].typ = (&NTI__rR5Bzr1D5krxoo1NcNyeMA_);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[7].name = "Field0";
TM__4SoG2KRQy3oMm9aUzSLtGrA_4_3[1] = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[8];
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[8].kind = 1;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[8].offset = offsetof(tyTuple__xYhUhS7X82rKTqbT9bRfCnw, Field1);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[8].typ = (&NTI__77mFvmsOLKik79ci2hXkHEg_);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[8].name = "Field1";
TM__4SoG2KRQy3oMm9aUzSLtGrA_4_3[2] = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[9];
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[9].kind = 1;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[9].offset = offsetof(tyTuple__xYhUhS7X82rKTqbT9bRfCnw, Field2);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[9].typ = (&NTI__sVg18TP9cLifHyygRe9cro9aA_);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[9].name = "Field2";
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[6].len = 3; TM__4SoG2KRQy3oMm9aUzSLtGrA_0[6].kind = 2; TM__4SoG2KRQy3oMm9aUzSLtGrA_0[6].sons = &TM__4SoG2KRQy3oMm9aUzSLtGrA_4_3[0];
NTI__xYhUhS7X82rKTqbT9bRfCnw_.node = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[6];
NTI__7lEisrXlQEzwtUKW5pzRCw_.size = sizeof(tySequence__7lEisrXlQEzwtUKW5pzRCw*);
NTI__7lEisrXlQEzwtUKW5pzRCw_.align = NIM_ALIGNOF(tySequence__7lEisrXlQEzwtUKW5pzRCw*);
NTI__7lEisrXlQEzwtUKW5pzRCw_.kind = 24;
NTI__7lEisrXlQEzwtUKW5pzRCw_.base = (&NTI__xYhUhS7X82rKTqbT9bRfCnw_);
NTI__7lEisrXlQEzwtUKW5pzRCw_.flags = 2;
NTI__7lEisrXlQEzwtUKW5pzRCw_.marker = Marker_tySequence__7lEisrXlQEzwtUKW5pzRCw;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[5].kind = 1;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[5].offset = offsetof(tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA, data);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[5].typ = (&NTI__7lEisrXlQEzwtUKW5pzRCw_);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[5].name = "data";
TM__4SoG2KRQy3oMm9aUzSLtGrA_3_2[1] = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[10];
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[10].kind = 1;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[10].offset = offsetof(tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA, counter);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[10].typ = (&NTI__rR5Bzr1D5krxoo1NcNyeMA_);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[10].name = "counter";
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[4].len = 2; TM__4SoG2KRQy3oMm9aUzSLtGrA_0[4].kind = 2; TM__4SoG2KRQy3oMm9aUzSLtGrA_0[4].sons = &TM__4SoG2KRQy3oMm9aUzSLtGrA_3_2[0];
NTI__Ab4q9c36aMR4mtkEOIBzdzA_.node = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[4];
NTI__l6AB9cIrSdEYtCGu5YO9b61Q_.size = sizeof(tyObject_Table__l6AB9cIrSdEYtCGu5YO9b61Q);
NTI__l6AB9cIrSdEYtCGu5YO9b61Q_.align = NIM_ALIGNOF(tyObject_Table__l6AB9cIrSdEYtCGu5YO9b61Q);
NTI__l6AB9cIrSdEYtCGu5YO9b61Q_.kind = 18;
NTI__l6AB9cIrSdEYtCGu5YO9b61Q_.base = 0;
NTI__l6AB9cIrSdEYtCGu5YO9b61Q_.flags = 2;
TM__4SoG2KRQy3oMm9aUzSLtGrA_5_2[0] = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[12];
NTI__ucLo1ofiZatslecSftPI2A_.size = sizeof(tyTuple__ucLo1ofiZatslecSftPI2A);
NTI__ucLo1ofiZatslecSftPI2A_.align = NIM_ALIGNOF(tyTuple__ucLo1ofiZatslecSftPI2A);
NTI__ucLo1ofiZatslecSftPI2A_.kind = 18;
NTI__ucLo1ofiZatslecSftPI2A_.base = 0;
NTI__ucLo1ofiZatslecSftPI2A_.flags = 3;
TM__4SoG2KRQy3oMm9aUzSLtGrA_6_3[0] = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[14];
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[14].kind = 1;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[14].offset = offsetof(tyTuple__ucLo1ofiZatslecSftPI2A, Field0);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[14].typ = (&NTI__rR5Bzr1D5krxoo1NcNyeMA_);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[14].name = "Field0";
TM__4SoG2KRQy3oMm9aUzSLtGrA_6_3[1] = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[15];
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[15].kind = 1;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[15].offset = offsetof(tyTuple__ucLo1ofiZatslecSftPI2A, Field1);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[15].typ = (&NTI__WGx4rAexNXnczy1Avn646Q_);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[15].name = "Field1";
TM__4SoG2KRQy3oMm9aUzSLtGrA_6_3[2] = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[16];
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[16].kind = 1;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[16].offset = offsetof(tyTuple__ucLo1ofiZatslecSftPI2A, Field2);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[16].typ = (&NTI__le1imru0p6WwvUctTtOlIw_);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[16].name = "Field2";
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[13].len = 3; TM__4SoG2KRQy3oMm9aUzSLtGrA_0[13].kind = 2; TM__4SoG2KRQy3oMm9aUzSLtGrA_0[13].sons = &TM__4SoG2KRQy3oMm9aUzSLtGrA_6_3[0];
NTI__ucLo1ofiZatslecSftPI2A_.node = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[13];
NTI__TXIV9cpS1nTKZLiCib9cPT4g_.size = sizeof(tySequence__TXIV9cpS1nTKZLiCib9cPT4g*);
NTI__TXIV9cpS1nTKZLiCib9cPT4g_.align = NIM_ALIGNOF(tySequence__TXIV9cpS1nTKZLiCib9cPT4g*);
NTI__TXIV9cpS1nTKZLiCib9cPT4g_.kind = 24;
NTI__TXIV9cpS1nTKZLiCib9cPT4g_.base = (&NTI__ucLo1ofiZatslecSftPI2A_);
NTI__TXIV9cpS1nTKZLiCib9cPT4g_.flags = 2;
NTI__TXIV9cpS1nTKZLiCib9cPT4g_.marker = Marker_tySequence__TXIV9cpS1nTKZLiCib9cPT4g;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[12].kind = 1;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[12].offset = offsetof(tyObject_Table__l6AB9cIrSdEYtCGu5YO9b61Q, data);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[12].typ = (&NTI__TXIV9cpS1nTKZLiCib9cPT4g_);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[12].name = "data";
TM__4SoG2KRQy3oMm9aUzSLtGrA_5_2[1] = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[17];
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[17].kind = 1;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[17].offset = offsetof(tyObject_Table__l6AB9cIrSdEYtCGu5YO9b61Q, counter);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[17].typ = (&NTI__rR5Bzr1D5krxoo1NcNyeMA_);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[17].name = "counter";
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[11].len = 2; TM__4SoG2KRQy3oMm9aUzSLtGrA_0[11].kind = 2; TM__4SoG2KRQy3oMm9aUzSLtGrA_0[11].sons = &TM__4SoG2KRQy3oMm9aUzSLtGrA_5_2[0];
NTI__l6AB9cIrSdEYtCGu5YO9b61Q_.node = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[11];
NTI__c9cu1Wn3L8QykVYwvBtxVTQ_.size = sizeof(tyObject_Table__l6AB9cIrSdEYtCGu5YO9b61Q*);
NTI__c9cu1Wn3L8QykVYwvBtxVTQ_.align = NIM_ALIGNOF(tyObject_Table__l6AB9cIrSdEYtCGu5YO9b61Q*);
NTI__c9cu1Wn3L8QykVYwvBtxVTQ_.kind = 22;
NTI__c9cu1Wn3L8QykVYwvBtxVTQ_.base = (&NTI__l6AB9cIrSdEYtCGu5YO9b61Q_);
NTI__c9cu1Wn3L8QykVYwvBtxVTQ_.flags = 2;
NTI__c9cu1Wn3L8QykVYwvBtxVTQ_.marker = Marker_tyRef__c9cu1Wn3L8QykVYwvBtxVTQ;
NTI__fdKWDDO1P17zvuQPReVgRA_.size = sizeof(tyObject_Table__fdKWDDO1P17zvuQPReVgRA);
NTI__fdKWDDO1P17zvuQPReVgRA_.align = NIM_ALIGNOF(tyObject_Table__fdKWDDO1P17zvuQPReVgRA);
NTI__fdKWDDO1P17zvuQPReVgRA_.kind = 18;
NTI__fdKWDDO1P17zvuQPReVgRA_.base = 0;
NTI__fdKWDDO1P17zvuQPReVgRA_.flags = 2;
TM__4SoG2KRQy3oMm9aUzSLtGrA_7_2[0] = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[19];
NTI__1mtQ8sCEE7DbfIuQciv9b5Q_.size = sizeof(tyTuple__1mtQ8sCEE7DbfIuQciv9b5Q);
NTI__1mtQ8sCEE7DbfIuQciv9b5Q_.align = NIM_ALIGNOF(tyTuple__1mtQ8sCEE7DbfIuQciv9b5Q);
NTI__1mtQ8sCEE7DbfIuQciv9b5Q_.kind = 18;
NTI__1mtQ8sCEE7DbfIuQciv9b5Q_.base = 0;
NTI__1mtQ8sCEE7DbfIuQciv9b5Q_.flags = 2;
TM__4SoG2KRQy3oMm9aUzSLtGrA_8_3[0] = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[21];
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[21].kind = 1;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[21].offset = offsetof(tyTuple__1mtQ8sCEE7DbfIuQciv9b5Q, Field0);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[21].typ = (&NTI__rR5Bzr1D5krxoo1NcNyeMA_);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[21].name = "Field0";
TM__4SoG2KRQy3oMm9aUzSLtGrA_8_3[1] = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[22];
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[22].kind = 1;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[22].offset = offsetof(tyTuple__1mtQ8sCEE7DbfIuQciv9b5Q, Field1);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[22].typ = (&NTI__sVg18TP9cLifHyygRe9cro9aA_);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[22].name = "Field1";
TM__4SoG2KRQy3oMm9aUzSLtGrA_8_3[2] = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[23];
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[23].kind = 1;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[23].offset = offsetof(tyTuple__1mtQ8sCEE7DbfIuQciv9b5Q, Field2);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[23].typ = (&NTI__48JTohSgTy339bRxHzUD8KA_);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[23].name = "Field2";
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[20].len = 3; TM__4SoG2KRQy3oMm9aUzSLtGrA_0[20].kind = 2; TM__4SoG2KRQy3oMm9aUzSLtGrA_0[20].sons = &TM__4SoG2KRQy3oMm9aUzSLtGrA_8_3[0];
NTI__1mtQ8sCEE7DbfIuQciv9b5Q_.node = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[20];
NTI__fdmz6VkIf1ewwrssKYqRFg_.size = sizeof(tySequence__fdmz6VkIf1ewwrssKYqRFg*);
NTI__fdmz6VkIf1ewwrssKYqRFg_.align = NIM_ALIGNOF(tySequence__fdmz6VkIf1ewwrssKYqRFg*);
NTI__fdmz6VkIf1ewwrssKYqRFg_.kind = 24;
NTI__fdmz6VkIf1ewwrssKYqRFg_.base = (&NTI__1mtQ8sCEE7DbfIuQciv9b5Q_);
NTI__fdmz6VkIf1ewwrssKYqRFg_.flags = 2;
NTI__fdmz6VkIf1ewwrssKYqRFg_.marker = Marker_tySequence__fdmz6VkIf1ewwrssKYqRFg;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[19].kind = 1;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[19].offset = offsetof(tyObject_Table__fdKWDDO1P17zvuQPReVgRA, data);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[19].typ = (&NTI__fdmz6VkIf1ewwrssKYqRFg_);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[19].name = "data";
TM__4SoG2KRQy3oMm9aUzSLtGrA_7_2[1] = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[24];
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[24].kind = 1;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[24].offset = offsetof(tyObject_Table__fdKWDDO1P17zvuQPReVgRA, counter);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[24].typ = (&NTI__rR5Bzr1D5krxoo1NcNyeMA_);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[24].name = "counter";
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[18].len = 2; TM__4SoG2KRQy3oMm9aUzSLtGrA_0[18].kind = 2; TM__4SoG2KRQy3oMm9aUzSLtGrA_0[18].sons = &TM__4SoG2KRQy3oMm9aUzSLtGrA_7_2[0];
NTI__fdKWDDO1P17zvuQPReVgRA_.node = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[18];
NTI__e2Ciu0s1q49aVQ7ULXy7l9bQ_.size = sizeof(tyObject_Table__e2Ciu0s1q49aVQ7ULXy7l9bQ);
NTI__e2Ciu0s1q49aVQ7ULXy7l9bQ_.align = NIM_ALIGNOF(tyObject_Table__e2Ciu0s1q49aVQ7ULXy7l9bQ);
NTI__e2Ciu0s1q49aVQ7ULXy7l9bQ_.kind = 18;
NTI__e2Ciu0s1q49aVQ7ULXy7l9bQ_.base = 0;
NTI__e2Ciu0s1q49aVQ7ULXy7l9bQ_.flags = 2;
TM__4SoG2KRQy3oMm9aUzSLtGrA_9_2[0] = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[26];
NTI__xDU9bZmv1ZbZkJDaATBekIQ_.size = sizeof(tyTuple__xDU9bZmv1ZbZkJDaATBekIQ);
NTI__xDU9bZmv1ZbZkJDaATBekIQ_.align = NIM_ALIGNOF(tyTuple__xDU9bZmv1ZbZkJDaATBekIQ);
NTI__xDU9bZmv1ZbZkJDaATBekIQ_.kind = 18;
NTI__xDU9bZmv1ZbZkJDaATBekIQ_.base = 0;
NTI__xDU9bZmv1ZbZkJDaATBekIQ_.flags = 3;
TM__4SoG2KRQy3oMm9aUzSLtGrA_10_3[0] = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[28];
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[28].kind = 1;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[28].offset = offsetof(tyTuple__xDU9bZmv1ZbZkJDaATBekIQ, Field0);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[28].typ = (&NTI__rR5Bzr1D5krxoo1NcNyeMA_);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[28].name = "Field0";
TM__4SoG2KRQy3oMm9aUzSLtGrA_10_3[1] = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[29];
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[29].kind = 1;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[29].offset = offsetof(tyTuple__xDU9bZmv1ZbZkJDaATBekIQ, Field1);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[29].typ = (&NTI__sVg18TP9cLifHyygRe9cro9aA_);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[29].name = "Field1";
TM__4SoG2KRQy3oMm9aUzSLtGrA_10_3[2] = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[30];
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[30].kind = 1;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[30].offset = offsetof(tyTuple__xDU9bZmv1ZbZkJDaATBekIQ, Field2);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[30].typ = (&NTI__sVg18TP9cLifHyygRe9cro9aA_);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[30].name = "Field2";
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[27].len = 3; TM__4SoG2KRQy3oMm9aUzSLtGrA_0[27].kind = 2; TM__4SoG2KRQy3oMm9aUzSLtGrA_0[27].sons = &TM__4SoG2KRQy3oMm9aUzSLtGrA_10_3[0];
NTI__xDU9bZmv1ZbZkJDaATBekIQ_.node = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[27];
NTI__kxu4GK0onha2t9bo86mdVAg_.size = sizeof(tySequence__kxu4GK0onha2t9bo86mdVAg*);
NTI__kxu4GK0onha2t9bo86mdVAg_.align = NIM_ALIGNOF(tySequence__kxu4GK0onha2t9bo86mdVAg*);
NTI__kxu4GK0onha2t9bo86mdVAg_.kind = 24;
NTI__kxu4GK0onha2t9bo86mdVAg_.base = (&NTI__xDU9bZmv1ZbZkJDaATBekIQ_);
NTI__kxu4GK0onha2t9bo86mdVAg_.flags = 2;
NTI__kxu4GK0onha2t9bo86mdVAg_.marker = Marker_tySequence__kxu4GK0onha2t9bo86mdVAg;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[26].kind = 1;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[26].offset = offsetof(tyObject_Table__e2Ciu0s1q49aVQ7ULXy7l9bQ, data);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[26].typ = (&NTI__kxu4GK0onha2t9bo86mdVAg_);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[26].name = "data";
TM__4SoG2KRQy3oMm9aUzSLtGrA_9_2[1] = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[31];
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[31].kind = 1;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[31].offset = offsetof(tyObject_Table__e2Ciu0s1q49aVQ7ULXy7l9bQ, counter);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[31].typ = (&NTI__rR5Bzr1D5krxoo1NcNyeMA_);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[31].name = "counter";
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[25].len = 2; TM__4SoG2KRQy3oMm9aUzSLtGrA_0[25].kind = 2; TM__4SoG2KRQy3oMm9aUzSLtGrA_0[25].sons = &TM__4SoG2KRQy3oMm9aUzSLtGrA_9_2[0];
NTI__e2Ciu0s1q49aVQ7ULXy7l9bQ_.node = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[25];
NTI__IioUJGdqPI6xC7S7QF8MBw_.size = sizeof(tyObject_Table__IioUJGdqPI6xC7S7QF8MBw);
NTI__IioUJGdqPI6xC7S7QF8MBw_.align = NIM_ALIGNOF(tyObject_Table__IioUJGdqPI6xC7S7QF8MBw);
NTI__IioUJGdqPI6xC7S7QF8MBw_.kind = 18;
NTI__IioUJGdqPI6xC7S7QF8MBw_.base = 0;
NTI__IioUJGdqPI6xC7S7QF8MBw_.flags = 2;
TM__4SoG2KRQy3oMm9aUzSLtGrA_11_2[0] = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[33];
NTI__EkGTYRWQ6y9cppXTlT8Xm5g_.size = sizeof(tyTuple__EkGTYRWQ6y9cppXTlT8Xm5g);
NTI__EkGTYRWQ6y9cppXTlT8Xm5g_.align = NIM_ALIGNOF(tyTuple__EkGTYRWQ6y9cppXTlT8Xm5g);
NTI__EkGTYRWQ6y9cppXTlT8Xm5g_.kind = 18;
NTI__EkGTYRWQ6y9cppXTlT8Xm5g_.base = 0;
NTI__EkGTYRWQ6y9cppXTlT8Xm5g_.flags = 2;
TM__4SoG2KRQy3oMm9aUzSLtGrA_12_3[0] = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[35];
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[35].kind = 1;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[35].offset = offsetof(tyTuple__EkGTYRWQ6y9cppXTlT8Xm5g, Field0);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[35].typ = (&NTI__rR5Bzr1D5krxoo1NcNyeMA_);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[35].name = "Field0";
TM__4SoG2KRQy3oMm9aUzSLtGrA_12_3[1] = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[36];
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[36].kind = 1;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[36].offset = offsetof(tyTuple__EkGTYRWQ6y9cppXTlT8Xm5g, Field1);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[36].typ = (&NTI__qtqsWM5aXmcpMIVmvq3kAA_);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[36].name = "Field1";
TM__4SoG2KRQy3oMm9aUzSLtGrA_12_3[2] = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[37];
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[37].kind = 1;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[37].offset = offsetof(tyTuple__EkGTYRWQ6y9cppXTlT8Xm5g, Field2);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[37].typ = (&NTI__AgIT5feFR9a9aoVjv9cx2rOtg_);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[37].name = "Field2";
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[34].len = 3; TM__4SoG2KRQy3oMm9aUzSLtGrA_0[34].kind = 2; TM__4SoG2KRQy3oMm9aUzSLtGrA_0[34].sons = &TM__4SoG2KRQy3oMm9aUzSLtGrA_12_3[0];
NTI__EkGTYRWQ6y9cppXTlT8Xm5g_.node = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[34];
NTI__Qr6E8eH7btq79cFKGaJfGLw_.size = sizeof(tySequence__Qr6E8eH7btq79cFKGaJfGLw*);
NTI__Qr6E8eH7btq79cFKGaJfGLw_.align = NIM_ALIGNOF(tySequence__Qr6E8eH7btq79cFKGaJfGLw*);
NTI__Qr6E8eH7btq79cFKGaJfGLw_.kind = 24;
NTI__Qr6E8eH7btq79cFKGaJfGLw_.base = (&NTI__EkGTYRWQ6y9cppXTlT8Xm5g_);
NTI__Qr6E8eH7btq79cFKGaJfGLw_.flags = 2;
NTI__Qr6E8eH7btq79cFKGaJfGLw_.marker = Marker_tySequence__Qr6E8eH7btq79cFKGaJfGLw;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[33].kind = 1;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[33].offset = offsetof(tyObject_Table__IioUJGdqPI6xC7S7QF8MBw, data);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[33].typ = (&NTI__Qr6E8eH7btq79cFKGaJfGLw_);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[33].name = "data";
TM__4SoG2KRQy3oMm9aUzSLtGrA_11_2[1] = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[38];
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[38].kind = 1;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[38].offset = offsetof(tyObject_Table__IioUJGdqPI6xC7S7QF8MBw, counter);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[38].typ = (&NTI__rR5Bzr1D5krxoo1NcNyeMA_);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[38].name = "counter";
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[32].len = 2; TM__4SoG2KRQy3oMm9aUzSLtGrA_0[32].kind = 2; TM__4SoG2KRQy3oMm9aUzSLtGrA_0[32].sons = &TM__4SoG2KRQy3oMm9aUzSLtGrA_11_2[0];
NTI__IioUJGdqPI6xC7S7QF8MBw_.node = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[32];
NTI__G1v8c16HePOldLeucwe05Q_.size = sizeof(tyObject_Table__G1v8c16HePOldLeucwe05Q);
NTI__G1v8c16HePOldLeucwe05Q_.align = NIM_ALIGNOF(tyObject_Table__G1v8c16HePOldLeucwe05Q);
NTI__G1v8c16HePOldLeucwe05Q_.kind = 18;
NTI__G1v8c16HePOldLeucwe05Q_.base = 0;
NTI__G1v8c16HePOldLeucwe05Q_.flags = 2;
TM__4SoG2KRQy3oMm9aUzSLtGrA_13_2[0] = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[40];
NTI__OJFzEczluV8Jmo9bRpBfkzw_.size = sizeof(tyTuple__OJFzEczluV8Jmo9bRpBfkzw);
NTI__OJFzEczluV8Jmo9bRpBfkzw_.align = NIM_ALIGNOF(tyTuple__OJFzEczluV8Jmo9bRpBfkzw);
NTI__OJFzEczluV8Jmo9bRpBfkzw_.kind = 18;
NTI__OJFzEczluV8Jmo9bRpBfkzw_.base = 0;
NTI__OJFzEczluV8Jmo9bRpBfkzw_.flags = 3;
TM__4SoG2KRQy3oMm9aUzSLtGrA_14_3[0] = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[42];
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[42].kind = 1;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[42].offset = offsetof(tyTuple__OJFzEczluV8Jmo9bRpBfkzw, Field0);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[42].typ = (&NTI__rR5Bzr1D5krxoo1NcNyeMA_);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[42].name = "Field0";
TM__4SoG2KRQy3oMm9aUzSLtGrA_14_3[1] = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[43];
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[43].kind = 1;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[43].offset = offsetof(tyTuple__OJFzEczluV8Jmo9bRpBfkzw, Field1);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[43].typ = (&NTI__rR5Bzr1D5krxoo1NcNyeMA_);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[43].name = "Field1";
TM__4SoG2KRQy3oMm9aUzSLtGrA_14_3[2] = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[44];
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[44].kind = 1;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[44].offset = offsetof(tyTuple__OJFzEczluV8Jmo9bRpBfkzw, Field2);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[44].typ = (&NTI__qtqsWM5aXmcpMIVmvq3kAA_);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[44].name = "Field2";
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[41].len = 3; TM__4SoG2KRQy3oMm9aUzSLtGrA_0[41].kind = 2; TM__4SoG2KRQy3oMm9aUzSLtGrA_0[41].sons = &TM__4SoG2KRQy3oMm9aUzSLtGrA_14_3[0];
NTI__OJFzEczluV8Jmo9bRpBfkzw_.node = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[41];
NTI__fIB1rTQ55aFonoft9a9bmljQ_.size = sizeof(tySequence__fIB1rTQ55aFonoft9a9bmljQ*);
NTI__fIB1rTQ55aFonoft9a9bmljQ_.align = NIM_ALIGNOF(tySequence__fIB1rTQ55aFonoft9a9bmljQ*);
NTI__fIB1rTQ55aFonoft9a9bmljQ_.kind = 24;
NTI__fIB1rTQ55aFonoft9a9bmljQ_.base = (&NTI__OJFzEczluV8Jmo9bRpBfkzw_);
NTI__fIB1rTQ55aFonoft9a9bmljQ_.flags = 2;
NTI__fIB1rTQ55aFonoft9a9bmljQ_.marker = Marker_tySequence__fIB1rTQ55aFonoft9a9bmljQ;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[40].kind = 1;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[40].offset = offsetof(tyObject_Table__G1v8c16HePOldLeucwe05Q, data);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[40].typ = (&NTI__fIB1rTQ55aFonoft9a9bmljQ_);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[40].name = "data";
TM__4SoG2KRQy3oMm9aUzSLtGrA_13_2[1] = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[45];
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[45].kind = 1;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[45].offset = offsetof(tyObject_Table__G1v8c16HePOldLeucwe05Q, counter);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[45].typ = (&NTI__rR5Bzr1D5krxoo1NcNyeMA_);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[45].name = "counter";
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[39].len = 2; TM__4SoG2KRQy3oMm9aUzSLtGrA_0[39].kind = 2; TM__4SoG2KRQy3oMm9aUzSLtGrA_0[39].sons = &TM__4SoG2KRQy3oMm9aUzSLtGrA_13_2[0];
NTI__G1v8c16HePOldLeucwe05Q_.node = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[39];
NTI__0Y2brGGKD9bV6GJLXT9aUDgA_.size = sizeof(tyObject_Table__0Y2brGGKD9bV6GJLXT9aUDgA);
NTI__0Y2brGGKD9bV6GJLXT9aUDgA_.align = NIM_ALIGNOF(tyObject_Table__0Y2brGGKD9bV6GJLXT9aUDgA);
NTI__0Y2brGGKD9bV6GJLXT9aUDgA_.kind = 18;
NTI__0Y2brGGKD9bV6GJLXT9aUDgA_.base = 0;
NTI__0Y2brGGKD9bV6GJLXT9aUDgA_.flags = 2;
TM__4SoG2KRQy3oMm9aUzSLtGrA_15_2[0] = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[47];
NTI__2SGm9aGCXuo7XSQ9bqD29axXw_.size = sizeof(tyTuple__2SGm9aGCXuo7XSQ9bqD29axXw);
NTI__2SGm9aGCXuo7XSQ9bqD29axXw_.align = NIM_ALIGNOF(tyTuple__2SGm9aGCXuo7XSQ9bqD29axXw);
NTI__2SGm9aGCXuo7XSQ9bqD29axXw_.kind = 18;
NTI__2SGm9aGCXuo7XSQ9bqD29axXw_.base = 0;
NTI__2SGm9aGCXuo7XSQ9bqD29axXw_.flags = 2;
TM__4SoG2KRQy3oMm9aUzSLtGrA_16_3[0] = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[49];
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[49].kind = 1;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[49].offset = offsetof(tyTuple__2SGm9aGCXuo7XSQ9bqD29axXw, Field0);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[49].typ = (&NTI__rR5Bzr1D5krxoo1NcNyeMA_);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[49].name = "Field0";
TM__4SoG2KRQy3oMm9aUzSLtGrA_16_3[1] = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[50];
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[50].kind = 1;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[50].offset = offsetof(tyTuple__2SGm9aGCXuo7XSQ9bqD29axXw, Field1);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[50].typ = (&NTI__77mFvmsOLKik79ci2hXkHEg_);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[50].name = "Field1";
TM__4SoG2KRQy3oMm9aUzSLtGrA_16_3[2] = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[51];
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[51].kind = 1;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[51].offset = offsetof(tyTuple__2SGm9aGCXuo7XSQ9bqD29axXw, Field2);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[51].typ = (&NTI__fKfcLzXYiz5jNu3NH3Tv8Q_);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[51].name = "Field2";
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[48].len = 3; TM__4SoG2KRQy3oMm9aUzSLtGrA_0[48].kind = 2; TM__4SoG2KRQy3oMm9aUzSLtGrA_0[48].sons = &TM__4SoG2KRQy3oMm9aUzSLtGrA_16_3[0];
NTI__2SGm9aGCXuo7XSQ9bqD29axXw_.node = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[48];
NTI__23SMqauuRsbDANhthj9bWlA_.size = sizeof(tySequence__23SMqauuRsbDANhthj9bWlA*);
NTI__23SMqauuRsbDANhthj9bWlA_.align = NIM_ALIGNOF(tySequence__23SMqauuRsbDANhthj9bWlA*);
NTI__23SMqauuRsbDANhthj9bWlA_.kind = 24;
NTI__23SMqauuRsbDANhthj9bWlA_.base = (&NTI__2SGm9aGCXuo7XSQ9bqD29axXw_);
NTI__23SMqauuRsbDANhthj9bWlA_.flags = 2;
NTI__23SMqauuRsbDANhthj9bWlA_.marker = Marker_tySequence__23SMqauuRsbDANhthj9bWlA;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[47].kind = 1;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[47].offset = offsetof(tyObject_Table__0Y2brGGKD9bV6GJLXT9aUDgA, data);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[47].typ = (&NTI__23SMqauuRsbDANhthj9bWlA_);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[47].name = "data";
TM__4SoG2KRQy3oMm9aUzSLtGrA_15_2[1] = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[52];
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[52].kind = 1;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[52].offset = offsetof(tyObject_Table__0Y2brGGKD9bV6GJLXT9aUDgA, counter);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[52].typ = (&NTI__rR5Bzr1D5krxoo1NcNyeMA_);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[52].name = "counter";
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[46].len = 2; TM__4SoG2KRQy3oMm9aUzSLtGrA_0[46].kind = 2; TM__4SoG2KRQy3oMm9aUzSLtGrA_0[46].sons = &TM__4SoG2KRQy3oMm9aUzSLtGrA_15_2[0];
NTI__0Y2brGGKD9bV6GJLXT9aUDgA_.node = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[46];
NTI__NttoEzoiq5CiphZe81oadg_.size = sizeof(tyObject_Table__NttoEzoiq5CiphZe81oadg);
NTI__NttoEzoiq5CiphZe81oadg_.align = NIM_ALIGNOF(tyObject_Table__NttoEzoiq5CiphZe81oadg);
NTI__NttoEzoiq5CiphZe81oadg_.kind = 18;
NTI__NttoEzoiq5CiphZe81oadg_.base = 0;
NTI__NttoEzoiq5CiphZe81oadg_.flags = 2;
TM__4SoG2KRQy3oMm9aUzSLtGrA_17_2[0] = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[54];
NTI__F3gkSrMB1qp2Tvf9bixVXwg_.size = sizeof(tyTuple__F3gkSrMB1qp2Tvf9bixVXwg);
NTI__F3gkSrMB1qp2Tvf9bixVXwg_.align = NIM_ALIGNOF(tyTuple__F3gkSrMB1qp2Tvf9bixVXwg);
NTI__F3gkSrMB1qp2Tvf9bixVXwg_.kind = 18;
NTI__F3gkSrMB1qp2Tvf9bixVXwg_.base = 0;
NTI__F3gkSrMB1qp2Tvf9bixVXwg_.flags = 2;
TM__4SoG2KRQy3oMm9aUzSLtGrA_18_3[0] = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[56];
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[56].kind = 1;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[56].offset = offsetof(tyTuple__F3gkSrMB1qp2Tvf9bixVXwg, Field0);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[56].typ = (&NTI__rR5Bzr1D5krxoo1NcNyeMA_);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[56].name = "Field0";
TM__4SoG2KRQy3oMm9aUzSLtGrA_18_3[1] = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[57];
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[57].kind = 1;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[57].offset = offsetof(tyTuple__F3gkSrMB1qp2Tvf9bixVXwg, Field1);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[57].typ = (&NTI__77mFvmsOLKik79ci2hXkHEg_);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[57].name = "Field1";
TM__4SoG2KRQy3oMm9aUzSLtGrA_18_3[2] = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[58];
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[58].kind = 1;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[58].offset = offsetof(tyTuple__F3gkSrMB1qp2Tvf9bixVXwg, Field2);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[58].typ = (&NTI__Aav8dQoMlCFnZRxA0IhTHQ_);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[58].name = "Field2";
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[55].len = 3; TM__4SoG2KRQy3oMm9aUzSLtGrA_0[55].kind = 2; TM__4SoG2KRQy3oMm9aUzSLtGrA_0[55].sons = &TM__4SoG2KRQy3oMm9aUzSLtGrA_18_3[0];
NTI__F3gkSrMB1qp2Tvf9bixVXwg_.node = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[55];
NTI__squ9b9bUH4OLHf6cEMrt6hVA_.size = sizeof(tySequence__squ9b9bUH4OLHf6cEMrt6hVA*);
NTI__squ9b9bUH4OLHf6cEMrt6hVA_.align = NIM_ALIGNOF(tySequence__squ9b9bUH4OLHf6cEMrt6hVA*);
NTI__squ9b9bUH4OLHf6cEMrt6hVA_.kind = 24;
NTI__squ9b9bUH4OLHf6cEMrt6hVA_.base = (&NTI__F3gkSrMB1qp2Tvf9bixVXwg_);
NTI__squ9b9bUH4OLHf6cEMrt6hVA_.flags = 2;
NTI__squ9b9bUH4OLHf6cEMrt6hVA_.marker = Marker_tySequence__squ9b9bUH4OLHf6cEMrt6hVA;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[54].kind = 1;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[54].offset = offsetof(tyObject_Table__NttoEzoiq5CiphZe81oadg, data);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[54].typ = (&NTI__squ9b9bUH4OLHf6cEMrt6hVA_);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[54].name = "data";
TM__4SoG2KRQy3oMm9aUzSLtGrA_17_2[1] = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[59];
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[59].kind = 1;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[59].offset = offsetof(tyObject_Table__NttoEzoiq5CiphZe81oadg, counter);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[59].typ = (&NTI__rR5Bzr1D5krxoo1NcNyeMA_);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[59].name = "counter";
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[53].len = 2; TM__4SoG2KRQy3oMm9aUzSLtGrA_0[53].kind = 2; TM__4SoG2KRQy3oMm9aUzSLtGrA_0[53].sons = &TM__4SoG2KRQy3oMm9aUzSLtGrA_17_2[0];
NTI__NttoEzoiq5CiphZe81oadg_.node = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[53];
NTI__nagDFX4QHx0s6Fvma9blmSg_.size = sizeof(tyObject_Table__nagDFX4QHx0s6Fvma9blmSg);
NTI__nagDFX4QHx0s6Fvma9blmSg_.align = NIM_ALIGNOF(tyObject_Table__nagDFX4QHx0s6Fvma9blmSg);
NTI__nagDFX4QHx0s6Fvma9blmSg_.kind = 18;
NTI__nagDFX4QHx0s6Fvma9blmSg_.base = 0;
NTI__nagDFX4QHx0s6Fvma9blmSg_.flags = 2;
TM__4SoG2KRQy3oMm9aUzSLtGrA_19_2[0] = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[61];
NTI__wcNatyuf8WOqAhGLhSvgiw_.size = sizeof(tyTuple__wcNatyuf8WOqAhGLhSvgiw);
NTI__wcNatyuf8WOqAhGLhSvgiw_.align = NIM_ALIGNOF(tyTuple__wcNatyuf8WOqAhGLhSvgiw);
NTI__wcNatyuf8WOqAhGLhSvgiw_.kind = 18;
NTI__wcNatyuf8WOqAhGLhSvgiw_.base = 0;
NTI__wcNatyuf8WOqAhGLhSvgiw_.flags = 2;
TM__4SoG2KRQy3oMm9aUzSLtGrA_20_3[0] = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[63];
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[63].kind = 1;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[63].offset = offsetof(tyTuple__wcNatyuf8WOqAhGLhSvgiw, Field0);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[63].typ = (&NTI__rR5Bzr1D5krxoo1NcNyeMA_);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[63].name = "Field0";
TM__4SoG2KRQy3oMm9aUzSLtGrA_20_3[1] = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[64];
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[64].kind = 1;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[64].offset = offsetof(tyTuple__wcNatyuf8WOqAhGLhSvgiw, Field1);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[64].typ = (&NTI__77mFvmsOLKik79ci2hXkHEg_);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[64].name = "Field1";
TM__4SoG2KRQy3oMm9aUzSLtGrA_20_3[2] = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[65];
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[65].kind = 1;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[65].offset = offsetof(tyTuple__wcNatyuf8WOqAhGLhSvgiw, Field2);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[65].typ = (&NTI__VZdzO0Tlflp7WMN4gS8oPg_);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[65].name = "Field2";
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[62].len = 3; TM__4SoG2KRQy3oMm9aUzSLtGrA_0[62].kind = 2; TM__4SoG2KRQy3oMm9aUzSLtGrA_0[62].sons = &TM__4SoG2KRQy3oMm9aUzSLtGrA_20_3[0];
NTI__wcNatyuf8WOqAhGLhSvgiw_.node = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[62];
NTI__pHNq3oXj9av2sEUdqaqeZjw_.size = sizeof(tySequence__pHNq3oXj9av2sEUdqaqeZjw*);
NTI__pHNq3oXj9av2sEUdqaqeZjw_.align = NIM_ALIGNOF(tySequence__pHNq3oXj9av2sEUdqaqeZjw*);
NTI__pHNq3oXj9av2sEUdqaqeZjw_.kind = 24;
NTI__pHNq3oXj9av2sEUdqaqeZjw_.base = (&NTI__wcNatyuf8WOqAhGLhSvgiw_);
NTI__pHNq3oXj9av2sEUdqaqeZjw_.flags = 2;
NTI__pHNq3oXj9av2sEUdqaqeZjw_.marker = Marker_tySequence__pHNq3oXj9av2sEUdqaqeZjw;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[61].kind = 1;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[61].offset = offsetof(tyObject_Table__nagDFX4QHx0s6Fvma9blmSg, data);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[61].typ = (&NTI__pHNq3oXj9av2sEUdqaqeZjw_);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[61].name = "data";
TM__4SoG2KRQy3oMm9aUzSLtGrA_19_2[1] = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[66];
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[66].kind = 1;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[66].offset = offsetof(tyObject_Table__nagDFX4QHx0s6Fvma9blmSg, counter);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[66].typ = (&NTI__rR5Bzr1D5krxoo1NcNyeMA_);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[66].name = "counter";
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[60].len = 2; TM__4SoG2KRQy3oMm9aUzSLtGrA_0[60].kind = 2; TM__4SoG2KRQy3oMm9aUzSLtGrA_0[60].sons = &TM__4SoG2KRQy3oMm9aUzSLtGrA_19_2[0];
NTI__nagDFX4QHx0s6Fvma9blmSg_.node = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[60];
NTI__YGgHblKlCINajXDZno8UTQ_.size = sizeof(tyTuple__YGgHblKlCINajXDZno8UTQ);
NTI__YGgHblKlCINajXDZno8UTQ_.align = NIM_ALIGNOF(tyTuple__YGgHblKlCINajXDZno8UTQ);
NTI__YGgHblKlCINajXDZno8UTQ_.kind = 18;
NTI__YGgHblKlCINajXDZno8UTQ_.base = 0;
NTI__YGgHblKlCINajXDZno8UTQ_.flags = 2;
TM__4SoG2KRQy3oMm9aUzSLtGrA_22_3[0] = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[68];
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[68].kind = 1;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[68].offset = offsetof(tyTuple__YGgHblKlCINajXDZno8UTQ, Field0);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[68].typ = (&NTI__rR5Bzr1D5krxoo1NcNyeMA_);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[68].name = "Field0";
TM__4SoG2KRQy3oMm9aUzSLtGrA_22_3[1] = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[69];
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[69].kind = 1;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[69].offset = offsetof(tyTuple__YGgHblKlCINajXDZno8UTQ, Field1);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[69].typ = (&NTI__rR5Bzr1D5krxoo1NcNyeMA_);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[69].name = "Field1";
TM__4SoG2KRQy3oMm9aUzSLtGrA_22_3[2] = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[70];
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[70].kind = 1;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[70].offset = offsetof(tyTuple__YGgHblKlCINajXDZno8UTQ, Field2);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[70].typ = (&NTI__AgIT5feFR9a9aoVjv9cx2rOtg_);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[70].name = "Field2";
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[67].len = 3; TM__4SoG2KRQy3oMm9aUzSLtGrA_0[67].kind = 2; TM__4SoG2KRQy3oMm9aUzSLtGrA_0[67].sons = &TM__4SoG2KRQy3oMm9aUzSLtGrA_22_3[0];
NTI__YGgHblKlCINajXDZno8UTQ_.node = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[67];
NTI__hLW2w9a9bDM1AHB8BIrU3BYw_.size = sizeof(tySequence__hLW2w9a9bDM1AHB8BIrU3BYw*);
NTI__hLW2w9a9bDM1AHB8BIrU3BYw_.align = NIM_ALIGNOF(tySequence__hLW2w9a9bDM1AHB8BIrU3BYw*);
NTI__hLW2w9a9bDM1AHB8BIrU3BYw_.kind = 24;
NTI__hLW2w9a9bDM1AHB8BIrU3BYw_.base = (&NTI__YGgHblKlCINajXDZno8UTQ_);
NTI__hLW2w9a9bDM1AHB8BIrU3BYw_.flags = 2;
NTI__hLW2w9a9bDM1AHB8BIrU3BYw_.marker = Marker_tySequence__hLW2w9a9bDM1AHB8BIrU3BYw;
NTI__Wymbvuvlf49clEgp9bKoFN9bw_.size = sizeof(tyTuple__Wymbvuvlf49clEgp9bKoFN9bw);
NTI__Wymbvuvlf49clEgp9bKoFN9bw_.align = NIM_ALIGNOF(tyTuple__Wymbvuvlf49clEgp9bKoFN9bw);
NTI__Wymbvuvlf49clEgp9bKoFN9bw_.kind = 18;
NTI__Wymbvuvlf49clEgp9bKoFN9bw_.base = 0;
NTI__Wymbvuvlf49clEgp9bKoFN9bw_.flags = 2;
TM__4SoG2KRQy3oMm9aUzSLtGrA_23_3[0] = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[72];
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[72].kind = 1;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[72].offset = offsetof(tyTuple__Wymbvuvlf49clEgp9bKoFN9bw, Field0);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[72].typ = (&NTI__rR5Bzr1D5krxoo1NcNyeMA_);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[72].name = "Field0";
TM__4SoG2KRQy3oMm9aUzSLtGrA_23_3[1] = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[73];
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[73].kind = 1;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[73].offset = offsetof(tyTuple__Wymbvuvlf49clEgp9bKoFN9bw, Field1);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[73].typ = (&NTI__rR5Bzr1D5krxoo1NcNyeMA_);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[73].name = "Field1";
TM__4SoG2KRQy3oMm9aUzSLtGrA_23_3[2] = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[74];
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[74].kind = 1;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[74].offset = offsetof(tyTuple__Wymbvuvlf49clEgp9bKoFN9bw, Field2);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[74].typ = (&NTI__fKfcLzXYiz5jNu3NH3Tv8Q_);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[74].name = "Field2";
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[71].len = 3; TM__4SoG2KRQy3oMm9aUzSLtGrA_0[71].kind = 2; TM__4SoG2KRQy3oMm9aUzSLtGrA_0[71].sons = &TM__4SoG2KRQy3oMm9aUzSLtGrA_23_3[0];
NTI__Wymbvuvlf49clEgp9bKoFN9bw_.node = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[71];
NTI__YuKuU17u5ApAIki23DK9bJw_.size = sizeof(tySequence__YuKuU17u5ApAIki23DK9bJw*);
NTI__YuKuU17u5ApAIki23DK9bJw_.align = NIM_ALIGNOF(tySequence__YuKuU17u5ApAIki23DK9bJw*);
NTI__YuKuU17u5ApAIki23DK9bJw_.kind = 24;
NTI__YuKuU17u5ApAIki23DK9bJw_.base = (&NTI__Wymbvuvlf49clEgp9bKoFN9bw_);
NTI__YuKuU17u5ApAIki23DK9bJw_.flags = 2;
NTI__YuKuU17u5ApAIki23DK9bJw_.marker = Marker_tySequence__YuKuU17u5ApAIki23DK9bJw;
NTI__8jHm6IGDGecciKpp2bTNxA_.size = sizeof(tyTuple__8jHm6IGDGecciKpp2bTNxA);
NTI__8jHm6IGDGecciKpp2bTNxA_.align = NIM_ALIGNOF(tyTuple__8jHm6IGDGecciKpp2bTNxA);
NTI__8jHm6IGDGecciKpp2bTNxA_.kind = 18;
NTI__8jHm6IGDGecciKpp2bTNxA_.base = 0;
NTI__8jHm6IGDGecciKpp2bTNxA_.flags = 2;
TM__4SoG2KRQy3oMm9aUzSLtGrA_24_3[0] = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[76];
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[76].kind = 1;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[76].offset = offsetof(tyTuple__8jHm6IGDGecciKpp2bTNxA, Field0);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[76].typ = (&NTI__rR5Bzr1D5krxoo1NcNyeMA_);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[76].name = "Field0";
TM__4SoG2KRQy3oMm9aUzSLtGrA_24_3[1] = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[77];
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[77].kind = 1;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[77].offset = offsetof(tyTuple__8jHm6IGDGecciKpp2bTNxA, Field1);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[77].typ = (&NTI__Aav8dQoMlCFnZRxA0IhTHQ_);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[77].name = "Field1";
TM__4SoG2KRQy3oMm9aUzSLtGrA_24_3[2] = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[78];
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[78].kind = 1;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[78].offset = offsetof(tyTuple__8jHm6IGDGecciKpp2bTNxA, Field2);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[78].typ = (&NTI__fKfcLzXYiz5jNu3NH3Tv8Q_);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[78].name = "Field2";
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[75].len = 3; TM__4SoG2KRQy3oMm9aUzSLtGrA_0[75].kind = 2; TM__4SoG2KRQy3oMm9aUzSLtGrA_0[75].sons = &TM__4SoG2KRQy3oMm9aUzSLtGrA_24_3[0];
NTI__8jHm6IGDGecciKpp2bTNxA_.node = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[75];
NTI__s12F9c4cKfaapm8VzG9a1flQ_.size = sizeof(tySequence__s12F9c4cKfaapm8VzG9a1flQ*);
NTI__s12F9c4cKfaapm8VzG9a1flQ_.align = NIM_ALIGNOF(tySequence__s12F9c4cKfaapm8VzG9a1flQ*);
NTI__s12F9c4cKfaapm8VzG9a1flQ_.kind = 24;
NTI__s12F9c4cKfaapm8VzG9a1flQ_.base = (&NTI__8jHm6IGDGecciKpp2bTNxA_);
NTI__s12F9c4cKfaapm8VzG9a1flQ_.flags = 2;
NTI__s12F9c4cKfaapm8VzG9a1flQ_.marker = Marker_tySequence__s12F9c4cKfaapm8VzG9a1flQ;
}

