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

#include "nimbase.h"
#include <string.h>
#undef LANGUAGE_C
#undef MIPSEB
#undef MIPSEL
#undef PPC
#undef R3000
#undef R4000
#undef i386
#undef linux
#undef mips
#undef near
#undef far
#undef powerpc
#undef unix
typedef struct NimStrPayload NimStrPayload;
typedef struct NimStringV2 NimStringV2;
typedef struct tyObject_IdGeneratorcolonObjectType___G9bSmxY5z1At9bXNKpE9bKuug tyObject_IdGeneratorcolonObjectType___G9bSmxY5z1At9bXNKpE9bKuug;
typedef struct tyObject_CountTable__5N9carAoH8U5E301UN9ccEmQ tyObject_CountTable__5N9carAoH8U5E301UN9ccEmQ;
typedef struct tySequence__hRbbzIynOoxrYjHTIKZ3Gw tySequence__hRbbzIynOoxrYjHTIKZ3Gw;
typedef struct tySequence__hRbbzIynOoxrYjHTIKZ3Gw_Content tySequence__hRbbzIynOoxrYjHTIKZ3Gw_Content;
typedef struct tyTuple__Oubp8LPEu86EPyDuc56AXg tyTuple__Oubp8LPEu86EPyDuc56AXg;
typedef struct tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA;
struct NimStrPayload {
	NI cap;
	NIM_CHAR data[SEQ_DECL_SIZE];
};
struct NimStringV2 {
	NI len;
	NimStrPayload* p;
};
struct tySequence__hRbbzIynOoxrYjHTIKZ3Gw {
  NI len; tySequence__hRbbzIynOoxrYjHTIKZ3Gw_Content* p;
};
struct tyObject_CountTable__5N9carAoH8U5E301UN9ccEmQ {
	tySequence__hRbbzIynOoxrYjHTIKZ3Gw data;
	NI counter;
	NIM_BOOL isSorted;
};
struct tyObject_IdGeneratorcolonObjectType___G9bSmxY5z1At9bXNKpE9bKuug {
	NI32 module;
	NI32 symId;
	NI32 typeId_0;
	NIM_BOOL sealed;
	tyObject_CountTable__5N9carAoH8U5E301UN9ccEmQ disambTable;
};
struct tyTuple__Oubp8LPEu86EPyDuc56AXg {
	tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* Field0;
	NI Field1;
};
struct tySequence__hRbbzIynOoxrYjHTIKZ3Gw_Content { NI cap; tyTuple__Oubp8LPEu86EPyDuc56AXg data[SEQ_DECL_SIZE]; };
static N_INLINE(void, appendString)(NimStringV2* dest_p0, NimStringV2 src_p1);
static N_INLINE(void, copyMem__system_u1742)(void* dest_p0, void* source_p1, NI size_p2);
static N_INLINE(void, nimCopyMem)(void* dest_p0, void* source_p1, NI size_p2);
N_LIB_PRIVATE N_NIMCALL(void, prepareAdd)(NimStringV2* s_p0, NI addLen_p1);
N_LIB_PRIVATE N_NIMCALL(void, addQuoted__icZic_u18754)(NimStringV2* s_p0, NI32 x_p1);
N_LIB_PRIVATE N_NIMCALL(void, addQuoted__pipelines_u144)(NimStringV2* s_p0, NIM_BOOL x_p1);
static const struct {
  NI cap; NIM_CHAR data[1+1];
} TM__US7tUPSVHwyWbwv9cB5DrpQ_2 = { 1 | NIM_STRLIT_FLAG, "(" };
static const NimStringV2 TM__US7tUPSVHwyWbwv9cB5DrpQ_3 = {1, (NimStrPayload*)&TM__US7tUPSVHwyWbwv9cB5DrpQ_2};
static const struct {
  NI cap; NIM_CHAR data[2+1];
} TM__US7tUPSVHwyWbwv9cB5DrpQ_4 = { 2 | NIM_STRLIT_FLAG, ", " };
static const NimStringV2 TM__US7tUPSVHwyWbwv9cB5DrpQ_5 = {2, (NimStrPayload*)&TM__US7tUPSVHwyWbwv9cB5DrpQ_4};
static const struct {
  NI cap; NIM_CHAR data[6+1];
} TM__US7tUPSVHwyWbwv9cB5DrpQ_6 = { 6 | NIM_STRLIT_FLAG, "module" };
static const NimStringV2 TM__US7tUPSVHwyWbwv9cB5DrpQ_7 = {6, (NimStrPayload*)&TM__US7tUPSVHwyWbwv9cB5DrpQ_6};
static const struct {
  NI cap; NIM_CHAR data[2+1];
} TM__US7tUPSVHwyWbwv9cB5DrpQ_8 = { 2 | NIM_STRLIT_FLAG, ": " };
static const NimStringV2 TM__US7tUPSVHwyWbwv9cB5DrpQ_9 = {2, (NimStrPayload*)&TM__US7tUPSVHwyWbwv9cB5DrpQ_8};
static const NimStringV2 TM__US7tUPSVHwyWbwv9cB5DrpQ_10 = {2, (NimStrPayload*)&TM__US7tUPSVHwyWbwv9cB5DrpQ_4};
static const struct {
  NI cap; NIM_CHAR data[5+1];
} TM__US7tUPSVHwyWbwv9cB5DrpQ_11 = { 5 | NIM_STRLIT_FLAG, "symId" };
static const NimStringV2 TM__US7tUPSVHwyWbwv9cB5DrpQ_12 = {5, (NimStrPayload*)&TM__US7tUPSVHwyWbwv9cB5DrpQ_11};
static const NimStringV2 TM__US7tUPSVHwyWbwv9cB5DrpQ_13 = {2, (NimStrPayload*)&TM__US7tUPSVHwyWbwv9cB5DrpQ_8};
static const NimStringV2 TM__US7tUPSVHwyWbwv9cB5DrpQ_14 = {2, (NimStrPayload*)&TM__US7tUPSVHwyWbwv9cB5DrpQ_4};
static const struct {
  NI cap; NIM_CHAR data[6+1];
} TM__US7tUPSVHwyWbwv9cB5DrpQ_15 = { 6 | NIM_STRLIT_FLAG, "typeId" };
static const NimStringV2 TM__US7tUPSVHwyWbwv9cB5DrpQ_16 = {6, (NimStrPayload*)&TM__US7tUPSVHwyWbwv9cB5DrpQ_15};
static const NimStringV2 TM__US7tUPSVHwyWbwv9cB5DrpQ_17 = {2, (NimStrPayload*)&TM__US7tUPSVHwyWbwv9cB5DrpQ_8};
static const NimStringV2 TM__US7tUPSVHwyWbwv9cB5DrpQ_18 = {2, (NimStrPayload*)&TM__US7tUPSVHwyWbwv9cB5DrpQ_4};
static const struct {
  NI cap; NIM_CHAR data[6+1];
} TM__US7tUPSVHwyWbwv9cB5DrpQ_19 = { 6 | NIM_STRLIT_FLAG, "sealed" };
static const NimStringV2 TM__US7tUPSVHwyWbwv9cB5DrpQ_20 = {6, (NimStrPayload*)&TM__US7tUPSVHwyWbwv9cB5DrpQ_19};
static const NimStringV2 TM__US7tUPSVHwyWbwv9cB5DrpQ_21 = {2, (NimStrPayload*)&TM__US7tUPSVHwyWbwv9cB5DrpQ_8};
static const NimStringV2 TM__US7tUPSVHwyWbwv9cB5DrpQ_22 = {2, (NimStrPayload*)&TM__US7tUPSVHwyWbwv9cB5DrpQ_4};
static const struct {
  NI cap; NIM_CHAR data[11+1];
} TM__US7tUPSVHwyWbwv9cB5DrpQ_23 = { 11 | NIM_STRLIT_FLAG, "disambTable" };
static const NimStringV2 TM__US7tUPSVHwyWbwv9cB5DrpQ_24 = {11, (NimStrPayload*)&TM__US7tUPSVHwyWbwv9cB5DrpQ_23};
static const NimStringV2 TM__US7tUPSVHwyWbwv9cB5DrpQ_25 = {2, (NimStrPayload*)&TM__US7tUPSVHwyWbwv9cB5DrpQ_8};
static const struct {
  NI cap; NIM_CHAR data[3+1];
} TM__US7tUPSVHwyWbwv9cB5DrpQ_26 = { 3 | NIM_STRLIT_FLAG, "..." };
static const NimStringV2 TM__US7tUPSVHwyWbwv9cB5DrpQ_27 = {3, (NimStrPayload*)&TM__US7tUPSVHwyWbwv9cB5DrpQ_26};
static const struct {
  NI cap; NIM_CHAR data[1+1];
} TM__US7tUPSVHwyWbwv9cB5DrpQ_28 = { 1 | NIM_STRLIT_FLAG, ")" };
static const NimStringV2 TM__US7tUPSVHwyWbwv9cB5DrpQ_29 = {1, (NimStrPayload*)&TM__US7tUPSVHwyWbwv9cB5DrpQ_28};
static N_INLINE(void, nimCopyMem)(void* dest_p0, void* source_p1, NI size_p2) {
	void* T1_;
	T1_ = (void*)0;
	T1_ = memcpy(dest_p0, source_p1, ((size_t) (size_p2)));
}
static N_INLINE(void, copyMem__system_u1742)(void* dest_p0, void* source_p1, NI size_p2) {
	nimCopyMem(dest_p0, source_p1, size_p2);
}
static N_INLINE(void, appendString)(NimStringV2* dest_p0, NimStringV2 src_p1) {
	{
		if (!(((NI)0) < src_p1.len)) goto LA3_;
		copyMem__system_u1742(((void*) ((&(*(*dest_p0).p).data[(*dest_p0).len]))), ((void*) ((&(*src_p1.p).data[((NI)0)]))), (src_p1.len));
		(*dest_p0).len += src_p1.len;
		(*(*dest_p0).p).data[(*dest_p0).len] = 0;
	}
LA3_: ;
}
N_LIB_PRIVATE N_NIMCALL(NimStringV2, dollar___pipelines_u82)(tyObject_IdGeneratorcolonObjectType___G9bSmxY5z1At9bXNKpE9bKuug* x_p0) {
	NimStringV2 result;
	NI countX60gensym3__1;
	result = TM__US7tUPSVHwyWbwv9cB5DrpQ_3;
	countX60gensym3__1 = ((NI)0);
	{
		if (!NIM_TRUE) goto LA3_;
		{
			if (!(((NI)0) < countX60gensym3__1)) goto LA7_;
			prepareAdd((&result), 2);
appendString((&result), TM__US7tUPSVHwyWbwv9cB5DrpQ_5);
		}
LA7_: ;
		prepareAdd((&result), 6);
appendString((&result), TM__US7tUPSVHwyWbwv9cB5DrpQ_7);
		prepareAdd((&result), 2);
appendString((&result), TM__US7tUPSVHwyWbwv9cB5DrpQ_9);
		countX60gensym3__1 += ((NI)1);
		addQuoted__icZic_u18754((&result), (*x_p0).module);
	}
LA3_: ;
	{
		if (!NIM_TRUE) goto LA11_;
		{
			if (!(((NI)0) < countX60gensym3__1)) goto LA15_;
			prepareAdd((&result), 2);
appendString((&result), TM__US7tUPSVHwyWbwv9cB5DrpQ_10);
		}
LA15_: ;
		prepareAdd((&result), 5);
appendString((&result), TM__US7tUPSVHwyWbwv9cB5DrpQ_12);
		prepareAdd((&result), 2);
appendString((&result), TM__US7tUPSVHwyWbwv9cB5DrpQ_13);
		countX60gensym3__1 += ((NI)1);
		addQuoted__icZic_u18754((&result), (*x_p0).symId);
	}
LA11_: ;
	{
		if (!NIM_TRUE) goto LA19_;
		{
			if (!(((NI)0) < countX60gensym3__1)) goto LA23_;
			prepareAdd((&result), 2);
appendString((&result), TM__US7tUPSVHwyWbwv9cB5DrpQ_14);
		}
LA23_: ;
		prepareAdd((&result), 6);
appendString((&result), TM__US7tUPSVHwyWbwv9cB5DrpQ_16);
		prepareAdd((&result), 2);
appendString((&result), TM__US7tUPSVHwyWbwv9cB5DrpQ_17);
		countX60gensym3__1 += ((NI)1);
		addQuoted__icZic_u18754((&result), (*x_p0).typeId_0);
	}
LA19_: ;
	{
		if (!NIM_TRUE) goto LA27_;
		{
			if (!(((NI)0) < countX60gensym3__1)) goto LA31_;
			prepareAdd((&result), 2);
appendString((&result), TM__US7tUPSVHwyWbwv9cB5DrpQ_18);
		}
LA31_: ;
		prepareAdd((&result), 6);
appendString((&result), TM__US7tUPSVHwyWbwv9cB5DrpQ_20);
		prepareAdd((&result), 2);
appendString((&result), TM__US7tUPSVHwyWbwv9cB5DrpQ_21);
		countX60gensym3__1 += ((NI)1);
		addQuoted__pipelines_u144((&result), (*x_p0).sealed);
	}
LA27_: ;
	{
		if (!NIM_TRUE) goto LA35_;
		{
			if (!(((NI)0) < countX60gensym3__1)) goto LA39_;
			prepareAdd((&result), 2);
appendString((&result), TM__US7tUPSVHwyWbwv9cB5DrpQ_22);
		}
LA39_: ;
		prepareAdd((&result), 11);
appendString((&result), TM__US7tUPSVHwyWbwv9cB5DrpQ_24);
		prepareAdd((&result), 2);
appendString((&result), TM__US7tUPSVHwyWbwv9cB5DrpQ_25);
		countX60gensym3__1 += ((NI)1);
		prepareAdd((&result), 3);
appendString((&result), TM__US7tUPSVHwyWbwv9cB5DrpQ_27);
	}
LA35_: ;
	prepareAdd((&result), 1);
appendString((&result), TM__US7tUPSVHwyWbwv9cB5DrpQ_29);
	return result;
}
