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

#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
#define nimfr_(x, y)
#define nimln_(x, y)
typedef struct TNimType TNimType;
typedef struct TNimNode TNimNode;
typedef struct NimStringDesc NimStringDesc;
typedef struct TGenericSeq TGenericSeq;
typedef struct tyObject_GeneralTokenizer_XJrmQSLLjVmugZQb54lVWA tyObject_GeneralTokenizer_XJrmQSLLjVmugZQb54lVWA;
typedef struct RootObj RootObj;
typedef struct tyObject_HSlice_W9bFyTswleIcLt1mZvoSZPg tyObject_HSlice_W9bFyTswleIcLt1mZvoSZPg;
typedef NU8 tyEnum_SourceLanguage_LpbEPkKqvJ0VCa4hwZcOBQ;
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;
tyEnum_TNimKind_jIBKr1ejBgsfM33Kxw4j7A kind;
tySet_tyEnum_TNimTypeFlag_v8QUszD1sWlSIWZz7mC4bQ flags;
TNimType* base;
TNimNode* node;
void* finalizer;
tyProc_ojoeKfW4VYIm36I9cpDTQIg marker;
tyProc_WSm2xU5ARYv9aAR4l0z9c9auQ deepcopy;
};
struct TGenericSeq {
NI len;
NI reserved;
};
struct NimStringDesc {
  TGenericSeq Sup;
NIM_CHAR data[SEQ_DECL_SIZE];
};
typedef NimStringDesc* tyArray_CchsCKVbWNDjfQ2XsaO6Aw[7];
typedef NU8 tyEnum_TNimNodeKind_unfNsxrcATrufDZmpBq4HQ;
struct TNimNode {
tyEnum_TNimNodeKind_unfNsxrcATrufDZmpBq4HQ kind;
NI offset;
TNimType* typ;
NCSTRING name;
NI len;
TNimNode** sons;
};
struct RootObj {
TNimType* m_type;
};
typedef NU8 tyEnum_TokenClass_UcAPDGzMlzghdb9c8MB7mEw;
struct tyObject_GeneralTokenizer_XJrmQSLLjVmugZQb54lVWA {
  RootObj Sup;
tyEnum_TokenClass_UcAPDGzMlzghdb9c8MB7mEw kind;
NI start;
NI length;
NCSTRING buf;
NI pos;
tyEnum_TokenClass_UcAPDGzMlzghdb9c8MB7mEw state;
};
typedef NimStringDesc* tyArray_69aRiN1hTPxpIUrdnUY5lOQ[66];
typedef NU8 tySet_tyChar_nmiMWKVIe46vacnhAFrQvw[32];
typedef NU8 tySet_tyEnum_TokenizerFlag_0rxT9beFrYOPADukozRvVEQ;
typedef NU8 tyEnum_TokenizerFlag_0rxT9beFrYOPADukozRvVEQ;
typedef NimStringDesc* tyArray_DcKV5FQ2MxTR9bAYNreBB4Q[48];
typedef NimStringDesc* tyArray_OwCxYRmtgMKzqrKp2A6M8Q[77];
typedef NimStringDesc* tyArray_Mn6yIkpRDoQkgQ9aOesXlyg[37];
typedef NimStringDesc* tyArray_kpoXEkaxs1Wz00XTehsEvg[53];
struct tyObject_HSlice_W9bFyTswleIcLt1mZvoSZPg {
NIM_CHAR a;
NIM_CHAR b;
};
typedef NimStringDesc* tyArray_b121gTFK3KCOh1bfQWQzTw[33];
static N_INLINE(NI, chckRange)(NI i, NI a, NI b);
N_NOINLINE(void, raiseRangeError)(NI64 val);
N_LIB_PRIVATE N_NIMCALL(NI, nsuCmpIgnoreStyle)(NimStringDesc* a, NimStringDesc* b);
static N_INLINE(NI, addInt)(NI a, NI b);
N_NOINLINE(void, raiseOverflow)(void);
N_LIB_PRIVATE N_NIMCALL(void, initGeneralTokenizer_vLNovrBjlMTTAgzZMynI5A)(tyObject_GeneralTokenizer_XJrmQSLLjVmugZQb54lVWA* g, NCSTRING buf);
static N_INLINE(NCSTRING, nimToCStringConv)(NimStringDesc* s);
N_LIB_PRIVATE N_NIMCALL(void, failedAssertImpl_W9cjVocn1tjhW7p7xohJj6A)(NimStringDesc* msg);
N_LIB_PRIVATE N_NIMCALL(void, nimNextToken_9a3JlWX9cxQaYCTvq9c0xqGpQ)(tyObject_GeneralTokenizer_XJrmQSLLjVmugZQb54lVWA* g);
static N_INLINE(NI, subInt)(NI a, NI b);
N_NIMCALL(NimStringDesc*, addChar)(NimStringDesc* s, NIM_CHAR c);
N_LIB_PRIVATE N_NIMCALL(tyEnum_TokenClass_UcAPDGzMlzghdb9c8MB7mEw, nimGetKeyword_mH8PHPrBsIUgvMaeNJImeQ)(NimStringDesc* id);
N_NIMCALL(NimStringDesc*, copyString)(NimStringDesc* src);
N_LIB_PRIVATE N_NIMCALL(NI, nimNumberPostfix_CqreDYIuS6DczqYAdz9afyQ)(tyObject_GeneralTokenizer_XJrmQSLLjVmugZQb54lVWA* g, NI position);
N_LIB_PRIVATE N_NIMCALL(NI, nimNumber_CqreDYIuS6DczqYAdz9afyQ_2)(tyObject_GeneralTokenizer_XJrmQSLLjVmugZQb54lVWA* g, NI position);
N_LIB_PRIVATE N_NIMCALL(void, cppNextToken_9a3JlWX9cxQaYCTvq9c0xqGpQ_2)(tyObject_GeneralTokenizer_XJrmQSLLjVmugZQb54lVWA* g);
N_LIB_PRIVATE N_NIMCALL(void, clikeNextToken_L8t1qBucomXxnIP2FCz8cA)(tyObject_GeneralTokenizer_XJrmQSLLjVmugZQb54lVWA* g, NimStringDesc** keywords, NI keywordsLen_0, tySet_tyEnum_TokenizerFlag_0rxT9beFrYOPADukozRvVEQ flags);
N_LIB_PRIVATE N_NIMCALL(NI, isKeyword_w2E4F9aQzmLEEAZ3M1m52ZA)(NimStringDesc** x, NI xLen_0, NimStringDesc* y);
N_LIB_PRIVATE N_NIMCALL(NI, binarySearch_wa1aY9bsuTdXtbdvM9apunWQ)(NimStringDesc** a, NI aLen_0, NimStringDesc* key);
N_LIB_PRIVATE N_NIMCALL(NI, generalNumber_CqreDYIuS6DczqYAdz9afyQ_3)(tyObject_GeneralTokenizer_XJrmQSLLjVmugZQb54lVWA* g, NI position);
N_LIB_PRIVATE N_NIMCALL(NI, generalStrLit_CqreDYIuS6DczqYAdz9afyQ_4)(tyObject_GeneralTokenizer_XJrmQSLLjVmugZQb54lVWA* g, NI position);
N_LIB_PRIVATE N_NIMCALL(void, csharpNextToken_9a3JlWX9cxQaYCTvq9c0xqGpQ_3)(tyObject_GeneralTokenizer_XJrmQSLLjVmugZQb54lVWA* g);
N_LIB_PRIVATE N_NIMCALL(void, cNextToken_9a3JlWX9cxQaYCTvq9c0xqGpQ_4)(tyObject_GeneralTokenizer_XJrmQSLLjVmugZQb54lVWA* g);
N_LIB_PRIVATE N_NIMCALL(void, javaNextToken_9a3JlWX9cxQaYCTvq9c0xqGpQ_5)(tyObject_GeneralTokenizer_XJrmQSLLjVmugZQb54lVWA* g);
N_LIB_PRIVATE N_NIMCALL(void, yamlNextToken_9a3JlWX9cxQaYCTvq9c0xqGpQ_6)(tyObject_GeneralTokenizer_XJrmQSLLjVmugZQb54lVWA* g);
N_LIB_PRIVATE N_NIMCALL(void, yamlPossibleNumber_ttGpPUa5Kch9bqZf8mE4Niw)(tyObject_GeneralTokenizer_XJrmQSLLjVmugZQb54lVWA* g, NI* pos);
static N_INLINE(NIM_BOOL, contains_gQgU7tFetrsWh7D678FByQsystem)(tyObject_HSlice_W9bFyTswleIcLt1mZvoSZPg s, NIM_CHAR value);
static N_INLINE(tyObject_HSlice_W9bFyTswleIcLt1mZvoSZPg, dotdot__TrbQSUU3S4iYrxrnSGCImgsystem)(NIM_CHAR a, NIM_CHAR b);
static N_INLINE(void, nimZeroMem)(void* p, NI size);
static N_INLINE(void, nimSetMem_zxfKBYntu9cBapkhrCOk1fgmemory)(void* a, int v, NI size);
N_NOINLINE(void, chckNil)(void* p);
N_LIB_PRIVATE N_NIMCALL(void, yamlPlainStrLit_ttGpPUa5Kch9bqZf8mE4Niw_2)(tyObject_GeneralTokenizer_XJrmQSLLjVmugZQb54lVWA* g, NI* pos);
TNimType NTI_LpbEPkKqvJ0VCa4hwZcOBQ_;
extern TNimType NTI_ytyiCJqK439aF9cIibuRVpAg_;
TNimType NTI_XJrmQSLLjVmugZQb54lVWA_;
TNimType NTI_UcAPDGzMlzghdb9c8MB7mEw_;
extern TNimType NTI_rR5Bzr1D5krxoo1NcNyeMA_;
extern TNimType NTI_S9agCYBinaYZnGWcjTdxclg_;
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_5, "none", 4);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_6, "Nim", 3);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_7, "C++", 3);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_8, "C#", 2);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_9, "C", 1);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_10, "Java", 4);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_11, "Yaml", 4);
NIM_CONST tyArray_CchsCKVbWNDjfQ2XsaO6Aw sourceLanguageToStr_HxGhuVvqzgyr9b5gK42kE9aw = {((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_5),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_6),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_7),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_8),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_9),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_10),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_11)}
;
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_18, "/Users/travis/build/nim-lang/nightlies/nim/e7471cebae2a404f3e42"
"39f199f5a0c422484aac/lib/packages/docutils/highlite.nim(868, 23)"
" `false` ", 136);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_59, "addr", 4);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_60, "and", 3);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_61, "as", 2);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_62, "asm", 3);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_63, "bind", 4);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_64, "block", 5);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_65, "break", 5);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_66, "case", 4);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_67, "cast", 4);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_68, "concept", 7);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_69, "const", 5);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_70, "continue", 8);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_71, "converter", 9);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_72, "defer", 5);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_73, "discard", 7);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_74, "distinct", 8);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_75, "div", 3);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_76, "do", 2);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_77, "elif", 4);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_78, "else", 4);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_79, "end", 3);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_80, "enum", 4);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_81, "except", 6);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_82, "export", 6);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_83, "finally", 7);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_84, "for", 3);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_85, "from", 4);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_86, "func", 4);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_87, "if", 2);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_88, "import", 6);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_89, "in", 2);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_90, "include", 7);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_91, "interface", 9);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_92, "is", 2);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_93, "isnot", 5);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_94, "iterator", 8);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_95, "let", 3);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_96, "macro", 5);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_97, "method", 6);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_98, "mixin", 5);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_99, "mod", 3);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_100, "nil", 3);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_101, "not", 3);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_102, "notin", 5);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_103, "object", 6);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_104, "of", 2);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_105, "or", 2);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_106, "out", 3);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_107, "proc", 4);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_108, "ptr", 3);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_109, "raise", 5);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_110, "ref", 3);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_111, "return", 6);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_112, "shl", 3);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_113, "shr", 3);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_114, "static", 6);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_115, "template", 8);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_116, "try", 3);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_117, "tuple", 5);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_118, "type", 4);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_119, "using", 5);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_120, "var", 3);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_121, "when", 4);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_122, "while", 5);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_123, "xor", 3);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_124, "yield", 5);
NIM_CONST tyArray_69aRiN1hTPxpIUrdnUY5lOQ nimKeywords_AdQLeNn8tyS9cszL4XF4IRA = {((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_59),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_60),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_61),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_62),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_63),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_64),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_65),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_66),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_67),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_68),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_69),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_70),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_71),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_72),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_73),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_74),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_75),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_76),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_77),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_78),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_79),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_80),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_81),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_82),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_83),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_84),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_85),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_86),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_87),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_88),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_89),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_90),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_91),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_92),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_93),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_94),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_95),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_96),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_97),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_98),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_99),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_100),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_101),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_102),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_103),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_104),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_105),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_106),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_107),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_108),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_109),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_110),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_111),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_112),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_113),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_114),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_115),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_116),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_117),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_118),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_119),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_120),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_121),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_122),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_123),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_124)}
;
static NIM_CONST tySet_tyChar_nmiMWKVIe46vacnhAFrQvw TM_fRGlRrO1fEGjCBV7qCKpgg_161 = {
0x00, 0x00, 0x00, 0x00, 0x72, 0xEC, 0x00, 0xF4,
0x01, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x50,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
;
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_165, "/Users/travis/build/nim-lang/nightlies/nim/e7471cebae2a404f3e42"
"39f199f5a0c422484aac/lib/packages/docutils/highlite.nim(319, 12)"
" `false` nimNextToken: produced an empty token", 173);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_222, "/Users/travis/build/nim-lang/nightlies/nim/e7471cebae2a404f3e42"
"39f199f5a0c422484aac/lib/packages/docutils/highlite.nim(512, 12)"
" `false` clikeNextToken: produced an empty token", 175);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_224, "auto", 4);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_225, "catch", 5);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_226, "char", 4);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_227, "class", 5);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_228, "default", 7);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_229, "delete", 6);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_230, "double", 6);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_231, "extern", 6);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_232, "float", 5);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_233, "friend", 6);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_234, "goto", 4);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_235, "inline", 6);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_236, "int", 3);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_237, "long", 4);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_238, "new", 3);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_239, "operator", 8);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_240, "private", 7);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_241, "protected", 9);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_242, "public", 6);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_243, "register", 8);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_244, "short", 5);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_245, "signed", 6);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_246, "sizeof", 6);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_247, "struct", 6);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_248, "switch", 6);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_249, "this", 4);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_250, "throw", 5);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_251, "typedef", 7);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_252, "union", 5);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_253, "unsigned", 8);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_254, "virtual", 7);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_255, "void", 4);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_256, "volatile", 8);
NIM_CONST tyArray_DcKV5FQ2MxTR9bAYNreBB4Q TM_fRGlRrO1fEGjCBV7qCKpgg_223 = {((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_62),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_224),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_65),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_66),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_225),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_226),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_227),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_69),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_70),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_228),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_229),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_76),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_230),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_78),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_80),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_231),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_232),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_84),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_233),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_234),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_87),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_235),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_236),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_237),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_238),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_239),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_240),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_241),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_242),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_243),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_111),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_244),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_245),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_246),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_114),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_247),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_248),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_115),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_249),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_250),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_116),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_251),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_252),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_253),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_254),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_255),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_256),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_122)}
;
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_258, "abstract", 8);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_259, "base", 4);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_260, "bool", 4);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_261, "byte", 4);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_262, "checked", 7);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_263, "decimal", 7);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_264, "delegate", 8);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_265, "event", 5);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_266, "explicit", 8);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_267, "false", 5);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_268, "fixed", 5);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_269, "foreach", 7);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_270, "implicit", 8);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_271, "internal", 8);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_272, "lock", 4);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_273, "namespace", 9);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_274, "null", 4);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_275, "override", 8);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_276, "params", 6);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_277, "readonly", 8);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_278, "sbyte", 5);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_279, "sealed", 6);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_280, "stackalloc", 10);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_281, "string", 6);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_282, "true", 4);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_283, "typeof", 6);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_284, "uint", 4);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_285, "ulong", 5);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_286, "unchecked", 9);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_287, "unsafe", 6);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_288, "ushort", 6);
NIM_CONST tyArray_OwCxYRmtgMKzqrKp2A6M8Q TM_fRGlRrO1fEGjCBV7qCKpgg_257 = {((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_258),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_61),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_259),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_260),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_65),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_261),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_66),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_225),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_226),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_262),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_227),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_69),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_70),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_263),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_228),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_264),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_76),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_230),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_78),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_80),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_265),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_266),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_231),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_267),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_83),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_268),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_232),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_84),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_269),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_234),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_87),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_270),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_89),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_236),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_91),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_271),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_92),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_272),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_237),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_273),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_238),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_274),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_103),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_239),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_106),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_275),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_276),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_240),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_241),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_242),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_277),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_110),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_111),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_278),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_279),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_244),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_246),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_280),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_114),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_281),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_247),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_248),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_249),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_250),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_282),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_116),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_283),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_284),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_285),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_286),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_287),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_288),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_119),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_254),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_255),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_256),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_122)}
;
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_290, "_Bool", 5);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_291, "_Complex", 8);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_292, "_Imaginary", 10);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_293, "restrict", 8);
NIM_CONST tyArray_Mn6yIkpRDoQkgQ9aOesXlyg TM_fRGlRrO1fEGjCBV7qCKpgg_289 = {((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_290),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_291),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_292),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_224),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_65),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_66),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_226),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_69),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_70),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_228),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_76),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_230),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_78),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_80),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_231),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_232),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_84),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_234),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_87),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_235),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_236),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_237),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_243),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_293),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_111),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_244),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_245),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_246),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_114),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_247),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_248),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_251),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_252),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_253),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_255),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_256),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_122)}
;
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_295, "assert", 6);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_296, "boolean", 7);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_297, "extends", 7);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_298, "final", 5);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_299, "implements", 10);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_300, "instanceof", 10);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_301, "native", 6);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_302, "package", 7);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_303, "strictfp", 8);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_304, "super", 5);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_305, "synchronized", 12);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_306, "throws", 6);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_307, "transient", 9);
NIM_CONST tyArray_kpoXEkaxs1Wz00XTehsEvg TM_fRGlRrO1fEGjCBV7qCKpgg_294 = {((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_258),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_295),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_296),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_65),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_261),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_66),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_225),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_226),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_227),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_69),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_70),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_228),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_76),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_230),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_78),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_80),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_297),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_267),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_298),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_83),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_232),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_84),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_234),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_87),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_299),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_88),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_300),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_236),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_91),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_237),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_301),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_238),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_274),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_302),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_240),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_241),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_242),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_111),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_244),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_114),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_303),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_304),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_248),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_305),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_249),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_250),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_306),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_307),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_282),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_116),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_255),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_256),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_122)}
;
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_327, "/Users/travis/build/nim-lang/nightlies/nim/e7471cebae2a404f3e42"
"39f199f5a0c422484aac/lib/packages/docutils/highlite.nim(689, 12)"
" `g.buf[pos] in {\'\\n\', \'\\c\'}` ", 157);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_330, "/Users/travis/build/nim-lang/nightlies/nim/e7471cebae2a404f3e42"
"39f199f5a0c422484aac/lib/packages/docutils/highlite.nim(696, 12)"
" `headerStart != -1` ", 148);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_400, "Eof", 3);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_401, "None", 4);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_402, "Whitespace", 10);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_403, "DecNumber", 9);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_404, "BinNumber", 9);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_405, "HexNumber", 9);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_406, "OctNumber", 9);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_407, "FloatNumber", 11);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_408, "Identifier", 10);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_409, "Keyword", 7);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_410, "StringLit", 9);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_411, "LongStringLit", 13);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_412, "CharLit", 7);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_413, "EscapeSequence", 14);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_414, "Operator", 8);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_415, "Punctuation", 11);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_416, "Comment", 7);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_417, "LongComment", 11);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_418, "RegularExpression", 17);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_419, "TagStart", 8);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_420, "TagEnd", 6);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_421, "Key", 3);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_422, "Value", 5);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_423, "RawData", 7);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_424, "Assembler", 9);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_425, "Preprocessor", 12);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_426, "Directive", 9);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_427, "Command", 7);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_428, "Rule", 4);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_429, "Hyperlink", 9);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_430, "Label", 5);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_431, "Reference", 9);
STRING_LITERAL(TM_fRGlRrO1fEGjCBV7qCKpgg_432, "Other", 5);
NIM_CONST tyArray_b121gTFK3KCOh1bfQWQzTw tokenClassToStr_XoxGqeDe9c9bun9b5PoCUnzlg = {((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_400),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_401),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_402),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_403),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_404),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_405),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_406),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_407),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_408),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_409),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_410),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_411),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_412),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_413),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_414),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_415),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_416),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_417),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_418),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_419),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_420),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_421),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_422),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_423),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_424),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_425),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_426),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_427),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_428),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_429),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_430),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_431),
((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_432)}
;

static N_INLINE(NI, chckRange)(NI i, NI a, NI b) {
	NI result;
{	result = (NI)0;
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = (a <= i);
		if (!(T3_)) goto LA4_;
		T3_ = (i <= b);
		LA4_: ;
		if (!T3_) goto LA5_;
		result = i;
		goto BeforeRet_;
	}
	goto LA1_;
	LA5_: ;
	{
		raiseRangeError(((NI64) (i)));
	}
	LA1_: ;
	}BeforeRet_: ;
	return result;
}

static N_INLINE(NI, addInt)(NI a, NI b) {
	NI result;
{	result = (NI)0;
	result = (NI)((NU64)(a) + (NU64)(b));
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = (((NI) 0) <= (NI)(result ^ a));
		if (T3_) goto LA4_;
		T3_ = (((NI) 0) <= (NI)(result ^ b));
		LA4_: ;
		if (!T3_) goto LA5_;
		goto BeforeRet_;
	}
	LA5_: ;
	raiseOverflow();
	}BeforeRet_: ;
	return result;
}

