/* Generated by Nim Compiler v0.17.0 */
/*   (c) 2017 Andreas Rumpf */
/* The generated code is subject to the original license. */
/* Compiled for: Linux, i386, gcc */
/* Command for C compiler:
   gcc -c  -w -O3 -fno-strict-aliasing -fPIC  -I/build/nim/src/Nim-0.17.0/lib -o lib/nimcache/stdlib_parsecfg.o lib/nimcache/stdlib_parsecfg.c */
#define NIM_NEW_MANGLING_RULES
#define NIM_INTBITS 32

#include "nimbase.h"
#include <string.h>
#undef linux
#undef near
typedef struct CfgParser_w8XFEe9aT1CBajTOt4fsMRA CfgParser_w8XFEe9aT1CBajTOt4fsMRA;
typedef struct StreamObj_RShkcoDOPnoCVhtpN1hDPQ StreamObj_RShkcoDOPnoCVhtpN1hDPQ;
typedef struct NimStringDesc NimStringDesc;
typedef struct TGenericSeq TGenericSeq;
typedef struct BaseLexer_B6cGbTPhMsqMovc9cOcIHRw BaseLexer_B6cGbTPhMsqMovc9cOcIHRw;
typedef struct TNimObject TNimObject;
typedef struct TNimType TNimType;
typedef struct TNimNode TNimNode;
typedef struct Token_yWkcM1ijvGYnxTAxtl3FPw Token_yWkcM1ijvGYnxTAxtl3FPw;
typedef struct CfgEvent_IQQt9ctNcwhKRKuCzK6Mm3Q CfgEvent_IQQt9ctNcwhKRKuCzK6Mm3Q;
struct  TGenericSeq  {
NI len;
NI reserved;
};
struct  NimStringDesc  {
  TGenericSeq Sup;
NIM_CHAR data[SEQ_DECL_SIZE];
};
typedef NU8 TY_nmiMWKVIe46vacnhAFrQvw_Set[32];
typedef NU8 TNimKind_jIBKr1ejBgsfM33Kxw4j7A;
typedef NU8 TNimTypeFlag_v8QUszD1sWlSIWZz7mC4bQ_Set;
typedef N_NIMCALL_PTR(void, TY_ojoeKfW4VYIm36I9cpDTQIg) (void* p, NI op);
typedef N_NIMCALL_PTR(void*, TY_WSm2xU5ARYv9aAR4l0z9c9auQ) (void* p);
struct  TNimType  {
NI size;
TNimKind_jIBKr1ejBgsfM33Kxw4j7A kind;
TNimTypeFlag_v8QUszD1sWlSIWZz7mC4bQ_Set flags;
TNimType* base;
TNimNode* node;
void* finalizer;
TY_ojoeKfW4VYIm36I9cpDTQIg marker;
TY_WSm2xU5ARYv9aAR4l0z9c9auQ deepcopy;
};
struct  TNimObject  {
TNimType* m_type;
};
struct  BaseLexer_B6cGbTPhMsqMovc9cOcIHRw  {
  TNimObject Sup;
NI bufpos;
NCSTRING buf;
NI bufLen;
StreamObj_RShkcoDOPnoCVhtpN1hDPQ* input;
NI lineNumber;
NI sentinel;
NI lineStart;
TY_nmiMWKVIe46vacnhAFrQvw_Set refillChars;
};
typedef NU8 TokKind_PvpTf9b5cBhdKx1DK5Ed3dg;
struct  Token_yWkcM1ijvGYnxTAxtl3FPw  {
TokKind_PvpTf9b5cBhdKx1DK5Ed3dg kind;
NimStringDesc* literal;
};
struct  CfgParser_w8XFEe9aT1CBajTOt4fsMRA  {
  BaseLexer_B6cGbTPhMsqMovc9cOcIHRw Sup;
Token_yWkcM1ijvGYnxTAxtl3FPw tok;
NimStringDesc* filename;
};
typedef NimStringDesc* TY_sMpvt1sOxOJ3LFGulnbeMQ[4];
typedef NU8 CfgEventKind_f0xwqI11H3rviaTXvjDJug;
struct  CfgEvent_IQQt9ctNcwhKRKuCzK6Mm3Q  {
  TNimObject Sup;
CfgEventKind_f0xwqI11H3rviaTXvjDJug kind;
union{
struct {NimStringDesc* section;
} S2;
struct {NimStringDesc* key;
NimStringDesc* value;
} S3;
struct {NimStringDesc* msg;
} S4;
} kindU;
};
typedef NU8 TNimNodeKind_unfNsxrcATrufDZmpBq4HQ;
struct  TNimNode  {
TNimNodeKind_unfNsxrcATrufDZmpBq4HQ kind;
NI offset;
TNimType* typ;
NCSTRING name;
NI len;
TNimNode** sons;
};
typedef N_NIMCALL_PTR(void, TY_cnkJEp9bna8U6yi9aVW9cAJ0Q) (StreamObj_RShkcoDOPnoCVhtpN1hDPQ* s);
typedef N_NIMCALL_PTR(NIM_BOOL, TY_KjFcmLOhf4VQvVcyLJWXZw) (StreamObj_RShkcoDOPnoCVhtpN1hDPQ* s);
typedef N_NIMCALL_PTR(void, TY_jlOYFw9cHausuCbPoWx2iiA) (StreamObj_RShkcoDOPnoCVhtpN1hDPQ* s, NI pos);
typedef N_NIMCALL_PTR(NI, TY_Xzm85qBLb9cf9cu8VOfAr8PQ) (StreamObj_RShkcoDOPnoCVhtpN1hDPQ* s);
typedef N_NIMCALL_PTR(NI, TY_tjaJtoUzLe1BMUbItlcGhQ) (StreamObj_RShkcoDOPnoCVhtpN1hDPQ* s, void* buffer, NI bufLen);
typedef N_NIMCALL_PTR(void, TY_b9bsIuILxTLVZHPvJBW187A) (StreamObj_RShkcoDOPnoCVhtpN1hDPQ* s, void* buffer, NI bufLen);
struct  StreamObj_RShkcoDOPnoCVhtpN1hDPQ  {
  TNimObject Sup;
TY_cnkJEp9bna8U6yi9aVW9cAJ0Q closeImpl;
TY_KjFcmLOhf4VQvVcyLJWXZw atEndImpl;
TY_jlOYFw9cHausuCbPoWx2iiA setPositionImpl;
TY_Xzm85qBLb9cf9cu8VOfAr8PQ getPositionImpl;
TY_tjaJtoUzLe1BMUbItlcGhQ readDataImpl;
TY_tjaJtoUzLe1BMUbItlcGhQ peekDataImpl;
TY_b9bsIuILxTLVZHPvJBW187A writeDataImpl;
TY_cnkJEp9bna8U6yi9aVW9cAJ0Q flushImpl;
};
N_LIB_EXPORT N_CDECL(void, npcopen)(CfgParser_w8XFEe9aT1CBajTOt4fsMRA* c, StreamObj_RShkcoDOPnoCVhtpN1hDPQ* input, NimStringDesc* filename, NI lineOffset);
N_NIMCALL(void, open_xmgaYJZNnO6QcDtac9bs3Vg)(BaseLexer_B6cGbTPhMsqMovc9cOcIHRw* L, StreamObj_RShkcoDOPnoCVhtpN1hDPQ* input, NI bufLen, TY_nmiMWKVIe46vacnhAFrQvw_Set refillChars);
N_NIMCALL(void, unsureAsgnRef)(void** dest, void* src);
N_LIB_EXPORT N_CDECL(NimStringDesc*, nimrtl_copyString)(NimStringDesc* src);
N_LIB_EXPORT N_CDECL(void, npcclose)(CfgParser_w8XFEe9aT1CBajTOt4fsMRA* c);
N_NIMCALL(void, close_QbedUCk2XwI9c7bbRzXBY0g_2)(BaseLexer_B6cGbTPhMsqMovc9cOcIHRw* L);
N_LIB_EXPORT N_CDECL(NI, npcgetColumn)(CfgParser_w8XFEe9aT1CBajTOt4fsMRA* c);
N_NIMCALL(NI, getColNumber_9cj186ckGjLqyndkoW7bBdg)(BaseLexer_B6cGbTPhMsqMovc9cOcIHRw* L, NI pos);
N_LIB_EXPORT N_CDECL(NI, npcgetLine)(CfgParser_w8XFEe9aT1CBajTOt4fsMRA* c);
N_LIB_EXPORT N_CDECL(NimStringDesc*, npcgetFilename)(CfgParser_w8XFEe9aT1CBajTOt4fsMRA* c);
N_LIB_EXPORT N_CDECL(NimStringDesc*, npcerrorStr)(CfgParser_w8XFEe9aT1CBajTOt4fsMRA* c, NimStringDesc* msg);
N_LIB_EXPORT N_CDECL(NimStringDesc*, nsuFormatOpenArray)(NimStringDesc* formatstr, NimStringDesc** a, NI aLen_0);
N_LIB_EXPORT N_CDECL(NimStringDesc*, nimrtl_nimIntToStr)(NI x);
N_LIB_EXPORT N_CDECL(NimStringDesc*, npcwarningStr)(CfgParser_w8XFEe9aT1CBajTOt4fsMRA* c, NimStringDesc* msg);
N_LIB_EXPORT N_CDECL(NimStringDesc*, npcignoreMsg)(CfgParser_w8XFEe9aT1CBajTOt4fsMRA* c, CfgEvent_IQQt9ctNcwhKRKuCzK6Mm3Q* e);
static N_INLINE(void, appendString)(NimStringDesc* dest, NimStringDesc* src);
static N_INLINE(void, copyMem_fPlwH3r9agN9aEHB6yCPMh0wsystem)(void* dest, void* source, NI size);
N_NIMCALL(NimStringDesc*, rawNewString)(NI space);
N_LIB_EXPORT N_CDECL(void, npcnext)(CfgParser_w8XFEe9aT1CBajTOt4fsMRA* c, CfgEvent_IQQt9ctNcwhKRKuCzK6Mm3Q* Result);
N_NIMCALL(void, rawGetTok_O0TCNNdqmVst7YIKcVHcOQ)(CfgParser_w8XFEe9aT1CBajTOt4fsMRA* c, Token_yWkcM1ijvGYnxTAxtl3FPw* tok);
N_LIB_EXPORT N_CDECL(NimStringDesc*, nimrtl_setLengthStr)(NimStringDesc* s, NI newLen);
N_NIMCALL(void, skip_AhN1A1FuhHZh69aN9cg2Os9cA)(CfgParser_w8XFEe9aT1CBajTOt4fsMRA* c);
N_NIMCALL(NI, handleCRLF_aTSjoKixs63H4oDAFX9bRHQ)(CfgParser_w8XFEe9aT1CBajTOt4fsMRA* c, NI pos);
N_NIMCALL(NI, handleCR_IwUEvMBOLRY9cqyar6XKEaw)(BaseLexer_B6cGbTPhMsqMovc9cOcIHRw* L, NI pos);
N_NIMCALL(NI, handleLF_IwUEvMBOLRY9cqyar6XKEaw_3)(BaseLexer_B6cGbTPhMsqMovc9cOcIHRw* L, NI pos);
N_NIMCALL(void, getString_kPdxas01T9chtV9cOXL7akew)(CfgParser_w8XFEe9aT1CBajTOt4fsMRA* c, Token_yWkcM1ijvGYnxTAxtl3FPw* tok, NIM_BOOL rawMode);
N_NIMCALL(NimStringDesc*, addChar)(NimStringDesc* s, NIM_CHAR c);
N_LIB_EXPORT N_CDECL(NimStringDesc*, nimrtl_resizeString)(NimStringDesc* dest, NI addlen);
N_NIMCALL(void, getEscapedChar_oP5V5zBaqBvjlLHmM9aR5HQ)(CfgParser_w8XFEe9aT1CBajTOt4fsMRA* c, Token_yWkcM1ijvGYnxTAxtl3FPw* tok);
N_NIMCALL(void, handleHexChar_3y12hqri4JTyxotOKMYUTw)(CfgParser_w8XFEe9aT1CBajTOt4fsMRA* c, NI* xi);
N_NIMCALL(void, handleDecChars_3y12hqri4JTyxotOKMYUTw_2)(CfgParser_w8XFEe9aT1CBajTOt4fsMRA* c, NI* xi);
N_NIMCALL(void, getSymbol_oP5V5zBaqBvjlLHmM9aR5HQ_2)(CfgParser_w8XFEe9aT1CBajTOt4fsMRA* c, Token_yWkcM1ijvGYnxTAxtl3FPw* tok);
N_NIMCALL(void, getKeyValPair_wU9bLoPwmfHqL352Lwkk0kA)(CfgParser_w8XFEe9aT1CBajTOt4fsMRA* c, CfgEventKind_f0xwqI11H3rviaTXvjDJug kind, CfgEvent_IQQt9ctNcwhKRKuCzK6Mm3Q* Result);
N_NIMCALL(void, genericReset)(void* dest, TNimType* mt);
N_NOINLINE(void, chckNil)(void* p);
extern TNimType NTI_13RNkKqUOX1TtorOUlKtqA_;
TNimType NTI_IQQt9ctNcwhKRKuCzK6Mm3Q_;
TNimType NTI_f0xwqI11H3rviaTXvjDJug_;
extern TNimType NTI_77mFvmsOLKik79ci2hXkHEg_;
static NIM_CONST TY_nmiMWKVIe46vacnhAFrQvw_Set TM_M7YvT9b1Jc1B2TU2FUEf9cHQ_2 = {
0x00, 0x24, 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, 0x00, 0x00, 0x00}
;
STRING_LITERAL(TM_M7YvT9b1Jc1B2TU2FUEf9cHQ_3, "", 0);
STRING_LITERAL(TM_M7YvT9b1Jc1B2TU2FUEf9cHQ_4, "$1($2, $3) Error: $4", 20);
STRING_LITERAL(TM_M7YvT9b1Jc1B2TU2FUEf9cHQ_5, "$1($2, $3) Warning: $4", 22);
STRING_LITERAL(TM_M7YvT9b1Jc1B2TU2FUEf9cHQ_6, "section ignored: ", 17);
STRING_LITERAL(TM_M7YvT9b1Jc1B2TU2FUEf9cHQ_7, "key ignored: ", 13);
STRING_LITERAL(TM_M7YvT9b1Jc1B2TU2FUEf9cHQ_8, "command ignored: ", 17);
STRING_LITERAL(TM_M7YvT9b1Jc1B2TU2FUEf9cHQ_9, ": ", 2);
STRING_LITERAL(TM_M7YvT9b1Jc1B2TU2FUEf9cHQ_10, "=", 1);
STRING_LITERAL(TM_M7YvT9b1Jc1B2TU2FUEf9cHQ_11, "--", 2);
STRING_LITERAL(TM_M7YvT9b1Jc1B2TU2FUEf9cHQ_12, ":", 1);
STRING_LITERAL(TM_M7YvT9b1Jc1B2TU2FUEf9cHQ_13, "\012", 1);
static NIM_CONST TY_nmiMWKVIe46vacnhAFrQvw_Set TM_M7YvT9b1Jc1B2TU2FUEf9cHQ_14 = {
0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0xFF, 0x03,
0xFE, 0xFF, 0xFF, 0x97, 0xFE, 0xFF, 0xFF, 0x07,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}
;
STRING_LITERAL(TM_M7YvT9b1Jc1B2TU2FUEf9cHQ_15, "]", 1);
STRING_LITERAL(TM_M7YvT9b1Jc1B2TU2FUEf9cHQ_16, "[EOF]", 5);
TNimNode* NimDT__IQQt9ctNcwhKRKuCzK6Mm3Q_kind[6];
STRING_LITERAL(TM_M7YvT9b1Jc1B2TU2FUEf9cHQ_21, "symbol expected, but found: ", 28);
STRING_LITERAL(TM_M7YvT9b1Jc1B2TU2FUEf9cHQ_22, "\']\' expected, but found: ", 25);
STRING_LITERAL(TM_M7YvT9b1Jc1B2TU2FUEf9cHQ_23, "invalid token: ", 15);

