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

#include "nimbase.h"
#include <string.h>
#undef LANGUAGE_C
#undef MIPSEB
#undef MIPSEL
#undef PPC
#undef R3000
#undef R4000
#undef i386
#undef linux
#undef mips
#undef near
#undef far
#undef powerpc
#undef unix
typedef struct NimStrPayload NimStrPayload;
typedef struct NimStringV2 NimStringV2;
typedef struct tyObject_SourceMap__WQjtp9aU0iILpTcFCDzWLTA tyObject_SourceMap__WQjtp9aU0iILpTcFCDzWLTA;
typedef struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ tySequence__sM4lkSb7zS6F7OVMvW9cffQ;
typedef struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content;
typedef struct tyObject_SourceInfo__z6HWkX1RFb8wgNWT2p25EQ tyObject_SourceInfo__z6HWkX1RFb8wgNWT2p25EQ;
typedef struct tySequence__u440EGTDYOwkQLE9asdZ6OQ tySequence__u440EGTDYOwkQLE9asdZ6OQ;
typedef struct tySequence__u440EGTDYOwkQLE9asdZ6OQ_Content tySequence__u440EGTDYOwkQLE9asdZ6OQ_Content;
typedef struct tyObject_Mapping__5X9cm3giTN9aYJbVTF9clmk7A tyObject_Mapping__5X9cm3giTN9aYJbVTF9clmk7A;
typedef struct tySequence__IWLCUlc3h6FWY379alhl9aaQ tySequence__IWLCUlc3h6FWY379alhl9aaQ;
typedef struct tySequence__IWLCUlc3h6FWY379alhl9aaQ_Content tySequence__IWLCUlc3h6FWY379alhl9aaQ_Content;
typedef struct tyObject_Segment__9cSimljufAUmxKUYLJk2dhw tyObject_Segment__9cSimljufAUmxKUYLJk2dhw;
typedef struct tyObject_HSlice__OAVyDXS0QPw7LdXClfU2hA tyObject_HSlice__OAVyDXS0QPw7LdXClfU2hA;
typedef struct tyObject_NimRawSeq__Tvl1urqmI1tXqzkHPbWVJQ tyObject_NimRawSeq__Tvl1urqmI1tXqzkHPbWVJQ;
typedef struct tySequence__qwqHTkRvwhrRyENtudHQ7g tySequence__qwqHTkRvwhrRyENtudHQ7g;
typedef struct tySequence__qwqHTkRvwhrRyENtudHQ7g_Content tySequence__qwqHTkRvwhrRyENtudHQ7g_Content;
struct NimStrPayload {
	NI cap;
	NIM_CHAR data[SEQ_DECL_SIZE];
};
struct NimStringV2 {
	NI len;
	NimStrPayload* p;
};
struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ {
  NI len; tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content* p;
};
struct tyObject_SourceMap__WQjtp9aU0iILpTcFCDzWLTA {
	NI version;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ sources;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ names;
	NimStringV2 mappings;
	NimStringV2 file;
};
struct tySequence__u440EGTDYOwkQLE9asdZ6OQ {
  NI len; tySequence__u440EGTDYOwkQLE9asdZ6OQ_Content* p;
};
struct tyObject_SourceInfo__z6HWkX1RFb8wgNWT2p25EQ {
	tySequence__u440EGTDYOwkQLE9asdZ6OQ mappings;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ names;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ files;
};
typedef NU8 tySet_tyChar__nmiMWKVIe46vacnhAFrQvw[32];
struct tySequence__IWLCUlc3h6FWY379alhl9aaQ {
  NI len; tySequence__IWLCUlc3h6FWY379alhl9aaQ_Content* p;
};
struct tyObject_Mapping__5X9cm3giTN9aYJbVTF9clmk7A {
	NIM_BOOL inSource;
union{
	struct {
	NI file;
	NI line;
	tySequence__IWLCUlc3h6FWY379alhl9aaQ segments;
} _inSource_1;
};
};
struct tyObject_Segment__9cSimljufAUmxKUYLJk2dhw {
	NI original;
	NI generated;
	NI name;
};
struct tyObject_HSlice__OAVyDXS0QPw7LdXClfU2hA {
	NI a;
	NI b;
};
struct tyObject_NimRawSeq__Tvl1urqmI1tXqzkHPbWVJQ {
	NI len;
	void* p;
};
struct tySequence__qwqHTkRvwhrRyENtudHQ7g {
  NI len; tySequence__qwqHTkRvwhrRyENtudHQ7g_Content* p;
};
struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content { NI cap; NimStringV2 data[SEQ_DECL_SIZE]; };
struct tySequence__u440EGTDYOwkQLE9asdZ6OQ_Content { NI cap; tyObject_Mapping__5X9cm3giTN9aYJbVTF9clmk7A data[SEQ_DECL_SIZE]; };
struct tySequence__IWLCUlc3h6FWY379alhl9aaQ_Content { NI cap; tyObject_Segment__9cSimljufAUmxKUYLJk2dhw data[SEQ_DECL_SIZE]; };
struct tySequence__qwqHTkRvwhrRyENtudHQ7g_Content { NI cap; NI data[SEQ_DECL_SIZE]; };
static N_INLINE(void, nimZeroMem)(void* p_p0, NI size_p1);
static N_INLINE(void, nimSetMem__system_u2172)(void* a_p0, int v_p1, NI size_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_SourceInfo__z6HWkX1RFb8wgNWT2p25EQ, parse__sourcemap_u565)(NimStringV2 source_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqsink___system_u2700)(NimStringV2* dest_p0, NimStringV2 src_p1);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, substr__system_u8659)(NimStringV2 s_p0, NI first_p1, NI last_p2);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, nsuStrip)(NimStringV2 s_p0, NIM_BOOL leading_p1, NIM_BOOL trailing_p2, tySet_tyChar__nmiMWKVIe46vacnhAFrQvw chars_p3);
static N_INLINE(NI, skip__pureZparseutils_u929)(NimStringV2 s_p0, NimStringV2 token_p1, NI start_p2);
static N_INLINE(NI, skip__pureZparseutils_u145)(NIM_CHAR* s_p0, NI s_p0Len_0, NIM_CHAR* token_p1, NI token_p1Len_0);
static N_INLINE(NIM_BOOL*, nimErrorFlag)(void);
N_LIB_PRIVATE N_NIMCALL(NI, parseInt__pureZparseutils_u989)(NimStringV2 s_p0, NI* number_p1, NI start_p2);
static N_INLINE(NI, parseUntil__pureZparseutils_u966)(NimStringV2 s_p0, NimStringV2* token_p1, NimStringV2 until_p2, NI start_p3);
static N_INLINE(NI, parseUntil__pureZparseutils_u266)(NIM_CHAR* s_p0, NI s_p0Len_0, NimStringV2* token_p1, NimStringV2 until_p2);
N_LIB_PRIVATE N_NIMCALL(void, fastSubstr__pureZparseutils_u225)(NIM_CHAR* s_p0, NI s_p0Len_0, NimStringV2* token_p1, NI length_p2);
N_LIB_PRIVATE N_NIMCALL(void, eqwasMoved___system_u2688)(NimStringV2* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, newLine__sourcemap_u444)(tyObject_SourceInfo__z6HWkX1RFb8wgNWT2p25EQ* info_p0, NimStringV2 file_p1, NI line_p2);
static N_INLINE(NI, find__sourcemap_u37)(tySequence__sM4lkSb7zS6F7OVMvW9cffQ a_p0, NimStringV2 item_p1);
static N_INLINE(NIM_BOOL, eqStrings)(NimStringV2 a_p0, NimStringV2 b_p1);
static N_INLINE(NIM_BOOL, equalMem__system_u1750)(void* a_p0, void* b_p1, NI size_p2);
static N_INLINE(int, nimCmpMem)(void* a_p0, void* b_p1, NI size_p2);
N_LIB_PRIVATE N_NIMCALL(void, add__stdZenumutils_u71)(tySequence__sM4lkSb7zS6F7OVMvW9cffQ* x_p0, NimStringV2 y_p1);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, eqdup___system_u2697)(NimStringV2 src_p0);
N_LIB_PRIVATE N_NIMCALL(void, add__sourcemap_u424)(tySequence__u440EGTDYOwkQLE9asdZ6OQ* x_p0, tyObject_Mapping__5X9cm3giTN9aYJbVTF9clmk7A y_p1);
N_LIB_PRIVATE N_NIMCALL(void, addSegment__sourcemap_u24)(tyObject_SourceInfo__z6HWkX1RFb8wgNWT2p25EQ* info_p0, NI original_p1, NI generated_p2, NimStringV2 name_p3);
N_LIB_PRIVATE N_NIMCALL(void, add__sourcemap_u94)(tySequence__IWLCUlc3h6FWY379alhl9aaQ* x_p0, tyObject_Segment__9cSimljufAUmxKUYLJk2dhw y_p1);
static N_INLINE(tyObject_Mapping__5X9cm3giTN9aYJbVTF9clmk7A*, X5BX5D___sourcemap_u59)(tyObject_Mapping__5X9cm3giTN9aYJbVTF9clmk7A* s_p0, NI s_p0Len_0, NI i_p1);
static N_INLINE(NI, skipWhitespace__pureZparseutils_u925)(NimStringV2 s_p0, NI start_p1);
static N_INLINE(NI, skipWhitespace__pureZparseutils_u130)(NIM_CHAR* s_p0, NI s_p0Len_0);
static N_INLINE(NI, skipUntil__pureZparseutils_u939)(NimStringV2 s_p0, tySet_tyChar__nmiMWKVIe46vacnhAFrQvw until_p1, NI start_p2);
static N_INLINE(NI, skipUntil__pureZparseutils_u181)(NIM_CHAR* s_p0, NI s_p0Len_0, tySet_tyChar__nmiMWKVIe46vacnhAFrQvw until_p1);
N_LIB_PRIVATE N_NIMCALL(NI, parseIdent__pureZparseutils_u911)(NimStringV2 s_p0, NimStringV2* ident_p1, NI start_p2);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, nsuStartsWith)(NimStringV2 s_p0, NimStringV2 prefix_p1);
N_LIB_PRIVATE N_NIMCALL(NI, parseHex__pureZstrutils_u990)(NimStringV2 s_p0, NI* number_p1, NI start_p2, NI maxLen_p3);
static N_INLINE(NimStringV2, X5BX5D___pureZstrutils_u1286)(NimStringV2 s_p0, tyObject_HSlice__OAVyDXS0QPw7LdXClfU2hA x_p1);
N_NIMCALL(NimStringV2, mnewString)(NI len_p0);
static N_INLINE(void, nimPrepareStrMutationV2)(NimStringV2* s_p0);
N_LIB_PRIVATE N_NIMCALL(void, nimPrepareStrMutationImpl__system_u2430)(NimStringV2* s_p0);
static N_INLINE(tyObject_HSlice__OAVyDXS0QPw7LdXClfU2hA, dotdot___stdZstrbasics_u49)(NI a_p0, NI b_p1);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, nimCharToStr)(NIM_CHAR x_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___system_u2691)(NimStringV2 dest_p0);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, nsuEndsWith)(NimStringV2 s_p0, NimStringV2 suffix_p1);
N_LIB_PRIVATE N_NIMCALL(NI, nsuRFindChar)(NimStringV2 s_p0, NIM_CHAR sub_p1, NI start_p2, NI last_p3);
N_LIB_PRIVATE N_NIMCALL(void, newLine__sourcemap_u422)(tyObject_SourceInfo__z6HWkX1RFb8wgNWT2p25EQ* info_p0);
N_LIB_PRIVATE N_NIMCALL(void, toSourceMap__sourcemap_u656)(tyObject_SourceInfo__z6HWkX1RFb8wgNWT2p25EQ info_p0, NimStringV2 file_p1, tyObject_SourceMap__WQjtp9aU0iILpTcFCDzWLTA* Result);
N_LIB_PRIVATE N_NIMCALL(tySequence__sM4lkSb7zS6F7OVMvW9cffQ, eqdup___system_u5539)(tySequence__sM4lkSb7zS6F7OVMvW9cffQ src_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___sourcemap_u166)(tySequence__IWLCUlc3h6FWY379alhl9aaQ* dest_p0, tySequence__IWLCUlc3h6FWY379alhl9aaQ src_p1);
static N_INLINE(NIM_BOOL, sameSeqPayload)(void* x_p0, void* y_p1);
N_LIB_PRIVATE N_NIMCALL(void, setLen__sourcemap_u183)(tySequence__IWLCUlc3h6FWY379alhl9aaQ* s_p0, NI newlen_p1);
static N_INLINE(void, nimCopySeqPayload)(void* dest_p0, void* src_p1, NI elemSize_p2, NI elemAlign_p3);
N_LIB_PRIVATE N_NIMCALL(NI, align__system_u1639)(NI address_p0, NI alignment_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*, newSeqPayload)(NI cap_p0, NI elemSize_p1, NI elemAlign_p2);
N_LIB_PRIVATE N_NIMCALL(void, add__varpartitions_u1538)(tySequence__qwqHTkRvwhrRyENtudHQ7g* x_p0, NI y_p1);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, encode__sourcemap_u465)(tySequence__qwqHTkRvwhrRyENtudHQ7g values_p0);
static N_INLINE(void, nimAddCharV1)(NimStringV2* s_p0, NIM_CHAR c_p1);
N_LIB_PRIVATE N_NIMCALL(void, prepareAdd)(NimStringV2* s_p0, NI addLen_p1);
static N_INLINE(void, appendString)(NimStringV2* dest_p0, NimStringV2 src_p1);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, rawNewString)(NI space_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___pureZosproc_u474)(tySequence__qwqHTkRvwhrRyENtudHQ7g dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___sourcemap_u163)(tySequence__IWLCUlc3h6FWY379alhl9aaQ dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, alignedDealloc)(void* p_p0, NI align_p1);
N_LIB_PRIVATE N_NIMCALL(void, setLengthStrV2)(NimStringV2* s_p0, NI newLen_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___sourcemap_u635)(tyObject_SourceInfo__z6HWkX1RFb8wgNWT2p25EQ dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___system_u5533)(tySequence__sM4lkSb7zS6F7OVMvW9cffQ dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___sourcemap_u261)(tySequence__u440EGTDYOwkQLE9asdZ6OQ dest_p0);
static const struct {
  NI cap; NIM_CHAR data[0+1];
} TM__6vuGHHnP4PcSvUQSx0mGGg_2 = { 0 | NIM_STRLIT_FLAG, "" };
static const NimStringV2 TM__6vuGHHnP4PcSvUQSx0mGGg_3 = {0, (NimStrPayload*)&TM__6vuGHHnP4PcSvUQSx0mGGg_2};
static const NimStringV2 TM__6vuGHHnP4PcSvUQSx0mGGg_4 = {0, (NimStrPayload*)&TM__6vuGHHnP4PcSvUQSx0mGGg_2};
static NIM_CONST tySet_tyChar__nmiMWKVIe46vacnhAFrQvw TM__6vuGHHnP4PcSvUQSx0mGGg_5 = {
0x00, 0x3e, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
;
static const struct {
  NI cap; NIM_CHAR data[8+1];
} TM__6vuGHHnP4PcSvUQSx0mGGg_6 = { 8 | NIM_STRLIT_FLAG, "/* line " };
static const NimStringV2 TM__6vuGHHnP4PcSvUQSx0mGGg_7 = {8, (NimStrPayload*)&TM__6vuGHHnP4PcSvUQSx0mGGg_6};
static const struct {
  NI cap; NIM_CHAR data[1+1];
} TM__6vuGHHnP4PcSvUQSx0mGGg_8 = { 1 | NIM_STRLIT_FLAG, ":" };
static const NimStringV2 TM__6vuGHHnP4PcSvUQSx0mGGg_9 = {1, (NimStrPayload*)&TM__6vuGHHnP4PcSvUQSx0mGGg_8};
static const struct {
  NI cap; NIM_CHAR data[2+1];
} TM__6vuGHHnP4PcSvUQSx0mGGg_10 = { 2 | NIM_STRLIT_FLAG, " \"" };
static const NimStringV2 TM__6vuGHHnP4PcSvUQSx0mGGg_11 = {2, (NimStrPayload*)&TM__6vuGHHnP4PcSvUQSx0mGGg_10};
static const struct {
  NI cap; NIM_CHAR data[4+1];
} TM__6vuGHHnP4PcSvUQSx0mGGg_12 = { 4 | NIM_STRLIT_FLAG, "\" */" };
static const NimStringV2 TM__6vuGHHnP4PcSvUQSx0mGGg_13 = {4, (NimStrPayload*)&TM__6vuGHHnP4PcSvUQSx0mGGg_12};
static const NimStringV2 TM__6vuGHHnP4PcSvUQSx0mGGg_14 = {4, (NimStrPayload*)&TM__6vuGHHnP4PcSvUQSx0mGGg_12};
static const NimStringV2 TM__6vuGHHnP4PcSvUQSx0mGGg_15 = {0, (NimStrPayload*)&TM__6vuGHHnP4PcSvUQSx0mGGg_2};
static const NimStringV2 TM__6vuGHHnP4PcSvUQSx0mGGg_16 = {0, (NimStrPayload*)&TM__6vuGHHnP4PcSvUQSx0mGGg_2};
static const NimStringV2 TM__6vuGHHnP4PcSvUQSx0mGGg_17 = {0, (NimStrPayload*)&TM__6vuGHHnP4PcSvUQSx0mGGg_2};
static const NimStringV2 TM__6vuGHHnP4PcSvUQSx0mGGg_18 = {0, (NimStrPayload*)&TM__6vuGHHnP4PcSvUQSx0mGGg_2};
static const NimStringV2 TM__6vuGHHnP4PcSvUQSx0mGGg_19 = {0, (NimStrPayload*)&TM__6vuGHHnP4PcSvUQSx0mGGg_2};
static NIM_CONST tySet_tyChar__nmiMWKVIe46vacnhAFrQvw TM__6vuGHHnP4PcSvUQSx0mGGg_20 = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xfe, 0xff, 0xff, 0x87, 0xfe, 0xff, 0xff, 0x07,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
;
static const struct {
  NI cap; NIM_CHAR data[3+1];
} TM__6vuGHHnP4PcSvUQSx0mGGg_21 = { 3 | NIM_STRLIT_FLAG, "HEX" };
static const NimStringV2 TM__6vuGHHnP4PcSvUQSx0mGGg_22 = {3, (NimStrPayload*)&TM__6vuGHHnP4PcSvUQSx0mGGg_21};
static const struct {
  NI cap; NIM_CHAR data[4+1];
} TM__6vuGHHnP4PcSvUQSx0mGGg_23 = { 4 | NIM_STRLIT_FLAG, "_Idx" };
static const NimStringV2 TM__6vuGHHnP4PcSvUQSx0mGGg_24 = {4, (NimStrPayload*)&TM__6vuGHHnP4PcSvUQSx0mGGg_23};
static const NimStringV2 TM__6vuGHHnP4PcSvUQSx0mGGg_25 = {0, (NimStrPayload*)&TM__6vuGHHnP4PcSvUQSx0mGGg_2};
static const struct {
  NI cap; NIM_CHAR data[64+1];
} TM__6vuGHHnP4PcSvUQSx0mGGg_26 = { 64 | NIM_STRLIT_FLAG, "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/" };
static const NimStringV2 TM__6vuGHHnP4PcSvUQSx0mGGg_27 = {64, (NimStrPayload*)&TM__6vuGHHnP4PcSvUQSx0mGGg_26};
static const struct {
  NI cap; NIM_CHAR data[1+1];
} TM__6vuGHHnP4PcSvUQSx0mGGg_28 = { 1 | NIM_STRLIT_FLAG, "," };
static const NimStringV2 TM__6vuGHHnP4PcSvUQSx0mGGg_29 = {1, (NimStrPayload*)&TM__6vuGHHnP4PcSvUQSx0mGGg_28};
static const struct {
  NI cap; NIM_CHAR data[1+1];
} TM__6vuGHHnP4PcSvUQSx0mGGg_30 = { 1 | NIM_STRLIT_FLAG, ";" };
static const NimStringV2 TM__6vuGHHnP4PcSvUQSx0mGGg_31 = {1, (NimStrPayload*)&TM__6vuGHHnP4PcSvUQSx0mGGg_30};
extern NIM_BOOL nimInErrorMode__system_u4141;
static N_INLINE(void, nimSetMem__system_u2172)(void* a_p0, int v_p1, NI size_p2) {
	void* T1_;
	T1_ = (void*)0;
	T1_ = memset(a_p0, v_p1, ((size_t) (size_p2)));
}
static N_INLINE(void, nimZeroMem)(void* p_p0, NI size_p1) {
	nimSetMem__system_u2172(p_p0, ((int)0), size_p1);
}
static N_INLINE(NI, skip__pureZparseutils_u145)(NIM_CHAR* s_p0, NI s_p0Len_0, NIM_CHAR* token_p1, NI token_p1Len_0) {
	NI result;
	result = ((NI)0);
	{
		while (1) {
			NIM_BOOL T3_;
			NIM_BOOL T4_;
			T3_ = (NIM_BOOL)0;
			T4_ = (NIM_BOOL)0;
			T4_ = (result < s_p0Len_0);
			if (!(T4_)) goto LA5_;
			T4_ = (result < token_p1Len_0);
LA5_: ;
			T3_ = T4_;
			if (!(T3_)) goto LA6_;
			T3_ = ((NU8)(s_p0[result]) == (NU8)(token_p1[result]));
LA6_: ;
			if (!T3_) goto LA2;
			result += ((NI)1);
		} LA2: ;
	}
	{
		if (!!((result == token_p1Len_0))) goto LA9_;
		result = ((NI)0);
	}
LA9_: ;
	return result;
}
static N_INLINE(NIM_BOOL*, nimErrorFlag)(void) {
	NIM_BOOL* result;
	result = (&nimInErrorMode__system_u4141);
	return result;
}
static N_INLINE(NI, skip__pureZparseutils_u929)(NimStringV2 s_p0, NimStringV2 token_p1, NI start_p2) {
	NI result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NI)0;
	result = skip__pureZparseutils_u145((((s_p0).p) ? ((NIM_CHAR*)s_p0.p->data+(start_p2)) : NIM_NIL), ((s_p0.len-1))-(start_p2)+1, ((token_p1).p) ? (token_p1.p->data) : NIM_NIL, token_p1.len);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NI, parseUntil__pureZparseutils_u266)(NIM_CHAR* s_p0, NI s_p0Len_0, NimStringV2* token_p1, NimStringV2 until_p2) {
	NI result;
	NI i_1;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	i_1 = ((NI)0);
	{
		while (1) {
			if (!(i_1 < s_p0Len_0)) goto LA2;
			{
				NIM_BOOL T5_;
				NI u_1;
				T5_ = (NIM_BOOL)0;
				T5_ = (((NI)0) < until_p2.len);
				if (!(T5_)) goto LA6_;
				T5_ = ((NU8)(s_p0[i_1]) == (NU8)(until_p2.p->data[((NI)0)]));
LA6_: ;
				if (!T5_) goto LA7_;
				u_1 = ((NI)1);
				{
					while (1) {
						NIM_BOOL T11_;
						NIM_BOOL T12_;
						T11_ = (NIM_BOOL)0;
						T12_ = (NIM_BOOL)0;
						T12_ = ((NI)(i_1 + u_1) < s_p0Len_0);
						if (!(T12_)) goto LA13_;
						T12_ = (u_1 < until_p2.len);
LA13_: ;
						T11_ = T12_;
						if (!(T11_)) goto LA14_;
						T11_ = ((NU8)(s_p0[(NI)(i_1 + u_1)]) == (NU8)(until_p2.p->data[u_1]));
LA14_: ;
						if (!T11_) goto LA10;
						u_1 += ((NI)1);
					} LA10: ;
				}
				{
					if (!(until_p2.len <= u_1)) goto LA17_;
					goto LA1;
				}
LA17_: ;
			}
LA7_: ;
			i_1 += ((NI)1);
		} LA2: ;
	} LA1: ;
	result = i_1;
	fastSubstr__pureZparseutils_u225(s_p0, s_p0Len_0, token_p1, result);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NI, parseUntil__pureZparseutils_u966)(NimStringV2 s_p0, NimStringV2* token_p1, NimStringV2 until_p2, NI start_p3) {
	NI result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NI)0;
	result = parseUntil__pureZparseutils_u266((((s_p0).p) ? ((NIM_CHAR*)s_p0.p->data+(start_p3)) : NIM_NIL), ((s_p0.len-1))-(start_p3)+1, token_p1, until_p2);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(int, nimCmpMem)(void* a_p0, void* b_p1, NI size_p2) {
	int result;
	result = memcmp(a_p0, b_p1, ((size_t) (size_p2)));
	return result;
}
static N_INLINE(NIM_BOOL, equalMem__system_u1750)(void* a_p0, void* b_p1, NI size_p2) {
	NIM_BOOL result;
	int T1_;
	T1_ = (int)0;
	T1_ = nimCmpMem(a_p0, b_p1, size_p2);
	result = (T1_ == ((NI32)0));
	return result;
}
static N_INLINE(NIM_BOOL, eqStrings)(NimStringV2 a_p0, NimStringV2 b_p1) {
	NIM_BOOL result;
	NI alen_1;
	NI blen_1;
{	result = NIM_FALSE;
	alen_1 = a_p0.len;
	blen_1 = b_p1.len;
	{
		if (!(alen_1 == blen_1)) goto LA3_;
		{
			if (!(alen_1 == ((NI)0))) goto LA7_;
			result = NIM_TRUE;
			goto BeforeRet_;
		}
LA7_: ;
		result = equalMem__system_u1750(((void*) ((&a_p0.p->data[((NI)0)]))), ((void*) ((&b_p1.p->data[((NI)0)]))), (alen_1));
		goto BeforeRet_;
	}
LA3_: ;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NI, find__sourcemap_u37)(tySequence__sM4lkSb7zS6F7OVMvW9cffQ a_p0, NimStringV2 item_p1) {
	NI result;
{	result = ((NI)0);
	{
		NimStringV2* i_1;
		NI i_2;
		NI L_1;
		NI T2_;
		i_1 = (NimStringV2*)0;
		i_2 = ((NI)0);
		T2_ = a_p0.len;
		L_1 = T2_;
		{
			while (1) {
				if (!(i_2 < L_1)) goto LA4;
				i_1 = (&a_p0.p->data[i_2]);
				{
					if (!eqStrings((*i_1), item_p1)) goto LA7_;
					goto BeforeRet_;
				}
LA7_: ;
				result += ((NI)1);
				i_2 += ((NI)1);
			} LA4: ;
		}
	}
	result = ((NI)-1);
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, newLine__sourcemap_u444)(tyObject_SourceInfo__z6HWkX1RFb8wgNWT2p25EQ* info_p0, NimStringV2 file_p1, NI line_p2) {
	tyObject_Mapping__5X9cm3giTN9aYJbVTF9clmk7A mapping_1;
	tyObject_Mapping__5X9cm3giTN9aYJbVTF9clmk7A blitTmp_1;
	nimZeroMem((void*)(&mapping_1), sizeof(tyObject_Mapping__5X9cm3giTN9aYJbVTF9clmk7A));
	nimZeroMem((void*)(&mapping_1), sizeof(tyObject_Mapping__5X9cm3giTN9aYJbVTF9clmk7A));
	mapping_1.inSource = NIM_TRUE;
	mapping_1._inSource_1.line = line_p2;
	mapping_1._inSource_1.file = 0;
	mapping_1._inSource_1.segments.len = 0; mapping_1._inSource_1.segments.p = NIM_NIL;
	mapping_1._inSource_1.file = find__sourcemap_u37((*info_p0).files, file_p1);
	{
		NimStringV2 colontmpD_;
		NI T5_;
		if (!(mapping_1._inSource_1.file == ((NI)-1))) goto LA3_;
		T5_ = (*info_p0).files.len;
		mapping_1._inSource_1.file = T5_;
		colontmpD_ = eqdup___system_u2697(file_p1);
		add__stdZenumutils_u71((&(*info_p0).files), colontmpD_);
	}
LA3_: ;
	blitTmp_1 = mapping_1;
	add__sourcemap_u424((&(*info_p0).mappings), blitTmp_1);
}
static N_INLINE(tyObject_Mapping__5X9cm3giTN9aYJbVTF9clmk7A*, X5BX5D___sourcemap_u59)(tyObject_Mapping__5X9cm3giTN9aYJbVTF9clmk7A* s_p0, NI s_p0Len_0, NI i_p1) {
	tyObject_Mapping__5X9cm3giTN9aYJbVTF9clmk7A* result;
	result = (&s_p0[(NI)(s_p0Len_0 - i_p1)]);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, addSegment__sourcemap_u24)(tyObject_SourceInfo__z6HWkX1RFb8wgNWT2p25EQ* info_p0, NI original_p1, NI generated_p2, NimStringV2 name_p3) {
	tyObject_Segment__9cSimljufAUmxKUYLJk2dhw segment_1;
	tyObject_Mapping__5X9cm3giTN9aYJbVTF9clmk7A* T10_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	segment_1.original = original_p1;
	segment_1.generated = generated_p2;
	segment_1.name = ((NI)-1);
	{
		if (!!((name_p3.len == 0))) goto LA3_;
		segment_1.name = find__sourcemap_u37((*info_p0).names, name_p3);
		{
			NimStringV2 colontmpD_;
			NI T9_;
			if (!(segment_1.name == ((NI)-1))) goto LA7_;
			T9_ = (*info_p0).names.len;
			segment_1.name = T9_;
			colontmpD_ = eqdup___system_u2697(name_p3);
			add__stdZenumutils_u71((&(*info_p0).names), colontmpD_);
		}
LA7_: ;
	}
LA3_: ;
	T10_ = (tyObject_Mapping__5X9cm3giTN9aYJbVTF9clmk7A*)0;
	T10_ = X5BX5D___sourcemap_u59((((*info_p0).mappings).p) ? ((*info_p0).mappings.p->data) : NIM_NIL, (*info_p0).mappings.len, ((NI)1));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	add__sourcemap_u94((&(*T10_)._inSource_1.segments), segment_1);
	}BeforeRet_: ;
}
static N_INLINE(NI, skipWhitespace__pureZparseutils_u130)(NIM_CHAR* s_p0, NI s_p0Len_0) {
	NI result;
	result = ((NI)0);
	{
		while (1) {
			NIM_BOOL T3_;
			T3_ = (NIM_BOOL)0;
			T3_ = (result < s_p0Len_0);
			if (!(T3_)) goto LA4_;
			T3_ = (((NU8)(s_p0[result])) == ((NU8)(32)) || ((NU8)(s_p0[result])) == ((NU8)(9)) || ((NU8)(s_p0[result])) == ((NU8)(11)) || ((NU8)(s_p0[result])) == ((NU8)(13)) || ((NU8)(s_p0[result])) == ((NU8)(10)) || ((NU8)(s_p0[result])) == ((NU8)(12)));
LA4_: ;
			if (!T3_) goto LA2;
			result += ((NI)1);
		} LA2: ;
	}
	return result;
}
static N_INLINE(NI, skipWhitespace__pureZparseutils_u925)(NimStringV2 s_p0, NI start_p1) {
	NI result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NI)0;
	result = skipWhitespace__pureZparseutils_u130((((s_p0).p) ? ((NIM_CHAR*)s_p0.p->data+(start_p1)) : NIM_NIL), ((s_p0.len-1))-(start_p1)+1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NI, skipUntil__pureZparseutils_u181)(NIM_CHAR* s_p0, NI s_p0Len_0, tySet_tyChar__nmiMWKVIe46vacnhAFrQvw until_p1) {
	NI result;
	result = ((NI)0);
	{
		while (1) {
			NIM_BOOL T3_;
			T3_ = (NIM_BOOL)0;
			T3_ = (result < s_p0Len_0);
			if (!(T3_)) goto LA4_;
			T3_ = !(((until_p1[(NU)((((NU8)(s_p0[result]))))>>3] &(1U<<((NU)((((NU8)(s_p0[result]))))&7U)))!=0));
LA4_: ;
			if (!T3_) goto LA2;
			result += ((NI)1);
		} LA2: ;
	}
	return result;
}
static N_INLINE(NI, skipUntil__pureZparseutils_u939)(NimStringV2 s_p0, tySet_tyChar__nmiMWKVIe46vacnhAFrQvw until_p1, NI start_p2) {
	NI result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NI)0;
	result = skipUntil__pureZparseutils_u181((((s_p0).p) ? ((NIM_CHAR*)s_p0.p->data+(start_p2)) : NIM_NIL), ((s_p0.len-1))-(start_p2)+1, until_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(void, nimPrepareStrMutationV2)(NimStringV2* s_p0) {
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = !(((*s_p0).p == ((NimStrPayload*) NIM_NIL)));
		if (!(T3_)) goto LA4_;
		T3_ = ((NI)((*(*s_p0).p).cap & ((NI)1073741824)) == ((NI)1073741824));
LA4_: ;
		if (!T3_) goto LA5_;
		nimPrepareStrMutationImpl__system_u2430(s_p0);
	}
LA5_: ;
}
static N_INLINE(NimStringV2, X5BX5D___pureZstrutils_u1286)(NimStringV2 s_p0, tyObject_HSlice__OAVyDXS0QPw7LdXClfU2hA x_p1) {
	NimStringV2 result;
	NI a_1;
	NI L_1;
	result.len = 0; result.p = NIM_NIL;
	a_1 = x_p1.a;
	L_1 = (NI)((NI)(x_p1.b - a_1) + ((NI)1));
	result = mnewString((L_1));
	{
		NI i_1;
		NI i_2;
		i_1 = (NI)0;
		i_2 = ((NI)0);
		{
			while (1) {
				if (!(i_2 < L_1)) goto LA3;
				i_1 = i_2;
				nimPrepareStrMutationV2((&result));
				result.p->data[i_1] = s_p0.p->data[(NI)(i_1 + a_1)];
				i_2 += ((NI)1);
			} LA3: ;
		}
	}
	return result;
}
static N_INLINE(tyObject_HSlice__OAVyDXS0QPw7LdXClfU2hA, dotdot___stdZstrbasics_u49)(NI a_p0, NI b_p1) {
	tyObject_HSlice__OAVyDXS0QPw7LdXClfU2hA result;
	result.a = a_p0;
	result.b = b_p1;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, newLine__sourcemap_u422)(tyObject_SourceInfo__z6HWkX1RFb8wgNWT2p25EQ* info_p0) {
	tyObject_Mapping__5X9cm3giTN9aYJbVTF9clmk7A T1_;
	nimZeroMem((void*)(&T1_), sizeof(tyObject_Mapping__5X9cm3giTN9aYJbVTF9clmk7A));
	T1_.inSource = NIM_FALSE;
	add__sourcemap_u424((&(*info_p0).mappings), T1_);
}
N_LIB_PRIVATE N_NIMCALL(tyObject_SourceInfo__z6HWkX1RFb8wgNWT2p25EQ, parse__sourcemap_u565)(NimStringV2 source_p0) {
	tyObject_SourceInfo__z6HWkX1RFb8wgNWT2p25EQ result;
	NimStringV2 currFile_1;
	NIM_BOOL skipFirstLine_1;
	NI currColumn_1;
	NI currLine_1;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	nimZeroMem((void*)(&result), sizeof(tyObject_SourceInfo__z6HWkX1RFb8wgNWT2p25EQ));
	currFile_1.len = 0; currFile_1.p = NIM_NIL;
	nimZeroMem((void*)(&result), sizeof(tyObject_SourceInfo__z6HWkX1RFb8wgNWT2p25EQ));
	skipFirstLine_1 = NIM_TRUE;
	currColumn_1 = ((NI)0);
	currLine_1 = ((NI)0);
	currFile_1 = TM__6vuGHHnP4PcSvUQSx0mGGg_3;
	{
		NimStringV2 line_1;
		NI first_1;
		NI last_1;
		NI eolpos_1;
		line_1.len = 0; line_1.p = NIM_NIL;
		first_1 = ((NI)0);
		last_1 = ((NI)0);
		eolpos_1 = ((NI)0);
		{
			while (1) {
				NI colontmpD_;
				NI colontmpD__2;
				NimStringV2 linePath_1;
				NimStringV2 inp_1;
				NI T28_;
				NimStringV2 T34_;
				NI lineNumber_1;
				NI column_1;
				colontmpD_ = (NI)0;
				colontmpD__2 = (NI)0;
				linePath_1.len = 0; linePath_1.p = NIM_NIL;
				inp_1.len = 0; inp_1.p = NIM_NIL;
				{
					while (1) {
						NIM_BOOL T9_;
						T9_ = (NIM_BOOL)0;
						T9_ = (last_1 < source_p0.len);
						if (!(T9_)) goto LA10_;
						T9_ = !((((NU8)(source_p0.p->data[last_1])) == ((NU8)(13)) || ((NU8)(source_p0.p->data[last_1])) == ((NU8)(10))));
LA10_: ;
						if (!T9_) goto LA8;
						last_1 += ((NI)1);
					} LA8: ;
				}
				eolpos_1 = last_1;
				{
					if (!(last_1 < source_p0.len)) goto LA13_;
					{
						if (!((NU8)(source_p0.p->data[last_1]) == (NU8)(10))) goto LA17_;
						last_1 += ((NI)1);
					}
					goto LA15_;
LA17_: ;
					{
						if (!((NU8)(source_p0.p->data[last_1]) == (NU8)(13))) goto LA20_;
						last_1 += ((NI)1);
						{
							NIM_BOOL T24_;
							T24_ = (NIM_BOOL)0;
							T24_ = (last_1 < source_p0.len);
							if (!(T24_)) goto LA25_;
							T24_ = ((NU8)(source_p0.p->data[last_1]) == (NU8)(10));
LA25_: ;
							if (!T24_) goto LA26_;
							last_1 += ((NI)1);
						}
LA26_: ;
					}
					goto LA15_;
LA20_: ;
LA15_: ;
				}
LA13_: ;
				T28_ = (NI)0;
				{
					if (!NIM_FALSE) goto LA31_;
					colontmpD_ = (NI)(last_1 - ((NI)1));
					T28_ = colontmpD_;
				}
				goto LA29_;
LA31_: ;
				{
					colontmpD__2 = (NI)(eolpos_1 - ((NI)1));
					T28_ = colontmpD__2;
				}
LA29_: ;
				T34_.len = 0; T34_.p = NIM_NIL;
				T34_ = substr__system_u8659(source_p0, first_1, T28_);
				eqsink___system_u2700((&line_1), T34_);
				lineNumber_1 = ((NI)0);
				linePath_1 = TM__6vuGHHnP4PcSvUQSx0mGGg_4;
				column_1 = ((NI)0);
				{
					NI idx_1;
					NIM_BOOL res_1;
					NI resLen_1;
					NI T67_;
					inp_1 = nsuStrip(line_1, NIM_TRUE, NIM_TRUE, TM__6vuGHHnP4PcSvUQSx0mGGg_5);
					if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
					idx_1 = ((NI)0);
					res_1 = NIM_FALSE;
					resLen_1 = skip__pureZparseutils_u929(inp_1, TM__6vuGHHnP4PcSvUQSx0mGGg_7, idx_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
					{
						NI resLen_2;
						if (!!((resLen_1 == ((NI)0)))) goto LA39_;
						idx_1 += resLen_1;
						resLen_2 = parseInt__pureZparseutils_u989(inp_1, (&lineNumber_1), idx_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
						{
							NI resLen_3;
							if (!!((resLen_2 == ((NI)0)))) goto LA43_;
							idx_1 += resLen_2;
							resLen_3 = skip__pureZparseutils_u929(inp_1, TM__6vuGHHnP4PcSvUQSx0mGGg_9, idx_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
							{
								NI resLen_4;
								if (!!((resLen_3 == ((NI)0)))) goto LA47_;
								idx_1 += resLen_3;
								resLen_4 = parseInt__pureZparseutils_u989(inp_1, (&column_1), idx_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
								{
									NI resLen_5;
									if (!!((resLen_4 == ((NI)0)))) goto LA51_;
									idx_1 += resLen_4;
									resLen_5 = skip__pureZparseutils_u929(inp_1, TM__6vuGHHnP4PcSvUQSx0mGGg_11, idx_1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
									{
										NI resLen_6;
										if (!!((resLen_5 == ((NI)0)))) goto LA55_;
										idx_1 += resLen_5;
										resLen_6 = parseUntil__pureZparseutils_u966(inp_1, (&linePath_1), TM__6vuGHHnP4PcSvUQSx0mGGg_13, idx_1);
										if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
										{
											NI resLen_7;
											if (!(((NI)1) <= resLen_6)) goto LA59_;
											idx_1 += resLen_6;
											resLen_7 = skip__pureZparseutils_u929(inp_1, TM__6vuGHHnP4PcSvUQSx0mGGg_14, idx_1);
											if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
											{
												if (!!((resLen_7 == ((NI)0)))) goto LA63_;
												idx_1 += resLen_7;
												res_1 = NIM_TRUE;
											}
LA63_: ;
										}
LA59_: ;
									}
LA55_: ;
								}
LA51_: ;
							}
LA47_: ;
						}
LA43_: ;
					}
LA39_: ;
					if (!res_1) goto LA65_;
					currColumn_1 = column_1;
					currLine_1 = (NI)(lineNumber_1 - ((NI)1));
					eqsink___system_u2700((&currFile_1), linePath_1);
					eqwasMoved___system_u2688((&linePath_1));
					newLine__sourcemap_u444((&result), currFile_1, currLine_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
					T67_ = (NI)0;
					T67_ = skipWhitespace__pureZparseutils_u925(line_1, ((NI)0));
					if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
					addSegment__sourcemap_u24((&result), currColumn_1, T67_, TM__6vuGHHnP4PcSvUQSx0mGGg_15);
					if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
				}
				goto LA35_;
LA65_: ;
				{
					NI T71_;
					if (!!((currFile_1.len == 0))) goto LA69_;
					newLine__sourcemap_u444((&result), currFile_1, currLine_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
					T71_ = (NI)0;
					T71_ = skipWhitespace__pureZparseutils_u925(line_1, ((NI)0));
					if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
					addSegment__sourcemap_u24((&result), currColumn_1, T71_, TM__6vuGHHnP4PcSvUQSx0mGGg_16);
					if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
					{
						NimStringV2 token_1;
						NimStringV2 token_2;
						NI jsColumn_1;
						NI col_1;
						token_1.len = 0; token_1.p = NIM_NIL;
						token_2.len = 0; token_2.p = NIM_NIL;
						jsColumn_1 = (NI)0;
						token_1.len = 0; token_1.p = NIM_NIL;
						col_1 = ((NI)0);
						token_2 = TM__6vuGHHnP4PcSvUQSx0mGGg_17;
						{
							while (1) {
								NimStringV2 token_3;
								NimStringV2 name_1;
								NI T75_;
								NI T76_;
								NI identStart_1;
								NI T77_;
								if (!(col_1 < line_1.len)) goto LA74;
								token_3.len = 0; token_3.p = NIM_NIL;
								name_1.len = 0; name_1.p = NIM_NIL;
								token_3 = TM__6vuGHHnP4PcSvUQSx0mGGg_18;
								name_1 = TM__6vuGHHnP4PcSvUQSx0mGGg_19;
								T75_ = (NI)0;
								T75_ = skipWhitespace__pureZparseutils_u925(line_1, col_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
								col_1 += T75_;
								T76_ = (NI)0;
								T76_ = skipUntil__pureZparseutils_u939(line_1, TM__6vuGHHnP4PcSvUQSx0mGGg_20, col_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
								col_1 += T76_;
								identStart_1 = col_1;
								T77_ = (NI)0;
								T77_ = parseIdent__pureZparseutils_u911(line_1, (&token_3), col_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
								col_1 += T77_;
								{
									NIM_BOOL T80_;
									NimStringV2 colontmpD__3;
									NI hex_1;
									tyObject_HSlice__OAVyDXS0QPw7LdXClfU2hA T83_;
									NI T84_;
									NimStringV2 T85_;
									T80_ = (NIM_BOOL)0;
									T80_ = nsuStartsWith(token_3, TM__6vuGHHnP4PcSvUQSx0mGGg_22);
									if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
									if (!T80_) goto LA81_;
									colontmpD__3.len = 0; colontmpD__3.p = NIM_NIL;
									hex_1 = ((NI)0);
									T83_ = dotdot___stdZstrbasics_u49(((NI)3), ((NI)4));
									colontmpD__3 = X5BX5D___pureZstrutils_u1286(token_3, T83_);
									if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
									T84_ = (NI)0;
									T84_ = parseHex__pureZstrutils_u990(colontmpD__3, (&hex_1), ((NI)0), ((NI)0));
									if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
									(void)(T84_);
									T85_.len = 0; T85_.p = NIM_NIL;
									T85_ = nimCharToStr(((NIM_CHAR) ((hex_1))));
									eqsink___system_u2700((&name_1), T85_);
									eqdestroy___system_u2691(colontmpD__3);
								}
								goto LA78_;
LA81_: ;
								{
									NIM_BOOL T87_;
									NI lastUnderscore_1;
									T87_ = (NIM_BOOL)0;
									T87_ = nsuEndsWith(token_3, TM__6vuGHHnP4PcSvUQSx0mGGg_24);
									if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
									if (!!(T87_)) goto LA88_;
									lastUnderscore_1 = nsuRFindChar(token_3, 95, ((NI)0), ((NI)-1));
									if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
									{
										tyObject_HSlice__OAVyDXS0QPw7LdXClfU2hA T94_;
										NimStringV2 T95_;
										if (!!((lastUnderscore_1 == ((NI)-1)))) goto LA92_;
										T94_ = dotdot___stdZstrbasics_u49(((NI)0), (NI)(lastUnderscore_1 - ((NI)1)));
										T95_.len = 0; T95_.p = NIM_NIL;
										T95_ = X5BX5D___pureZstrutils_u1286(token_3, T94_);
										if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___system_u2691(T95_); goto LA6_;}
										eqsink___system_u2700((&name_1), T95_);
									}
LA92_: ;
								}
								goto LA78_;
LA88_: ;
LA78_: ;
								{
									if (!!((name_1.len == 0))) goto LA98_;
									jsColumn_1 = identStart_1;
									eqsink___system_u2700((&token_1), name_1);
									eqwasMoved___system_u2688((&name_1));
									addSegment__sourcemap_u24((&result), currColumn_1, jsColumn_1, token_1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
								}
LA98_: ;
								eqdestroy___system_u2691(name_1);
								eqdestroy___system_u2691(token_3);
							} LA74: ;
						}
						eqdestroy___system_u2691(token_2);
						eqdestroy___system_u2691(token_1);
					}
				}
				goto LA35_;
LA69_: ;
				{
					newLine__sourcemap_u422((&result));
					if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
				}
LA35_: ;
				{
					if (!(eolpos_1 == last_1)) goto LA103_;
					eqdestroy___system_u2691(inp_1);
					eqdestroy___system_u2691(linePath_1);
					goto LA4;
				}
LA103_: ;
				first_1 = last_1;
				{
					LA6_:;
				}
				{
					eqdestroy___system_u2691(inp_1);
					eqdestroy___system_u2691(linePath_1);
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
			}
		} LA4: ;
		{
			LA3_:;
		}
		{
			eqdestroy___system_u2691(line_1);
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	{
		LA1_:;
	}
	{
		eqdestroy___system_u2691(currFile_1);
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NIM_BOOL, sameSeqPayload)(void* x_p0, void* y_p1) {
	NIM_BOOL result;
	result = ((*((tyObject_NimRawSeq__Tvl1urqmI1tXqzkHPbWVJQ*) (x_p0))).p == (*((tyObject_NimRawSeq__Tvl1urqmI1tXqzkHPbWVJQ*) (y_p1))).p);
	return result;
}
static N_INLINE(void, nimCopyMem)(void* dest_p0, void* source_p1, NI size_p2) {
	void* T1_;
	T1_ = (void*)0;
	T1_ = memcpy(dest_p0, source_p1, ((size_t) (size_p2)));
}
static N_INLINE(void, copyMem__system_u1742)(void* dest_p0, void* source_p1, NI size_p2) {
	nimCopyMem(dest_p0, source_p1, size_p2);
}
static N_INLINE(void, nimCopySeqPayload)(void* dest_p0, void* src_p1, NI elemSize_p2, NI elemAlign_p3) {
	tyObject_NimRawSeq__Tvl1urqmI1tXqzkHPbWVJQ* d_1;
	tyObject_NimRawSeq__Tvl1urqmI1tXqzkHPbWVJQ* s_1;
	d_1 = ((tyObject_NimRawSeq__Tvl1urqmI1tXqzkHPbWVJQ*) (dest_p0));
	s_1 = ((tyObject_NimRawSeq__Tvl1urqmI1tXqzkHPbWVJQ*) (src_p1));
	{
		NI headerSize_1;
		if (!(((NI)0) < (*s_1).len)) goto LA3_;
		headerSize_1 = align__system_u1639(((NI)4), elemAlign_p3);
		copyMem__system_u1742(((void*) ((NU)((NU32)(((NU) (ptrdiff_t) ((*d_1).p))) + (NU32)(((NU) (headerSize_1)))))), ((void*) ((NU)((NU32)(((NU) (ptrdiff_t) ((*s_1).p))) + (NU32)(((NU) (headerSize_1)))))), ((NI)((*s_1).len * elemSize_p2)));
	}
LA3_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___sourcemap_u166)(tySequence__IWLCUlc3h6FWY379alhl9aaQ* dest_p0, tySequence__IWLCUlc3h6FWY379alhl9aaQ src_p1) {
	NI T6_;
{	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = sameSeqPayload(dest_p0, (&src_p1));
		if (!T3_) goto LA4_;
		goto BeforeRet_;
	}
LA4_: ;
	T6_ = src_p1.len;
	setLen__sourcemap_u183((&(*dest_p0)), T6_);
	nimCopySeqPayload(dest_p0, (&src_p1), ((NI)12), ((NI)4));
	}BeforeRet_: ;
}
static N_INLINE(void, nimAddCharV1)(NimStringV2* s_p0, NIM_CHAR c_p1) {
	prepareAdd(s_p0, ((NI)1));
	(*(*s_p0).p).data[(*s_p0).len] = c_p1;
	(*s_p0).len += ((NI)1);
	(*(*s_p0).p).data[(*s_p0).len] = 0;
}
N_LIB_PRIVATE N_NIMCALL(NimStringV2, encode__sourcemap_u465)(tySequence__qwqHTkRvwhrRyENtudHQ7g values_p0) {
	NimStringV2 result;
	result = TM__6vuGHHnP4PcSvUQSx0mGGg_25;
	{
		NI* val_1;
		NI i_1;
		NI L_1;
		NI T2_;
		val_1 = (NI*)0;
		i_1 = ((NI)0);
		T2_ = values_p0.len;
		L_1 = T2_;
		{
			while (1) {
				NI newVal_1;
				if (!(i_1 < L_1)) goto LA4;
				val_1 = (&values_p0.p->data[i_1]);
				newVal_1 = (NI)((NU32)(((*val_1) > 0? ((*val_1)) : -((*val_1)))) << (NU32)(((NI)1) & (32 - 1)));
				{
					if (!((*val_1) < ((NI)0))) goto LA7_;
					newVal_1 = (NI)(newVal_1 | ((NI)1));
				}
LA7_: ;
				{
					while (1) {
						NI masked_1;
						masked_1 = (NI)(newVal_1 & ((NI)31));
						newVal_1 = (NI)((NI32)(newVal_1) >> (NU32)(((NI)5) & (32 - 1)));
						{
							if (!(((NI)0) < newVal_1)) goto LA13_;
							masked_1 = (NI)(masked_1 | ((NI)32));
						}
LA13_: ;
						nimAddCharV1((&result), TM__6vuGHHnP4PcSvUQSx0mGGg_27.p->data[masked_1]);
						{
							if (!(newVal_1 == ((NI)0))) goto LA17_;
							goto LA9;
						}
LA17_: ;
					}
				} LA9: ;
				i_1 += ((NI)1);
			} LA4: ;
		}
	}
	return result;
}
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(void, eqdestroy___sourcemap_u163)(tySequence__IWLCUlc3h6FWY379alhl9aaQ dest_p0) {
	if (dest_p0.p && !(dest_p0.p->cap & NIM_STRLIT_FLAG)) {
 alignedDealloc(dest_p0.p, NIM_ALIGNOF(tyObject_Segment__9cSimljufAUmxKUYLJk2dhw));
}
}
N_LIB_PRIVATE N_NIMCALL(void, toSourceMap__sourcemap_u656)(tyObject_SourceInfo__z6HWkX1RFb8wgNWT2p25EQ info_p0, NimStringV2 file_p1, tyObject_SourceMap__WQjtp9aU0iILpTcFCDzWLTA* Result) {
	NimStringV2 colontmpD_;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ colontmpD__2;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ colontmpD__3;
	NI prevFile_1;
	NI prevLine_1;
	NI prevName_1;
	NI prevNimCol_1;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	nimZeroMem((void*)Result, sizeof(tyObject_SourceMap__WQjtp9aU0iILpTcFCDzWLTA));
	(*Result).version = ((NI)3);
	colontmpD_ = eqdup___system_u2697(file_p1);
	(*Result).file = colontmpD_;
	colontmpD__2 = eqdup___system_u5539(info_p0.files);
	(*Result).sources = colontmpD__2;
	colontmpD__3 = eqdup___system_u5539(info_p0.names);
	(*Result).names = colontmpD__3;
	prevFile_1 = ((NI)0);
	prevLine_1 = ((NI)0);
	prevName_1 = ((NI)0);
	prevNimCol_1 = ((NI)0);
	{
		tyObject_Mapping__5X9cm3giTN9aYJbVTF9clmk7A* mapping_1;
		NI i_1;
		NI L_1;
		NI T2_;
		mapping_1 = (tyObject_Mapping__5X9cm3giTN9aYJbVTF9clmk7A*)0;
		i_1 = ((NI)0);
		T2_ = info_p0.mappings.len;
		L_1 = T2_;
		{
			while (1) {
				if (!(i_1 < L_1)) goto LA4;
				mapping_1 = (&info_p0.mappings.p->data[i_1]);
				{
					NI prevJSCol_1;
					if (!(*mapping_1).inSource) goto LA7_;
					prevJSCol_1 = ((NI)0);
					{
						tySequence__IWLCUlc3h6FWY379alhl9aaQ colontmp_;
						tyObject_Segment__9cSimljufAUmxKUYLJk2dhw* segment_1;
						NI i_2;
						NI L_2;
						NI T10_;
						colontmp_.len = 0; colontmp_.p = NIM_NIL;
						segment_1 = (tyObject_Segment__9cSimljufAUmxKUYLJk2dhw*)0;
						colontmp_.len = 0; colontmp_.p = NIM_NIL;
						eqcopy___sourcemap_u166((&colontmp_), (*mapping_1)._inSource_1.segments);
						i_2 = ((NI)0);
						T10_ = colontmp_.len;
						L_2 = T10_;
						{
							while (1) {
								tySequence__qwqHTkRvwhrRyENtudHQ7g values_1;
								NimStringV2 colontmpD__4;
								NimStringV2 colontmpD__5;
								NimStringV2 T17_;
								if (!(i_2 < L_2)) goto LA12;
								values_1.len = 0; values_1.p = NIM_NIL;
								colontmpD__4.len = 0; colontmpD__4.p = NIM_NIL;
								colontmpD__5.len = 0; colontmpD__5.p = NIM_NIL;
								segment_1 = (&colontmp_.p->data[i_2]);
								values_1.len = 4; values_1.p = (tySequence__qwqHTkRvwhrRyENtudHQ7g_Content*) newSeqPayload(4, sizeof(NI), NIM_ALIGNOF(NI));
								values_1.p->data[0] = (NI)((*segment_1).generated - prevJSCol_1);
								values_1.p->data[1] = (NI)((*mapping_1)._inSource_1.file - prevFile_1);
								values_1.p->data[2] = (NI)((*mapping_1)._inSource_1.line - prevLine_1);
								values_1.p->data[3] = (NI)((*segment_1).original - prevNimCol_1);
								{
									if (!!(((*segment_1).name == ((NI)-1)))) goto LA15_;
									add__varpartitions_u1538((&values_1), (NI)((*segment_1).name - prevName_1));
									prevName_1 = (*segment_1).name;
								}
LA15_: ;
								prevJSCol_1 = (*segment_1).generated;
								prevNimCol_1 = (*segment_1).original;
								prevFile_1 = (*mapping_1)._inSource_1.file;
								prevLine_1 = (*mapping_1)._inSource_1.line;
								T17_.len = 0; T17_.p = NIM_NIL;
								colontmpD__4 = encode__sourcemap_u465(values_1);
								if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
								T17_ = rawNewString(colontmpD__4.len + 1);
appendString((&T17_), colontmpD__4);
appendString((&T17_), TM__6vuGHHnP4PcSvUQSx0mGGg_29);
								colontmpD__5 = T17_;
								prepareAdd((&(*Result).mappings), colontmpD__5.len + 0);
appendString((&(*Result).mappings), colontmpD__5);
								i_2 += ((NI)1);
								eqdestroy___system_u2691(colontmpD__5);
								eqdestroy___system_u2691(colontmpD__4);
								eqdestroy___pureZosproc_u474(values_1);
							} LA12: ;
						}
						eqdestroy___sourcemap_u163(colontmp_);
					}
					{
						NI T20_;
						T20_ = (*mapping_1)._inSource_1.segments.len;
						if (!(((NI)0) < T20_)) goto LA21_;
						setLengthStrV2((&(*Result).mappings), ((NI)((*Result).mappings.len - ((NI)1))));
					}
LA21_: ;
				}
LA7_: ;
				prepareAdd((&(*Result).mappings), 1);
appendString((&(*Result).mappings), TM__6vuGHHnP4PcSvUQSx0mGGg_31);
				i_1 += ((NI)1);
			} LA4: ;
		}
	}
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___sourcemap_u261)(tySequence__u440EGTDYOwkQLE9asdZ6OQ dest_p0) {
	NI colontmp_;
	colontmp_ = ((NI)0);
	{
		while (1) {
			NI T3_;
			T3_ = dest_p0.len;
			if (!(colontmp_ < T3_)) goto LA2;
			switch (dest_p0.p->data[colontmp_].inSource) {
			case NIM_TRUE:
			{
				eqdestroy___sourcemap_u163(dest_p0.p->data[colontmp_]._inSource_1.segments);
			}
			break;
			default:
			{
			}
			break;
			}
			colontmp_ += ((NI)1);
		} LA2: ;
	}
	if (dest_p0.p && !(dest_p0.p->cap & NIM_STRLIT_FLAG)) {
 alignedDealloc(dest_p0.p, NIM_ALIGNOF(tyObject_Mapping__5X9cm3giTN9aYJbVTF9clmk7A));
}
}
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___sourcemap_u635)(tyObject_SourceInfo__z6HWkX1RFb8wgNWT2p25EQ dest_p0) {
	eqdestroy___system_u5533(dest_p0.files);
	eqdestroy___system_u5533(dest_p0.names);
	eqdestroy___sourcemap_u261(dest_p0.mappings);
}
N_LIB_PRIVATE N_NIMCALL(void, genSourceMap__sourcemap_u801)(NimStringV2 source_p0, NimStringV2 outFile_p1, tyObject_SourceMap__WQjtp9aU0iILpTcFCDzWLTA* Result) {
	tyObject_SourceInfo__z6HWkX1RFb8wgNWT2p25EQ node_1;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	nimZeroMem((void*)Result, sizeof(tyObject_SourceMap__WQjtp9aU0iILpTcFCDzWLTA));
	nimZeroMem((void*)(&node_1), sizeof(tyObject_SourceInfo__z6HWkX1RFb8wgNWT2p25EQ));
	node_1 = parse__sourcemap_u565(source_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	toSourceMap__sourcemap_u656(node_1, outFile_p1, Result);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		LA1_:;
	}
	{
		eqdestroy___sourcemap_u635(node_1);
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___sourcemap_u720)(tyObject_SourceMap__WQjtp9aU0iILpTcFCDzWLTA* dest_p0) {
	eqdestroy___system_u2691((*dest_p0).file);
	eqdestroy___system_u2691((*dest_p0).mappings);
	eqdestroy___system_u5533((*dest_p0).names);
	eqdestroy___system_u5533((*dest_p0).sources);
}