N_LIB_PRIVATE N_NIMCALL(tyEnum_SourceLanguage_LpbEPkKqvJ0VCa4hwZcOBQ, getSourceLanguage_xS5vGJiqLeFR2EyiTX0IEA)(NimStringDesc* name) {
	tyEnum_SourceLanguage_LpbEPkKqvJ0VCa4hwZcOBQ result;
{	result = (tyEnum_SourceLanguage_LpbEPkKqvJ0VCa4hwZcOBQ)0;
	{
		tyEnum_SourceLanguage_LpbEPkKqvJ0VCa4hwZcOBQ i;
		NI res;
		i = (tyEnum_SourceLanguage_LpbEPkKqvJ0VCa4hwZcOBQ)0;
		res = ((NI) 1);
		{
			while (1) {
				NI TM_fRGlRrO1fEGjCBV7qCKpgg_12;
				if (!(res <= ((NI) 6))) goto LA3;
				i = ((tyEnum_SourceLanguage_LpbEPkKqvJ0VCa4hwZcOBQ)chckRange(res, ((tyEnum_SourceLanguage_LpbEPkKqvJ0VCa4hwZcOBQ) 0), ((tyEnum_SourceLanguage_LpbEPkKqvJ0VCa4hwZcOBQ) 6)));
				{
					NI T6_;
					T6_ = (NI)0;
					T6_ = nsuCmpIgnoreStyle(name, sourceLanguageToStr_HxGhuVvqzgyr9b5gK42kE9aw[(i)- 0]);
					if (!(T6_ == ((NI) 0))) goto LA7_;
					result = i;
					goto BeforeRet_;
				}
				LA7_: ;
				TM_fRGlRrO1fEGjCBV7qCKpgg_12 = addInt(res, ((NI) 1));
				res = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_12);
			} LA3: ;
		}
	}
	result = ((tyEnum_SourceLanguage_LpbEPkKqvJ0VCa4hwZcOBQ) 0);
	}BeforeRet_: ;
	return result;
}

N_LIB_PRIVATE N_NIMCALL(void, initGeneralTokenizer_vLNovrBjlMTTAgzZMynI5A)(tyObject_GeneralTokenizer_XJrmQSLLjVmugZQb54lVWA* g, NCSTRING buf) {
	NI pos;
	(*g).buf = buf;
	(*g).kind = ((tyEnum_TokenClass_UcAPDGzMlzghdb9c8MB7mEw) 0);
	(*g).start = ((NI) 0);
	(*g).length = ((NI) 0);
	(*g).state = ((tyEnum_TokenClass_UcAPDGzMlzghdb9c8MB7mEw) 0);
	pos = ((NI) 0);
	{
		while (1) {
			NI TM_fRGlRrO1fEGjCBV7qCKpgg_17;
			if (!(((NU8)((*g).buf[pos])) == ((NU8)(32)) || ((NU8)((*g).buf[pos])) >= ((NU8)(9)) && ((NU8)((*g).buf[pos])) <= ((NU8)(13)))) goto LA2;
			TM_fRGlRrO1fEGjCBV7qCKpgg_17 = addInt(pos, ((NI) 1));
			pos = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_17);
		} LA2: ;
	}
	(*g).pos = pos;
}

static N_INLINE(NCSTRING, nimToCStringConv)(NimStringDesc* s) {
	NCSTRING result;
	result = (NCSTRING)0;
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = (s == NIM_NIL);
		if (T3_) goto LA4_;
		T3_ = ((*s).Sup.len == ((NI) 0));
		LA4_: ;
		if (!T3_) goto LA5_;
		result = "";
	}
	goto LA1_;
	LA5_: ;
	{
		result = ((NCSTRING) ((*s).data));
	}
	LA1_: ;
	return result;
}

N_LIB_PRIVATE N_NIMCALL(void, initGeneralTokenizer_mu4EAfPX69bUQs62cfYLXRA)(tyObject_GeneralTokenizer_XJrmQSLLjVmugZQb54lVWA* g, NimStringDesc* buf) {
	initGeneralTokenizer_vLNovrBjlMTTAgzZMynI5A(g, nimToCStringConv(buf));
}

static N_INLINE(NI, subInt)(NI a, NI b) {
	NI result;
{	result = (NI)0;
	result = (NI)((NU64)(a) - (NU64)(b));
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = (((NI) 0) <= (NI)(result ^ a));
		if (T3_) goto LA4_;
		T3_ = (((NI) 0) <= (NI)(result ^ (NI)((NU64) ~(b))));
		LA4_: ;
		if (!T3_) goto LA5_;
		goto BeforeRet_;
	}
	LA5_: ;
	raiseOverflow();
	}BeforeRet_: ;
	return result;
}

N_LIB_PRIVATE N_NIMCALL(tyEnum_TokenClass_UcAPDGzMlzghdb9c8MB7mEw, nimGetKeyword_mH8PHPrBsIUgvMaeNJImeQ)(NimStringDesc* id) {
	tyEnum_TokenClass_UcAPDGzMlzghdb9c8MB7mEw result;
{	result = (tyEnum_TokenClass_UcAPDGzMlzghdb9c8MB7mEw)0;
	{
		NimStringDesc* k;
		NI i;
		k = (NimStringDesc*)0;
		i = ((NI) 0);
		{
			if (!(((NI) (i)) <= ((NI) 65))) goto LA4_;
			{
				while (1) {
					NI TM_fRGlRrO1fEGjCBV7qCKpgg_125;
					k = copyString(nimKeywords_AdQLeNn8tyS9cszL4XF4IRA[(i)- 0]);
					{
						NI T10_;
						T10_ = (NI)0;
						T10_ = nsuCmpIgnoreStyle(id, k);
						if (!(T10_ == ((NI) 0))) goto LA11_;
						result = ((tyEnum_TokenClass_UcAPDGzMlzghdb9c8MB7mEw) 9);
						goto BeforeRet_;
					}
					LA11_: ;
					{
						if (!(((NI) 65) <= ((NI) (i)))) goto LA15_;
						goto LA6;
					}
					LA15_: ;
					TM_fRGlRrO1fEGjCBV7qCKpgg_125 = addInt(i, ((NI) 1));
					if (TM_fRGlRrO1fEGjCBV7qCKpgg_125 < 0 || TM_fRGlRrO1fEGjCBV7qCKpgg_125 > 65) raiseOverflow();
					i = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_125);
				}
			} LA6: ;
		}
		LA4_: ;
	}
	result = ((tyEnum_TokenClass_UcAPDGzMlzghdb9c8MB7mEw) 8);
	}BeforeRet_: ;
	return result;
}

N_LIB_PRIVATE N_NIMCALL(NI, nimNumberPostfix_CqreDYIuS6DczqYAdz9afyQ)(tyObject_GeneralTokenizer_XJrmQSLLjVmugZQb54lVWA* g, NI position) {
	NI result;
	NI pos;
	result = (NI)0;
	pos = position;
	{
		NI TM_fRGlRrO1fEGjCBV7qCKpgg_129;
		if (!((NU8)((*g).buf[pos]) == (NU8)(39))) goto LA3_;
		TM_fRGlRrO1fEGjCBV7qCKpgg_129 = addInt(pos, ((NI) 1));
		pos = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_129);
		switch (((NU8)((*g).buf[pos]))) {
		case 102:
		case 70:
		{
			NI TM_fRGlRrO1fEGjCBV7qCKpgg_130;
			(*g).kind = ((tyEnum_TokenClass_UcAPDGzMlzghdb9c8MB7mEw) 7);
			TM_fRGlRrO1fEGjCBV7qCKpgg_130 = addInt(pos, ((NI) 1));
			pos = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_130);
			{
				NI TM_fRGlRrO1fEGjCBV7qCKpgg_131;
				if (!(((NU8)((*g).buf[pos])) >= ((NU8)(48)) && ((NU8)((*g).buf[pos])) <= ((NU8)(57)))) goto LA8_;
				TM_fRGlRrO1fEGjCBV7qCKpgg_131 = addInt(pos, ((NI) 1));
				pos = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_131);
			}
			LA8_: ;
			{
				NI TM_fRGlRrO1fEGjCBV7qCKpgg_132;
				if (!(((NU8)((*g).buf[pos])) >= ((NU8)(48)) && ((NU8)((*g).buf[pos])) <= ((NU8)(57)))) goto LA12_;
				TM_fRGlRrO1fEGjCBV7qCKpgg_132 = addInt(pos, ((NI) 1));
				pos = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_132);
			}
			LA12_: ;
		}
		break;
		case 105:
		case 73:
		{
			NI TM_fRGlRrO1fEGjCBV7qCKpgg_133;
			TM_fRGlRrO1fEGjCBV7qCKpgg_133 = addInt(pos, ((NI) 1));
			pos = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_133);
			{
				NI TM_fRGlRrO1fEGjCBV7qCKpgg_134;
				if (!(((NU8)((*g).buf[pos])) >= ((NU8)(48)) && ((NU8)((*g).buf[pos])) <= ((NU8)(57)))) goto LA17_;
				TM_fRGlRrO1fEGjCBV7qCKpgg_134 = addInt(pos, ((NI) 1));
				pos = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_134);
			}
			LA17_: ;
			{
				NI TM_fRGlRrO1fEGjCBV7qCKpgg_135;
				if (!(((NU8)((*g).buf[pos])) >= ((NU8)(48)) && ((NU8)((*g).buf[pos])) <= ((NU8)(57)))) goto LA21_;
				TM_fRGlRrO1fEGjCBV7qCKpgg_135 = addInt(pos, ((NI) 1));
				pos = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_135);
			}
			LA21_: ;
		}
		break;
		default:
		{
		}
		break;
		}
	}
	LA3_: ;
	result = pos;
	return result;
}

N_LIB_PRIVATE N_NIMCALL(NI, nimNumber_CqreDYIuS6DczqYAdz9afyQ_2)(tyObject_GeneralTokenizer_XJrmQSLLjVmugZQb54lVWA* g, NI position) {
	NI result;
	NI pos;
	result = (NI)0;
	pos = position;
	(*g).kind = ((tyEnum_TokenClass_UcAPDGzMlzghdb9c8MB7mEw) 3);
	{
		while (1) {
			NI TM_fRGlRrO1fEGjCBV7qCKpgg_140;
			if (!(((NU8)((*g).buf[pos])) >= ((NU8)(48)) && ((NU8)((*g).buf[pos])) <= ((NU8)(57)) || ((NU8)((*g).buf[pos])) == ((NU8)(95)))) goto LA2;
			TM_fRGlRrO1fEGjCBV7qCKpgg_140 = addInt(pos, ((NI) 1));
			pos = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_140);
		} LA2: ;
	}
	{
		NI TM_fRGlRrO1fEGjCBV7qCKpgg_141;
		if (!((NU8)((*g).buf[pos]) == (NU8)(46))) goto LA5_;
		(*g).kind = ((tyEnum_TokenClass_UcAPDGzMlzghdb9c8MB7mEw) 7);
		TM_fRGlRrO1fEGjCBV7qCKpgg_141 = addInt(pos, ((NI) 1));
		pos = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_141);
		{
			while (1) {
				NI TM_fRGlRrO1fEGjCBV7qCKpgg_142;
				if (!(((NU8)((*g).buf[pos])) >= ((NU8)(48)) && ((NU8)((*g).buf[pos])) <= ((NU8)(57)) || ((NU8)((*g).buf[pos])) == ((NU8)(95)))) goto LA8;
				TM_fRGlRrO1fEGjCBV7qCKpgg_142 = addInt(pos, ((NI) 1));
				pos = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_142);
			} LA8: ;
		}
	}
	LA5_: ;
	{
		NI TM_fRGlRrO1fEGjCBV7qCKpgg_143;
		if (!(((NU8)((*g).buf[pos])) == ((NU8)(101)) || ((NU8)((*g).buf[pos])) == ((NU8)(69)))) goto LA11_;
		(*g).kind = ((tyEnum_TokenClass_UcAPDGzMlzghdb9c8MB7mEw) 7);
		TM_fRGlRrO1fEGjCBV7qCKpgg_143 = addInt(pos, ((NI) 1));
		pos = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_143);
		{
			NI TM_fRGlRrO1fEGjCBV7qCKpgg_144;
			if (!(((NU8)((*g).buf[pos])) == ((NU8)(43)) || ((NU8)((*g).buf[pos])) == ((NU8)(45)))) goto LA15_;
			TM_fRGlRrO1fEGjCBV7qCKpgg_144 = addInt(pos, ((NI) 1));
			pos = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_144);
		}
		LA15_: ;
		{
			while (1) {
				NI TM_fRGlRrO1fEGjCBV7qCKpgg_145;
				if (!(((NU8)((*g).buf[pos])) >= ((NU8)(48)) && ((NU8)((*g).buf[pos])) <= ((NU8)(57)) || ((NU8)((*g).buf[pos])) == ((NU8)(95)))) goto LA18;
				TM_fRGlRrO1fEGjCBV7qCKpgg_145 = addInt(pos, ((NI) 1));
				pos = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_145);
			} LA18: ;
		}
	}
	LA11_: ;
	result = nimNumberPostfix_CqreDYIuS6DczqYAdz9afyQ(g, pos);
	return result;
}