N_LIB_EXPORT N_CDECL(void, npcopen)(CfgParser_w8XFEe9aT1CBajTOt4fsMRA* c, StreamObj_RShkcoDOPnoCVhtpN1hDPQ* input, NimStringDesc* filename, NI lineOffset) {
	BaseLexer_B6cGbTPhMsqMovc9cOcIHRw* T1_;
	T1_ = (BaseLexer_B6cGbTPhMsqMovc9cOcIHRw*)0;
	T1_ = &c->Sup;
	open_xmgaYJZNnO6QcDtac9bs3Vg(T1_, input, ((NI) 8192), TM_M7YvT9b1Jc1B2TU2FUEf9cHQ_2);
	unsureAsgnRef((void**) (&(*c).filename), nimrtl_copyString(filename));
	(*c).tok.kind = ((TokKind_PvpTf9b5cBhdKx1DK5Ed3dg) 0);
	unsureAsgnRef((void**) (&(*c).tok.literal), nimrtl_copyString(((NimStringDesc*) &TM_M7YvT9b1Jc1B2TU2FUEf9cHQ_3)));
	(*c).Sup.lineNumber += lineOffset;
	rawGetTok_O0TCNNdqmVst7YIKcVHcOQ(c, (&(*c).tok));
}

N_LIB_EXPORT N_CDECL(void, npcclose)(CfgParser_w8XFEe9aT1CBajTOt4fsMRA* c) {
	BaseLexer_B6cGbTPhMsqMovc9cOcIHRw* T1_;
	T1_ = (BaseLexer_B6cGbTPhMsqMovc9cOcIHRw*)0;
	T1_ = &c->Sup;
	close_QbedUCk2XwI9c7bbRzXBY0g_2(T1_);
}

N_LIB_EXPORT N_CDECL(NI, npcgetColumn)(CfgParser_w8XFEe9aT1CBajTOt4fsMRA* c) {
	NI result;
	result = (NI)0;
	result = getColNumber_9cj186ckGjLqyndkoW7bBdg((&(*c).Sup), (*c).Sup.bufpos);
	return result;
}

N_LIB_EXPORT N_CDECL(NI, npcgetLine)(CfgParser_w8XFEe9aT1CBajTOt4fsMRA* c) {
	NI result;
	result = (NI)0;
	result = (*c).Sup.lineNumber;
	return result;
}

N_LIB_EXPORT N_CDECL(NimStringDesc*, npcgetFilename)(CfgParser_w8XFEe9aT1CBajTOt4fsMRA* c) {
	NimStringDesc* result;
	result = (NimStringDesc*)0;
	result = nimrtl_copyString((*c).filename);
	return result;
}

N_LIB_EXPORT N_CDECL(NimStringDesc*, npcerrorStr)(CfgParser_w8XFEe9aT1CBajTOt4fsMRA* c, NimStringDesc* msg) {
	NimStringDesc* result;
	TY_sMpvt1sOxOJ3LFGulnbeMQ T1_;
	NI T2_;
	NI T3_;
	result = (NimStringDesc*)0;
	memset((void*)T1_, 0, sizeof(T1_));
	T1_[0] = nimrtl_copyString((*c).filename);
	T2_ = (NI)0;
	T2_ = npcgetLine(c);
	T1_[1] = nimrtl_nimIntToStr(T2_);
	T3_ = (NI)0;
	T3_ = npcgetColumn(c);
	T1_[2] = nimrtl_nimIntToStr(T3_);
	T1_[3] = nimrtl_copyString(msg);
	result = nsuFormatOpenArray(((NimStringDesc*) &TM_M7YvT9b1Jc1B2TU2FUEf9cHQ_4), T1_, 4);
	return result;
}

N_LIB_EXPORT N_CDECL(NimStringDesc*, npcwarningStr)(CfgParser_w8XFEe9aT1CBajTOt4fsMRA* c, NimStringDesc* msg) {
	NimStringDesc* result;
	TY_sMpvt1sOxOJ3LFGulnbeMQ T1_;
	NI T2_;
	NI T3_;
	result = (NimStringDesc*)0;
	memset((void*)T1_, 0, sizeof(T1_));
	T1_[0] = nimrtl_copyString((*c).filename);
	T2_ = (NI)0;
	T2_ = npcgetLine(c);
	T1_[1] = nimrtl_nimIntToStr(T2_);
	T3_ = (NI)0;
	T3_ = npcgetColumn(c);
	T1_[2] = nimrtl_nimIntToStr(T3_);
	T1_[3] = nimrtl_copyString(msg);
	result = nsuFormatOpenArray(((NimStringDesc*) &TM_M7YvT9b1Jc1B2TU2FUEf9cHQ_5), T1_, 4);
	return result;
}

static N_INLINE(void, copyMem_fPlwH3r9agN9aEHB6yCPMh0wsystem)(void* dest, void* source, NI size) {
	void* T1_;
	T1_ = (void*)0;
	T1_ = memcpy(dest, source, ((size_t) (size)));
}

static N_INLINE(void, appendString)(NimStringDesc* dest, NimStringDesc* src) {
	copyMem_fPlwH3r9agN9aEHB6yCPMh0wsystem(((void*) ((&(*dest).data[((*dest).Sup.len)- 0]))), ((void*) ((*src).data)), ((NI) ((NI)((*src).Sup.len + ((NI) 1)))));
	(*dest).Sup.len += (*src).Sup.len;
}