N_LIB_PRIVATE N_NIMCALL(void, nimNextToken_9a3JlWX9cxQaYCTvq9c0xqGpQ)(tyObject_GeneralTokenizer_XJrmQSLLjVmugZQb54lVWA* g) {
	NI pos;
	NI TM_fRGlRrO1fEGjCBV7qCKpgg_164;
	pos = (*g).pos;
	(*g).start = (*g).pos;
	{
		if (!((*g).state == ((tyEnum_TokenClass_UcAPDGzMlzghdb9c8MB7mEw) 10))) goto LA3_;
		(*g).kind = ((tyEnum_TokenClass_UcAPDGzMlzghdb9c8MB7mEw) 10);
		{
			while (1) {
				switch (((NU8)((*g).buf[pos]))) {
				case 92:
				{
					NI TM_fRGlRrO1fEGjCBV7qCKpgg_19;
					(*g).kind = ((tyEnum_TokenClass_UcAPDGzMlzghdb9c8MB7mEw) 13);
					TM_fRGlRrO1fEGjCBV7qCKpgg_19 = addInt(pos, ((NI) 1));
					pos = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_19);
					switch (((NU8)((*g).buf[pos]))) {
					case 120:
					case 88:
					{
						NI TM_fRGlRrO1fEGjCBV7qCKpgg_20;
						TM_fRGlRrO1fEGjCBV7qCKpgg_20 = addInt(pos, ((NI) 1));
						pos = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_20);
						{
							NI TM_fRGlRrO1fEGjCBV7qCKpgg_21;
							if (!(((NU8)((*g).buf[pos])) >= ((NU8)(48)) && ((NU8)((*g).buf[pos])) <= ((NU8)(57)) || ((NU8)((*g).buf[pos])) >= ((NU8)(65)) && ((NU8)((*g).buf[pos])) <= ((NU8)(70)) || ((NU8)((*g).buf[pos])) >= ((NU8)(97)) && ((NU8)((*g).buf[pos])) <= ((NU8)(102)) || ((NU8)((*g).buf[pos])) == ((NU8)(95)))) goto LA11_;
							TM_fRGlRrO1fEGjCBV7qCKpgg_21 = addInt(pos, ((NI) 1));
							pos = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_21);
						}
						LA11_: ;
						{
							NI TM_fRGlRrO1fEGjCBV7qCKpgg_22;
							if (!(((NU8)((*g).buf[pos])) >= ((NU8)(48)) && ((NU8)((*g).buf[pos])) <= ((NU8)(57)) || ((NU8)((*g).buf[pos])) >= ((NU8)(65)) && ((NU8)((*g).buf[pos])) <= ((NU8)(70)) || ((NU8)((*g).buf[pos])) >= ((NU8)(97)) && ((NU8)((*g).buf[pos])) <= ((NU8)(102)) || ((NU8)((*g).buf[pos])) == ((NU8)(95)))) goto LA15_;
							TM_fRGlRrO1fEGjCBV7qCKpgg_22 = addInt(pos, ((NI) 1));
							pos = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_22);
						}
						LA15_: ;
					}
					break;
					case 48 ... 57:
					{
						{
							while (1) {
								NI TM_fRGlRrO1fEGjCBV7qCKpgg_23;
								if (!(((NU8)((*g).buf[pos])) >= ((NU8)(48)) && ((NU8)((*g).buf[pos])) <= ((NU8)(57)))) goto LA19;
								TM_fRGlRrO1fEGjCBV7qCKpgg_23 = addInt(pos, ((NI) 1));
								pos = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_23);
							} LA19: ;
						}
					}
					break;
					case 0:
					{
						(*g).state = ((tyEnum_TokenClass_UcAPDGzMlzghdb9c8MB7mEw) 1);
					}
					break;
					default:
					{
						NI TM_fRGlRrO1fEGjCBV7qCKpgg_24;
						TM_fRGlRrO1fEGjCBV7qCKpgg_24 = addInt(pos, ((NI) 1));
						pos = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_24);
					}
					break;
					}
					goto LA5;
				}
				break;
				case 0:
				case 13:
				case 10:
				{
					(*g).state = ((tyEnum_TokenClass_UcAPDGzMlzghdb9c8MB7mEw) 1);
					goto LA5;
				}
				break;
				case 34:
				{
					NI TM_fRGlRrO1fEGjCBV7qCKpgg_25;
					TM_fRGlRrO1fEGjCBV7qCKpgg_25 = addInt(pos, ((NI) 1));
					pos = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_25);
					(*g).state = ((tyEnum_TokenClass_UcAPDGzMlzghdb9c8MB7mEw) 1);
					goto LA5;
				}
				break;
				default:
				{
					NI TM_fRGlRrO1fEGjCBV7qCKpgg_26;
					TM_fRGlRrO1fEGjCBV7qCKpgg_26 = addInt(pos, ((NI) 1));
					pos = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_26);
				}
				break;
				}
			}
		} LA5: ;
	}
	goto LA1_;
	LA3_: ;
	{
		switch (((NU8)((*g).buf[pos]))) {
		case 32:
		case 9 ... 13:
		{
			(*g).kind = ((tyEnum_TokenClass_UcAPDGzMlzghdb9c8MB7mEw) 2);
			{
				while (1) {
					NI TM_fRGlRrO1fEGjCBV7qCKpgg_27;
					if (!(((NU8)((*g).buf[pos])) == ((NU8)(32)) || ((NU8)((*g).buf[pos])) >= ((NU8)(9)) && ((NU8)((*g).buf[pos])) <= ((NU8)(13)))) goto LA28;
					TM_fRGlRrO1fEGjCBV7qCKpgg_27 = addInt(pos, ((NI) 1));
					pos = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_27);
				} LA28: ;
			}
		}
		break;
		case 35:
		{
			NI TM_fRGlRrO1fEGjCBV7qCKpgg_28;
			NIM_BOOL isDoc;
			(*g).kind = ((tyEnum_TokenClass_UcAPDGzMlzghdb9c8MB7mEw) 16);
			TM_fRGlRrO1fEGjCBV7qCKpgg_28 = addInt(pos, ((NI) 1));
			pos = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_28);
			isDoc = NIM_FALSE;
			{
				NI TM_fRGlRrO1fEGjCBV7qCKpgg_29;
				if (!((NU8)((*g).buf[pos]) == (NU8)(35))) goto LA32_;
				TM_fRGlRrO1fEGjCBV7qCKpgg_29 = addInt(pos, ((NI) 1));
				pos = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_29);
				isDoc = NIM_TRUE;
			}
			LA32_: ;
			{
				NI nesting;
				if (!((NU8)((*g).buf[pos]) == (NU8)(91))) goto LA36_;
				(*g).kind = ((tyEnum_TokenClass_UcAPDGzMlzghdb9c8MB7mEw) 17);
				nesting = ((NI) 0);
				{
					while (1) {
						switch (((NU8)((*g).buf[pos]))) {
						case 0:
						{
							goto LA38;
						}
						break;
						case 35:
						{
							NI TM_fRGlRrO1fEGjCBV7qCKpgg_35;
							{
								if (!isDoc) goto LA44_;
								{
									NIM_BOOL T48_;
									NI TM_fRGlRrO1fEGjCBV7qCKpgg_30;
									NI TM_fRGlRrO1fEGjCBV7qCKpgg_31;
									NI TM_fRGlRrO1fEGjCBV7qCKpgg_32;
									T48_ = (NIM_BOOL)0;
									TM_fRGlRrO1fEGjCBV7qCKpgg_30 = addInt(pos, ((NI) 1));
									T48_ = ((NU8)((*g).buf[(NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_30)]) == (NU8)(35));
									if (!(T48_)) goto LA49_;
									TM_fRGlRrO1fEGjCBV7qCKpgg_31 = addInt(pos, ((NI) 2));
									T48_ = ((NU8)((*g).buf[(NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_31)]) == (NU8)(91));
									LA49_: ;
									if (!T48_) goto LA50_;
									TM_fRGlRrO1fEGjCBV7qCKpgg_32 = addInt(nesting, ((NI) 1));
									nesting = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_32);
								}
								LA50_: ;
							}
							goto LA42_;
							LA44_: ;
							{
								NI TM_fRGlRrO1fEGjCBV7qCKpgg_33;
								NI TM_fRGlRrO1fEGjCBV7qCKpgg_34;
								TM_fRGlRrO1fEGjCBV7qCKpgg_33 = addInt(pos, ((NI) 1));
								if (!((NU8)((*g).buf[(NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_33)]) == (NU8)(91))) goto LA53_;
								TM_fRGlRrO1fEGjCBV7qCKpgg_34 = addInt(nesting, ((NI) 1));
								nesting = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_34);
							}
							goto LA42_;
							LA53_: ;
							LA42_: ;
							TM_fRGlRrO1fEGjCBV7qCKpgg_35 = addInt(pos, ((NI) 1));
							pos = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_35);
						}
						break;
						case 93:
						{
							NI TM_fRGlRrO1fEGjCBV7qCKpgg_43;
							{
								if (!isDoc) goto LA58_;
								{
									NIM_BOOL T62_;
									NI TM_fRGlRrO1fEGjCBV7qCKpgg_36;
									NI TM_fRGlRrO1fEGjCBV7qCKpgg_37;
									NI TM_fRGlRrO1fEGjCBV7qCKpgg_39;
									T62_ = (NIM_BOOL)0;
									TM_fRGlRrO1fEGjCBV7qCKpgg_36 = addInt(pos, ((NI) 1));
									T62_ = ((NU8)((*g).buf[(NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_36)]) == (NU8)(35));
									if (!(T62_)) goto LA63_;
									TM_fRGlRrO1fEGjCBV7qCKpgg_37 = addInt(pos, ((NI) 2));
									T62_ = ((NU8)((*g).buf[(NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_37)]) == (NU8)(35));
									LA63_: ;
									if (!T62_) goto LA64_;
									{
										NI TM_fRGlRrO1fEGjCBV7qCKpgg_38;
										if (!(nesting == ((NI) 0))) goto LA68_;
										TM_fRGlRrO1fEGjCBV7qCKpgg_38 = addInt(pos, ((NI) 3));
										pos = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_38);
										goto LA38;
									}
									LA68_: ;
									TM_fRGlRrO1fEGjCBV7qCKpgg_39 = subInt(nesting, ((NI) 1));
									nesting = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_39);
								}
								LA64_: ;
							}
							goto LA56_;
							LA58_: ;
							{
								NI TM_fRGlRrO1fEGjCBV7qCKpgg_40;
								NI TM_fRGlRrO1fEGjCBV7qCKpgg_42;
								TM_fRGlRrO1fEGjCBV7qCKpgg_40 = addInt(pos, ((NI) 1));
								if (!((NU8)((*g).buf[(NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_40)]) == (NU8)(35))) goto LA71_;
								{
									NI TM_fRGlRrO1fEGjCBV7qCKpgg_41;
									if (!(nesting == ((NI) 0))) goto LA75_;
									TM_fRGlRrO1fEGjCBV7qCKpgg_41 = addInt(pos, ((NI) 2));
									pos = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_41);
									goto LA38;
								}
								LA75_: ;
								TM_fRGlRrO1fEGjCBV7qCKpgg_42 = subInt(nesting, ((NI) 1));
								nesting = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_42);
							}
							goto LA56_;
							LA71_: ;
							LA56_: ;
							TM_fRGlRrO1fEGjCBV7qCKpgg_43 = addInt(pos, ((NI) 1));
							pos = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_43);
						}
						break;
						default:
						{
							NI TM_fRGlRrO1fEGjCBV7qCKpgg_44;
							TM_fRGlRrO1fEGjCBV7qCKpgg_44 = addInt(pos, ((NI) 1));
							pos = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_44);
						}
						break;
						}
					}
				} LA38: ;
			}
			goto LA34_;
			LA36_: ;
			{
				{
					while (1) {
						NI TM_fRGlRrO1fEGjCBV7qCKpgg_45;
						if (!!((((NU8)((*g).buf[pos])) == ((NU8)(0)) || ((NU8)((*g).buf[pos])) == ((NU8)(10)) || ((NU8)((*g).buf[pos])) == ((NU8)(13))))) goto LA80;
						TM_fRGlRrO1fEGjCBV7qCKpgg_45 = addInt(pos, ((NI) 1));
						pos = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_45);
					} LA80: ;
				}
			}
			LA34_: ;
		}
		break;
		case 97 ... 122:
		case 65 ... 90:
		case 95:
		case 128 ... 255:
		{
			NimStringDesc* id;
			id = ((NimStringDesc*) NIM_NIL);
			{
				while (1) {
					NI TM_fRGlRrO1fEGjCBV7qCKpgg_46;
					if (!(((NU8)((*g).buf[pos])) >= ((NU8)(48)) && ((NU8)((*g).buf[pos])) <= ((NU8)(57)) || ((NU8)((*g).buf[pos])) >= ((NU8)(65)) && ((NU8)((*g).buf[pos])) <= ((NU8)(90)) || ((NU8)((*g).buf[pos])) == ((NU8)(95)) || ((NU8)((*g).buf[pos])) >= ((NU8)(97)) && ((NU8)((*g).buf[pos])) <= ((NU8)(122)) || ((NU8)((*g).buf[pos])) >= ((NU8)(128)) && ((NU8)((*g).buf[pos])) <= ((NU8)(255)))) goto LA83;
					id = addChar(id, (*g).buf[pos]);
					TM_fRGlRrO1fEGjCBV7qCKpgg_46 = addInt(pos, ((NI) 1));
					pos = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_46);
				} LA83: ;
			}
			{
				if (!((NU8)((*g).buf[pos]) == (NU8)(34))) goto LA86_;
				{
					NIM_BOOL T90_;
					NI TM_fRGlRrO1fEGjCBV7qCKpgg_47;
					NI TM_fRGlRrO1fEGjCBV7qCKpgg_48;
					NI TM_fRGlRrO1fEGjCBV7qCKpgg_49;
					T90_ = (NIM_BOOL)0;
					TM_fRGlRrO1fEGjCBV7qCKpgg_47 = addInt(pos, ((NI) 1));
					T90_ = ((NU8)((*g).buf[(NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_47)]) == (NU8)(34));
					if (!(T90_)) goto LA91_;
					TM_fRGlRrO1fEGjCBV7qCKpgg_48 = addInt(pos, ((NI) 2));
					T90_ = ((NU8)((*g).buf[(NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_48)]) == (NU8)(34));
					LA91_: ;
					if (!T90_) goto LA92_;
					TM_fRGlRrO1fEGjCBV7qCKpgg_49 = addInt(pos, ((NI) 3));
					pos = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_49);
					(*g).kind = ((tyEnum_TokenClass_UcAPDGzMlzghdb9c8MB7mEw) 11);
					{
						while (1) {
							switch (((NU8)((*g).buf[pos]))) {
							case 0:
							{
								goto LA94;
							}
							break;
							case 34:
							{
								NI TM_fRGlRrO1fEGjCBV7qCKpgg_50;
								TM_fRGlRrO1fEGjCBV7qCKpgg_50 = addInt(pos, ((NI) 1));
								pos = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_50);
								{
									NIM_BOOL T100_;
									NIM_BOOL T101_;
									NI TM_fRGlRrO1fEGjCBV7qCKpgg_51;
									NI TM_fRGlRrO1fEGjCBV7qCKpgg_52;
									NI TM_fRGlRrO1fEGjCBV7qCKpgg_53;
									T100_ = (NIM_BOOL)0;
									T101_ = (NIM_BOOL)0;
									T101_ = ((NU8)((*g).buf[pos]) == (NU8)(34));
									if (!(T101_)) goto LA102_;
									TM_fRGlRrO1fEGjCBV7qCKpgg_51 = addInt(pos, ((NI) 1));
									T101_ = ((NU8)((*g).buf[(NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_51)]) == (NU8)(34));
									LA102_: ;
									T100_ = T101_;
									if (!(T100_)) goto LA103_;
									TM_fRGlRrO1fEGjCBV7qCKpgg_52 = addInt(pos, ((NI) 2));
									T100_ = !(((NU8)((*g).buf[(NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_52)]) == (NU8)(34)));
									LA103_: ;
									if (!T100_) goto LA104_;
									TM_fRGlRrO1fEGjCBV7qCKpgg_53 = addInt(pos, ((NI) 2));
									pos = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_53);
									goto LA94;
								}
								LA104_: ;
							}
							break;
							default:
							{
								NI TM_fRGlRrO1fEGjCBV7qCKpgg_54;
								TM_fRGlRrO1fEGjCBV7qCKpgg_54 = addInt(pos, ((NI) 1));
								pos = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_54);
							}
							break;
							}
						}
					} LA94: ;
				}
				goto LA88_;
				LA92_: ;
				{
					NI TM_fRGlRrO1fEGjCBV7qCKpgg_55;
					(*g).kind = ((tyEnum_TokenClass_UcAPDGzMlzghdb9c8MB7mEw) 23);
					TM_fRGlRrO1fEGjCBV7qCKpgg_55 = addInt(pos, ((NI) 1));
					pos = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_55);
					{
						while (1) {
							NI TM_fRGlRrO1fEGjCBV7qCKpgg_57;
							if (!!((((NU8)((*g).buf[pos])) == ((NU8)(0)) || ((NU8)((*g).buf[pos])) == ((NU8)(10)) || ((NU8)((*g).buf[pos])) == ((NU8)(13))))) goto LA109;
							{
								NIM_BOOL T112_;
								NI TM_fRGlRrO1fEGjCBV7qCKpgg_56;
								T112_ = (NIM_BOOL)0;
								T112_ = ((NU8)((*g).buf[pos]) == (NU8)(34));
								if (!(T112_)) goto LA113_;
								TM_fRGlRrO1fEGjCBV7qCKpgg_56 = addInt(pos, ((NI) 1));
								T112_ = !(((NU8)((*g).buf[(NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_56)]) == (NU8)(34)));
								LA113_: ;
								if (!T112_) goto LA114_;
								goto LA108;
							}
							LA114_: ;
							TM_fRGlRrO1fEGjCBV7qCKpgg_57 = addInt(pos, ((NI) 1));
							pos = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_57);
						} LA109: ;
					} LA108: ;
					{
						NI TM_fRGlRrO1fEGjCBV7qCKpgg_58;
						if (!((NU8)((*g).buf[pos]) == (NU8)(34))) goto LA118_;
						TM_fRGlRrO1fEGjCBV7qCKpgg_58 = addInt(pos, ((NI) 1));
						pos = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_58);
					}
					LA118_: ;
				}
				LA88_: ;
			}
			goto LA84_;
			LA86_: ;
			{
				(*g).kind = nimGetKeyword_mH8PHPrBsIUgvMaeNJImeQ(id);
			}
			LA84_: ;
		}
		break;
		case 48:
		{
			NI TM_fRGlRrO1fEGjCBV7qCKpgg_126;
			TM_fRGlRrO1fEGjCBV7qCKpgg_126 = addInt(pos, ((NI) 1));
			pos = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_126);
			switch (((NU8)((*g).buf[pos]))) {
			case 98:
			case 66:
			{
				NI TM_fRGlRrO1fEGjCBV7qCKpgg_127;
				(*g).kind = ((tyEnum_TokenClass_UcAPDGzMlzghdb9c8MB7mEw) 4);
				TM_fRGlRrO1fEGjCBV7qCKpgg_127 = addInt(pos, ((NI) 1));
				pos = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_127);
				{
					while (1) {
						NI TM_fRGlRrO1fEGjCBV7qCKpgg_128;
						if (!(((NU8)((*g).buf[pos])) >= ((NU8)(48)) && ((NU8)((*g).buf[pos])) <= ((NU8)(49)) || ((NU8)((*g).buf[pos])) == ((NU8)(95)))) goto LA124;
						TM_fRGlRrO1fEGjCBV7qCKpgg_128 = addInt(pos, ((NI) 1));
						pos = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_128);
					} LA124: ;
				}
				pos = nimNumberPostfix_CqreDYIuS6DczqYAdz9afyQ(g, pos);
			}
			break;
			case 120:
			case 88:
			{
				NI TM_fRGlRrO1fEGjCBV7qCKpgg_136;
				(*g).kind = ((tyEnum_TokenClass_UcAPDGzMlzghdb9c8MB7mEw) 5);
				TM_fRGlRrO1fEGjCBV7qCKpgg_136 = addInt(pos, ((NI) 1));
				pos = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_136);
				{
					while (1) {
						NI TM_fRGlRrO1fEGjCBV7qCKpgg_137;
						if (!(((NU8)((*g).buf[pos])) >= ((NU8)(48)) && ((NU8)((*g).buf[pos])) <= ((NU8)(57)) || ((NU8)((*g).buf[pos])) >= ((NU8)(65)) && ((NU8)((*g).buf[pos])) <= ((NU8)(70)) || ((NU8)((*g).buf[pos])) >= ((NU8)(97)) && ((NU8)((*g).buf[pos])) <= ((NU8)(102)) || ((NU8)((*g).buf[pos])) == ((NU8)(95)))) goto LA127;
						TM_fRGlRrO1fEGjCBV7qCKpgg_137 = addInt(pos, ((NI) 1));
						pos = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_137);
					} LA127: ;
				}
				pos = nimNumberPostfix_CqreDYIuS6DczqYAdz9afyQ(g, pos);
			}
			break;
			case 111:
			case 79:
			{
				NI TM_fRGlRrO1fEGjCBV7qCKpgg_138;
				(*g).kind = ((tyEnum_TokenClass_UcAPDGzMlzghdb9c8MB7mEw) 6);
				TM_fRGlRrO1fEGjCBV7qCKpgg_138 = addInt(pos, ((NI) 1));
				pos = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_138);
				{
					while (1) {
						NI TM_fRGlRrO1fEGjCBV7qCKpgg_139;
						if (!(((NU8)((*g).buf[pos])) >= ((NU8)(48)) && ((NU8)((*g).buf[pos])) <= ((NU8)(55)) || ((NU8)((*g).buf[pos])) == ((NU8)(95)))) goto LA130;
						TM_fRGlRrO1fEGjCBV7qCKpgg_139 = addInt(pos, ((NI) 1));
						pos = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_139);
					} LA130: ;
				}
				pos = nimNumberPostfix_CqreDYIuS6DczqYAdz9afyQ(g, pos);
			}
			break;
			default:
			{
				pos = nimNumber_CqreDYIuS6DczqYAdz9afyQ_2(g, pos);
			}
			break;
			}
		}
		break;
		case 49 ... 57:
		{
			pos = nimNumber_CqreDYIuS6DczqYAdz9afyQ_2(g, pos);
		}
		break;
		case 39:
		{
			NI TM_fRGlRrO1fEGjCBV7qCKpgg_146;
			TM_fRGlRrO1fEGjCBV7qCKpgg_146 = addInt(pos, ((NI) 1));
			pos = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_146);
			(*g).kind = ((tyEnum_TokenClass_UcAPDGzMlzghdb9c8MB7mEw) 12);
			{
				while (1) {
					switch (((NU8)((*g).buf[pos]))) {
					case 0:
					case 13:
					case 10:
					{
						goto LA134;
					}
					break;
					case 39:
					{
						NI TM_fRGlRrO1fEGjCBV7qCKpgg_147;
						TM_fRGlRrO1fEGjCBV7qCKpgg_147 = addInt(pos, ((NI) 1));
						pos = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_147);
						goto LA134;
					}
					break;
					case 92:
					{
						NI TM_fRGlRrO1fEGjCBV7qCKpgg_148;
						TM_fRGlRrO1fEGjCBV7qCKpgg_148 = addInt(pos, ((NI) 2));
						pos = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_148);
					}
					break;
					default:
					{
						NI TM_fRGlRrO1fEGjCBV7qCKpgg_149;
						TM_fRGlRrO1fEGjCBV7qCKpgg_149 = addInt(pos, ((NI) 1));
						pos = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_149);
					}
					break;
					}
				}
			} LA134: ;
		}
		break;
		case 34:
		{
			NI TM_fRGlRrO1fEGjCBV7qCKpgg_150;
			TM_fRGlRrO1fEGjCBV7qCKpgg_150 = addInt(pos, ((NI) 1));
			pos = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_150);
			{
				NIM_BOOL T143_;
				NI TM_fRGlRrO1fEGjCBV7qCKpgg_151;
				NI TM_fRGlRrO1fEGjCBV7qCKpgg_152;
				T143_ = (NIM_BOOL)0;
				T143_ = ((NU8)((*g).buf[pos]) == (NU8)(34));
				if (!(T143_)) goto LA144_;
				TM_fRGlRrO1fEGjCBV7qCKpgg_151 = addInt(pos, ((NI) 1));
				T143_ = ((NU8)((*g).buf[(NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_151)]) == (NU8)(34));
				LA144_: ;
				if (!T143_) goto LA145_;
				TM_fRGlRrO1fEGjCBV7qCKpgg_152 = addInt(pos, ((NI) 2));
				pos = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_152);
				(*g).kind = ((tyEnum_TokenClass_UcAPDGzMlzghdb9c8MB7mEw) 11);
				{
					while (1) {
						switch (((NU8)((*g).buf[pos]))) {
						case 0:
						{
							goto LA147;
						}
						break;
						case 34:
						{
							NI TM_fRGlRrO1fEGjCBV7qCKpgg_153;
							TM_fRGlRrO1fEGjCBV7qCKpgg_153 = addInt(pos, ((NI) 1));
							pos = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_153);
							{
								NIM_BOOL T153_;
								NIM_BOOL T154_;
								NI TM_fRGlRrO1fEGjCBV7qCKpgg_154;
								NI TM_fRGlRrO1fEGjCBV7qCKpgg_155;
								NI TM_fRGlRrO1fEGjCBV7qCKpgg_156;
								T153_ = (NIM_BOOL)0;
								T154_ = (NIM_BOOL)0;
								T154_ = ((NU8)((*g).buf[pos]) == (NU8)(34));
								if (!(T154_)) goto LA155_;
								TM_fRGlRrO1fEGjCBV7qCKpgg_154 = addInt(pos, ((NI) 1));
								T154_ = ((NU8)((*g).buf[(NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_154)]) == (NU8)(34));
								LA155_: ;
								T153_ = T154_;
								if (!(T153_)) goto LA156_;
								TM_fRGlRrO1fEGjCBV7qCKpgg_155 = addInt(pos, ((NI) 2));
								T153_ = !(((NU8)((*g).buf[(NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_155)]) == (NU8)(34)));
								LA156_: ;
								if (!T153_) goto LA157_;
								TM_fRGlRrO1fEGjCBV7qCKpgg_156 = addInt(pos, ((NI) 2));
								pos = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_156);
								goto LA147;
							}
							LA157_: ;
						}
						break;
						default:
						{
							NI TM_fRGlRrO1fEGjCBV7qCKpgg_157;
							TM_fRGlRrO1fEGjCBV7qCKpgg_157 = addInt(pos, ((NI) 1));
							pos = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_157);
						}
						break;
						}
					}
				} LA147: ;
			}
			goto LA141_;
			LA145_: ;
			{
				(*g).kind = ((tyEnum_TokenClass_UcAPDGzMlzghdb9c8MB7mEw) 10);
				{
					while (1) {
						switch (((NU8)((*g).buf[pos]))) {
						case 0:
						case 13:
						case 10:
						{
							goto LA161;
						}
						break;
						case 34:
						{
							NI TM_fRGlRrO1fEGjCBV7qCKpgg_158;
							TM_fRGlRrO1fEGjCBV7qCKpgg_158 = addInt(pos, ((NI) 1));
							pos = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_158);
							goto LA161;
						}
						break;
						case 92:
						{
							(*g).state = (*g).kind;
							goto LA161;
						}
						break;
						default:
						{
							NI TM_fRGlRrO1fEGjCBV7qCKpgg_159;
							TM_fRGlRrO1fEGjCBV7qCKpgg_159 = addInt(pos, ((NI) 1));
							pos = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_159);
						}
						break;
						}
					}
				} LA161: ;
			}
			LA141_: ;
		}
		break;
		case 40:
		case 41:
		case 91:
		case 93:
		case 123:
		case 125:
		case 96:
		case 58:
		case 44:
		case 59:
		{
			NI TM_fRGlRrO1fEGjCBV7qCKpgg_160;
			TM_fRGlRrO1fEGjCBV7qCKpgg_160 = addInt(pos, ((NI) 1));
			pos = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_160);
			(*g).kind = ((tyEnum_TokenClass_UcAPDGzMlzghdb9c8MB7mEw) 15);
		}
		break;
		case 0:
		{
			(*g).kind = ((tyEnum_TokenClass_UcAPDGzMlzghdb9c8MB7mEw) 0);
		}
		break;
		default:
		{
			{
				if (!((TM_fRGlRrO1fEGjCBV7qCKpgg_161[(NU)(((NU8)((*g).buf[pos])))>>3] &(1U<<((NU)(((NU8)((*g).buf[pos])))&7U)))!=0)) goto LA172_;
				(*g).kind = ((tyEnum_TokenClass_UcAPDGzMlzghdb9c8MB7mEw) 14);
				{
					while (1) {
						NI TM_fRGlRrO1fEGjCBV7qCKpgg_162;
						if (!((TM_fRGlRrO1fEGjCBV7qCKpgg_161[(NU)(((NU8)((*g).buf[pos])))>>3] &(1U<<((NU)(((NU8)((*g).buf[pos])))&7U)))!=0)) goto LA175;
						TM_fRGlRrO1fEGjCBV7qCKpgg_162 = addInt(pos, ((NI) 1));
						pos = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_162);
					} LA175: ;
				}
			}
			goto LA170_;
			LA172_: ;
			{
				NI TM_fRGlRrO1fEGjCBV7qCKpgg_163;
				TM_fRGlRrO1fEGjCBV7qCKpgg_163 = addInt(pos, ((NI) 1));
				pos = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_163);
				(*g).kind = ((tyEnum_TokenClass_UcAPDGzMlzghdb9c8MB7mEw) 1);
			}
			LA170_: ;
		}
		break;
		}
	}
	LA1_: ;
	TM_fRGlRrO1fEGjCBV7qCKpgg_164 = subInt(pos, (*g).pos);
	(*g).length = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_164);
	{
		NIM_BOOL T179_;
		T179_ = (NIM_BOOL)0;
		T179_ = !(((*g).kind == ((tyEnum_TokenClass_UcAPDGzMlzghdb9c8MB7mEw) 0)));
		if (!(T179_)) goto LA180_;
		T179_ = ((*g).length <= ((NI) 0));
		LA180_: ;
		if (!T179_) goto LA181_;
		{
			if (!NIM_TRUE) goto LA185_;
			failedAssertImpl_W9cjVocn1tjhW7p7xohJj6A(((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_165));
		}
		LA185_: ;
	}
	LA181_: ;
	(*g).pos = pos;
}