N_LIB_EXPORT N_CDECL(NimStringDesc*, npcignoreMsg)(CfgParser_w8XFEe9aT1CBajTOt4fsMRA* c, CfgEvent_IQQt9ctNcwhKRKuCzK6Mm3Q* e) {
	NimStringDesc* result;
	result = (NimStringDesc*)0;
	switch ((*e).kind) {
	case ((CfgEventKind_f0xwqI11H3rviaTXvjDJug) 1):
	{
		NimStringDesc* T2_;
		T2_ = (NimStringDesc*)0;
		T2_ = rawNewString((*e).kindU.S2.section->Sup.len + 17);
appendString(T2_, ((NimStringDesc*) &TM_M7YvT9b1Jc1B2TU2FUEf9cHQ_6));
appendString(T2_, (*e).kindU.S2.section);
		result = npcwarningStr(c, T2_);
	}
	break;
	case ((CfgEventKind_f0xwqI11H3rviaTXvjDJug) 2):
	{
		NimStringDesc* T4_;
		T4_ = (NimStringDesc*)0;
		T4_ = rawNewString((*e).kindU.S3.key->Sup.len + 13);
appendString(T4_, ((NimStringDesc*) &TM_M7YvT9b1Jc1B2TU2FUEf9cHQ_7));
appendString(T4_, (*e).kindU.S3.key);
		result = npcwarningStr(c, T4_);
	}
	break;
	case ((CfgEventKind_f0xwqI11H3rviaTXvjDJug) 3):
	{
		NimStringDesc* T6_;
		T6_ = (NimStringDesc*)0;
		T6_ = rawNewString((*e).kindU.S3.key->Sup.len + (*e).kindU.S3.value->Sup.len + 19);
appendString(T6_, ((NimStringDesc*) &TM_M7YvT9b1Jc1B2TU2FUEf9cHQ_8));
appendString(T6_, (*e).kindU.S3.key);
appendString(T6_, ((NimStringDesc*) &TM_M7YvT9b1Jc1B2TU2FUEf9cHQ_9));
appendString(T6_, (*e).kindU.S3.value);
		result = npcwarningStr(c, T6_);
	}
	break;
	case ((CfgEventKind_f0xwqI11H3rviaTXvjDJug) 4):
	{
		result = nimrtl_copyString((*e).kindU.S4.msg);
	}
	break;
	case ((CfgEventKind_f0xwqI11H3rviaTXvjDJug) 0):
	{
		result = nimrtl_copyString(((NimStringDesc*) &TM_M7YvT9b1Jc1B2TU2FUEf9cHQ_3));
	}
	break;
	}
	return result;
}

N_NIMCALL(NI, handleCRLF_aTSjoKixs63H4oDAFX9bRHQ)(CfgParser_w8XFEe9aT1CBajTOt4fsMRA* c, NI pos) {
	NI result;
	result = (NI)0;
	switch (((NU8)((*c).Sup.buf[pos]))) {
	case 13:
	{
		BaseLexer_B6cGbTPhMsqMovc9cOcIHRw* T2_;
		T2_ = (BaseLexer_B6cGbTPhMsqMovc9cOcIHRw*)0;
		T2_ = &c->Sup;
		result = handleCR_IwUEvMBOLRY9cqyar6XKEaw(T2_, pos);
	}
	break;
	case 10:
	{
		BaseLexer_B6cGbTPhMsqMovc9cOcIHRw* T4_;
		T4_ = (BaseLexer_B6cGbTPhMsqMovc9cOcIHRw*)0;
		T4_ = &c->Sup;
		result = handleLF_IwUEvMBOLRY9cqyar6XKEaw_3(T4_, pos);
	}
	break;
	default:
	{
		result = pos;
	}
	break;
	}
	return result;
}

N_NIMCALL(void, skip_AhN1A1FuhHZh69aN9cg2Os9cA)(CfgParser_w8XFEe9aT1CBajTOt4fsMRA* c) {
	NI pos;
	NCSTRING buf;
	pos = (*c).Sup.bufpos;
	buf = (*c).Sup.buf;
	{
		while (1) {
			switch (((NU8)(buf[pos]))) {
			case 32:
			case 9:
			{
				pos += ((NI) 1);
			}
			break;
			case 35:
			case 59:
			{
				{
					while (1) {
						if (!!((((NU8)(buf[pos])) == ((NU8)(13)) || ((NU8)(buf[pos])) == ((NU8)(10)) || ((NU8)(buf[pos])) == ((NU8)(0))))) goto LA6;
						pos += ((NI) 1);
					} LA6: ;
				}
			}
			break;
			case 13:
			case 10:
			{
				pos = handleCRLF_aTSjoKixs63H4oDAFX9bRHQ(c, pos);
				buf = (*c).Sup.buf;
			}
			break;
			default:
			{
				goto LA1;
			}
			break;
			}
		}
	} LA1: ;
	(*c).Sup.bufpos = pos;
}

N_NIMCALL(void, handleHexChar_3y12hqri4JTyxotOKMYUTw)(CfgParser_w8XFEe9aT1CBajTOt4fsMRA* c, NI* xi) {
	switch (((NU8)((*c).Sup.buf[(*c).Sup.bufpos]))) {
	case 48 ... 57:
	{
		(*xi) = (NI)((NI)((NU32)((*xi)) << (NU32)(((NI) 4))) | ((NI) ((NI)(((NI) (((NU8)((*c).Sup.buf[(*c).Sup.bufpos])))) - ((NI) 48)))));
		(*c).Sup.bufpos += ((NI) 1);
	}
	break;
	case 97 ... 102:
	{
		(*xi) = (NI)((NI)((NU32)((*xi)) << (NU32)(((NI) 4))) | ((NI) ((NI)(((NI) ((NI)(((NI) (((NU8)((*c).Sup.buf[(*c).Sup.bufpos])))) - ((NI) 97)))) + ((NI) 10)))));
		(*c).Sup.bufpos += ((NI) 1);
	}
	break;
	case 65 ... 70:
	{
		(*xi) = (NI)((NI)((NU32)((*xi)) << (NU32)(((NI) 4))) | ((NI) ((NI)(((NI) ((NI)(((NI) (((NU8)((*c).Sup.buf[(*c).Sup.bufpos])))) - ((NI) 65)))) + ((NI) 10)))));
		(*c).Sup.bufpos += ((NI) 1);
	}
	break;
	default:
	{
	}
	break;
	}
}

N_NIMCALL(void, handleDecChars_3y12hqri4JTyxotOKMYUTw_2)(CfgParser_w8XFEe9aT1CBajTOt4fsMRA* c, NI* xi) {
	{
		while (1) {
			if (!(((NU8)((*c).Sup.buf[(*c).Sup.bufpos])) >= ((NU8)(48)) && ((NU8)((*c).Sup.buf[(*c).Sup.bufpos])) <= ((NU8)(57)))) goto LA2;
			(*xi) = (NI)((NI)((*xi) * ((NI) 10)) + ((NI) ((NI)(((NI) (((NU8)((*c).Sup.buf[(*c).Sup.bufpos])))) - ((NI) 48)))));
			(*c).Sup.bufpos += ((NI) 1);
		} LA2: ;
	}
}

N_NIMCALL(void, getEscapedChar_oP5V5zBaqBvjlLHmM9aR5HQ)(CfgParser_w8XFEe9aT1CBajTOt4fsMRA* c, Token_yWkcM1ijvGYnxTAxtl3FPw* tok) {
	(*c).Sup.bufpos += ((NI) 1);
	switch (((NU8)((*c).Sup.buf[(*c).Sup.bufpos]))) {
	case 110:
	case 78:
	{
		(*tok).literal = nimrtl_resizeString((*tok).literal, 1);
appendString((*tok).literal, ((NimStringDesc*) &TM_M7YvT9b1Jc1B2TU2FUEf9cHQ_13));
		(*c).Sup.bufpos += ((NI) 1);
	}
	break;
	case 114:
	case 82:
	case 99:
	case 67:
	{
		(*tok).literal = addChar((*tok).literal, 13);
		(*c).Sup.bufpos += ((NI) 1);
	}
	break;
	case 108:
	case 76:
	{
		(*tok).literal = addChar((*tok).literal, 10);
		(*c).Sup.bufpos += ((NI) 1);
	}
	break;
	case 102:
	case 70:
	{
		(*tok).literal = addChar((*tok).literal, 12);
		(*c).Sup.bufpos += ((NI) 1);
	}
	break;
	case 101:
	case 69:
	{
		(*tok).literal = addChar((*tok).literal, 27);
		(*c).Sup.bufpos += ((NI) 1);
	}
	break;
	case 97:
	case 65:
	{
		(*tok).literal = addChar((*tok).literal, 7);
		(*c).Sup.bufpos += ((NI) 1);
	}
	break;
	case 98:
	case 66:
	{
		(*tok).literal = addChar((*tok).literal, 8);
		(*c).Sup.bufpos += ((NI) 1);
	}
	break;
	case 118:
	case 86:
	{
		(*tok).literal = addChar((*tok).literal, 11);
		(*c).Sup.bufpos += ((NI) 1);
	}
	break;
	case 116:
	case 84:
	{
		(*tok).literal = addChar((*tok).literal, 9);
		(*c).Sup.bufpos += ((NI) 1);
	}
	break;
	case 39:
	case 34:
	{
		(*tok).literal = addChar((*tok).literal, (*c).Sup.buf[(*c).Sup.bufpos]);
		(*c).Sup.bufpos += ((NI) 1);
	}
	break;
	case 92:
	{
		(*tok).literal = addChar((*tok).literal, 92);
		(*c).Sup.bufpos += ((NI) 1);
	}
	break;
	case 120:
	case 88:
	{
		NI xi;
		(*c).Sup.bufpos += ((NI) 1);
		xi = ((NI) 0);
		handleHexChar_3y12hqri4JTyxotOKMYUTw(c, (&xi));
		handleHexChar_3y12hqri4JTyxotOKMYUTw(c, (&xi));
		(*tok).literal = addChar((*tok).literal, ((NIM_CHAR) (((NI) (xi)))));
	}
	break;
	case 48 ... 57:
	{
		NI xi_2;
		xi_2 = ((NI) 0);
		handleDecChars_3y12hqri4JTyxotOKMYUTw_2(c, (&xi_2));
		{
			if (!(xi_2 <= ((NI) 255))) goto LA16_;
			(*tok).literal = addChar((*tok).literal, ((NIM_CHAR) (((NI) (xi_2)))));
		}
		goto LA14_;
		LA16_: ;
		{
			(*tok).kind = ((TokKind_PvpTf9b5cBhdKx1DK5Ed3dg) 0);
		}
		LA14_: ;
	}
	break;
	default:
	{
		(*tok).kind = ((TokKind_PvpTf9b5cBhdKx1DK5Ed3dg) 0);
	}
	break;
	}
}

N_NIMCALL(void, getString_kPdxas01T9chtV9cOXL7akew)(CfgParser_w8XFEe9aT1CBajTOt4fsMRA* c, Token_yWkcM1ijvGYnxTAxtl3FPw* tok, NIM_BOOL rawMode) {
	NI pos;
	NCSTRING buf;
	pos = (NI)((*c).Sup.bufpos + ((NI) 1));
	buf = (*c).Sup.buf;
	(*tok).kind = ((TokKind_PvpTf9b5cBhdKx1DK5Ed3dg) 2);
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = ((NU8)(buf[pos]) == (NU8)(34));
		if (!(T3_)) goto LA4_;
		T3_ = ((NU8)(buf[(NI)(pos + ((NI) 1))]) == (NU8)(34));
		LA4_: ;
		if (!T3_) goto LA5_;
		pos += ((NI) 2);
		pos = handleCRLF_aTSjoKixs63H4oDAFX9bRHQ(c, pos);
		buf = (*c).Sup.buf;
		{
			while (1) {
				switch (((NU8)(buf[pos]))) {
				case 34:
				{
					{
						NIM_BOOL T12_;
						T12_ = (NIM_BOOL)0;
						T12_ = ((NU8)(buf[(NI)(pos + ((NI) 1))]) == (NU8)(34));
						if (!(T12_)) goto LA13_;
						T12_ = ((NU8)(buf[(NI)(pos + ((NI) 2))]) == (NU8)(34));
						LA13_: ;
						if (!T12_) goto LA14_;
						goto LA7;
					}
					LA14_: ;
					(*tok).literal = addChar((*tok).literal, 34);
					pos += ((NI) 1);
				}
				break;
				case 13:
				case 10:
				{
					pos = handleCRLF_aTSjoKixs63H4oDAFX9bRHQ(c, pos);
					buf = (*c).Sup.buf;
					(*tok).literal = nimrtl_resizeString((*tok).literal, 1);
appendString((*tok).literal, ((NimStringDesc*) &TM_M7YvT9b1Jc1B2TU2FUEf9cHQ_13));
				}
				break;
				case 0:
				{
					(*tok).kind = ((TokKind_PvpTf9b5cBhdKx1DK5Ed3dg) 0);
					goto LA7;
				}
				break;
				default:
				{
					(*tok).literal = addChar((*tok).literal, buf[pos]);
					pos += ((NI) 1);
				}
				break;
				}
			}
		} LA7: ;
		(*c).Sup.bufpos = (NI)(pos + ((NI) 3));
	}
	goto LA1_;
	LA5_: ;
	{
		{
			while (1) {
				NIM_CHAR ch;
				ch = buf[pos];
				{
					if (!((NU8)(ch) == (NU8)(34))) goto LA24_;
					pos += ((NI) 1);
					goto LA20;
				}
				LA24_: ;
				{
					if (!(((NU8)(ch)) == ((NU8)(13)) || ((NU8)(ch)) == ((NU8)(10)) || ((NU8)(ch)) == ((NU8)(0)))) goto LA28_;
					(*tok).kind = ((TokKind_PvpTf9b5cBhdKx1DK5Ed3dg) 0);
					goto LA20;
				}
				LA28_: ;
				{
					NIM_BOOL T32_;
					T32_ = (NIM_BOOL)0;
					T32_ = ((NU8)(ch) == (NU8)(92));
					if (!(T32_)) goto LA33_;
					T32_ = !(rawMode);
					LA33_: ;
					if (!T32_) goto LA34_;
					(*c).Sup.bufpos = pos;
					getEscapedChar_oP5V5zBaqBvjlLHmM9aR5HQ(c, tok);
					pos = (*c).Sup.bufpos;
				}
				goto LA30_;
				LA34_: ;
				{
					(*tok).literal = addChar((*tok).literal, ch);
					pos += ((NI) 1);
				}
				LA30_: ;
			}
		} LA20: ;
		(*c).Sup.bufpos = pos;
	}
	LA1_: ;
}