N_LIB_PRIVATE N_NIMCALL(NI, isKeyword_w2E4F9aQzmLEEAZ3M1m52ZA)(NimStringDesc** x, NI xLen_0, NimStringDesc* y) {
	NI result;
	result = (NI)0;
	result = binarySearch_wa1aY9bsuTdXtbdvM9apunWQ(x, xLen_0, y);
	return result;
}

N_LIB_PRIVATE N_NIMCALL(NI, generalNumber_CqreDYIuS6DczqYAdz9afyQ_3)(tyObject_GeneralTokenizer_XJrmQSLLjVmugZQb54lVWA* g, NI position) {
	NI result;
	NI pos;
	result = (NI)0;
	pos = position;
	(*g).kind = ((tyEnum_TokenClass_UcAPDGzMlzghdb9c8MB7mEw) 3);
	{
		while (1) {
			NI TM_fRGlRrO1fEGjCBV7qCKpgg_198;
			if (!(((NU8)((*g).buf[pos])) >= ((NU8)(48)) && ((NU8)((*g).buf[pos])) <= ((NU8)(57)))) goto LA2;
			TM_fRGlRrO1fEGjCBV7qCKpgg_198 = addInt(pos, ((NI) 1));
			pos = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_198);
		} LA2: ;
	}
	{
		NI TM_fRGlRrO1fEGjCBV7qCKpgg_199;
		if (!((NU8)((*g).buf[pos]) == (NU8)(46))) goto LA5_;
		(*g).kind = ((tyEnum_TokenClass_UcAPDGzMlzghdb9c8MB7mEw) 7);
		TM_fRGlRrO1fEGjCBV7qCKpgg_199 = addInt(pos, ((NI) 1));
		pos = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_199);
		{
			while (1) {
				NI TM_fRGlRrO1fEGjCBV7qCKpgg_200;
				if (!(((NU8)((*g).buf[pos])) >= ((NU8)(48)) && ((NU8)((*g).buf[pos])) <= ((NU8)(57)))) goto LA8;
				TM_fRGlRrO1fEGjCBV7qCKpgg_200 = addInt(pos, ((NI) 1));
				pos = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_200);
			} LA8: ;
		}
	}
	LA5_: ;
	{
		NI TM_fRGlRrO1fEGjCBV7qCKpgg_201;
		if (!(((NU8)((*g).buf[pos])) == ((NU8)(101)) || ((NU8)((*g).buf[pos])) == ((NU8)(69)))) goto LA11_;
		(*g).kind = ((tyEnum_TokenClass_UcAPDGzMlzghdb9c8MB7mEw) 7);
		TM_fRGlRrO1fEGjCBV7qCKpgg_201 = addInt(pos, ((NI) 1));
		pos = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_201);
		{
			NI TM_fRGlRrO1fEGjCBV7qCKpgg_202;
			if (!(((NU8)((*g).buf[pos])) == ((NU8)(43)) || ((NU8)((*g).buf[pos])) == ((NU8)(45)))) goto LA15_;
			TM_fRGlRrO1fEGjCBV7qCKpgg_202 = addInt(pos, ((NI) 1));
			pos = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_202);
		}
		LA15_: ;
		{
			while (1) {
				NI TM_fRGlRrO1fEGjCBV7qCKpgg_203;
				if (!(((NU8)((*g).buf[pos])) >= ((NU8)(48)) && ((NU8)((*g).buf[pos])) <= ((NU8)(57)))) goto LA18;
				TM_fRGlRrO1fEGjCBV7qCKpgg_203 = addInt(pos, ((NI) 1));
				pos = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_203);
			} LA18: ;
		}
	}
	LA11_: ;
	result = pos;
	return result;
}

N_LIB_PRIVATE N_NIMCALL(NI, generalStrLit_CqreDYIuS6DczqYAdz9afyQ_4)(tyObject_GeneralTokenizer_XJrmQSLLjVmugZQb54lVWA* g, NI position) {
	NI result;
	NI pos;
	NIM_CHAR c;
	NI TM_fRGlRrO1fEGjCBV7qCKpgg_206;
	result = (NI)0;
	pos = position;
	(*g).kind = ((tyEnum_TokenClass_UcAPDGzMlzghdb9c8MB7mEw) 10);
	c = (*g).buf[pos];
	TM_fRGlRrO1fEGjCBV7qCKpgg_206 = addInt(pos, ((NI) 1));
	pos = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_206);
	{
		while (1) {
			switch (((NU8)((*g).buf[pos]))) {
			case 0:
			{
				goto LA1;
			}
			break;
			case 92:
			{
				NI TM_fRGlRrO1fEGjCBV7qCKpgg_207;
				TM_fRGlRrO1fEGjCBV7qCKpgg_207 = addInt(pos, ((NI) 1));
				pos = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_207);
				switch (((NU8)((*g).buf[pos]))) {
				case 0:
				{
					goto LA1;
				}
				break;
				case 48 ... 57:
				{
					{
						while (1) {
							NI TM_fRGlRrO1fEGjCBV7qCKpgg_208;
							if (!(((NU8)((*g).buf[pos])) >= ((NU8)(48)) && ((NU8)((*g).buf[pos])) <= ((NU8)(57)))) goto LA8;
							TM_fRGlRrO1fEGjCBV7qCKpgg_208 = addInt(pos, ((NI) 1));
							pos = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_208);
						} LA8: ;
					}
				}
				break;
				case 120:
				case 88:
				{
					NI TM_fRGlRrO1fEGjCBV7qCKpgg_209;
					TM_fRGlRrO1fEGjCBV7qCKpgg_209 = addInt(pos, ((NI) 1));
					pos = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_209);
					{
						NI TM_fRGlRrO1fEGjCBV7qCKpgg_210;
						if (!(((NU8)((*g).buf[pos])) >= ((NU8)(48)) && ((NU8)((*g).buf[pos])) <= ((NU8)(57)) || ((NU8)((*g).buf[pos])) >= ((NU8)(65)) && ((NU8)((*g).buf[pos])) <= ((NU8)(70)) || ((NU8)((*g).buf[pos])) >= ((NU8)(97)) && ((NU8)((*g).buf[pos])) <= ((NU8)(102)))) goto LA12_;
						TM_fRGlRrO1fEGjCBV7qCKpgg_210 = addInt(pos, ((NI) 1));
						pos = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_210);
					}
					LA12_: ;
					{
						NI TM_fRGlRrO1fEGjCBV7qCKpgg_211;
						if (!(((NU8)((*g).buf[pos])) >= ((NU8)(48)) && ((NU8)((*g).buf[pos])) <= ((NU8)(57)) || ((NU8)((*g).buf[pos])) >= ((NU8)(65)) && ((NU8)((*g).buf[pos])) <= ((NU8)(70)) || ((NU8)((*g).buf[pos])) >= ((NU8)(97)) && ((NU8)((*g).buf[pos])) <= ((NU8)(102)))) goto LA16_;
						TM_fRGlRrO1fEGjCBV7qCKpgg_211 = addInt(pos, ((NI) 1));
						pos = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_211);
					}
					LA16_: ;
				}
				break;
				default:
				{
					NI TM_fRGlRrO1fEGjCBV7qCKpgg_212;
					TM_fRGlRrO1fEGjCBV7qCKpgg_212 = addInt(pos, ((NI) 2));
					pos = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_212);
				}
				break;
				}
			}
			break;
			default:
			{
				{
					NI TM_fRGlRrO1fEGjCBV7qCKpgg_213;
					if (!((NU8)((*g).buf[pos]) == (NU8)(c))) goto LA22_;
					TM_fRGlRrO1fEGjCBV7qCKpgg_213 = addInt(pos, ((NI) 1));
					pos = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_213);
					goto LA1;
				}
				goto LA20_;
				LA22_: ;
				{
					NI TM_fRGlRrO1fEGjCBV7qCKpgg_214;
					TM_fRGlRrO1fEGjCBV7qCKpgg_214 = addInt(pos, ((NI) 1));
					pos = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_214);
				}
				LA20_: ;
			}
			break;
			}
		}
	} LA1: ;
	result = pos;
	return result;
}

N_LIB_PRIVATE N_NIMCALL(void, clikeNextToken_L8t1qBucomXxnIP2FCz8cA)(tyObject_GeneralTokenizer_XJrmQSLLjVmugZQb54lVWA* g, NimStringDesc** keywords, NI keywordsLen_0, tySet_tyEnum_TokenizerFlag_0rxT9beFrYOPADukozRvVEQ flags) {
	NI pos;
	NI TM_fRGlRrO1fEGjCBV7qCKpgg_221;
	pos = (*g).pos;
	(*g).start = (*g).pos;
	{
		if (!((*g).state == ((tyEnum_TokenClass_UcAPDGzMlzghdb9c8MB7mEw) 10))) goto LA3_;
		(*g).kind = ((tyEnum_TokenClass_UcAPDGzMlzghdb9c8MB7mEw) 10);
		{
			while (1) {
				switch (((NU8)((*g).buf[pos]))) {
				case 92:
				{
					NI TM_fRGlRrO1fEGjCBV7qCKpgg_166;
					(*g).kind = ((tyEnum_TokenClass_UcAPDGzMlzghdb9c8MB7mEw) 13);
					TM_fRGlRrO1fEGjCBV7qCKpgg_166 = addInt(pos, ((NI) 1));
					pos = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_166);
					switch (((NU8)((*g).buf[pos]))) {
					case 120:
					case 88:
					{
						NI TM_fRGlRrO1fEGjCBV7qCKpgg_167;
						TM_fRGlRrO1fEGjCBV7qCKpgg_167 = addInt(pos, ((NI) 1));
						pos = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_167);
						{
							NI TM_fRGlRrO1fEGjCBV7qCKpgg_168;
							if (!(((NU8)((*g).buf[pos])) >= ((NU8)(48)) && ((NU8)((*g).buf[pos])) <= ((NU8)(57)) || ((NU8)((*g).buf[pos])) >= ((NU8)(65)) && ((NU8)((*g).buf[pos])) <= ((NU8)(70)) || ((NU8)((*g).buf[pos])) >= ((NU8)(97)) && ((NU8)((*g).buf[pos])) <= ((NU8)(102)))) goto LA11_;
							TM_fRGlRrO1fEGjCBV7qCKpgg_168 = addInt(pos, ((NI) 1));
							pos = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_168);
						}
						LA11_: ;
						{
							NI TM_fRGlRrO1fEGjCBV7qCKpgg_169;
							if (!(((NU8)((*g).buf[pos])) >= ((NU8)(48)) && ((NU8)((*g).buf[pos])) <= ((NU8)(57)) || ((NU8)((*g).buf[pos])) >= ((NU8)(65)) && ((NU8)((*g).buf[pos])) <= ((NU8)(70)) || ((NU8)((*g).buf[pos])) >= ((NU8)(97)) && ((NU8)((*g).buf[pos])) <= ((NU8)(102)))) goto LA15_;
							TM_fRGlRrO1fEGjCBV7qCKpgg_169 = addInt(pos, ((NI) 1));
							pos = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_169);
						}
						LA15_: ;
					}
					break;
					case 48 ... 57:
					{
						{
							while (1) {
								NI TM_fRGlRrO1fEGjCBV7qCKpgg_170;
								if (!(((NU8)((*g).buf[pos])) >= ((NU8)(48)) && ((NU8)((*g).buf[pos])) <= ((NU8)(57)))) goto LA19;
								TM_fRGlRrO1fEGjCBV7qCKpgg_170 = addInt(pos, ((NI) 1));
								pos = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_170);
							} LA19: ;
						}
					}
					break;
					case 0:
					{
						(*g).state = ((tyEnum_TokenClass_UcAPDGzMlzghdb9c8MB7mEw) 1);
					}
					break;
					default:
					{
						NI TM_fRGlRrO1fEGjCBV7qCKpgg_171;
						TM_fRGlRrO1fEGjCBV7qCKpgg_171 = addInt(pos, ((NI) 1));
						pos = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_171);
					}
					break;
					}
					goto LA5;
				}
				break;
				case 0:
				case 13:
				case 10:
				{
					(*g).state = ((tyEnum_TokenClass_UcAPDGzMlzghdb9c8MB7mEw) 1);
					goto LA5;
				}
				break;
				case 34:
				{
					NI TM_fRGlRrO1fEGjCBV7qCKpgg_172;
					TM_fRGlRrO1fEGjCBV7qCKpgg_172 = addInt(pos, ((NI) 1));
					pos = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_172);
					(*g).state = ((tyEnum_TokenClass_UcAPDGzMlzghdb9c8MB7mEw) 1);
					goto LA5;
				}
				break;
				default:
				{
					NI TM_fRGlRrO1fEGjCBV7qCKpgg_173;
					TM_fRGlRrO1fEGjCBV7qCKpgg_173 = addInt(pos, ((NI) 1));
					pos = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_173);
				}
				break;
				}
			}
		} LA5: ;
	}
	goto LA1_;
	LA3_: ;
	{
		switch (((NU8)((*g).buf[pos]))) {
		case 32:
		case 9 ... 13:
		{
			(*g).kind = ((tyEnum_TokenClass_UcAPDGzMlzghdb9c8MB7mEw) 2);
			{
				while (1) {
					NI TM_fRGlRrO1fEGjCBV7qCKpgg_174;
					if (!(((NU8)((*g).buf[pos])) == ((NU8)(32)) || ((NU8)((*g).buf[pos])) >= ((NU8)(9)) && ((NU8)((*g).buf[pos])) <= ((NU8)(13)))) goto LA28;
					TM_fRGlRrO1fEGjCBV7qCKpgg_174 = addInt(pos, ((NI) 1));
					pos = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_174);
				} LA28: ;
			}
		}
		break;
		case 47:
		{
			NI TM_fRGlRrO1fEGjCBV7qCKpgg_175;
			TM_fRGlRrO1fEGjCBV7qCKpgg_175 = addInt(pos, ((NI) 1));
			pos = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_175);
			{
				if (!((NU8)((*g).buf[pos]) == (NU8)(47))) goto LA32_;
				(*g).kind = ((tyEnum_TokenClass_UcAPDGzMlzghdb9c8MB7mEw) 16);
				{
					while (1) {
						NI TM_fRGlRrO1fEGjCBV7qCKpgg_176;
						if (!!((((NU8)((*g).buf[pos])) == ((NU8)(0)) || ((NU8)((*g).buf[pos])) == ((NU8)(10)) || ((NU8)((*g).buf[pos])) == ((NU8)(13))))) goto LA35;
						TM_fRGlRrO1fEGjCBV7qCKpgg_176 = addInt(pos, ((NI) 1));
						pos = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_176);
					} LA35: ;
				}
			}
			goto LA30_;
			LA32_: ;
			{
				NI nested;
				NI TM_fRGlRrO1fEGjCBV7qCKpgg_177;
				if (!((NU8)((*g).buf[pos]) == (NU8)(42))) goto LA37_;
				(*g).kind = ((tyEnum_TokenClass_UcAPDGzMlzghdb9c8MB7mEw) 17);
				nested = ((NI) 0);
				TM_fRGlRrO1fEGjCBV7qCKpgg_177 = addInt(pos, ((NI) 1));
				pos = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_177);
				{
					while (1) {
						switch (((NU8)((*g).buf[pos]))) {
						case 42:
						{
							NI TM_fRGlRrO1fEGjCBV7qCKpgg_178;
							TM_fRGlRrO1fEGjCBV7qCKpgg_178 = addInt(pos, ((NI) 1));
							pos = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_178);
							{
								NI TM_fRGlRrO1fEGjCBV7qCKpgg_179;
								if (!((NU8)((*g).buf[pos]) == (NU8)(47))) goto LA44_;
								TM_fRGlRrO1fEGjCBV7qCKpgg_179 = addInt(pos, ((NI) 1));
								pos = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_179);
								{
									if (!(nested == ((NI) 0))) goto LA48_;
									goto LA39;
								}
								LA48_: ;
							}
							LA44_: ;
						}
						break;
						case 47:
						{
							NI TM_fRGlRrO1fEGjCBV7qCKpgg_180;
							TM_fRGlRrO1fEGjCBV7qCKpgg_180 = addInt(pos, ((NI) 1));
							pos = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_180);
							{
								NI TM_fRGlRrO1fEGjCBV7qCKpgg_181;
								if (!((NU8)((*g).buf[pos]) == (NU8)(42))) goto LA53_;
								TM_fRGlRrO1fEGjCBV7qCKpgg_181 = addInt(pos, ((NI) 1));
								pos = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_181);
								{
									NI TM_fRGlRrO1fEGjCBV7qCKpgg_182;
									if (!((flags &(1U<<((NU)(((tyEnum_TokenizerFlag_0rxT9beFrYOPADukozRvVEQ) 1))&7U)))!=0)) goto LA57_;
									TM_fRGlRrO1fEGjCBV7qCKpgg_182 = addInt(nested, ((NI) 1));
									nested = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_182);
								}
								LA57_: ;
							}
							LA53_: ;
						}
						break;
						case 0:
						{
							goto LA39;
						}
						break;
						default:
						{
							NI TM_fRGlRrO1fEGjCBV7qCKpgg_183;
							TM_fRGlRrO1fEGjCBV7qCKpgg_183 = addInt(pos, ((NI) 1));
							pos = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_183);
						}
						break;
						}
					}
				} LA39: ;
			}
			goto LA30_;
			LA37_: ;
			LA30_: ;
		}
		break;
		case 35:
		{
			NI TM_fRGlRrO1fEGjCBV7qCKpgg_184;
			TM_fRGlRrO1fEGjCBV7qCKpgg_184 = addInt(pos, ((NI) 1));
			pos = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_184);
			{
				if (!((flags &(1U<<((NU)(((tyEnum_TokenizerFlag_0rxT9beFrYOPADukozRvVEQ) 0))&7U)))!=0)) goto LA64_;
				(*g).kind = ((tyEnum_TokenClass_UcAPDGzMlzghdb9c8MB7mEw) 25);
				{
					while (1) {
						NI TM_fRGlRrO1fEGjCBV7qCKpgg_185;
						if (!(((NU8)((*g).buf[pos])) == ((NU8)(32)) || ((NU8)((*g).buf[pos])) == ((NU8)(9)))) goto LA67;
						TM_fRGlRrO1fEGjCBV7qCKpgg_185 = addInt(pos, ((NI) 1));
						pos = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_185);
					} LA67: ;
				}
				{
					while (1) {
						NI TM_fRGlRrO1fEGjCBV7qCKpgg_186;
						if (!(((NU8)((*g).buf[pos])) >= ((NU8)(65)) && ((NU8)((*g).buf[pos])) <= ((NU8)(90)) || ((NU8)((*g).buf[pos])) >= ((NU8)(97)) && ((NU8)((*g).buf[pos])) <= ((NU8)(122)) || ((NU8)((*g).buf[pos])) >= ((NU8)(48)) && ((NU8)((*g).buf[pos])) <= ((NU8)(57)) || ((NU8)((*g).buf[pos])) == ((NU8)(95)) || ((NU8)((*g).buf[pos])) >= ((NU8)(128)) && ((NU8)((*g).buf[pos])) <= ((NU8)(255)))) goto LA69;
						TM_fRGlRrO1fEGjCBV7qCKpgg_186 = addInt(pos, ((NI) 1));
						pos = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_186);
					} LA69: ;
				}
			}
			goto LA62_;
			LA64_: ;
			{
				(*g).kind = ((tyEnum_TokenClass_UcAPDGzMlzghdb9c8MB7mEw) 14);
			}
			LA62_: ;
		}
		break;
		case 97 ... 122:
		case 65 ... 90:
		case 95:
		case 128 ... 255:
		{
			NimStringDesc* id;
			id = ((NimStringDesc*) NIM_NIL);
			{
				while (1) {
					NI TM_fRGlRrO1fEGjCBV7qCKpgg_187;
					if (!(((NU8)((*g).buf[pos])) >= ((NU8)(65)) && ((NU8)((*g).buf[pos])) <= ((NU8)(90)) || ((NU8)((*g).buf[pos])) >= ((NU8)(97)) && ((NU8)((*g).buf[pos])) <= ((NU8)(122)) || ((NU8)((*g).buf[pos])) >= ((NU8)(48)) && ((NU8)((*g).buf[pos])) <= ((NU8)(57)) || ((NU8)((*g).buf[pos])) == ((NU8)(95)) || ((NU8)((*g).buf[pos])) >= ((NU8)(128)) && ((NU8)((*g).buf[pos])) <= ((NU8)(255)))) goto LA73;
					id = addChar(id, (*g).buf[pos]);
					TM_fRGlRrO1fEGjCBV7qCKpgg_187 = addInt(pos, ((NI) 1));
					pos = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_187);
				} LA73: ;
			}
			{
				NI T76_;
				T76_ = (NI)0;
				T76_ = isKeyword_w2E4F9aQzmLEEAZ3M1m52ZA(keywords, keywordsLen_0, id);
				if (!(((NI) 0) <= T76_)) goto LA77_;
				(*g).kind = ((tyEnum_TokenClass_UcAPDGzMlzghdb9c8MB7mEw) 9);
			}
			goto LA74_;
			LA77_: ;
			{
				(*g).kind = ((tyEnum_TokenClass_UcAPDGzMlzghdb9c8MB7mEw) 8);
			}
			LA74_: ;
		}
		break;
		case 48:
		{
			NI TM_fRGlRrO1fEGjCBV7qCKpgg_188;
			TM_fRGlRrO1fEGjCBV7qCKpgg_188 = addInt(pos, ((NI) 1));
			pos = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_188);
			switch (((NU8)((*g).buf[pos]))) {
			case 98:
			case 66:
			{
				NI TM_fRGlRrO1fEGjCBV7qCKpgg_189;
				TM_fRGlRrO1fEGjCBV7qCKpgg_189 = addInt(pos, ((NI) 1));
				pos = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_189);
				{
					while (1) {
						NI TM_fRGlRrO1fEGjCBV7qCKpgg_190;
						if (!(((NU8)((*g).buf[pos])) >= ((NU8)(48)) && ((NU8)((*g).buf[pos])) <= ((NU8)(49)))) goto LA83;
						TM_fRGlRrO1fEGjCBV7qCKpgg_190 = addInt(pos, ((NI) 1));
						pos = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_190);
					} LA83: ;
				}
				{
					NI TM_fRGlRrO1fEGjCBV7qCKpgg_191;
					if (!(((NU8)((*g).buf[pos])) >= ((NU8)(65)) && ((NU8)((*g).buf[pos])) <= ((NU8)(90)) || ((NU8)((*g).buf[pos])) >= ((NU8)(97)) && ((NU8)((*g).buf[pos])) <= ((NU8)(122)))) goto LA86_;
					TM_fRGlRrO1fEGjCBV7qCKpgg_191 = addInt(pos, ((NI) 1));
					pos = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_191);
				}
				LA86_: ;
			}
			break;
			case 120:
			case 88:
			{
				NI TM_fRGlRrO1fEGjCBV7qCKpgg_192;
				TM_fRGlRrO1fEGjCBV7qCKpgg_192 = addInt(pos, ((NI) 1));
				pos = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_192);
				{
					while (1) {
						NI TM_fRGlRrO1fEGjCBV7qCKpgg_193;
						if (!(((NU8)((*g).buf[pos])) >= ((NU8)(48)) && ((NU8)((*g).buf[pos])) <= ((NU8)(57)) || ((NU8)((*g).buf[pos])) >= ((NU8)(65)) && ((NU8)((*g).buf[pos])) <= ((NU8)(70)) || ((NU8)((*g).buf[pos])) >= ((NU8)(97)) && ((NU8)((*g).buf[pos])) <= ((NU8)(102)))) goto LA90;
						TM_fRGlRrO1fEGjCBV7qCKpgg_193 = addInt(pos, ((NI) 1));
						pos = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_193);
					} LA90: ;
				}
				{
					NI TM_fRGlRrO1fEGjCBV7qCKpgg_194;
					if (!(((NU8)((*g).buf[pos])) >= ((NU8)(65)) && ((NU8)((*g).buf[pos])) <= ((NU8)(90)) || ((NU8)((*g).buf[pos])) >= ((NU8)(97)) && ((NU8)((*g).buf[pos])) <= ((NU8)(122)))) goto LA93_;
					TM_fRGlRrO1fEGjCBV7qCKpgg_194 = addInt(pos, ((NI) 1));
					pos = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_194);
				}
				LA93_: ;
			}
			break;
			case 48 ... 55:
			{
				NI TM_fRGlRrO1fEGjCBV7qCKpgg_195;
				TM_fRGlRrO1fEGjCBV7qCKpgg_195 = addInt(pos, ((NI) 1));
				pos = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_195);
				{
					while (1) {
						NI TM_fRGlRrO1fEGjCBV7qCKpgg_196;
						if (!(((NU8)((*g).buf[pos])) >= ((NU8)(48)) && ((NU8)((*g).buf[pos])) <= ((NU8)(55)))) goto LA97;
						TM_fRGlRrO1fEGjCBV7qCKpgg_196 = addInt(pos, ((NI) 1));
						pos = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_196);
					} LA97: ;
				}
				{
					NI TM_fRGlRrO1fEGjCBV7qCKpgg_197;
					if (!(((NU8)((*g).buf[pos])) >= ((NU8)(65)) && ((NU8)((*g).buf[pos])) <= ((NU8)(90)) || ((NU8)((*g).buf[pos])) >= ((NU8)(97)) && ((NU8)((*g).buf[pos])) <= ((NU8)(122)))) goto LA100_;
					TM_fRGlRrO1fEGjCBV7qCKpgg_197 = addInt(pos, ((NI) 1));
					pos = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_197);
				}
				LA100_: ;
			}
			break;
			default:
			{
				pos = generalNumber_CqreDYIuS6DczqYAdz9afyQ_3(g, pos);
				{
					NI TM_fRGlRrO1fEGjCBV7qCKpgg_204;
					if (!(((NU8)((*g).buf[pos])) >= ((NU8)(65)) && ((NU8)((*g).buf[pos])) <= ((NU8)(90)) || ((NU8)((*g).buf[pos])) >= ((NU8)(97)) && ((NU8)((*g).buf[pos])) <= ((NU8)(122)))) goto LA105_;
					TM_fRGlRrO1fEGjCBV7qCKpgg_204 = addInt(pos, ((NI) 1));
					pos = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_204);
				}
				LA105_: ;
			}
			break;
			}
		}
		break;
		case 49 ... 57:
		{
			pos = generalNumber_CqreDYIuS6DczqYAdz9afyQ_3(g, pos);
			{
				NI TM_fRGlRrO1fEGjCBV7qCKpgg_205;
				if (!(((NU8)((*g).buf[pos])) >= ((NU8)(65)) && ((NU8)((*g).buf[pos])) <= ((NU8)(90)) || ((NU8)((*g).buf[pos])) >= ((NU8)(97)) && ((NU8)((*g).buf[pos])) <= ((NU8)(122)))) goto LA110_;
				TM_fRGlRrO1fEGjCBV7qCKpgg_205 = addInt(pos, ((NI) 1));
				pos = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_205);
			}
			LA110_: ;
		}
		break;
		case 39:
		{
			pos = generalStrLit_CqreDYIuS6DczqYAdz9afyQ_4(g, pos);
			(*g).kind = ((tyEnum_TokenClass_UcAPDGzMlzghdb9c8MB7mEw) 12);
		}
		break;
		case 34:
		{
			NI TM_fRGlRrO1fEGjCBV7qCKpgg_215;
			TM_fRGlRrO1fEGjCBV7qCKpgg_215 = addInt(pos, ((NI) 1));
			pos = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_215);
			(*g).kind = ((tyEnum_TokenClass_UcAPDGzMlzghdb9c8MB7mEw) 10);
			{
				while (1) {
					switch (((NU8)((*g).buf[pos]))) {
					case 0:
					{
						goto LA114;
					}
					break;
					case 34:
					{
						NI TM_fRGlRrO1fEGjCBV7qCKpgg_216;
						TM_fRGlRrO1fEGjCBV7qCKpgg_216 = addInt(pos, ((NI) 1));
						pos = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_216);
						goto LA114;
					}
					break;
					case 92:
					{
						(*g).state = (*g).kind;
						goto LA114;
					}
					break;
					default:
					{
						NI TM_fRGlRrO1fEGjCBV7qCKpgg_217;
						TM_fRGlRrO1fEGjCBV7qCKpgg_217 = addInt(pos, ((NI) 1));
						pos = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_217);
					}
					break;
					}
				}
			} LA114: ;
		}
		break;
		case 40:
		case 41:
		case 91:
		case 93:
		case 123:
		case 125:
		case 58:
		case 44:
		case 59:
		case 46:
		{
			NI TM_fRGlRrO1fEGjCBV7qCKpgg_218;
			TM_fRGlRrO1fEGjCBV7qCKpgg_218 = addInt(pos, ((NI) 1));
			pos = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_218);
			(*g).kind = ((tyEnum_TokenClass_UcAPDGzMlzghdb9c8MB7mEw) 15);
		}
		break;
		case 0:
		{
			(*g).kind = ((tyEnum_TokenClass_UcAPDGzMlzghdb9c8MB7mEw) 0);
		}
		break;
		default:
		{
			{
				if (!((TM_fRGlRrO1fEGjCBV7qCKpgg_161[(NU)(((NU8)((*g).buf[pos])))>>3] &(1U<<((NU)(((NU8)((*g).buf[pos])))&7U)))!=0)) goto LA125_;
				(*g).kind = ((tyEnum_TokenClass_UcAPDGzMlzghdb9c8MB7mEw) 14);
				{
					while (1) {
						NI TM_fRGlRrO1fEGjCBV7qCKpgg_219;
						if (!((TM_fRGlRrO1fEGjCBV7qCKpgg_161[(NU)(((NU8)((*g).buf[pos])))>>3] &(1U<<((NU)(((NU8)((*g).buf[pos])))&7U)))!=0)) goto LA128;
						TM_fRGlRrO1fEGjCBV7qCKpgg_219 = addInt(pos, ((NI) 1));
						pos = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_219);
					} LA128: ;
				}
			}
			goto LA123_;
			LA125_: ;
			{
				NI TM_fRGlRrO1fEGjCBV7qCKpgg_220;
				TM_fRGlRrO1fEGjCBV7qCKpgg_220 = addInt(pos, ((NI) 1));
				pos = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_220);
				(*g).kind = ((tyEnum_TokenClass_UcAPDGzMlzghdb9c8MB7mEw) 1);
			}
			LA123_: ;
		}
		break;
		}
	}
	LA1_: ;
	TM_fRGlRrO1fEGjCBV7qCKpgg_221 = subInt(pos, (*g).pos);
	(*g).length = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_221);
	{
		NIM_BOOL T132_;
		T132_ = (NIM_BOOL)0;
		T132_ = !(((*g).kind == ((tyEnum_TokenClass_UcAPDGzMlzghdb9c8MB7mEw) 0)));
		if (!(T132_)) goto LA133_;
		T132_ = ((*g).length <= ((NI) 0));
		LA133_: ;
		if (!T132_) goto LA134_;
		{
			if (!NIM_TRUE) goto LA138_;
			failedAssertImpl_W9cjVocn1tjhW7p7xohJj6A(((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_222));
		}
		LA138_: ;
	}
	LA134_: ;
	(*g).pos = pos;
}