N_NIMCALL(void, getSymbol_oP5V5zBaqBvjlLHmM9aR5HQ_2)(CfgParser_w8XFEe9aT1CBajTOt4fsMRA* c, Token_yWkcM1ijvGYnxTAxtl3FPw* tok) {
	NI pos;
	NCSTRING buf;
	pos = (*c).Sup.bufpos;
	buf = (*c).Sup.buf;
	{
		while (1) {
			(*tok).literal = addChar((*tok).literal, buf[pos]);
			pos += ((NI) 1);
			{
				if (!!(((TM_M7YvT9b1Jc1B2TU2FUEf9cHQ_14[(NU)(((NU8)(buf[pos])))>>3] &(1U<<((NU)(((NU8)(buf[pos])))&7U)))!=0))) goto LA5_;
				goto LA1;
			}
			LA5_: ;
		}
	} LA1: ;
	(*c).Sup.bufpos = pos;
	(*tok).kind = ((TokKind_PvpTf9b5cBhdKx1DK5Ed3dg) 2);
}

N_NIMCALL(void, rawGetTok_O0TCNNdqmVst7YIKcVHcOQ)(CfgParser_w8XFEe9aT1CBajTOt4fsMRA* c, Token_yWkcM1ijvGYnxTAxtl3FPw* tok) {
	(*tok).kind = ((TokKind_PvpTf9b5cBhdKx1DK5Ed3dg) 0);
	(*tok).literal = nimrtl_setLengthStr((*tok).literal, ((NI) 0));
	skip_AhN1A1FuhHZh69aN9cg2Os9cA(c);
	switch (((NU8)((*c).Sup.buf[(*c).Sup.bufpos]))) {
	case 61:
	{
		(*tok).kind = ((TokKind_PvpTf9b5cBhdKx1DK5Ed3dg) 3);
		(*c).Sup.bufpos += ((NI) 1);
		unsureAsgnRef((void**) (&(*tok).literal), nimrtl_copyString(((NimStringDesc*) &TM_M7YvT9b1Jc1B2TU2FUEf9cHQ_10)));
	}
	break;
	case 45:
	{
		(*c).Sup.bufpos += ((NI) 1);
		{
			if (!((NU8)((*c).Sup.buf[(*c).Sup.bufpos]) == (NU8)(45))) goto LA5_;
			(*c).Sup.bufpos += ((NI) 1);
		}
		LA5_: ;
		(*tok).kind = ((TokKind_PvpTf9b5cBhdKx1DK5Ed3dg) 7);
		unsureAsgnRef((void**) (&(*tok).literal), nimrtl_copyString(((NimStringDesc*) &TM_M7YvT9b1Jc1B2TU2FUEf9cHQ_11)));
	}
	break;
	case 58:
	{
		(*tok).kind = ((TokKind_PvpTf9b5cBhdKx1DK5Ed3dg) 4);
		(*c).Sup.bufpos += ((NI) 1);
		unsureAsgnRef((void**) (&(*tok).literal), nimrtl_copyString(((NimStringDesc*) &TM_M7YvT9b1Jc1B2TU2FUEf9cHQ_12)));
	}
	break;
	case 114:
	case 82:
	{
		{
			if (!((NU8)((*c).Sup.buf[(NI)((*c).Sup.bufpos + ((NI) 1))]) == (NU8)(34))) goto LA11_;
			(*c).Sup.bufpos += ((NI) 1);
			getString_kPdxas01T9chtV9cOXL7akew(c, tok, NIM_TRUE);
		}
		goto LA9_;
		LA11_: ;
		{
			getSymbol_oP5V5zBaqBvjlLHmM9aR5HQ_2(c, tok);
		}
		LA9_: ;
	}
	break;
	case 91:
	{
		(*tok).kind = ((TokKind_PvpTf9b5cBhdKx1DK5Ed3dg) 5);
		(*c).Sup.bufpos += ((NI) 1);
		unsureAsgnRef((void**) (&(*tok).literal), nimrtl_copyString(((NimStringDesc*) &TM_M7YvT9b1Jc1B2TU2FUEf9cHQ_15)));
	}
	break;
	case 93:
	{
		(*tok).kind = ((TokKind_PvpTf9b5cBhdKx1DK5Ed3dg) 6);
		(*c).Sup.bufpos += ((NI) 1);
		unsureAsgnRef((void**) (&(*tok).literal), nimrtl_copyString(((NimStringDesc*) &TM_M7YvT9b1Jc1B2TU2FUEf9cHQ_15)));
	}
	break;
	case 34:
	{
		getString_kPdxas01T9chtV9cOXL7akew(c, tok, NIM_FALSE);
	}
	break;
	case 0:
	{
		(*tok).kind = ((TokKind_PvpTf9b5cBhdKx1DK5Ed3dg) 1);
		unsureAsgnRef((void**) (&(*tok).literal), nimrtl_copyString(((NimStringDesc*) &TM_M7YvT9b1Jc1B2TU2FUEf9cHQ_16)));
	}
	break;
	default:
	{
		getSymbol_oP5V5zBaqBvjlLHmM9aR5HQ_2(c, tok);
	}
	break;
	}
}

N_NIMCALL(void, getKeyValPair_wU9bLoPwmfHqL352Lwkk0kA)(CfgParser_w8XFEe9aT1CBajTOt4fsMRA* c, CfgEventKind_f0xwqI11H3rviaTXvjDJug kind, CfgEvent_IQQt9ctNcwhKRKuCzK6Mm3Q* Result) {
	{
		if (!((*c).tok.kind == ((TokKind_PvpTf9b5cBhdKx1DK5Ed3dg) 2))) goto LA3_;
		(*Result).kind = kind;
		unsureAsgnRef((void**) (&(*Result).kindU.S3.key), nimrtl_copyString((*c).tok.literal));
		unsureAsgnRef((void**) (&(*Result).kindU.S3.value), nimrtl_copyString(((NimStringDesc*) &TM_M7YvT9b1Jc1B2TU2FUEf9cHQ_3)));
		rawGetTok_O0TCNNdqmVst7YIKcVHcOQ(c, (&(*c).tok));
		{
			if (!((24 &(1U<<((NU)((*c).tok.kind)&7U)))!=0)) goto LA7_;
			rawGetTok_O0TCNNdqmVst7YIKcVHcOQ(c, (&(*c).tok));
			{
				if (!((*c).tok.kind == ((TokKind_PvpTf9b5cBhdKx1DK5Ed3dg) 2))) goto LA11_;
				unsureAsgnRef((void**) (&(*Result).kindU.S3.value), nimrtl_copyString((*c).tok.literal));
			}
			goto LA9_;
			LA11_: ;
			{
				NimStringDesc* T14_;
				genericReset((void*)Result, (&NTI_IQQt9ctNcwhKRKuCzK6Mm3Q_));
				(*Result).kind = ((CfgEventKind_f0xwqI11H3rviaTXvjDJug) 4);
				T14_ = (NimStringDesc*)0;
				T14_ = rawNewString((*c).tok.literal->Sup.len + 28);
appendString(T14_, ((NimStringDesc*) &TM_M7YvT9b1Jc1B2TU2FUEf9cHQ_21));
appendString(T14_, (*c).tok.literal);
				unsureAsgnRef((void**) (&(*Result).kindU.S4.msg), npcerrorStr((&(*c)), T14_));
			}
			LA9_: ;
			rawGetTok_O0TCNNdqmVst7YIKcVHcOQ(c, (&(*c).tok));
		}
		LA7_: ;
	}
	goto LA1_;
	LA3_: ;
	{
		NimStringDesc* T16_;
		(*Result).kind = ((CfgEventKind_f0xwqI11H3rviaTXvjDJug) 4);
		T16_ = (NimStringDesc*)0;
		T16_ = rawNewString((*c).tok.literal->Sup.len + 28);
appendString(T16_, ((NimStringDesc*) &TM_M7YvT9b1Jc1B2TU2FUEf9cHQ_21));
appendString(T16_, (*c).tok.literal);
		unsureAsgnRef((void**) (&(*Result).kindU.S4.msg), npcerrorStr((&(*c)), T16_));
		rawGetTok_O0TCNNdqmVst7YIKcVHcOQ(c, (&(*c).tok));
	}
	LA1_: ;
}