N_LIB_PRIVATE N_NIMCALL(void, cppNextToken_9a3JlWX9cxQaYCTvq9c0xqGpQ_2)(tyObject_GeneralTokenizer_XJrmQSLLjVmugZQb54lVWA* g) {
	clikeNextToken_L8t1qBucomXxnIP2FCz8cA(g, TM_fRGlRrO1fEGjCBV7qCKpgg_223, 48, 1);
}

N_LIB_PRIVATE N_NIMCALL(void, csharpNextToken_9a3JlWX9cxQaYCTvq9c0xqGpQ_3)(tyObject_GeneralTokenizer_XJrmQSLLjVmugZQb54lVWA* g) {
	clikeNextToken_L8t1qBucomXxnIP2FCz8cA(g, TM_fRGlRrO1fEGjCBV7qCKpgg_257, 77, 1);
}

N_LIB_PRIVATE N_NIMCALL(void, cNextToken_9a3JlWX9cxQaYCTvq9c0xqGpQ_4)(tyObject_GeneralTokenizer_XJrmQSLLjVmugZQb54lVWA* g) {
	clikeNextToken_L8t1qBucomXxnIP2FCz8cA(g, TM_fRGlRrO1fEGjCBV7qCKpgg_289, 37, 1);
}

N_LIB_PRIVATE N_NIMCALL(void, javaNextToken_9a3JlWX9cxQaYCTvq9c0xqGpQ_5)(tyObject_GeneralTokenizer_XJrmQSLLjVmugZQb54lVWA* g) {
	clikeNextToken_L8t1qBucomXxnIP2FCz8cA(g, TM_fRGlRrO1fEGjCBV7qCKpgg_294, 53, 0);
}

static N_INLINE(NIM_BOOL, contains_gQgU7tFetrsWh7D678FByQsystem)(tyObject_HSlice_W9bFyTswleIcLt1mZvoSZPg s, NIM_CHAR value) {
	NIM_BOOL result;
	NIM_BOOL T1_;
	result = (NIM_BOOL)0;
	T1_ = (NIM_BOOL)0;
	T1_ = ((NU8)(s.a) <= (NU8)(value));
	if (!(T1_)) goto LA2_;
	T1_ = ((NU8)(value) <= (NU8)(s.b));
	LA2_: ;
	result = T1_;
	return result;
}

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) {
	nimSetMem_zxfKBYntu9cBapkhrCOk1fgmemory(p, ((int) 0), size);
}

static N_INLINE(tyObject_HSlice_W9bFyTswleIcLt1mZvoSZPg, dotdot__TrbQSUU3S4iYrxrnSGCImgsystem)(NIM_CHAR a, NIM_CHAR b) {
	tyObject_HSlice_W9bFyTswleIcLt1mZvoSZPg result;
	nimZeroMem((void*)(&result), sizeof(tyObject_HSlice_W9bFyTswleIcLt1mZvoSZPg));
	chckNil((void*)(&result));
	nimZeroMem((void*)(&result), sizeof(tyObject_HSlice_W9bFyTswleIcLt1mZvoSZPg));
	result.a = a;
	result.b = b;
	return result;
}

N_LIB_PRIVATE N_NIMCALL(void, yamlPlainStrLit_ttGpPUa5Kch9bqZf8mE4Niw_2)(tyObject_GeneralTokenizer_XJrmQSLLjVmugZQb54lVWA* g, NI* pos) {
	(*g).kind = ((tyEnum_TokenClass_UcAPDGzMlzghdb9c8MB7mEw) 10);
	{
		while (1) {
			NI TM_fRGlRrO1fEGjCBV7qCKpgg_367;
			if (!!((((NU8)((*g).buf[(*pos)])) == ((NU8)(0)) || ((NU8)((*g).buf[(*pos)])) >= ((NU8)(9)) && ((NU8)((*g).buf[(*pos)])) <= ((NU8)(13)) || ((NU8)((*g).buf[(*pos)])) == ((NU8)(44)) || ((NU8)((*g).buf[(*pos)])) == ((NU8)(93)) || ((NU8)((*g).buf[(*pos)])) == ((NU8)(125))))) goto LA2;
			{
				NIM_BOOL T5_;
				NI TM_fRGlRrO1fEGjCBV7qCKpgg_366;
				T5_ = (NIM_BOOL)0;
				T5_ = ((NU8)((*g).buf[(*pos)]) == (NU8)(58));
				if (!(T5_)) goto LA6_;
				TM_fRGlRrO1fEGjCBV7qCKpgg_366 = addInt((*pos), ((NI) 1));
				T5_ = (((NU8)((*g).buf[(NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_366)])) == ((NU8)(0)) || ((NU8)((*g).buf[(NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_366)])) >= ((NU8)(9)) && ((NU8)((*g).buf[(NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_366)])) <= ((NU8)(13)) || ((NU8)((*g).buf[(NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_366)])) == ((NU8)(32)));
				LA6_: ;
				if (!T5_) goto LA7_;
				goto LA1;
			}
			LA7_: ;
			TM_fRGlRrO1fEGjCBV7qCKpgg_367 = addInt((*pos), ((NI) 1));
			(*pos) = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_367);
		} LA2: ;
	} LA1: ;
}

N_LIB_PRIVATE N_NIMCALL(void, yamlPossibleNumber_ttGpPUa5Kch9bqZf8mE4Niw)(tyObject_GeneralTokenizer_XJrmQSLLjVmugZQb54lVWA* g, NI* pos) {
	(*g).kind = ((tyEnum_TokenClass_UcAPDGzMlzghdb9c8MB7mEw) 1);
	{
		NI TM_fRGlRrO1fEGjCBV7qCKpgg_362;
		if (!((NU8)((*g).buf[(*pos)]) == (NU8)(45))) goto LA3_;
		TM_fRGlRrO1fEGjCBV7qCKpgg_362 = addInt((*pos), ((NI) 1));
		(*pos) = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_362);
	}
	LA3_: ;
	{
		NI TM_fRGlRrO1fEGjCBV7qCKpgg_363;
		if (!((NU8)((*g).buf[(*pos)]) == (NU8)(48))) goto LA7_;
		TM_fRGlRrO1fEGjCBV7qCKpgg_363 = addInt((*pos), ((NI) 1));
		(*pos) = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_363);
	}
	goto LA5_;
	LA7_: ;
	{
		tyObject_HSlice_W9bFyTswleIcLt1mZvoSZPg T10_;
		NIM_BOOL T11_;
		NI TM_fRGlRrO1fEGjCBV7qCKpgg_364;
		T10_ = dotdot__TrbQSUU3S4iYrxrnSGCImgsystem(49, 57);
		T11_ = (NIM_BOOL)0;
		T11_ = contains_gQgU7tFetrsWh7D678FByQsystem(T10_, (*g).buf[(*pos)]);
		if (!T11_) goto LA12_;
		TM_fRGlRrO1fEGjCBV7qCKpgg_364 = addInt((*pos), ((NI) 1));
		(*pos) = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_364);
		{
			while (1) {
				NI TM_fRGlRrO1fEGjCBV7qCKpgg_365;
				if (!(((NU8)((*g).buf[(*pos)])) >= ((NU8)(48)) && ((NU8)((*g).buf[(*pos)])) <= ((NU8)(57)))) goto LA15;
				TM_fRGlRrO1fEGjCBV7qCKpgg_365 = addInt((*pos), ((NI) 1));
				(*pos) = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_365);
			} LA15: ;
		}
	}
	goto LA5_;
	LA12_: ;
	{
		yamlPlainStrLit_ttGpPUa5Kch9bqZf8mE4Niw_2(g, pos);
	}
	LA5_: ;
	{
		if (!((*g).kind == ((tyEnum_TokenClass_UcAPDGzMlzghdb9c8MB7mEw) 1))) goto LA19_;
		{
			if (!(((NU8)((*g).buf[(*pos)])) == ((NU8)(0)) || ((NU8)((*g).buf[(*pos)])) >= ((NU8)(9)) && ((NU8)((*g).buf[(*pos)])) <= ((NU8)(13)) || ((NU8)((*g).buf[(*pos)])) == ((NU8)(32)) || ((NU8)((*g).buf[(*pos)])) == ((NU8)(44)) || ((NU8)((*g).buf[(*pos)])) == ((NU8)(93)) || ((NU8)((*g).buf[(*pos)])) == ((NU8)(125)))) goto LA23_;
			(*g).kind = ((tyEnum_TokenClass_UcAPDGzMlzghdb9c8MB7mEw) 3);
		}
		goto LA21_;
		LA23_: ;
		{
			NI TM_fRGlRrO1fEGjCBV7qCKpgg_368;
			if (!((NU8)((*g).buf[(*pos)]) == (NU8)(46))) goto LA26_;
			TM_fRGlRrO1fEGjCBV7qCKpgg_368 = addInt((*pos), ((NI) 1));
			(*pos) = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_368);
			{
				if (!!((((NU8)((*g).buf[(*pos)])) >= ((NU8)(48)) && ((NU8)((*g).buf[(*pos)])) <= ((NU8)(57))))) goto LA30_;
				yamlPlainStrLit_ttGpPUa5Kch9bqZf8mE4Niw_2(g, pos);
			}
			goto LA28_;
			LA30_: ;
			{
				{
					while (1) {
						NI TM_fRGlRrO1fEGjCBV7qCKpgg_369;
						if (!(((NU8)((*g).buf[(*pos)])) >= ((NU8)(48)) && ((NU8)((*g).buf[(*pos)])) <= ((NU8)(57)))) goto LA34;
						TM_fRGlRrO1fEGjCBV7qCKpgg_369 = addInt((*pos), ((NI) 1));
						(*pos) = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_369);
					} LA34: ;
				}
				{
					if (!(((NU8)((*g).buf[(*pos)])) == ((NU8)(0)) || ((NU8)((*g).buf[(*pos)])) >= ((NU8)(9)) && ((NU8)((*g).buf[(*pos)])) <= ((NU8)(13)) || ((NU8)((*g).buf[(*pos)])) == ((NU8)(32)) || ((NU8)((*g).buf[(*pos)])) == ((NU8)(44)) || ((NU8)((*g).buf[(*pos)])) == ((NU8)(93)) || ((NU8)((*g).buf[(*pos)])) == ((NU8)(125)))) goto LA37_;
					(*g).kind = ((tyEnum_TokenClass_UcAPDGzMlzghdb9c8MB7mEw) 7);
				}
				LA37_: ;
			}
			LA28_: ;
		}
		goto LA21_;
		LA26_: ;
		LA21_: ;
		{
			if (!((*g).kind == ((tyEnum_TokenClass_UcAPDGzMlzghdb9c8MB7mEw) 1))) goto LA41_;
			{
				NI TM_fRGlRrO1fEGjCBV7qCKpgg_370;
				if (!(((NU8)((*g).buf[(*pos)])) == ((NU8)(101)) || ((NU8)((*g).buf[(*pos)])) == ((NU8)(69)))) goto LA45_;
				TM_fRGlRrO1fEGjCBV7qCKpgg_370 = addInt((*pos), ((NI) 1));
				(*pos) = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_370);
				{
					NI TM_fRGlRrO1fEGjCBV7qCKpgg_371;
					if (!(((NU8)((*g).buf[(*pos)])) == ((NU8)(45)) || ((NU8)((*g).buf[(*pos)])) == ((NU8)(43)))) goto LA49_;
					TM_fRGlRrO1fEGjCBV7qCKpgg_371 = addInt((*pos), ((NI) 1));
					(*pos) = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_371);
				}
				LA49_: ;
				{
					if (!!((((NU8)((*g).buf[(*pos)])) >= ((NU8)(48)) && ((NU8)((*g).buf[(*pos)])) <= ((NU8)(57))))) goto LA53_;
					yamlPlainStrLit_ttGpPUa5Kch9bqZf8mE4Niw_2(g, pos);
				}
				goto LA51_;
				LA53_: ;
				{
					{
						while (1) {
							NI TM_fRGlRrO1fEGjCBV7qCKpgg_372;
							if (!(((NU8)((*g).buf[(*pos)])) >= ((NU8)(48)) && ((NU8)((*g).buf[(*pos)])) <= ((NU8)(57)))) goto LA57;
							TM_fRGlRrO1fEGjCBV7qCKpgg_372 = addInt((*pos), ((NI) 1));
							(*pos) = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_372);
						} LA57: ;
					}
					{
						if (!(((NU8)((*g).buf[(*pos)])) == ((NU8)(0)) || ((NU8)((*g).buf[(*pos)])) >= ((NU8)(9)) && ((NU8)((*g).buf[(*pos)])) <= ((NU8)(13)) || ((NU8)((*g).buf[(*pos)])) == ((NU8)(32)) || ((NU8)((*g).buf[(*pos)])) == ((NU8)(44)) || ((NU8)((*g).buf[(*pos)])) == ((NU8)(93)) || ((NU8)((*g).buf[(*pos)])) == ((NU8)(125)))) goto LA60_;
						(*g).kind = ((tyEnum_TokenClass_UcAPDGzMlzghdb9c8MB7mEw) 7);
					}
					goto LA58_;
					LA60_: ;
					{
						yamlPlainStrLit_ttGpPUa5Kch9bqZf8mE4Niw_2(g, pos);
					}
					LA58_: ;
				}
				LA51_: ;
			}
			goto LA43_;
			LA45_: ;
			{
				yamlPlainStrLit_ttGpPUa5Kch9bqZf8mE4Niw_2(g, pos);
			}
			LA43_: ;
		}
		LA41_: ;
	}
	LA19_: ;
	{
		while (1) {
			NI TM_fRGlRrO1fEGjCBV7qCKpgg_373;
			if (!!((((NU8)((*g).buf[(*pos)])) == ((NU8)(0)) || ((NU8)((*g).buf[(*pos)])) == ((NU8)(44)) || ((NU8)((*g).buf[(*pos)])) == ((NU8)(93)) || ((NU8)((*g).buf[(*pos)])) == ((NU8)(125)) || ((NU8)((*g).buf[(*pos)])) == ((NU8)(10)) || ((NU8)((*g).buf[(*pos)])) == ((NU8)(13))))) goto LA65;
			TM_fRGlRrO1fEGjCBV7qCKpgg_373 = addInt((*pos), ((NI) 1));
			(*pos) = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_373);
			{
				if (!!((((NU8)((*g).buf[(*pos)])) >= ((NU8)(9)) && ((NU8)((*g).buf[(*pos)])) <= ((NU8)(13)) || ((NU8)((*g).buf[(*pos)])) == ((NU8)(32)) || ((NU8)((*g).buf[(*pos)])) == ((NU8)(44)) || ((NU8)((*g).buf[(*pos)])) == ((NU8)(93)) || ((NU8)((*g).buf[(*pos)])) == ((NU8)(125))))) goto LA68_;
				yamlPlainStrLit_ttGpPUa5Kch9bqZf8mE4Niw_2(g, pos);
				goto LA64;
			}
			LA68_: ;
		} LA65: ;
	} LA64: ;
}

N_LIB_PRIVATE N_NIMCALL(void, yamlNextToken_9a3JlWX9cxQaYCTvq9c0xqGpQ_6)(tyObject_GeneralTokenizer_XJrmQSLLjVmugZQb54lVWA* g) {
	NI pos;
	NI TM_fRGlRrO1fEGjCBV7qCKpgg_399;
	pos = (*g).pos;
	(*g).start = (*g).pos;
	{
		if (!((*g).state == ((tyEnum_TokenClass_UcAPDGzMlzghdb9c8MB7mEw) 10))) goto LA3_;
		(*g).kind = ((tyEnum_TokenClass_UcAPDGzMlzghdb9c8MB7mEw) 10);
		{
			while (1) {
				switch (((NU8)((*g).buf[pos]))) {
				case 92:
				{
					NI TM_fRGlRrO1fEGjCBV7qCKpgg_308;
					{
						if (!!((pos == (*g).pos))) goto LA10_;
						goto LA5;
					}
					LA10_: ;
					(*g).kind = ((tyEnum_TokenClass_UcAPDGzMlzghdb9c8MB7mEw) 13);
					TM_fRGlRrO1fEGjCBV7qCKpgg_308 = addInt(pos, ((NI) 1));
					pos = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_308);
					switch (((NU8)((*g).buf[pos]))) {
					case 120:
					{
						NI TM_fRGlRrO1fEGjCBV7qCKpgg_309;
						TM_fRGlRrO1fEGjCBV7qCKpgg_309 = addInt(pos, ((NI) 1));
						pos = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_309);
						{
							NI i;
							NI res;
							i = (NI)0;
							res = ((NI) 1);
							{
								while (1) {
									NI TM_fRGlRrO1fEGjCBV7qCKpgg_311;
									if (!(res <= ((NI) 2))) goto LA15;
									i = res;
									{
										NI TM_fRGlRrO1fEGjCBV7qCKpgg_310;
										if (!(((NU8)((*g).buf[pos])) >= ((NU8)(48)) && ((NU8)((*g).buf[pos])) <= ((NU8)(57)) || ((NU8)((*g).buf[pos])) >= ((NU8)(65)) && ((NU8)((*g).buf[pos])) <= ((NU8)(70)) || ((NU8)((*g).buf[pos])) >= ((NU8)(97)) && ((NU8)((*g).buf[pos])) <= ((NU8)(102)))) goto LA18_;
										TM_fRGlRrO1fEGjCBV7qCKpgg_310 = addInt(pos, ((NI) 1));
										pos = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_310);
									}
									LA18_: ;
									TM_fRGlRrO1fEGjCBV7qCKpgg_311 = addInt(res, ((NI) 1));
									res = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_311);
								} LA15: ;
							}
						}
						goto LA5;
					}
					break;
					case 117:
					{
						NI TM_fRGlRrO1fEGjCBV7qCKpgg_312;
						TM_fRGlRrO1fEGjCBV7qCKpgg_312 = addInt(pos, ((NI) 1));
						pos = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_312);
						{
							NI i_2;
							NI res_2;
							i_2 = (NI)0;
							res_2 = ((NI) 1);
							{
								while (1) {
									NI TM_fRGlRrO1fEGjCBV7qCKpgg_314;
									if (!(res_2 <= ((NI) 4))) goto LA23;
									i_2 = res_2;
									{
										NI TM_fRGlRrO1fEGjCBV7qCKpgg_313;
										if (!(((NU8)((*g).buf[pos])) >= ((NU8)(48)) && ((NU8)((*g).buf[pos])) <= ((NU8)(57)) || ((NU8)((*g).buf[pos])) >= ((NU8)(65)) && ((NU8)((*g).buf[pos])) <= ((NU8)(70)) || ((NU8)((*g).buf[pos])) >= ((NU8)(97)) && ((NU8)((*g).buf[pos])) <= ((NU8)(102)))) goto LA26_;
										TM_fRGlRrO1fEGjCBV7qCKpgg_313 = addInt(pos, ((NI) 1));
										pos = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_313);
									}
									LA26_: ;
									TM_fRGlRrO1fEGjCBV7qCKpgg_314 = addInt(res_2, ((NI) 1));
									res_2 = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_314);
								} LA23: ;
							}
						}
						goto LA5;
					}
					break;
					case 85:
					{
						NI TM_fRGlRrO1fEGjCBV7qCKpgg_315;
						TM_fRGlRrO1fEGjCBV7qCKpgg_315 = addInt(pos, ((NI) 1));
						pos = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_315);
						{
							NI i_3;
							NI res_3;
							i_3 = (NI)0;
							res_3 = ((NI) 1);
							{
								while (1) {
									NI TM_fRGlRrO1fEGjCBV7qCKpgg_317;
									if (!(res_3 <= ((NI) 8))) goto LA31;
									i_3 = res_3;
									{
										NI TM_fRGlRrO1fEGjCBV7qCKpgg_316;
										if (!(((NU8)((*g).buf[pos])) >= ((NU8)(48)) && ((NU8)((*g).buf[pos])) <= ((NU8)(57)) || ((NU8)((*g).buf[pos])) >= ((NU8)(65)) && ((NU8)((*g).buf[pos])) <= ((NU8)(70)) || ((NU8)((*g).buf[pos])) >= ((NU8)(97)) && ((NU8)((*g).buf[pos])) <= ((NU8)(102)))) goto LA34_;
										TM_fRGlRrO1fEGjCBV7qCKpgg_316 = addInt(pos, ((NI) 1));
										pos = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_316);
									}
									LA34_: ;
									TM_fRGlRrO1fEGjCBV7qCKpgg_317 = addInt(res_3, ((NI) 1));
									res_3 = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_317);
								} LA31: ;
							}
						}
						goto LA5;
					}
					break;
					default:
					{
						NI TM_fRGlRrO1fEGjCBV7qCKpgg_318;
						TM_fRGlRrO1fEGjCBV7qCKpgg_318 = addInt(pos, ((NI) 1));
						pos = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_318);
					}
					break;
					}
					goto LA5;
				}
				break;
				case 0:
				{
					(*g).state = ((tyEnum_TokenClass_UcAPDGzMlzghdb9c8MB7mEw) 32);
					goto LA5;
				}
				break;
				case 34:
				{
					NI TM_fRGlRrO1fEGjCBV7qCKpgg_319;
					TM_fRGlRrO1fEGjCBV7qCKpgg_319 = addInt(pos, ((NI) 1));
					pos = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_319);
					(*g).state = ((tyEnum_TokenClass_UcAPDGzMlzghdb9c8MB7mEw) 32);
					goto LA5;
				}
				break;
				default:
				{
					NI TM_fRGlRrO1fEGjCBV7qCKpgg_320;
					TM_fRGlRrO1fEGjCBV7qCKpgg_320 = addInt(pos, ((NI) 1));
					pos = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_320);
				}
				break;
				}
			}
		} LA5: ;
	}
	goto LA1_;
	LA3_: ;
	{
		NI TM_fRGlRrO1fEGjCBV7qCKpgg_321;
		if (!((*g).state == ((tyEnum_TokenClass_UcAPDGzMlzghdb9c8MB7mEw) 12))) goto LA41_;
		(*g).kind = ((tyEnum_TokenClass_UcAPDGzMlzghdb9c8MB7mEw) 10);
		TM_fRGlRrO1fEGjCBV7qCKpgg_321 = addInt(pos, ((NI) 1));
		pos = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_321);
		{
			while (1) {
				switch (((NU8)((*g).buf[pos]))) {
				case 39:
				{
					NI TM_fRGlRrO1fEGjCBV7qCKpgg_322;
					TM_fRGlRrO1fEGjCBV7qCKpgg_322 = addInt(pos, ((NI) 1));
					pos = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_322);
					{
						NI TM_fRGlRrO1fEGjCBV7qCKpgg_323;
						if (!((NU8)((*g).buf[pos]) == (NU8)(39))) goto LA48_;
						TM_fRGlRrO1fEGjCBV7qCKpgg_323 = addInt(pos, ((NI) 1));
						pos = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_323);
						(*g).kind = ((tyEnum_TokenClass_UcAPDGzMlzghdb9c8MB7mEw) 13);
					}
					goto LA46_;
					LA48_: ;
					{
						(*g).state = ((tyEnum_TokenClass_UcAPDGzMlzghdb9c8MB7mEw) 32);
					}
					LA46_: ;
					goto LA43;
				}
				break;
				default:
				{
					NI TM_fRGlRrO1fEGjCBV7qCKpgg_324;
					TM_fRGlRrO1fEGjCBV7qCKpgg_324 = addInt(pos, ((NI) 1));
					pos = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_324);
				}
				break;
				}
			}
		} LA43: ;
	}
	goto LA1_;
	LA41_: ;
	{
		if (!((*g).state == ((tyEnum_TokenClass_UcAPDGzMlzghdb9c8MB7mEw) 27))) goto LA53_;
		switch (((NU8)((*g).buf[pos]))) {
		case 32:
		case 9:
		{
			(*g).kind = ((tyEnum_TokenClass_UcAPDGzMlzghdb9c8MB7mEw) 2);
			{
				while (1) {
					NI TM_fRGlRrO1fEGjCBV7qCKpgg_325;
					if (!(((NU8)((*g).buf[pos])) == ((NU8)(32)) || ((NU8)((*g).buf[pos])) == ((NU8)(9)))) goto LA57;
					TM_fRGlRrO1fEGjCBV7qCKpgg_325 = addInt(pos, ((NI) 1));
					pos = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_325);
				} LA57: ;
			}
		}
		break;
		case 35:
		{
			(*g).kind = ((tyEnum_TokenClass_UcAPDGzMlzghdb9c8MB7mEw) 16);
			{
				while (1) {
					NI TM_fRGlRrO1fEGjCBV7qCKpgg_326;
					if (!!((((NU8)((*g).buf[pos])) == ((NU8)(0)) || ((NU8)((*g).buf[pos])) == ((NU8)(10)) || ((NU8)((*g).buf[pos])) == ((NU8)(13))))) goto LA60;
					TM_fRGlRrO1fEGjCBV7qCKpgg_326 = addInt(pos, ((NI) 1));
					pos = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_326);
				} LA60: ;
			}
		}
		break;
		case 10:
		case 13:
		{
		}
		break;
		default:
		{
			(*g).kind = ((tyEnum_TokenClass_UcAPDGzMlzghdb9c8MB7mEw) 1);
			(*g).state = ((tyEnum_TokenClass_UcAPDGzMlzghdb9c8MB7mEw) 32);
		}
		break;
		}
		{
			NIM_BOOL T65_;
			T65_ = (NIM_BOOL)0;
			T65_ = (((NU8)((*g).buf[pos])) == ((NU8)(10)) || ((NU8)((*g).buf[pos])) == ((NU8)(13)));
			if (!(T65_)) goto LA66_;
			T65_ = ((*g).state == ((tyEnum_TokenClass_UcAPDGzMlzghdb9c8MB7mEw) 27));
			LA66_: ;
			if (!T65_) goto LA67_;
			(*g).state = ((tyEnum_TokenClass_UcAPDGzMlzghdb9c8MB7mEw) 11);
		}
		LA67_: ;
	}
	goto LA1_;
	LA53_: ;
	{
		NI lookbehind;
		NI TM_fRGlRrO1fEGjCBV7qCKpgg_328;
		NI headerStart;
		NI indentation;
		NI parentIndentation;
		NI TM_fRGlRrO1fEGjCBV7qCKpgg_343;
		NI minIndentation;
		if (!((*g).state == ((tyEnum_TokenClass_UcAPDGzMlzghdb9c8MB7mEw) 11))) goto LA70_;
		(*g).kind = ((tyEnum_TokenClass_UcAPDGzMlzghdb9c8MB7mEw) 11);
		{
			if (!!((((NU8)((*g).buf[pos])) == ((NU8)(10)) || ((NU8)((*g).buf[pos])) == ((NU8)(13))))) goto LA74_;
			failedAssertImpl_W9cjVocn1tjhW7p7xohJj6A(((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_327));
		}
		LA74_: ;
		TM_fRGlRrO1fEGjCBV7qCKpgg_328 = subInt(pos, ((NI) 1));
		lookbehind = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_328);
		headerStart = ((NI) -1);
		{
			while (1) {
				NIM_BOOL T78_;
				NI TM_fRGlRrO1fEGjCBV7qCKpgg_329;
				T78_ = (NIM_BOOL)0;
				T78_ = (((NI) 0) <= lookbehind);
				if (!(T78_)) goto LA79_;
				T78_ = !((((NU8)((*g).buf[lookbehind])) == ((NU8)(10)) || ((NU8)((*g).buf[lookbehind])) == ((NU8)(13))));
				LA79_: ;
				if (!T78_) goto LA77;
				{
					NIM_BOOL T82_;
					T82_ = (NIM_BOOL)0;
					T82_ = (headerStart == ((NI) -1));
					if (!(T82_)) goto LA83_;
					T82_ = (((NU8)((*g).buf[lookbehind])) == ((NU8)(124)) || ((NU8)((*g).buf[lookbehind])) == ((NU8)(62)));
					LA83_: ;
					if (!T82_) goto LA84_;
					headerStart = lookbehind;
				}
				LA84_: ;
				TM_fRGlRrO1fEGjCBV7qCKpgg_329 = subInt(lookbehind, ((NI) 1));
				lookbehind = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_329);
			} LA77: ;
		}
		{
			if (!!(!((headerStart == ((NI) -1))))) goto LA88_;
			failedAssertImpl_W9cjVocn1tjhW7p7xohJj6A(((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_330));
		}
		LA88_: ;
		indentation = ((NI) 1);
		{
			while (1) {
				NI TM_fRGlRrO1fEGjCBV7qCKpgg_331;
				NI TM_fRGlRrO1fEGjCBV7qCKpgg_332;
				TM_fRGlRrO1fEGjCBV7qCKpgg_331 = addInt(lookbehind, indentation);
				if (!((NU8)((*g).buf[(NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_331)]) == (NU8)(32))) goto LA91;
				TM_fRGlRrO1fEGjCBV7qCKpgg_332 = addInt(indentation, ((NI) 1));
				indentation = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_332);
			} LA91: ;
		}
		{
			NI TM_fRGlRrO1fEGjCBV7qCKpgg_333;
			TM_fRGlRrO1fEGjCBV7qCKpgg_333 = addInt(lookbehind, indentation);
			if (!(((NU8)((*g).buf[(NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_333)])) == ((NU8)(124)) || ((NU8)((*g).buf[(NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_333)])) == ((NU8)(62)))) goto LA94_;
			{
				while (1) {
					NIM_BOOL T98_;
					NI TM_fRGlRrO1fEGjCBV7qCKpgg_334;
					T98_ = (NIM_BOOL)0;
					T98_ = (((NI) 0) <= lookbehind);
					if (!(T98_)) goto LA99_;
					T98_ = (((NU8)((*g).buf[lookbehind])) == ((NU8)(10)) || ((NU8)((*g).buf[lookbehind])) == ((NU8)(13)));
					LA99_: ;
					if (!T98_) goto LA97;
					TM_fRGlRrO1fEGjCBV7qCKpgg_334 = subInt(lookbehind, ((NI) 1));
					lookbehind = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_334);
					{
						while (1) {
							NIM_BOOL T102_;
							NI TM_fRGlRrO1fEGjCBV7qCKpgg_335;
							T102_ = (NIM_BOOL)0;
							T102_ = (((NI) 0) <= lookbehind);
							if (!(T102_)) goto LA103_;
							T102_ = (((NU8)((*g).buf[lookbehind])) == ((NU8)(32)) || ((NU8)((*g).buf[lookbehind])) == ((NU8)(9)));
							LA103_: ;
							if (!T102_) goto LA101;
							TM_fRGlRrO1fEGjCBV7qCKpgg_335 = subInt(lookbehind, ((NI) 1));
							lookbehind = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_335);
						} LA101: ;
					}
				} LA97: ;
			}
			{
				while (1) {
					NIM_BOOL T106_;
					NI TM_fRGlRrO1fEGjCBV7qCKpgg_336;
					T106_ = (NIM_BOOL)0;
					T106_ = (((NI) 0) <= lookbehind);
					if (!(T106_)) goto LA107_;
					T106_ = !((((NU8)((*g).buf[lookbehind])) == ((NU8)(10)) || ((NU8)((*g).buf[lookbehind])) == ((NU8)(13))));
					LA107_: ;
					if (!T106_) goto LA105;
					TM_fRGlRrO1fEGjCBV7qCKpgg_336 = subInt(lookbehind, ((NI) 1));
					lookbehind = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_336);
				} LA105: ;
			}
			indentation = ((NI) 1);
			{
				while (1) {
					NI TM_fRGlRrO1fEGjCBV7qCKpgg_337;
					NI TM_fRGlRrO1fEGjCBV7qCKpgg_338;
					TM_fRGlRrO1fEGjCBV7qCKpgg_337 = addInt(lookbehind, indentation);
					if (!((NU8)((*g).buf[(NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_337)]) == (NU8)(32))) goto LA109;
					TM_fRGlRrO1fEGjCBV7qCKpgg_338 = addInt(indentation, ((NI) 1));
					indentation = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_338);
				} LA109: ;
			}
		}
		LA94_: ;
		{
			if (!(lookbehind == ((NI) -1))) goto LA112_;
			indentation = ((NI) 0);
		}
		goto LA110_;
		LA112_: ;
		{
			NIM_BOOL T115_;
			NIM_BOOL T116_;
			NIM_BOOL T117_;
			NI TM_fRGlRrO1fEGjCBV7qCKpgg_339;
			NI TM_fRGlRrO1fEGjCBV7qCKpgg_340;
			NI TM_fRGlRrO1fEGjCBV7qCKpgg_341;
			NI TM_fRGlRrO1fEGjCBV7qCKpgg_342;
			T115_ = (NIM_BOOL)0;
			T116_ = (NIM_BOOL)0;
			T117_ = (NIM_BOOL)0;
			TM_fRGlRrO1fEGjCBV7qCKpgg_339 = addInt(lookbehind, ((NI) 1));
			T117_ = ((NU8)((*g).buf[(NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_339)]) == (NU8)(45));
			if (!(T117_)) goto LA118_;
			TM_fRGlRrO1fEGjCBV7qCKpgg_340 = addInt(lookbehind, ((NI) 2));
			T117_ = ((NU8)((*g).buf[(NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_340)]) == (NU8)(45));
			LA118_: ;
			T116_ = T117_;
			if (!(T116_)) goto LA119_;
			TM_fRGlRrO1fEGjCBV7qCKpgg_341 = addInt(lookbehind, ((NI) 3));
			T116_ = ((NU8)((*g).buf[(NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_341)]) == (NU8)(45));
			LA119_: ;
			T115_ = T116_;
			if (!(T115_)) goto LA120_;
			TM_fRGlRrO1fEGjCBV7qCKpgg_342 = addInt(lookbehind, ((NI) 4));
			T115_ = (((NU8)((*g).buf[(NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_342)])) >= ((NU8)(9)) && ((NU8)((*g).buf[(NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_342)])) <= ((NU8)(13)) || ((NU8)((*g).buf[(NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_342)])) == ((NU8)(32)));
			LA120_: ;
			if (!T115_) goto LA121_;
			indentation = ((NI) 0);
		}
		goto LA110_;
		LA121_: ;
		LA110_: ;
		TM_fRGlRrO1fEGjCBV7qCKpgg_343 = subInt(indentation, ((NI) 1));
		parentIndentation = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_343);
		{
			while (1) {
				NI TM_fRGlRrO1fEGjCBV7qCKpgg_345;
				if (!(((NU8)((*g).buf[pos])) == ((NU8)(32)) || ((NU8)((*g).buf[pos])) == ((NU8)(10)) || ((NU8)((*g).buf[pos])) == ((NU8)(13)))) goto LA124;
				{
					NI TM_fRGlRrO1fEGjCBV7qCKpgg_344;
					if (!((NU8)((*g).buf[pos]) == (NU8)(32))) goto LA127_;
					TM_fRGlRrO1fEGjCBV7qCKpgg_344 = addInt(indentation, ((NI) 1));
					indentation = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_344);
				}
				goto LA125_;
				LA127_: ;
				{
					indentation = ((NI) 0);
				}
				LA125_: ;
				TM_fRGlRrO1fEGjCBV7qCKpgg_345 = addInt(pos, ((NI) 1));
				pos = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_345);
			} LA124: ;
		}
		minIndentation = indentation;
		{
			while (1) {
				NI TM_fRGlRrO1fEGjCBV7qCKpgg_346;
				if (!(((NU8)((*g).buf[headerStart])) == ((NU8)(62)) || ((NU8)((*g).buf[headerStart])) == ((NU8)(124)) || ((NU8)((*g).buf[headerStart])) == ((NU8)(43)) || ((NU8)((*g).buf[headerStart])) == ((NU8)(45)))) goto LA131;
				TM_fRGlRrO1fEGjCBV7qCKpgg_346 = addInt(headerStart, ((NI) 1));
				headerStart = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_346);
			} LA131: ;
		}
		{
			NI TM_fRGlRrO1fEGjCBV7qCKpgg_347;
			if (!(((NU8)((*g).buf[headerStart])) >= ((NU8)(48)) && ((NU8)((*g).buf[headerStart])) <= ((NU8)(57)))) goto LA134_;
			TM_fRGlRrO1fEGjCBV7qCKpgg_347 = subInt(((NU8)((*g).buf[headerStart])), ((NI) 48));
			minIndentation = ((minIndentation <= (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_347)) ? minIndentation : (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_347));
		}
		LA134_: ;
		{
			while (1) {
				NIM_BOOL T138_;
				T138_ = (NIM_BOOL)0;
				T138_ = (parentIndentation < indentation);
				if (!(T138_)) goto LA139_;
				T138_ = !(((NU8)((*g).buf[pos]) == (NU8)(0)));
				LA139_: ;
				if (!T138_) goto LA137;
				{
					NIM_BOOL T142_;
					NIM_BOOL T143_;
					NIM_BOOL T146_;
					NIM_BOOL T147_;
					NIM_BOOL T148_;
					NIM_BOOL T149_;
					NI TM_fRGlRrO1fEGjCBV7qCKpgg_348;
					NI TM_fRGlRrO1fEGjCBV7qCKpgg_349;
					NI TM_fRGlRrO1fEGjCBV7qCKpgg_350;
					T142_ = (NIM_BOOL)0;
					T143_ = (NIM_BOOL)0;
					T143_ = (indentation < minIndentation);
					if (!(T143_)) goto LA144_;
					T143_ = ((NU8)((*g).buf[pos]) == (NU8)(35));
					LA144_: ;
					T142_ = T143_;
					if (T142_) goto LA145_;
					T146_ = (NIM_BOOL)0;
					T147_ = (NIM_BOOL)0;
					T148_ = (NIM_BOOL)0;
					T149_ = (NIM_BOOL)0;
					T149_ = (indentation == ((NI) 0));
					if (!(T149_)) goto LA150_;
					T149_ = ((NU8)((*g).buf[pos]) == (NU8)(46));
					LA150_: ;
					T148_ = T149_;
					if (!(T148_)) goto LA151_;
					TM_fRGlRrO1fEGjCBV7qCKpgg_348 = addInt(pos, ((NI) 1));
					T148_ = ((NU8)((*g).buf[(NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_348)]) == (NU8)(46));
					LA151_: ;
					T147_ = T148_;
					if (!(T147_)) goto LA152_;
					TM_fRGlRrO1fEGjCBV7qCKpgg_349 = addInt(pos, ((NI) 2));
					T147_ = ((NU8)((*g).buf[(NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_349)]) == (NU8)(46));
					LA152_: ;
					T146_ = T147_;
					if (!(T146_)) goto LA153_;
					TM_fRGlRrO1fEGjCBV7qCKpgg_350 = addInt(pos, ((NI) 3));
					T146_ = (((NU8)((*g).buf[(NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_350)])) == ((NU8)(0)) || ((NU8)((*g).buf[(NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_350)])) >= ((NU8)(9)) && ((NU8)((*g).buf[(NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_350)])) <= ((NU8)(13)) || ((NU8)((*g).buf[(NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_350)])) == ((NU8)(32)));
					LA153_: ;
					T142_ = T146_;
					LA145_: ;
					if (!T142_) goto LA154_;
					goto LA136;
				}
				LA154_: ;
				minIndentation = ((indentation <= minIndentation) ? indentation : minIndentation);
				{
					while (1) {
						NI TM_fRGlRrO1fEGjCBV7qCKpgg_351;
						if (!!((((NU8)((*g).buf[pos])) == ((NU8)(0)) || ((NU8)((*g).buf[pos])) == ((NU8)(10)) || ((NU8)((*g).buf[pos])) == ((NU8)(13))))) goto LA157;
						TM_fRGlRrO1fEGjCBV7qCKpgg_351 = addInt(pos, ((NI) 1));
						pos = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_351);
					} LA157: ;
				}
				{
					while (1) {
						NI TM_fRGlRrO1fEGjCBV7qCKpgg_353;
						if (!(((NU8)((*g).buf[pos])) == ((NU8)(32)) || ((NU8)((*g).buf[pos])) == ((NU8)(10)) || ((NU8)((*g).buf[pos])) == ((NU8)(13)))) goto LA159;
						{
							NI TM_fRGlRrO1fEGjCBV7qCKpgg_352;
							if (!((NU8)((*g).buf[pos]) == (NU8)(32))) goto LA162_;
							TM_fRGlRrO1fEGjCBV7qCKpgg_352 = addInt(indentation, ((NI) 1));
							indentation = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_352);
						}
						goto LA160_;
						LA162_: ;
						{
							indentation = ((NI) 0);
						}
						LA160_: ;
						TM_fRGlRrO1fEGjCBV7qCKpgg_353 = addInt(pos, ((NI) 1));
						pos = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_353);
					} LA159: ;
				}
			} LA137: ;
		} LA136: ;
		(*g).state = ((tyEnum_TokenClass_UcAPDGzMlzghdb9c8MB7mEw) 32);
	}
	goto LA1_;
	LA70_: ;
	{
		if (!((*g).state == ((tyEnum_TokenClass_UcAPDGzMlzghdb9c8MB7mEw) 32))) goto LA166_;
		switch (((NU8)((*g).buf[pos]))) {
		case 32:
		case 9 ... 13:
		{
			(*g).kind = ((tyEnum_TokenClass_UcAPDGzMlzghdb9c8MB7mEw) 2);
			{
				while (1) {
					NI TM_fRGlRrO1fEGjCBV7qCKpgg_354;
					if (!(((NU8)((*g).buf[pos])) == ((NU8)(32)) || ((NU8)((*g).buf[pos])) >= ((NU8)(9)) && ((NU8)((*g).buf[pos])) <= ((NU8)(13)))) goto LA170;
					TM_fRGlRrO1fEGjCBV7qCKpgg_354 = addInt(pos, ((NI) 1));
					pos = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_354);
				} LA170: ;
			}
		}
		break;
		case 35:
		{
			NI TM_fRGlRrO1fEGjCBV7qCKpgg_355;
			(*g).kind = ((tyEnum_TokenClass_UcAPDGzMlzghdb9c8MB7mEw) 16);
			TM_fRGlRrO1fEGjCBV7qCKpgg_355 = addInt(pos, ((NI) 1));
			pos = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_355);
			{
				while (1) {
					NI TM_fRGlRrO1fEGjCBV7qCKpgg_356;
					if (!!((((NU8)((*g).buf[pos])) == ((NU8)(0)) || ((NU8)((*g).buf[pos])) == ((NU8)(10)) || ((NU8)((*g).buf[pos])) == ((NU8)(13))))) goto LA173;
					TM_fRGlRrO1fEGjCBV7qCKpgg_356 = addInt(pos, ((NI) 1));
					pos = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_356);
				} LA173: ;
			}
		}
		break;
		case 45:
		{
			NI TM_fRGlRrO1fEGjCBV7qCKpgg_357;
			TM_fRGlRrO1fEGjCBV7qCKpgg_357 = addInt(pos, ((NI) 1));
			pos = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_357);
			{
				if (!(((NU8)((*g).buf[pos])) == ((NU8)(0)) || ((NU8)((*g).buf[pos])) == ((NU8)(32)) || ((NU8)((*g).buf[pos])) >= ((NU8)(9)) && ((NU8)((*g).buf[pos])) <= ((NU8)(13)))) goto LA177_;
				(*g).kind = ((tyEnum_TokenClass_UcAPDGzMlzghdb9c8MB7mEw) 15);
			}
			goto LA175_;
			LA177_: ;
			{
				NIM_BOOL T180_;
				NIM_BOOL T182_;
				NI TM_fRGlRrO1fEGjCBV7qCKpgg_358;
				NI TM_fRGlRrO1fEGjCBV7qCKpgg_359;
				T180_ = (NIM_BOOL)0;
				T180_ = ((NU8)((*g).buf[pos]) == (NU8)(45));
				if (!(T180_)) goto LA181_;
				T182_ = (NIM_BOOL)0;
				T182_ = (pos == ((NI) 1));
				if (T182_) goto LA183_;
				TM_fRGlRrO1fEGjCBV7qCKpgg_358 = subInt(pos, ((NI) 2));
				T182_ = (((NU8)((*g).buf[(NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_358)])) == ((NU8)(10)) || ((NU8)((*g).buf[(NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_358)])) == ((NU8)(13)));
				LA183_: ;
				T180_ = T182_;
				LA181_: ;
				if (!T180_) goto LA184_;
				TM_fRGlRrO1fEGjCBV7qCKpgg_359 = addInt(pos, ((NI) 1));
				pos = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_359);
				{
					NIM_BOOL T188_;
					NI TM_fRGlRrO1fEGjCBV7qCKpgg_360;
					NI TM_fRGlRrO1fEGjCBV7qCKpgg_361;
					T188_ = (NIM_BOOL)0;
					T188_ = ((NU8)((*g).buf[pos]) == (NU8)(45));
					if (!(T188_)) goto LA189_;
					TM_fRGlRrO1fEGjCBV7qCKpgg_360 = addInt(pos, ((NI) 1));
					T188_ = (((NU8)((*g).buf[(NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_360)])) == ((NU8)(0)) || ((NU8)((*g).buf[(NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_360)])) >= ((NU8)(9)) && ((NU8)((*g).buf[(NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_360)])) <= ((NU8)(13)) || ((NU8)((*g).buf[(NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_360)])) == ((NU8)(32)));
					LA189_: ;
					if (!T188_) goto LA190_;
					TM_fRGlRrO1fEGjCBV7qCKpgg_361 = addInt(pos, ((NI) 1));
					pos = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_361);
					(*g).kind = ((tyEnum_TokenClass_UcAPDGzMlzghdb9c8MB7mEw) 9);
				}
				goto LA186_;
				LA190_: ;
				{
					yamlPossibleNumber_ttGpPUa5Kch9bqZf8mE4Niw(g, (&pos));
				}
				LA186_: ;
			}
			goto LA175_;
			LA184_: ;
			{
				yamlPossibleNumber_ttGpPUa5Kch9bqZf8mE4Niw(g, (&pos));
			}
			LA175_: ;
		}
		break;
		case 46:
		{
			{
				NIM_BOOL T197_;
				NI TM_fRGlRrO1fEGjCBV7qCKpgg_374;
				NI TM_fRGlRrO1fEGjCBV7qCKpgg_375;
				T197_ = (NIM_BOOL)0;
				T197_ = (pos == ((NI) 0));
				if (T197_) goto LA198_;
				TM_fRGlRrO1fEGjCBV7qCKpgg_374 = subInt(pos, ((NI) 1));
				T197_ = (((NU8)((*g).buf[(NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_374)])) == ((NU8)(10)) || ((NU8)((*g).buf[(NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_374)])) == ((NU8)(13)));
				LA198_: ;
				if (!T197_) goto LA199_;
				TM_fRGlRrO1fEGjCBV7qCKpgg_375 = addInt(pos, ((NI) 1));
				pos = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_375);
				{
					NI i_4;
					NI res_4;
					i_4 = (NI)0;
					res_4 = ((NI) 1);
					{
						while (1) {
							NI TM_fRGlRrO1fEGjCBV7qCKpgg_376;
							NI TM_fRGlRrO1fEGjCBV7qCKpgg_377;
							if (!(res_4 <= ((NI) 2))) goto LA203;
							i_4 = res_4;
							{
								if (!!(((NU8)((*g).buf[pos]) == (NU8)(46)))) goto LA206_;
								goto LA201;
							}
							LA206_: ;
							TM_fRGlRrO1fEGjCBV7qCKpgg_376 = addInt(pos, ((NI) 1));
							pos = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_376);
							TM_fRGlRrO1fEGjCBV7qCKpgg_377 = addInt(res_4, ((NI) 1));
							res_4 = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_377);
						} LA203: ;
					}
				} LA201: ;
				{
					NI TM_fRGlRrO1fEGjCBV7qCKpgg_378;
					TM_fRGlRrO1fEGjCBV7qCKpgg_378 = addInt((*g).start, ((NI) 3));
					if (!(pos == (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_378))) goto LA210_;
					(*g).kind = ((tyEnum_TokenClass_UcAPDGzMlzghdb9c8MB7mEw) 9);
					(*g).state = ((tyEnum_TokenClass_UcAPDGzMlzghdb9c8MB7mEw) 1);
				}
				goto LA208_;
				LA210_: ;
				{
					yamlPlainStrLit_ttGpPUa5Kch9bqZf8mE4Niw_2(g, (&pos));
				}
				LA208_: ;
			}
			goto LA195_;
			LA199_: ;
			{
				yamlPlainStrLit_ttGpPUa5Kch9bqZf8mE4Niw_2(g, (&pos));
			}
			LA195_: ;
		}
		break;
		case 63:
		{
			NI TM_fRGlRrO1fEGjCBV7qCKpgg_379;
			TM_fRGlRrO1fEGjCBV7qCKpgg_379 = addInt(pos, ((NI) 1));
			pos = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_379);
			{
				if (!(((NU8)((*g).buf[pos])) == ((NU8)(0)) || ((NU8)((*g).buf[pos])) == ((NU8)(32)) || ((NU8)((*g).buf[pos])) >= ((NU8)(9)) && ((NU8)((*g).buf[pos])) <= ((NU8)(13)))) goto LA217_;
				(*g).kind = ((tyEnum_TokenClass_UcAPDGzMlzghdb9c8MB7mEw) 15);
			}
			goto LA215_;
			LA217_: ;
			{
				yamlPlainStrLit_ttGpPUa5Kch9bqZf8mE4Niw_2(g, (&pos));
			}
			LA215_: ;
		}
		break;
		case 58:
		{
			NI TM_fRGlRrO1fEGjCBV7qCKpgg_380;
			TM_fRGlRrO1fEGjCBV7qCKpgg_380 = addInt(pos, ((NI) 1));
			pos = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_380);
			{
				NIM_BOOL T223_;
				NIM_BOOL T225_;
				NI TM_fRGlRrO1fEGjCBV7qCKpgg_381;
				T223_ = (NIM_BOOL)0;
				T223_ = (((NU8)((*g).buf[pos])) == ((NU8)(0)) || ((NU8)((*g).buf[pos])) >= ((NU8)(9)) && ((NU8)((*g).buf[pos])) <= ((NU8)(13)) || ((NU8)((*g).buf[pos])) == ((NU8)(32)) || ((NU8)((*g).buf[pos])) == ((NU8)(39)) || ((NU8)((*g).buf[pos])) == ((NU8)(34)));
				if (T223_) goto LA224_;
				T225_ = (NIM_BOOL)0;
				T225_ = (((NI) 0) < pos);
				if (!(T225_)) goto LA226_;
				TM_fRGlRrO1fEGjCBV7qCKpgg_381 = subInt(pos, ((NI) 2));
				T225_ = (((NU8)((*g).buf[(NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_381)])) == ((NU8)(125)) || ((NU8)((*g).buf[(NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_381)])) == ((NU8)(93)) || ((NU8)((*g).buf[(NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_381)])) == ((NU8)(34)) || ((NU8)((*g).buf[(NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_381)])) == ((NU8)(39)));
				LA226_: ;
				T223_ = T225_;
				LA224_: ;
				if (!T223_) goto LA227_;
				(*g).kind = ((tyEnum_TokenClass_UcAPDGzMlzghdb9c8MB7mEw) 15);
			}
			goto LA221_;
			LA227_: ;
			{
				yamlPlainStrLit_ttGpPUa5Kch9bqZf8mE4Niw_2(g, (&pos));
			}
			LA221_: ;
		}
		break;
		case 91:
		case 93:
		case 123:
		case 125:
		case 44:
		{
			NI TM_fRGlRrO1fEGjCBV7qCKpgg_382;
			TM_fRGlRrO1fEGjCBV7qCKpgg_382 = addInt(pos, ((NI) 1));
			pos = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_382);
			(*g).kind = ((tyEnum_TokenClass_UcAPDGzMlzghdb9c8MB7mEw) 15);
		}
		break;
		case 34:
		{
			NI TM_fRGlRrO1fEGjCBV7qCKpgg_383;
			TM_fRGlRrO1fEGjCBV7qCKpgg_383 = addInt(pos, ((NI) 1));
			pos = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_383);
			(*g).state = ((tyEnum_TokenClass_UcAPDGzMlzghdb9c8MB7mEw) 10);
			(*g).kind = ((tyEnum_TokenClass_UcAPDGzMlzghdb9c8MB7mEw) 10);
		}
		break;
		case 39:
		{
			(*g).state = ((tyEnum_TokenClass_UcAPDGzMlzghdb9c8MB7mEw) 12);
			(*g).kind = ((tyEnum_TokenClass_UcAPDGzMlzghdb9c8MB7mEw) 1);
		}
		break;
		case 33:
		{
			NI TM_fRGlRrO1fEGjCBV7qCKpgg_384;
			(*g).kind = ((tyEnum_TokenClass_UcAPDGzMlzghdb9c8MB7mEw) 19);
			TM_fRGlRrO1fEGjCBV7qCKpgg_384 = addInt(pos, ((NI) 1));
			pos = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_384);
			{
				if (!((NU8)((*g).buf[pos]) == (NU8)(60))) goto LA236_;
				{
					while (1) {
						NI TM_fRGlRrO1fEGjCBV7qCKpgg_385;
						if (!!((((NU8)((*g).buf[pos])) == ((NU8)(0)) || ((NU8)((*g).buf[pos])) == ((NU8)(62)) || ((NU8)((*g).buf[pos])) >= ((NU8)(9)) && ((NU8)((*g).buf[pos])) <= ((NU8)(13)) || ((NU8)((*g).buf[pos])) == ((NU8)(32))))) goto LA239;
						TM_fRGlRrO1fEGjCBV7qCKpgg_385 = addInt(pos, ((NI) 1));
						pos = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_385);
					} LA239: ;
				}
				{
					NI TM_fRGlRrO1fEGjCBV7qCKpgg_386;
					if (!((NU8)((*g).buf[pos]) == (NU8)(62))) goto LA242_;
					TM_fRGlRrO1fEGjCBV7qCKpgg_386 = addInt(pos, ((NI) 1));
					pos = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_386);
				}
				LA242_: ;
			}
			goto LA234_;
			LA236_: ;
			{
				{
					while (1) {
						NI TM_fRGlRrO1fEGjCBV7qCKpgg_387;
						if (!(((NU8)((*g).buf[pos])) >= ((NU8)(65)) && ((NU8)((*g).buf[pos])) <= ((NU8)(90)) || ((NU8)((*g).buf[pos])) >= ((NU8)(97)) && ((NU8)((*g).buf[pos])) <= ((NU8)(122)) || ((NU8)((*g).buf[pos])) >= ((NU8)(48)) && ((NU8)((*g).buf[pos])) <= ((NU8)(57)) || ((NU8)((*g).buf[pos])) == ((NU8)(45)))) goto LA246;
						TM_fRGlRrO1fEGjCBV7qCKpgg_387 = addInt(pos, ((NI) 1));
						pos = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_387);
					} LA246: ;
				}
				switch (((NU8)((*g).buf[pos]))) {
				case 33:
				{
					NI TM_fRGlRrO1fEGjCBV7qCKpgg_388;
					TM_fRGlRrO1fEGjCBV7qCKpgg_388 = addInt(pos, ((NI) 1));
					pos = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_388);
					{
						while (1) {
							NI TM_fRGlRrO1fEGjCBV7qCKpgg_389;
							if (!!((((NU8)((*g).buf[pos])) == ((NU8)(0)) || ((NU8)((*g).buf[pos])) >= ((NU8)(9)) && ((NU8)((*g).buf[pos])) <= ((NU8)(13)) || ((NU8)((*g).buf[pos])) == ((NU8)(32)) || ((NU8)((*g).buf[pos])) == ((NU8)(44)) || ((NU8)((*g).buf[pos])) == ((NU8)(91)) || ((NU8)((*g).buf[pos])) == ((NU8)(93)) || ((NU8)((*g).buf[pos])) == ((NU8)(123)) || ((NU8)((*g).buf[pos])) == ((NU8)(125))))) goto LA249;
							TM_fRGlRrO1fEGjCBV7qCKpgg_389 = addInt(pos, ((NI) 1));
							pos = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_389);
						} LA249: ;
					}
				}
				break;
				case 0:
				case 9 ... 13:
				case 32:
				{
				}
				break;
				default:
				{
					{
						while (1) {
							NI TM_fRGlRrO1fEGjCBV7qCKpgg_390;
							if (!!((((NU8)((*g).buf[pos])) == ((NU8)(0)) || ((NU8)((*g).buf[pos])) >= ((NU8)(9)) && ((NU8)((*g).buf[pos])) <= ((NU8)(13)) || ((NU8)((*g).buf[pos])) == ((NU8)(32))))) goto LA253;
							TM_fRGlRrO1fEGjCBV7qCKpgg_390 = addInt(pos, ((NI) 1));
							pos = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_390);
						} LA253: ;
					}
				}
				break;
				}
			}
			LA234_: ;
		}
		break;
		case 38:
		{
			(*g).kind = ((tyEnum_TokenClass_UcAPDGzMlzghdb9c8MB7mEw) 30);
			{
				while (1) {
					NI TM_fRGlRrO1fEGjCBV7qCKpgg_391;
					if (!!((((NU8)((*g).buf[pos])) == ((NU8)(0)) || ((NU8)((*g).buf[pos])) >= ((NU8)(9)) && ((NU8)((*g).buf[pos])) <= ((NU8)(13)) || ((NU8)((*g).buf[pos])) == ((NU8)(32))))) goto LA256;
					TM_fRGlRrO1fEGjCBV7qCKpgg_391 = addInt(pos, ((NI) 1));
					pos = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_391);
				} LA256: ;
			}
		}
		break;
		case 42:
		{
			(*g).kind = ((tyEnum_TokenClass_UcAPDGzMlzghdb9c8MB7mEw) 31);
			{
				while (1) {
					NI TM_fRGlRrO1fEGjCBV7qCKpgg_392;
					if (!!((((NU8)((*g).buf[pos])) == ((NU8)(0)) || ((NU8)((*g).buf[pos])) >= ((NU8)(9)) && ((NU8)((*g).buf[pos])) <= ((NU8)(13)) || ((NU8)((*g).buf[pos])) == ((NU8)(32))))) goto LA259;
					TM_fRGlRrO1fEGjCBV7qCKpgg_392 = addInt(pos, ((NI) 1));
					pos = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_392);
				} LA259: ;
			}
		}
		break;
		case 124:
		case 62:
		{
			NI TM_fRGlRrO1fEGjCBV7qCKpgg_393;
			(*g).kind = ((tyEnum_TokenClass_UcAPDGzMlzghdb9c8MB7mEw) 27);
			(*g).state = ((tyEnum_TokenClass_UcAPDGzMlzghdb9c8MB7mEw) 27);
			TM_fRGlRrO1fEGjCBV7qCKpgg_393 = addInt(pos, ((NI) 1));
			pos = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_393);
			{
				while (1) {
					NI TM_fRGlRrO1fEGjCBV7qCKpgg_394;
					if (!(((NU8)((*g).buf[pos])) >= ((NU8)(48)) && ((NU8)((*g).buf[pos])) <= ((NU8)(57)) || ((NU8)((*g).buf[pos])) == ((NU8)(43)) || ((NU8)((*g).buf[pos])) == ((NU8)(45)))) goto LA262;
					TM_fRGlRrO1fEGjCBV7qCKpgg_394 = addInt(pos, ((NI) 1));
					pos = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_394);
				} LA262: ;
			}
		}
		break;
		case 48 ... 57:
		{
			yamlPossibleNumber_ttGpPUa5Kch9bqZf8mE4Niw(g, (&pos));
		}
		break;
		case 0:
		{
			(*g).kind = ((tyEnum_TokenClass_UcAPDGzMlzghdb9c8MB7mEw) 0);
		}
		break;
		default:
		{
			yamlPlainStrLit_ttGpPUa5Kch9bqZf8mE4Niw_2(g, (&pos));
		}
		break;
		}
	}
	goto LA1_;
	LA166_: ;
	{
		switch (((NU8)((*g).buf[pos]))) {
		case 37:
		{
			{
				NIM_BOOL T270_;
				NI TM_fRGlRrO1fEGjCBV7qCKpgg_395;
				T270_ = (NIM_BOOL)0;
				T270_ = (pos == ((NI) 0));
				if (T270_) goto LA271_;
				TM_fRGlRrO1fEGjCBV7qCKpgg_395 = subInt(pos, ((NI) 1));
				T270_ = (((NU8)((*g).buf[(NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_395)])) == ((NU8)(10)) || ((NU8)((*g).buf[(NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_395)])) == ((NU8)(13)));
				LA271_: ;
				if (!T270_) goto LA272_;
				(*g).kind = ((tyEnum_TokenClass_UcAPDGzMlzghdb9c8MB7mEw) 26);
				{
					while (1) {
						NI TM_fRGlRrO1fEGjCBV7qCKpgg_396;
						if (!!((((NU8)((*g).buf[pos])) == ((NU8)(0)) || ((NU8)((*g).buf[pos])) == ((NU8)(10)) || ((NU8)((*g).buf[pos])) == ((NU8)(13))))) goto LA275;
						TM_fRGlRrO1fEGjCBV7qCKpgg_396 = addInt(pos, ((NI) 1));
						pos = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_396);
					} LA275: ;
				}
			}
			goto LA268_;
			LA272_: ;
			{
				(*g).state = ((tyEnum_TokenClass_UcAPDGzMlzghdb9c8MB7mEw) 32);
				yamlPlainStrLit_ttGpPUa5Kch9bqZf8mE4Niw_2(g, (&pos));
			}
			LA268_: ;
		}
		break;
		case 32:
		case 9 ... 13:
		{
			(*g).kind = ((tyEnum_TokenClass_UcAPDGzMlzghdb9c8MB7mEw) 2);
			{
				while (1) {
					NI TM_fRGlRrO1fEGjCBV7qCKpgg_397;
					if (!(((NU8)((*g).buf[pos])) == ((NU8)(32)) || ((NU8)((*g).buf[pos])) >= ((NU8)(9)) && ((NU8)((*g).buf[pos])) <= ((NU8)(13)))) goto LA279;
					TM_fRGlRrO1fEGjCBV7qCKpgg_397 = addInt(pos, ((NI) 1));
					pos = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_397);
				} LA279: ;
			}
		}
		break;
		case 35:
		{
			(*g).kind = ((tyEnum_TokenClass_UcAPDGzMlzghdb9c8MB7mEw) 16);
			{
				while (1) {
					NI TM_fRGlRrO1fEGjCBV7qCKpgg_398;
					if (!!((((NU8)((*g).buf[pos])) == ((NU8)(0)) || ((NU8)((*g).buf[pos])) == ((NU8)(10)) || ((NU8)((*g).buf[pos])) == ((NU8)(13))))) goto LA282;
					TM_fRGlRrO1fEGjCBV7qCKpgg_398 = addInt(pos, ((NI) 1));
					pos = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_398);
				} LA282: ;
			}
		}
		break;
		case 0:
		{
			(*g).kind = ((tyEnum_TokenClass_UcAPDGzMlzghdb9c8MB7mEw) 0);
		}
		break;
		default:
		{
			(*g).kind = ((tyEnum_TokenClass_UcAPDGzMlzghdb9c8MB7mEw) 1);
			(*g).state = ((tyEnum_TokenClass_UcAPDGzMlzghdb9c8MB7mEw) 32);
		}
		break;
		}
	}
	LA1_: ;
	TM_fRGlRrO1fEGjCBV7qCKpgg_399 = subInt(pos, (*g).pos);
	(*g).length = (NI)(TM_fRGlRrO1fEGjCBV7qCKpgg_399);
	(*g).pos = pos;
}