N_LIB_EXPORT N_CDECL(void, npcnext)(CfgParser_w8XFEe9aT1CBajTOt4fsMRA* c, CfgEvent_IQQt9ctNcwhKRKuCzK6Mm3Q* Result) {
	switch ((*c).tok.kind) {
	case ((TokKind_PvpTf9b5cBhdKx1DK5Ed3dg) 1):
	{
		(*Result).kind = ((CfgEventKind_f0xwqI11H3rviaTXvjDJug) 0);
	}
	break;
	case ((TokKind_PvpTf9b5cBhdKx1DK5Ed3dg) 7):
	{
		rawGetTok_O0TCNNdqmVst7YIKcVHcOQ(c, (&(*c).tok));
		chckNil((void*)Result);
		genericReset((void*)Result, (&NTI_IQQt9ctNcwhKRKuCzK6Mm3Q_));
		(*Result).Sup.m_type = (&NTI_IQQt9ctNcwhKRKuCzK6Mm3Q_);
		getKeyValPair_wU9bLoPwmfHqL352Lwkk0kA(c, ((CfgEventKind_f0xwqI11H3rviaTXvjDJug) 3), Result);
	}
	break;
	case ((TokKind_PvpTf9b5cBhdKx1DK5Ed3dg) 2):
	{
		chckNil((void*)Result);
		genericReset((void*)Result, (&NTI_IQQt9ctNcwhKRKuCzK6Mm3Q_));
		(*Result).Sup.m_type = (&NTI_IQQt9ctNcwhKRKuCzK6Mm3Q_);
		getKeyValPair_wU9bLoPwmfHqL352Lwkk0kA(c, ((CfgEventKind_f0xwqI11H3rviaTXvjDJug) 2), Result);
	}
	break;
	case ((TokKind_PvpTf9b5cBhdKx1DK5Ed3dg) 5):
	{
		rawGetTok_O0TCNNdqmVst7YIKcVHcOQ(c, (&(*c).tok));
		{
			if (!((*c).tok.kind == ((TokKind_PvpTf9b5cBhdKx1DK5Ed3dg) 2))) goto LA7_;
			(*Result).kind = ((CfgEventKind_f0xwqI11H3rviaTXvjDJug) 1);
			unsureAsgnRef((void**) (&(*Result).kindU.S2.section), nimrtl_copyString((*c).tok.literal));
		}
		goto LA5_;
		LA7_: ;
		{
			NimStringDesc* T10_;
			(*Result).kind = ((CfgEventKind_f0xwqI11H3rviaTXvjDJug) 4);
			T10_ = (NimStringDesc*)0;
			T10_ = rawNewString((*c).tok.literal->Sup.len + 28);
appendString(T10_, ((NimStringDesc*) &TM_M7YvT9b1Jc1B2TU2FUEf9cHQ_21));
appendString(T10_, (*c).tok.literal);
			unsureAsgnRef((void**) (&(*Result).kindU.S4.msg), npcerrorStr((&(*c)), T10_));
		}
		LA5_: ;
		rawGetTok_O0TCNNdqmVst7YIKcVHcOQ(c, (&(*c).tok));
		{
			if (!((*c).tok.kind == ((TokKind_PvpTf9b5cBhdKx1DK5Ed3dg) 6))) goto LA13_;
			rawGetTok_O0TCNNdqmVst7YIKcVHcOQ(c, (&(*c).tok));
		}
		goto LA11_;
		LA13_: ;
		{
			NimStringDesc* T16_;
			genericReset((void*)Result, (&NTI_IQQt9ctNcwhKRKuCzK6Mm3Q_));
			(*Result).kind = ((CfgEventKind_f0xwqI11H3rviaTXvjDJug) 4);
			T16_ = (NimStringDesc*)0;
			T16_ = rawNewString((*c).tok.literal->Sup.len + 25);
appendString(T16_, ((NimStringDesc*) &TM_M7YvT9b1Jc1B2TU2FUEf9cHQ_22));
appendString(T16_, (*c).tok.literal);
			unsureAsgnRef((void**) (&(*Result).kindU.S4.msg), npcerrorStr((&(*c)), T16_));
		}
		LA11_: ;
	}
	break;
	case ((TokKind_PvpTf9b5cBhdKx1DK5Ed3dg) 0):
	case ((TokKind_PvpTf9b5cBhdKx1DK5Ed3dg) 3):
	case ((TokKind_PvpTf9b5cBhdKx1DK5Ed3dg) 4):
	case ((TokKind_PvpTf9b5cBhdKx1DK5Ed3dg) 6):
	{
		NimStringDesc* T18_;
		(*Result).kind = ((CfgEventKind_f0xwqI11H3rviaTXvjDJug) 4);
		T18_ = (NimStringDesc*)0;
		T18_ = rawNewString((*c).tok.literal->Sup.len + 15);
appendString(T18_, ((NimStringDesc*) &TM_M7YvT9b1Jc1B2TU2FUEf9cHQ_23));
appendString(T18_, (*c).tok.literal);
		unsureAsgnRef((void**) (&(*Result).kindU.S4.msg), npcerrorStr((&(*c)), T18_));
		rawGetTok_O0TCNNdqmVst7YIKcVHcOQ(c, (&(*c).tok));
	}
	break;
	}
}
NIM_EXTERNC N_NOINLINE(void, stdlib_parsecfgInit000)(void) {
}