N_LIB_PRIVATE N_NIMCALL(void, getNextToken_9axtJQpZ5U9aGuyq519c9axprw)(tyObject_GeneralTokenizer_XJrmQSLLjVmugZQb54lVWA* g, tyEnum_SourceLanguage_LpbEPkKqvJ0VCa4hwZcOBQ lang) {
	switch (lang) {
	case ((tyEnum_SourceLanguage_LpbEPkKqvJ0VCa4hwZcOBQ) 0):
	{
		{
			if (!NIM_TRUE) goto LA4_;
			failedAssertImpl_W9cjVocn1tjhW7p7xohJj6A(((NimStringDesc*) &TM_fRGlRrO1fEGjCBV7qCKpgg_18));
		}
		LA4_: ;
	}
	break;
	case ((tyEnum_SourceLanguage_LpbEPkKqvJ0VCa4hwZcOBQ) 1):
	{
		nimNextToken_9a3JlWX9cxQaYCTvq9c0xqGpQ(g);
	}
	break;
	case ((tyEnum_SourceLanguage_LpbEPkKqvJ0VCa4hwZcOBQ) 2):
	{
		cppNextToken_9a3JlWX9cxQaYCTvq9c0xqGpQ_2(g);
	}
	break;
	case ((tyEnum_SourceLanguage_LpbEPkKqvJ0VCa4hwZcOBQ) 3):
	{
		csharpNextToken_9a3JlWX9cxQaYCTvq9c0xqGpQ_3(g);
	}
	break;
	case ((tyEnum_SourceLanguage_LpbEPkKqvJ0VCa4hwZcOBQ) 4):
	{
		cNextToken_9a3JlWX9cxQaYCTvq9c0xqGpQ_4(g);
	}
	break;
	case ((tyEnum_SourceLanguage_LpbEPkKqvJ0VCa4hwZcOBQ) 5):
	{
		javaNextToken_9a3JlWX9cxQaYCTvq9c0xqGpQ_5(g);
	}
	break;
	case ((tyEnum_SourceLanguage_LpbEPkKqvJ0VCa4hwZcOBQ) 6):
	{
		yamlNextToken_9a3JlWX9cxQaYCTvq9c0xqGpQ_6(g);
	}
	break;
	}
}

N_LIB_PRIVATE N_NIMCALL(void, deinitGeneralTokenizer_9a3JlWX9cxQaYCTvq9c0xqGpQ_7)(tyObject_GeneralTokenizer_XJrmQSLLjVmugZQb54lVWA* g) {
}
N_LIB_PRIVATE N_NIMCALL(void, docutils_highliteDatInit000)(void) {
static TNimNode* TM_fRGlRrO1fEGjCBV7qCKpgg_2_7[7];
NI TM_fRGlRrO1fEGjCBV7qCKpgg_4;
static char* NIM_CONST TM_fRGlRrO1fEGjCBV7qCKpgg_3[7] = {
"langNone", 
"langNim", 
"langCpp", 
"langCsharp", 
"langC", 
"langJava", 
"langYaml"};
static TNimNode* TM_fRGlRrO1fEGjCBV7qCKpgg_13_6[6];
static TNimNode* TM_fRGlRrO1fEGjCBV7qCKpgg_14_33[33];
NI TM_fRGlRrO1fEGjCBV7qCKpgg_16;
static char* NIM_CONST TM_fRGlRrO1fEGjCBV7qCKpgg_15[33] = {
"gtEof", 
"gtNone", 
"gtWhitespace", 
"gtDecNumber", 
"gtBinNumber", 
"gtHexNumber", 
"gtOctNumber", 
"gtFloatNumber", 
"gtIdentifier", 
"gtKeyword", 
"gtStringLit", 
"gtLongStringLit", 
"gtCharLit", 
"gtEscapeSequence", 
"gtOperator", 
"gtPunctuation", 
"gtComment", 
"gtLongComment", 
"gtRegularExpression", 
"gtTagStart", 
"gtTagEnd", 
"gtKey", 
"gtValue", 
"gtRawData", 
"gtAssembler", 
"gtPreprocessor", 
"gtDirective", 
"gtCommand", 
"gtRule", 
"gtHyperlink", 
"gtLabel", 
"gtReference", 
"gtOther"};
static TNimNode TM_fRGlRrO1fEGjCBV7qCKpgg_0[49];
NTI_LpbEPkKqvJ0VCa4hwZcOBQ_.size = sizeof(tyEnum_SourceLanguage_LpbEPkKqvJ0VCa4hwZcOBQ);
NTI_LpbEPkKqvJ0VCa4hwZcOBQ_.kind = 14;
NTI_LpbEPkKqvJ0VCa4hwZcOBQ_.base = 0;
NTI_LpbEPkKqvJ0VCa4hwZcOBQ_.flags = 3;
for (TM_fRGlRrO1fEGjCBV7qCKpgg_4 = 0; TM_fRGlRrO1fEGjCBV7qCKpgg_4 < 7; TM_fRGlRrO1fEGjCBV7qCKpgg_4++) {
TM_fRGlRrO1fEGjCBV7qCKpgg_0[TM_fRGlRrO1fEGjCBV7qCKpgg_4+0].kind = 1;
TM_fRGlRrO1fEGjCBV7qCKpgg_0[TM_fRGlRrO1fEGjCBV7qCKpgg_4+0].offset = TM_fRGlRrO1fEGjCBV7qCKpgg_4;
TM_fRGlRrO1fEGjCBV7qCKpgg_0[TM_fRGlRrO1fEGjCBV7qCKpgg_4+0].name = TM_fRGlRrO1fEGjCBV7qCKpgg_3[TM_fRGlRrO1fEGjCBV7qCKpgg_4];
TM_fRGlRrO1fEGjCBV7qCKpgg_2_7[TM_fRGlRrO1fEGjCBV7qCKpgg_4] = &TM_fRGlRrO1fEGjCBV7qCKpgg_0[TM_fRGlRrO1fEGjCBV7qCKpgg_4+0];
}
TM_fRGlRrO1fEGjCBV7qCKpgg_0[7].len = 7; TM_fRGlRrO1fEGjCBV7qCKpgg_0[7].kind = 2; TM_fRGlRrO1fEGjCBV7qCKpgg_0[7].sons = &TM_fRGlRrO1fEGjCBV7qCKpgg_2_7[0];
NTI_LpbEPkKqvJ0VCa4hwZcOBQ_.node = &TM_fRGlRrO1fEGjCBV7qCKpgg_0[7];
NTI_XJrmQSLLjVmugZQb54lVWA_.size = sizeof(tyObject_GeneralTokenizer_XJrmQSLLjVmugZQb54lVWA);
NTI_XJrmQSLLjVmugZQb54lVWA_.kind = 17;
NTI_XJrmQSLLjVmugZQb54lVWA_.base = (&NTI_ytyiCJqK439aF9cIibuRVpAg_);
NTI_XJrmQSLLjVmugZQb54lVWA_.flags = 1;
TM_fRGlRrO1fEGjCBV7qCKpgg_13_6[0] = &TM_fRGlRrO1fEGjCBV7qCKpgg_0[9];
NTI_UcAPDGzMlzghdb9c8MB7mEw_.size = sizeof(tyEnum_TokenClass_UcAPDGzMlzghdb9c8MB7mEw);
NTI_UcAPDGzMlzghdb9c8MB7mEw_.kind = 14;
NTI_UcAPDGzMlzghdb9c8MB7mEw_.base = 0;
NTI_UcAPDGzMlzghdb9c8MB7mEw_.flags = 3;
for (TM_fRGlRrO1fEGjCBV7qCKpgg_16 = 0; TM_fRGlRrO1fEGjCBV7qCKpgg_16 < 33; TM_fRGlRrO1fEGjCBV7qCKpgg_16++) {
TM_fRGlRrO1fEGjCBV7qCKpgg_0[TM_fRGlRrO1fEGjCBV7qCKpgg_16+10].kind = 1;
TM_fRGlRrO1fEGjCBV7qCKpgg_0[TM_fRGlRrO1fEGjCBV7qCKpgg_16+10].offset = TM_fRGlRrO1fEGjCBV7qCKpgg_16;
TM_fRGlRrO1fEGjCBV7qCKpgg_0[TM_fRGlRrO1fEGjCBV7qCKpgg_16+10].name = TM_fRGlRrO1fEGjCBV7qCKpgg_15[TM_fRGlRrO1fEGjCBV7qCKpgg_16];
TM_fRGlRrO1fEGjCBV7qCKpgg_14_33[TM_fRGlRrO1fEGjCBV7qCKpgg_16] = &TM_fRGlRrO1fEGjCBV7qCKpgg_0[TM_fRGlRrO1fEGjCBV7qCKpgg_16+10];
}
TM_fRGlRrO1fEGjCBV7qCKpgg_0[43].len = 33; TM_fRGlRrO1fEGjCBV7qCKpgg_0[43].kind = 2; TM_fRGlRrO1fEGjCBV7qCKpgg_0[43].sons = &TM_fRGlRrO1fEGjCBV7qCKpgg_14_33[0];
NTI_UcAPDGzMlzghdb9c8MB7mEw_.node = &TM_fRGlRrO1fEGjCBV7qCKpgg_0[43];
TM_fRGlRrO1fEGjCBV7qCKpgg_0[9].kind = 1;
TM_fRGlRrO1fEGjCBV7qCKpgg_0[9].offset = offsetof(tyObject_GeneralTokenizer_XJrmQSLLjVmugZQb54lVWA, kind);
TM_fRGlRrO1fEGjCBV7qCKpgg_0[9].typ = (&NTI_UcAPDGzMlzghdb9c8MB7mEw_);
TM_fRGlRrO1fEGjCBV7qCKpgg_0[9].name = "kind";
TM_fRGlRrO1fEGjCBV7qCKpgg_13_6[1] = &TM_fRGlRrO1fEGjCBV7qCKpgg_0[44];
TM_fRGlRrO1fEGjCBV7qCKpgg_0[44].kind = 1;
TM_fRGlRrO1fEGjCBV7qCKpgg_0[44].offset = offsetof(tyObject_GeneralTokenizer_XJrmQSLLjVmugZQb54lVWA, start);
TM_fRGlRrO1fEGjCBV7qCKpgg_0[44].typ = (&NTI_rR5Bzr1D5krxoo1NcNyeMA_);
TM_fRGlRrO1fEGjCBV7qCKpgg_0[44].name = "start";
TM_fRGlRrO1fEGjCBV7qCKpgg_13_6[2] = &TM_fRGlRrO1fEGjCBV7qCKpgg_0[45];
TM_fRGlRrO1fEGjCBV7qCKpgg_0[45].kind = 1;
TM_fRGlRrO1fEGjCBV7qCKpgg_0[45].offset = offsetof(tyObject_GeneralTokenizer_XJrmQSLLjVmugZQb54lVWA, length);
TM_fRGlRrO1fEGjCBV7qCKpgg_0[45].typ = (&NTI_rR5Bzr1D5krxoo1NcNyeMA_);
TM_fRGlRrO1fEGjCBV7qCKpgg_0[45].name = "length";
TM_fRGlRrO1fEGjCBV7qCKpgg_13_6[3] = &TM_fRGlRrO1fEGjCBV7qCKpgg_0[46];
TM_fRGlRrO1fEGjCBV7qCKpgg_0[46].kind = 1;
TM_fRGlRrO1fEGjCBV7qCKpgg_0[46].offset = offsetof(tyObject_GeneralTokenizer_XJrmQSLLjVmugZQb54lVWA, buf);
TM_fRGlRrO1fEGjCBV7qCKpgg_0[46].typ = (&NTI_S9agCYBinaYZnGWcjTdxclg_);
TM_fRGlRrO1fEGjCBV7qCKpgg_0[46].name = "buf";
TM_fRGlRrO1fEGjCBV7qCKpgg_13_6[4] = &TM_fRGlRrO1fEGjCBV7qCKpgg_0[47];
TM_fRGlRrO1fEGjCBV7qCKpgg_0[47].kind = 1;
TM_fRGlRrO1fEGjCBV7qCKpgg_0[47].offset = offsetof(tyObject_GeneralTokenizer_XJrmQSLLjVmugZQb54lVWA, pos);
TM_fRGlRrO1fEGjCBV7qCKpgg_0[47].typ = (&NTI_rR5Bzr1D5krxoo1NcNyeMA_);
TM_fRGlRrO1fEGjCBV7qCKpgg_0[47].name = "pos";
TM_fRGlRrO1fEGjCBV7qCKpgg_13_6[5] = &TM_fRGlRrO1fEGjCBV7qCKpgg_0[48];
TM_fRGlRrO1fEGjCBV7qCKpgg_0[48].kind = 1;
TM_fRGlRrO1fEGjCBV7qCKpgg_0[48].offset = offsetof(tyObject_GeneralTokenizer_XJrmQSLLjVmugZQb54lVWA, state);
TM_fRGlRrO1fEGjCBV7qCKpgg_0[48].typ = (&NTI_UcAPDGzMlzghdb9c8MB7mEw_);
TM_fRGlRrO1fEGjCBV7qCKpgg_0[48].name = "state";
TM_fRGlRrO1fEGjCBV7qCKpgg_0[8].len = 6; TM_fRGlRrO1fEGjCBV7qCKpgg_0[8].kind = 2; TM_fRGlRrO1fEGjCBV7qCKpgg_0[8].sons = &TM_fRGlRrO1fEGjCBV7qCKpgg_13_6[0];
NTI_XJrmQSLLjVmugZQb54lVWA_.node = &TM_fRGlRrO1fEGjCBV7qCKpgg_0[8];
}