NIM_EXTERNC N_NOINLINE(void, stdlib_parsecfgDatInit000)(void) {
static TNimNode* TM_M7YvT9b1Jc1B2TU2FUEf9cHQ_17[5];
NI TM_M7YvT9b1Jc1B2TU2FUEf9cHQ_19;
static char* NIM_CONST TM_M7YvT9b1Jc1B2TU2FUEf9cHQ_18[5] = {
"cfgEof", 
"cfgSectionStart", 
"cfgKeyValuePair", 
"cfgOption", 
"cfgError"};
static TNimNode* TM_M7YvT9b1Jc1B2TU2FUEf9cHQ_20[2];
static TNimNode TM_M7YvT9b1Jc1B2TU2FUEf9cHQ_0[13];
NTI_IQQt9ctNcwhKRKuCzK6Mm3Q_.size = sizeof(CfgEvent_IQQt9ctNcwhKRKuCzK6Mm3Q);
NTI_IQQt9ctNcwhKRKuCzK6Mm3Q_.kind = 17;
NTI_IQQt9ctNcwhKRKuCzK6Mm3Q_.base = (&NTI_13RNkKqUOX1TtorOUlKtqA_);
NTI_f0xwqI11H3rviaTXvjDJug_.size = sizeof(CfgEventKind_f0xwqI11H3rviaTXvjDJug);
NTI_f0xwqI11H3rviaTXvjDJug_.kind = 14;
NTI_f0xwqI11H3rviaTXvjDJug_.base = 0;
NTI_f0xwqI11H3rviaTXvjDJug_.flags = 3;
for (TM_M7YvT9b1Jc1B2TU2FUEf9cHQ_19 = 0; TM_M7YvT9b1Jc1B2TU2FUEf9cHQ_19 < 5; TM_M7YvT9b1Jc1B2TU2FUEf9cHQ_19++) {
TM_M7YvT9b1Jc1B2TU2FUEf9cHQ_0[TM_M7YvT9b1Jc1B2TU2FUEf9cHQ_19+1].kind = 1;
TM_M7YvT9b1Jc1B2TU2FUEf9cHQ_0[TM_M7YvT9b1Jc1B2TU2FUEf9cHQ_19+1].offset = TM_M7YvT9b1Jc1B2TU2FUEf9cHQ_19;
TM_M7YvT9b1Jc1B2TU2FUEf9cHQ_0[TM_M7YvT9b1Jc1B2TU2FUEf9cHQ_19+1].name = TM_M7YvT9b1Jc1B2TU2FUEf9cHQ_18[TM_M7YvT9b1Jc1B2TU2FUEf9cHQ_19];
TM_M7YvT9b1Jc1B2TU2FUEf9cHQ_17[TM_M7YvT9b1Jc1B2TU2FUEf9cHQ_19] = &TM_M7YvT9b1Jc1B2TU2FUEf9cHQ_0[TM_M7YvT9b1Jc1B2TU2FUEf9cHQ_19+1];
}
TM_M7YvT9b1Jc1B2TU2FUEf9cHQ_0[6].len = 5; TM_M7YvT9b1Jc1B2TU2FUEf9cHQ_0[6].kind = 2; TM_M7YvT9b1Jc1B2TU2FUEf9cHQ_0[6].sons = &TM_M7YvT9b1Jc1B2TU2FUEf9cHQ_17[0];
NTI_f0xwqI11H3rviaTXvjDJug_.node = &TM_M7YvT9b1Jc1B2TU2FUEf9cHQ_0[6];
TM_M7YvT9b1Jc1B2TU2FUEf9cHQ_0[0].kind = 3;
TM_M7YvT9b1Jc1B2TU2FUEf9cHQ_0[0].offset = offsetof(CfgEvent_IQQt9ctNcwhKRKuCzK6Mm3Q, kind);
TM_M7YvT9b1Jc1B2TU2FUEf9cHQ_0[0].typ = (&NTI_f0xwqI11H3rviaTXvjDJug_);
TM_M7YvT9b1Jc1B2TU2FUEf9cHQ_0[0].name = "kind";
TM_M7YvT9b1Jc1B2TU2FUEf9cHQ_0[0].sons = &NimDT__IQQt9ctNcwhKRKuCzK6Mm3Q_kind[0];
TM_M7YvT9b1Jc1B2TU2FUEf9cHQ_0[0].len = 5;
TM_M7YvT9b1Jc1B2TU2FUEf9cHQ_0[7].len = 0; TM_M7YvT9b1Jc1B2TU2FUEf9cHQ_0[7].kind = 2;
NimDT__IQQt9ctNcwhKRKuCzK6Mm3Q_kind[0] = &TM_M7YvT9b1Jc1B2TU2FUEf9cHQ_0[7];
TM_M7YvT9b1Jc1B2TU2FUEf9cHQ_0[8].kind = 1;
TM_M7YvT9b1Jc1B2TU2FUEf9cHQ_0[8].offset = offsetof(CfgEvent_IQQt9ctNcwhKRKuCzK6Mm3Q, kindU.S2.section);
TM_M7YvT9b1Jc1B2TU2FUEf9cHQ_0[8].typ = (&NTI_77mFvmsOLKik79ci2hXkHEg_);
TM_M7YvT9b1Jc1B2TU2FUEf9cHQ_0[8].name = "section";
NimDT__IQQt9ctNcwhKRKuCzK6Mm3Q_kind[1] = &TM_M7YvT9b1Jc1B2TU2FUEf9cHQ_0[8];
TM_M7YvT9b1Jc1B2TU2FUEf9cHQ_20[0] = &TM_M7YvT9b1Jc1B2TU2FUEf9cHQ_0[10];
TM_M7YvT9b1Jc1B2TU2FUEf9cHQ_0[10].kind = 1;
TM_M7YvT9b1Jc1B2TU2FUEf9cHQ_0[10].offset = offsetof(CfgEvent_IQQt9ctNcwhKRKuCzK6Mm3Q, kindU.S3.key);
TM_M7YvT9b1Jc1B2TU2FUEf9cHQ_0[10].typ = (&NTI_77mFvmsOLKik79ci2hXkHEg_);
TM_M7YvT9b1Jc1B2TU2FUEf9cHQ_0[10].name = "key";
TM_M7YvT9b1Jc1B2TU2FUEf9cHQ_20[1] = &TM_M7YvT9b1Jc1B2TU2FUEf9cHQ_0[11];
TM_M7YvT9b1Jc1B2TU2FUEf9cHQ_0[11].kind = 1;
TM_M7YvT9b1Jc1B2TU2FUEf9cHQ_0[11].offset = offsetof(CfgEvent_IQQt9ctNcwhKRKuCzK6Mm3Q, kindU.S3.value);
TM_M7YvT9b1Jc1B2TU2FUEf9cHQ_0[11].typ = (&NTI_77mFvmsOLKik79ci2hXkHEg_);
TM_M7YvT9b1Jc1B2TU2FUEf9cHQ_0[11].name = "value";
TM_M7YvT9b1Jc1B2TU2FUEf9cHQ_0[9].len = 2; TM_M7YvT9b1Jc1B2TU2FUEf9cHQ_0[9].kind = 2; TM_M7YvT9b1Jc1B2TU2FUEf9cHQ_0[9].sons = &TM_M7YvT9b1Jc1B2TU2FUEf9cHQ_20[0];
NimDT__IQQt9ctNcwhKRKuCzK6Mm3Q_kind[2] = &TM_M7YvT9b1Jc1B2TU2FUEf9cHQ_0[9];
NimDT__IQQt9ctNcwhKRKuCzK6Mm3Q_kind[3] = &TM_M7YvT9b1Jc1B2TU2FUEf9cHQ_0[9];
TM_M7YvT9b1Jc1B2TU2FUEf9cHQ_0[12].kind = 1;
TM_M7YvT9b1Jc1B2TU2FUEf9cHQ_0[12].offset = offsetof(CfgEvent_IQQt9ctNcwhKRKuCzK6Mm3Q, kindU.S4.msg);
TM_M7YvT9b1Jc1B2TU2FUEf9cHQ_0[12].typ = (&NTI_77mFvmsOLKik79ci2hXkHEg_);
TM_M7YvT9b1Jc1B2TU2FUEf9cHQ_0[12].name = "msg";
NimDT__IQQt9ctNcwhKRKuCzK6Mm3Q_kind[4] = &TM_M7YvT9b1Jc1B2TU2FUEf9cHQ_0[12];
NTI_IQQt9ctNcwhKRKuCzK6Mm3Q_.node = &TM_M7YvT9b1Jc1B2TU2FUEf9cHQ_0[0];
}

