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

#include "nimbase.h"
#include <string.h>
#include <stdio.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 tyTuple__JfHvHzMrhKkWAUvQKe0i1A tyTuple__JfHvHzMrhKkWAUvQKe0i1A;
typedef struct tyObject_Env_rstdotnim___diB2NTuAIWY0FO9c5IUJRGg tyObject_Env_rstdotnim___diB2NTuAIWY0FO9c5IUJRGg;
typedef struct NimStringDesc NimStringDesc;
typedef struct TGenericSeq TGenericSeq;
typedef struct tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg;
typedef struct tySequence__sawZST1Esj3o7EY9ayWwGPw tySequence__sawZST1Esj3o7EY9ayWwGPw;
typedef struct tyObject_RstParser__DC0I80p3rKpwC6ms59ctfpg tyObject_RstParser__DC0I80p3rKpwC6ms59ctfpg;
typedef struct RootObj RootObj;
typedef struct tySequence__P8hOR7sdW9cxlcQApQ4kJNA tySequence__P8hOR7sdW9cxlcQApQ4kJNA;
typedef struct tyObject_SharedState__Nr0J1e0ojmHBVIgRtvSZjw tyObject_SharedState__Nr0J1e0ojmHBVIgRtvSZjw;
typedef struct tySequence__qwqHTkRvwhrRyENtudHQ7g tySequence__qwqHTkRvwhrRyENtudHQ7g;
typedef struct tyObject_Token__9cnCC036DOlVv9c9aESuaQcBw tyObject_Token__9cnCC036DOlVv9c9aESuaQcBw;
typedef struct tySequence__KttZgRE9cmIMvHjR6Gj9a89ag tySequence__KttZgRE9cmIMvHjR6Gj9a89ag;
typedef struct tyObject_Substitution__WneU8C8OSOpUr8oGzt2hBA tyObject_Substitution__WneU8C8OSOpUr8oGzt2hBA;
typedef struct tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g;
typedef struct tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w;
typedef struct tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ;
typedef struct tyObject_GcStack__7fytPA5bBsob6See21YMRA tyObject_GcStack__7fytPA5bBsob6See21YMRA;
typedef struct tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg;
typedef struct tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ;
typedef struct tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg;
typedef struct tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw;
typedef struct tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA;
typedef struct tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw;
typedef struct tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw;
typedef struct tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg;
typedef struct tyTuple__ujsjpB2O9cjj3uDHsXbnSzg tyTuple__ujsjpB2O9cjj3uDHsXbnSzg;
typedef struct tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg;
typedef struct tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ;
typedef struct tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg;
typedef struct tyObject_EParseError__XAL9cSQckMCwSvXvbcGdl8A tyObject_EParseError__XAL9cSQckMCwSvXvbcGdl8A;
typedef struct tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw;
typedef struct tyObject_CatchableError__qrLSDoe2oBoAqNtJ9badtnA tyObject_CatchableError__qrLSDoe2oBoAqNtJ9badtnA;
typedef struct Exception Exception;
typedef struct tySequence__uB9b75OUPRENsBAu4AnoePA tySequence__uB9b75OUPRENsBAu4AnoePA;
typedef struct tyObject_Lexer__5boGUNyj9cHomWCEznBP3KA tyObject_Lexer__5boGUNyj9cHomWCEznBP3KA;
typedef struct tyTuple__UV3llMMYFckfui8YMBuUZA tyTuple__UV3llMMYFckfui8YMBuUZA;
typedef struct tyTuple__7q7q3E6Oj24ZNVJb9aonhAg tyTuple__7q7q3E6Oj24ZNVJb9aonhAg;
typedef struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ tySequence__sM4lkSb7zS6F7OVMvW9cffQ;
typedef struct tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA;
typedef NU8 tyEnum_RstParseOption__fiZmsylYkyh6nEciRZcPsw;
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;
};
typedef NU8 tySet_tyEnum_RstParseOption__fiZmsylYkyh6nEciRZcPsw;
struct tyTuple__JfHvHzMrhKkWAUvQKe0i1A {
void* Field0;
tyObject_Env_rstdotnim___diB2NTuAIWY0FO9c5IUJRGg* Field1;
};
typedef NU8 tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ;
struct TNimNode {
tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ kind;
NI offset;
TNimType* typ;
NCSTRING name;
NI len;
TNimNode** sons;
};
struct TGenericSeq {
NI len;
NI reserved;
};
struct NimStringDesc {
  TGenericSeq Sup;
NIM_CHAR data[SEQ_DECL_SIZE];
};
typedef NU8 tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg;
struct tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg {
tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg kind;
NimStringDesc* text;
NI level;
tySequence__sawZST1Esj3o7EY9ayWwGPw* sons;
};
typedef NU8 tySet_tyChar__nmiMWKVIe46vacnhAFrQvw[32];
typedef struct {
N_NIMCALL_PTR(NimStringDesc*, ClP_0) (NimStringDesc* filename, void* ClE_0);
void* ClE_0;
} tyProc__lRW9cfxqfm1ql4gkxfLReYg;
typedef NU8 tyEnum_MsgKind__iviJnHlj9acPYlnNRbd9bhkQ;
typedef struct {
N_NIMCALL_PTR(void, ClP_0) (NimStringDesc* filename, NI line, NI col, tyEnum_MsgKind__iviJnHlj9acPYlnNRbd9bhkQ msgKind, NimStringDesc* arg, void* ClE_0);
void* ClE_0;
} tyProc__r4CIWZzpiVlkxuVaaDT8Lw;
struct RootObj {
TNimType* m_type;
};
struct tyObject_RstParser__DC0I80p3rKpwC6ms59ctfpg {
  RootObj Sup;
NI idx;
tySequence__P8hOR7sdW9cxlcQApQ4kJNA* tok;
tyObject_SharedState__Nr0J1e0ojmHBVIgRtvSZjw* s;
tySequence__qwqHTkRvwhrRyENtudHQ7g* indentStack;
NimStringDesc* filename;
NI line;
NI col;
NIM_BOOL hasToc;
};
typedef NU8 tyEnum_TokType__G7B8aJ8qgyXs01CE89bLriQ;
struct tyObject_Token__9cnCC036DOlVv9c9aESuaQcBw {
tyEnum_TokType__G7B8aJ8qgyXs01CE89bLriQ kind;
NI ival;
NimStringDesc* symbol;
NI line;
NI col;
};
typedef NI tyArray__9cc9aPiDa8VaWjVcFLabEDZQ[256];
struct tyObject_SharedState__Nr0J1e0ojmHBVIgRtvSZjw {
tySet_tyEnum_RstParseOption__fiZmsylYkyh6nEciRZcPsw options;
NI uLevel;
NI oLevel;
tySequence__KttZgRE9cmIMvHjR6Gj9a89ag* subs;
tySequence__KttZgRE9cmIMvHjR6Gj9a89ag* refs;
tyArray__9cc9aPiDa8VaWjVcFLabEDZQ underlineToLevel;
tyArray__9cc9aPiDa8VaWjVcFLabEDZQ overlineToLevel;
tyProc__r4CIWZzpiVlkxuVaaDT8Lw msgHandler;
tyProc__lRW9cfxqfm1ql4gkxfLReYg findFile;
};
struct tyObject_Substitution__WneU8C8OSOpUr8oGzt2hBA {
NimStringDesc* key;
tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* value;
};
struct tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g {
NI refcount;
TNimType* typ;
};
struct tyObject_GcStack__7fytPA5bBsob6See21YMRA {
void* bottom;
};
struct tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w {
NI len;
NI cap;
tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g** d;
};
typedef tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ* tyArray__SiRwrEKZdLgxqz9a9aoVBglg[512];
typedef NU32 tyArray__BHbOSqU1t9b3Gt7K2c6fQig[24];
typedef tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* tyArray__N1u1nqOgmuJN9cSZrnMHgOQ[32];
typedef tyArray__N1u1nqOgmuJN9cSZrnMHgOQ tyArray__B6durA4ZCi1xjJvRtyYxMg[24];
typedef tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw* tyArray__lh2A89ahMmYg9bCmpVaplLbA[256];
struct tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA {
tyArray__lh2A89ahMmYg9bCmpVaplLbA data;
};
typedef tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* tyArray__0aOLqZchNi8nWtMTi8ND8w[2];
struct tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw {
tyArray__0aOLqZchNi8nWtMTi8ND8w link;
NI key;
NI upperBound;
NI level;
};
struct tyTuple__ujsjpB2O9cjj3uDHsXbnSzg {
tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* Field0;
NI Field1;
};
typedef tyTuple__ujsjpB2O9cjj3uDHsXbnSzg tyArray__LzOv2eCDGiceMKQstCLmhw[30];
struct tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg {
NI len;
tyArray__LzOv2eCDGiceMKQstCLmhw chunks;
tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg* next;
};
struct tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg {
NI minLargeObj;
NI maxLargeObj;
tyArray__SiRwrEKZdLgxqz9a9aoVBglg freeSmallChunks;
NU32 flBitmap;
tyArray__BHbOSqU1t9b3Gt7K2c6fQig slBitmap;
tyArray__B6durA4ZCi1xjJvRtyYxMg matrix;
tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw* llmem;
NI currMem;
NI maxMem;
NI freeMem;
NI occ;
NI lastSize;
tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA chunkStarts;
tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* root;
tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* deleted;
tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* last;
tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* freeAvlNodes;
NIM_BOOL locked;
NIM_BOOL blockChunkSizeIncrease;
NI nextChunkSize;
tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw bottomData;
tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg heapLinks;
};
struct tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg {
NI stackScans;
NI cycleCollections;
NI maxThreshold;
NI maxStackSize;
NI maxStackCells;
NI cycleTableSize;
NI64 maxPause;
};
struct tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ {
NI counter;
NI max;
tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg* head;
tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg** data;
};
struct tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ {
tyObject_GcStack__7fytPA5bBsob6See21YMRA stack;
NI cycleThreshold;
NI zctThreshold;
tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w zct;
tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w decStack;
tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w tempStack;
NI recGcLock;
tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg region;
tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg stat;
tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ marked;
tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w additionalRoots;
NI gcThreadId;
};
typedef NU8 tyEnum_MsgClass__dpFtqOEOsRL1xyFiV7JAeA;
typedef NimStringDesc* tyArray__2XTTWPhbvSoeTyuZ4N460g[10];
typedef NimStringDesc* tyArray__haiLFy0nBviVTKFGuwztzQ[5];
struct Exception {
  RootObj Sup;
Exception* parent;
NCSTRING name;
NimStringDesc* message;
tySequence__uB9b75OUPRENsBAu4AnoePA* trace;
NU raiseId;
Exception* up;
};
struct tyObject_CatchableError__qrLSDoe2oBoAqNtJ9badtnA {
  Exception Sup;
};
struct tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw {
  tyObject_CatchableError__qrLSDoe2oBoAqNtJ9badtnA Sup;
};
struct tyObject_EParseError__XAL9cSQckMCwSvXvbcGdl8A {
  tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw Sup;
};
typedef NimStringDesc* tyArray__nHXaesL0DJZHyVS07ARPRA[1];
typedef N_CLOSURE_PTR(void, TM__Xuc9bgVTDeYXjwnCJIlXSig_71) (NimStringDesc* filename, NI line, NI col, tyEnum_MsgKind__iviJnHlj9acPYlnNRbd9bhkQ msgKind, NimStringDesc* arg, void* ClE_0);
typedef N_CLOSURE_PTR(NimStringDesc*, TM__Xuc9bgVTDeYXjwnCJIlXSig_72) (NimStringDesc* filename, void* ClE_0);
struct tyObject_Lexer__5boGUNyj9cHomWCEznBP3KA {
  RootObj Sup;
NCSTRING buf;
NI bufpos;
NI line;
NI col;
NI baseIndent;
NIM_BOOL skipPounds;
};
typedef N_CLOSURE_PTR(void, TM__Xuc9bgVTDeYXjwnCJIlXSig_117) (NimStringDesc* filename, NI line, NI col, tyEnum_MsgKind__iviJnHlj9acPYlnNRbd9bhkQ msgKind, NimStringDesc* arg);
typedef N_CLOSURE_PTR(void, TM__Xuc9bgVTDeYXjwnCJIlXSig_160) (NimStringDesc* filename, NI line, NI col, tyEnum_MsgKind__iviJnHlj9acPYlnNRbd9bhkQ msgKind, NimStringDesc* arg);
typedef NU8 tyEnum_DirKind__Lv8WUxBpQCKnnfG38t4N2Q;
typedef NimStringDesc* tyArray__pq8mfSp9bT2PbH9bKmz9cdOdA[13];
typedef NU8 tySet_tyEnum_DirFlag__719asfClbt5VSsDXq5URv9aw;
typedef N_NIMCALL_PTR(tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg*, tyProc__Q29aqoKZ5tpbCgFkRsNjLwA) (tyObject_RstParser__DC0I80p3rKpwC6ms59ctfpg* p);
typedef NU8 tyEnum_DirFlag__719asfClbt5VSsDXq5URv9aw;
typedef N_CLOSURE_PTR(void, TM__Xuc9bgVTDeYXjwnCJIlXSig_239) (NimStringDesc* filename, NI line, NI col, tyEnum_MsgKind__iviJnHlj9acPYlnNRbd9bhkQ msgKind, NimStringDesc* arg);
struct tyTuple__UV3llMMYFckfui8YMBuUZA {
NimStringDesc* Field0;
NimStringDesc* Field1;
};
typedef tyTuple__UV3llMMYFckfui8YMBuUZA tyArray__EH7g9cw9ce5QW4p9ba9aZKF51w[34];
struct tyTuple__7q7q3E6Oj24ZNVJb9aonhAg {
NimStringDesc* Field0;
NimStringDesc* Field1;
NimStringDesc* Field2;
};
typedef N_CLOSURE_PTR(NimStringDesc*, TM__Xuc9bgVTDeYXjwnCJIlXSig_379) (NimStringDesc* filename);
typedef NimStringDesc* tyArray__24KAM9afIUgUaqBaEBB6r9bg[3];
typedef NI tyArray__Bd4h7Ocx9bGTvrKzPIWNlHw[3];
struct tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA {
NCSTRING procname;
NI line;
NCSTRING filename;
};
struct tySequence__P8hOR7sdW9cxlcQApQ4kJNA {
  TGenericSeq Sup;
  tyObject_Token__9cnCC036DOlVv9c9aESuaQcBw data[SEQ_DECL_SIZE];
};
struct tySequence__KttZgRE9cmIMvHjR6Gj9a89ag {
  TGenericSeq Sup;
  tyObject_Substitution__WneU8C8OSOpUr8oGzt2hBA data[SEQ_DECL_SIZE];
};
struct tySequence__qwqHTkRvwhrRyENtudHQ7g {
  TGenericSeq Sup;
  NI data[SEQ_DECL_SIZE];
};
struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ {
  TGenericSeq Sup;
  NimStringDesc* data[SEQ_DECL_SIZE];
};
struct tySequence__sawZST1Esj3o7EY9ayWwGPw {
  TGenericSeq Sup;
  tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* data[SEQ_DECL_SIZE];
};
struct tySequence__uB9b75OUPRENsBAu4AnoePA {
  TGenericSeq Sup;
  tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA data[SEQ_DECL_SIZE];
};
N_LIB_PRIVATE N_NIMCALL(void, rstnodeToRefnameAux__QHHeBDcR89csT9b4Cwmc0kbQ)(tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* n, NimStringDesc** r, NIM_BOOL* b);
static N_INLINE(NI, subInt)(NI a, NI b);
N_NOINLINE(void, raiseOverflow)(void);
N_NOINLINE(void, raiseIndexError2)(NI i, NI n);
N_NIMCALL(NimStringDesc*, addChar)(NimStringDesc* s, NIM_CHAR c);
N_NIMCALL(void, unsureAsgnRef)(void** dest, void* src);
static N_INLINE(NI, addInt)(NI a, NI b);
static N_INLINE(NI, chckRange)(NI i, NI a, NI b);
N_NOINLINE(void, raiseRangeError)(NI64 val);
static N_INLINE(void, appendString)(NimStringDesc* dest, NimStringDesc* src);
static N_INLINE(void, copyMem__M04YC71iJg1N7gBF3HZTngsystem)(void* dest, void* source, NI size);
static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size);
N_NIMCALL(NimStringDesc*, resizeString)(NimStringDesc* dest, NI addlen);
N_LIB_PRIVATE N_NIMCALL(NI, len__bM2v46TeKfDIrVkegSIy9ag)(tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* n);
N_LIB_PRIVATE N_NIMCALL(void, addNodesAux__uMT2raESX9aB9cMD4QPQT9bFg)(tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* n, NimStringDesc** result);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, addNodes__TOPoj9cIRh7GBTY6PKofpTQ_2)(tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* n);
N_LIB_PRIVATE N_NIMCALL(NI, nsuCmpIgnoreStyle)(NimStringDesc* a, NimStringDesc* b);
N_NIMCALL(NimStringDesc*, copyString)(NimStringDesc* src);
N_LIB_PRIVATE N_NIMCALL(void, failedAssertImpl__W9cjVocn1tjhW7p7xohJj6A)(NimStringDesc* msg);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nsuStrip)(NimStringDesc* s, NIM_BOOL leading, NIM_BOOL trailing, tySet_tyChar__nmiMWKVIe46vacnhAFrQvw chars);
static N_INLINE(void, nimZeroMem)(void* p, NI size);
static N_INLINE(void, nimSetMem__JE6t4x7Z3v2iVz27Nx0MRAmemory)(void* a, int v, NI size);
N_NIMCALL(void, nimGCvisit)(void* d, NI op);
static N_NIMCALL(void, Marker_tySequence__P8hOR7sdW9cxlcQApQ4kJNA)(void* p, NI op);
static N_NIMCALL(void, Marker_tySequence__KttZgRE9cmIMvHjR6Gj9a89ag)(void* p, NI op);
static N_NIMCALL(void, Marker_tyRef__NOd8Bhkha1yAk19cIRBRUeg)(void* p, NI op);
N_LIB_PRIVATE N_NIMCALL(void, initParser__60yTSW8tTLkfUx9baGF9bUvg)(tyObject_RstParser__DC0I80p3rKpwC6ms59ctfpg* p, tyObject_SharedState__Nr0J1e0ojmHBVIgRtvSZjw* sharedState);
N_NIMCALL(void, genericSeqAssign)(void* dest, void* src, TNimType* mt);
N_LIB_PRIVATE N_NIMCALL(tyObject_SharedState__Nr0J1e0ojmHBVIgRtvSZjw*, newSharedState__IX1LB2vXgn4xRCAwU9bB0ZA)(tySet_tyEnum_RstParseOption__fiZmsylYkyh6nEciRZcPsw options, tyProc__lRW9cfxqfm1ql4gkxfLReYg findFile, tyProc__r4CIWZzpiVlkxuVaaDT8Lw msgHandler);
N_NIMCALL(void*, newObj)(TNimType* typ, NI size);
static N_INLINE(void, nimGCunrefNoCycle)(void* p);
static N_INLINE(void, decRef__AT1eRuflKWyTTBdLjEDZbgsystem)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
static N_INLINE(void, rtlAddZCT__AT1eRuflKWyTTBdLjEDZbg_2system)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
N_LIB_PRIVATE N_NOINLINE(void, addZCT__Y66tOYFjgwJ0k4aLz4bc0Q)(tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w* s, tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
static N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*, usrToCell__QFQqcLB3lgOdwipkv9a60xwsystem)(void* usr);
static N_INLINE(void, asgnRef)(void** dest, void* src);
static N_INLINE(void, incRef__AT1eRuflKWyTTBdLjEDZbg_3system)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
N_LIB_PRIVATE N_NIMCALL(void, defaultMsgHandler__fS8IBMeEkdbb4b81Dbsuzw)(NimStringDesc* filename, NI line, NI col, tyEnum_MsgKind__iviJnHlj9acPYlnNRbd9bhkQ msgkind, NimStringDesc* arg);
N_LIB_PRIVATE N_NIMCALL(tyEnum_MsgClass__dpFtqOEOsRL1xyFiV7JAeA, whichMsgClass__Te9a70y1pgqDHLcmzob0bCA)(tyEnum_MsgKind__iviJnHlj9acPYlnNRbd9bhkQ k);
N_NIMCALL(NimStringDesc*, reprEnum)(NI e, TNimType* typ);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nsuFormatSingleElem)(NimStringDesc* formatstr, NimStringDesc* a);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nsuFormatOpenArray)(NimStringDesc* formatstr, NimStringDesc** a, NI aLen_0);
N_NIMCALL(NimStringDesc*, nimIntToStr)(NI x);
static N_NIMCALL(void, Marker_tyRef__aHQoiQMmOZCtQY9adc9ajK5Q)(void* p, NI op);
N_NIMCALL(NimStringDesc*, copyStringRC1)(NimStringDesc* src);
N_NIMCALL(void, raiseExceptionEx)(Exception* e, NCSTRING ename, NCSTRING procname, NCSTRING filename, NI line);
static N_INLINE(void, writeLine__45Em82MGXqv9biomV0DEbSgio)(FILE* f, NimStringDesc** x, NI xLen_0);
N_LIB_PRIVATE N_NIMCALL(void, write__PArlm09bKklm2BLsCg6YtaA)(FILE* f, NimStringDesc* s);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, defaultFindFile__8ILgyNoMpo3VmeZMw8HxJw)(NimStringDesc* filename);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, nosexistsFile)(NimStringDesc* filename);
N_LIB_PRIVATE N_NIMCALL(NI, getTokens__K7eh9bCXoxI4E3XwxyPK3JA)(NimStringDesc* buffer, NIM_BOOL skipPounds, tySequence__P8hOR7sdW9cxlcQApQ4kJNA** tokens);
static N_INLINE(NCSTRING, nimToCStringConv)(NimStringDesc* s);
N_NIMCALL(TGenericSeq*, setLengthSeqV2)(TGenericSeq* s, TNimType* typ, NI newLen);
N_LIB_PRIVATE N_NIMCALL(void, rawGetTok__JqIhtKmczNVVvUv6mwBG9aw)(tyObject_Lexer__5boGUNyj9cHomWCEznBP3KA* L, tyObject_Token__9cnCC036DOlVv9c9aESuaQcBw* tok);
N_LIB_PRIVATE N_NIMCALL(void, getThing__W3WNx09cSKDY9c84PGpQTnNA)(tyObject_Lexer__5boGUNyj9cHomWCEznBP3KA* L, tyObject_Token__9cnCC036DOlVv9c9aESuaQcBw* tok, tySet_tyChar__nmiMWKVIe46vacnhAFrQvw s);
N_LIB_PRIVATE N_NIMCALL(void, getIndent__JqIhtKmczNVVvUv6mwBG9aw_2)(tyObject_Lexer__5boGUNyj9cHomWCEznBP3KA* L, tyObject_Token__9cnCC036DOlVv9c9aESuaQcBw* tok);
N_LIB_PRIVATE N_NIMCALL(NI, getIndentAux__SZdpT1AZwHDN3kGeWMMTZg)(tyObject_Lexer__5boGUNyj9cHomWCEznBP3KA* L, NI start);
static N_INLINE(NI, modInt)(NI a, NI b);
N_NOINLINE(void, raiseDivByZero)(void);
static N_INLINE(NimStringDesc*, spaces__zuWfkBFTPm31FNfSpe2HQQstrutils)(NI n);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nsuRepeatChar)(NIM_CHAR c, NI count);
N_NIMCALL(NimStringDesc*, rawNewString)(NI space);
N_LIB_PRIVATE N_NIMCALL(void, getAdornment__JqIhtKmczNVVvUv6mwBG9aw_3)(tyObject_Lexer__5boGUNyj9cHomWCEznBP3KA* L, tyObject_Token__9cnCC036DOlVv9c9aESuaQcBw* tok);
N_LIB_PRIVATE N_NIMCALL(void, getBracket__JqIhtKmczNVVvUv6mwBG9aw_4)(tyObject_Lexer__5boGUNyj9cHomWCEznBP3KA* L, tyObject_Token__9cnCC036DOlVv9c9aESuaQcBw* tok);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg*, resolveSubs__BGO9adR5pD6YAUwvBbhm9beg)(tyObject_RstParser__DC0I80p3rKpwC6ms59ctfpg* p, tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* n);
N_LIB_PRIVATE N_NIMCALL(NI, findSub__olNGex864luoywJptt7cIQ)(tyObject_RstParser__DC0I80p3rKpwC6ms59ctfpg* p, tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* n);
static N_INLINE(NIM_BOOL, eqStrings)(NimStringDesc* a, NimStringDesc* b);
static N_INLINE(NIM_BOOL, equalMem__Bj9c9cm9cBM9coLsuNsT5BvZ9awsystem)(void* a, void* b, NI size);
static N_INLINE(int, nimCmpMem)(void* a, void* b, NI size);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, getEnv__hhED57tMl0Iaa5bOg9cJaig)(NimStringDesc* key, NimStringDesc* default_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg*, newRstNode__1jaf6GW9cTGFKmVxMM1pg9aA)(tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg kind, NimStringDesc* s);
N_LIB_PRIVATE N_NIMCALL(void, rstMessage__c19bbKpr7iyYsCdieIF8Mxg)(tyObject_RstParser__DC0I80p3rKpwC6ms59ctfpg* p, tyEnum_MsgKind__iviJnHlj9acPYlnNRbd9bhkQ msgKind, NimStringDesc* arg);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg*, findRef__2BSSxM9cTrmeL7ivQp29bptQ)(tyObject_RstParser__DC0I80p3rKpwC6ms59ctfpg* p, NimStringDesc* key);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, rstnodeToRefname__TOPoj9cIRh7GBTY6PKofpTQ)(tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* n);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg*, newRstNode__9bXoUUqG5jV9cUn3dHohLAXA)(tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg kind);
N_LIB_PRIVATE N_NIMCALL(void, add__6h6IpXf2O9aeD4hz9aJicc2A)(tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* father, tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* son);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg*, parseDoc__naJf3qvk6DpdtbboNxHj4g)(tyObject_RstParser__DC0I80p3rKpwC6ms59ctfpg* p);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg*, parseSectionWrapper__naJf3qvk6DpdtbboNxHj4g_2)(tyObject_RstParser__DC0I80p3rKpwC6ms59ctfpg* p);
N_LIB_PRIVATE N_NIMCALL(void, parseSection__xq5Qy6SIklyc6cm9byqeKvQ)(tyObject_RstParser__DC0I80p3rKpwC6ms59ctfpg* p, tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* result);
N_LIB_PRIVATE N_NIMCALL(NI, currInd__tcf4oZW1YRBHtTR3G00pPw)(tyObject_RstParser__DC0I80p3rKpwC6ms59ctfpg* p);
N_LIB_PRIVATE N_NIMCALL(void, pushInd__OJTRnMjFoUXx9bKbnYoP5gQ)(tyObject_RstParser__DC0I80p3rKpwC6ms59ctfpg* p, NI ind);
N_NIMCALL(TGenericSeq*, incrSeqV3)(TGenericSeq* s, TNimType* typ);
N_LIB_PRIVATE N_NIMCALL(void, popInd__1vyCOXsO3lilS9aF7FMTVkg)(tyObject_RstParser__DC0I80p3rKpwC6ms59ctfpg* p);
N_LIB_PRIVATE N_NIMCALL(tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg, whichSection__25bSQY3FK8PXJnPsugsm5Q)(tyObject_RstParser__DC0I80p3rKpwC6ms59ctfpg* p);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, match__Q9ccnP9b8RJYaO2u1a0CIzXA)(tyObject_RstParser__DC0I80p3rKpwC6ms59ctfpg* p, NI start, NimStringDesc* expr);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, allCharsInSet__dubrHoRt3C9a0HlJjsxM5ig)(NimStringDesc* s, tySet_tyChar__nmiMWKVIe46vacnhAFrQvw theSet);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isMarkdownHeadline__jHte2LzNlDQDnBSkgZB4YA)(tyObject_RstParser__DC0I80p3rKpwC6ms59ctfpg* p);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isMarkdownHeadlinePattern__pT1dLhK9c9bVXg9ahL5s9bgV9bg)(NimStringDesc* s);
N_LIB_PRIVATE N_NIMCALL(NI, tokenAfterNewline__tcf4oZW1YRBHtTR3G00pPw_2)(tyObject_RstParser__DC0I80p3rKpwC6ms59ctfpg* p);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, predNL__jHte2LzNlDQDnBSkgZB4YA_2)(tyObject_RstParser__DC0I80p3rKpwC6ms59ctfpg* p);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isLineBlock__jHte2LzNlDQDnBSkgZB4YA_3)(tyObject_RstParser__DC0I80p3rKpwC6ms59ctfpg* p);
N_LIB_PRIVATE N_NIMCALL(void, rstMessage__0sSAGv1qn9bem9cIV0hyKwzQ)(tyObject_RstParser__DC0I80p3rKpwC6ms59ctfpg* p, tyEnum_MsgKind__iviJnHlj9acPYlnNRbd9bhkQ msgKind);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isDefList__jHte2LzNlDQDnBSkgZB4YA_4)(tyObject_RstParser__DC0I80p3rKpwC6ms59ctfpg* p);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isOptionList__jHte2LzNlDQDnBSkgZB4YA_5)(tyObject_RstParser__DC0I80p3rKpwC6ms59ctfpg* p);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg*, parseLiteralBlock__naJf3qvk6DpdtbboNxHj4g_3)(tyObject_RstParser__DC0I80p3rKpwC6ms59ctfpg* p);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg*, parseBulletList__naJf3qvk6DpdtbboNxHj4g_4)(tyObject_RstParser__DC0I80p3rKpwC6ms59ctfpg* p);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg*, parseLineBlock__naJf3qvk6DpdtbboNxHj4g_5)(tyObject_RstParser__DC0I80p3rKpwC6ms59ctfpg* p);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg*, parseDotDot__naJf3qvk6DpdtbboNxHj4g_6)(tyObject_RstParser__DC0I80p3rKpwC6ms59ctfpg* p);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, getDirective__2qjpS10VZz9bFIv4alMvXsw)(tyObject_RstParser__DC0I80p3rKpwC6ms59ctfpg* p);
N_LIB_PRIVATE N_NIMCALL(tyEnum_DirKind__Lv8WUxBpQCKnnfG38t4N2Q, getDirKind__5hUTGl1r5cs5ipTbZ64j9cg)(NimStringDesc* s);
static N_INLINE(NI, find__Tx3lAYjpwdGEfDSNU3JWyQsystem)(tyArray__pq8mfSp9bT2PbH9bKmz9cdOdA a, NimStringDesc* item);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg*, dirInclude__naJf3qvk6DpdtbboNxHj4g_7)(tyObject_RstParser__DC0I80p3rKpwC6ms59ctfpg* p);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg*, parseDirective__O3NhVrv4KsoZgKQfIgikCQ)(tyObject_RstParser__DC0I80p3rKpwC6ms59ctfpg* p, tySet_tyEnum_DirFlag__719asfClbt5VSsDXq5URv9aw flags, tyProc__Q29aqoKZ5tpbCgFkRsNjLwA contentParser);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg*, parseDirective__QAzabIMZGVoFm9bN4IAqS3g)(tyObject_RstParser__DC0I80p3rKpwC6ms59ctfpg* p, tySet_tyEnum_DirFlag__719asfClbt5VSsDXq5URv9aw flags);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg*, newLeaf__naJf3qvk6DpdtbboNxHj4g_8)(tyObject_RstParser__DC0I80p3rKpwC6ms59ctfpg* p);
N_LIB_PRIVATE N_NIMCALL(void, parseLine__9cSLkVcmZh9ce659aPmHpnkxQ)(tyObject_RstParser__DC0I80p3rKpwC6ms59ctfpg* p, tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* father);
N_LIB_PRIVATE N_NIMCALL(void, parseInline__9cSLkVcmZh9ce659aPmHpnkxQ_2)(tyObject_RstParser__DC0I80p3rKpwC6ms59ctfpg* p, tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* father);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isInlineMarkupStart__9chs6Bi4LFOMODOJ3gMG4RQ)(tyObject_RstParser__DC0I80p3rKpwC6ms59ctfpg* p, NimStringDesc* markup);
N_LIB_PRIVATE N_NIMCALL(void, parseUntil__QTnVHXZGmL4KwHfwYyJ5mA)(tyObject_RstParser__DC0I80p3rKpwC6ms59ctfpg* p, tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* father, NimStringDesc* postfix, NIM_BOOL interpretBackslash);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isInlineMarkupEnd__9chs6Bi4LFOMODOJ3gMG4RQ_2)(tyObject_RstParser__DC0I80p3rKpwC6ms59ctfpg* p, NimStringDesc* markup);
N_LIB_PRIVATE N_NIMCALL(void, parseBackslash__9cSLkVcmZh9ce659aPmHpnkxQ_3)(tyObject_RstParser__DC0I80p3rKpwC6ms59ctfpg* p, tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* father);
N_LIB_PRIVATE N_NIMCALL(void, rstMessage__BhO9c1kphC9aw89bIlS9b2G71Q)(tyObject_RstParser__DC0I80p3rKpwC6ms59ctfpg* p, tyEnum_MsgKind__iviJnHlj9acPYlnNRbd9bhkQ msgKind, NimStringDesc* arg, NI line, NI col);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg*, parseMarkdownCodeblock__naJf3qvk6DpdtbboNxHj4g_9)(tyObject_RstParser__DC0I80p3rKpwC6ms59ctfpg* p);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg*, parsePostfix__BGO9adR5pD6YAUwvBbhm9beg_2)(tyObject_RstParser__DC0I80p3rKpwC6ms59ctfpg* p, tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* n);
N_LIB_PRIVATE N_NIMCALL(void, fixupEmbeddedRef__7narT3hUoUOBa5Kl9bS3fBA)(tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* n, tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* a, tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* b);
N_LIB_PRIVATE N_NIMCALL(void, setRef__A5A3t7X4NuSu4llEz8RlOg)(tyObject_RstParser__DC0I80p3rKpwC6ms59ctfpg* p, NimStringDesc* key, tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* value);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, parseMarkdownLink__K4fBZb5ocLQsL71He3iRcw)(tyObject_RstParser__DC0I80p3rKpwC6ms59ctfpg* p, tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* father);
N_LIB_PRIVATE N_NIMCALL(void, add__LfzNpI2Kb4J8icovXV69apg)(tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* father, NimStringDesc* s);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg*, parseSmiley__naJf3qvk6DpdtbboNxHj4g_10)(tyObject_RstParser__DC0I80p3rKpwC6ms59ctfpg* p);
N_LIB_PRIVATE N_NIMCALL(NI, matchVerbatim__tLi9cv29a02HG0ElZF8E3mMw)(tyObject_RstParser__DC0I80p3rKpwC6ms59ctfpg* p, NI start, NimStringDesc* expr);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, nsuContinuesWith)(NimStringDesc* s, NimStringDesc* substr, NI start);
N_LIB_PRIVATE N_NIMCALL(void, parseUrl__9cSLkVcmZh9ce659aPmHpnkxQ_4)(tyObject_RstParser__DC0I80p3rKpwC6ms59ctfpg* p, tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* father);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isUrl__qgwCMC7Ekn7kHm3HtDKLkw)(tyObject_RstParser__DC0I80p3rKpwC6ms59ctfpg* p, NI i);
static N_INLINE(NIM_BOOL, contains__MghwuKjQqmVLYE8A59cNGHgsystem)(NimStringDesc** a, NI aLen_0, NimStringDesc* item);
static N_INLINE(NI, find__CWgb1wQSxTCKtdHVU5pCYQsystem)(NimStringDesc** a, NI aLen_0, NimStringDesc* item);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg*, parseFields__naJf3qvk6DpdtbboNxHj4g_11)(tyObject_RstParser__DC0I80p3rKpwC6ms59ctfpg* p);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg*, parseField__naJf3qvk6DpdtbboNxHj4g_12)(tyObject_RstParser__DC0I80p3rKpwC6ms59ctfpg* p);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, indFollows__jHte2LzNlDQDnBSkgZB4YA_6)(tyObject_RstParser__DC0I80p3rKpwC6ms59ctfpg* p);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, findRelativeFile__SSQlCy1rylNndWeLNZMpiA)(tyObject_RstParser__DC0I80p3rKpwC6ms59ctfpg* p, NimStringDesc* filename);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, slash___gEyhbzZ1UcxyenWRLJRXNQ)(NimStringDesc* head, NimStringDesc* tail);
N_LIB_PRIVATE N_NIMCALL(void, nossplitFile)(NimStringDesc* path, tyTuple__7q7q3E6Oj24ZNVJb9aonhAg* Result);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, getFieldValue__OTgwDdUvek9bw6NECNLDOqA)(tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* n, NimStringDesc* fieldname);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, readFile__4PGnM9bWmsH0Nu7dnr3XzgA)(NimStringDesc* filename);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg*, dirImage__naJf3qvk6DpdtbboNxHj4g_13)(tyObject_RstParser__DC0I80p3rKpwC6ms59ctfpg* p);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg*, dirFigure__naJf3qvk6DpdtbboNxHj4g_14)(tyObject_RstParser__DC0I80p3rKpwC6ms59ctfpg* p);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg*, dirTitle__naJf3qvk6DpdtbboNxHj4g_15)(tyObject_RstParser__DC0I80p3rKpwC6ms59ctfpg* p);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg*, dirContainer__naJf3qvk6DpdtbboNxHj4g_16)(tyObject_RstParser__DC0I80p3rKpwC6ms59ctfpg* p);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg*, dirContents__naJf3qvk6DpdtbboNxHj4g_17)(tyObject_RstParser__DC0I80p3rKpwC6ms59ctfpg* p);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg*, dirRaw__naJf3qvk6DpdtbboNxHj4g_18)(tyObject_RstParser__DC0I80p3rKpwC6ms59ctfpg* p);
N_LIB_PRIVATE N_NIMCALL(NI, nsuCmpIgnoreCase)(NimStringDesc* a, NimStringDesc* b);
N_LIB_PRIVATE N_NIMCALL(void, dirRawAux__26AJ6SdkPy9c9c9afiXKQwt7g)(tyObject_RstParser__DC0I80p3rKpwC6ms59ctfpg* p, tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg** result, tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg kind, tyProc__Q29aqoKZ5tpbCgFkRsNjLwA contentParser);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg*, parseDirBody__3fzywaSlLTD9cXU6QN3BS7Q)(tyObject_RstParser__DC0I80p3rKpwC6ms59ctfpg* p, tyProc__Q29aqoKZ5tpbCgFkRsNjLwA contentParser);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg*, dirCodeBlock__NZFSLyva35ahnCnHMXeOUQ)(tyObject_RstParser__DC0I80p3rKpwC6ms59ctfpg* p, NIM_BOOL nimExtension);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg*, dirIndex__naJf3qvk6DpdtbboNxHj4g_19)(tyObject_RstParser__DC0I80p3rKpwC6ms59ctfpg* p);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg*, getReferenceName__k4bKSOox4m3LlVzuJgOtfA)(tyObject_RstParser__DC0I80p3rKpwC6ms59ctfpg* p, NimStringDesc* endStr);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg*, untilEol__naJf3qvk6DpdtbboNxHj4g_20)(tyObject_RstParser__DC0I80p3rKpwC6ms59ctfpg* p);
N_LIB_PRIVATE N_NIMCALL(void, expect__AGcCuJNV5AU9aqiZV9c3ZZTQ)(tyObject_RstParser__DC0I80p3rKpwC6ms59ctfpg* p, NimStringDesc* tok);
N_LIB_PRIVATE N_NIMCALL(void, setSub__A5A3t7X4NuSu4llEz8RlOg_2)(tyObject_RstParser__DC0I80p3rKpwC6ms59ctfpg* p, NimStringDesc* key, tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* value);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg*, parseComment__naJf3qvk6DpdtbboNxHj4g_21)(tyObject_RstParser__DC0I80p3rKpwC6ms59ctfpg* p);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg*, parseEnumList__naJf3qvk6DpdtbboNxHj4g_22)(tyObject_RstParser__DC0I80p3rKpwC6ms59ctfpg* p);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg*, parseDefinitionList__naJf3qvk6DpdtbboNxHj4g_23)(tyObject_RstParser__DC0I80p3rKpwC6ms59ctfpg* p);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg*, parseTransition__naJf3qvk6DpdtbboNxHj4g_24)(tyObject_RstParser__DC0I80p3rKpwC6ms59ctfpg* p);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg*, parseHeadline__naJf3qvk6DpdtbboNxHj4g_25)(tyObject_RstParser__DC0I80p3rKpwC6ms59ctfpg* p);
N_LIB_PRIVATE N_NIMCALL(void, parseUntilNewline__9cSLkVcmZh9ce659aPmHpnkxQ_5)(tyObject_RstParser__DC0I80p3rKpwC6ms59ctfpg* p, tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* father);
N_LIB_PRIVATE N_NIMCALL(NI, getLevel__hXA1SEJAWNnHEivDLHzbyQ)(NI* map, NI* lvl, NIM_CHAR c);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg*, parseOverline__naJf3qvk6DpdtbboNxHj4g_26)(tyObject_RstParser__DC0I80p3rKpwC6ms59ctfpg* p);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg*, parseSimpleTable__naJf3qvk6DpdtbboNxHj4g_27)(tyObject_RstParser__DC0I80p3rKpwC6ms59ctfpg* p);
N_LIB_PRIVATE N_NIMCALL(void, getColumns__encVDE2plzF0MXDIxli3xw)(tyObject_RstParser__DC0I80p3rKpwC6ms59ctfpg* p, tySequence__qwqHTkRvwhrRyENtudHQ7g** cols);
N_LIB_PRIVATE N_NIMCALL(NI, tokEnd__tcf4oZW1YRBHtTR3G00pPw_3)(tyObject_RstParser__DC0I80p3rKpwC6ms59ctfpg* p);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg*, parseOptionList__naJf3qvk6DpdtbboNxHj4g_28)(tyObject_RstParser__DC0I80p3rKpwC6ms59ctfpg* p);
N_LIB_PRIVATE N_NIMCALL(void, parseParagraph__xq5Qy6SIklyc6cm9byqeKvQ_2)(tyObject_RstParser__DC0I80p3rKpwC6ms59ctfpg* p, tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* result);
N_LIB_PRIVATE N_NIMCALL(void, addIfNotNil__6h6IpXf2O9aeD4hz9aJicc2A_2)(tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* father, tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* son);
N_LIB_PRIVATE N_NIMCALL(tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg, sonKind__gSb3Gyf77c4HbEkOGhpXdw)(tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* father, NI i);
TNimType NTI__fiZmsylYkyh6nEciRZcPsw_;
TNimType NTI__triPNwGxgWAG1ULojVLJPA_;
TNimType NTI__lRW9cfxqfm1ql4gkxfLReYg_;
extern TNimType NTI__vr5DoT1jILTGdRlYv1OYpw_;
extern TNimType NTI__HsJiUUcO9cHBdUCi0HwkSTA_;
TNimType NTI__r4CIWZzpiVlkxuVaaDT8Lw_;
extern TNimType NTI__ytyiCJqK439aF9cIibuRVpAg_;
TNimType NTI__DC0I80p3rKpwC6ms59ctfpg_;
extern TNimType NTI__rR5Bzr1D5krxoo1NcNyeMA_;
TNimType NTI__9cnCC036DOlVv9c9aESuaQcBw_;
TNimType NTI__G7B8aJ8qgyXs01CE89bLriQ_;
extern TNimType NTI__77mFvmsOLKik79ci2hXkHEg_;
TNimType NTI__P8hOR7sdW9cxlcQApQ4kJNA_;
TNimType NTI__Nr0J1e0ojmHBVIgRtvSZjw_;
TNimType NTI__WneU8C8OSOpUr8oGzt2hBA_;
extern TNimType NTI__eiDrOE3AS6QEbCsY2gtdWQ_;
TNimType NTI__KttZgRE9cmIMvHjR6Gj9a89ag_;
TNimType NTI__9cc9aPiDa8VaWjVcFLabEDZQ_;
TNimType NTI__NOd8Bhkha1yAk19cIRBRUeg_;
extern TNimType NTI__qwqHTkRvwhrRyENtudHQ7g_;
extern TNimType NTI__VaVACK0bpYmqIQ0mKcHfQQ_;
extern tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ gch__IcYaEuuWivYAS86vFMTS3Q;
TNimType NTI__iviJnHlj9acPYlnNRbd9bhkQ_;
TNimType NTI__dpFtqOEOsRL1xyFiV7JAeA_;
extern TNimType NTI__yoNlBGx0D2tRizIdhQuENw_;
TNimType NTI__XAL9cSQckMCwSvXvbcGdl8A_;
TNimType NTI__aHQoiQMmOZCtQY9adc9ajK5Q_;
TNimType NTI__5boGUNyj9cHomWCEznBP3KA_;
extern TNimType NTI__S9agCYBinaYZnGWcjTdxclg_;
extern TNimType NTI__sM4lkSb7zS6F7OVMvW9cffQ_;
STRING_LITERAL(TM__Xuc9bgVTDeYXjwnCJIlXSig_10, "dollar", 6);
STRING_LITERAL(TM__Xuc9bgVTDeYXjwnCJIlXSig_11, "percent", 7);
STRING_LITERAL(TM__Xuc9bgVTDeYXjwnCJIlXSig_12, "amp", 3);
STRING_LITERAL(TM__Xuc9bgVTDeYXjwnCJIlXSig_13, "roof", 4);
STRING_LITERAL(TM__Xuc9bgVTDeYXjwnCJIlXSig_14, "emark", 5);
STRING_LITERAL(TM__Xuc9bgVTDeYXjwnCJIlXSig_15, "qmark", 5);
STRING_LITERAL(TM__Xuc9bgVTDeYXjwnCJIlXSig_16, "star", 4);
STRING_LITERAL(TM__Xuc9bgVTDeYXjwnCJIlXSig_17, "plus", 4);
STRING_LITERAL(TM__Xuc9bgVTDeYXjwnCJIlXSig_18, "minus", 5);
STRING_LITERAL(TM__Xuc9bgVTDeYXjwnCJIlXSig_19, "slash", 5);
STRING_LITERAL(TM__Xuc9bgVTDeYXjwnCJIlXSig_20, "backslash", 9);
STRING_LITERAL(TM__Xuc9bgVTDeYXjwnCJIlXSig_21, "eq", 2);
STRING_LITERAL(TM__Xuc9bgVTDeYXjwnCJIlXSig_22, "lt", 2);
STRING_LITERAL(TM__Xuc9bgVTDeYXjwnCJIlXSig_23, "gt", 2);
STRING_LITERAL(TM__Xuc9bgVTDeYXjwnCJIlXSig_24, "tilde", 5);
STRING_LITERAL(TM__Xuc9bgVTDeYXjwnCJIlXSig_25, "colon", 5);
STRING_LITERAL(TM__Xuc9bgVTDeYXjwnCJIlXSig_26, "dot", 3);
STRING_LITERAL(TM__Xuc9bgVTDeYXjwnCJIlXSig_27, "at", 2);
STRING_LITERAL(TM__Xuc9bgVTDeYXjwnCJIlXSig_28, "bar", 3);
STRING_LITERAL(TM__Xuc9bgVTDeYXjwnCJIlXSig_35, "\001\001", 2);
STRING_LITERAL(TM__Xuc9bgVTDeYXjwnCJIlXSig_37, "rst.nim(991, 10) `n.kind == rnField` ", 37);
STRING_LITERAL(TM__Xuc9bgVTDeYXjwnCJIlXSig_38, "rst.nim(992, 10) `n.len == 2` ", 30);
STRING_LITERAL(TM__Xuc9bgVTDeYXjwnCJIlXSig_39, "rst.nim(993, 10) `n.sons[0].kind == rnFieldName` ", 49);
STRING_LITERAL(TM__Xuc9bgVTDeYXjwnCJIlXSig_40, "rst.nim(994, 10) `n.sons[1].kind == rnFieldBody` ", 49);
static NIM_CONST tySet_tyChar__nmiMWKVIe46vacnhAFrQvw TM__Xuc9bgVTDeYXjwnCJIlXSig_41 = {
0x00, 0x3e, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
;
NIM_CONST struct {
  TGenericSeq Sup;
  NI data[1];
} TM__Xuc9bgVTDeYXjwnCJIlXSig_50 = {{1, 1 | NIM_STRLIT_FLAG}, {((NI) 0)}};
NIM_CONST tySequence__qwqHTkRvwhrRyENtudHQ7g* TM__Xuc9bgVTDeYXjwnCJIlXSig_49 = ((tySequence__qwqHTkRvwhrRyENtudHQ7g*)&TM__Xuc9bgVTDeYXjwnCJIlXSig_50);
STRING_LITERAL(TM__Xuc9bgVTDeYXjwnCJIlXSig_54, "rst.nim(305, 16) `false` msgkind does not fit naming scheme", 59);
STRING_LITERAL(TM__Xuc9bgVTDeYXjwnCJIlXSig_55, "cannot open \'$1\'", 16);
STRING_LITERAL(TM__Xuc9bgVTDeYXjwnCJIlXSig_56, "\'$1\' expected", 13);
STRING_LITERAL(TM__Xuc9bgVTDeYXjwnCJIlXSig_57, "grid table is not implemented", 29);
STRING_LITERAL(TM__Xuc9bgVTDeYXjwnCJIlXSig_58, "new section expected", 20);
STRING_LITERAL(TM__Xuc9bgVTDeYXjwnCJIlXSig_59, "general parse error", 19);
STRING_LITERAL(TM__Xuc9bgVTDeYXjwnCJIlXSig_60, "invalid directive: \'$1\'", 23);
STRING_LITERAL(TM__Xuc9bgVTDeYXjwnCJIlXSig_61, "redefinition of label \'$1\'", 26);
STRING_LITERAL(TM__Xuc9bgVTDeYXjwnCJIlXSig_62, "unknown substitution \'$1\'", 25);
STRING_LITERAL(TM__Xuc9bgVTDeYXjwnCJIlXSig_63, "language \'$1\' not supported", 27);
STRING_LITERAL(TM__Xuc9bgVTDeYXjwnCJIlXSig_64, "field \'$1\' not supported", 24);
NIM_CONST tyArray__2XTTWPhbvSoeTyuZ4N460g messages__okdnljkz3SS9cWSzLJyhjhA = {((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_55),
((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_56),
((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_57),
((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_58),
((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_59),
((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_60),
((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_61),
((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_62),
((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_63),
((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_64)}
;
STRING_LITERAL(TM__Xuc9bgVTDeYXjwnCJIlXSig_65, "$1($2, $3) $4: $5", 17);
STRING_LITERAL(TM__Xuc9bgVTDeYXjwnCJIlXSig_70, "\012", 1);
static NIM_CONST tySet_tyChar__nmiMWKVIe46vacnhAFrQvw TM__Xuc9bgVTDeYXjwnCJIlXSig_86 = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x03,
0xfe, 0xff, 0xff, 0x07, 0xfe, 0xff, 0xff, 0x07,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff}
;
static NIM_CONST tySet_tyChar__nmiMWKVIe46vacnhAFrQvw TM__Xuc9bgVTDeYXjwnCJIlXSig_87 = {
0x00, 0x02, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
;
STRING_LITERAL(TM__Xuc9bgVTDeYXjwnCJIlXSig_121, "rst.nim(1426, 11) `p.idx >= 0` ", 31);
STRING_LITERAL(TM__Xuc9bgVTDeYXjwnCJIlXSig_125, "#", 1);
static NIM_CONST tySet_tyChar__nmiMWKVIe46vacnhAFrQvw TM__Xuc9bgVTDeYXjwnCJIlXSig_126 = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x03,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
;
STRING_LITERAL(TM__Xuc9bgVTDeYXjwnCJIlXSig_133, "ii", 2);
STRING_LITERAL(TM__Xuc9bgVTDeYXjwnCJIlXSig_135, " a", 2);
STRING_LITERAL(TM__Xuc9bgVTDeYXjwnCJIlXSig_137, "i", 1);
STRING_LITERAL(TM__Xuc9bgVTDeYXjwnCJIlXSig_139, "iterators.nim(207, 11) `len(a) == L` the length of the string c"
"hanged while iterating over it", 93);
STRING_LITERAL(TM__Xuc9bgVTDeYXjwnCJIlXSig_144, "ai", 2);
STRING_LITERAL(TM__Xuc9bgVTDeYXjwnCJIlXSig_145, "::", 2);
STRING_LITERAL(TM__Xuc9bgVTDeYXjwnCJIlXSig_148, "+", 1);
STRING_LITERAL(TM__Xuc9bgVTDeYXjwnCJIlXSig_149, "*", 1);
STRING_LITERAL(TM__Xuc9bgVTDeYXjwnCJIlXSig_150, "-", 1);
STRING_LITERAL(TM__Xuc9bgVTDeYXjwnCJIlXSig_152, "|", 1);
STRING_LITERAL(TM__Xuc9bgVTDeYXjwnCJIlXSig_153, "..", 2);
STRING_LITERAL(TM__Xuc9bgVTDeYXjwnCJIlXSig_154, ":w:", 3);
STRING_LITERAL(TM__Xuc9bgVTDeYXjwnCJIlXSig_155, "(e) ", 4);
STRING_LITERAL(TM__Xuc9bgVTDeYXjwnCJIlXSig_156, "e. ", 3);
STRING_LITERAL(TM__Xuc9bgVTDeYXjwnCJIlXSig_157, "+a+", 3);
STRING_LITERAL(TM__Xuc9bgVTDeYXjwnCJIlXSig_162, "-w", 2);
STRING_LITERAL(TM__Xuc9bgVTDeYXjwnCJIlXSig_163, "--w", 3);
STRING_LITERAL(TM__Xuc9bgVTDeYXjwnCJIlXSig_164, "/w", 2);
STRING_LITERAL(TM__Xuc9bgVTDeYXjwnCJIlXSig_165, "//w", 3);
STRING_LITERAL(TM__Xuc9bgVTDeYXjwnCJIlXSig_166, "e) ", 3);
STRING_LITERAL(TM__Xuc9bgVTDeYXjwnCJIlXSig_195, "author", 6);
STRING_LITERAL(TM__Xuc9bgVTDeYXjwnCJIlXSig_196, "authors", 7);
STRING_LITERAL(TM__Xuc9bgVTDeYXjwnCJIlXSig_197, "code", 4);
STRING_LITERAL(TM__Xuc9bgVTDeYXjwnCJIlXSig_198, "code-block", 10);
STRING_LITERAL(TM__Xuc9bgVTDeYXjwnCJIlXSig_199, "container", 9);
STRING_LITERAL(TM__Xuc9bgVTDeYXjwnCJIlXSig_200, "contents", 8);
STRING_LITERAL(TM__Xuc9bgVTDeYXjwnCJIlXSig_201, "figure", 6);
STRING_LITERAL(TM__Xuc9bgVTDeYXjwnCJIlXSig_202, "image", 5);
STRING_LITERAL(TM__Xuc9bgVTDeYXjwnCJIlXSig_203, "include", 7);
STRING_LITERAL(TM__Xuc9bgVTDeYXjwnCJIlXSig_204, "index", 5);
STRING_LITERAL(TM__Xuc9bgVTDeYXjwnCJIlXSig_205, "raw", 3);
STRING_LITERAL(TM__Xuc9bgVTDeYXjwnCJIlXSig_206, "title", 5);
NIM_CONST tyArray__pq8mfSp9bT2PbH9bKmz9cdOdA DirIds__8wMg8PYAAl38ckLcA5VjCA = {((NimStringDesc*) NIM_NIL),
((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_195),
((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_196),
((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_197),
((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_198),
((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_199),
((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_200),
((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_201),
((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_202),
((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_203),
((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_204),
((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_205),
((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_206)}
;
static NIM_CONST tySet_tyChar__nmiMWKVIe46vacnhAFrQvw TM__Xuc9bgVTDeYXjwnCJIlXSig_211 = {
0x00, 0x00, 0x00, 0x00, 0x84, 0xa1, 0x00, 0x14,
0x00, 0x00, 0x00, 0x88, 0x00, 0x00, 0x00, 0x08,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
;
STRING_LITERAL(TM__Xuc9bgVTDeYXjwnCJIlXSig_215, "\\", 1);
STRING_LITERAL(TM__Xuc9bgVTDeYXjwnCJIlXSig_218, "***", 3);
static NIM_CONST tySet_tyChar__nmiMWKVIe46vacnhAFrQvw TM__Xuc9bgVTDeYXjwnCJIlXSig_222 = {
0x00, 0x00, 0x00, 0x00, 0x86, 0xf2, 0x00, 0xcc,
0x00, 0x00, 0x00, 0xb0, 0x00, 0x00, 0x00, 0x20,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
;
STRING_LITERAL(TM__Xuc9bgVTDeYXjwnCJIlXSig_224, "``", 2);
STRING_LITERAL(TM__Xuc9bgVTDeYXjwnCJIlXSig_227, "rst.nim(696, 9) `p.tok[p.idx].kind == tkPunct` ", 47);
STRING_LITERAL(TM__Xuc9bgVTDeYXjwnCJIlXSig_228, "\\\\", 2);
STRING_LITERAL(TM__Xuc9bgVTDeYXjwnCJIlXSig_235, " ", 1);
STRING_LITERAL(TM__Xuc9bgVTDeYXjwnCJIlXSig_241, "**", 2);
STRING_LITERAL(TM__Xuc9bgVTDeYXjwnCJIlXSig_242, "```", 3);
STRING_LITERAL(TM__Xuc9bgVTDeYXjwnCJIlXSig_248, "`", 1);
STRING_LITERAL(TM__Xuc9bgVTDeYXjwnCJIlXSig_249, "_", 1);
STRING_LITERAL(TM__Xuc9bgVTDeYXjwnCJIlXSig_250, "__", 2);
STRING_LITERAL(TM__Xuc9bgVTDeYXjwnCJIlXSig_254, ">", 1);
STRING_LITERAL(TM__Xuc9bgVTDeYXjwnCJIlXSig_256, "<", 1);
STRING_LITERAL(TM__Xuc9bgVTDeYXjwnCJIlXSig_268, "idx", 3);
STRING_LITERAL(TM__Xuc9bgVTDeYXjwnCJIlXSig_270, "literal", 7);
STRING_LITERAL(TM__Xuc9bgVTDeYXjwnCJIlXSig_272, "strong", 6);
STRING_LITERAL(TM__Xuc9bgVTDeYXjwnCJIlXSig_274, "emphasis", 8);
STRING_LITERAL(TM__Xuc9bgVTDeYXjwnCJIlXSig_276, "sub", 3);
STRING_LITERAL(TM__Xuc9bgVTDeYXjwnCJIlXSig_278, "subscript", 9);
STRING_LITERAL(TM__Xuc9bgVTDeYXjwnCJIlXSig_280, "sup", 3);
STRING_LITERAL(TM__Xuc9bgVTDeYXjwnCJIlXSig_282, "supscript", 9);
STRING_LITERAL(TM__Xuc9bgVTDeYXjwnCJIlXSig_285, "[", 1);
STRING_LITERAL(TM__Xuc9bgVTDeYXjwnCJIlXSig_288, "]", 1);
STRING_LITERAL(TM__Xuc9bgVTDeYXjwnCJIlXSig_291, "(", 1);
STRING_LITERAL(TM__Xuc9bgVTDeYXjwnCJIlXSig_293, ")", 1);
STRING_LITERAL(TM__Xuc9bgVTDeYXjwnCJIlXSig_296, ":D", 2);
STRING_LITERAL(TM__Xuc9bgVTDeYXjwnCJIlXSig_297, "icon_e_biggrin", 14);
STRING_LITERAL(TM__Xuc9bgVTDeYXjwnCJIlXSig_298, ":-D", 3);
STRING_LITERAL(TM__Xuc9bgVTDeYXjwnCJIlXSig_299, ":)", 2);
STRING_LITERAL(TM__Xuc9bgVTDeYXjwnCJIlXSig_300, "icon_e_smile", 12);
STRING_LITERAL(TM__Xuc9bgVTDeYXjwnCJIlXSig_301, ":-)", 3);
STRING_LITERAL(TM__Xuc9bgVTDeYXjwnCJIlXSig_302, ";)", 2);
STRING_LITERAL(TM__Xuc9bgVTDeYXjwnCJIlXSig_303, "icon_e_wink", 11);
STRING_LITERAL(TM__Xuc9bgVTDeYXjwnCJIlXSig_304, ";-)", 3);
STRING_LITERAL(TM__Xuc9bgVTDeYXjwnCJIlXSig_305, ":(", 2);
STRING_LITERAL(TM__Xuc9bgVTDeYXjwnCJIlXSig_306, "icon_e_sad", 10);
STRING_LITERAL(TM__Xuc9bgVTDeYXjwnCJIlXSig_307, ":-(", 3);
STRING_LITERAL(TM__Xuc9bgVTDeYXjwnCJIlXSig_308, ":o", 2);
STRING_LITERAL(TM__Xuc9bgVTDeYXjwnCJIlXSig_309, "icon_e_surprised", 16);
STRING_LITERAL(TM__Xuc9bgVTDeYXjwnCJIlXSig_310, ":-o", 3);
STRING_LITERAL(TM__Xuc9bgVTDeYXjwnCJIlXSig_311, ":shock:", 7);
STRING_LITERAL(TM__Xuc9bgVTDeYXjwnCJIlXSig_312, "icon_eek", 8);
STRING_LITERAL(TM__Xuc9bgVTDeYXjwnCJIlXSig_313, ":\?", 2);
STRING_LITERAL(TM__Xuc9bgVTDeYXjwnCJIlXSig_314, "icon_e_confused", 15);
STRING_LITERAL(TM__Xuc9bgVTDeYXjwnCJIlXSig_315, ":-\?", 3);
STRING_LITERAL(TM__Xuc9bgVTDeYXjwnCJIlXSig_316, ":-/", 3);
STRING_LITERAL(TM__Xuc9bgVTDeYXjwnCJIlXSig_317, "8-)", 3);
STRING_LITERAL(TM__Xuc9bgVTDeYXjwnCJIlXSig_318, "icon_cool", 9);
STRING_LITERAL(TM__Xuc9bgVTDeYXjwnCJIlXSig_319, ":lol:", 5);
STRING_LITERAL(TM__Xuc9bgVTDeYXjwnCJIlXSig_320, "icon_lol", 8);
STRING_LITERAL(TM__Xuc9bgVTDeYXjwnCJIlXSig_321, ":x", 2);
STRING_LITERAL(TM__Xuc9bgVTDeYXjwnCJIlXSig_322, "icon_mad", 8);
STRING_LITERAL(TM__Xuc9bgVTDeYXjwnCJIlXSig_323, ":-x", 3);
STRING_LITERAL(TM__Xuc9bgVTDeYXjwnCJIlXSig_324, ":P", 2);
STRING_LITERAL(TM__Xuc9bgVTDeYXjwnCJIlXSig_325, "icon_razz", 9);
STRING_LITERAL(TM__Xuc9bgVTDeYXjwnCJIlXSig_326, ":-P", 3);
STRING_LITERAL(TM__Xuc9bgVTDeYXjwnCJIlXSig_327, ":oops:", 6);
STRING_LITERAL(TM__Xuc9bgVTDeYXjwnCJIlXSig_328, "icon_redface", 12);
STRING_LITERAL(TM__Xuc9bgVTDeYXjwnCJIlXSig_329, ":cry:", 5);
STRING_LITERAL(TM__Xuc9bgVTDeYXjwnCJIlXSig_330, "icon_cry", 8);
STRING_LITERAL(TM__Xuc9bgVTDeYXjwnCJIlXSig_331, ":evil:", 6);
STRING_LITERAL(TM__Xuc9bgVTDeYXjwnCJIlXSig_332, "icon_evil", 9);
STRING_LITERAL(TM__Xuc9bgVTDeYXjwnCJIlXSig_333, ":twisted:", 9);
STRING_LITERAL(TM__Xuc9bgVTDeYXjwnCJIlXSig_334, "icon_twisted", 12);
STRING_LITERAL(TM__Xuc9bgVTDeYXjwnCJIlXSig_335, ":roll:", 6);
STRING_LITERAL(TM__Xuc9bgVTDeYXjwnCJIlXSig_336, "icon_rolleyes", 13);
STRING_LITERAL(TM__Xuc9bgVTDeYXjwnCJIlXSig_337, ":!:", 3);
STRING_LITERAL(TM__Xuc9bgVTDeYXjwnCJIlXSig_338, "icon_exclaim", 12);
STRING_LITERAL(TM__Xuc9bgVTDeYXjwnCJIlXSig_339, ":\?:", 3);
STRING_LITERAL(TM__Xuc9bgVTDeYXjwnCJIlXSig_340, "icon_question", 13);
STRING_LITERAL(TM__Xuc9bgVTDeYXjwnCJIlXSig_341, ":idea:", 6);
STRING_LITERAL(TM__Xuc9bgVTDeYXjwnCJIlXSig_342, "icon_idea", 9);
STRING_LITERAL(TM__Xuc9bgVTDeYXjwnCJIlXSig_343, ":arrow:", 7);
STRING_LITERAL(TM__Xuc9bgVTDeYXjwnCJIlXSig_344, "icon_arrow", 10);
STRING_LITERAL(TM__Xuc9bgVTDeYXjwnCJIlXSig_345, ":|", 2);
STRING_LITERAL(TM__Xuc9bgVTDeYXjwnCJIlXSig_346, "icon_neutral", 12);
STRING_LITERAL(TM__Xuc9bgVTDeYXjwnCJIlXSig_347, ":-|", 3);
STRING_LITERAL(TM__Xuc9bgVTDeYXjwnCJIlXSig_348, ":mrgreen:", 9);
STRING_LITERAL(TM__Xuc9bgVTDeYXjwnCJIlXSig_349, "icon_mrgreen", 12);
STRING_LITERAL(TM__Xuc9bgVTDeYXjwnCJIlXSig_350, ":geek:", 6);
STRING_LITERAL(TM__Xuc9bgVTDeYXjwnCJIlXSig_351, "icon_e_geek", 11);
STRING_LITERAL(TM__Xuc9bgVTDeYXjwnCJIlXSig_352, ":ugeek:", 7);
STRING_LITERAL(TM__Xuc9bgVTDeYXjwnCJIlXSig_353, "icon_e_ugeek", 12);
NIM_CONST tyArray__EH7g9cw9ce5QW4p9ba9aZKF51w Smilies__SYSLsVVVluSGVNR9bBZRLmw = {{((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_296),
((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_297)}
,
{((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_298),
((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_297)}
,
{((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_299),
((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_300)}
,
{((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_301),
((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_300)}
,
{((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_302),
((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_303)}
,
{((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_304),
((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_303)}
,
{((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_305),
((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_306)}
,
{((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_307),
((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_306)}
,
{((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_308),
((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_309)}
,
{((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_310),
((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_309)}
,
{((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_311),
((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_312)}
,
{((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_313),
((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_314)}
,
{((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_315),
((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_314)}
,
{((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_316),
((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_314)}
,
{((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_317),
((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_318)}
,
{((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_319),
((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_320)}
,
{((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_321),
((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_322)}
,
{((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_323),
((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_322)}
,
{((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_324),
((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_325)}
,
{((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_326),
((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_325)}
,
{((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_327),
((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_328)}
,
{((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_329),
((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_330)}
,
{((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_331),
((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_332)}
,
{((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_333),
((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_334)}
,
{((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_335),
((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_336)}
,
{((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_337),
((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_338)}
,
{((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_339),
((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_340)}
,
{((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_341),
((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_342)}
,
{((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_343),
((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_344)}
,
{((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_345),
((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_346)}
,
{((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_347),
((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_346)}
,
{((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_348),
((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_349)}
,
{((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_350),
((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_351)}
,
{((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_352),
((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_353)}
}
;
STRING_LITERAL(TM__Xuc9bgVTDeYXjwnCJIlXSig_358, ":", 1);
STRING_LITERAL(TM__Xuc9bgVTDeYXjwnCJIlXSig_360, "//", 2);
STRING_LITERAL(TM__Xuc9bgVTDeYXjwnCJIlXSig_365, "http", 4);
STRING_LITERAL(TM__Xuc9bgVTDeYXjwnCJIlXSig_366, "https", 5);
STRING_LITERAL(TM__Xuc9bgVTDeYXjwnCJIlXSig_367, "ftp", 3);
STRING_LITERAL(TM__Xuc9bgVTDeYXjwnCJIlXSig_368, "telnet", 6);
STRING_LITERAL(TM__Xuc9bgVTDeYXjwnCJIlXSig_369, "file", 4);
NIM_CONST tyArray__haiLFy0nBviVTKFGuwztzQ TM__Xuc9bgVTDeYXjwnCJIlXSig_364 = {((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_365),
((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_366),
((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_367),
((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_368),
((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_369)}
;
STRING_LITERAL(TM__Xuc9bgVTDeYXjwnCJIlXSig_381, "rst.nim(1641, 9) `result.kind == rnDirective` ", 46);
STRING_LITERAL(TM__Xuc9bgVTDeYXjwnCJIlXSig_382, "rst.nim(1642, 9) `len(result) == 3` ", 36);
STRING_LITERAL(TM__Xuc9bgVTDeYXjwnCJIlXSig_383, "html", 4);
STRING_LITERAL(TM__Xuc9bgVTDeYXjwnCJIlXSig_384, "latex", 5);
STRING_LITERAL(TM__Xuc9bgVTDeYXjwnCJIlXSig_385, "rst.nim(1628, 12) `result.sons[1].kind == rnFieldList` ", 55);
STRING_LITERAL(TM__Xuc9bgVTDeYXjwnCJIlXSig_386, "default-language", 16);
STRING_LITERAL(TM__Xuc9bgVTDeYXjwnCJIlXSig_387, "Nim", 3);
STRING_LITERAL(TM__Xuc9bgVTDeYXjwnCJIlXSig_388, " _", 2);
STRING_LITERAL(TM__Xuc9bgVTDeYXjwnCJIlXSig_394, " |", 2);
STRING_LITERAL(TM__Xuc9bgVTDeYXjwnCJIlXSig_397, "replace", 7);
STRING_LITERAL(TM__Xuc9bgVTDeYXjwnCJIlXSig_404, " [", 2);
NIM_CONST tyArray__24KAM9afIUgUaqBaEBB6r9bg wildcards__5kEOJmMIHJwM9bdkjg2VUFA = {((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_155),
((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_166),
((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_156)}
;
NIM_CONST tyArray__Bd4h7Ocx9bGTvrKzPIWNlHw wildpos__RI9ctKY8oNc1o4L2ZEqAzyg = {((NI) 1),
((NI) 0),
((NI) 0)}
;
STRING_LITERAL(TM__Xuc9bgVTDeYXjwnCJIlXSig_432, "rst.nim(1192, 11) `p.tok[p.idx + 1].kind == tkWhite` ", 53);
STRING_LITERAL(TM__Xuc9bgVTDeYXjwnCJIlXSig_434, "rst.nim(1197, 11) `p.tok[p.idx].kind == tkIndent` ", 50);
STRING_LITERAL(TM__Xuc9bgVTDeYXjwnCJIlXSig_436, "rst.nim(1198, 11) `p.tok[p.idx + 1].kind == tkAdornment` ", 57);
STRING_LITERAL(TM__Xuc9bgVTDeYXjwnCJIlXSig_449, "rst.nim(1215, 11) `p.tok[p.idx].kind == tkAdornment` ", 53);
static N_INLINE(NI, subInt)(NI a, NI b) {	NI result;
{	result = (NI)0;
	result = (NI)((NU32)(a) - (NU32)(b));
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = (((NI) 0) <= (NI)(result ^ a));
		if (T3_) goto LA4_;
		T3_ = (((NI) 0) <= (NI)(result ^ (NI)((NU32) ~(b))));
		LA4_: ;
		if (!T3_) goto LA5_;
		goto BeforeRet_;
	}
	LA5_: ;
	raiseOverflow();
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NI, addInt)(NI a, NI b) {	NI result;
{	result = (NI)0;
	result = (NI)((NU32)(a) + (NU32)(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;
}
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(void, nimCopyMem)(void* dest, void* source, NI size) {	void* T1_;
	T1_ = (void*)0;
	T1_ = memcpy(dest, source, ((size_t) (size)));
}
static N_INLINE(void, copyMem__M04YC71iJg1N7gBF3HZTngsystem)(void* dest, void* source, NI size) {	nimCopyMem(dest, source, size);
}
static N_INLINE(void, appendString)(NimStringDesc* dest, NimStringDesc* src) {	{
		if (!!((src == NIM_NIL))) goto LA3_;
		copyMem__M04YC71iJg1N7gBF3HZTngsystem(((void*) ((&(*dest).data[(*dest).Sup.len]))), ((void*) ((*src).data)), ((NI) ((NI)((*src).Sup.len + ((NI) 1)))));
		(*dest).Sup.len += (*src).Sup.len;
	}
	LA3_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, rstnodeToRefnameAux__QHHeBDcR89csT9b4Cwmc0kbQ)(tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* n, NimStringDesc** r, NIM_BOOL* b) {{	{
		if (!(n == NIM_NIL)) goto LA3_;
		goto BeforeRet_;
	}
	LA3_: ;
	{
		if (!((*n).kind == ((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 64))) goto LA7_;
		{
			NI i;
			NI colontmp_;
			NI TM__Xuc9bgVTDeYXjwnCJIlXSig_7;
			NI res;
			i = (NI)0;
			colontmp_ = (NI)0;
			TM__Xuc9bgVTDeYXjwnCJIlXSig_7 = subInt(((*n).text ? (*n).text->Sup.len : 0), ((NI) 1));
			colontmp_ = (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_7);
			res = ((NI) 0);
			{
				while (1) {
					NI TM__Xuc9bgVTDeYXjwnCJIlXSig_29;
					if (!(res <= colontmp_)) goto LA11;
					i = res;
					if ((NU)(i) >= (NU)((*n).text ? (*n).text->Sup.len : 0)) raiseIndexError2(i,((*n).text ? (*n).text->Sup.len : 0)-1);
					switch (((NU8)((*n).text->data[i]))) {
					case 48 ... 57:
					{
						{
							if (!(*b)) goto LA15_;
							unsureAsgnRef((void**) (&(*r)), addChar((*r), 45));
							(*b) = NIM_FALSE;
						}
						LA15_: ;
						{
							if (!(((*r) ? (*r)->Sup.len : 0) == ((NI) 0))) goto LA19_;
							unsureAsgnRef((void**) (&(*r)), addChar((*r), 90));
						}
						LA19_: ;
						if ((NU)(i) >= (NU)((*n).text ? (*n).text->Sup.len : 0)) raiseIndexError2(i,((*n).text ? (*n).text->Sup.len : 0)-1);
						unsureAsgnRef((void**) (&(*r)), addChar((*r), (*n).text->data[i]));
					}
					break;
					case 97 ... 122:
					case 128 ... 255:
					{
						{
							if (!(*b)) goto LA24_;
							unsureAsgnRef((void**) (&(*r)), addChar((*r), 45));
							(*b) = NIM_FALSE;
						}
						LA24_: ;
						if ((NU)(i) >= (NU)((*n).text ? (*n).text->Sup.len : 0)) raiseIndexError2(i,((*n).text ? (*n).text->Sup.len : 0)-1);
						unsureAsgnRef((void**) (&(*r)), addChar((*r), (*n).text->data[i]));
					}
					break;
					case 65 ... 90:
					{
						NI TM__Xuc9bgVTDeYXjwnCJIlXSig_8;
						NI TM__Xuc9bgVTDeYXjwnCJIlXSig_9;
						{
							if (!(*b)) goto LA29_;
							unsureAsgnRef((void**) (&(*r)), addChar((*r), 45));
							(*b) = NIM_FALSE;
						}
						LA29_: ;
						if ((NU)(i) >= (NU)((*n).text ? (*n).text->Sup.len : 0)) raiseIndexError2(i,((*n).text ? (*n).text->Sup.len : 0)-1);
						TM__Xuc9bgVTDeYXjwnCJIlXSig_8 = subInt(((NU8)((*n).text->data[i])), ((NI) 65));
						TM__Xuc9bgVTDeYXjwnCJIlXSig_9 = addInt((NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_8), ((NI) 97));
						unsureAsgnRef((void**) (&(*r)), addChar((*r), ((NIM_CHAR) (((NI)chckRange((NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_9), ((NI) 0), ((NI) 255)))))));
					}
					break;
					case 36:
					{
						{
							if (!(*b)) goto LA34_;
							unsureAsgnRef((void**) (&(*r)), addChar((*r), 45));
							(*b) = NIM_FALSE;
						}
						LA34_: ;
						unsureAsgnRef((void**) (&(*r)), resizeString((*r), 6));
appendString((*r), ((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_10));
					}
					break;
					case 37:
					{
						{
							if (!(*b)) goto LA39_;
							unsureAsgnRef((void**) (&(*r)), addChar((*r), 45));
							(*b) = NIM_FALSE;
						}
						LA39_: ;
						unsureAsgnRef((void**) (&(*r)), resizeString((*r), 7));
appendString((*r), ((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_11));
					}
					break;
					case 38:
					{
						{
							if (!(*b)) goto LA44_;
							unsureAsgnRef((void**) (&(*r)), addChar((*r), 45));
							(*b) = NIM_FALSE;
						}
						LA44_: ;
						unsureAsgnRef((void**) (&(*r)), resizeString((*r), 3));
appendString((*r), ((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_12));
					}
					break;
					case 94:
					{
						{
							if (!(*b)) goto LA49_;
							unsureAsgnRef((void**) (&(*r)), addChar((*r), 45));
							(*b) = NIM_FALSE;
						}
						LA49_: ;
						unsureAsgnRef((void**) (&(*r)), resizeString((*r), 4));
appendString((*r), ((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_13));
					}
					break;
					case 33:
					{
						{
							if (!(*b)) goto LA54_;
							unsureAsgnRef((void**) (&(*r)), addChar((*r), 45));
							(*b) = NIM_FALSE;
						}
						LA54_: ;
						unsureAsgnRef((void**) (&(*r)), resizeString((*r), 5));
appendString((*r), ((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_14));
					}
					break;
					case 63:
					{
						{
							if (!(*b)) goto LA59_;
							unsureAsgnRef((void**) (&(*r)), addChar((*r), 45));
							(*b) = NIM_FALSE;
						}
						LA59_: ;
						unsureAsgnRef((void**) (&(*r)), resizeString((*r), 5));
appendString((*r), ((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_15));
					}
					break;
					case 42:
					{
						{
							if (!(*b)) goto LA64_;
							unsureAsgnRef((void**) (&(*r)), addChar((*r), 45));
							(*b) = NIM_FALSE;
						}
						LA64_: ;
						unsureAsgnRef((void**) (&(*r)), resizeString((*r), 4));
appendString((*r), ((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_16));
					}
					break;
					case 43:
					{
						{
							if (!(*b)) goto LA69_;
							unsureAsgnRef((void**) (&(*r)), addChar((*r), 45));
							(*b) = NIM_FALSE;
						}
						LA69_: ;
						unsureAsgnRef((void**) (&(*r)), resizeString((*r), 4));
appendString((*r), ((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_17));
					}
					break;
					case 45:
					{
						{
							if (!(*b)) goto LA74_;
							unsureAsgnRef((void**) (&(*r)), addChar((*r), 45));
							(*b) = NIM_FALSE;
						}
						LA74_: ;
						unsureAsgnRef((void**) (&(*r)), resizeString((*r), 5));
appendString((*r), ((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_18));
					}
					break;
					case 47:
					{
						{
							if (!(*b)) goto LA79_;
							unsureAsgnRef((void**) (&(*r)), addChar((*r), 45));
							(*b) = NIM_FALSE;
						}
						LA79_: ;
						unsureAsgnRef((void**) (&(*r)), resizeString((*r), 5));
appendString((*r), ((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_19));
					}
					break;
					case 92:
					{
						{
							if (!(*b)) goto LA84_;
							unsureAsgnRef((void**) (&(*r)), addChar((*r), 45));
							(*b) = NIM_FALSE;
						}
						LA84_: ;
						unsureAsgnRef((void**) (&(*r)), resizeString((*r), 9));
appendString((*r), ((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_20));
					}
					break;
					case 61:
					{
						{
							if (!(*b)) goto LA89_;
							unsureAsgnRef((void**) (&(*r)), addChar((*r), 45));
							(*b) = NIM_FALSE;
						}
						LA89_: ;
						unsureAsgnRef((void**) (&(*r)), resizeString((*r), 2));
appendString((*r), ((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_21));
					}
					break;
					case 60:
					{
						{
							if (!(*b)) goto LA94_;
							unsureAsgnRef((void**) (&(*r)), addChar((*r), 45));
							(*b) = NIM_FALSE;
						}
						LA94_: ;
						unsureAsgnRef((void**) (&(*r)), resizeString((*r), 2));
appendString((*r), ((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_22));
					}
					break;
					case 62:
					{
						{
							if (!(*b)) goto LA99_;
							unsureAsgnRef((void**) (&(*r)), addChar((*r), 45));
							(*b) = NIM_FALSE;
						}
						LA99_: ;
						unsureAsgnRef((void**) (&(*r)), resizeString((*r), 2));
appendString((*r), ((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_23));
					}
					break;
					case 126:
					{
						{
							if (!(*b)) goto LA104_;
							unsureAsgnRef((void**) (&(*r)), addChar((*r), 45));
							(*b) = NIM_FALSE;
						}
						LA104_: ;
						unsureAsgnRef((void**) (&(*r)), resizeString((*r), 5));
appendString((*r), ((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_24));
					}
					break;
					case 58:
					{
						{
							if (!(*b)) goto LA109_;
							unsureAsgnRef((void**) (&(*r)), addChar((*r), 45));
							(*b) = NIM_FALSE;
						}
						LA109_: ;
						unsureAsgnRef((void**) (&(*r)), resizeString((*r), 5));
appendString((*r), ((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_25));
					}
					break;
					case 46:
					{
						{
							if (!(*b)) goto LA114_;
							unsureAsgnRef((void**) (&(*r)), addChar((*r), 45));
							(*b) = NIM_FALSE;
						}
						LA114_: ;
						unsureAsgnRef((void**) (&(*r)), resizeString((*r), 3));
appendString((*r), ((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_26));
					}
					break;
					case 64:
					{
						{
							if (!(*b)) goto LA119_;
							unsureAsgnRef((void**) (&(*r)), addChar((*r), 45));
							(*b) = NIM_FALSE;
						}
						LA119_: ;
						unsureAsgnRef((void**) (&(*r)), resizeString((*r), 2));
appendString((*r), ((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_27));
					}
					break;
					case 124:
					{
						{
							if (!(*b)) goto LA124_;
							unsureAsgnRef((void**) (&(*r)), addChar((*r), 45));
							(*b) = NIM_FALSE;
						}
						LA124_: ;
						unsureAsgnRef((void**) (&(*r)), resizeString((*r), 3));
appendString((*r), ((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_28));
					}
					break;
					default:
					{
						{
							if (!(((NI) 0) < ((*r) ? (*r)->Sup.len : 0))) goto LA129_;
							(*b) = NIM_TRUE;
						}
						LA129_: ;
					}
					break;
					}
					TM__Xuc9bgVTDeYXjwnCJIlXSig_29 = addInt(res, ((NI) 1));
					res = (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_29);
				} LA11: ;
			}
		}
	}
	goto LA5_;
	LA7_: ;
	{
		{
			NI i_2;
			NI colontmp__2;
			NI T133_;
			NI TM__Xuc9bgVTDeYXjwnCJIlXSig_30;
			NI res_2;
			i_2 = (NI)0;
			colontmp__2 = (NI)0;
			T133_ = (NI)0;
			T133_ = len__bM2v46TeKfDIrVkegSIy9ag(n);
			TM__Xuc9bgVTDeYXjwnCJIlXSig_30 = subInt(T133_, ((NI) 1));
			colontmp__2 = (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_30);
			res_2 = ((NI) 0);
			{
				while (1) {
					NI TM__Xuc9bgVTDeYXjwnCJIlXSig_31;
					if (!(res_2 <= colontmp__2)) goto LA135;
					i_2 = res_2;
					if ((NU)(i_2) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(i_2,((*n).sons ? (*n).sons->Sup.len : 0)-1);
					rstnodeToRefnameAux__QHHeBDcR89csT9b4Cwmc0kbQ((*n).sons->data[i_2], r, b);
					TM__Xuc9bgVTDeYXjwnCJIlXSig_31 = addInt(res_2, ((NI) 1));
					res_2 = (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_31);
				} LA135: ;
			}
		}
	}
	LA5_: ;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, rstnodeToRefname__TOPoj9cIRh7GBTY6PKofpTQ)(tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* n) {	NimStringDesc* result;
	NIM_BOOL b;
	result = (NimStringDesc*)0;
	result = ((NimStringDesc*) NIM_NIL);
	b = NIM_FALSE;
	rstnodeToRefnameAux__QHHeBDcR89csT9b4Cwmc0kbQ(n, (&result), (&b));
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, addNodesAux__uMT2raESX9aB9cMD4QPQT9bFg)(tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* n, NimStringDesc** result) {	{
		if (!((*n).kind == ((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 64))) goto LA3_;
		unsureAsgnRef((void**) (&(*result)), resizeString((*result), ((*n).text ? (*n).text->Sup.len : 0) + 0));
appendString((*result), (*n).text);
	}
	goto LA1_;
	LA3_: ;
	{
		{
			NI i;
			NI colontmp_;
			NI T7_;
			NI TM__Xuc9bgVTDeYXjwnCJIlXSig_32;
			NI res;
			i = (NI)0;
			colontmp_ = (NI)0;
			T7_ = (NI)0;
			T7_ = len__bM2v46TeKfDIrVkegSIy9ag(n);
			TM__Xuc9bgVTDeYXjwnCJIlXSig_32 = subInt(T7_, ((NI) 1));
			colontmp_ = (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_32);
			res = ((NI) 0);
			{
				while (1) {
					NI TM__Xuc9bgVTDeYXjwnCJIlXSig_33;
					if (!(res <= colontmp_)) goto LA9;
					i = res;
					if ((NU)(i) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(i,((*n).sons ? (*n).sons->Sup.len : 0)-1);
					addNodesAux__uMT2raESX9aB9cMD4QPQT9bFg((*n).sons->data[i], result);
					TM__Xuc9bgVTDeYXjwnCJIlXSig_33 = addInt(res, ((NI) 1));
					res = (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_33);
				} LA9: ;
			}
		}
	}
	LA1_: ;
}
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, addNodes__TOPoj9cIRh7GBTY6PKofpTQ_2)(tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* n) {	NimStringDesc* result;
	result = (NimStringDesc*)0;
	result = ((NimStringDesc*) NIM_NIL);
	addNodesAux__uMT2raESX9aB9cMD4QPQT9bFg(n, (&result));
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, getArgument__TOPoj9cIRh7GBTY6PKofpTQ_3)(tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* n) {	NimStringDesc* result;
	result = (NimStringDesc*)0;
	{
		if ((NU)(((NI) 0)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*n).sons ? (*n).sons->Sup.len : 0)-1);
		if (!((*n).sons->data[((NI) 0)] == NIM_NIL)) goto LA3_;
		result = ((NimStringDesc*) NIM_NIL);
	}
	goto LA1_;
	LA3_: ;
	{
		if ((NU)(((NI) 0)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*n).sons ? (*n).sons->Sup.len : 0)-1);
		result = addNodes__TOPoj9cIRh7GBTY6PKofpTQ_2((*n).sons->data[((NI) 0)]);
	}
	LA1_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, getFieldValue__OTgwDdUvek9bw6NECNLDOqA)(tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* n, NimStringDesc* fieldname) {	NimStringDesc* result;
{	result = (NimStringDesc*)0;
	result = ((NimStringDesc*) NIM_NIL);
	{
		if ((NU)(((NI) 1)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 1),((*n).sons ? (*n).sons->Sup.len : 0)-1);
		if (!((*n).sons->data[((NI) 1)] == NIM_NIL)) goto LA3_;
		goto BeforeRet_;
	}
	LA3_: ;
	{
		if ((NU)(((NI) 1)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 1),((*n).sons ? (*n).sons->Sup.len : 0)-1);
		if (!!(((*(*n).sons->data[((NI) 1)]).kind == ((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 13)))) goto LA7_;
		goto BeforeRet_;
	}
	LA7_: ;
	{
		NI i;
		NI colontmp_;
		NI T10_;
		NI TM__Xuc9bgVTDeYXjwnCJIlXSig_34;
		NI res;
		i = (NI)0;
		colontmp_ = (NI)0;
		if ((NU)(((NI) 1)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 1),((*n).sons ? (*n).sons->Sup.len : 0)-1);
		T10_ = (NI)0;
		T10_ = len__bM2v46TeKfDIrVkegSIy9ag((*n).sons->data[((NI) 1)]);
		TM__Xuc9bgVTDeYXjwnCJIlXSig_34 = subInt(T10_, ((NI) 1));
		colontmp_ = (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_34);
		res = ((NI) 0);
		{
			while (1) {
				tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* f;
				NI TM__Xuc9bgVTDeYXjwnCJIlXSig_36;
				if (!(res <= colontmp_)) goto LA12;
				i = res;
				if ((NU)(((NI) 1)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 1),((*n).sons ? (*n).sons->Sup.len : 0)-1);
				if ((NU)(i) >= (NU)((*(*n).sons->data[((NI) 1)]).sons ? (*(*n).sons->data[((NI) 1)]).sons->Sup.len : 0)) raiseIndexError2(i,((*(*n).sons->data[((NI) 1)]).sons ? (*(*n).sons->data[((NI) 1)]).sons->Sup.len : 0)-1);
				f = (*(*n).sons->data[((NI) 1)]).sons->data[i];
				{
					NimStringDesc* T15_;
					NI T16_;
					if ((NU)(((NI) 0)) >= (NU)((*f).sons ? (*f).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*f).sons ? (*f).sons->Sup.len : 0)-1);
					T15_ = (NimStringDesc*)0;
					T15_ = addNodes__TOPoj9cIRh7GBTY6PKofpTQ_2((*f).sons->data[((NI) 0)]);
					T16_ = (NI)0;
					T16_ = nsuCmpIgnoreStyle(T15_, fieldname);
					if (!(T16_ == ((NI) 0))) goto LA17_;
					if ((NU)(((NI) 1)) >= (NU)((*f).sons ? (*f).sons->Sup.len : 0)) raiseIndexError2(((NI) 1),((*f).sons ? (*f).sons->Sup.len : 0)-1);
					result = addNodes__TOPoj9cIRh7GBTY6PKofpTQ_2((*f).sons->data[((NI) 1)]);
					{
						if (!((result ? result->Sup.len : 0) == 0)) goto LA21_;
						result = copyString(((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_35));
					}
					LA21_: ;
					goto BeforeRet_;
				}
				LA17_: ;
				TM__Xuc9bgVTDeYXjwnCJIlXSig_36 = addInt(res, ((NI) 1));
				res = (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_36);
			} LA12: ;
		}
	}
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, getFieldValue__TOPoj9cIRh7GBTY6PKofpTQ_4)(tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* n) {	NimStringDesc* result;
	NimStringDesc* T18_;
	result = (NimStringDesc*)0;
	{
		if (!!(((*n).kind == ((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 14)))) goto LA3_;
		failedAssertImpl__W9cjVocn1tjhW7p7xohJj6A(((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_37));
	}
	LA3_: ;
	{
		NI T7_;
		T7_ = (NI)0;
		T7_ = len__bM2v46TeKfDIrVkegSIy9ag(n);
		if (!!((T7_ == ((NI) 2)))) goto LA8_;
		failedAssertImpl__W9cjVocn1tjhW7p7xohJj6A(((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_38));
	}
	LA8_: ;
	{
		if ((NU)(((NI) 0)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*n).sons ? (*n).sons->Sup.len : 0)-1);
		if (!!(((*(*n).sons->data[((NI) 0)]).kind == ((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 15)))) goto LA12_;
		failedAssertImpl__W9cjVocn1tjhW7p7xohJj6A(((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_39));
	}
	LA12_: ;
	{
		if ((NU)(((NI) 1)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 1),((*n).sons ? (*n).sons->Sup.len : 0)-1);
		if (!!(((*(*n).sons->data[((NI) 1)]).kind == ((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 16)))) goto LA16_;
		failedAssertImpl__W9cjVocn1tjhW7p7xohJj6A(((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_40));
	}
	LA16_: ;
	if ((NU)(((NI) 1)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 1),((*n).sons ? (*n).sons->Sup.len : 0)-1);
	T18_ = (NimStringDesc*)0;
	T18_ = addNodes__TOPoj9cIRh7GBTY6PKofpTQ_2((*n).sons->data[((NI) 1)]);
	result = nsuStrip(T18_, NIM_TRUE, NIM_TRUE, TM__Xuc9bgVTDeYXjwnCJIlXSig_41);
	return result;
}
static N_INLINE(void, nimSetMem__JE6t4x7Z3v2iVz27Nx0MRAmemory)(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__JE6t4x7Z3v2iVz27Nx0MRAmemory(p, ((int) 0), size);
}
static N_NIMCALL(void, Marker_tySequence__P8hOR7sdW9cxlcQApQ4kJNA)(void* p, NI op) {
	tySequence__P8hOR7sdW9cxlcQApQ4kJNA* a;
	NI T1_;
	a = (tySequence__P8hOR7sdW9cxlcQApQ4kJNA*)p;
	T1_ = (NI)0;
	for (T1_ = 0; T1_ < (a ? a->Sup.len : 0); T1_++) {
	nimGCvisit((void*)a->data[T1_].symbol, op);
	}
}
static N_NIMCALL(void, Marker_tySequence__KttZgRE9cmIMvHjR6Gj9a89ag)(void* p, NI op) {
	tySequence__KttZgRE9cmIMvHjR6Gj9a89ag* a;
	NI T1_;
	a = (tySequence__KttZgRE9cmIMvHjR6Gj9a89ag*)p;
	T1_ = (NI)0;
	for (T1_ = 0; T1_ < (a ? a->Sup.len : 0); T1_++) {
	nimGCvisit((void*)a->data[T1_].key, op);
	nimGCvisit((void*)a->data[T1_].value, op);
	}
}
static N_NIMCALL(void, Marker_tyRef__NOd8Bhkha1yAk19cIRBRUeg)(void* p, NI op) {
	tyObject_SharedState__Nr0J1e0ojmHBVIgRtvSZjw* a;
	NI T1_;
	NI T2_;
	a = (tyObject_SharedState__Nr0J1e0ojmHBVIgRtvSZjw*)p;
	nimGCvisit((void*)(*a).subs, op);
	nimGCvisit((void*)(*a).refs, op);
	T1_ = (NI)0;
	T2_ = (NI)0;
	nimGCvisit((void*)(*a).msgHandler.ClE_0, op);
	nimGCvisit((void*)(*a).findFile.ClE_0, op);
}
N_LIB_PRIVATE N_NIMCALL(void, initParser__60yTSW8tTLkfUx9baGF9bUvg)(tyObject_RstParser__DC0I80p3rKpwC6ms59ctfpg* p, tyObject_SharedState__Nr0J1e0ojmHBVIgRtvSZjw* sharedState) {	genericSeqAssign((&(*p).indentStack), TM__Xuc9bgVTDeYXjwnCJIlXSig_49, (&NTI__qwqHTkRvwhrRyENtudHQ7g_));
	unsureAsgnRef((void**) (&(*p).tok), NIM_NIL);
	(*p).idx = ((NI) 0);
	unsureAsgnRef((void**) (&(*p).filename), ((NimStringDesc*) NIM_NIL));
	(*p).hasToc = NIM_FALSE;
	(*p).col = ((NI) 0);
	(*p).line = ((NI) 1);
	unsureAsgnRef((void**) (&(*p).s), sharedState);
}
static N_INLINE(void, rtlAddZCT__AT1eRuflKWyTTBdLjEDZbg_2system)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {	addZCT__Y66tOYFjgwJ0k4aLz4bc0Q((&gch__IcYaEuuWivYAS86vFMTS3Q.zct), c);
}
static N_INLINE(void, decRef__AT1eRuflKWyTTBdLjEDZbgsystem)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {	(*c).refcount = (NI)((NU32)((*c).refcount) - (NU32)(((NI) 8)));
	{
		if (!((NU32)((*c).refcount) < (NU32)(((NI) 8)))) goto LA3_;
		rtlAddZCT__AT1eRuflKWyTTBdLjEDZbg_2system(c);
	}
	LA3_: ;
}
static N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*, usrToCell__QFQqcLB3lgOdwipkv9a60xwsystem)(void* usr) {	tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* result;
	result = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
	result = ((tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*) ((NI)((NU32)(((NI) (ptrdiff_t) (usr))) - (NU32)(((NI) 8)))));
	return result;
}
static N_INLINE(void, nimGCunrefNoCycle)(void* p) {	tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T1_;
	T1_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
	T1_ = usrToCell__QFQqcLB3lgOdwipkv9a60xwsystem(p);
	decRef__AT1eRuflKWyTTBdLjEDZbgsystem(T1_);
}
static N_INLINE(void, incRef__AT1eRuflKWyTTBdLjEDZbg_3system)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {	(*c).refcount = (NI)((NU32)((*c).refcount) + (NU32)(((NI) 8)));
}
static N_INLINE(void, asgnRef)(void** dest, void* src) {	{
		tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T5_;
		if (!!((src == NIM_NIL))) goto LA3_;
		T5_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
		T5_ = usrToCell__QFQqcLB3lgOdwipkv9a60xwsystem(src);
		incRef__AT1eRuflKWyTTBdLjEDZbg_3system(T5_);
	}
	LA3_: ;
	{
		tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T10_;
		if (!!(((*dest) == NIM_NIL))) goto LA8_;
		T10_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
		T10_ = usrToCell__QFQqcLB3lgOdwipkv9a60xwsystem((*dest));
		decRef__AT1eRuflKWyTTBdLjEDZbgsystem(T10_);
	}
	LA8_: ;
	(*dest) = src;
}
N_LIB_PRIVATE N_NIMCALL(tyEnum_MsgClass__dpFtqOEOsRL1xyFiV7JAeA, whichMsgClass__Te9a70y1pgqDHLcmzob0bCA)(tyEnum_MsgKind__iviJnHlj9acPYlnNRbd9bhkQ k) {	tyEnum_MsgClass__dpFtqOEOsRL1xyFiV7JAeA result;
	result = (tyEnum_MsgClass__dpFtqOEOsRL1xyFiV7JAeA)0;
	if ((NU)(((NI) 1)) >= (NU)(reprEnum((NI)k, (&NTI__iviJnHlj9acPYlnNRbd9bhkQ_)) ? reprEnum((NI)k, (&NTI__iviJnHlj9acPYlnNRbd9bhkQ_))->Sup.len : 0)) raiseIndexError2(((NI) 1),(reprEnum((NI)k, (&NTI__iviJnHlj9acPYlnNRbd9bhkQ_)) ? reprEnum((NI)k, (&NTI__iviJnHlj9acPYlnNRbd9bhkQ_))->Sup.len : 0)-1);
	switch (((NU8)(reprEnum((NI)k, (&NTI__iviJnHlj9acPYlnNRbd9bhkQ_))->data[((NI) 1)]))) {
	case 101:
	case 69:
	{
		result = ((tyEnum_MsgClass__dpFtqOEOsRL1xyFiV7JAeA) 2);
	}
	break;
	case 119:
	case 87:
	{
		result = ((tyEnum_MsgClass__dpFtqOEOsRL1xyFiV7JAeA) 1);
	}
	break;
	case 104:
	case 72:
	{
		result = ((tyEnum_MsgClass__dpFtqOEOsRL1xyFiV7JAeA) 0);
	}
	break;
	default:
	{
		{
			if (!NIM_TRUE) goto LA7_;
			failedAssertImpl__W9cjVocn1tjhW7p7xohJj6A(((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_54));
		}
		LA7_: ;
	}
	break;
	}
	return result;
}
static N_NIMCALL(void, Marker_tyRef__aHQoiQMmOZCtQY9adc9ajK5Q)(void* p, NI op) {
	tyObject_EParseError__XAL9cSQckMCwSvXvbcGdl8A* a;
	a = (tyObject_EParseError__XAL9cSQckMCwSvXvbcGdl8A*)p;
	nimGCvisit((void*)(*a).Sup.Sup.Sup.parent, op);
	nimGCvisit((void*)(*a).Sup.Sup.Sup.message, op);
	nimGCvisit((void*)(*a).Sup.Sup.Sup.trace, op);
	nimGCvisit((void*)(*a).Sup.Sup.Sup.up, op);
}
static N_INLINE(void, writeLine__45Em82MGXqv9biomV0DEbSgio)(FILE* f, NimStringDesc** x, NI xLen_0) {	{
		NimStringDesc* i;
		NI i_2;
		i = (NimStringDesc*)0;
		i_2 = ((NI) 0);
		{
			while (1) {
				NI TM__Xuc9bgVTDeYXjwnCJIlXSig_69;
				if (!(i_2 < xLen_0)) goto LA3;
				if ((NU)(i_2) >= (NU)(xLen_0)) raiseIndexError2(i_2,xLen_0-1);
				i = x[i_2];
				write__PArlm09bKklm2BLsCg6YtaA(f, i);
				TM__Xuc9bgVTDeYXjwnCJIlXSig_69 = addInt(i_2, ((NI) 1));
				i_2 = (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_69);
			} LA3: ;
		}
	}
	write__PArlm09bKklm2BLsCg6YtaA(f, ((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_70));
}
N_LIB_PRIVATE N_NIMCALL(void, defaultMsgHandler__fS8IBMeEkdbb4b81Dbsuzw)(NimStringDesc* filename, NI line, NI col, tyEnum_MsgKind__iviJnHlj9acPYlnNRbd9bhkQ msgkind, NimStringDesc* arg) {	tyEnum_MsgClass__dpFtqOEOsRL1xyFiV7JAeA mc;
	NimStringDesc* a;
	NimStringDesc* message;
	tyArray__haiLFy0nBviVTKFGuwztzQ T1_;
	mc = whichMsgClass__Te9a70y1pgqDHLcmzob0bCA(msgkind);
	a = nsuFormatSingleElem(messages__okdnljkz3SS9cWSzLJyhjhA[(msgkind)- 0], arg);
	nimZeroMem((void*)T1_, sizeof(tyArray__haiLFy0nBviVTKFGuwztzQ));
	T1_[0] = copyString(filename);
	T1_[1] = nimIntToStr(line);
	T1_[2] = nimIntToStr(col);
	T1_[3] = reprEnum((NI)mc, (&NTI__dpFtqOEOsRL1xyFiV7JAeA_));
	T1_[4] = copyString(a);
	message = nsuFormatOpenArray(((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_65), T1_, 5);
	{
		tyObject_EParseError__XAL9cSQckMCwSvXvbcGdl8A* eX60gensym639852_;
		NimStringDesc* T6_;
		if (!(mc == ((tyEnum_MsgClass__dpFtqOEOsRL1xyFiV7JAeA) 2))) goto LA4_;
		eX60gensym639852_ = (tyObject_EParseError__XAL9cSQckMCwSvXvbcGdl8A*)0;
		eX60gensym639852_ = (tyObject_EParseError__XAL9cSQckMCwSvXvbcGdl8A*) newObj((&NTI__aHQoiQMmOZCtQY9adc9ajK5Q_), sizeof(tyObject_EParseError__XAL9cSQckMCwSvXvbcGdl8A));
		(*eX60gensym639852_).Sup.Sup.Sup.Sup.m_type = (&NTI__XAL9cSQckMCwSvXvbcGdl8A_);
		(*eX60gensym639852_).Sup.Sup.Sup.name = "EParseError";
		T6_ = (NimStringDesc*)0;
		T6_ = (*eX60gensym639852_).Sup.Sup.Sup.message; (*eX60gensym639852_).Sup.Sup.Sup.message = copyStringRC1(message);
		if (T6_) nimGCunrefNoCycle(T6_);
		asgnRef((void**) (&(*eX60gensym639852_).Sup.Sup.Sup.parent), NIM_NIL);
		raiseExceptionEx((Exception*)eX60gensym639852_, "EParseError", "defaultMsgHandler", "rst.nim", 312);
	}
	goto LA2_;
	LA4_: ;
	{
		tyArray__nHXaesL0DJZHyVS07ARPRA T8_;
		nimZeroMem((void*)T8_, sizeof(tyArray__nHXaesL0DJZHyVS07ARPRA));
		T8_[0] = copyString(message);
		writeLine__45Em82MGXqv9biomV0DEbSgio(stdout, T8_, 1);
	}
	LA2_: ;
}
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, defaultFindFile__8ILgyNoMpo3VmeZMw8HxJw)(NimStringDesc* filename) {	NimStringDesc* result;
	result = (NimStringDesc*)0;
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = nosexistsFile(filename);
		if (!T3_) goto LA4_;
		result = copyString(filename);
	}
	goto LA1_;
	LA4_: ;
	{
		result = ((NimStringDesc*) NIM_NIL);
	}
	LA1_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_SharedState__Nr0J1e0ojmHBVIgRtvSZjw*, newSharedState__IX1LB2vXgn4xRCAwU9bB0ZA)(tySet_tyEnum_RstParseOption__fiZmsylYkyh6nEciRZcPsw options, tyProc__lRW9cfxqfm1ql4gkxfLReYg findFile, tyProc__r4CIWZzpiVlkxuVaaDT8Lw msgHandler) {	tyObject_SharedState__Nr0J1e0ojmHBVIgRtvSZjw* result;
	result = (tyObject_SharedState__Nr0J1e0ojmHBVIgRtvSZjw*)0;
	result = (tyObject_SharedState__Nr0J1e0ojmHBVIgRtvSZjw*) newObj((&NTI__NOd8Bhkha1yAk19cIRBRUeg_), sizeof(tyObject_SharedState__Nr0J1e0ojmHBVIgRtvSZjw));
	if ((*result).subs) { nimGCunrefNoCycle((*result).subs); (*result).subs = NIM_NIL; }
	if ((*result).refs) { nimGCunrefNoCycle((*result).refs); (*result).refs = NIM_NIL; }
	(*result).options = options;
	{
		if (!!((msgHandler.ClP_0 == 0))) goto LA3_;
		asgnRef((void**) (&(*result).msgHandler.ClE_0), msgHandler.ClE_0);
		(*result).msgHandler.ClP_0 = msgHandler.ClP_0;
	}
	goto LA1_;
	LA3_: ;
	{
		tyProc__r4CIWZzpiVlkxuVaaDT8Lw T6_;
		nimZeroMem((void*)(&T6_), sizeof(tyProc__r4CIWZzpiVlkxuVaaDT8Lw));
		T6_.ClP_0 = ((TM__Xuc9bgVTDeYXjwnCJIlXSig_71) (defaultMsgHandler__fS8IBMeEkdbb4b81Dbsuzw)); T6_.ClE_0 = NIM_NIL;
		asgnRef((void**) (&(*result).msgHandler.ClE_0), T6_.ClE_0);
		(*result).msgHandler.ClP_0 = T6_.ClP_0;
	}
	LA1_: ;
	{
		if (!!((findFile.ClP_0 == 0))) goto LA9_;
		asgnRef((void**) (&(*result).findFile.ClE_0), findFile.ClE_0);
		(*result).findFile.ClP_0 = findFile.ClP_0;
	}
	goto LA7_;
	LA9_: ;
	{
		tyProc__lRW9cfxqfm1ql4gkxfLReYg T12_;
		nimZeroMem((void*)(&T12_), sizeof(tyProc__lRW9cfxqfm1ql4gkxfLReYg));
		T12_.ClP_0 = ((TM__Xuc9bgVTDeYXjwnCJIlXSig_72) (defaultFindFile__8ILgyNoMpo3VmeZMw8HxJw)); T12_.ClE_0 = NIM_NIL;
		asgnRef((void**) (&(*result).findFile.ClE_0), T12_.ClE_0);
		(*result).findFile.ClP_0 = T12_.ClP_0;
	}
	LA7_: ;
	return result;
}
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, getThing__W3WNx09cSKDY9c84PGpQTnNA)(tyObject_Lexer__5boGUNyj9cHomWCEznBP3KA* L, tyObject_Token__9cnCC036DOlVv9c9aESuaQcBw* tok, tySet_tyChar__nmiMWKVIe46vacnhAFrQvw s) {	NI pos;
	NI TM__Xuc9bgVTDeYXjwnCJIlXSig_84;
	NI TM__Xuc9bgVTDeYXjwnCJIlXSig_85;
	(*tok).kind = ((tyEnum_TokType__G7B8aJ8qgyXs01CE89bLriQ) 3);
	(*tok).line = (*L).line;
	(*tok).col = (*L).col;
	pos = (*L).bufpos;
	{
		while (1) {
			NI TM__Xuc9bgVTDeYXjwnCJIlXSig_83;
			unsureAsgnRef((void**) (&(*tok).symbol), addChar((*tok).symbol, (*L).buf[pos]));
			TM__Xuc9bgVTDeYXjwnCJIlXSig_83 = addInt(pos, ((NI) 1));
			pos = (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_83);
			{
				if (!!(((s[(NU)(((NU8)((*L).buf[pos])))>>3] &(1U<<((NU)(((NU8)((*L).buf[pos])))&7U)))!=0))) goto LA5_;
				goto LA1;
			}
			LA5_: ;
		}
	} LA1: ;
	TM__Xuc9bgVTDeYXjwnCJIlXSig_84 = subInt(pos, (*L).bufpos);
	TM__Xuc9bgVTDeYXjwnCJIlXSig_85 = addInt((*L).col, (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_84));
	(*L).col = (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_85);
	(*L).bufpos = pos;
}
static N_INLINE(NI, modInt)(NI a, NI b) {	NI result;
{	result = (NI)0;
	{
		if (!(b == ((NI) 0))) goto LA3_;
		raiseDivByZero();
	}
	LA3_: ;
	result = (NI)(a % b);
	goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NI, getIndentAux__SZdpT1AZwHDN3kGeWMMTZg)(tyObject_Lexer__5boGUNyj9cHomWCEznBP3KA* L, NI start) {	NI result;
	NI pos;
	result = (NI)0;
	pos = start;
	{
		if (!((NU8)((*L).buf[pos]) == (NU8)(13))) goto LA3_;
		{
			NI TM__Xuc9bgVTDeYXjwnCJIlXSig_88;
			NI TM__Xuc9bgVTDeYXjwnCJIlXSig_89;
			TM__Xuc9bgVTDeYXjwnCJIlXSig_88 = addInt(pos, ((NI) 1));
			if (!((NU8)((*L).buf[(NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_88)]) == (NU8)(10))) goto LA7_;
			TM__Xuc9bgVTDeYXjwnCJIlXSig_89 = addInt(pos, ((NI) 2));
			pos = (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_89);
		}
		goto LA5_;
		LA7_: ;
		{
			NI TM__Xuc9bgVTDeYXjwnCJIlXSig_90;
			TM__Xuc9bgVTDeYXjwnCJIlXSig_90 = addInt(pos, ((NI) 1));
			pos = (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_90);
		}
		LA5_: ;
	}
	goto LA1_;
	LA3_: ;
	{
		NI TM__Xuc9bgVTDeYXjwnCJIlXSig_91;
		if (!((NU8)((*L).buf[pos]) == (NU8)(10))) goto LA11_;
		TM__Xuc9bgVTDeYXjwnCJIlXSig_91 = addInt(pos, ((NI) 1));
		pos = (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_91);
	}
	goto LA1_;
	LA11_: ;
	LA1_: ;
	{
		if (!(*L).skipPounds) goto LA15_;
		{
			NI TM__Xuc9bgVTDeYXjwnCJIlXSig_92;
			if (!((NU8)((*L).buf[pos]) == (NU8)(35))) goto LA19_;
			TM__Xuc9bgVTDeYXjwnCJIlXSig_92 = addInt(pos, ((NI) 1));
			pos = (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_92);
		}
		LA19_: ;
		{
			NI TM__Xuc9bgVTDeYXjwnCJIlXSig_93;
			if (!((NU8)((*L).buf[pos]) == (NU8)(35))) goto LA23_;
			TM__Xuc9bgVTDeYXjwnCJIlXSig_93 = addInt(pos, ((NI) 1));
			pos = (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_93);
		}
		LA23_: ;
	}
	LA15_: ;
	{
		while (1) {
			switch (((NU8)((*L).buf[pos]))) {
			case 32:
			case 11:
			case 12:
			{
				NI TM__Xuc9bgVTDeYXjwnCJIlXSig_94;
				NI TM__Xuc9bgVTDeYXjwnCJIlXSig_95;
				TM__Xuc9bgVTDeYXjwnCJIlXSig_94 = addInt(pos, ((NI) 1));
				pos = (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_94);
				TM__Xuc9bgVTDeYXjwnCJIlXSig_95 = addInt(result, ((NI) 1));
				result = (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_95);
			}
			break;
			case 9:
			{
				NI TM__Xuc9bgVTDeYXjwnCJIlXSig_96;
				NI TM__Xuc9bgVTDeYXjwnCJIlXSig_97;
				NI TM__Xuc9bgVTDeYXjwnCJIlXSig_98;
				NI TM__Xuc9bgVTDeYXjwnCJIlXSig_99;
				TM__Xuc9bgVTDeYXjwnCJIlXSig_96 = addInt(pos, ((NI) 1));
				pos = (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_96);
				TM__Xuc9bgVTDeYXjwnCJIlXSig_97 = modInt(result, ((NI) 8));
				TM__Xuc9bgVTDeYXjwnCJIlXSig_98 = subInt(result, (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_97));
				TM__Xuc9bgVTDeYXjwnCJIlXSig_99 = addInt((NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_98), ((NI) 8));
				result = (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_99);
			}
			break;
			default:
			{
				goto LA25;
			}
			break;
			}
		}
	} LA25: ;
	{
		if (!((NU8)((*L).buf[pos]) == (NU8)(0))) goto LA32_;
		result = ((NI) 0);
	}
	goto LA30_;
	LA32_: ;
	{
		NIM_BOOL T35_;
		T35_ = (NIM_BOOL)0;
		T35_ = ((NU8)((*L).buf[pos]) == (NU8)(10));
		if (T35_) goto LA36_;
		T35_ = ((NU8)((*L).buf[pos]) == (NU8)(13));
		LA36_: ;
		if (!T35_) goto LA37_;
		result = getIndentAux__SZdpT1AZwHDN3kGeWMMTZg(L, pos);
	}
	goto LA30_;
	LA37_: ;
	LA30_: ;
	(*L).bufpos = pos;
	return result;
}
static N_INLINE(NimStringDesc*, spaces__zuWfkBFTPm31FNfSpe2HQQstrutils)(NI n) {	NimStringDesc* result;
	result = (NimStringDesc*)0;
	result = nsuRepeatChar(32, n);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, getIndent__JqIhtKmczNVVvUv6mwBG9aw_2)(tyObject_Lexer__5boGUNyj9cHomWCEznBP3KA* L, tyObject_Token__9cnCC036DOlVv9c9aESuaQcBw* tok) {	NI TM__Xuc9bgVTDeYXjwnCJIlXSig_100;
	NI TM__Xuc9bgVTDeYXjwnCJIlXSig_101;
	NimStringDesc* T1_;
	NimStringDesc* T2_;
	(*tok).col = ((NI) 0);
	(*tok).kind = ((tyEnum_TokType__G7B8aJ8qgyXs01CE89bLriQ) 1);
	(*tok).ival = getIndentAux__SZdpT1AZwHDN3kGeWMMTZg(L, (*L).bufpos);
	TM__Xuc9bgVTDeYXjwnCJIlXSig_100 = addInt((*L).line, ((NI) 1));
	(*L).line = (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_100);
	(*tok).line = (*L).line;
	(*L).col = (*tok).ival;
	TM__Xuc9bgVTDeYXjwnCJIlXSig_101 = subInt((*tok).ival, (*L).baseIndent);
	(*tok).ival = (((NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_101) >= ((NI) 0)) ? (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_101) : ((NI) 0));
	T1_ = (NimStringDesc*)0;
	T2_ = (NimStringDesc*)0;
	T2_ = spaces__zuWfkBFTPm31FNfSpe2HQQstrutils(((NI)chckRange((*tok).ival, ((NI) 0), ((NI) 2147483647))));
	T1_ = rawNewString((T2_ ? T2_->Sup.len : 0) + 1);
appendString(T1_, ((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_70));
appendString(T1_, T2_);
	unsureAsgnRef((void**) (&(*tok).symbol), T1_);
}
N_LIB_PRIVATE N_NIMCALL(void, getAdornment__JqIhtKmczNVVvUv6mwBG9aw_3)(tyObject_Lexer__5boGUNyj9cHomWCEznBP3KA* L, tyObject_Token__9cnCC036DOlVv9c9aESuaQcBw* tok) {	NI pos;
	NIM_CHAR c;
	NI TM__Xuc9bgVTDeYXjwnCJIlXSig_103;
	NI TM__Xuc9bgVTDeYXjwnCJIlXSig_104;
	(*tok).kind = ((tyEnum_TokType__G7B8aJ8qgyXs01CE89bLriQ) 4);
	(*tok).line = (*L).line;
	(*tok).col = (*L).col;
	pos = (*L).bufpos;
	c = (*L).buf[pos];
	{
		while (1) {
			NI TM__Xuc9bgVTDeYXjwnCJIlXSig_102;
			unsureAsgnRef((void**) (&(*tok).symbol), addChar((*tok).symbol, (*L).buf[pos]));
			TM__Xuc9bgVTDeYXjwnCJIlXSig_102 = addInt(pos, ((NI) 1));
			pos = (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_102);
			{
				if (!!(((NU8)((*L).buf[pos]) == (NU8)(c)))) goto LA5_;
				goto LA1;
			}
			LA5_: ;
		}
	} LA1: ;
	TM__Xuc9bgVTDeYXjwnCJIlXSig_103 = subInt(pos, (*L).bufpos);
	TM__Xuc9bgVTDeYXjwnCJIlXSig_104 = addInt((*L).col, (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_103));
	(*L).col = (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_104);
	(*L).bufpos = pos;
}
N_LIB_PRIVATE N_NIMCALL(void, getBracket__JqIhtKmczNVVvUv6mwBG9aw_4)(tyObject_Lexer__5boGUNyj9cHomWCEznBP3KA* L, tyObject_Token__9cnCC036DOlVv9c9aESuaQcBw* tok) {	NI TM__Xuc9bgVTDeYXjwnCJIlXSig_105;
	NI TM__Xuc9bgVTDeYXjwnCJIlXSig_106;
	(*tok).kind = ((tyEnum_TokType__G7B8aJ8qgyXs01CE89bLriQ) 5);
	(*tok).line = (*L).line;
	(*tok).col = (*L).col;
	unsureAsgnRef((void**) (&(*tok).symbol), addChar((*tok).symbol, (*L).buf[(*L).bufpos]));
	TM__Xuc9bgVTDeYXjwnCJIlXSig_105 = addInt((*L).col, ((NI) 1));
	(*L).col = (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_105);
	TM__Xuc9bgVTDeYXjwnCJIlXSig_106 = addInt((*L).bufpos, ((NI) 1));
	(*L).bufpos = (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_106);
}
N_LIB_PRIVATE N_NIMCALL(void, rawGetTok__JqIhtKmczNVVvUv6mwBG9aw)(tyObject_Lexer__5boGUNyj9cHomWCEznBP3KA* L, tyObject_Token__9cnCC036DOlVv9c9aESuaQcBw* tok) {	NIM_CHAR c;
	NI TM__Xuc9bgVTDeYXjwnCJIlXSig_109;
	unsureAsgnRef((void**) (&(*tok).symbol), ((NimStringDesc*) NIM_NIL));
	(*tok).ival = ((NI) 0);
	c = (*L).buf[(*L).bufpos];
	switch (((NU8)(c))) {
	case 97 ... 122:
	case 65 ... 90:
	case 128 ... 255:
	case 48 ... 57:
	{
		getThing__W3WNx09cSKDY9c84PGpQTnNA(L, tok, TM__Xuc9bgVTDeYXjwnCJIlXSig_86);
	}
	break;
	case 32:
	case 9:
	case 11:
	case 12:
	{
		getThing__W3WNx09cSKDY9c84PGpQTnNA(L, tok, TM__Xuc9bgVTDeYXjwnCJIlXSig_87);
		(*tok).kind = ((tyEnum_TokType__G7B8aJ8qgyXs01CE89bLriQ) 2);
		{
			if (!(((NU8)((*L).buf[(*L).bufpos])) == ((NU8)(13)) || ((NU8)((*L).buf[(*L).bufpos])) == ((NU8)(10)))) goto LA5_;
			rawGetTok__JqIhtKmczNVVvUv6mwBG9aw(L, tok);
		}
		LA5_: ;
	}
	break;
	case 13:
	case 10:
	{
		getIndent__JqIhtKmczNVVvUv6mwBG9aw_2(L, tok);
	}
	break;
	case 33:
	case 34:
	case 35:
	case 36:
	case 37:
	case 38:
	case 39:
	case 42:
	case 43:
	case 44:
	case 45:
	case 46:
	case 47:
	case 58:
	case 59:
	case 60:
	case 61:
	case 62:
	case 63:
	case 64:
	case 92:
	case 94:
	case 95:
	case 96:
	case 124:
	case 126:
	{
		getAdornment__JqIhtKmczNVVvUv6mwBG9aw_3(L, tok);
		{
			if (!(((*tok).symbol ? (*tok).symbol->Sup.len : 0) <= ((NI) 3))) goto LA11_;
			(*tok).kind = ((tyEnum_TokType__G7B8aJ8qgyXs01CE89bLriQ) 5);
		}
		LA11_: ;
	}
	break;
	case 40:
	case 41:
	case 91:
	case 93:
	case 123:
	case 125:
	{
		getBracket__JqIhtKmczNVVvUv6mwBG9aw_4(L, tok);
	}
	break;
	default:
	{
		(*tok).line = (*L).line;
		(*tok).col = (*L).col;
		{
			if (!((NU8)(c) == (NU8)(0))) goto LA17_;
			(*tok).kind = ((tyEnum_TokType__G7B8aJ8qgyXs01CE89bLriQ) 0);
		}
		goto LA15_;
		LA17_: ;
		{
			NI TM__Xuc9bgVTDeYXjwnCJIlXSig_107;
			NI TM__Xuc9bgVTDeYXjwnCJIlXSig_108;
			(*tok).kind = ((tyEnum_TokType__G7B8aJ8qgyXs01CE89bLriQ) 6);
			unsureAsgnRef((void**) (&(*tok).symbol), addChar((*tok).symbol, c));
			TM__Xuc9bgVTDeYXjwnCJIlXSig_107 = addInt((*L).bufpos, ((NI) 1));
			(*L).bufpos = (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_107);
			TM__Xuc9bgVTDeYXjwnCJIlXSig_108 = addInt((*L).col, ((NI) 1));
			(*L).col = (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_108);
		}
		LA15_: ;
	}
	break;
	}
	TM__Xuc9bgVTDeYXjwnCJIlXSig_109 = subInt((*tok).col, (*L).baseIndent);
	(*tok).col = (((NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_109) >= ((NI) 0)) ? (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_109) : ((NI) 0));
}
N_LIB_PRIVATE N_NIMCALL(NI, getTokens__K7eh9bCXoxI4E3XwxyPK3JA)(NimStringDesc* buffer, NIM_BOOL skipPounds, tySequence__P8hOR7sdW9cxlcQApQ4kJNA** tokens) {	NI result;
	tyObject_Lexer__5boGUNyj9cHomWCEznBP3KA L;
	NI length;
	NI T1_;
	result = (NI)0;
	nimZeroMem((void*)(&L), sizeof(tyObject_Lexer__5boGUNyj9cHomWCEznBP3KA));
	L.Sup.m_type = (&NTI__5boGUNyj9cHomWCEznBP3KA_);
	T1_ = ((*tokens) ? (*tokens)->Sup.len : 0);
	length = T1_;
	L.buf = nimToCStringConv(buffer);
	L.line = ((NI) 0);
	{
		NIM_BOOL T4_;
		NIM_BOOL T5_;
		NI TM__Xuc9bgVTDeYXjwnCJIlXSig_74;
		T4_ = (NIM_BOOL)0;
		T5_ = (NIM_BOOL)0;
		T5_ = ((NU8)(L.buf[((NI) 0)]) == (NU8)(239));
		if (!(T5_)) goto LA6_;
		T5_ = ((NU8)(L.buf[((NI) 1)]) == (NU8)(187));
		LA6_: ;
		T4_ = T5_;
		if (!(T4_)) goto LA7_;
		T4_ = ((NU8)(L.buf[((NI) 2)]) == (NU8)(191));
		LA7_: ;
		if (!T4_) goto LA8_;
		TM__Xuc9bgVTDeYXjwnCJIlXSig_74 = addInt(L.bufpos, ((NI) 3));
		L.bufpos = (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_74);
	}
	LA8_: ;
	L.skipPounds = skipPounds;
	{
		if (!skipPounds) goto LA12_;
		{
			NI TM__Xuc9bgVTDeYXjwnCJIlXSig_75;
			NI TM__Xuc9bgVTDeYXjwnCJIlXSig_76;
			if (!((NU8)(L.buf[L.bufpos]) == (NU8)(35))) goto LA16_;
			TM__Xuc9bgVTDeYXjwnCJIlXSig_75 = addInt(L.bufpos, ((NI) 1));
			L.bufpos = (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_75);
			TM__Xuc9bgVTDeYXjwnCJIlXSig_76 = addInt(result, ((NI) 1));
			result = (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_76);
		}
		LA16_: ;
		{
			NI TM__Xuc9bgVTDeYXjwnCJIlXSig_77;
			NI TM__Xuc9bgVTDeYXjwnCJIlXSig_78;
			if (!((NU8)(L.buf[L.bufpos]) == (NU8)(35))) goto LA20_;
			TM__Xuc9bgVTDeYXjwnCJIlXSig_77 = addInt(L.bufpos, ((NI) 1));
			L.bufpos = (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_77);
			TM__Xuc9bgVTDeYXjwnCJIlXSig_78 = addInt(result, ((NI) 1));
			result = (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_78);
		}
		LA20_: ;
		L.baseIndent = ((NI) 0);
		{
			while (1) {
				NI TM__Xuc9bgVTDeYXjwnCJIlXSig_79;
				NI TM__Xuc9bgVTDeYXjwnCJIlXSig_80;
				NI TM__Xuc9bgVTDeYXjwnCJIlXSig_81;
				if (!((NU8)(L.buf[L.bufpos]) == (NU8)(32))) goto LA23;
				TM__Xuc9bgVTDeYXjwnCJIlXSig_79 = addInt(L.bufpos, ((NI) 1));
				L.bufpos = (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_79);
				TM__Xuc9bgVTDeYXjwnCJIlXSig_80 = addInt(L.baseIndent, ((NI) 1));
				L.baseIndent = (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_80);
				TM__Xuc9bgVTDeYXjwnCJIlXSig_81 = addInt(result, ((NI) 1));
				result = (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_81);
			} LA23: ;
		}
	}
	LA12_: ;
	{
		while (1) {
			NI TM__Xuc9bgVTDeYXjwnCJIlXSig_82;
			NI TM__Xuc9bgVTDeYXjwnCJIlXSig_110;
			TM__Xuc9bgVTDeYXjwnCJIlXSig_82 = addInt(length, ((NI) 1));
			length = (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_82);
			unsureAsgnRef((void**) (&(*tokens)), (tySequence__P8hOR7sdW9cxlcQApQ4kJNA*) setLengthSeqV2(&((*tokens))->Sup, (&NTI__P8hOR7sdW9cxlcQApQ4kJNA_), ((NI)chckRange(length, ((NI) 0), ((NI) 2147483647)))));
			TM__Xuc9bgVTDeYXjwnCJIlXSig_110 = subInt(length, ((NI) 1));
			if ((NU)((NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_110)) >= (NU)((*tokens) ? (*tokens)->Sup.len : 0)) raiseIndexError2((NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_110),((*tokens) ? (*tokens)->Sup.len : 0)-1);
			rawGetTok__JqIhtKmczNVVvUv6mwBG9aw((&L), (&(*tokens)->data[(NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_110)]));
			{
				NI TM__Xuc9bgVTDeYXjwnCJIlXSig_111;
				TM__Xuc9bgVTDeYXjwnCJIlXSig_111 = subInt(length, ((NI) 1));
				if ((NU)((NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_111)) >= (NU)((*tokens) ? (*tokens)->Sup.len : 0)) raiseIndexError2((NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_111),((*tokens) ? (*tokens)->Sup.len : 0)-1);
				if (!((*tokens)->data[(NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_111)].kind == ((tyEnum_TokType__G7B8aJ8qgyXs01CE89bLriQ) 0))) goto LA28_;
				goto LA24;
			}
			LA28_: ;
		}
	} LA24: ;
	{
		if ((NU)(((NI) 0)) >= (NU)((*tokens) ? (*tokens)->Sup.len : 0)) raiseIndexError2(((NI) 0),((*tokens) ? (*tokens)->Sup.len : 0)-1);
		if (!((*tokens)->data[((NI) 0)].kind == ((tyEnum_TokType__G7B8aJ8qgyXs01CE89bLriQ) 2))) goto LA32_;
		if ((NU)(((NI) 0)) >= (NU)((*tokens) ? (*tokens)->Sup.len : 0)) raiseIndexError2(((NI) 0),((*tokens) ? (*tokens)->Sup.len : 0)-1);
		if ((NU)(((NI) 0)) >= (NU)((*tokens) ? (*tokens)->Sup.len : 0)) raiseIndexError2(((NI) 0),((*tokens) ? (*tokens)->Sup.len : 0)-1);
		(*tokens)->data[((NI) 0)].ival = ((*tokens)->data[((NI) 0)].symbol ? (*tokens)->data[((NI) 0)].symbol->Sup.len : 0);
		if ((NU)(((NI) 0)) >= (NU)((*tokens) ? (*tokens)->Sup.len : 0)) raiseIndexError2(((NI) 0),((*tokens) ? (*tokens)->Sup.len : 0)-1);
		(*tokens)->data[((NI) 0)].kind = ((tyEnum_TokType__G7B8aJ8qgyXs01CE89bLriQ) 1);
	}
	LA32_: ;
	return result;
}
static N_INLINE(int, nimCmpMem)(void* a, void* b, NI size) {	int result;
	result = (int)0;
	result = memcmp(a, b, ((size_t) (size)));
	return result;
}
static N_INLINE(NIM_BOOL, equalMem__Bj9c9cm9cBM9coLsuNsT5BvZ9awsystem)(void* a, void* b, NI size) {	NIM_BOOL result;
	int T1_;
	result = (NIM_BOOL)0;
	T1_ = (int)0;
	T1_ = nimCmpMem(a, b, size);
	result = (T1_ == ((NI32) 0));
	return result;
}
static N_INLINE(NIM_BOOL, eqStrings)(NimStringDesc* a, NimStringDesc* b) {	NIM_BOOL result;
	NI alen;
	NI blen;
{	result = (NIM_BOOL)0;
	alen = (a ? a->Sup.len : 0);
	blen = (b ? b->Sup.len : 0);
	{
		if (!(alen == blen)) goto LA3_;
		{
			if (!(alen == ((NI) 0))) goto LA7_;
			result = NIM_TRUE;
			goto BeforeRet_;
		}
		LA7_: ;
		result = equalMem__Bj9c9cm9cBM9coLsuNsT5BvZ9awsystem(((void*) ((&a->data[((NI) 0)]))), ((void*) ((&b->data[((NI) 0)]))), ((NI) (alen)));
		goto BeforeRet_;
	}
	LA3_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NI, findSub__olNGex864luoywJptt7cIQ)(tyObject_RstParser__DC0I80p3rKpwC6ms59ctfpg* p, tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* n) {	NI result;
	NimStringDesc* key;
{	result = (NI)0;
	key = addNodes__TOPoj9cIRh7GBTY6PKofpTQ_2(n);
	{
		NI i;
		NI colontmp_;
		NI T2_;
		NI res;
		i = (NI)0;
		colontmp_ = (NI)0;
		T2_ = (((*(*p).s).subs ? (*(*p).s).subs->Sup.len : 0)-1);
		colontmp_ = T2_;
		res = ((NI) 0);
		{
			while (1) {
				NI TM__Xuc9bgVTDeYXjwnCJIlXSig_113;
				if (!(res <= colontmp_)) goto LA4;
				i = res;
				{
					if ((NU)(i) >= (NU)((*(*p).s).subs ? (*(*p).s).subs->Sup.len : 0)) raiseIndexError2(i,((*(*p).s).subs ? (*(*p).s).subs->Sup.len : 0)-1);
					if (!eqStrings(key, (*(*p).s).subs->data[i].key)) goto LA7_;
					result = i;
					goto BeforeRet_;
				}
				LA7_: ;
				TM__Xuc9bgVTDeYXjwnCJIlXSig_113 = addInt(res, ((NI) 1));
				res = (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_113);
			} LA4: ;
		}
	}
	{
		NI i_2;
		NI colontmp__2;
		NI T10_;
		NI res_2;
		i_2 = (NI)0;
		colontmp__2 = (NI)0;
		T10_ = (((*(*p).s).subs ? (*(*p).s).subs->Sup.len : 0)-1);
		colontmp__2 = T10_;
		res_2 = ((NI) 0);
		{
			while (1) {
				NI TM__Xuc9bgVTDeYXjwnCJIlXSig_114;
				if (!(res_2 <= colontmp__2)) goto LA12;
				i_2 = res_2;
				{
					NI T15_;
					if ((NU)(i_2) >= (NU)((*(*p).s).subs ? (*(*p).s).subs->Sup.len : 0)) raiseIndexError2(i_2,((*(*p).s).subs ? (*(*p).s).subs->Sup.len : 0)-1);
					T15_ = (NI)0;
					T15_ = nsuCmpIgnoreStyle(key, (*(*p).s).subs->data[i_2].key);
					if (!(T15_ == ((NI) 0))) goto LA16_;
					result = i_2;
					goto BeforeRet_;
				}
				LA16_: ;
				TM__Xuc9bgVTDeYXjwnCJIlXSig_114 = addInt(res_2, ((NI) 1));
				res_2 = (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_114);
			} LA12: ;
		}
	}
	result = ((NI) -1);
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, rstMessage__c19bbKpr7iyYsCdieIF8Mxg)(tyObject_RstParser__DC0I80p3rKpwC6ms59ctfpg* p, tyEnum_MsgKind__iviJnHlj9acPYlnNRbd9bhkQ msgKind, NimStringDesc* arg) {	NI TM__Xuc9bgVTDeYXjwnCJIlXSig_115;
	NI TM__Xuc9bgVTDeYXjwnCJIlXSig_116;
	if ((NU)((*p).idx) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((*p).idx,((*p).tok ? (*p).tok->Sup.len : 0)-1);
	TM__Xuc9bgVTDeYXjwnCJIlXSig_115 = addInt((*p).line, (*p).tok->data[(*p).idx].line);
	if ((NU)((*p).idx) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((*p).idx,((*p).tok ? (*p).tok->Sup.len : 0)-1);
	TM__Xuc9bgVTDeYXjwnCJIlXSig_116 = addInt((*p).col, (*p).tok->data[(*p).idx].col);
	(*(*p).s).msgHandler.ClE_0? (*(*p).s).msgHandler.ClP_0((*p).filename, (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_115), (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_116), msgKind, arg, (*(*p).s).msgHandler.ClE_0):((TM__Xuc9bgVTDeYXjwnCJIlXSig_117)((*(*p).s).msgHandler.ClP_0))((*p).filename, (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_115), (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_116), msgKind, arg);
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg*, findRef__2BSSxM9cTrmeL7ivQp29bptQ)(tyObject_RstParser__DC0I80p3rKpwC6ms59ctfpg* p, NimStringDesc* key) {	tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* result;
{	result = (tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg*)0;
	{
		NI i;
		NI colontmp_;
		NI T2_;
		NI res;
		i = (NI)0;
		colontmp_ = (NI)0;
		T2_ = (((*(*p).s).refs ? (*(*p).s).refs->Sup.len : 0)-1);
		colontmp_ = T2_;
		res = ((NI) 0);
		{
			while (1) {
				NI TM__Xuc9bgVTDeYXjwnCJIlXSig_118;
				if (!(res <= colontmp_)) goto LA4;
				i = res;
				{
					if ((NU)(i) >= (NU)((*(*p).s).refs ? (*(*p).s).refs->Sup.len : 0)) raiseIndexError2(i,((*(*p).s).refs ? (*(*p).s).refs->Sup.len : 0)-1);
					if (!eqStrings(key, (*(*p).s).refs->data[i].key)) goto LA7_;
					if ((NU)(i) >= (NU)((*(*p).s).refs ? (*(*p).s).refs->Sup.len : 0)) raiseIndexError2(i,((*(*p).s).refs ? (*(*p).s).refs->Sup.len : 0)-1);
					result = (*(*p).s).refs->data[i].value;
					goto BeforeRet_;
				}
				LA7_: ;
				TM__Xuc9bgVTDeYXjwnCJIlXSig_118 = addInt(res, ((NI) 1));
				res = (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_118);
			} LA4: ;
		}
	}
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg*, resolveSubs__BGO9adR5pD6YAUwvBbhm9beg)(tyObject_RstParser__DC0I80p3rKpwC6ms59ctfpg* p, tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* n) {	tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* result;
{	result = (tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg*)0;
	result = n;
	{
		if (!(n == NIM_NIL)) goto LA3_;
		goto BeforeRet_;
	}
	LA3_: ;
	switch ((*n).kind) {
	case ((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 62):
	{
		NI x;
		x = findSub__olNGex864luoywJptt7cIQ(p, n);
		{
			if (!(((NI) 0) <= x)) goto LA8_;
			if ((NU)(x) >= (NU)((*(*p).s).subs ? (*(*p).s).subs->Sup.len : 0)) raiseIndexError2(x,((*(*p).s).subs ? (*(*p).s).subs->Sup.len : 0)-1);
			result = (*(*p).s).subs->data[x].value;
		}
		goto LA6_;
		LA8_: ;
		{
			NimStringDesc* key;
			NimStringDesc* e;
			key = addNodes__TOPoj9cIRh7GBTY6PKofpTQ_2(n);
			e = getEnv__hhED57tMl0Iaa5bOg9cJaig(key, ((NimStringDesc*) NIM_NIL));
			{
				if (!!(((e ? e->Sup.len : 0) == 0))) goto LA13_;
				result = newRstNode__1jaf6GW9cTGFKmVxMM1pg9aA(((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 64), e);
			}
			goto LA11_;
			LA13_: ;
			{
				rstMessage__c19bbKpr7iyYsCdieIF8Mxg((&(*p)), ((tyEnum_MsgKind__iviJnHlj9acPYlnNRbd9bhkQ) 7), key);
			}
			LA11_: ;
		}
		LA6_: ;
	}
	break;
	case ((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 39):
	{
		tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* y;
		NimStringDesc* T17_;
		T17_ = (NimStringDesc*)0;
		T17_ = rstnodeToRefname__TOPoj9cIRh7GBTY6PKofpTQ(n);
		y = findRef__2BSSxM9cTrmeL7ivQp29bptQ(p, T17_);
		{
			if (!!((y == NIM_NIL))) goto LA20_;
			result = newRstNode__9bXoUUqG5jV9cUn3dHohLAXA(((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 38));
			(*n).kind = ((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 0);
			add__6h6IpXf2O9aeD4hz9aJicc2A(result, n);
			add__6h6IpXf2O9aeD4hz9aJicc2A(result, y);
		}
		LA20_: ;
	}
	break;
	case ((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 64):
	{
	}
	break;
	case ((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 44):
	{
		(*p).hasToc = NIM_TRUE;
	}
	break;
	default:
	{
		{
			NI i;
			NI colontmp_;
			NI T26_;
			NI TM__Xuc9bgVTDeYXjwnCJIlXSig_119;
			NI res;
			i = (NI)0;
			colontmp_ = (NI)0;
			T26_ = (NI)0;
			T26_ = len__bM2v46TeKfDIrVkegSIy9ag(n);
			TM__Xuc9bgVTDeYXjwnCJIlXSig_119 = subInt(T26_, ((NI) 1));
			colontmp_ = (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_119);
			res = ((NI) 0);
			{
				while (1) {
					NI TM__Xuc9bgVTDeYXjwnCJIlXSig_120;
					if (!(res <= colontmp_)) goto LA28;
					i = res;
					if ((NU)(i) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(i,((*n).sons ? (*n).sons->Sup.len : 0)-1);
					if ((NU)(i) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(i,((*n).sons ? (*n).sons->Sup.len : 0)-1);
					asgnRef((void**) (&(*n).sons->data[i]), resolveSubs__BGO9adR5pD6YAUwvBbhm9beg(p, (*n).sons->data[i]));
					TM__Xuc9bgVTDeYXjwnCJIlXSig_120 = addInt(res, ((NI) 1));
					res = (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_120);
				} LA28: ;
			}
		}
	}
	break;
	}
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NI, currInd__tcf4oZW1YRBHtTR3G00pPw)(tyObject_RstParser__DC0I80p3rKpwC6ms59ctfpg* p) {	NI result;
	NI T1_;
	result = (NI)0;
	T1_ = (((*p).indentStack ? (*p).indentStack->Sup.len : 0)-1);
	if ((NU)(T1_) >= (NU)((*p).indentStack ? (*p).indentStack->Sup.len : 0)) raiseIndexError2(T1_,((*p).indentStack ? (*p).indentStack->Sup.len : 0)-1);
	result = (*p).indentStack->data[T1_];
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, pushInd__OJTRnMjFoUXx9bKbnYoP5gQ)(tyObject_RstParser__DC0I80p3rKpwC6ms59ctfpg* p, NI ind) {	NI T1_;
	unsureAsgnRef((void**) (&(*p).indentStack), (tySequence__qwqHTkRvwhrRyENtudHQ7g*) incrSeqV3((TGenericSeq*)((*p).indentStack), (&NTI__qwqHTkRvwhrRyENtudHQ7g_)));
	T1_ = (*p).indentStack->Sup.len++;
	(*p).indentStack->data[T1_] = ind;
}
N_LIB_PRIVATE N_NIMCALL(void, popInd__1vyCOXsO3lilS9aF7FMTVkg)(tyObject_RstParser__DC0I80p3rKpwC6ms59ctfpg* p) {	{
		NI T3_;
		NI T6_;
		NI TM__Xuc9bgVTDeYXjwnCJIlXSig_123;
		T3_ = ((*p).indentStack ? (*p).indentStack->Sup.len : 0);
		if (!(((NI) 1) < T3_)) goto LA4_;
		T6_ = ((*p).indentStack ? (*p).indentStack->Sup.len : 0);
		TM__Xuc9bgVTDeYXjwnCJIlXSig_123 = subInt(T6_, ((NI) 1));
		unsureAsgnRef((void**) (&(*p).indentStack), (tySequence__qwqHTkRvwhrRyENtudHQ7g*) setLengthSeqV2(&((*p).indentStack)->Sup, (&NTI__qwqHTkRvwhrRyENtudHQ7g_), ((NI)chckRange((NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_123), ((NI) 0), ((NI) 2147483647)))));
	}
	LA4_: ;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, match__Q9ccnP9b8RJYaO2u1a0CIzXA)(tyObject_RstParser__DC0I80p3rKpwC6ms59ctfpg* p, NI start, NimStringDesc* expr) {	NIM_BOOL result;
	NI i;
	NI j;
	NI last;
	NI TM__Xuc9bgVTDeYXjwnCJIlXSig_124;
{	result = (NIM_BOOL)0;
	i = ((NI) 0);
	j = start;
	TM__Xuc9bgVTDeYXjwnCJIlXSig_124 = subInt((expr ? expr->Sup.len : 0), ((NI) 1));
	last = (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_124);
	{
		while (1) {
			NI TM__Xuc9bgVTDeYXjwnCJIlXSig_130;
			NI TM__Xuc9bgVTDeYXjwnCJIlXSig_131;
			if (!(i <= last)) goto LA2;
			if ((NU)(i) >= (NU)(expr ? expr->Sup.len : 0)) raiseIndexError2(i,(expr ? expr->Sup.len : 0)-1);
			switch (((NU8)(expr->data[i]))) {
			case 119:
			{
				if ((NU)(j) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2(j,((*p).tok ? (*p).tok->Sup.len : 0)-1);
				result = ((*p).tok->data[j].kind == ((tyEnum_TokType__G7B8aJ8qgyXs01CE89bLriQ) 3));
			}
			break;
			case 32:
			{
				if ((NU)(j) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2(j,((*p).tok ? (*p).tok->Sup.len : 0)-1);
				result = ((*p).tok->data[j].kind == ((tyEnum_TokType__G7B8aJ8qgyXs01CE89bLriQ) 2));
			}
			break;
			case 105:
			{
				if ((NU)(j) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2(j,((*p).tok ? (*p).tok->Sup.len : 0)-1);
				result = ((*p).tok->data[j].kind == ((tyEnum_TokType__G7B8aJ8qgyXs01CE89bLriQ) 1));
			}
			break;
			case 112:
			{
				if ((NU)(j) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2(j,((*p).tok ? (*p).tok->Sup.len : 0)-1);
				result = ((*p).tok->data[j].kind == ((tyEnum_TokType__G7B8aJ8qgyXs01CE89bLriQ) 5));
			}
			break;
			case 97:
			{
				if ((NU)(j) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2(j,((*p).tok ? (*p).tok->Sup.len : 0)-1);
				result = ((*p).tok->data[j].kind == ((tyEnum_TokType__G7B8aJ8qgyXs01CE89bLriQ) 4));
			}
			break;
			case 111:
			{
				if ((NU)(j) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2(j,((*p).tok ? (*p).tok->Sup.len : 0)-1);
				result = ((*p).tok->data[j].kind == ((tyEnum_TokType__G7B8aJ8qgyXs01CE89bLriQ) 6));
			}
			break;
			case 84:
			{
				result = NIM_TRUE;
			}
			break;
			case 69:
			{
				if ((NU)(j) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2(j,((*p).tok ? (*p).tok->Sup.len : 0)-1);
				result = ((7 &(1U<<((NU)((*p).tok->data[j].kind)&7U)))!=0);
			}
			break;
			case 101:
			{
				NIM_BOOL T12_;
				T12_ = (NIM_BOOL)0;
				if ((NU)(j) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2(j,((*p).tok ? (*p).tok->Sup.len : 0)-1);
				T12_ = ((*p).tok->data[j].kind == ((tyEnum_TokType__G7B8aJ8qgyXs01CE89bLriQ) 3));
				if (T12_) goto LA13_;
				if ((NU)(j) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2(j,((*p).tok ? (*p).tok->Sup.len : 0)-1);
				T12_ = eqStrings((*p).tok->data[j].symbol, ((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_125));
				LA13_: ;
				result = T12_;
				{
					if (!result) goto LA16_;
					if ((NU)(j) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2(j,((*p).tok ? (*p).tok->Sup.len : 0)-1);
					if ((NU)(((NI) 0)) >= (NU)((*p).tok->data[j].symbol ? (*p).tok->data[j].symbol->Sup.len : 0)) raiseIndexError2(((NI) 0),((*p).tok->data[j].symbol ? (*p).tok->data[j].symbol->Sup.len : 0)-1);
					switch (((NU8)((*p).tok->data[j].symbol->data[((NI) 0)]))) {
					case 97 ... 122:
					case 65 ... 90:
					case 35:
					{
						if ((NU)(j) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2(j,((*p).tok ? (*p).tok->Sup.len : 0)-1);
						result = (((*p).tok->data[j].symbol ? (*p).tok->data[j].symbol->Sup.len : 0) == ((NI) 1));
					}
					break;
					case 48 ... 57:
					{
						if ((NU)(j) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2(j,((*p).tok ? (*p).tok->Sup.len : 0)-1);
						result = allCharsInSet__dubrHoRt3C9a0HlJjsxM5ig((*p).tok->data[j].symbol, TM__Xuc9bgVTDeYXjwnCJIlXSig_126);
					}
					break;
					default:
					{
						result = NIM_FALSE;
					}
					break;
					}
				}
				LA16_: ;
			}
			break;
			default:
			{
				NIM_CHAR c;
				NI length;
				NI TM__Xuc9bgVTDeYXjwnCJIlXSig_129;
				NIM_BOOL T26_;
				NIM_BOOL T27_;
				if ((NU)(i) >= (NU)(expr ? expr->Sup.len : 0)) raiseIndexError2(i,(expr ? expr->Sup.len : 0)-1);
				c = expr->data[i];
				length = ((NI) 0);
				{
					while (1) {
						NIM_BOOL T24_;
						NI TM__Xuc9bgVTDeYXjwnCJIlXSig_127;
						NI TM__Xuc9bgVTDeYXjwnCJIlXSig_128;
						T24_ = (NIM_BOOL)0;
						T24_ = (i <= last);
						if (!(T24_)) goto LA25_;
						if ((NU)(i) >= (NU)(expr ? expr->Sup.len : 0)) raiseIndexError2(i,(expr ? expr->Sup.len : 0)-1);
						T24_ = ((NU8)(expr->data[i]) == (NU8)(c));
						LA25_: ;
						if (!T24_) goto LA23;
						TM__Xuc9bgVTDeYXjwnCJIlXSig_127 = addInt(i, ((NI) 1));
						i = (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_127);
						TM__Xuc9bgVTDeYXjwnCJIlXSig_128 = addInt(length, ((NI) 1));
						length = (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_128);
					} LA23: ;
				}
				TM__Xuc9bgVTDeYXjwnCJIlXSig_129 = subInt(i, ((NI) 1));
				i = (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_129);
				T26_ = (NIM_BOOL)0;
				T27_ = (NIM_BOOL)0;
				if ((NU)(j) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2(j,((*p).tok ? (*p).tok->Sup.len : 0)-1);
				T27_ = ((48 &(1U<<((NU)((*p).tok->data[j].kind)&7U)))!=0);
				if (!(T27_)) goto LA28_;
				if ((NU)(j) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2(j,((*p).tok ? (*p).tok->Sup.len : 0)-1);
				T27_ = (((*p).tok->data[j].symbol ? (*p).tok->data[j].symbol->Sup.len : 0) == length);
				LA28_: ;
				T26_ = T27_;
				if (!(T26_)) goto LA29_;
				if ((NU)(j) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2(j,((*p).tok ? (*p).tok->Sup.len : 0)-1);
				if ((NU)(((NI) 0)) >= (NU)((*p).tok->data[j].symbol ? (*p).tok->data[j].symbol->Sup.len : 0)) raiseIndexError2(((NI) 0),((*p).tok->data[j].symbol ? (*p).tok->data[j].symbol->Sup.len : 0)-1);
				T26_ = ((NU8)((*p).tok->data[j].symbol->data[((NI) 0)]) == (NU8)(c));
				LA29_: ;
				result = T26_;
			}
			break;
			}
			{
				if (!!(result)) goto LA32_;
				goto BeforeRet_;
			}
			LA32_: ;
			TM__Xuc9bgVTDeYXjwnCJIlXSig_130 = addInt(j, ((NI) 1));
			j = (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_130);
			TM__Xuc9bgVTDeYXjwnCJIlXSig_131 = addInt(i, ((NI) 1));
			i = (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_131);
		} LA2: ;
	}
	result = NIM_TRUE;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isMarkdownHeadlinePattern__pT1dLhK9c9bVXg9ahL5s9bgV9bg)(NimStringDesc* s) {	NIM_BOOL result;
{	result = (NIM_BOOL)0;
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = (((NI) 1) <= (s ? s->Sup.len : 0));
		if (!(T3_)) goto LA4_;
		T3_ = ((s ? s->Sup.len : 0) <= ((NI) 6));
		LA4_: ;
		if (!T3_) goto LA5_;
		{
			NIM_CHAR c;
			NI i;
			NI L;
			c = (NIM_CHAR)0;
			i = ((NI) 0);
			L = (s ? s->Sup.len : 0);
			{
				while (1) {
					NI TM__Xuc9bgVTDeYXjwnCJIlXSig_138;
					if (!(i < L)) goto LA9;
					if ((NU)(i) >= (NU)(s ? s->Sup.len : 0)) raiseIndexError2(i,(s ? s->Sup.len : 0)-1);
					c = s->data[i];
					{
						if (!!(((NU8)(c) == (NU8)(35)))) goto LA12_;
						result = NIM_FALSE;
						goto BeforeRet_;
					}
					LA12_: ;
					TM__Xuc9bgVTDeYXjwnCJIlXSig_138 = addInt(i, ((NI) 1));
					i = (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_138);
					{
						if (!!(((s ? s->Sup.len : 0) == L))) goto LA16_;
						failedAssertImpl__W9cjVocn1tjhW7p7xohJj6A(((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_139));
					}
					LA16_: ;
				} LA9: ;
			}
		}
		result = NIM_TRUE;
	}
	LA5_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isMarkdownHeadline__jHte2LzNlDQDnBSkgZB4YA)(tyObject_RstParser__DC0I80p3rKpwC6ms59ctfpg* p) {	NIM_BOOL result;
	result = (NIM_BOOL)0;
	{
		if (!(((*(*p).s).options &(1U<<((NU)(((tyEnum_RstParseOption__fiZmsylYkyh6nEciRZcPsw) 3))&7U)))!=0)) goto LA3_;
		{
			NIM_BOOL T7_;
			NI TM__Xuc9bgVTDeYXjwnCJIlXSig_140;
			T7_ = (NIM_BOOL)0;
			if ((NU)((*p).idx) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((*p).idx,((*p).tok ? (*p).tok->Sup.len : 0)-1);
			T7_ = isMarkdownHeadlinePattern__pT1dLhK9c9bVXg9ahL5s9bgV9bg((*p).tok->data[(*p).idx].symbol);
			if (!(T7_)) goto LA8_;
			TM__Xuc9bgVTDeYXjwnCJIlXSig_140 = addInt((*p).idx, ((NI) 1));
			if ((NU)((NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_140)) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_140),((*p).tok ? (*p).tok->Sup.len : 0)-1);
			T7_ = ((*p).tok->data[(NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_140)].kind == ((tyEnum_TokType__G7B8aJ8qgyXs01CE89bLriQ) 2));
			LA8_: ;
			if (!T7_) goto LA9_;
			{
				NI TM__Xuc9bgVTDeYXjwnCJIlXSig_141;
				TM__Xuc9bgVTDeYXjwnCJIlXSig_141 = addInt((*p).idx, ((NI) 2));
				if ((NU)((NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_141)) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_141),((*p).tok ? (*p).tok->Sup.len : 0)-1);
				if (!((104 &(1U<<((NU)((*p).tok->data[(NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_141)].kind)&7U)))!=0)) goto LA13_;
				result = NIM_TRUE;
			}
			LA13_: ;
		}
		LA9_: ;
	}
	LA3_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NI, tokenAfterNewline__tcf4oZW1YRBHtTR3G00pPw_2)(tyObject_RstParser__DC0I80p3rKpwC6ms59ctfpg* p) {	NI result;
	result = (NI)0;
	result = (*p).idx;
	{
		while (1) {
			if ((NU)(result) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2(result,((*p).tok ? (*p).tok->Sup.len : 0)-1);
			switch ((*p).tok->data[result].kind) {
			case ((tyEnum_TokType__G7B8aJ8qgyXs01CE89bLriQ) 0):
			{
				goto LA1;
			}
			break;
			case ((tyEnum_TokType__G7B8aJ8qgyXs01CE89bLriQ) 1):
			{
				NI TM__Xuc9bgVTDeYXjwnCJIlXSig_142;
				TM__Xuc9bgVTDeYXjwnCJIlXSig_142 = addInt(result, ((NI) 1));
				result = (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_142);
				goto LA1;
			}
			break;
			default:
			{
				NI TM__Xuc9bgVTDeYXjwnCJIlXSig_143;
				TM__Xuc9bgVTDeYXjwnCJIlXSig_143 = addInt(result, ((NI) 1));
				result = (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_143);
			}
			break;
			}
		}
	} LA1: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, predNL__jHte2LzNlDQDnBSkgZB4YA_2)(tyObject_RstParser__DC0I80p3rKpwC6ms59ctfpg* p) {	NIM_BOOL result;
	result = (NIM_BOOL)0;
	result = NIM_TRUE;
	{
		NIM_BOOL T5_;
		NI TM__Xuc9bgVTDeYXjwnCJIlXSig_146;
		NI TM__Xuc9bgVTDeYXjwnCJIlXSig_147;
		NI T7_;
		if (!(((NI) 0) < (*p).idx)) goto LA3_;
		T5_ = (NIM_BOOL)0;
		TM__Xuc9bgVTDeYXjwnCJIlXSig_146 = subInt((*p).idx, ((NI) 1));
		if ((NU)((NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_146)) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_146),((*p).tok ? (*p).tok->Sup.len : 0)-1);
		T5_ = ((*p).tok->data[(NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_146)].kind == ((tyEnum_TokType__G7B8aJ8qgyXs01CE89bLriQ) 1));
		if (!(T5_)) goto LA6_;
		TM__Xuc9bgVTDeYXjwnCJIlXSig_147 = subInt((*p).idx, ((NI) 1));
		if ((NU)((NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_147)) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_147),((*p).tok ? (*p).tok->Sup.len : 0)-1);
		T7_ = (NI)0;
		T7_ = currInd__tcf4oZW1YRBHtTR3G00pPw(p);
		T5_ = ((*p).tok->data[(NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_147)].ival == T7_);
		LA6_: ;
		result = T5_;
	}
	LA3_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isLineBlock__jHte2LzNlDQDnBSkgZB4YA_3)(tyObject_RstParser__DC0I80p3rKpwC6ms59ctfpg* p) {	NIM_BOOL result;
	NI j;
	NIM_BOOL T1_;
	NIM_BOOL T2_;
	result = (NIM_BOOL)0;
	j = tokenAfterNewline__tcf4oZW1YRBHtTR3G00pPw_2(p);
	T1_ = (NIM_BOOL)0;
	T2_ = (NIM_BOOL)0;
	if ((NU)((*p).idx) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((*p).idx,((*p).tok ? (*p).tok->Sup.len : 0)-1);
	if ((NU)(j) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2(j,((*p).tok ? (*p).tok->Sup.len : 0)-1);
	T2_ = ((*p).tok->data[(*p).idx].col == (*p).tok->data[j].col);
	if (!(T2_)) goto LA3_;
	if ((NU)(j) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2(j,((*p).tok ? (*p).tok->Sup.len : 0)-1);
	T2_ = eqStrings((*p).tok->data[j].symbol, ((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_152));
	LA3_: ;
	T1_ = T2_;
	if (T1_) goto LA4_;
	if ((NU)((*p).idx) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((*p).idx,((*p).tok ? (*p).tok->Sup.len : 0)-1);
	if ((NU)(j) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2(j,((*p).tok ? (*p).tok->Sup.len : 0)-1);
	T1_ = ((*p).tok->data[(*p).idx].col < (*p).tok->data[j].col);
	LA4_: ;
	result = T1_;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, rstMessage__0sSAGv1qn9bem9cIV0hyKwzQ)(tyObject_RstParser__DC0I80p3rKpwC6ms59ctfpg* p, tyEnum_MsgKind__iviJnHlj9acPYlnNRbd9bhkQ msgKind) {	NI TM__Xuc9bgVTDeYXjwnCJIlXSig_158;
	NI TM__Xuc9bgVTDeYXjwnCJIlXSig_159;
	if ((NU)((*p).idx) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((*p).idx,((*p).tok ? (*p).tok->Sup.len : 0)-1);
	TM__Xuc9bgVTDeYXjwnCJIlXSig_158 = addInt((*p).line, (*p).tok->data[(*p).idx].line);
	if ((NU)((*p).idx) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((*p).idx,((*p).tok ? (*p).tok->Sup.len : 0)-1);
	TM__Xuc9bgVTDeYXjwnCJIlXSig_159 = addInt((*p).col, (*p).tok->data[(*p).idx].col);
	if ((NU)((*p).idx) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((*p).idx,((*p).tok ? (*p).tok->Sup.len : 0)-1);
	(*(*p).s).msgHandler.ClE_0? (*(*p).s).msgHandler.ClP_0((*p).filename, (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_158), (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_159), msgKind, (*p).tok->data[(*p).idx].symbol, (*(*p).s).msgHandler.ClE_0):((TM__Xuc9bgVTDeYXjwnCJIlXSig_160)((*(*p).s).msgHandler.ClP_0))((*p).filename, (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_158), (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_159), msgKind, (*p).tok->data[(*p).idx].symbol);
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isDefList__jHte2LzNlDQDnBSkgZB4YA_4)(tyObject_RstParser__DC0I80p3rKpwC6ms59ctfpg* p) {	NIM_BOOL result;
	NI j;
	NIM_BOOL T1_;
	NIM_BOOL T2_;
	NI TM__Xuc9bgVTDeYXjwnCJIlXSig_161;
	result = (NIM_BOOL)0;
	j = tokenAfterNewline__tcf4oZW1YRBHtTR3G00pPw_2(p);
	T1_ = (NIM_BOOL)0;
	T2_ = (NIM_BOOL)0;
	if ((NU)((*p).idx) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((*p).idx,((*p).tok ? (*p).tok->Sup.len : 0)-1);
	if ((NU)(j) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2(j,((*p).tok ? (*p).tok->Sup.len : 0)-1);
	T2_ = ((*p).tok->data[(*p).idx].col < (*p).tok->data[j].col);
	if (!(T2_)) goto LA3_;
	if ((NU)(j) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2(j,((*p).tok ? (*p).tok->Sup.len : 0)-1);
	T2_ = ((104 &(1U<<((NU)((*p).tok->data[j].kind)&7U)))!=0);
	LA3_: ;
	T1_ = T2_;
	if (!(T1_)) goto LA4_;
	TM__Xuc9bgVTDeYXjwnCJIlXSig_161 = subInt(j, ((NI) 2));
	if ((NU)((NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_161)) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_161),((*p).tok ? (*p).tok->Sup.len : 0)-1);
	T1_ = !(eqStrings((*p).tok->data[(NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_161)].symbol, ((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_145)));
	LA4_: ;
	result = T1_;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isOptionList__jHte2LzNlDQDnBSkgZB4YA_5)(tyObject_RstParser__DC0I80p3rKpwC6ms59ctfpg* p) {	NIM_BOOL result;
	NIM_BOOL T1_;
	NIM_BOOL T2_;
	NIM_BOOL T3_;
	result = (NIM_BOOL)0;
	T1_ = (NIM_BOOL)0;
	T2_ = (NIM_BOOL)0;
	T3_ = (NIM_BOOL)0;
	T3_ = match__Q9ccnP9b8RJYaO2u1a0CIzXA(p, (*p).idx, ((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_162));
	if (T3_) goto LA4_;
	T3_ = match__Q9ccnP9b8RJYaO2u1a0CIzXA(p, (*p).idx, ((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_163));
	LA4_: ;
	T2_ = T3_;
	if (T2_) goto LA5_;
	T2_ = match__Q9ccnP9b8RJYaO2u1a0CIzXA(p, (*p).idx, ((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_164));
	LA5_: ;
	T1_ = T2_;
	if (T1_) goto LA6_;
	T1_ = match__Q9ccnP9b8RJYaO2u1a0CIzXA(p, (*p).idx, ((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_165));
	LA6_: ;
	result = T1_;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg, whichSection__25bSQY3FK8PXJnPsugsm5Q)(tyObject_RstParser__DC0I80p3rKpwC6ms59ctfpg* p) {	tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg result;
	result = (tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg)0;
	if ((NU)((*p).idx) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((*p).idx,((*p).tok ? (*p).tok->Sup.len : 0)-1);
	switch ((*p).tok->data[(*p).idx].kind) {
	case ((tyEnum_TokType__G7B8aJ8qgyXs01CE89bLriQ) 4):
	{
		{
			NI TM__Xuc9bgVTDeYXjwnCJIlXSig_132;
			NIM_BOOL T4_;
			TM__Xuc9bgVTDeYXjwnCJIlXSig_132 = addInt((*p).idx, ((NI) 1));
			T4_ = (NIM_BOOL)0;
			T4_ = match__Q9ccnP9b8RJYaO2u1a0CIzXA(p, (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_132), ((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_133));
			if (!T4_) goto LA5_;
			result = ((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 3);
		}
		goto LA2_;
		LA5_: ;
		{
			NI TM__Xuc9bgVTDeYXjwnCJIlXSig_134;
			NIM_BOOL T8_;
			TM__Xuc9bgVTDeYXjwnCJIlXSig_134 = addInt((*p).idx, ((NI) 1));
			T8_ = (NIM_BOOL)0;
			T8_ = match__Q9ccnP9b8RJYaO2u1a0CIzXA(p, (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_134), ((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_135));
			if (!T8_) goto LA9_;
			result = ((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 29);
		}
		goto LA2_;
		LA9_: ;
		{
			NI TM__Xuc9bgVTDeYXjwnCJIlXSig_136;
			NIM_BOOL T12_;
			TM__Xuc9bgVTDeYXjwnCJIlXSig_136 = addInt((*p).idx, ((NI) 1));
			T12_ = (NIM_BOOL)0;
			T12_ = match__Q9ccnP9b8RJYaO2u1a0CIzXA(p, (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_136), ((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_137));
			if (!T12_) goto LA13_;
			result = ((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 2);
		}
		goto LA2_;
		LA13_: ;
		{
			NIM_BOOL T16_;
			T16_ = (NIM_BOOL)0;
			T16_ = isMarkdownHeadline__jHte2LzNlDQDnBSkgZB4YA(p);
			if (!T16_) goto LA17_;
			result = ((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 1);
		}
		goto LA2_;
		LA17_: ;
		{
			result = ((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 64);
		}
		LA2_: ;
	}
	break;
	case ((tyEnum_TokType__G7B8aJ8qgyXs01CE89bLriQ) 5):
	{
		{
			NIM_BOOL T23_;
			T23_ = (NIM_BOOL)0;
			T23_ = isMarkdownHeadline__jHte2LzNlDQDnBSkgZB4YA(p);
			if (!T23_) goto LA24_;
			result = ((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 1);
		}
		goto LA21_;
		LA24_: ;
		{
			NI T27_;
			NIM_BOOL T28_;
			T27_ = (NI)0;
			T27_ = tokenAfterNewline__tcf4oZW1YRBHtTR3G00pPw_2(p);
			T28_ = (NIM_BOOL)0;
			T28_ = match__Q9ccnP9b8RJYaO2u1a0CIzXA(p, T27_, ((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_144));
			if (!T28_) goto LA29_;
			result = ((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 1);
		}
		goto LA21_;
		LA29_: ;
		{
			if ((NU)((*p).idx) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((*p).idx,((*p).tok ? (*p).tok->Sup.len : 0)-1);
			if (!eqStrings((*p).tok->data[(*p).idx].symbol, ((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_145))) goto LA32_;
			result = ((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 24);
		}
		goto LA21_;
		LA32_: ;
		{
			NIM_BOOL T35_;
			NIM_BOOL T36_;
			NIM_BOOL T38_;
			NIM_BOOL T39_;
			NI TM__Xuc9bgVTDeYXjwnCJIlXSig_151;
			T35_ = (NIM_BOOL)0;
			T36_ = (NIM_BOOL)0;
			T36_ = predNL__jHte2LzNlDQDnBSkgZB4YA_2(p);
			if (!(T36_)) goto LA37_;
			T38_ = (NIM_BOOL)0;
			T39_ = (NIM_BOOL)0;
			if ((NU)((*p).idx) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((*p).idx,((*p).tok ? (*p).tok->Sup.len : 0)-1);
			T39_ = eqStrings((*p).tok->data[(*p).idx].symbol, ((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_148));
			if (T39_) goto LA40_;
			if ((NU)((*p).idx) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((*p).idx,((*p).tok ? (*p).tok->Sup.len : 0)-1);
			T39_ = eqStrings((*p).tok->data[(*p).idx].symbol, ((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_149));
			LA40_: ;
			T38_ = T39_;
			if (T38_) goto LA41_;
			if ((NU)((*p).idx) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((*p).idx,((*p).tok ? (*p).tok->Sup.len : 0)-1);
			T38_ = eqStrings((*p).tok->data[(*p).idx].symbol, ((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_150));
			LA41_: ;
			T36_ = T38_;
			LA37_: ;
			T35_ = T36_;
			if (!(T35_)) goto LA42_;
			TM__Xuc9bgVTDeYXjwnCJIlXSig_151 = addInt((*p).idx, ((NI) 1));
			if ((NU)((NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_151)) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_151),((*p).tok ? (*p).tok->Sup.len : 0)-1);
			T35_ = ((*p).tok->data[(NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_151)].kind == ((tyEnum_TokType__G7B8aJ8qgyXs01CE89bLriQ) 2));
			LA42_: ;
			if (!T35_) goto LA43_;
			result = ((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 5);
		}
		goto LA21_;
		LA43_: ;
		{
			NIM_BOOL T46_;
			T46_ = (NIM_BOOL)0;
			if ((NU)((*p).idx) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((*p).idx,((*p).tok ? (*p).tok->Sup.len : 0)-1);
			T46_ = eqStrings((*p).tok->data[(*p).idx].symbol, ((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_152));
			if (!(T46_)) goto LA47_;
			T46_ = isLineBlock__jHte2LzNlDQDnBSkgZB4YA_3(p);
			LA47_: ;
			if (!T46_) goto LA48_;
			result = ((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 26);
		}
		goto LA21_;
		LA48_: ;
		{
			NIM_BOOL T51_;
			T51_ = (NIM_BOOL)0;
			if ((NU)((*p).idx) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((*p).idx,((*p).tok ? (*p).tok->Sup.len : 0)-1);
			T51_ = eqStrings((*p).tok->data[(*p).idx].symbol, ((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_153));
			if (!(T51_)) goto LA52_;
			T51_ = predNL__jHte2LzNlDQDnBSkgZB4YA_2(p);
			LA52_: ;
			if (!T51_) goto LA53_;
			result = ((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 40);
		}
		goto LA21_;
		LA53_: ;
		{
			NIM_BOOL T56_;
			T56_ = (NIM_BOOL)0;
			T56_ = match__Q9ccnP9b8RJYaO2u1a0CIzXA(p, (*p).idx, ((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_154));
			if (!(T56_)) goto LA57_;
			T56_ = predNL__jHte2LzNlDQDnBSkgZB4YA_2(p);
			LA57_: ;
			if (!T56_) goto LA58_;
			result = ((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 13);
		}
		goto LA21_;
		LA58_: ;
		{
			NIM_BOOL T61_;
			T61_ = (NIM_BOOL)0;
			T61_ = match__Q9ccnP9b8RJYaO2u1a0CIzXA(p, (*p).idx, ((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_155));
			if (T61_) goto LA62_;
			T61_ = match__Q9ccnP9b8RJYaO2u1a0CIzXA(p, (*p).idx, ((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_156));
			LA62_: ;
			if (!T61_) goto LA63_;
			result = ((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 7);
		}
		goto LA21_;
		LA63_: ;
		{
			NIM_BOOL T66_;
			T66_ = (NIM_BOOL)0;
			T66_ = match__Q9ccnP9b8RJYaO2u1a0CIzXA(p, (*p).idx, ((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_157));
			if (!T66_) goto LA67_;
			result = ((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 30);
			rstMessage__0sSAGv1qn9bem9cIV0hyKwzQ(p, ((tyEnum_MsgKind__iviJnHlj9acPYlnNRbd9bhkQ) 2));
		}
		goto LA21_;
		LA67_: ;
		{
			NIM_BOOL T70_;
			T70_ = (NIM_BOOL)0;
			T70_ = isDefList__jHte2LzNlDQDnBSkgZB4YA_4(p);
			if (!T70_) goto LA71_;
			result = ((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 9);
		}
		goto LA21_;
		LA71_: ;
		{
			NIM_BOOL T74_;
			T74_ = (NIM_BOOL)0;
			T74_ = isOptionList__jHte2LzNlDQDnBSkgZB4YA_5(p);
			if (!T74_) goto LA75_;
			result = ((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 17);
		}
		goto LA21_;
		LA75_: ;
		{
			result = ((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 4);
		}
		LA21_: ;
	}
	break;
	case ((tyEnum_TokType__G7B8aJ8qgyXs01CE89bLriQ) 3):
	case ((tyEnum_TokType__G7B8aJ8qgyXs01CE89bLriQ) 6):
	case ((tyEnum_TokType__G7B8aJ8qgyXs01CE89bLriQ) 2):
	{
		{
			NI T81_;
			NIM_BOOL T82_;
			T81_ = (NI)0;
			T81_ = tokenAfterNewline__tcf4oZW1YRBHtTR3G00pPw_2(p);
			T82_ = (NIM_BOOL)0;
			T82_ = match__Q9ccnP9b8RJYaO2u1a0CIzXA(p, T81_, ((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_144));
			if (!T82_) goto LA83_;
			result = ((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 1);
		}
		goto LA79_;
		LA83_: ;
		{
			NIM_BOOL T86_;
			T86_ = (NIM_BOOL)0;
			T86_ = match__Q9ccnP9b8RJYaO2u1a0CIzXA(p, (*p).idx, ((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_166));
			if (T86_) goto LA87_;
			T86_ = match__Q9ccnP9b8RJYaO2u1a0CIzXA(p, (*p).idx, ((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_156));
			LA87_: ;
			if (!T86_) goto LA88_;
			result = ((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 7);
		}
		goto LA79_;
		LA88_: ;
		{
			NIM_BOOL T91_;
			T91_ = (NIM_BOOL)0;
			T91_ = isDefList__jHte2LzNlDQDnBSkgZB4YA_4(p);
			if (!T91_) goto LA92_;
			result = ((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 9);
		}
		goto LA79_;
		LA92_: ;
		{
			result = ((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 4);
		}
		LA79_: ;
	}
	break;
	default:
	{
		result = ((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 64);
	}
	break;
	}
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg*, parseLiteralBlock__naJf3qvk6DpdtbboNxHj4g_3)(tyObject_RstParser__DC0I80p3rKpwC6ms59ctfpg* p) {	tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* result;
	tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* n;
	result = (tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg*)0;
	result = newRstNode__9bXoUUqG5jV9cUn3dHohLAXA(((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 24));
	n = newRstNode__1jaf6GW9cTGFKmVxMM1pg9aA(((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 64), ((NimStringDesc*) NIM_NIL));
	{
		NI indent;
		NI TM__Xuc9bgVTDeYXjwnCJIlXSig_168;
		if ((NU)((*p).idx) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((*p).idx,((*p).tok ? (*p).tok->Sup.len : 0)-1);
		if (!((*p).tok->data[(*p).idx].kind == ((tyEnum_TokType__G7B8aJ8qgyXs01CE89bLriQ) 1))) goto LA3_;
		if ((NU)((*p).idx) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((*p).idx,((*p).tok ? (*p).tok->Sup.len : 0)-1);
		indent = (*p).tok->data[(*p).idx].ival;
		TM__Xuc9bgVTDeYXjwnCJIlXSig_168 = addInt((*p).idx, ((NI) 1));
		(*p).idx = (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_168);
		{
			while (1) {
				if ((NU)((*p).idx) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((*p).idx,((*p).tok ? (*p).tok->Sup.len : 0)-1);
				switch ((*p).tok->data[(*p).idx].kind) {
				case ((tyEnum_TokType__G7B8aJ8qgyXs01CE89bLriQ) 0):
				{
					goto LA5;
				}
				break;
				case ((tyEnum_TokType__G7B8aJ8qgyXs01CE89bLriQ) 1):
				{
					{
						if ((NU)((*p).idx) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((*p).idx,((*p).tok ? (*p).tok->Sup.len : 0)-1);
						if (!((*p).tok->data[(*p).idx].ival < indent)) goto LA11_;
						goto LA5;
					}
					goto LA9_;
					LA11_: ;
					{
						NI TM__Xuc9bgVTDeYXjwnCJIlXSig_169;
						NimStringDesc* T14_;
						NI TM__Xuc9bgVTDeYXjwnCJIlXSig_170;
						asgnRef((void**) (&(*n).text), resizeString((*n).text, 1));
appendString((*n).text, ((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_70));
						if ((NU)((*p).idx) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((*p).idx,((*p).tok ? (*p).tok->Sup.len : 0)-1);
						TM__Xuc9bgVTDeYXjwnCJIlXSig_169 = subInt((*p).tok->data[(*p).idx].ival, indent);
						T14_ = (NimStringDesc*)0;
						T14_ = spaces__zuWfkBFTPm31FNfSpe2HQQstrutils(((NI)chckRange((NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_169), ((NI) 0), ((NI) 2147483647))));
						asgnRef((void**) (&(*n).text), resizeString((*n).text, (T14_ ? T14_->Sup.len : 0) + 0));
appendString((*n).text, T14_);
						TM__Xuc9bgVTDeYXjwnCJIlXSig_170 = addInt((*p).idx, ((NI) 1));
						(*p).idx = (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_170);
					}
					LA9_: ;
				}
				break;
				default:
				{
					NI TM__Xuc9bgVTDeYXjwnCJIlXSig_171;
					if ((NU)((*p).idx) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((*p).idx,((*p).tok ? (*p).tok->Sup.len : 0)-1);
					asgnRef((void**) (&(*n).text), resizeString((*n).text, ((*p).tok->data[(*p).idx].symbol ? (*p).tok->data[(*p).idx].symbol->Sup.len : 0) + 0));
appendString((*n).text, (*p).tok->data[(*p).idx].symbol);
					TM__Xuc9bgVTDeYXjwnCJIlXSig_171 = addInt((*p).idx, ((NI) 1));
					(*p).idx = (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_171);
				}
				break;
				}
			}
		} LA5: ;
	}
	goto LA1_;
	LA3_: ;
	{
		{
			while (1) {
				NI TM__Xuc9bgVTDeYXjwnCJIlXSig_172;
				if ((NU)((*p).idx) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((*p).idx,((*p).tok ? (*p).tok->Sup.len : 0)-1);
				if (!!(((3 &(1U<<((NU)((*p).tok->data[(*p).idx].kind)&7U)))!=0))) goto LA18;
				if ((NU)((*p).idx) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((*p).idx,((*p).tok ? (*p).tok->Sup.len : 0)-1);
				asgnRef((void**) (&(*n).text), resizeString((*n).text, ((*p).tok->data[(*p).idx].symbol ? (*p).tok->data[(*p).idx].symbol->Sup.len : 0) + 0));
appendString((*n).text, (*p).tok->data[(*p).idx].symbol);
				TM__Xuc9bgVTDeYXjwnCJIlXSig_172 = addInt((*p).idx, ((NI) 1));
				(*p).idx = (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_172);
			} LA18: ;
		}
	}
	LA1_: ;
	add__6h6IpXf2O9aeD4hz9aJicc2A(result, n);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg*, parseBulletList__naJf3qvk6DpdtbboNxHj4g_4)(tyObject_RstParser__DC0I80p3rKpwC6ms59ctfpg* p) {	tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* result;
	result = (tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg*)0;
	result = NIM_NIL;
	{
		NI TM__Xuc9bgVTDeYXjwnCJIlXSig_173;
		NimStringDesc* bullet;
		NI col;
		NI TM__Xuc9bgVTDeYXjwnCJIlXSig_174;
		NI TM__Xuc9bgVTDeYXjwnCJIlXSig_175;
		TM__Xuc9bgVTDeYXjwnCJIlXSig_173 = addInt((*p).idx, ((NI) 1));
		if ((NU)((NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_173)) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_173),((*p).tok ? (*p).tok->Sup.len : 0)-1);
		if (!((*p).tok->data[(NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_173)].kind == ((tyEnum_TokType__G7B8aJ8qgyXs01CE89bLriQ) 2))) goto LA3_;
		if ((NU)((*p).idx) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((*p).idx,((*p).tok ? (*p).tok->Sup.len : 0)-1);
		bullet = copyString((*p).tok->data[(*p).idx].symbol);
		if ((NU)((*p).idx) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((*p).idx,((*p).tok ? (*p).tok->Sup.len : 0)-1);
		col = (*p).tok->data[(*p).idx].col;
		result = newRstNode__9bXoUUqG5jV9cUn3dHohLAXA(((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 5));
		TM__Xuc9bgVTDeYXjwnCJIlXSig_174 = addInt((*p).idx, ((NI) 2));
		if ((NU)((NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_174)) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_174),((*p).tok ? (*p).tok->Sup.len : 0)-1);
		pushInd__OJTRnMjFoUXx9bKbnYoP5gQ(p, (*p).tok->data[(NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_174)].col);
		TM__Xuc9bgVTDeYXjwnCJIlXSig_175 = addInt((*p).idx, ((NI) 2));
		(*p).idx = (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_175);
		{
			while (1) {
				tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* item;
				item = newRstNode__9bXoUUqG5jV9cUn3dHohLAXA(((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 6));
				parseSection__xq5Qy6SIklyc6cm9byqeKvQ(p, item);
				add__6h6IpXf2O9aeD4hz9aJicc2A(result, item);
				{
					NIM_BOOL T9_;
					NIM_BOOL T10_;
					NIM_BOOL T11_;
					NI TM__Xuc9bgVTDeYXjwnCJIlXSig_176;
					NI TM__Xuc9bgVTDeYXjwnCJIlXSig_177;
					NI TM__Xuc9bgVTDeYXjwnCJIlXSig_178;
					T9_ = (NIM_BOOL)0;
					T10_ = (NIM_BOOL)0;
					T11_ = (NIM_BOOL)0;
					if ((NU)((*p).idx) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((*p).idx,((*p).tok ? (*p).tok->Sup.len : 0)-1);
					T11_ = ((*p).tok->data[(*p).idx].kind == ((tyEnum_TokType__G7B8aJ8qgyXs01CE89bLriQ) 1));
					if (!(T11_)) goto LA12_;
					if ((NU)((*p).idx) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((*p).idx,((*p).tok ? (*p).tok->Sup.len : 0)-1);
					T11_ = ((*p).tok->data[(*p).idx].ival == col);
					LA12_: ;
					T10_ = T11_;
					if (!(T10_)) goto LA13_;
					TM__Xuc9bgVTDeYXjwnCJIlXSig_176 = addInt((*p).idx, ((NI) 1));
					if ((NU)((NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_176)) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_176),((*p).tok ? (*p).tok->Sup.len : 0)-1);
					T10_ = eqStrings((*p).tok->data[(NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_176)].symbol, bullet);
					LA13_: ;
					T9_ = T10_;
					if (!(T9_)) goto LA14_;
					TM__Xuc9bgVTDeYXjwnCJIlXSig_177 = addInt((*p).idx, ((NI) 2));
					if ((NU)((NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_177)) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_177),((*p).tok ? (*p).tok->Sup.len : 0)-1);
					T9_ = ((*p).tok->data[(NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_177)].kind == ((tyEnum_TokType__G7B8aJ8qgyXs01CE89bLriQ) 2));
					LA14_: ;
					if (!T9_) goto LA15_;
					TM__Xuc9bgVTDeYXjwnCJIlXSig_178 = addInt((*p).idx, ((NI) 3));
					(*p).idx = (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_178);
				}
				goto LA7_;
				LA15_: ;
				{
					goto LA5;
				}
				LA7_: ;
			}
		} LA5: ;
		popInd__1vyCOXsO3lilS9aF7FMTVkg(p);
	}
	LA3_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg*, parseLineBlock__naJf3qvk6DpdtbboNxHj4g_5)(tyObject_RstParser__DC0I80p3rKpwC6ms59ctfpg* p) {	tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* result;
	result = (tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg*)0;
	result = NIM_NIL;
	{
		NI TM__Xuc9bgVTDeYXjwnCJIlXSig_179;
		NI col;
		NI TM__Xuc9bgVTDeYXjwnCJIlXSig_180;
		NI TM__Xuc9bgVTDeYXjwnCJIlXSig_181;
		TM__Xuc9bgVTDeYXjwnCJIlXSig_179 = addInt((*p).idx, ((NI) 1));
		if ((NU)((NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_179)) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_179),((*p).tok ? (*p).tok->Sup.len : 0)-1);
		if (!((*p).tok->data[(NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_179)].kind == ((tyEnum_TokType__G7B8aJ8qgyXs01CE89bLriQ) 2))) goto LA3_;
		if ((NU)((*p).idx) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((*p).idx,((*p).tok ? (*p).tok->Sup.len : 0)-1);
		col = (*p).tok->data[(*p).idx].col;
		result = newRstNode__9bXoUUqG5jV9cUn3dHohLAXA(((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 26));
		TM__Xuc9bgVTDeYXjwnCJIlXSig_180 = addInt((*p).idx, ((NI) 2));
		if ((NU)((NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_180)) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_180),((*p).tok ? (*p).tok->Sup.len : 0)-1);
		pushInd__OJTRnMjFoUXx9bKbnYoP5gQ(p, (*p).tok->data[(NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_180)].col);
		TM__Xuc9bgVTDeYXjwnCJIlXSig_181 = addInt((*p).idx, ((NI) 2));
		(*p).idx = (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_181);
		{
			while (1) {
				tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* item;
				item = newRstNode__9bXoUUqG5jV9cUn3dHohLAXA(((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 27));
				parseSection__xq5Qy6SIklyc6cm9byqeKvQ(p, item);
				add__6h6IpXf2O9aeD4hz9aJicc2A(result, item);
				{
					NIM_BOOL T9_;
					NIM_BOOL T10_;
					NIM_BOOL T11_;
					NI TM__Xuc9bgVTDeYXjwnCJIlXSig_182;
					NI TM__Xuc9bgVTDeYXjwnCJIlXSig_183;
					NI TM__Xuc9bgVTDeYXjwnCJIlXSig_184;
					T9_ = (NIM_BOOL)0;
					T10_ = (NIM_BOOL)0;
					T11_ = (NIM_BOOL)0;
					if ((NU)((*p).idx) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((*p).idx,((*p).tok ? (*p).tok->Sup.len : 0)-1);
					T11_ = ((*p).tok->data[(*p).idx].kind == ((tyEnum_TokType__G7B8aJ8qgyXs01CE89bLriQ) 1));
					if (!(T11_)) goto LA12_;
					if ((NU)((*p).idx) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((*p).idx,((*p).tok ? (*p).tok->Sup.len : 0)-1);
					T11_ = ((*p).tok->data[(*p).idx].ival == col);
					LA12_: ;
					T10_ = T11_;
					if (!(T10_)) goto LA13_;
					TM__Xuc9bgVTDeYXjwnCJIlXSig_182 = addInt((*p).idx, ((NI) 1));
					if ((NU)((NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_182)) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_182),((*p).tok ? (*p).tok->Sup.len : 0)-1);
					T10_ = eqStrings((*p).tok->data[(NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_182)].symbol, ((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_152));
					LA13_: ;
					T9_ = T10_;
					if (!(T9_)) goto LA14_;
					TM__Xuc9bgVTDeYXjwnCJIlXSig_183 = addInt((*p).idx, ((NI) 2));
					if ((NU)((NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_183)) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_183),((*p).tok ? (*p).tok->Sup.len : 0)-1);
					T9_ = ((*p).tok->data[(NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_183)].kind == ((tyEnum_TokType__G7B8aJ8qgyXs01CE89bLriQ) 2));
					LA14_: ;
					if (!T9_) goto LA15_;
					TM__Xuc9bgVTDeYXjwnCJIlXSig_184 = addInt((*p).idx, ((NI) 3));
					(*p).idx = (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_184);
				}
				goto LA7_;
				LA15_: ;
				{
					goto LA5;
				}
				LA7_: ;
			}
		} LA5: ;
		popInd__1vyCOXsO3lilS9aF7FMTVkg(p);
	}
	LA3_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, getDirective__2qjpS10VZz9bFIv4alMvXsw)(tyObject_RstParser__DC0I80p3rKpwC6ms59ctfpg* p) {	NimStringDesc* result;
	result = (NimStringDesc*)0;
	{
		NIM_BOOL T3_;
		NI TM__Xuc9bgVTDeYXjwnCJIlXSig_186;
		NI j;
		NI TM__Xuc9bgVTDeYXjwnCJIlXSig_187;
		NI TM__Xuc9bgVTDeYXjwnCJIlXSig_188;
		T3_ = (NIM_BOOL)0;
		if ((NU)((*p).idx) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((*p).idx,((*p).tok ? (*p).tok->Sup.len : 0)-1);
		T3_ = ((*p).tok->data[(*p).idx].kind == ((tyEnum_TokType__G7B8aJ8qgyXs01CE89bLriQ) 2));
		if (!(T3_)) goto LA4_;
		TM__Xuc9bgVTDeYXjwnCJIlXSig_186 = addInt((*p).idx, ((NI) 1));
		if ((NU)((NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_186)) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_186),((*p).tok ? (*p).tok->Sup.len : 0)-1);
		T3_ = ((*p).tok->data[(NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_186)].kind == ((tyEnum_TokType__G7B8aJ8qgyXs01CE89bLriQ) 3));
		LA4_: ;
		if (!T3_) goto LA5_;
		j = (*p).idx;
		TM__Xuc9bgVTDeYXjwnCJIlXSig_187 = addInt((*p).idx, ((NI) 1));
		(*p).idx = (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_187);
		if ((NU)((*p).idx) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((*p).idx,((*p).tok ? (*p).tok->Sup.len : 0)-1);
		result = copyString((*p).tok->data[(*p).idx].symbol);
		TM__Xuc9bgVTDeYXjwnCJIlXSig_188 = addInt((*p).idx, ((NI) 1));
		(*p).idx = (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_188);
		{
			while (1) {
				NI TM__Xuc9bgVTDeYXjwnCJIlXSig_189;
				if ((NU)((*p).idx) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((*p).idx,((*p).tok ? (*p).tok->Sup.len : 0)-1);
				if (!((120 &(1U<<((NU)((*p).tok->data[(*p).idx].kind)&7U)))!=0)) goto LA8;
				{
					if ((NU)((*p).idx) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((*p).idx,((*p).tok ? (*p).tok->Sup.len : 0)-1);
					if (!eqStrings((*p).tok->data[(*p).idx].symbol, ((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_145))) goto LA11_;
					goto LA7;
				}
				LA11_: ;
				if ((NU)((*p).idx) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((*p).idx,((*p).tok ? (*p).tok->Sup.len : 0)-1);
				result = resizeString(result, ((*p).tok->data[(*p).idx].symbol ? (*p).tok->data[(*p).idx].symbol->Sup.len : 0) + 0);
appendString(result, (*p).tok->data[(*p).idx].symbol);
				TM__Xuc9bgVTDeYXjwnCJIlXSig_189 = addInt((*p).idx, ((NI) 1));
				(*p).idx = (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_189);
			} LA8: ;
		} LA7: ;
		{
			NI TM__Xuc9bgVTDeYXjwnCJIlXSig_190;
			if ((NU)((*p).idx) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((*p).idx,((*p).tok ? (*p).tok->Sup.len : 0)-1);
			if (!((*p).tok->data[(*p).idx].kind == ((tyEnum_TokType__G7B8aJ8qgyXs01CE89bLriQ) 2))) goto LA15_;
			TM__Xuc9bgVTDeYXjwnCJIlXSig_190 = addInt((*p).idx, ((NI) 1));
			(*p).idx = (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_190);
		}
		LA15_: ;
		{
			NI TM__Xuc9bgVTDeYXjwnCJIlXSig_191;
			if ((NU)((*p).idx) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((*p).idx,((*p).tok ? (*p).tok->Sup.len : 0)-1);
			if (!eqStrings((*p).tok->data[(*p).idx].symbol, ((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_145))) goto LA19_;
			TM__Xuc9bgVTDeYXjwnCJIlXSig_191 = addInt((*p).idx, ((NI) 1));
			(*p).idx = (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_191);
			{
				NI TM__Xuc9bgVTDeYXjwnCJIlXSig_192;
				if ((NU)((*p).idx) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((*p).idx,((*p).tok ? (*p).tok->Sup.len : 0)-1);
				if (!((*p).tok->data[(*p).idx].kind == ((tyEnum_TokType__G7B8aJ8qgyXs01CE89bLriQ) 2))) goto LA23_;
				TM__Xuc9bgVTDeYXjwnCJIlXSig_192 = addInt((*p).idx, ((NI) 1));
				(*p).idx = (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_192);
			}
			LA23_: ;
		}
		goto LA17_;
		LA19_: ;
		{
			(*p).idx = j;
			result = ((NimStringDesc*) NIM_NIL);
		}
		LA17_: ;
	}
	goto LA1_;
	LA5_: ;
	{
		result = ((NimStringDesc*) NIM_NIL);
	}
	LA1_: ;
	return result;
}
static N_INLINE(NI, find__Tx3lAYjpwdGEfDSNU3JWyQsystem)(tyArray__pq8mfSp9bT2PbH9bKmz9cdOdA a, NimStringDesc* item) {	NI result;
{	result = (NI)0;
	{
		NimStringDesc* i;
		NI i_2;
		i = (NimStringDesc*)0;
		i_2 = ((NI) 0);
		{
			if (!(((NI) (i_2)) <= ((NI) 12))) goto LA4_;
			{
				while (1) {
					NI TM__Xuc9bgVTDeYXjwnCJIlXSig_193;
					NI TM__Xuc9bgVTDeYXjwnCJIlXSig_194;
					i = a[(i_2)- 0];
					{
						if (!eqStrings(i, item)) goto LA10_;
						goto BeforeRet_;
					}
					LA10_: ;
					TM__Xuc9bgVTDeYXjwnCJIlXSig_193 = addInt(result, ((NI) 1));
					result = (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_193);
					{
						if (!(((NI) 12) <= ((NI) (i_2)))) goto LA14_;
						goto LA6;
					}
					LA14_: ;
					TM__Xuc9bgVTDeYXjwnCJIlXSig_194 = addInt(i_2, ((NI) 1));
					if (TM__Xuc9bgVTDeYXjwnCJIlXSig_194 < 0 || TM__Xuc9bgVTDeYXjwnCJIlXSig_194 > 12) raiseOverflow();
					i_2 = (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_194);
				}
			} LA6: ;
		}
		LA4_: ;
	}
	result = ((NI) -1);
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyEnum_DirKind__Lv8WUxBpQCKnnfG38t4N2Q, getDirKind__5hUTGl1r5cs5ipTbZ64j9cg)(NimStringDesc* s) {	tyEnum_DirKind__Lv8WUxBpQCKnnfG38t4N2Q result;
	NI i;
	result = (tyEnum_DirKind__Lv8WUxBpQCKnnfG38t4N2Q)0;
	i = find__Tx3lAYjpwdGEfDSNU3JWyQsystem(DirIds__8wMg8PYAAl38ckLcA5VjCA, s);
	{
		if (!(((NI) 0) <= i)) goto LA3_;
		result = ((tyEnum_DirKind__Lv8WUxBpQCKnnfG38t4N2Q)chckRange(i, ((tyEnum_DirKind__Lv8WUxBpQCKnnfG38t4N2Q) 0), ((tyEnum_DirKind__Lv8WUxBpQCKnnfG38t4N2Q) 12)));
	}
	goto LA1_;
	LA3_: ;
	{
		result = ((tyEnum_DirKind__Lv8WUxBpQCKnnfG38t4N2Q) 0);
	}
	LA1_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg*, newLeaf__naJf3qvk6DpdtbboNxHj4g_8)(tyObject_RstParser__DC0I80p3rKpwC6ms59ctfpg* p) {	tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* result;
	result = (tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg*)0;
	if ((NU)((*p).idx) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((*p).idx,((*p).tok ? (*p).tok->Sup.len : 0)-1);
	result = newRstNode__1jaf6GW9cTGFKmVxMM1pg9aA(((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 64), (*p).tok->data[(*p).idx].symbol);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isInlineMarkupStart__9chs6Bi4LFOMODOJ3gMG4RQ)(tyObject_RstParser__DC0I80p3rKpwC6ms59ctfpg* p, NimStringDesc* markup) {	NIM_BOOL result;
	NIM_CHAR d;
	NIM_BOOL T5_;
	NIM_BOOL T6_;
	NI TM__Xuc9bgVTDeYXjwnCJIlXSig_210;
	NI TM__Xuc9bgVTDeYXjwnCJIlXSig_212;
	NI TM__Xuc9bgVTDeYXjwnCJIlXSig_213;
{	result = (NIM_BOOL)0;
	d = (NIM_CHAR)0;
	if ((NU)((*p).idx) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((*p).idx,((*p).tok ? (*p).tok->Sup.len : 0)-1);
	result = eqStrings((*p).tok->data[(*p).idx].symbol, markup);
	{
		if (!!(result)) goto LA3_;
		goto BeforeRet_;
	}
	LA3_: ;
	T5_ = (NIM_BOOL)0;
	T6_ = (NIM_BOOL)0;
	T6_ = ((*p).idx == ((NI) 0));
	if (T6_) goto LA7_;
	TM__Xuc9bgVTDeYXjwnCJIlXSig_210 = subInt((*p).idx, ((NI) 1));
	if ((NU)((NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_210)) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_210),((*p).tok ? (*p).tok->Sup.len : 0)-1);
	T6_ = ((6 &(1U<<((NU)((*p).tok->data[(NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_210)].kind)&7U)))!=0);
	LA7_: ;
	T5_ = T6_;
	if (T5_) goto LA8_;
	TM__Xuc9bgVTDeYXjwnCJIlXSig_212 = subInt((*p).idx, ((NI) 1));
	if ((NU)((NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_212)) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_212),((*p).tok ? (*p).tok->Sup.len : 0)-1);
	if ((NU)(((NI) 0)) >= (NU)((*p).tok->data[(NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_212)].symbol ? (*p).tok->data[(NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_212)].symbol->Sup.len : 0)) raiseIndexError2(((NI) 0),((*p).tok->data[(NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_212)].symbol ? (*p).tok->data[(NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_212)].symbol->Sup.len : 0)-1);
	T5_ = ((TM__Xuc9bgVTDeYXjwnCJIlXSig_211[(NU)(((NU8)((*p).tok->data[(NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_212)].symbol->data[((NI) 0)])))>>3] &(1U<<((NU)(((NU8)((*p).tok->data[(NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_212)].symbol->data[((NI) 0)])))&7U)))!=0);
	LA8_: ;
	result = T5_;
	{
		if (!!(result)) goto LA11_;
		goto BeforeRet_;
	}
	LA11_: ;
	TM__Xuc9bgVTDeYXjwnCJIlXSig_213 = addInt((*p).idx, ((NI) 1));
	if ((NU)((NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_213)) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_213),((*p).tok ? (*p).tok->Sup.len : 0)-1);
	result = !(((7 &(1U<<((NU)((*p).tok->data[(NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_213)].kind)&7U)))!=0));
	{
		if (!!(result)) goto LA15_;
		goto BeforeRet_;
	}
	LA15_: ;
	{
		if (!(((NI) 0) < (*p).idx)) goto LA19_;
		{
			NI TM__Xuc9bgVTDeYXjwnCJIlXSig_214;
			TM__Xuc9bgVTDeYXjwnCJIlXSig_214 = subInt((*p).idx, ((NI) 1));
			if ((NU)((NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_214)) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_214),((*p).tok ? (*p).tok->Sup.len : 0)-1);
			if (!eqStrings((*p).tok->data[(NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_214)].symbol, ((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_215))) goto LA23_;
			result = NIM_FALSE;
		}
		goto LA21_;
		LA23_: ;
		{
			NIM_CHAR c;
			NI TM__Xuc9bgVTDeYXjwnCJIlXSig_216;
			TM__Xuc9bgVTDeYXjwnCJIlXSig_216 = subInt((*p).idx, ((NI) 1));
			if ((NU)((NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_216)) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_216),((*p).tok ? (*p).tok->Sup.len : 0)-1);
			if ((NU)(((NI) 0)) >= (NU)((*p).tok->data[(NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_216)].symbol ? (*p).tok->data[(NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_216)].symbol->Sup.len : 0)) raiseIndexError2(((NI) 0),((*p).tok->data[(NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_216)].symbol ? (*p).tok->data[(NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_216)].symbol->Sup.len : 0)-1);
			c = (*p).tok->data[(NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_216)].symbol->data[((NI) 0)];
			switch (((NU8)(c))) {
			case 39:
			case 34:
			{
				d = c;
			}
			break;
			case 40:
			{
				d = 41;
			}
			break;
			case 91:
			{
				d = 93;
			}
			break;
			case 123:
			{
				d = 125;
			}
			break;
			case 60:
			{
				d = 62;
			}
			break;
			default:
			{
				d = 0;
			}
			break;
			}
			{
				NI TM__Xuc9bgVTDeYXjwnCJIlXSig_217;
				if (!!(((NU8)(d) == (NU8)(0)))) goto LA34_;
				TM__Xuc9bgVTDeYXjwnCJIlXSig_217 = addInt((*p).idx, ((NI) 1));
				if ((NU)((NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_217)) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_217),((*p).tok ? (*p).tok->Sup.len : 0)-1);
				if ((NU)(((NI) 0)) >= (NU)((*p).tok->data[(NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_217)].symbol ? (*p).tok->data[(NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_217)].symbol->Sup.len : 0)) raiseIndexError2(((NI) 0),((*p).tok->data[(NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_217)].symbol ? (*p).tok->data[(NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_217)].symbol->Sup.len : 0)-1);
				result = !(((NU8)((*p).tok->data[(NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_217)].symbol->data[((NI) 0)]) == (NU8)(d)));
			}
			LA34_: ;
		}
		LA21_: ;
	}
	LA19_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isInlineMarkupEnd__9chs6Bi4LFOMODOJ3gMG4RQ_2)(tyObject_RstParser__DC0I80p3rKpwC6ms59ctfpg* p, NimStringDesc* markup) {	NIM_BOOL result;
	NI TM__Xuc9bgVTDeYXjwnCJIlXSig_220;
	NIM_BOOL T9_;
	NI TM__Xuc9bgVTDeYXjwnCJIlXSig_221;
	NI TM__Xuc9bgVTDeYXjwnCJIlXSig_223;
{	result = (NIM_BOOL)0;
	if ((NU)((*p).idx) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((*p).idx,((*p).tok ? (*p).tok->Sup.len : 0)-1);
	result = eqStrings((*p).tok->data[(*p).idx].symbol, markup);
	{
		if (!!(result)) goto LA3_;
		goto BeforeRet_;
	}
	LA3_: ;
	TM__Xuc9bgVTDeYXjwnCJIlXSig_220 = subInt((*p).idx, ((NI) 1));
	if ((NU)((NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_220)) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_220),((*p).tok ? (*p).tok->Sup.len : 0)-1);
	result = !(((6 &(1U<<((NU)((*p).tok->data[(NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_220)].kind)&7U)))!=0));
	{
		if (!!(result)) goto LA7_;
		goto BeforeRet_;
	}
	LA7_: ;
	T9_ = (NIM_BOOL)0;
	TM__Xuc9bgVTDeYXjwnCJIlXSig_221 = addInt((*p).idx, ((NI) 1));
	if ((NU)((NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_221)) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_221),((*p).tok ? (*p).tok->Sup.len : 0)-1);
	T9_ = ((7 &(1U<<((NU)((*p).tok->data[(NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_221)].kind)&7U)))!=0);
	if (T9_) goto LA10_;
	TM__Xuc9bgVTDeYXjwnCJIlXSig_223 = addInt((*p).idx, ((NI) 1));
	if ((NU)((NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_223)) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_223),((*p).tok ? (*p).tok->Sup.len : 0)-1);
	if ((NU)(((NI) 0)) >= (NU)((*p).tok->data[(NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_223)].symbol ? (*p).tok->data[(NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_223)].symbol->Sup.len : 0)) raiseIndexError2(((NI) 0),((*p).tok->data[(NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_223)].symbol ? (*p).tok->data[(NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_223)].symbol->Sup.len : 0)-1);
	T9_ = ((TM__Xuc9bgVTDeYXjwnCJIlXSig_222[(NU)(((NU8)((*p).tok->data[(NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_223)].symbol->data[((NI) 0)])))>>3] &(1U<<((NU)(((NU8)((*p).tok->data[(NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_223)].symbol->data[((NI) 0)])))&7U)))!=0);
	LA10_: ;
	result = T9_;
	{
		if (!!(result)) goto LA13_;
		goto BeforeRet_;
	}
	LA13_: ;
	{
		if (!(((NI) 0) < (*p).idx)) goto LA17_;
		{
			NIM_BOOL T21_;
			NI TM__Xuc9bgVTDeYXjwnCJIlXSig_225;
			T21_ = (NIM_BOOL)0;
			T21_ = !(eqStrings(markup, ((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_224)));
			if (!(T21_)) goto LA22_;
			TM__Xuc9bgVTDeYXjwnCJIlXSig_225 = subInt((*p).idx, ((NI) 1));
			if ((NU)((NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_225)) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_225),((*p).tok ? (*p).tok->Sup.len : 0)-1);
			T21_ = eqStrings((*p).tok->data[(NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_225)].symbol, ((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_215));
			LA22_: ;
			if (!T21_) goto LA23_;
			result = NIM_FALSE;
		}
		LA23_: ;
	}
	LA17_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, parseBackslash__9cSLkVcmZh9ce659aPmHpnkxQ_3)(tyObject_RstParser__DC0I80p3rKpwC6ms59ctfpg* p, tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* father) {	{
		if ((NU)((*p).idx) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((*p).idx,((*p).tok ? (*p).tok->Sup.len : 0)-1);
		if (!!(((*p).tok->data[(*p).idx].kind == ((tyEnum_TokType__G7B8aJ8qgyXs01CE89bLriQ) 5)))) goto LA3_;
		failedAssertImpl__W9cjVocn1tjhW7p7xohJj6A(((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_227));
	}
	LA3_: ;
	{
		tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* T9_;
		NI TM__Xuc9bgVTDeYXjwnCJIlXSig_229;
		if ((NU)((*p).idx) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((*p).idx,((*p).tok ? (*p).tok->Sup.len : 0)-1);
		if (!eqStrings((*p).tok->data[(*p).idx].symbol, ((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_228))) goto LA7_;
		T9_ = (tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg*)0;
		T9_ = newRstNode__1jaf6GW9cTGFKmVxMM1pg9aA(((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 64), ((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_215));
		add__6h6IpXf2O9aeD4hz9aJicc2A(father, T9_);
		TM__Xuc9bgVTDeYXjwnCJIlXSig_229 = addInt((*p).idx, ((NI) 1));
		(*p).idx = (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_229);
	}
	goto LA5_;
	LA7_: ;
	{
		NI TM__Xuc9bgVTDeYXjwnCJIlXSig_230;
		if ((NU)((*p).idx) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((*p).idx,((*p).tok ? (*p).tok->Sup.len : 0)-1);
		if (!eqStrings((*p).tok->data[(*p).idx].symbol, ((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_215))) goto LA11_;
		TM__Xuc9bgVTDeYXjwnCJIlXSig_230 = addInt((*p).idx, ((NI) 1));
		(*p).idx = (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_230);
		{
			tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* T17_;
			if ((NU)((*p).idx) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((*p).idx,((*p).tok ? (*p).tok->Sup.len : 0)-1);
			if (!!(((*p).tok->data[(*p).idx].kind == ((tyEnum_TokType__G7B8aJ8qgyXs01CE89bLriQ) 2)))) goto LA15_;
			T17_ = (tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg*)0;
			T17_ = newLeaf__naJf3qvk6DpdtbboNxHj4g_8(p);
			add__6h6IpXf2O9aeD4hz9aJicc2A(father, T17_);
		}
		LA15_: ;
		{
			NI TM__Xuc9bgVTDeYXjwnCJIlXSig_231;
			if ((NU)((*p).idx) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((*p).idx,((*p).tok ? (*p).tok->Sup.len : 0)-1);
			if (!!(((*p).tok->data[(*p).idx].kind == ((tyEnum_TokType__G7B8aJ8qgyXs01CE89bLriQ) 0)))) goto LA20_;
			TM__Xuc9bgVTDeYXjwnCJIlXSig_231 = addInt((*p).idx, ((NI) 1));
			(*p).idx = (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_231);
		}
		LA20_: ;
	}
	goto LA5_;
	LA11_: ;
	{
		tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* T23_;
		NI TM__Xuc9bgVTDeYXjwnCJIlXSig_232;
		T23_ = (tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg*)0;
		T23_ = newLeaf__naJf3qvk6DpdtbboNxHj4g_8(p);
		add__6h6IpXf2O9aeD4hz9aJicc2A(father, T23_);
		TM__Xuc9bgVTDeYXjwnCJIlXSig_232 = addInt((*p).idx, ((NI) 1));
		(*p).idx = (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_232);
	}
	LA5_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, rstMessage__BhO9c1kphC9aw89bIlS9b2G71Q)(tyObject_RstParser__DC0I80p3rKpwC6ms59ctfpg* p, tyEnum_MsgKind__iviJnHlj9acPYlnNRbd9bhkQ msgKind, NimStringDesc* arg, NI line, NI col) {	NI TM__Xuc9bgVTDeYXjwnCJIlXSig_237;
	NI TM__Xuc9bgVTDeYXjwnCJIlXSig_238;
	TM__Xuc9bgVTDeYXjwnCJIlXSig_237 = addInt((*p).line, line);
	TM__Xuc9bgVTDeYXjwnCJIlXSig_238 = addInt((*p).col, col);
	(*(*p).s).msgHandler.ClE_0? (*(*p).s).msgHandler.ClP_0((*p).filename, (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_237), (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_238), msgKind, arg, (*(*p).s).msgHandler.ClE_0):((TM__Xuc9bgVTDeYXjwnCJIlXSig_239)((*(*p).s).msgHandler.ClP_0))((*p).filename, (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_237), (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_238), msgKind, arg);
}
N_LIB_PRIVATE N_NIMCALL(void, parseUntil__QTnVHXZGmL4KwHfwYyJ5mA)(tyObject_RstParser__DC0I80p3rKpwC6ms59ctfpg* p, tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* father, NimStringDesc* postfix, NIM_BOOL interpretBackslash) {	NI line;
	NI col;
	NI TM__Xuc9bgVTDeYXjwnCJIlXSig_219;
	if ((NU)((*p).idx) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((*p).idx,((*p).tok ? (*p).tok->Sup.len : 0)-1);
	line = (*p).tok->data[(*p).idx].line;
	if ((NU)((*p).idx) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((*p).idx,((*p).tok ? (*p).tok->Sup.len : 0)-1);
	col = (*p).tok->data[(*p).idx].col;
	TM__Xuc9bgVTDeYXjwnCJIlXSig_219 = addInt((*p).idx, ((NI) 1));
	(*p).idx = (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_219);
	{
		while (1) {
			if ((NU)((*p).idx) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((*p).idx,((*p).tok ? (*p).tok->Sup.len : 0)-1);
			switch ((*p).tok->data[(*p).idx].kind) {
			case ((tyEnum_TokType__G7B8aJ8qgyXs01CE89bLriQ) 5):
			{
				{
					NIM_BOOL T6_;
					NI TM__Xuc9bgVTDeYXjwnCJIlXSig_226;
					T6_ = (NIM_BOOL)0;
					T6_ = isInlineMarkupEnd__9chs6Bi4LFOMODOJ3gMG4RQ_2((&(*p)), postfix);
					if (!T6_) goto LA7_;
					TM__Xuc9bgVTDeYXjwnCJIlXSig_226 = addInt((*p).idx, ((NI) 1));
					(*p).idx = (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_226);
					goto LA1;
				}
				goto LA4_;
				LA7_: ;
				{
					if (!interpretBackslash) goto LA10_;
					parseBackslash__9cSLkVcmZh9ce659aPmHpnkxQ_3(p, father);
				}
				goto LA4_;
				LA10_: ;
				{
					tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* T13_;
					NI TM__Xuc9bgVTDeYXjwnCJIlXSig_233;
					T13_ = (tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg*)0;
					T13_ = newLeaf__naJf3qvk6DpdtbboNxHj4g_8(p);
					add__6h6IpXf2O9aeD4hz9aJicc2A(father, T13_);
					TM__Xuc9bgVTDeYXjwnCJIlXSig_233 = addInt((*p).idx, ((NI) 1));
					(*p).idx = (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_233);
				}
				LA4_: ;
			}
			break;
			case ((tyEnum_TokType__G7B8aJ8qgyXs01CE89bLriQ) 4):
			case ((tyEnum_TokType__G7B8aJ8qgyXs01CE89bLriQ) 3):
			case ((tyEnum_TokType__G7B8aJ8qgyXs01CE89bLriQ) 6):
			{
				tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* T15_;
				NI TM__Xuc9bgVTDeYXjwnCJIlXSig_234;
				T15_ = (tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg*)0;
				T15_ = newLeaf__naJf3qvk6DpdtbboNxHj4g_8(p);
				add__6h6IpXf2O9aeD4hz9aJicc2A(father, T15_);
				TM__Xuc9bgVTDeYXjwnCJIlXSig_234 = addInt((*p).idx, ((NI) 1));
				(*p).idx = (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_234);
			}
			break;
			case ((tyEnum_TokType__G7B8aJ8qgyXs01CE89bLriQ) 1):
			{
				tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* T17_;
				NI TM__Xuc9bgVTDeYXjwnCJIlXSig_236;
				T17_ = (tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg*)0;
				T17_ = newRstNode__1jaf6GW9cTGFKmVxMM1pg9aA(((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 64), ((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_235));
				add__6h6IpXf2O9aeD4hz9aJicc2A(father, T17_);
				TM__Xuc9bgVTDeYXjwnCJIlXSig_236 = addInt((*p).idx, ((NI) 1));
				(*p).idx = (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_236);
				{
					if ((NU)((*p).idx) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((*p).idx,((*p).tok ? (*p).tok->Sup.len : 0)-1);
					if (!((*p).tok->data[(*p).idx].kind == ((tyEnum_TokType__G7B8aJ8qgyXs01CE89bLriQ) 1))) goto LA20_;
					rstMessage__BhO9c1kphC9aw89bIlS9b2G71Q((&(*p)), ((tyEnum_MsgKind__iviJnHlj9acPYlnNRbd9bhkQ) 1), postfix, line, col);
					goto LA1;
				}
				LA20_: ;
			}
			break;
			case ((tyEnum_TokType__G7B8aJ8qgyXs01CE89bLriQ) 2):
			{
				tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* T23_;
				NI TM__Xuc9bgVTDeYXjwnCJIlXSig_240;
				T23_ = (tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg*)0;
				T23_ = newRstNode__1jaf6GW9cTGFKmVxMM1pg9aA(((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 64), ((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_235));
				add__6h6IpXf2O9aeD4hz9aJicc2A(father, T23_);
				TM__Xuc9bgVTDeYXjwnCJIlXSig_240 = addInt((*p).idx, ((NI) 1));
				(*p).idx = (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_240);
			}
			break;
			default:
			{
				rstMessage__BhO9c1kphC9aw89bIlS9b2G71Q((&(*p)), ((tyEnum_MsgKind__iviJnHlj9acPYlnNRbd9bhkQ) 1), postfix, line, col);
			}
			break;
			}
		}
	} LA1: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg*, parseMarkdownCodeblock__naJf3qvk6DpdtbboNxHj4g_9)(tyObject_RstParser__DC0I80p3rKpwC6ms59ctfpg* p) {	tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* result;
	tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* args;
	tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* n;
	tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* lb;
	result = (tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg*)0;
	args = newRstNode__9bXoUUqG5jV9cUn3dHohLAXA(((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 41));
	{
		tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* T5_;
		NI TM__Xuc9bgVTDeYXjwnCJIlXSig_244;
		if ((NU)((*p).idx) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((*p).idx,((*p).tok ? (*p).tok->Sup.len : 0)-1);
		if (!((*p).tok->data[(*p).idx].kind == ((tyEnum_TokType__G7B8aJ8qgyXs01CE89bLriQ) 3))) goto LA3_;
		T5_ = (tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg*)0;
		T5_ = newLeaf__naJf3qvk6DpdtbboNxHj4g_8(p);
		add__6h6IpXf2O9aeD4hz9aJicc2A(args, T5_);
		TM__Xuc9bgVTDeYXjwnCJIlXSig_244 = addInt((*p).idx, ((NI) 1));
		(*p).idx = (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_244);
	}
	goto LA1_;
	LA3_: ;
	{
		args = NIM_NIL;
	}
	LA1_: ;
	n = newRstNode__1jaf6GW9cTGFKmVxMM1pg9aA(((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 64), ((NimStringDesc*) NIM_NIL));
	{
		while (1) {
			if ((NU)((*p).idx) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((*p).idx,((*p).tok ? (*p).tok->Sup.len : 0)-1);
			switch ((*p).tok->data[(*p).idx].kind) {
			case ((tyEnum_TokType__G7B8aJ8qgyXs01CE89bLriQ) 0):
			{
				rstMessage__c19bbKpr7iyYsCdieIF8Mxg((&(*p)), ((tyEnum_MsgKind__iviJnHlj9acPYlnNRbd9bhkQ) 1), ((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_242));
				goto LA7;
			}
			break;
			case ((tyEnum_TokType__G7B8aJ8qgyXs01CE89bLriQ) 5):
			{
				{
					NI TM__Xuc9bgVTDeYXjwnCJIlXSig_245;
					if ((NU)((*p).idx) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((*p).idx,((*p).tok ? (*p).tok->Sup.len : 0)-1);
					if (!eqStrings((*p).tok->data[(*p).idx].symbol, ((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_242))) goto LA13_;
					TM__Xuc9bgVTDeYXjwnCJIlXSig_245 = addInt((*p).idx, ((NI) 1));
					(*p).idx = (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_245);
					goto LA7;
				}
				goto LA11_;
				LA13_: ;
				{
					NI TM__Xuc9bgVTDeYXjwnCJIlXSig_246;
					if ((NU)((*p).idx) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((*p).idx,((*p).tok ? (*p).tok->Sup.len : 0)-1);
					asgnRef((void**) (&(*n).text), resizeString((*n).text, ((*p).tok->data[(*p).idx].symbol ? (*p).tok->data[(*p).idx].symbol->Sup.len : 0) + 0));
appendString((*n).text, (*p).tok->data[(*p).idx].symbol);
					TM__Xuc9bgVTDeYXjwnCJIlXSig_246 = addInt((*p).idx, ((NI) 1));
					(*p).idx = (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_246);
				}
				LA11_: ;
			}
			break;
			default:
			{
				NI TM__Xuc9bgVTDeYXjwnCJIlXSig_247;
				if ((NU)((*p).idx) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((*p).idx,((*p).tok ? (*p).tok->Sup.len : 0)-1);
				asgnRef((void**) (&(*n).text), resizeString((*n).text, ((*p).tok->data[(*p).idx].symbol ? (*p).tok->data[(*p).idx].symbol->Sup.len : 0) + 0));
appendString((*n).text, (*p).tok->data[(*p).idx].symbol);
				TM__Xuc9bgVTDeYXjwnCJIlXSig_247 = addInt((*p).idx, ((NI) 1));
				(*p).idx = (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_247);
			}
			break;
			}
		}
	} LA7: ;
	lb = newRstNode__9bXoUUqG5jV9cUn3dHohLAXA(((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 24));
	add__6h6IpXf2O9aeD4hz9aJicc2A(lb, n);
	result = newRstNode__9bXoUUqG5jV9cUn3dHohLAXA(((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 47));
	add__6h6IpXf2O9aeD4hz9aJicc2A(result, args);
	add__6h6IpXf2O9aeD4hz9aJicc2A(result, NIM_NIL);
	add__6h6IpXf2O9aeD4hz9aJicc2A(result, lb);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, fixupEmbeddedRef__7narT3hUoUOBa5Kl9bS3fBA)(tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* n, tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* a, tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* b) {	NI sep;
	NI incr;
	sep = ((NI) -1);
	{
		NI i;
		NI colontmp_;
		NI T2_;
		NI TM__Xuc9bgVTDeYXjwnCJIlXSig_255;
		NI res;
		i = (NI)0;
		colontmp_ = (NI)0;
		T2_ = (NI)0;
		T2_ = len__bM2v46TeKfDIrVkegSIy9ag(n);
		TM__Xuc9bgVTDeYXjwnCJIlXSig_255 = subInt(T2_, ((NI) 2));
		colontmp_ = (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_255);
		res = colontmp_;
		{
			while (1) {
				NI TM__Xuc9bgVTDeYXjwnCJIlXSig_257;
				if (!(((NI) 0) <= res)) goto LA4;
				i = res;
				{
					if ((NU)(i) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(i,((*n).sons ? (*n).sons->Sup.len : 0)-1);
					if (!eqStrings((*(*n).sons->data[i]).text, ((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_256))) goto LA7_;
					sep = i;
					goto LA1;
				}
				LA7_: ;
				TM__Xuc9bgVTDeYXjwnCJIlXSig_257 = subInt(res, ((NI) 1));
				res = (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_257);
			} LA4: ;
		}
	} LA1: ;
	{
		NIM_BOOL T11_;
		NI TM__Xuc9bgVTDeYXjwnCJIlXSig_258;
		T11_ = (NIM_BOOL)0;
		T11_ = (((NI) 0) < sep);
		if (!(T11_)) goto LA12_;
		TM__Xuc9bgVTDeYXjwnCJIlXSig_258 = subInt(sep, ((NI) 1));
		if ((NU)((NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_258)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2((NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_258),((*n).sons ? (*n).sons->Sup.len : 0)-1);
		if ((NU)(((NI) 0)) >= (NU)((*(*n).sons->data[(NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_258)]).text ? (*(*n).sons->data[(NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_258)]).text->Sup.len : 0)) raiseIndexError2(((NI) 0),((*(*n).sons->data[(NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_258)]).text ? (*(*n).sons->data[(NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_258)]).text->Sup.len : 0)-1);
		T11_ = ((NU8)((*(*n).sons->data[(NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_258)]).text->data[((NI) 0)]) == (NU8)(32));
		LA12_: ;
		if (!T11_) goto LA13_;
		incr = ((NI) 2);
	}
	goto LA9_;
	LA13_: ;
	{
		incr = ((NI) 1);
	}
	LA9_: ;
	{
		NI i_2;
		NI colontmp__2;
		NI TM__Xuc9bgVTDeYXjwnCJIlXSig_259;
		NI res_2;
		i_2 = (NI)0;
		colontmp__2 = (NI)0;
		TM__Xuc9bgVTDeYXjwnCJIlXSig_259 = subInt(sep, incr);
		colontmp__2 = (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_259);
		res_2 = ((NI) 0);
		{
			while (1) {
				NI TM__Xuc9bgVTDeYXjwnCJIlXSig_260;
				if (!(res_2 <= colontmp__2)) goto LA18;
				i_2 = res_2;
				if ((NU)(i_2) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(i_2,((*n).sons ? (*n).sons->Sup.len : 0)-1);
				add__6h6IpXf2O9aeD4hz9aJicc2A(a, (*n).sons->data[i_2]);
				TM__Xuc9bgVTDeYXjwnCJIlXSig_260 = addInt(res_2, ((NI) 1));
				res_2 = (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_260);
			} LA18: ;
		}
	}
	{
		NI i_3;
		NI colontmp__3;
		NI colontmp__4;
		NI TM__Xuc9bgVTDeYXjwnCJIlXSig_261;
		NI T20_;
		NI TM__Xuc9bgVTDeYXjwnCJIlXSig_262;
		NI res_3;
		i_3 = (NI)0;
		colontmp__3 = (NI)0;
		colontmp__4 = (NI)0;
		TM__Xuc9bgVTDeYXjwnCJIlXSig_261 = addInt(sep, ((NI) 1));
		colontmp__3 = (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_261);
		T20_ = (NI)0;
		T20_ = len__bM2v46TeKfDIrVkegSIy9ag(n);
		TM__Xuc9bgVTDeYXjwnCJIlXSig_262 = subInt(T20_, ((NI) 2));
		colontmp__4 = (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_262);
		res_3 = colontmp__3;
		{
			while (1) {
				NI TM__Xuc9bgVTDeYXjwnCJIlXSig_263;
				if (!(res_3 <= colontmp__4)) goto LA22;
				i_3 = res_3;
				if ((NU)(i_3) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(i_3,((*n).sons ? (*n).sons->Sup.len : 0)-1);
				add__6h6IpXf2O9aeD4hz9aJicc2A(b, (*n).sons->data[i_3]);
				TM__Xuc9bgVTDeYXjwnCJIlXSig_263 = addInt(res_3, ((NI) 1));
				res_3 = (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_263);
			} LA22: ;
		}
	}
}
N_LIB_PRIVATE N_NIMCALL(void, setRef__A5A3t7X4NuSu4llEz8RlOg)(tyObject_RstParser__DC0I80p3rKpwC6ms59ctfpg* p, NimStringDesc* key, tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* value) {	NI length;
	NI T1_;
	NI TM__Xuc9bgVTDeYXjwnCJIlXSig_266;
	NimStringDesc* T15_;
{	T1_ = ((*(*p).s).refs ? (*(*p).s).refs->Sup.len : 0);
	length = T1_;
	{
		NI i;
		NI colontmp_;
		NI TM__Xuc9bgVTDeYXjwnCJIlXSig_264;
		NI res;
		i = (NI)0;
		colontmp_ = (NI)0;
		TM__Xuc9bgVTDeYXjwnCJIlXSig_264 = subInt(length, ((NI) 1));
		colontmp_ = (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_264);
		res = ((NI) 0);
		{
			while (1) {
				NI TM__Xuc9bgVTDeYXjwnCJIlXSig_265;
				if (!(res <= colontmp_)) goto LA4;
				i = res;
				{
					if ((NU)(i) >= (NU)((*(*p).s).refs ? (*(*p).s).refs->Sup.len : 0)) raiseIndexError2(i,((*(*p).s).refs ? (*(*p).s).refs->Sup.len : 0)-1);
					if (!eqStrings(key, (*(*p).s).refs->data[i].key)) goto LA7_;
					{
						NimStringDesc* T11_;
						NimStringDesc* T12_;
						if ((NU)(i) >= (NU)((*(*p).s).refs ? (*(*p).s).refs->Sup.len : 0)) raiseIndexError2(i,((*(*p).s).refs ? (*(*p).s).refs->Sup.len : 0)-1);
						T11_ = (NimStringDesc*)0;
						T11_ = addNodes__TOPoj9cIRh7GBTY6PKofpTQ_2((*(*p).s).refs->data[i].value);
						T12_ = (NimStringDesc*)0;
						T12_ = addNodes__TOPoj9cIRh7GBTY6PKofpTQ_2(value);
						if (!!(eqStrings(T11_, T12_))) goto LA13_;
						rstMessage__c19bbKpr7iyYsCdieIF8Mxg((&(*p)), ((tyEnum_MsgKind__iviJnHlj9acPYlnNRbd9bhkQ) 6), key);
					}
					LA13_: ;
					if ((NU)(i) >= (NU)((*(*p).s).refs ? (*(*p).s).refs->Sup.len : 0)) raiseIndexError2(i,((*(*p).s).refs ? (*(*p).s).refs->Sup.len : 0)-1);
					asgnRef((void**) (&(*(*p).s).refs->data[i].value), value);
					goto BeforeRet_;
				}
				LA7_: ;
				TM__Xuc9bgVTDeYXjwnCJIlXSig_265 = addInt(res, ((NI) 1));
				res = (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_265);
			} LA4: ;
		}
	}
	TM__Xuc9bgVTDeYXjwnCJIlXSig_266 = addInt(length, ((NI) 1));
	asgnRef((void**) (&(*(*p).s).refs), (tySequence__KttZgRE9cmIMvHjR6Gj9a89ag*) setLengthSeqV2(&((*(*p).s).refs)->Sup, (&NTI__KttZgRE9cmIMvHjR6Gj9a89ag_), ((NI)chckRange((NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_266), ((NI) 0), ((NI) 2147483647)))));
	if ((NU)(length) >= (NU)((*(*p).s).refs ? (*(*p).s).refs->Sup.len : 0)) raiseIndexError2(length,((*(*p).s).refs ? (*(*p).s).refs->Sup.len : 0)-1);
	T15_ = (NimStringDesc*)0;
	T15_ = (*(*p).s).refs->data[length].key; (*(*p).s).refs->data[length].key = copyStringRC1(key);
	if (T15_) nimGCunrefNoCycle(T15_);
	if ((NU)(length) >= (NU)((*(*p).s).refs ? (*(*p).s).refs->Sup.len : 0)) raiseIndexError2(length,((*(*p).s).refs ? (*(*p).s).refs->Sup.len : 0)-1);
	asgnRef((void**) (&(*(*p).s).refs->data[length].value), value);
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg*, parsePostfix__BGO9adR5pD6YAUwvBbhm9beg_2)(tyObject_RstParser__DC0I80p3rKpwC6ms59ctfpg* p, tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* n) {	tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* result;
	result = (tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg*)0;
	result = n;
	{
		NIM_BOOL T3_;
		NI TM__Xuc9bgVTDeYXjwnCJIlXSig_251;
		T3_ = (NIM_BOOL)0;
		T3_ = isInlineMarkupEnd__9chs6Bi4LFOMODOJ3gMG4RQ_2((&(*p)), ((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_249));
		if (T3_) goto LA4_;
		T3_ = isInlineMarkupEnd__9chs6Bi4LFOMODOJ3gMG4RQ_2((&(*p)), ((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_250));
		LA4_: ;
		if (!T3_) goto LA5_;
		TM__Xuc9bgVTDeYXjwnCJIlXSig_251 = addInt((*p).idx, ((NI) 1));
		(*p).idx = (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_251);
		{
			NIM_BOOL T9_;
			NI TM__Xuc9bgVTDeYXjwnCJIlXSig_252;
			NI TM__Xuc9bgVTDeYXjwnCJIlXSig_253;
			tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* a;
			tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* b;
			T9_ = (NIM_BOOL)0;
			TM__Xuc9bgVTDeYXjwnCJIlXSig_252 = subInt((*p).idx, ((NI) 2));
			if ((NU)((NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_252)) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_252),((*p).tok ? (*p).tok->Sup.len : 0)-1);
			T9_ = eqStrings((*p).tok->data[(NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_252)].symbol, ((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_248));
			if (!(T9_)) goto LA10_;
			TM__Xuc9bgVTDeYXjwnCJIlXSig_253 = subInt((*p).idx, ((NI) 3));
			if ((NU)((NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_253)) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_253),((*p).tok ? (*p).tok->Sup.len : 0)-1);
			T9_ = eqStrings((*p).tok->data[(NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_253)].symbol, ((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_254));
			LA10_: ;
			if (!T9_) goto LA11_;
			a = newRstNode__9bXoUUqG5jV9cUn3dHohLAXA(((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 0));
			b = newRstNode__9bXoUUqG5jV9cUn3dHohLAXA(((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 0));
			fixupEmbeddedRef__7narT3hUoUOBa5Kl9bS3fBA(n, a, b);
			{
				NI T15_;
				T15_ = (NI)0;
				T15_ = len__bM2v46TeKfDIrVkegSIy9ag(a);
				if (!(T15_ == ((NI) 0))) goto LA16_;
				result = newRstNode__9bXoUUqG5jV9cUn3dHohLAXA(((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 37));
				add__6h6IpXf2O9aeD4hz9aJicc2A(result, b);
			}
			goto LA13_;
			LA16_: ;
			{
				NimStringDesc* T19_;
				result = newRstNode__9bXoUUqG5jV9cUn3dHohLAXA(((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 38));
				add__6h6IpXf2O9aeD4hz9aJicc2A(result, a);
				add__6h6IpXf2O9aeD4hz9aJicc2A(result, b);
				T19_ = (NimStringDesc*)0;
				T19_ = rstnodeToRefname__TOPoj9cIRh7GBTY6PKofpTQ(a);
				setRef__A5A3t7X4NuSu4llEz8RlOg(p, T19_, b);
			}
			LA13_: ;
		}
		goto LA7_;
		LA11_: ;
		{
			if (!((*n).kind == ((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 60))) goto LA21_;
			(*n).kind = ((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 39);
		}
		goto LA7_;
		LA21_: ;
		{
			result = newRstNode__9bXoUUqG5jV9cUn3dHohLAXA(((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 39));
			add__6h6IpXf2O9aeD4hz9aJicc2A(result, n);
		}
		LA7_: ;
	}
	goto LA1_;
	LA5_: ;
	{
		NIM_BOOL T25_;
		NI TM__Xuc9bgVTDeYXjwnCJIlXSig_284;
		T25_ = (NIM_BOOL)0;
		T25_ = match__Q9ccnP9b8RJYaO2u1a0CIzXA((&(*p)), (*p).idx, ((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_154));
		if (!T25_) goto LA26_;
		{
			NI TM__Xuc9bgVTDeYXjwnCJIlXSig_267;
			TM__Xuc9bgVTDeYXjwnCJIlXSig_267 = addInt((*p).idx, ((NI) 1));
			if ((NU)((NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_267)) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_267),((*p).tok ? (*p).tok->Sup.len : 0)-1);
			if (!eqStrings((*p).tok->data[(NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_267)].symbol, ((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_268))) goto LA30_;
			(*n).kind = ((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 56);
		}
		goto LA28_;
		LA30_: ;
		{
			NI TM__Xuc9bgVTDeYXjwnCJIlXSig_269;
			TM__Xuc9bgVTDeYXjwnCJIlXSig_269 = addInt((*p).idx, ((NI) 1));
			if ((NU)((NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_269)) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_269),((*p).tok ? (*p).tok->Sup.len : 0)-1);
			if (!eqStrings((*p).tok->data[(NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_269)].symbol, ((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_270))) goto LA33_;
			(*n).kind = ((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 61);
		}
		goto LA28_;
		LA33_: ;
		{
			NI TM__Xuc9bgVTDeYXjwnCJIlXSig_271;
			TM__Xuc9bgVTDeYXjwnCJIlXSig_271 = addInt((*p).idx, ((NI) 1));
			if ((NU)((NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_271)) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_271),((*p).tok ? (*p).tok->Sup.len : 0)-1);
			if (!eqStrings((*p).tok->data[(NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_271)].symbol, ((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_272))) goto LA36_;
			(*n).kind = ((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 58);
		}
		goto LA28_;
		LA36_: ;
		{
			NI TM__Xuc9bgVTDeYXjwnCJIlXSig_273;
			TM__Xuc9bgVTDeYXjwnCJIlXSig_273 = addInt((*p).idx, ((NI) 1));
			if ((NU)((NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_273)) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_273),((*p).tok ? (*p).tok->Sup.len : 0)-1);
			if (!eqStrings((*p).tok->data[(NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_273)].symbol, ((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_274))) goto LA39_;
			(*n).kind = ((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 57);
		}
		goto LA28_;
		LA39_: ;
		{
			NIM_BOOL T42_;
			NI TM__Xuc9bgVTDeYXjwnCJIlXSig_275;
			NI TM__Xuc9bgVTDeYXjwnCJIlXSig_277;
			T42_ = (NIM_BOOL)0;
			TM__Xuc9bgVTDeYXjwnCJIlXSig_275 = addInt((*p).idx, ((NI) 1));
			if ((NU)((NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_275)) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_275),((*p).tok ? (*p).tok->Sup.len : 0)-1);
			T42_ = eqStrings((*p).tok->data[(NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_275)].symbol, ((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_276));
			if (T42_) goto LA43_;
			TM__Xuc9bgVTDeYXjwnCJIlXSig_277 = addInt((*p).idx, ((NI) 1));
			if ((NU)((NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_277)) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_277),((*p).tok ? (*p).tok->Sup.len : 0)-1);
			T42_ = eqStrings((*p).tok->data[(NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_277)].symbol, ((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_278));
			LA43_: ;
			if (!T42_) goto LA44_;
			(*n).kind = ((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 54);
		}
		goto LA28_;
		LA44_: ;
		{
			NIM_BOOL T47_;
			NI TM__Xuc9bgVTDeYXjwnCJIlXSig_279;
			NI TM__Xuc9bgVTDeYXjwnCJIlXSig_281;
			T47_ = (NIM_BOOL)0;
			TM__Xuc9bgVTDeYXjwnCJIlXSig_279 = addInt((*p).idx, ((NI) 1));
			if ((NU)((NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_279)) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_279),((*p).tok ? (*p).tok->Sup.len : 0)-1);
			T47_ = eqStrings((*p).tok->data[(NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_279)].symbol, ((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_280));
			if (T47_) goto LA48_;
			TM__Xuc9bgVTDeYXjwnCJIlXSig_281 = addInt((*p).idx, ((NI) 1));
			if ((NU)((NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_281)) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_281),((*p).tok ? (*p).tok->Sup.len : 0)-1);
			T47_ = eqStrings((*p).tok->data[(NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_281)].symbol, ((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_282));
			LA48_: ;
			if (!T47_) goto LA49_;
			(*n).kind = ((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 55);
		}
		goto LA28_;
		LA49_: ;
		{
			NI TM__Xuc9bgVTDeYXjwnCJIlXSig_283;
			tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* T52_;
			result = newRstNode__9bXoUUqG5jV9cUn3dHohLAXA(((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 53));
			(*n).kind = ((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 0);
			add__6h6IpXf2O9aeD4hz9aJicc2A(result, n);
			TM__Xuc9bgVTDeYXjwnCJIlXSig_283 = addInt((*p).idx, ((NI) 1));
			if ((NU)((NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_283)) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_283),((*p).tok ? (*p).tok->Sup.len : 0)-1);
			T52_ = (tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg*)0;
			T52_ = newRstNode__1jaf6GW9cTGFKmVxMM1pg9aA(((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 64), (*p).tok->data[(NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_283)].symbol);
			add__6h6IpXf2O9aeD4hz9aJicc2A(result, T52_);
		}
		LA28_: ;
		TM__Xuc9bgVTDeYXjwnCJIlXSig_284 = addInt((*p).idx, ((NI) 3));
		(*p).idx = (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_284);
	}
	goto LA1_;
	LA26_: ;
	LA1_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, parseMarkdownLink__K4fBZb5ocLQsL71He3iRcw)(tyObject_RstParser__DC0I80p3rKpwC6ms59ctfpg* p, tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* father) {	NIM_BOOL result;
	NimStringDesc* desc;
	NimStringDesc* link;
	NI i;
	NI TM__Xuc9bgVTDeYXjwnCJIlXSig_287;
	NI TM__Xuc9bgVTDeYXjwnCJIlXSig_290;
	NI TM__Xuc9bgVTDeYXjwnCJIlXSig_292;
	NI TM__Xuc9bgVTDeYXjwnCJIlXSig_295;
	tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* child;
{	result = (NIM_BOOL)0;
	result = NIM_TRUE;
	desc = ((NimStringDesc*) NIM_NIL);
	link = ((NimStringDesc*) NIM_NIL);
	i = (*p).idx;
	TM__Xuc9bgVTDeYXjwnCJIlXSig_287 = addInt(i, ((NI) 1));
	i = (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_287);
	{
		while (1) {
			NI TM__Xuc9bgVTDeYXjwnCJIlXSig_289;
			{
				if ((NU)(i) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2(i,((*p).tok ? (*p).tok->Sup.len : 0)-1);
				if (!((3 &(1U<<((NU)((*p).tok->data[i].kind)&7U)))!=0)) goto LA5_;
				result = NIM_FALSE;
				goto BeforeRet_;
			}
			LA5_: ;
			{
				if ((NU)(i) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2(i,((*p).tok ? (*p).tok->Sup.len : 0)-1);
				if (!eqStrings((*p).tok->data[i].symbol, ((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_288))) goto LA9_;
				goto LA1;
			}
			LA9_: ;
			if ((NU)(i) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2(i,((*p).tok ? (*p).tok->Sup.len : 0)-1);
			desc = resizeString(desc, ((*p).tok->data[i].symbol ? (*p).tok->data[i].symbol->Sup.len : 0) + 0);
appendString(desc, (*p).tok->data[i].symbol);
			TM__Xuc9bgVTDeYXjwnCJIlXSig_289 = addInt(i, ((NI) 1));
			i = (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_289);
		}
	} LA1: ;
	TM__Xuc9bgVTDeYXjwnCJIlXSig_290 = addInt(i, ((NI) 1));
	i = (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_290);
	{
		if ((NU)(i) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2(i,((*p).tok ? (*p).tok->Sup.len : 0)-1);
		if (!!(eqStrings((*p).tok->data[i].symbol, ((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_291)))) goto LA13_;
		result = NIM_FALSE;
		goto BeforeRet_;
	}
	LA13_: ;
	TM__Xuc9bgVTDeYXjwnCJIlXSig_292 = addInt(i, ((NI) 1));
	i = (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_292);
	{
		while (1) {
			NI TM__Xuc9bgVTDeYXjwnCJIlXSig_294;
			{
				if ((NU)(i) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2(i,((*p).tok ? (*p).tok->Sup.len : 0)-1);
				if (!((3 &(1U<<((NU)((*p).tok->data[i].kind)&7U)))!=0)) goto LA19_;
				result = NIM_FALSE;
				goto BeforeRet_;
			}
			LA19_: ;
			{
				if ((NU)(i) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2(i,((*p).tok ? (*p).tok->Sup.len : 0)-1);
				if (!eqStrings((*p).tok->data[i].symbol, ((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_293))) goto LA23_;
				goto LA15;
			}
			LA23_: ;
			if ((NU)(i) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2(i,((*p).tok ? (*p).tok->Sup.len : 0)-1);
			link = resizeString(link, ((*p).tok->data[i].symbol ? (*p).tok->data[i].symbol->Sup.len : 0) + 0);
appendString(link, (*p).tok->data[i].symbol);
			TM__Xuc9bgVTDeYXjwnCJIlXSig_294 = addInt(i, ((NI) 1));
			i = (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_294);
		}
	} LA15: ;
	TM__Xuc9bgVTDeYXjwnCJIlXSig_295 = addInt(i, ((NI) 1));
	i = (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_295);
	child = newRstNode__9bXoUUqG5jV9cUn3dHohLAXA(((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 38));
	add__LfzNpI2Kb4J8icovXV69apg(child, desc);
	add__LfzNpI2Kb4J8icovXV69apg(child, link);
	add__6h6IpXf2O9aeD4hz9aJicc2A(father, child);
	(*p).idx = i;
	result = NIM_TRUE;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NI, matchVerbatim__tLi9cv29a02HG0ElZF8E3mMw)(tyObject_RstParser__DC0I80p3rKpwC6ms59ctfpg* p, NI start, NimStringDesc* expr) {	NI result;
	NI j;
	result = (NI)0;
	result = start;
	j = ((NI) 0);
	{
		while (1) {
			NIM_BOOL T3_;
			NIM_BOOL T4_;
			NI T6_;
			NI TM__Xuc9bgVTDeYXjwnCJIlXSig_354;
			NI TM__Xuc9bgVTDeYXjwnCJIlXSig_355;
			T3_ = (NIM_BOOL)0;
			T4_ = (NIM_BOOL)0;
			T4_ = (j < (expr ? expr->Sup.len : 0));
			if (!(T4_)) goto LA5_;
			T6_ = ((*p).tok ? (*p).tok->Sup.len : 0);
			T4_ = (result < T6_);
			LA5_: ;
			T3_ = T4_;
			if (!(T3_)) goto LA7_;
			if ((NU)(result) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2(result,((*p).tok ? (*p).tok->Sup.len : 0)-1);
			T3_ = nsuContinuesWith(expr, (*p).tok->data[result].symbol, ((NI)chckRange(j, ((NI) 0), ((NI) 2147483647))));
			LA7_: ;
			if (!T3_) goto LA2;
			if ((NU)(result) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2(result,((*p).tok ? (*p).tok->Sup.len : 0)-1);
			TM__Xuc9bgVTDeYXjwnCJIlXSig_354 = addInt(j, ((*p).tok->data[result].symbol ? (*p).tok->data[result].symbol->Sup.len : 0));
			j = (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_354);
			TM__Xuc9bgVTDeYXjwnCJIlXSig_355 = addInt(result, ((NI) 1));
			result = (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_355);
		} LA2: ;
	}
	{
		if (!(j < (expr ? expr->Sup.len : 0))) goto LA10_;
		result = ((NI) 0);
	}
	LA10_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg*, parseSmiley__naJf3qvk6DpdtbboNxHj4g_10)(tyObject_RstParser__DC0I80p3rKpwC6ms59ctfpg* p) {	tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* result;
{	result = (tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg*)0;
	{
		if ((NU)((*p).idx) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((*p).idx,((*p).tok ? (*p).tok->Sup.len : 0)-1);
		if ((NU)(((NI) 0)) >= (NU)((*p).tok->data[(*p).idx].symbol ? (*p).tok->data[(*p).idx].symbol->Sup.len : 0)) raiseIndexError2(((NI) 0),((*p).tok->data[(*p).idx].symbol ? (*p).tok->data[(*p).idx].symbol->Sup.len : 0)-1);
		if (!!((((NU8)((*p).tok->data[(*p).idx].symbol->data[((NI) 0)])) == ((NU8)(58)) || ((NU8)((*p).tok->data[(*p).idx].symbol->data[((NI) 0)])) == ((NU8)(59)) || ((NU8)((*p).tok->data[(*p).idx].symbol->data[((NI) 0)])) == ((NU8)(56))))) goto LA3_;
		goto BeforeRet_;
	}
	LA3_: ;
	{
		NimStringDesc* key;
		NimStringDesc* val;
		NI i;
		key = (NimStringDesc*)0;
		val = (NimStringDesc*)0;
		i = ((NI) 0);
		{
			if (!(((NI) (i)) <= ((NI) 33))) goto LA8_;
			{
				while (1) {
					NI m;
					NI TM__Xuc9bgVTDeYXjwnCJIlXSig_356;
					key = copyString(Smilies__SYSLsVVVluSGVNR9bBZRLmw[(i)- 0].Field0);
					val = copyString(Smilies__SYSLsVVVluSGVNR9bBZRLmw[(i)- 0].Field1);
					m = matchVerbatim__tLi9cv29a02HG0ElZF8E3mMw((&(*p)), (*p).idx, key);
					{
						NimStringDesc* T16_;
						if (!(((NI) 0) < m)) goto LA14_;
						(*p).idx = m;
						result = newRstNode__9bXoUUqG5jV9cUn3dHohLAXA(((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 63));
						T16_ = (NimStringDesc*)0;
						T16_ = (*result).text; (*result).text = copyStringRC1(val);
						if (T16_) nimGCunrefNoCycle(T16_);
						goto BeforeRet_;
					}
					LA14_: ;
					{
						if (!(((NI) 33) <= ((NI) (i)))) goto LA19_;
						goto LA10;
					}
					LA19_: ;
					TM__Xuc9bgVTDeYXjwnCJIlXSig_356 = addInt(i, ((NI) 1));
					if (TM__Xuc9bgVTDeYXjwnCJIlXSig_356 < 0 || TM__Xuc9bgVTDeYXjwnCJIlXSig_356 > 33) raiseOverflow();
					i = (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_356);
				}
			} LA10: ;
		}
		LA8_: ;
	}
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NI, find__CWgb1wQSxTCKtdHVU5pCYQsystem)(NimStringDesc** a, NI aLen_0, NimStringDesc* item) {	NI result;
{	result = (NI)0;
	{
		NimStringDesc* i;
		NI i_2;
		i = (NimStringDesc*)0;
		i_2 = ((NI) 0);
		{
			while (1) {
				NI TM__Xuc9bgVTDeYXjwnCJIlXSig_362;
				NI TM__Xuc9bgVTDeYXjwnCJIlXSig_363;
				if (!(i_2 < aLen_0)) goto LA3;
				if ((NU)(i_2) >= (NU)(aLen_0)) raiseIndexError2(i_2,aLen_0-1);
				i = a[i_2];
				{
					if (!eqStrings(i, item)) goto LA6_;
					goto BeforeRet_;
				}
				LA6_: ;
				TM__Xuc9bgVTDeYXjwnCJIlXSig_362 = addInt(result, ((NI) 1));
				result = (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_362);
				TM__Xuc9bgVTDeYXjwnCJIlXSig_363 = addInt(i_2, ((NI) 1));
				i_2 = (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_363);
			} LA3: ;
		}
	}
	result = ((NI) -1);
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NIM_BOOL, contains__MghwuKjQqmVLYE8A59cNGHgsystem)(NimStringDesc** a, NI aLen_0, NimStringDesc* item) {	NIM_BOOL result;
	NI T1_;
{	result = (NIM_BOOL)0;
	T1_ = (NI)0;
	T1_ = find__CWgb1wQSxTCKtdHVU5pCYQsystem(a, aLen_0, item);
	result = (((NI) 0) <= T1_);
	goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isUrl__qgwCMC7Ekn7kHm3HtDKLkw)(tyObject_RstParser__DC0I80p3rKpwC6ms59ctfpg* p, NI i) {	NIM_BOOL result;
	NIM_BOOL T1_;
	NIM_BOOL T2_;
	NIM_BOOL T3_;
	NI TM__Xuc9bgVTDeYXjwnCJIlXSig_357;
	NI TM__Xuc9bgVTDeYXjwnCJIlXSig_359;
	NI TM__Xuc9bgVTDeYXjwnCJIlXSig_361;
	result = (NIM_BOOL)0;
	T1_ = (NIM_BOOL)0;
	T2_ = (NIM_BOOL)0;
	T3_ = (NIM_BOOL)0;
	TM__Xuc9bgVTDeYXjwnCJIlXSig_357 = addInt(i, ((NI) 1));
	if ((NU)((NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_357)) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_357),((*p).tok ? (*p).tok->Sup.len : 0)-1);
	T3_ = eqStrings((*p).tok->data[(NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_357)].symbol, ((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_358));
	if (!(T3_)) goto LA4_;
	TM__Xuc9bgVTDeYXjwnCJIlXSig_359 = addInt(i, ((NI) 2));
	if ((NU)((NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_359)) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_359),((*p).tok ? (*p).tok->Sup.len : 0)-1);
	T3_ = eqStrings((*p).tok->data[(NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_359)].symbol, ((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_360));
	LA4_: ;
	T2_ = T3_;
	if (!(T2_)) goto LA5_;
	TM__Xuc9bgVTDeYXjwnCJIlXSig_361 = addInt(i, ((NI) 3));
	if ((NU)((NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_361)) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_361),((*p).tok ? (*p).tok->Sup.len : 0)-1);
	T2_ = ((*p).tok->data[(NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_361)].kind == ((tyEnum_TokType__G7B8aJ8qgyXs01CE89bLriQ) 3));
	LA5_: ;
	T1_ = T2_;
	if (!(T1_)) goto LA6_;
	if ((NU)(i) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2(i,((*p).tok ? (*p).tok->Sup.len : 0)-1);
	T1_ = contains__MghwuKjQqmVLYE8A59cNGHgsystem(TM__Xuc9bgVTDeYXjwnCJIlXSig_364, 5, (*p).tok->data[i].symbol);
	LA6_: ;
	result = T1_;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, parseUrl__9cSLkVcmZh9ce659aPmHpnkxQ_4)(tyObject_RstParser__DC0I80p3rKpwC6ms59ctfpg* p, tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* father) {	{
		NIM_BOOL T3_;
		tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* n;
		T3_ = (NIM_BOOL)0;
		T3_ = isUrl__qgwCMC7Ekn7kHm3HtDKLkw((&(*p)), (*p).idx);
		if (!T3_) goto LA4_;
		n = newRstNode__9bXoUUqG5jV9cUn3dHohLAXA(((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 37));
		{
			while (1) {
				tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* T15_;
				NI TM__Xuc9bgVTDeYXjwnCJIlXSig_371;
				if ((NU)((*p).idx) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((*p).idx,((*p).tok ? (*p).tok->Sup.len : 0)-1);
				switch ((*p).tok->data[(*p).idx].kind) {
				case ((tyEnum_TokType__G7B8aJ8qgyXs01CE89bLriQ) 3):
				case ((tyEnum_TokType__G7B8aJ8qgyXs01CE89bLriQ) 4):
				case ((tyEnum_TokType__G7B8aJ8qgyXs01CE89bLriQ) 6):
				{
				}
				break;
				case ((tyEnum_TokType__G7B8aJ8qgyXs01CE89bLriQ) 5):
				{
					{
						NI TM__Xuc9bgVTDeYXjwnCJIlXSig_370;
						TM__Xuc9bgVTDeYXjwnCJIlXSig_370 = addInt((*p).idx, ((NI) 1));
						if ((NU)((NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_370)) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_370),((*p).tok ? (*p).tok->Sup.len : 0)-1);
						if (!!(((120 &(1U<<((NU)((*p).tok->data[(NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_370)].kind)&7U)))!=0))) goto LA12_;
						goto LA6;
					}
					LA12_: ;
				}
				break;
				default:
				{
					goto LA6;
				}
				break;
				}
				T15_ = (tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg*)0;
				T15_ = newLeaf__naJf3qvk6DpdtbboNxHj4g_8(p);
				add__6h6IpXf2O9aeD4hz9aJicc2A(n, T15_);
				TM__Xuc9bgVTDeYXjwnCJIlXSig_371 = addInt((*p).idx, ((NI) 1));
				(*p).idx = (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_371);
			}
		} LA6: ;
		add__6h6IpXf2O9aeD4hz9aJicc2A(father, n);
	}
	goto LA1_;
	LA4_: ;
	{
		tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* n_2;
		NI TM__Xuc9bgVTDeYXjwnCJIlXSig_372;
		n_2 = newLeaf__naJf3qvk6DpdtbboNxHj4g_8(p);
		TM__Xuc9bgVTDeYXjwnCJIlXSig_372 = addInt((*p).idx, ((NI) 1));
		(*p).idx = (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_372);
		{
			if ((NU)((*p).idx) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((*p).idx,((*p).tok ? (*p).tok->Sup.len : 0)-1);
			if (!eqStrings((*p).tok->data[(*p).idx].symbol, ((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_249))) goto LA19_;
			n_2 = parsePostfix__BGO9adR5pD6YAUwvBbhm9beg_2(p, n_2);
		}
		LA19_: ;
		add__6h6IpXf2O9aeD4hz9aJicc2A(father, n_2);
	}
	LA1_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, parseInline__9cSLkVcmZh9ce659aPmHpnkxQ_2)(tyObject_RstParser__DC0I80p3rKpwC6ms59ctfpg* p, tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* father) {{	if ((NU)((*p).idx) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((*p).idx,((*p).tok ? (*p).tok->Sup.len : 0)-1);
	switch ((*p).tok->data[(*p).idx].kind) {
	case ((tyEnum_TokType__G7B8aJ8qgyXs01CE89bLriQ) 5):
	{
		{
			NIM_BOOL T4_;
			tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* n;
			T4_ = (NIM_BOOL)0;
			T4_ = isInlineMarkupStart__9chs6Bi4LFOMODOJ3gMG4RQ((&(*p)), ((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_218));
			if (!T4_) goto LA5_;
			n = newRstNode__9bXoUUqG5jV9cUn3dHohLAXA(((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 59));
			parseUntil__QTnVHXZGmL4KwHfwYyJ5mA(p, n, ((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_218), NIM_TRUE);
			add__6h6IpXf2O9aeD4hz9aJicc2A(father, n);
		}
		goto LA2_;
		LA5_: ;
		{
			NIM_BOOL T8_;
			tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* n_2;
			T8_ = (NIM_BOOL)0;
			T8_ = isInlineMarkupStart__9chs6Bi4LFOMODOJ3gMG4RQ((&(*p)), ((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_241));
			if (!T8_) goto LA9_;
			n_2 = newRstNode__9bXoUUqG5jV9cUn3dHohLAXA(((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 58));
			parseUntil__QTnVHXZGmL4KwHfwYyJ5mA(p, n_2, ((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_241), NIM_TRUE);
			add__6h6IpXf2O9aeD4hz9aJicc2A(father, n_2);
		}
		goto LA2_;
		LA9_: ;
		{
			NIM_BOOL T12_;
			tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* n_3;
			T12_ = (NIM_BOOL)0;
			T12_ = isInlineMarkupStart__9chs6Bi4LFOMODOJ3gMG4RQ((&(*p)), ((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_149));
			if (!T12_) goto LA13_;
			n_3 = newRstNode__9bXoUUqG5jV9cUn3dHohLAXA(((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 57));
			parseUntil__QTnVHXZGmL4KwHfwYyJ5mA(p, n_3, ((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_149), NIM_TRUE);
			add__6h6IpXf2O9aeD4hz9aJicc2A(father, n_3);
		}
		goto LA2_;
		LA13_: ;
		{
			NIM_BOOL T16_;
			NI TM__Xuc9bgVTDeYXjwnCJIlXSig_243;
			tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* T20_;
			T16_ = (NIM_BOOL)0;
			T16_ = (((*(*p).s).options &(1U<<((NU)(((tyEnum_RstParseOption__fiZmsylYkyh6nEciRZcPsw) 3))&7U)))!=0);
			if (!(T16_)) goto LA17_;
			if ((NU)((*p).idx) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((*p).idx,((*p).tok ? (*p).tok->Sup.len : 0)-1);
			T16_ = eqStrings((*p).tok->data[(*p).idx].symbol, ((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_242));
			LA17_: ;
			if (!T16_) goto LA18_;
			TM__Xuc9bgVTDeYXjwnCJIlXSig_243 = addInt((*p).idx, ((NI) 1));
			(*p).idx = (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_243);
			T20_ = (tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg*)0;
			T20_ = parseMarkdownCodeblock__naJf3qvk6DpdtbboNxHj4g_9(p);
			add__6h6IpXf2O9aeD4hz9aJicc2A(father, T20_);
		}
		goto LA2_;
		LA18_: ;
		{
			NIM_BOOL T22_;
			tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* n_4;
			T22_ = (NIM_BOOL)0;
			T22_ = isInlineMarkupStart__9chs6Bi4LFOMODOJ3gMG4RQ((&(*p)), ((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_224));
			if (!T22_) goto LA23_;
			n_4 = newRstNode__9bXoUUqG5jV9cUn3dHohLAXA(((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 61));
			parseUntil__QTnVHXZGmL4KwHfwYyJ5mA(p, n_4, ((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_224), NIM_FALSE);
			add__6h6IpXf2O9aeD4hz9aJicc2A(father, n_4);
		}
		goto LA2_;
		LA23_: ;
		{
			NIM_BOOL T26_;
			tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* n_5;
			T26_ = (NIM_BOOL)0;
			T26_ = isInlineMarkupStart__9chs6Bi4LFOMODOJ3gMG4RQ((&(*p)), ((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_248));
			if (!T26_) goto LA27_;
			n_5 = newRstNode__9bXoUUqG5jV9cUn3dHohLAXA(((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 60));
			parseUntil__QTnVHXZGmL4KwHfwYyJ5mA(p, n_5, ((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_248), NIM_TRUE);
			n_5 = parsePostfix__BGO9adR5pD6YAUwvBbhm9beg_2(p, n_5);
			add__6h6IpXf2O9aeD4hz9aJicc2A(father, n_5);
		}
		goto LA2_;
		LA27_: ;
		{
			NIM_BOOL T30_;
			tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* n_6;
			T30_ = (NIM_BOOL)0;
			T30_ = isInlineMarkupStart__9chs6Bi4LFOMODOJ3gMG4RQ((&(*p)), ((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_152));
			if (!T30_) goto LA31_;
			n_6 = newRstNode__9bXoUUqG5jV9cUn3dHohLAXA(((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 62));
			parseUntil__QTnVHXZGmL4KwHfwYyJ5mA(p, n_6, ((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_152), NIM_FALSE);
			add__6h6IpXf2O9aeD4hz9aJicc2A(father, n_6);
		}
		goto LA2_;
		LA31_: ;
		{
			NIM_BOOL T34_;
			NIM_BOOL T35_;
			NIM_BOOL T36_;
			NI TM__Xuc9bgVTDeYXjwnCJIlXSig_286;
			T34_ = (NIM_BOOL)0;
			T35_ = (NIM_BOOL)0;
			T36_ = (NIM_BOOL)0;
			T36_ = (((*(*p).s).options &(1U<<((NU)(((tyEnum_RstParseOption__fiZmsylYkyh6nEciRZcPsw) 3))&7U)))!=0);
			if (!(T36_)) goto LA37_;
			if ((NU)((*p).idx) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((*p).idx,((*p).tok ? (*p).tok->Sup.len : 0)-1);
			T36_ = eqStrings((*p).tok->data[(*p).idx].symbol, ((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_285));
			LA37_: ;
			T35_ = T36_;
			if (!(T35_)) goto LA38_;
			TM__Xuc9bgVTDeYXjwnCJIlXSig_286 = addInt((*p).idx, ((NI) 1));
			if ((NU)((NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_286)) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_286),((*p).tok ? (*p).tok->Sup.len : 0)-1);
			T35_ = !(eqStrings((*p).tok->data[(NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_286)].symbol, ((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_285)));
			LA38_: ;
			T34_ = T35_;
			if (!(T34_)) goto LA39_;
			T34_ = parseMarkdownLink__K4fBZb5ocLQsL71He3iRcw(p, father);
			LA39_: ;
			if (!T34_) goto LA40_;
		}
		goto LA2_;
		LA40_: ;
		{
			{
				tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* n_7;
				if (!(((*(*p).s).options &(1U<<((NU)(((tyEnum_RstParseOption__fiZmsylYkyh6nEciRZcPsw) 1))&7U)))!=0)) goto LA45_;
				n_7 = parseSmiley__naJf3qvk6DpdtbboNxHj4g_10(p);
				{
					if (!!((n_7 == NIM_NIL))) goto LA49_;
					add__6h6IpXf2O9aeD4hz9aJicc2A(father, n_7);
					goto BeforeRet_;
				}
				LA49_: ;
			}
			LA45_: ;
			parseBackslash__9cSLkVcmZh9ce659aPmHpnkxQ_3(p, father);
		}
		LA2_: ;
	}
	break;
	case ((tyEnum_TokType__G7B8aJ8qgyXs01CE89bLriQ) 3):
	{
		{
			tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* n_8;
			if (!(((*(*p).s).options &(1U<<((NU)(((tyEnum_RstParseOption__fiZmsylYkyh6nEciRZcPsw) 1))&7U)))!=0)) goto LA54_;
			n_8 = parseSmiley__naJf3qvk6DpdtbboNxHj4g_10(p);
			{
				if (!!((n_8 == NIM_NIL))) goto LA58_;
				add__6h6IpXf2O9aeD4hz9aJicc2A(father, n_8);
				goto BeforeRet_;
			}
			LA58_: ;
		}
		LA54_: ;
		parseUrl__9cSLkVcmZh9ce659aPmHpnkxQ_4(p, father);
	}
	break;
	case ((tyEnum_TokType__G7B8aJ8qgyXs01CE89bLriQ) 4):
	case ((tyEnum_TokType__G7B8aJ8qgyXs01CE89bLriQ) 6):
	case ((tyEnum_TokType__G7B8aJ8qgyXs01CE89bLriQ) 2):
	{
		tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* T69_;
		NI TM__Xuc9bgVTDeYXjwnCJIlXSig_373;
		{
			tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* n_9;
			if (!(((*(*p).s).options &(1U<<((NU)(((tyEnum_RstParseOption__fiZmsylYkyh6nEciRZcPsw) 1))&7U)))!=0)) goto LA63_;
			n_9 = parseSmiley__naJf3qvk6DpdtbboNxHj4g_10(p);
			{
				if (!!((n_9 == NIM_NIL))) goto LA67_;
				add__6h6IpXf2O9aeD4hz9aJicc2A(father, n_9);
				goto BeforeRet_;
			}
			LA67_: ;
		}
		LA63_: ;
		T69_ = (tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg*)0;
		T69_ = newLeaf__naJf3qvk6DpdtbboNxHj4g_8(p);
		add__6h6IpXf2O9aeD4hz9aJicc2A(father, T69_);
		TM__Xuc9bgVTDeYXjwnCJIlXSig_373 = addInt((*p).idx, ((NI) 1));
		(*p).idx = (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_373);
	}
	break;
	default:
	{
	}
	break;
	}
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, parseLine__9cSLkVcmZh9ce659aPmHpnkxQ)(tyObject_RstParser__DC0I80p3rKpwC6ms59ctfpg* p, tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* father) {	{
		while (1) {
			if ((NU)((*p).idx) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((*p).idx,((*p).tok ? (*p).tok->Sup.len : 0)-1);
			switch ((*p).tok->data[(*p).idx].kind) {
			case ((tyEnum_TokType__G7B8aJ8qgyXs01CE89bLriQ) 2):
			case ((tyEnum_TokType__G7B8aJ8qgyXs01CE89bLriQ) 3):
			case ((tyEnum_TokType__G7B8aJ8qgyXs01CE89bLriQ) 6):
			case ((tyEnum_TokType__G7B8aJ8qgyXs01CE89bLriQ) 5):
			{
				parseInline__9cSLkVcmZh9ce659aPmHpnkxQ_2(p, father);
			}
			break;
			default:
			{
				goto LA1;
			}
			break;
			}
		}
	} LA1: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg*, parseField__naJf3qvk6DpdtbboNxHj4g_12)(tyObject_RstParser__DC0I80p3rKpwC6ms59ctfpg* p) {	tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* result;
	NI col;
	tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* fieldname;
	tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* fieldbody;
	result = (tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg*)0;
	result = newRstNode__9bXoUUqG5jV9cUn3dHohLAXA(((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 14));
	if ((NU)((*p).idx) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((*p).idx,((*p).tok ? (*p).tok->Sup.len : 0)-1);
	col = (*p).tok->data[(*p).idx].col;
	fieldname = newRstNode__9bXoUUqG5jV9cUn3dHohLAXA(((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 15));
	parseUntil__QTnVHXZGmL4KwHfwYyJ5mA(p, fieldname, ((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_358), NIM_FALSE);
	fieldbody = newRstNode__9bXoUUqG5jV9cUn3dHohLAXA(((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 16));
	{
		if ((NU)((*p).idx) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((*p).idx,((*p).tok ? (*p).tok->Sup.len : 0)-1);
		if (!!(((*p).tok->data[(*p).idx].kind == ((tyEnum_TokType__G7B8aJ8qgyXs01CE89bLriQ) 1)))) goto LA3_;
		parseLine__9cSLkVcmZh9ce659aPmHpnkxQ(p, fieldbody);
	}
	LA3_: ;
	{
		NI indent;
		if ((NU)((*p).idx) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((*p).idx,((*p).tok ? (*p).tok->Sup.len : 0)-1);
		if (!((*p).tok->data[(*p).idx].kind == ((tyEnum_TokType__G7B8aJ8qgyXs01CE89bLriQ) 1))) goto LA7_;
		if ((NU)((*p).idx) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((*p).idx,((*p).tok ? (*p).tok->Sup.len : 0)-1);
		indent = (*p).tok->data[(*p).idx].ival;
		{
			if (!(col < indent)) goto LA11_;
			pushInd__OJTRnMjFoUXx9bKbnYoP5gQ(p, indent);
			parseSection__xq5Qy6SIklyc6cm9byqeKvQ(p, fieldbody);
			popInd__1vyCOXsO3lilS9aF7FMTVkg(p);
		}
		LA11_: ;
	}
	LA7_: ;
	add__6h6IpXf2O9aeD4hz9aJicc2A(result, fieldname);
	add__6h6IpXf2O9aeD4hz9aJicc2A(result, fieldbody);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg*, parseFields__naJf3qvk6DpdtbboNxHj4g_11)(tyObject_RstParser__DC0I80p3rKpwC6ms59ctfpg* p) {	tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* result;
	NIM_BOOL atStart;
	NIM_BOOL T1_;
	result = (tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg*)0;
	result = NIM_NIL;
	T1_ = (NIM_BOOL)0;
	T1_ = ((*p).idx == ((NI) 0));
	if (!(T1_)) goto LA2_;
	if ((NU)(((NI) 0)) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2(((NI) 0),((*p).tok ? (*p).tok->Sup.len : 0)-1);
	T1_ = eqStrings((*p).tok->data[((NI) 0)].symbol, ((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_358));
	LA2_: ;
	atStart = T1_;
	{
		NIM_BOOL T5_;
		NIM_BOOL T6_;
		NI TM__Xuc9bgVTDeYXjwnCJIlXSig_375;
		NI col;
		T5_ = (NIM_BOOL)0;
		T6_ = (NIM_BOOL)0;
		if ((NU)((*p).idx) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((*p).idx,((*p).tok ? (*p).tok->Sup.len : 0)-1);
		T6_ = ((*p).tok->data[(*p).idx].kind == ((tyEnum_TokType__G7B8aJ8qgyXs01CE89bLriQ) 1));
		if (!(T6_)) goto LA7_;
		TM__Xuc9bgVTDeYXjwnCJIlXSig_375 = addInt((*p).idx, ((NI) 1));
		if ((NU)((NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_375)) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_375),((*p).tok ? (*p).tok->Sup.len : 0)-1);
		T6_ = eqStrings((*p).tok->data[(NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_375)].symbol, ((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_358));
		LA7_: ;
		T5_ = T6_;
		if (T5_) goto LA8_;
		T5_ = atStart;
		LA8_: ;
		if (!T5_) goto LA9_;
		{
			if (!atStart) goto LA13_;
			if ((NU)((*p).idx) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((*p).idx,((*p).tok ? (*p).tok->Sup.len : 0)-1);
			col = (*p).tok->data[(*p).idx].col;
		}
		goto LA11_;
		LA13_: ;
		{
			if ((NU)((*p).idx) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((*p).idx,((*p).tok ? (*p).tok->Sup.len : 0)-1);
			col = (*p).tok->data[(*p).idx].ival;
		}
		LA11_: ;
		result = newRstNode__9bXoUUqG5jV9cUn3dHohLAXA(((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 13));
		{
			NI TM__Xuc9bgVTDeYXjwnCJIlXSig_376;
			if (!!(atStart)) goto LA18_;
			TM__Xuc9bgVTDeYXjwnCJIlXSig_376 = addInt((*p).idx, ((NI) 1));
			(*p).idx = (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_376);
		}
		LA18_: ;
		{
			while (1) {
				tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* T22_;
				T22_ = (tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg*)0;
				T22_ = parseField__naJf3qvk6DpdtbboNxHj4g_12(p);
				add__6h6IpXf2O9aeD4hz9aJicc2A(result, T22_);
				{
					NIM_BOOL T25_;
					NIM_BOOL T26_;
					NI TM__Xuc9bgVTDeYXjwnCJIlXSig_377;
					NI TM__Xuc9bgVTDeYXjwnCJIlXSig_378;
					T25_ = (NIM_BOOL)0;
					T26_ = (NIM_BOOL)0;
					if ((NU)((*p).idx) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((*p).idx,((*p).tok ? (*p).tok->Sup.len : 0)-1);
					T26_ = ((*p).tok->data[(*p).idx].kind == ((tyEnum_TokType__G7B8aJ8qgyXs01CE89bLriQ) 1));
					if (!(T26_)) goto LA27_;
					if ((NU)((*p).idx) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((*p).idx,((*p).tok ? (*p).tok->Sup.len : 0)-1);
					T26_ = ((*p).tok->data[(*p).idx].ival == col);
					LA27_: ;
					T25_ = T26_;
					if (!(T25_)) goto LA28_;
					TM__Xuc9bgVTDeYXjwnCJIlXSig_377 = addInt((*p).idx, ((NI) 1));
					if ((NU)((NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_377)) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_377),((*p).tok ? (*p).tok->Sup.len : 0)-1);
					T25_ = eqStrings((*p).tok->data[(NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_377)].symbol, ((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_358));
					LA28_: ;
					if (!T25_) goto LA29_;
					TM__Xuc9bgVTDeYXjwnCJIlXSig_378 = addInt((*p).idx, ((NI) 1));
					(*p).idx = (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_378);
				}
				goto LA23_;
				LA29_: ;
				{
					goto LA20;
				}
				LA23_: ;
			}
		} LA20: ;
	}
	LA9_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg*, parseDirective__QAzabIMZGVoFm9bN4IAqS3g)(tyObject_RstParser__DC0I80p3rKpwC6ms59ctfpg* p, tySet_tyEnum_DirFlag__719asfClbt5VSsDXq5URv9aw flags) {	tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* result;
	tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* args;
	tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* options;
	result = (tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg*)0;
	result = newRstNode__9bXoUUqG5jV9cUn3dHohLAXA(((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 40));
	args = NIM_NIL;
	options = NIM_NIL;
	{
		if (!((flags &(1U<<((NU)(((tyEnum_DirFlag__719asfClbt5VSsDXq5URv9aw) 0))&7U)))!=0)) goto LA3_;
		args = newRstNode__9bXoUUqG5jV9cUn3dHohLAXA(((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 41));
		{
			if (!((flags &(1U<<((NU)(((tyEnum_DirFlag__719asfClbt5VSsDXq5URv9aw) 2))&7U)))!=0)) goto LA7_;
			{
				while (1) {
					if ((NU)((*p).idx) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((*p).idx,((*p).tok ? (*p).tok->Sup.len : 0)-1);
					switch ((*p).tok->data[(*p).idx].kind) {
					case ((tyEnum_TokType__G7B8aJ8qgyXs01CE89bLriQ) 3):
					case ((tyEnum_TokType__G7B8aJ8qgyXs01CE89bLriQ) 6):
					case ((tyEnum_TokType__G7B8aJ8qgyXs01CE89bLriQ) 5):
					case ((tyEnum_TokType__G7B8aJ8qgyXs01CE89bLriQ) 4):
					{
						tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* T12_;
						NI TM__Xuc9bgVTDeYXjwnCJIlXSig_207;
						T12_ = (tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg*)0;
						T12_ = newLeaf__naJf3qvk6DpdtbboNxHj4g_8(p);
						add__6h6IpXf2O9aeD4hz9aJicc2A(args, T12_);
						TM__Xuc9bgVTDeYXjwnCJIlXSig_207 = addInt((*p).idx, ((NI) 1));
						(*p).idx = (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_207);
					}
					break;
					default:
					{
						goto LA9;
					}
					break;
					}
				}
			} LA9: ;
		}
		goto LA5_;
		LA7_: ;
		{
			if (!((flags &(1U<<((NU)(((tyEnum_DirFlag__719asfClbt5VSsDXq5URv9aw) 3))&7U)))!=0)) goto LA15_;
			{
				while (1) {
					NI TM__Xuc9bgVTDeYXjwnCJIlXSig_208;
					if ((NU)((*p).idx) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((*p).idx,((*p).tok ? (*p).tok->Sup.len : 0)-1);
					if (!((*p).tok->data[(*p).idx].kind == ((tyEnum_TokType__G7B8aJ8qgyXs01CE89bLriQ) 2))) goto LA18;
					TM__Xuc9bgVTDeYXjwnCJIlXSig_208 = addInt((*p).idx, ((NI) 1));
					(*p).idx = (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_208);
				} LA18: ;
			}
			{
				tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* T23_;
				NI TM__Xuc9bgVTDeYXjwnCJIlXSig_209;
				if ((NU)((*p).idx) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((*p).idx,((*p).tok ? (*p).tok->Sup.len : 0)-1);
				if (!((*p).tok->data[(*p).idx].kind == ((tyEnum_TokType__G7B8aJ8qgyXs01CE89bLriQ) 3))) goto LA21_;
				T23_ = (tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg*)0;
				T23_ = newLeaf__naJf3qvk6DpdtbboNxHj4g_8(p);
				add__6h6IpXf2O9aeD4hz9aJicc2A(args, T23_);
				TM__Xuc9bgVTDeYXjwnCJIlXSig_209 = addInt((*p).idx, ((NI) 1));
				(*p).idx = (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_209);
			}
			goto LA19_;
			LA21_: ;
			{
				args = NIM_NIL;
			}
			LA19_: ;
		}
		goto LA5_;
		LA15_: ;
		{
			parseLine__9cSLkVcmZh9ce659aPmHpnkxQ(p, args);
		}
		LA5_: ;
	}
	LA3_: ;
	add__6h6IpXf2O9aeD4hz9aJicc2A(result, args);
	{
		if (!((flags &(1U<<((NU)(((tyEnum_DirFlag__719asfClbt5VSsDXq5URv9aw) 1))&7U)))!=0)) goto LA28_;
		{
			NIM_BOOL T32_;
			NIM_BOOL T33_;
			NI TM__Xuc9bgVTDeYXjwnCJIlXSig_374;
			T32_ = (NIM_BOOL)0;
			T33_ = (NIM_BOOL)0;
			if ((NU)((*p).idx) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((*p).idx,((*p).tok ? (*p).tok->Sup.len : 0)-1);
			T33_ = ((*p).tok->data[(*p).idx].kind == ((tyEnum_TokType__G7B8aJ8qgyXs01CE89bLriQ) 1));
			if (!(T33_)) goto LA34_;
			if ((NU)((*p).idx) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((*p).idx,((*p).tok ? (*p).tok->Sup.len : 0)-1);
			T33_ = (((NI) 3) <= (*p).tok->data[(*p).idx].ival);
			LA34_: ;
			T32_ = T33_;
			if (!(T32_)) goto LA35_;
			TM__Xuc9bgVTDeYXjwnCJIlXSig_374 = addInt((*p).idx, ((NI) 1));
			if ((NU)((NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_374)) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_374),((*p).tok ? (*p).tok->Sup.len : 0)-1);
			T32_ = eqStrings((*p).tok->data[(NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_374)].symbol, ((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_358));
			LA35_: ;
			if (!T32_) goto LA36_;
			options = parseFields__naJf3qvk6DpdtbboNxHj4g_11(p);
		}
		LA36_: ;
	}
	LA28_: ;
	add__6h6IpXf2O9aeD4hz9aJicc2A(result, options);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, indFollows__jHte2LzNlDQDnBSkgZB4YA_6)(tyObject_RstParser__DC0I80p3rKpwC6ms59ctfpg* p) {	NIM_BOOL result;
	NIM_BOOL T1_;
	NI T3_;
	result = (NIM_BOOL)0;
	T1_ = (NIM_BOOL)0;
	if ((NU)((*p).idx) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((*p).idx,((*p).tok ? (*p).tok->Sup.len : 0)-1);
	T1_ = ((*p).tok->data[(*p).idx].kind == ((tyEnum_TokType__G7B8aJ8qgyXs01CE89bLriQ) 1));
	if (!(T1_)) goto LA2_;
	T3_ = (NI)0;
	T3_ = currInd__tcf4oZW1YRBHtTR3G00pPw(p);
	if ((NU)((*p).idx) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((*p).idx,((*p).tok ? (*p).tok->Sup.len : 0)-1);
	T1_ = (T3_ < (*p).tok->data[(*p).idx].ival);
	LA2_: ;
	result = T1_;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg*, parseDirective__O3NhVrv4KsoZgKQfIgikCQ)(tyObject_RstParser__DC0I80p3rKpwC6ms59ctfpg* p, tySet_tyEnum_DirFlag__719asfClbt5VSsDXq5URv9aw flags, tyProc__Q29aqoKZ5tpbCgFkRsNjLwA contentParser) {	tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* result;
	result = (tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg*)0;
	result = parseDirective__QAzabIMZGVoFm9bN4IAqS3g(p, flags);
	{
		NIM_BOOL T3_;
		tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* content;
		T3_ = (NIM_BOOL)0;
		T3_ = !((contentParser == 0));
		if (!(T3_)) goto LA4_;
		T3_ = indFollows__jHte2LzNlDQDnBSkgZB4YA_6((&(*p)));
		LA4_: ;
		if (!T3_) goto LA5_;
		if ((NU)((*p).idx) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((*p).idx,((*p).tok ? (*p).tok->Sup.len : 0)-1);
		pushInd__OJTRnMjFoUXx9bKbnYoP5gQ(p, (*p).tok->data[(*p).idx].ival);
		content = contentParser(p);
		popInd__1vyCOXsO3lilS9aF7FMTVkg(p);
		add__6h6IpXf2O9aeD4hz9aJicc2A(result, content);
	}
	goto LA1_;
	LA5_: ;
	{
		add__6h6IpXf2O9aeD4hz9aJicc2A(result, NIM_NIL);
	}
	LA1_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, findRelativeFile__SSQlCy1rylNndWeLNZMpiA)(tyObject_RstParser__DC0I80p3rKpwC6ms59ctfpg* p, NimStringDesc* filename) {	NimStringDesc* result;
	tyTuple__7q7q3E6Oj24ZNVJb9aonhAg T1_;
	result = (NimStringDesc*)0;
	nimZeroMem((void*)(&T1_), sizeof(tyTuple__7q7q3E6Oj24ZNVJb9aonhAg));
	nossplitFile((*p).filename, (&T1_));
	result = slash___gEyhbzZ1UcxyenWRLJRXNQ(T1_.Field0, filename);
	{
		NIM_BOOL T4_;
		T4_ = (NIM_BOOL)0;
		T4_ = nosexistsFile(result);
		if (!!(T4_)) goto LA5_;
		result = (*(*p).s).findFile.ClE_0? (*(*p).s).findFile.ClP_0(filename, (*(*p).s).findFile.ClE_0):((TM__Xuc9bgVTDeYXjwnCJIlXSig_379)((*(*p).s).findFile.ClP_0))(filename);
	}
	LA5_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg*, dirInclude__naJf3qvk6DpdtbboNxHj4g_7)(tyObject_RstParser__DC0I80p3rKpwC6ms59ctfpg* p) {	tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* result;
	tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* n;
	NimStringDesc* filename;
	NimStringDesc* T1_;
	NimStringDesc* path;
	result = (tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg*)0;
	result = NIM_NIL;
	n = parseDirective__O3NhVrv4KsoZgKQfIgikCQ(p, 7, NIM_NIL);
	if ((NU)(((NI) 0)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*n).sons ? (*n).sons->Sup.len : 0)-1);
	T1_ = (NimStringDesc*)0;
	T1_ = addNodes__TOPoj9cIRh7GBTY6PKofpTQ_2((*n).sons->data[((NI) 0)]);
	filename = nsuStrip(T1_, NIM_TRUE, NIM_TRUE, TM__Xuc9bgVTDeYXjwnCJIlXSig_41);
	path = findRelativeFile__SSQlCy1rylNndWeLNZMpiA((&(*p)), filename);
	{
		if (!((path ? path->Sup.len : 0) == 0)) goto LA4_;
		rstMessage__c19bbKpr7iyYsCdieIF8Mxg((&(*p)), ((tyEnum_MsgKind__iviJnHlj9acPYlnNRbd9bhkQ) 0), filename);
	}
	goto LA2_;
	LA4_: ;
	{
		{
			NimStringDesc* T9_;
			NimStringDesc* T12_;
			tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* T13_;
			T9_ = (NimStringDesc*)0;
			T9_ = getFieldValue__OTgwDdUvek9bw6NECNLDOqA(n, ((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_270));
			if (!!(((T9_ ? T9_->Sup.len : 0) == 0))) goto LA10_;
			result = newRstNode__9bXoUUqG5jV9cUn3dHohLAXA(((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 24));
			T12_ = (NimStringDesc*)0;
			T12_ = readFile__4PGnM9bWmsH0Nu7dnr3XzgA(path);
			T13_ = (tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg*)0;
			T13_ = newRstNode__1jaf6GW9cTGFKmVxMM1pg9aA(((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 64), T12_);
			add__6h6IpXf2O9aeD4hz9aJicc2A(result, T13_);
		}
		goto LA7_;
		LA10_: ;
		{
			tyObject_RstParser__DC0I80p3rKpwC6ms59ctfpg q;
			NimStringDesc* T15_;
			NI T16_;
			NI TM__Xuc9bgVTDeYXjwnCJIlXSig_380;
			nimZeroMem((void*)(&q), sizeof(tyObject_RstParser__DC0I80p3rKpwC6ms59ctfpg));
			q.Sup.m_type = (&NTI__DC0I80p3rKpwC6ms59ctfpg_);
			initParser__60yTSW8tTLkfUx9baGF9bUvg((&q), (*p).s);
			q.filename = copyString(path);
			T15_ = (NimStringDesc*)0;
			T15_ = readFile__4PGnM9bWmsH0Nu7dnr3XzgA(path);
			T16_ = (NI)0;
			T16_ = getTokens__K7eh9bCXoxI4E3XwxyPK3JA(T15_, NIM_FALSE, (&q.tok));
			TM__Xuc9bgVTDeYXjwnCJIlXSig_380 = addInt(q.col, T16_);
			q.col = (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_380);
			result = parseDoc__naJf3qvk6DpdtbboNxHj4g((&q));
		}
		LA7_: ;
	}
	LA2_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg*, dirImage__naJf3qvk6DpdtbboNxHj4g_13)(tyObject_RstParser__DC0I80p3rKpwC6ms59ctfpg* p) {	tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* result;
	result = (tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg*)0;
	result = parseDirective__O3NhVrv4KsoZgKQfIgikCQ(p, 7, NIM_NIL);
	(*result).kind = ((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 45);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg*, dirFigure__naJf3qvk6DpdtbboNxHj4g_14)(tyObject_RstParser__DC0I80p3rKpwC6ms59ctfpg* p) {	tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* result;
	result = (tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg*)0;
	result = parseDirective__O3NhVrv4KsoZgKQfIgikCQ(p, 7, parseSectionWrapper__naJf3qvk6DpdtbboNxHj4g_2);
	(*result).kind = ((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 46);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg*, dirTitle__naJf3qvk6DpdtbboNxHj4g_15)(tyObject_RstParser__DC0I80p3rKpwC6ms59ctfpg* p) {	tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* result;
	result = (tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg*)0;
	result = parseDirective__O3NhVrv4KsoZgKQfIgikCQ(p, 1, NIM_NIL);
	(*result).kind = ((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 43);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg*, dirContainer__naJf3qvk6DpdtbboNxHj4g_16)(tyObject_RstParser__DC0I80p3rKpwC6ms59ctfpg* p) {	tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* result;
	result = (tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg*)0;
	result = parseDirective__O3NhVrv4KsoZgKQfIgikCQ(p, 1, parseSectionWrapper__naJf3qvk6DpdtbboNxHj4g_2);
	{
		if (!!(((*result).kind == ((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 40)))) goto LA3_;
		failedAssertImpl__W9cjVocn1tjhW7p7xohJj6A(((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_381));
	}
	LA3_: ;
	{
		NI T7_;
		T7_ = (NI)0;
		T7_ = len__bM2v46TeKfDIrVkegSIy9ag(result);
		if (!!((T7_ == ((NI) 3)))) goto LA8_;
		failedAssertImpl__W9cjVocn1tjhW7p7xohJj6A(((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_382));
	}
	LA8_: ;
	(*result).kind = ((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 50);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg*, dirContents__naJf3qvk6DpdtbboNxHj4g_17)(tyObject_RstParser__DC0I80p3rKpwC6ms59ctfpg* p) {	tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* result;
	result = (tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg*)0;
	result = parseDirective__O3NhVrv4KsoZgKQfIgikCQ(p, 1, NIM_NIL);
	(*result).kind = ((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 44);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg*, parseDirBody__3fzywaSlLTD9cXU6QN3BS7Q)(tyObject_RstParser__DC0I80p3rKpwC6ms59ctfpg* p, tyProc__Q29aqoKZ5tpbCgFkRsNjLwA contentParser) {	tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* result;
	result = (tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg*)0;
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = indFollows__jHte2LzNlDQDnBSkgZB4YA_6((&(*p)));
		if (!T3_) goto LA4_;
		if ((NU)((*p).idx) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((*p).idx,((*p).tok ? (*p).tok->Sup.len : 0)-1);
		pushInd__OJTRnMjFoUXx9bKbnYoP5gQ(p, (*p).tok->data[(*p).idx].ival);
		result = contentParser(p);
		popInd__1vyCOXsO3lilS9aF7FMTVkg(p);
	}
	LA4_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, dirRawAux__26AJ6SdkPy9c9c9afiXKQwt7g)(tyObject_RstParser__DC0I80p3rKpwC6ms59ctfpg* p, tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg** result, tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg kind, tyProc__Q29aqoKZ5tpbCgFkRsNjLwA contentParser) {	NimStringDesc* filename;
	filename = getFieldValue__OTgwDdUvek9bw6NECNLDOqA((*result), ((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_369));
	{
		NimStringDesc* path;
		if (!(((NI) 0) < (filename ? filename->Sup.len : 0))) goto LA3_;
		path = findRelativeFile__SSQlCy1rylNndWeLNZMpiA((&(*p)), filename);
		{
			if (!((path ? path->Sup.len : 0) == ((NI) 0))) goto LA7_;
			rstMessage__c19bbKpr7iyYsCdieIF8Mxg((&(*p)), ((tyEnum_MsgKind__iviJnHlj9acPYlnNRbd9bhkQ) 0), filename);
		}
		goto LA5_;
		LA7_: ;
		{
			NimStringDesc* f;
			tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* T10_;
			f = readFile__4PGnM9bWmsH0Nu7dnr3XzgA(path);
			unsureAsgnRef((void**) (&(*result)), newRstNode__9bXoUUqG5jV9cUn3dHohLAXA(kind));
			T10_ = (tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg*)0;
			T10_ = newRstNode__1jaf6GW9cTGFKmVxMM1pg9aA(((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 64), f);
			add__6h6IpXf2O9aeD4hz9aJicc2A((*result), T10_);
		}
		LA5_: ;
	}
	goto LA1_;
	LA3_: ;
	{
		tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* T12_;
		(*(*result)).kind = kind;
		T12_ = (tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg*)0;
		T12_ = parseDirBody__3fzywaSlLTD9cXU6QN3BS7Q(p, contentParser);
		add__6h6IpXf2O9aeD4hz9aJicc2A((*result), T12_);
	}
	LA1_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg*, dirRaw__naJf3qvk6DpdtbboNxHj4g_18)(tyObject_RstParser__DC0I80p3rKpwC6ms59ctfpg* p) {	tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* result;
	result = (tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg*)0;
	result = parseDirective__QAzabIMZGVoFm9bN4IAqS3g(p, 11);
	{
		if ((NU)(((NI) 0)) >= (NU)((*result).sons ? (*result).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*result).sons ? (*result).sons->Sup.len : 0)-1);
		if (!!(((*result).sons->data[((NI) 0)] == NIM_NIL))) goto LA3_;
		{
			NI T7_;
			if ((NU)(((NI) 0)) >= (NU)((*result).sons ? (*result).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*result).sons ? (*result).sons->Sup.len : 0)-1);
			if ((NU)(((NI) 0)) >= (NU)((*(*result).sons->data[((NI) 0)]).sons ? (*(*result).sons->data[((NI) 0)]).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*(*result).sons->data[((NI) 0)]).sons ? (*(*result).sons->data[((NI) 0)]).sons->Sup.len : 0)-1);
			T7_ = (NI)0;
			T7_ = nsuCmpIgnoreCase((*(*(*result).sons->data[((NI) 0)]).sons->data[((NI) 0)]).text, ((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_383));
			if (!(T7_ == ((NI) 0))) goto LA8_;
			dirRawAux__26AJ6SdkPy9c9c9afiXKQwt7g(p, &result, ((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 48), parseLiteralBlock__naJf3qvk6DpdtbboNxHj4g_3);
		}
		goto LA5_;
		LA8_: ;
		{
			NI T11_;
			if ((NU)(((NI) 0)) >= (NU)((*result).sons ? (*result).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*result).sons ? (*result).sons->Sup.len : 0)-1);
			if ((NU)(((NI) 0)) >= (NU)((*(*result).sons->data[((NI) 0)]).sons ? (*(*result).sons->data[((NI) 0)]).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*(*result).sons->data[((NI) 0)]).sons ? (*(*result).sons->data[((NI) 0)]).sons->Sup.len : 0)-1);
			T11_ = (NI)0;
			T11_ = nsuCmpIgnoreCase((*(*(*result).sons->data[((NI) 0)]).sons->data[((NI) 0)]).text, ((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_384));
			if (!(T11_ == ((NI) 0))) goto LA12_;
			dirRawAux__26AJ6SdkPy9c9c9afiXKQwt7g(p, &result, ((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 49), parseLiteralBlock__naJf3qvk6DpdtbboNxHj4g_3);
		}
		goto LA5_;
		LA12_: ;
		{
			if ((NU)(((NI) 0)) >= (NU)((*result).sons ? (*result).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*result).sons ? (*result).sons->Sup.len : 0)-1);
			if ((NU)(((NI) 0)) >= (NU)((*(*result).sons->data[((NI) 0)]).sons ? (*(*result).sons->data[((NI) 0)]).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*(*result).sons->data[((NI) 0)]).sons ? (*(*result).sons->data[((NI) 0)]).sons->Sup.len : 0)-1);
			rstMessage__c19bbKpr7iyYsCdieIF8Mxg((&(*p)), ((tyEnum_MsgKind__iviJnHlj9acPYlnNRbd9bhkQ) 5), (*(*(*result).sons->data[((NI) 0)]).sons->data[((NI) 0)]).text);
		}
		LA5_: ;
	}
	goto LA1_;
	LA3_: ;
	{
		dirRawAux__26AJ6SdkPy9c9c9afiXKQwt7g(p, &result, ((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 42), parseSectionWrapper__naJf3qvk6DpdtbboNxHj4g_2);
	}
	LA1_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg*, dirCodeBlock__NZFSLyva35ahnCnHMXeOUQ)(tyObject_RstParser__DC0I80p3rKpwC6ms59ctfpg* p, NIM_BOOL nimExtension) {	tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* result;
	NimStringDesc* filename;
	NimStringDesc* T1_;
	result = (tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg*)0;
	result = parseDirective__O3NhVrv4KsoZgKQfIgikCQ(p, 3, parseLiteralBlock__naJf3qvk6DpdtbboNxHj4g_3);
	T1_ = (NimStringDesc*)0;
	T1_ = getFieldValue__OTgwDdUvek9bw6NECNLDOqA(result, ((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_369));
	filename = nsuStrip(T1_, NIM_TRUE, NIM_TRUE, TM__Xuc9bgVTDeYXjwnCJIlXSig_41);
	{
		NimStringDesc* path;
		tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* n;
		NimStringDesc* T10_;
		tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* T11_;
		if (!!(((filename ? filename->Sup.len : 0) == 0))) goto LA4_;
		path = findRelativeFile__SSQlCy1rylNndWeLNZMpiA((&(*p)), filename);
		{
			if (!((path ? path->Sup.len : 0) == 0)) goto LA8_;
			rstMessage__c19bbKpr7iyYsCdieIF8Mxg((&(*p)), ((tyEnum_MsgKind__iviJnHlj9acPYlnNRbd9bhkQ) 0), filename);
		}
		LA8_: ;
		n = newRstNode__9bXoUUqG5jV9cUn3dHohLAXA(((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 24));
		T10_ = (NimStringDesc*)0;
		T10_ = readFile__4PGnM9bWmsH0Nu7dnr3XzgA(path);
		T11_ = (tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg*)0;
		T11_ = newRstNode__1jaf6GW9cTGFKmVxMM1pg9aA(((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 64), T10_);
		add__6h6IpXf2O9aeD4hz9aJicc2A(n, T11_);
		if ((NU)(((NI) 2)) >= (NU)((*result).sons ? (*result).sons->Sup.len : 0)) raiseIndexError2(((NI) 2),((*result).sons ? (*result).sons->Sup.len : 0)-1);
		asgnRef((void**) (&(*result).sons->data[((NI) 2)]), n);
	}
	LA4_: ;
	{
		tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* extraNode;
		tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* T24_;
		tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* T25_;
		tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* T26_;
		tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* T27_;
		if (!nimExtension) goto LA14_;
		{
			if ((NU)(((NI) 1)) >= (NU)((*result).sons ? (*result).sons->Sup.len : 0)) raiseIndexError2(((NI) 1),((*result).sons ? (*result).sons->Sup.len : 0)-1);
			if (!((*result).sons->data[((NI) 1)] == 0)) goto LA18_;
			if ((NU)(((NI) 1)) >= (NU)((*result).sons ? (*result).sons->Sup.len : 0)) raiseIndexError2(((NI) 1),((*result).sons ? (*result).sons->Sup.len : 0)-1);
			asgnRef((void**) (&(*result).sons->data[((NI) 1)]), newRstNode__9bXoUUqG5jV9cUn3dHohLAXA(((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 13)));
		}
		LA18_: ;
		{
			if ((NU)(((NI) 1)) >= (NU)((*result).sons ? (*result).sons->Sup.len : 0)) raiseIndexError2(((NI) 1),((*result).sons ? (*result).sons->Sup.len : 0)-1);
			if (!!(((*(*result).sons->data[((NI) 1)]).kind == ((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 13)))) goto LA22_;
			failedAssertImpl__W9cjVocn1tjhW7p7xohJj6A(((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_385));
		}
		LA22_: ;
		extraNode = newRstNode__9bXoUUqG5jV9cUn3dHohLAXA(((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 14));
		T24_ = (tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg*)0;
		T24_ = newRstNode__9bXoUUqG5jV9cUn3dHohLAXA(((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 15));
		add__6h6IpXf2O9aeD4hz9aJicc2A(extraNode, T24_);
		T25_ = (tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg*)0;
		T25_ = newRstNode__9bXoUUqG5jV9cUn3dHohLAXA(((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 16));
		add__6h6IpXf2O9aeD4hz9aJicc2A(extraNode, T25_);
		if ((NU)(((NI) 0)) >= (NU)((*extraNode).sons ? (*extraNode).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*extraNode).sons ? (*extraNode).sons->Sup.len : 0)-1);
		T26_ = (tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg*)0;
		T26_ = newRstNode__1jaf6GW9cTGFKmVxMM1pg9aA(((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 64), ((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_386));
		add__6h6IpXf2O9aeD4hz9aJicc2A((*extraNode).sons->data[((NI) 0)], T26_);
		if ((NU)(((NI) 1)) >= (NU)((*extraNode).sons ? (*extraNode).sons->Sup.len : 0)) raiseIndexError2(((NI) 1),((*extraNode).sons ? (*extraNode).sons->Sup.len : 0)-1);
		T27_ = (tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg*)0;
		T27_ = newRstNode__1jaf6GW9cTGFKmVxMM1pg9aA(((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 64), ((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_387));
		add__6h6IpXf2O9aeD4hz9aJicc2A((*extraNode).sons->data[((NI) 1)], T27_);
		if ((NU)(((NI) 1)) >= (NU)((*result).sons ? (*result).sons->Sup.len : 0)) raiseIndexError2(((NI) 1),((*result).sons ? (*result).sons->Sup.len : 0)-1);
		add__6h6IpXf2O9aeD4hz9aJicc2A((*result).sons->data[((NI) 1)], extraNode);
	}
	LA14_: ;
	(*result).kind = ((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 47);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg*, dirIndex__naJf3qvk6DpdtbboNxHj4g_19)(tyObject_RstParser__DC0I80p3rKpwC6ms59ctfpg* p) {	tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* result;
	result = (tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg*)0;
	result = parseDirective__O3NhVrv4KsoZgKQfIgikCQ(p, 0, parseSectionWrapper__naJf3qvk6DpdtbboNxHj4g_2);
	(*result).kind = ((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 51);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg*, getReferenceName__k4bKSOox4m3LlVzuJgOtfA)(tyObject_RstParser__DC0I80p3rKpwC6ms59ctfpg* p, NimStringDesc* endStr) {	tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* result;
	tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* res;
	result = (tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg*)0;
	res = newRstNode__9bXoUUqG5jV9cUn3dHohLAXA(((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 0));
	{
		while (1) {
			NI TM__Xuc9bgVTDeYXjwnCJIlXSig_391;
			if ((NU)((*p).idx) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((*p).idx,((*p).tok ? (*p).tok->Sup.len : 0)-1);
			switch ((*p).tok->data[(*p).idx].kind) {
			case ((tyEnum_TokType__G7B8aJ8qgyXs01CE89bLriQ) 3):
			case ((tyEnum_TokType__G7B8aJ8qgyXs01CE89bLriQ) 6):
			case ((tyEnum_TokType__G7B8aJ8qgyXs01CE89bLriQ) 2):
			{
				tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* T4_;
				T4_ = (tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg*)0;
				T4_ = newLeaf__naJf3qvk6DpdtbboNxHj4g_8(p);
				add__6h6IpXf2O9aeD4hz9aJicc2A(res, T4_);
			}
			break;
			case ((tyEnum_TokType__G7B8aJ8qgyXs01CE89bLriQ) 5):
			{
				{
					NI TM__Xuc9bgVTDeYXjwnCJIlXSig_390;
					if ((NU)((*p).idx) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((*p).idx,((*p).tok ? (*p).tok->Sup.len : 0)-1);
					if (!eqStrings((*p).tok->data[(*p).idx].symbol, endStr)) goto LA8_;
					TM__Xuc9bgVTDeYXjwnCJIlXSig_390 = addInt((*p).idx, ((NI) 1));
					(*p).idx = (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_390);
					goto LA1;
				}
				goto LA6_;
				LA8_: ;
				{
					tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* T11_;
					T11_ = (tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg*)0;
					T11_ = newLeaf__naJf3qvk6DpdtbboNxHj4g_8(p);
					add__6h6IpXf2O9aeD4hz9aJicc2A(res, T11_);
				}
				LA6_: ;
			}
			break;
			default:
			{
				rstMessage__c19bbKpr7iyYsCdieIF8Mxg((&(*p)), ((tyEnum_MsgKind__iviJnHlj9acPYlnNRbd9bhkQ) 1), endStr);
				goto LA1;
			}
			break;
			}
			TM__Xuc9bgVTDeYXjwnCJIlXSig_391 = addInt((*p).idx, ((NI) 1));
			(*p).idx = (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_391);
		}
	} LA1: ;
	result = res;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg*, untilEol__naJf3qvk6DpdtbboNxHj4g_20)(tyObject_RstParser__DC0I80p3rKpwC6ms59ctfpg* p) {	tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* result;
	result = (tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg*)0;
	result = newRstNode__9bXoUUqG5jV9cUn3dHohLAXA(((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 0));
	{
		while (1) {
			tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* T3_;
			NI TM__Xuc9bgVTDeYXjwnCJIlXSig_393;
			if ((NU)((*p).idx) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((*p).idx,((*p).tok ? (*p).tok->Sup.len : 0)-1);
			if (!!(((3 &(1U<<((NU)((*p).tok->data[(*p).idx].kind)&7U)))!=0))) goto LA2;
			T3_ = (tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg*)0;
			T3_ = newLeaf__naJf3qvk6DpdtbboNxHj4g_8(p);
			add__6h6IpXf2O9aeD4hz9aJicc2A(result, T3_);
			TM__Xuc9bgVTDeYXjwnCJIlXSig_393 = addInt((*p).idx, ((NI) 1));
			(*p).idx = (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_393);
		} LA2: ;
	}
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, expect__AGcCuJNV5AU9aqiZV9c3ZZTQ)(tyObject_RstParser__DC0I80p3rKpwC6ms59ctfpg* p, NimStringDesc* tok) {	{
		NI TM__Xuc9bgVTDeYXjwnCJIlXSig_399;
		if ((NU)((*p).idx) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((*p).idx,((*p).tok ? (*p).tok->Sup.len : 0)-1);
		if (!eqStrings((*p).tok->data[(*p).idx].symbol, tok)) goto LA3_;
		TM__Xuc9bgVTDeYXjwnCJIlXSig_399 = addInt((*p).idx, ((NI) 1));
		(*p).idx = (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_399);
	}
	goto LA1_;
	LA3_: ;
	{
		rstMessage__c19bbKpr7iyYsCdieIF8Mxg((&(*p)), ((tyEnum_MsgKind__iviJnHlj9acPYlnNRbd9bhkQ) 1), tok);
	}
	LA1_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, setSub__A5A3t7X4NuSu4llEz8RlOg_2)(tyObject_RstParser__DC0I80p3rKpwC6ms59ctfpg* p, NimStringDesc* key, tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* value) {	NI length;
	NI T1_;
	NI TM__Xuc9bgVTDeYXjwnCJIlXSig_403;
	NimStringDesc* T9_;
{	T1_ = ((*(*p).s).subs ? (*(*p).s).subs->Sup.len : 0);
	length = T1_;
	{
		NI i;
		NI colontmp_;
		NI TM__Xuc9bgVTDeYXjwnCJIlXSig_401;
		NI res;
		i = (NI)0;
		colontmp_ = (NI)0;
		TM__Xuc9bgVTDeYXjwnCJIlXSig_401 = subInt(length, ((NI) 1));
		colontmp_ = (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_401);
		res = ((NI) 0);
		{
			while (1) {
				NI TM__Xuc9bgVTDeYXjwnCJIlXSig_402;
				if (!(res <= colontmp_)) goto LA4;
				i = res;
				{
					if ((NU)(i) >= (NU)((*(*p).s).subs ? (*(*p).s).subs->Sup.len : 0)) raiseIndexError2(i,((*(*p).s).subs ? (*(*p).s).subs->Sup.len : 0)-1);
					if (!eqStrings(key, (*(*p).s).subs->data[i].key)) goto LA7_;
					if ((NU)(i) >= (NU)((*(*p).s).subs ? (*(*p).s).subs->Sup.len : 0)) raiseIndexError2(i,((*(*p).s).subs ? (*(*p).s).subs->Sup.len : 0)-1);
					asgnRef((void**) (&(*(*p).s).subs->data[i].value), value);
					goto BeforeRet_;
				}
				LA7_: ;
				TM__Xuc9bgVTDeYXjwnCJIlXSig_402 = addInt(res, ((NI) 1));
				res = (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_402);
			} LA4: ;
		}
	}
	TM__Xuc9bgVTDeYXjwnCJIlXSig_403 = addInt(length, ((NI) 1));
	asgnRef((void**) (&(*(*p).s).subs), (tySequence__KttZgRE9cmIMvHjR6Gj9a89ag*) setLengthSeqV2(&((*(*p).s).subs)->Sup, (&NTI__KttZgRE9cmIMvHjR6Gj9a89ag_), ((NI)chckRange((NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_403), ((NI) 0), ((NI) 2147483647)))));
	if ((NU)(length) >= (NU)((*(*p).s).subs ? (*(*p).s).subs->Sup.len : 0)) raiseIndexError2(length,((*(*p).s).subs ? (*(*p).s).subs->Sup.len : 0)-1);
	T9_ = (NimStringDesc*)0;
	T9_ = (*(*p).s).subs->data[length].key; (*(*p).s).subs->data[length].key = copyStringRC1(key);
	if (T9_) nimGCunrefNoCycle(T9_);
	if ((NU)(length) >= (NU)((*(*p).s).subs ? (*(*p).s).subs->Sup.len : 0)) raiseIndexError2(length,((*(*p).s).subs ? (*(*p).s).subs->Sup.len : 0)-1);
	asgnRef((void**) (&(*(*p).s).subs->data[length].value), value);
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg*, parseComment__naJf3qvk6DpdtbboNxHj4g_21)(tyObject_RstParser__DC0I80p3rKpwC6ms59ctfpg* p) {	tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* result;
	result = (tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg*)0;
	if ((NU)((*p).idx) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((*p).idx,((*p).tok ? (*p).tok->Sup.len : 0)-1);
	switch ((*p).tok->data[(*p).idx].kind) {
	case ((tyEnum_TokType__G7B8aJ8qgyXs01CE89bLriQ) 1):
	case ((tyEnum_TokType__G7B8aJ8qgyXs01CE89bLriQ) 0):
	{
		{
			NIM_BOOL T4_;
			NI TM__Xuc9bgVTDeYXjwnCJIlXSig_407;
			NI TM__Xuc9bgVTDeYXjwnCJIlXSig_408;
			T4_ = (NIM_BOOL)0;
			if ((NU)((*p).idx) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((*p).idx,((*p).tok ? (*p).tok->Sup.len : 0)-1);
			T4_ = !(((*p).tok->data[(*p).idx].kind == ((tyEnum_TokType__G7B8aJ8qgyXs01CE89bLriQ) 0)));
			if (!(T4_)) goto LA5_;
			TM__Xuc9bgVTDeYXjwnCJIlXSig_407 = addInt((*p).idx, ((NI) 1));
			if ((NU)((NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_407)) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_407),((*p).tok ? (*p).tok->Sup.len : 0)-1);
			T4_ = ((*p).tok->data[(NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_407)].kind == ((tyEnum_TokType__G7B8aJ8qgyXs01CE89bLriQ) 1));
			LA5_: ;
			if (!T4_) goto LA6_;
			TM__Xuc9bgVTDeYXjwnCJIlXSig_408 = addInt((*p).idx, ((NI) 1));
			(*p).idx = (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_408);
		}
		goto LA2_;
		LA6_: ;
		{
			NI indent;
			if ((NU)((*p).idx) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((*p).idx,((*p).tok ? (*p).tok->Sup.len : 0)-1);
			indent = (*p).tok->data[(*p).idx].ival;
			{
				while (1) {
					NI TM__Xuc9bgVTDeYXjwnCJIlXSig_409;
					if ((NU)((*p).idx) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((*p).idx,((*p).tok ? (*p).tok->Sup.len : 0)-1);
					switch ((*p).tok->data[(*p).idx].kind) {
					case ((tyEnum_TokType__G7B8aJ8qgyXs01CE89bLriQ) 0):
					{
						goto LA9;
					}
					break;
					case ((tyEnum_TokType__G7B8aJ8qgyXs01CE89bLriQ) 1):
					{
						{
							if ((NU)((*p).idx) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((*p).idx,((*p).tok ? (*p).tok->Sup.len : 0)-1);
							if (!((*p).tok->data[(*p).idx].ival < indent)) goto LA15_;
							goto LA9;
						}
						LA15_: ;
					}
					break;
					default:
					{
					}
					break;
					}
					TM__Xuc9bgVTDeYXjwnCJIlXSig_409 = addInt((*p).idx, ((NI) 1));
					(*p).idx = (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_409);
				}
			} LA9: ;
		}
		LA2_: ;
	}
	break;
	default:
	{
		{
			while (1) {
				NI TM__Xuc9bgVTDeYXjwnCJIlXSig_410;
				if ((NU)((*p).idx) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((*p).idx,((*p).tok ? (*p).tok->Sup.len : 0)-1);
				if (!!(((3 &(1U<<((NU)((*p).tok->data[(*p).idx].kind)&7U)))!=0))) goto LA20;
				TM__Xuc9bgVTDeYXjwnCJIlXSig_410 = addInt((*p).idx, ((NI) 1));
				(*p).idx = (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_410);
			} LA20: ;
		}
	}
	break;
	}
	result = NIM_NIL;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg*, parseDotDot__naJf3qvk6DpdtbboNxHj4g_6)(tyObject_RstParser__DC0I80p3rKpwC6ms59ctfpg* p) {	tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* result;
	NI col;
	NI TM__Xuc9bgVTDeYXjwnCJIlXSig_185;
	NimStringDesc* d;
	result = (tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg*)0;
	result = NIM_NIL;
	if ((NU)((*p).idx) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((*p).idx,((*p).tok ? (*p).tok->Sup.len : 0)-1);
	col = (*p).tok->data[(*p).idx].col;
	TM__Xuc9bgVTDeYXjwnCJIlXSig_185 = addInt((*p).idx, ((NI) 1));
	(*p).idx = (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_185);
	d = getDirective__2qjpS10VZz9bFIv4alMvXsw(p);
	{
		tyEnum_DirKind__Lv8WUxBpQCKnnfG38t4N2Q T5_;
		if (!!(((d ? d->Sup.len : 0) == 0))) goto LA3_;
		pushInd__OJTRnMjFoUXx9bKbnYoP5gQ(p, col);
		T5_ = (tyEnum_DirKind__Lv8WUxBpQCKnnfG38t4N2Q)0;
		T5_ = getDirKind__5hUTGl1r5cs5ipTbZ64j9cg(d);
		switch (T5_) {
		case ((tyEnum_DirKind__Lv8WUxBpQCKnnfG38t4N2Q) 9):
		{
			result = dirInclude__naJf3qvk6DpdtbboNxHj4g_7(p);
		}
		break;
		case ((tyEnum_DirKind__Lv8WUxBpQCKnnfG38t4N2Q) 8):
		{
			result = dirImage__naJf3qvk6DpdtbboNxHj4g_13(p);
		}
		break;
		case ((tyEnum_DirKind__Lv8WUxBpQCKnnfG38t4N2Q) 7):
		{
			result = dirFigure__naJf3qvk6DpdtbboNxHj4g_14(p);
		}
		break;
		case ((tyEnum_DirKind__Lv8WUxBpQCKnnfG38t4N2Q) 12):
		{
			result = dirTitle__naJf3qvk6DpdtbboNxHj4g_15(p);
		}
		break;
		case ((tyEnum_DirKind__Lv8WUxBpQCKnnfG38t4N2Q) 5):
		{
			result = dirContainer__naJf3qvk6DpdtbboNxHj4g_16(p);
		}
		break;
		case ((tyEnum_DirKind__Lv8WUxBpQCKnnfG38t4N2Q) 6):
		{
			result = dirContents__naJf3qvk6DpdtbboNxHj4g_17(p);
		}
		break;
		case ((tyEnum_DirKind__Lv8WUxBpQCKnnfG38t4N2Q) 11):
		{
			{
				if (!(((*(*p).s).options &(1U<<((NU)(((tyEnum_RstParseOption__fiZmsylYkyh6nEciRZcPsw) 2))&7U)))!=0)) goto LA15_;
				result = dirRaw__naJf3qvk6DpdtbboNxHj4g_18(p);
			}
			goto LA13_;
			LA15_: ;
			{
				rstMessage__c19bbKpr7iyYsCdieIF8Mxg((&(*p)), ((tyEnum_MsgKind__iviJnHlj9acPYlnNRbd9bhkQ) 5), d);
			}
			LA13_: ;
		}
		break;
		case ((tyEnum_DirKind__Lv8WUxBpQCKnnfG38t4N2Q) 3):
		{
			result = dirCodeBlock__NZFSLyva35ahnCnHMXeOUQ(p, NIM_FALSE);
		}
		break;
		case ((tyEnum_DirKind__Lv8WUxBpQCKnnfG38t4N2Q) 4):
		{
			result = dirCodeBlock__NZFSLyva35ahnCnHMXeOUQ(p, NIM_TRUE);
		}
		break;
		case ((tyEnum_DirKind__Lv8WUxBpQCKnnfG38t4N2Q) 10):
		{
			result = dirIndex__naJf3qvk6DpdtbboNxHj4g_19(p);
		}
		break;
		default:
		{
			rstMessage__c19bbKpr7iyYsCdieIF8Mxg((&(*p)), ((tyEnum_MsgKind__iviJnHlj9acPYlnNRbd9bhkQ) 5), d);
		}
		break;
		}
		popInd__1vyCOXsO3lilS9aF7FMTVkg(p);
	}
	goto LA1_;
	LA3_: ;
	{
		NIM_BOOL T23_;
		NI TM__Xuc9bgVTDeYXjwnCJIlXSig_389;
		tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* a;
		tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* b;
		NimStringDesc* T30_;
		T23_ = (NIM_BOOL)0;
		T23_ = match__Q9ccnP9b8RJYaO2u1a0CIzXA((&(*p)), (*p).idx, ((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_388));
		if (!T23_) goto LA24_;
		TM__Xuc9bgVTDeYXjwnCJIlXSig_389 = addInt((*p).idx, ((NI) 2));
		(*p).idx = (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_389);
		a = getReferenceName__k4bKSOox4m3LlVzuJgOtfA(p, ((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_358));
		{
			NI TM__Xuc9bgVTDeYXjwnCJIlXSig_392;
			if ((NU)((*p).idx) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((*p).idx,((*p).tok ? (*p).tok->Sup.len : 0)-1);
			if (!((*p).tok->data[(*p).idx].kind == ((tyEnum_TokType__G7B8aJ8qgyXs01CE89bLriQ) 2))) goto LA28_;
			TM__Xuc9bgVTDeYXjwnCJIlXSig_392 = addInt((*p).idx, ((NI) 1));
			(*p).idx = (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_392);
		}
		LA28_: ;
		b = untilEol__naJf3qvk6DpdtbboNxHj4g_20(p);
		T30_ = (NimStringDesc*)0;
		T30_ = rstnodeToRefname__TOPoj9cIRh7GBTY6PKofpTQ(a);
		setRef__A5A3t7X4NuSu4llEz8RlOg(p, T30_, b);
	}
	goto LA1_;
	LA24_: ;
	{
		NIM_BOOL T32_;
		NI TM__Xuc9bgVTDeYXjwnCJIlXSig_395;
		tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* a_2;
		tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* b_2;
		NimStringDesc* T49_;
		T32_ = (NIM_BOOL)0;
		T32_ = match__Q9ccnP9b8RJYaO2u1a0CIzXA((&(*p)), (*p).idx, ((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_394));
		if (!T32_) goto LA33_;
		TM__Xuc9bgVTDeYXjwnCJIlXSig_395 = addInt((*p).idx, ((NI) 2));
		(*p).idx = (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_395);
		a_2 = getReferenceName__k4bKSOox4m3LlVzuJgOtfA(p, ((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_152));
		b_2 = (tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg*)0;
		{
			NI TM__Xuc9bgVTDeYXjwnCJIlXSig_396;
			if ((NU)((*p).idx) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((*p).idx,((*p).tok ? (*p).tok->Sup.len : 0)-1);
			if (!((*p).tok->data[(*p).idx].kind == ((tyEnum_TokType__G7B8aJ8qgyXs01CE89bLriQ) 2))) goto LA37_;
			TM__Xuc9bgVTDeYXjwnCJIlXSig_396 = addInt((*p).idx, ((NI) 1));
			(*p).idx = (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_396);
		}
		LA37_: ;
		{
			NI T41_;
			NI TM__Xuc9bgVTDeYXjwnCJIlXSig_398;
			if ((NU)((*p).idx) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((*p).idx,((*p).tok ? (*p).tok->Sup.len : 0)-1);
			T41_ = (NI)0;
			T41_ = nsuCmpIgnoreStyle((*p).tok->data[(*p).idx].symbol, ((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_397));
			if (!(T41_ == ((NI) 0))) goto LA42_;
			TM__Xuc9bgVTDeYXjwnCJIlXSig_398 = addInt((*p).idx, ((NI) 1));
			(*p).idx = (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_398);
			expect__AGcCuJNV5AU9aqiZV9c3ZZTQ(p, ((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_145));
			b_2 = untilEol__naJf3qvk6DpdtbboNxHj4g_20(p);
		}
		goto LA39_;
		LA42_: ;
		{
			NI T45_;
			NI TM__Xuc9bgVTDeYXjwnCJIlXSig_400;
			if ((NU)((*p).idx) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((*p).idx,((*p).tok ? (*p).tok->Sup.len : 0)-1);
			T45_ = (NI)0;
			T45_ = nsuCmpIgnoreStyle((*p).tok->data[(*p).idx].symbol, ((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_202));
			if (!(T45_ == ((NI) 0))) goto LA46_;
			TM__Xuc9bgVTDeYXjwnCJIlXSig_400 = addInt((*p).idx, ((NI) 1));
			(*p).idx = (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_400);
			b_2 = dirImage__naJf3qvk6DpdtbboNxHj4g_13(p);
		}
		goto LA39_;
		LA46_: ;
		{
			if ((NU)((*p).idx) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((*p).idx,((*p).tok ? (*p).tok->Sup.len : 0)-1);
			rstMessage__c19bbKpr7iyYsCdieIF8Mxg((&(*p)), ((tyEnum_MsgKind__iviJnHlj9acPYlnNRbd9bhkQ) 5), (*p).tok->data[(*p).idx].symbol);
		}
		LA39_: ;
		T49_ = (NimStringDesc*)0;
		T49_ = addNodes__TOPoj9cIRh7GBTY6PKofpTQ_2(a_2);
		setSub__A5A3t7X4NuSu4llEz8RlOg_2(p, T49_, b_2);
	}
	goto LA1_;
	LA33_: ;
	{
		NIM_BOOL T51_;
		NI TM__Xuc9bgVTDeYXjwnCJIlXSig_405;
		tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* a_3;
		tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* b_3;
		NimStringDesc* T58_;
		T51_ = (NIM_BOOL)0;
		T51_ = match__Q9ccnP9b8RJYaO2u1a0CIzXA((&(*p)), (*p).idx, ((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_404));
		if (!T51_) goto LA52_;
		TM__Xuc9bgVTDeYXjwnCJIlXSig_405 = addInt((*p).idx, ((NI) 2));
		(*p).idx = (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_405);
		a_3 = getReferenceName__k4bKSOox4m3LlVzuJgOtfA(p, ((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_288));
		{
			NI TM__Xuc9bgVTDeYXjwnCJIlXSig_406;
			if ((NU)((*p).idx) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((*p).idx,((*p).tok ? (*p).tok->Sup.len : 0)-1);
			if (!((*p).tok->data[(*p).idx].kind == ((tyEnum_TokType__G7B8aJ8qgyXs01CE89bLriQ) 2))) goto LA56_;
			TM__Xuc9bgVTDeYXjwnCJIlXSig_406 = addInt((*p).idx, ((NI) 1));
			(*p).idx = (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_406);
		}
		LA56_: ;
		b_3 = untilEol__naJf3qvk6DpdtbboNxHj4g_20(p);
		T58_ = (NimStringDesc*)0;
		T58_ = rstnodeToRefname__TOPoj9cIRh7GBTY6PKofpTQ(a_3);
		setRef__A5A3t7X4NuSu4llEz8RlOg(p, T58_, b_3);
	}
	goto LA1_;
	LA52_: ;
	{
		result = parseComment__naJf3qvk6DpdtbboNxHj4g_21(p);
	}
	LA1_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg*, parseEnumList__naJf3qvk6DpdtbboNxHj4g_22)(tyObject_RstParser__DC0I80p3rKpwC6ms59ctfpg* p) {	tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* result;
	NI w;
	result = (tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg*)0;
	result = NIM_NIL;
	w = ((NI) 0);
	{
		while (1) {
			NI TM__Xuc9bgVTDeYXjwnCJIlXSig_411;
			if (!(w <= ((NI) 2))) goto LA2;
			{
				NIM_BOOL T5_;
				if ((NU)(w) > (NU)(2)) raiseIndexError2(w, 2);
				T5_ = (NIM_BOOL)0;
				T5_ = match__Q9ccnP9b8RJYaO2u1a0CIzXA((&(*p)), (*p).idx, wildcards__5kEOJmMIHJwM9bdkjg2VUFA[(w)- 0]);
				if (!T5_) goto LA6_;
				goto LA1;
			}
			LA6_: ;
			TM__Xuc9bgVTDeYXjwnCJIlXSig_411 = addInt(w, ((NI) 1));
			w = (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_411);
		} LA2: ;
	} LA1: ;
	{
		NI col;
		NI TM__Xuc9bgVTDeYXjwnCJIlXSig_412;
		NI TM__Xuc9bgVTDeYXjwnCJIlXSig_413;
		NI j;
		if (!(w <= ((NI) 2))) goto LA10_;
		if ((NU)((*p).idx) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((*p).idx,((*p).tok ? (*p).tok->Sup.len : 0)-1);
		col = (*p).tok->data[(*p).idx].col;
		result = newRstNode__9bXoUUqG5jV9cUn3dHohLAXA(((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 7));
		if ((NU)(w) > (NU)(2)) raiseIndexError2(w, 2);
		TM__Xuc9bgVTDeYXjwnCJIlXSig_412 = addInt(wildpos__RI9ctKY8oNc1o4L2ZEqAzyg[(w)- 0], ((NI) 3));
		TM__Xuc9bgVTDeYXjwnCJIlXSig_413 = addInt((*p).idx, (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_412));
		(*p).idx = (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_413);
		j = tokenAfterNewline__tcf4oZW1YRBHtTR3G00pPw_2((&(*p)));
		{
			NIM_BOOL T14_;
			T14_ = (NIM_BOOL)0;
			if ((NU)(j) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2(j,((*p).tok ? (*p).tok->Sup.len : 0)-1);
			if ((NU)((*p).idx) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((*p).idx,((*p).tok ? (*p).tok->Sup.len : 0)-1);
			T14_ = ((*p).tok->data[j].col == (*p).tok->data[(*p).idx].col);
			if (T14_) goto LA15_;
			if ((NU)(w) > (NU)(2)) raiseIndexError2(w, 2);
			T14_ = match__Q9ccnP9b8RJYaO2u1a0CIzXA((&(*p)), j, wildcards__5kEOJmMIHJwM9bdkjg2VUFA[(w)- 0]);
			LA15_: ;
			if (!T14_) goto LA16_;
			if ((NU)((*p).idx) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((*p).idx,((*p).tok ? (*p).tok->Sup.len : 0)-1);
			pushInd__OJTRnMjFoUXx9bKbnYoP5gQ(p, (*p).tok->data[(*p).idx].col);
			{
				while (1) {
					tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* item;
					item = newRstNode__9bXoUUqG5jV9cUn3dHohLAXA(((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 8));
					parseSection__xq5Qy6SIklyc6cm9byqeKvQ(p, item);
					add__6h6IpXf2O9aeD4hz9aJicc2A(result, item);
					{
						NIM_BOOL T22_;
						NIM_BOOL T23_;
						NI TM__Xuc9bgVTDeYXjwnCJIlXSig_414;
						NI TM__Xuc9bgVTDeYXjwnCJIlXSig_415;
						NI TM__Xuc9bgVTDeYXjwnCJIlXSig_416;
						T22_ = (NIM_BOOL)0;
						T23_ = (NIM_BOOL)0;
						if ((NU)((*p).idx) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((*p).idx,((*p).tok ? (*p).tok->Sup.len : 0)-1);
						T23_ = ((*p).tok->data[(*p).idx].kind == ((tyEnum_TokType__G7B8aJ8qgyXs01CE89bLriQ) 1));
						if (!(T23_)) goto LA24_;
						if ((NU)((*p).idx) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((*p).idx,((*p).tok ? (*p).tok->Sup.len : 0)-1);
						T23_ = ((*p).tok->data[(*p).idx].ival == col);
						LA24_: ;
						T22_ = T23_;
						if (!(T22_)) goto LA25_;
						TM__Xuc9bgVTDeYXjwnCJIlXSig_414 = addInt((*p).idx, ((NI) 1));
						if ((NU)(w) > (NU)(2)) raiseIndexError2(w, 2);
						T22_ = match__Q9ccnP9b8RJYaO2u1a0CIzXA((&(*p)), (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_414), wildcards__5kEOJmMIHJwM9bdkjg2VUFA[(w)- 0]);
						LA25_: ;
						if (!T22_) goto LA26_;
						if ((NU)(w) > (NU)(2)) raiseIndexError2(w, 2);
						TM__Xuc9bgVTDeYXjwnCJIlXSig_415 = addInt(wildpos__RI9ctKY8oNc1o4L2ZEqAzyg[(w)- 0], ((NI) 4));
						TM__Xuc9bgVTDeYXjwnCJIlXSig_416 = addInt((*p).idx, (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_415));
						(*p).idx = (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_416);
					}
					goto LA20_;
					LA26_: ;
					{
						goto LA18;
					}
					LA20_: ;
				}
			} LA18: ;
			popInd__1vyCOXsO3lilS9aF7FMTVkg(p);
		}
		goto LA12_;
		LA16_: ;
		{
			NI TM__Xuc9bgVTDeYXjwnCJIlXSig_417;
			NI TM__Xuc9bgVTDeYXjwnCJIlXSig_418;
			if ((NU)(w) > (NU)(2)) raiseIndexError2(w, 2);
			TM__Xuc9bgVTDeYXjwnCJIlXSig_417 = addInt(wildpos__RI9ctKY8oNc1o4L2ZEqAzyg[(w)- 0], ((NI) 3));
			TM__Xuc9bgVTDeYXjwnCJIlXSig_418 = subInt((*p).idx, (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_417));
			(*p).idx = (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_418);
			result = NIM_NIL;
		}
		LA12_: ;
	}
	LA10_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg*, parseDefinitionList__naJf3qvk6DpdtbboNxHj4g_23)(tyObject_RstParser__DC0I80p3rKpwC6ms59ctfpg* p) {	tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* result;
	NI j;
	NI T1_;
	NI TM__Xuc9bgVTDeYXjwnCJIlXSig_419;
	result = (tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg*)0;
	result = NIM_NIL;
	T1_ = (NI)0;
	T1_ = tokenAfterNewline__tcf4oZW1YRBHtTR3G00pPw_2((&(*p)));
	TM__Xuc9bgVTDeYXjwnCJIlXSig_419 = subInt(T1_, ((NI) 1));
	j = (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_419);
	{
		NIM_BOOL T4_;
		NIM_BOOL T5_;
		NIM_BOOL T6_;
		NI T9_;
		NI TM__Xuc9bgVTDeYXjwnCJIlXSig_420;
		NI col;
		T4_ = (NIM_BOOL)0;
		T5_ = (NIM_BOOL)0;
		T6_ = (NIM_BOOL)0;
		T6_ = (((NI) 1) <= j);
		if (!(T6_)) goto LA7_;
		if ((NU)(j) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2(j,((*p).tok ? (*p).tok->Sup.len : 0)-1);
		T6_ = ((*p).tok->data[j].kind == ((tyEnum_TokType__G7B8aJ8qgyXs01CE89bLriQ) 1));
		LA7_: ;
		T5_ = T6_;
		if (!(T5_)) goto LA8_;
		T9_ = (NI)0;
		T9_ = currInd__tcf4oZW1YRBHtTR3G00pPw((&(*p)));
		if ((NU)(j) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2(j,((*p).tok ? (*p).tok->Sup.len : 0)-1);
		T5_ = (T9_ < (*p).tok->data[j].ival);
		LA8_: ;
		T4_ = T5_;
		if (!(T4_)) goto LA10_;
		TM__Xuc9bgVTDeYXjwnCJIlXSig_420 = subInt(j, ((NI) 1));
		if ((NU)((NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_420)) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_420),((*p).tok ? (*p).tok->Sup.len : 0)-1);
		T4_ = !(eqStrings((*p).tok->data[(NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_420)].symbol, ((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_145)));
		LA10_: ;
		if (!T4_) goto LA11_;
		if ((NU)((*p).idx) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((*p).idx,((*p).tok ? (*p).tok->Sup.len : 0)-1);
		col = (*p).tok->data[(*p).idx].col;
		result = newRstNode__9bXoUUqG5jV9cUn3dHohLAXA(((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 9));
		{
			while (1) {
				tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* a;
				j = (*p).idx;
				a = newRstNode__9bXoUUqG5jV9cUn3dHohLAXA(((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 11));
				parseLine__9cSLkVcmZh9ce659aPmHpnkxQ(p, a);
				{
					NIM_BOOL T17_;
					NIM_BOOL T18_;
					NIM_BOOL T19_;
					NI T21_;
					NI TM__Xuc9bgVTDeYXjwnCJIlXSig_421;
					NI TM__Xuc9bgVTDeYXjwnCJIlXSig_422;
					tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* b;
					tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* c;
					T17_ = (NIM_BOOL)0;
					T18_ = (NIM_BOOL)0;
					T19_ = (NIM_BOOL)0;
					if ((NU)((*p).idx) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((*p).idx,((*p).tok ? (*p).tok->Sup.len : 0)-1);
					T19_ = ((*p).tok->data[(*p).idx].kind == ((tyEnum_TokType__G7B8aJ8qgyXs01CE89bLriQ) 1));
					if (!(T19_)) goto LA20_;
					T21_ = (NI)0;
					T21_ = currInd__tcf4oZW1YRBHtTR3G00pPw((&(*p)));
					if ((NU)((*p).idx) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((*p).idx,((*p).tok ? (*p).tok->Sup.len : 0)-1);
					T19_ = (T21_ < (*p).tok->data[(*p).idx].ival);
					LA20_: ;
					T18_ = T19_;
					if (!(T18_)) goto LA22_;
					TM__Xuc9bgVTDeYXjwnCJIlXSig_421 = addInt((*p).idx, ((NI) 1));
					if ((NU)((NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_421)) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_421),((*p).tok ? (*p).tok->Sup.len : 0)-1);
					T18_ = !(eqStrings((*p).tok->data[(NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_421)].symbol, ((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_145)));
					LA22_: ;
					T17_ = T18_;
					if (!(T17_)) goto LA23_;
					TM__Xuc9bgVTDeYXjwnCJIlXSig_422 = addInt((*p).idx, ((NI) 1));
					if ((NU)((NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_422)) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_422),((*p).tok ? (*p).tok->Sup.len : 0)-1);
					T17_ = !(((3 &(1U<<((NU)((*p).tok->data[(NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_422)].kind)&7U)))!=0));
					LA23_: ;
					if (!T17_) goto LA24_;
					if ((NU)((*p).idx) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((*p).idx,((*p).tok ? (*p).tok->Sup.len : 0)-1);
					pushInd__OJTRnMjFoUXx9bKbnYoP5gQ(p, (*p).tok->data[(*p).idx].ival);
					b = newRstNode__9bXoUUqG5jV9cUn3dHohLAXA(((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 12));
					parseSection__xq5Qy6SIklyc6cm9byqeKvQ(p, b);
					c = newRstNode__9bXoUUqG5jV9cUn3dHohLAXA(((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 10));
					add__6h6IpXf2O9aeD4hz9aJicc2A(c, a);
					add__6h6IpXf2O9aeD4hz9aJicc2A(c, b);
					add__6h6IpXf2O9aeD4hz9aJicc2A(result, c);
					popInd__1vyCOXsO3lilS9aF7FMTVkg(p);
				}
				goto LA15_;
				LA24_: ;
				{
					(*p).idx = j;
					goto LA13;
				}
				LA15_: ;
				{
					NIM_BOOL T29_;
					NI TM__Xuc9bgVTDeYXjwnCJIlXSig_423;
					NI T33_;
					NI TM__Xuc9bgVTDeYXjwnCJIlXSig_424;
					T29_ = (NIM_BOOL)0;
					if ((NU)((*p).idx) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((*p).idx,((*p).tok ? (*p).tok->Sup.len : 0)-1);
					T29_ = ((*p).tok->data[(*p).idx].kind == ((tyEnum_TokType__G7B8aJ8qgyXs01CE89bLriQ) 1));
					if (!(T29_)) goto LA30_;
					if ((NU)((*p).idx) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((*p).idx,((*p).tok ? (*p).tok->Sup.len : 0)-1);
					T29_ = ((*p).tok->data[(*p).idx].ival == col);
					LA30_: ;
					if (!T29_) goto LA31_;
					TM__Xuc9bgVTDeYXjwnCJIlXSig_423 = addInt((*p).idx, ((NI) 1));
					(*p).idx = (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_423);
					T33_ = (NI)0;
					T33_ = tokenAfterNewline__tcf4oZW1YRBHtTR3G00pPw_2((&(*p)));
					TM__Xuc9bgVTDeYXjwnCJIlXSig_424 = subInt(T33_, ((NI) 1));
					j = (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_424);
					{
						NIM_BOOL T36_;
						NIM_BOOL T37_;
						NIM_BOOL T38_;
						NIM_BOOL T39_;
						NI TM__Xuc9bgVTDeYXjwnCJIlXSig_425;
						NI TM__Xuc9bgVTDeYXjwnCJIlXSig_426;
						T36_ = (NIM_BOOL)0;
						T37_ = (NIM_BOOL)0;
						T38_ = (NIM_BOOL)0;
						T39_ = (NIM_BOOL)0;
						T39_ = (((NI) 1) <= j);
						if (!(T39_)) goto LA40_;
						if ((NU)(j) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2(j,((*p).tok ? (*p).tok->Sup.len : 0)-1);
						T39_ = ((*p).tok->data[j].kind == ((tyEnum_TokType__G7B8aJ8qgyXs01CE89bLriQ) 1));
						LA40_: ;
						T38_ = T39_;
						if (!(T38_)) goto LA41_;
						if ((NU)(j) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2(j,((*p).tok ? (*p).tok->Sup.len : 0)-1);
						T38_ = (col < (*p).tok->data[j].ival);
						LA41_: ;
						T37_ = T38_;
						if (!(T37_)) goto LA42_;
						TM__Xuc9bgVTDeYXjwnCJIlXSig_425 = subInt(j, ((NI) 1));
						if ((NU)((NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_425)) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_425),((*p).tok ? (*p).tok->Sup.len : 0)-1);
						T37_ = !(eqStrings((*p).tok->data[(NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_425)].symbol, ((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_145)));
						LA42_: ;
						T36_ = T37_;
						if (!(T36_)) goto LA43_;
						TM__Xuc9bgVTDeYXjwnCJIlXSig_426 = addInt(j, ((NI) 1));
						if ((NU)((NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_426)) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_426),((*p).tok ? (*p).tok->Sup.len : 0)-1);
						T36_ = !(((*p).tok->data[(NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_426)].kind == ((tyEnum_TokType__G7B8aJ8qgyXs01CE89bLriQ) 1)));
						LA43_: ;
						if (!T36_) goto LA44_;
					}
					goto LA34_;
					LA44_: ;
					{
						goto LA13;
					}
					LA34_: ;
				}
				LA31_: ;
			}
		} LA13: ;
		{
			NI T49_;
			T49_ = (NI)0;
			T49_ = len__bM2v46TeKfDIrVkegSIy9ag(result);
			if (!(T49_ == ((NI) 0))) goto LA50_;
			result = NIM_NIL;
		}
		LA50_: ;
	}
	LA11_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg*, parseTransition__naJf3qvk6DpdtbboNxHj4g_24)(tyObject_RstParser__DC0I80p3rKpwC6ms59ctfpg* p) {	tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* result;
	NI TM__Xuc9bgVTDeYXjwnCJIlXSig_428;
	result = (tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg*)0;
	result = newRstNode__9bXoUUqG5jV9cUn3dHohLAXA(((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 3));
	TM__Xuc9bgVTDeYXjwnCJIlXSig_428 = addInt((*p).idx, ((NI) 1));
	(*p).idx = (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_428);
	{
		NI TM__Xuc9bgVTDeYXjwnCJIlXSig_429;
		if ((NU)((*p).idx) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((*p).idx,((*p).tok ? (*p).tok->Sup.len : 0)-1);
		if (!((*p).tok->data[(*p).idx].kind == ((tyEnum_TokType__G7B8aJ8qgyXs01CE89bLriQ) 1))) goto LA3_;
		TM__Xuc9bgVTDeYXjwnCJIlXSig_429 = addInt((*p).idx, ((NI) 1));
		(*p).idx = (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_429);
	}
	LA3_: ;
	{
		NI TM__Xuc9bgVTDeYXjwnCJIlXSig_430;
		if ((NU)((*p).idx) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((*p).idx,((*p).tok ? (*p).tok->Sup.len : 0)-1);
		if (!((*p).tok->data[(*p).idx].kind == ((tyEnum_TokType__G7B8aJ8qgyXs01CE89bLriQ) 1))) goto LA7_;
		TM__Xuc9bgVTDeYXjwnCJIlXSig_430 = addInt((*p).idx, ((NI) 1));
		(*p).idx = (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_430);
	}
	LA7_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, parseUntilNewline__9cSLkVcmZh9ce659aPmHpnkxQ_5)(tyObject_RstParser__DC0I80p3rKpwC6ms59ctfpg* p, tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* father) {	{
		while (1) {
			if ((NU)((*p).idx) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((*p).idx,((*p).tok ? (*p).tok->Sup.len : 0)-1);
			switch ((*p).tok->data[(*p).idx].kind) {
			case ((tyEnum_TokType__G7B8aJ8qgyXs01CE89bLriQ) 2):
			case ((tyEnum_TokType__G7B8aJ8qgyXs01CE89bLriQ) 3):
			case ((tyEnum_TokType__G7B8aJ8qgyXs01CE89bLriQ) 4):
			case ((tyEnum_TokType__G7B8aJ8qgyXs01CE89bLriQ) 6):
			case ((tyEnum_TokType__G7B8aJ8qgyXs01CE89bLriQ) 5):
			{
				parseInline__9cSLkVcmZh9ce659aPmHpnkxQ_2(p, father);
			}
			break;
			case ((tyEnum_TokType__G7B8aJ8qgyXs01CE89bLriQ) 0):
			case ((tyEnum_TokType__G7B8aJ8qgyXs01CE89bLriQ) 1):
			{
				goto LA1;
			}
			break;
			}
		}
	} LA1: ;
}
N_LIB_PRIVATE N_NIMCALL(NI, getLevel__hXA1SEJAWNnHEivDLHzbyQ)(NI* map, NI* lvl, NIM_CHAR c) {	NI result;
	result = (NI)0;
	{
		NI TM__Xuc9bgVTDeYXjwnCJIlXSig_439;
		if (!(map[(((NU8)(c)))- 0] == ((NI) 0))) goto LA3_;
		TM__Xuc9bgVTDeYXjwnCJIlXSig_439 = addInt((*lvl), ((NI) 1));
		(*lvl) = (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_439);
		map[(((NU8)(c)))- 0] = (*lvl);
	}
	LA3_: ;
	result = map[(((NU8)(c)))- 0];
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg*, parseHeadline__naJf3qvk6DpdtbboNxHj4g_25)(tyObject_RstParser__DC0I80p3rKpwC6ms59ctfpg* p) {	tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* result;
	result = (tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg*)0;
	result = newRstNode__9bXoUUqG5jV9cUn3dHohLAXA(((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 1));
	{
		NIM_BOOL T3_;
		NI TM__Xuc9bgVTDeYXjwnCJIlXSig_433;
		T3_ = (NIM_BOOL)0;
		T3_ = isMarkdownHeadline__jHte2LzNlDQDnBSkgZB4YA((&(*p)));
		if (!T3_) goto LA4_;
		if ((NU)((*p).idx) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((*p).idx,((*p).tok ? (*p).tok->Sup.len : 0)-1);
		(*result).level = ((*p).tok->data[(*p).idx].symbol ? (*p).tok->data[(*p).idx].symbol->Sup.len : 0);
		{
			NI TM__Xuc9bgVTDeYXjwnCJIlXSig_431;
			TM__Xuc9bgVTDeYXjwnCJIlXSig_431 = addInt((*p).idx, ((NI) 1));
			if ((NU)((NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_431)) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_431),((*p).tok ? (*p).tok->Sup.len : 0)-1);
			if (!!(((*p).tok->data[(NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_431)].kind == ((tyEnum_TokType__G7B8aJ8qgyXs01CE89bLriQ) 2)))) goto LA8_;
			failedAssertImpl__W9cjVocn1tjhW7p7xohJj6A(((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_432));
		}
		LA8_: ;
		TM__Xuc9bgVTDeYXjwnCJIlXSig_433 = addInt((*p).idx, ((NI) 2));
		(*p).idx = (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_433);
		parseUntilNewline__9cSLkVcmZh9ce659aPmHpnkxQ_5(p, result);
	}
	goto LA1_;
	LA4_: ;
	{
		NIM_CHAR c;
		NI TM__Xuc9bgVTDeYXjwnCJIlXSig_437;
		NI TM__Xuc9bgVTDeYXjwnCJIlXSig_438;
		parseUntilNewline__9cSLkVcmZh9ce659aPmHpnkxQ_5(p, result);
		{
			if ((NU)((*p).idx) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((*p).idx,((*p).tok ? (*p).tok->Sup.len : 0)-1);
			if (!!(((*p).tok->data[(*p).idx].kind == ((tyEnum_TokType__G7B8aJ8qgyXs01CE89bLriQ) 1)))) goto LA13_;
			failedAssertImpl__W9cjVocn1tjhW7p7xohJj6A(((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_434));
		}
		LA13_: ;
		{
			NI TM__Xuc9bgVTDeYXjwnCJIlXSig_435;
			TM__Xuc9bgVTDeYXjwnCJIlXSig_435 = addInt((*p).idx, ((NI) 1));
			if ((NU)((NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_435)) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_435),((*p).tok ? (*p).tok->Sup.len : 0)-1);
			if (!!(((*p).tok->data[(NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_435)].kind == ((tyEnum_TokType__G7B8aJ8qgyXs01CE89bLriQ) 4)))) goto LA17_;
			failedAssertImpl__W9cjVocn1tjhW7p7xohJj6A(((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_436));
		}
		LA17_: ;
		TM__Xuc9bgVTDeYXjwnCJIlXSig_437 = addInt((*p).idx, ((NI) 1));
		if ((NU)((NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_437)) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_437),((*p).tok ? (*p).tok->Sup.len : 0)-1);
		if ((NU)(((NI) 0)) >= (NU)((*p).tok->data[(NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_437)].symbol ? (*p).tok->data[(NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_437)].symbol->Sup.len : 0)) raiseIndexError2(((NI) 0),((*p).tok->data[(NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_437)].symbol ? (*p).tok->data[(NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_437)].symbol->Sup.len : 0)-1);
		c = (*p).tok->data[(NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_437)].symbol->data[((NI) 0)];
		TM__Xuc9bgVTDeYXjwnCJIlXSig_438 = addInt((*p).idx, ((NI) 2));
		(*p).idx = (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_438);
		(*result).level = getLevel__hXA1SEJAWNnHEivDLHzbyQ((*(*p).s).underlineToLevel, (&(*(*p).s).uLevel), c);
	}
	LA1_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg*, parseOverline__naJf3qvk6DpdtbboNxHj4g_26)(tyObject_RstParser__DC0I80p3rKpwC6ms59ctfpg* p) {	tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* result;
	NIM_CHAR c;
	NI TM__Xuc9bgVTDeYXjwnCJIlXSig_440;
	result = (tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg*)0;
	if ((NU)((*p).idx) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((*p).idx,((*p).tok ? (*p).tok->Sup.len : 0)-1);
	if ((NU)(((NI) 0)) >= (NU)((*p).tok->data[(*p).idx].symbol ? (*p).tok->data[(*p).idx].symbol->Sup.len : 0)) raiseIndexError2(((NI) 0),((*p).tok->data[(*p).idx].symbol ? (*p).tok->data[(*p).idx].symbol->Sup.len : 0)-1);
	c = (*p).tok->data[(*p).idx].symbol->data[((NI) 0)];
	TM__Xuc9bgVTDeYXjwnCJIlXSig_440 = addInt((*p).idx, ((NI) 2));
	(*p).idx = (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_440);
	result = newRstNode__9bXoUUqG5jV9cUn3dHohLAXA(((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 2));
	{
		while (1) {
			parseUntilNewline__9cSLkVcmZh9ce659aPmHpnkxQ_5(p, result);
			{
				NI TM__Xuc9bgVTDeYXjwnCJIlXSig_441;
				if ((NU)((*p).idx) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((*p).idx,((*p).tok ? (*p).tok->Sup.len : 0)-1);
				if (!((*p).tok->data[(*p).idx].kind == ((tyEnum_TokType__G7B8aJ8qgyXs01CE89bLriQ) 1))) goto LA5_;
				TM__Xuc9bgVTDeYXjwnCJIlXSig_441 = addInt((*p).idx, ((NI) 1));
				(*p).idx = (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_441);
				{
					NI T9_;
					NI TM__Xuc9bgVTDeYXjwnCJIlXSig_442;
					tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* T12_;
					T9_ = (NI)0;
					T9_ = currInd__tcf4oZW1YRBHtTR3G00pPw((&(*p)));
					TM__Xuc9bgVTDeYXjwnCJIlXSig_442 = subInt((*p).idx, ((NI) 1));
					if ((NU)((NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_442)) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_442),((*p).tok ? (*p).tok->Sup.len : 0)-1);
					if (!(T9_ < (*p).tok->data[(NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_442)].ival)) goto LA10_;
					T12_ = (tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg*)0;
					T12_ = newRstNode__1jaf6GW9cTGFKmVxMM1pg9aA(((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 64), ((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_235));
					add__6h6IpXf2O9aeD4hz9aJicc2A(result, T12_);
				}
				goto LA7_;
				LA10_: ;
				{
					goto LA1;
				}
				LA7_: ;
			}
			goto LA3_;
			LA5_: ;
			{
				goto LA1;
			}
			LA3_: ;
		}
	} LA1: ;
	(*result).level = getLevel__hXA1SEJAWNnHEivDLHzbyQ((*(*p).s).overlineToLevel, (&(*(*p).s).oLevel), c);
	{
		NI TM__Xuc9bgVTDeYXjwnCJIlXSig_443;
		if ((NU)((*p).idx) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((*p).idx,((*p).tok ? (*p).tok->Sup.len : 0)-1);
		if (!((*p).tok->data[(*p).idx].kind == ((tyEnum_TokType__G7B8aJ8qgyXs01CE89bLriQ) 4))) goto LA17_;
		TM__Xuc9bgVTDeYXjwnCJIlXSig_443 = addInt((*p).idx, ((NI) 1));
		(*p).idx = (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_443);
		{
			NI TM__Xuc9bgVTDeYXjwnCJIlXSig_444;
			if ((NU)((*p).idx) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((*p).idx,((*p).tok ? (*p).tok->Sup.len : 0)-1);
			if (!((*p).tok->data[(*p).idx].kind == ((tyEnum_TokType__G7B8aJ8qgyXs01CE89bLriQ) 1))) goto LA21_;
			TM__Xuc9bgVTDeYXjwnCJIlXSig_444 = addInt((*p).idx, ((NI) 1));
			(*p).idx = (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_444);
		}
		LA21_: ;
	}
	LA17_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NI, tokEnd__tcf4oZW1YRBHtTR3G00pPw_3)(tyObject_RstParser__DC0I80p3rKpwC6ms59ctfpg* p) {	NI result;
	NI TM__Xuc9bgVTDeYXjwnCJIlXSig_447;
	NI TM__Xuc9bgVTDeYXjwnCJIlXSig_448;
	result = (NI)0;
	if ((NU)((*p).idx) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((*p).idx,((*p).tok ? (*p).tok->Sup.len : 0)-1);
	if ((NU)((*p).idx) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((*p).idx,((*p).tok ? (*p).tok->Sup.len : 0)-1);
	TM__Xuc9bgVTDeYXjwnCJIlXSig_447 = addInt((*p).tok->data[(*p).idx].col, ((*p).tok->data[(*p).idx].symbol ? (*p).tok->data[(*p).idx].symbol->Sup.len : 0));
	TM__Xuc9bgVTDeYXjwnCJIlXSig_448 = subInt((NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_447), ((NI) 1));
	result = (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_448);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, getColumns__encVDE2plzF0MXDIxli3xw)(tyObject_RstParser__DC0I80p3rKpwC6ms59ctfpg* p, tySequence__qwqHTkRvwhrRyENtudHQ7g** cols) {	NI L;
	NI TM__Xuc9bgVTDeYXjwnCJIlXSig_453;
	L = ((NI) 0);
	{
		while (1) {
			NI TM__Xuc9bgVTDeYXjwnCJIlXSig_445;
			NI TM__Xuc9bgVTDeYXjwnCJIlXSig_446;
			NI TM__Xuc9bgVTDeYXjwnCJIlXSig_450;
			NI TM__Xuc9bgVTDeYXjwnCJIlXSig_451;
			TM__Xuc9bgVTDeYXjwnCJIlXSig_445 = addInt(L, ((NI) 1));
			L = (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_445);
			unsureAsgnRef((void**) (&(*cols)), (tySequence__qwqHTkRvwhrRyENtudHQ7g*) setLengthSeqV2(&((*cols))->Sup, (&NTI__qwqHTkRvwhrRyENtudHQ7g_), ((NI)chckRange(L, ((NI) 0), ((NI) 2147483647)))));
			TM__Xuc9bgVTDeYXjwnCJIlXSig_446 = subInt(L, ((NI) 1));
			if ((NU)((NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_446)) >= (NU)((*cols) ? (*cols)->Sup.len : 0)) raiseIndexError2((NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_446),((*cols) ? (*cols)->Sup.len : 0)-1);
			(*cols)->data[(NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_446)] = tokEnd__tcf4oZW1YRBHtTR3G00pPw_3((&(*p)));
			{
				if ((NU)((*p).idx) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((*p).idx,((*p).tok ? (*p).tok->Sup.len : 0)-1);
				if (!!(((*p).tok->data[(*p).idx].kind == ((tyEnum_TokType__G7B8aJ8qgyXs01CE89bLriQ) 4)))) goto LA5_;
				failedAssertImpl__W9cjVocn1tjhW7p7xohJj6A(((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_449));
			}
			LA5_: ;
			TM__Xuc9bgVTDeYXjwnCJIlXSig_450 = addInt((*p).idx, ((NI) 1));
			(*p).idx = (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_450);
			{
				if ((NU)((*p).idx) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((*p).idx,((*p).tok ? (*p).tok->Sup.len : 0)-1);
				if (!!(((*p).tok->data[(*p).idx].kind == ((tyEnum_TokType__G7B8aJ8qgyXs01CE89bLriQ) 2)))) goto LA9_;
				goto LA1;
			}
			LA9_: ;
			TM__Xuc9bgVTDeYXjwnCJIlXSig_451 = addInt((*p).idx, ((NI) 1));
			(*p).idx = (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_451);
			{
				if ((NU)((*p).idx) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((*p).idx,((*p).tok ? (*p).tok->Sup.len : 0)-1);
				if (!!(((*p).tok->data[(*p).idx].kind == ((tyEnum_TokType__G7B8aJ8qgyXs01CE89bLriQ) 4)))) goto LA13_;
				goto LA1;
			}
			LA13_: ;
		}
	} LA1: ;
	{
		NI TM__Xuc9bgVTDeYXjwnCJIlXSig_452;
		if ((NU)((*p).idx) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((*p).idx,((*p).tok ? (*p).tok->Sup.len : 0)-1);
		if (!((*p).tok->data[(*p).idx].kind == ((tyEnum_TokType__G7B8aJ8qgyXs01CE89bLriQ) 1))) goto LA17_;
		TM__Xuc9bgVTDeYXjwnCJIlXSig_452 = addInt((*p).idx, ((NI) 1));
		(*p).idx = (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_452);
	}
	LA17_: ;
	TM__Xuc9bgVTDeYXjwnCJIlXSig_453 = subInt(L, ((NI) 1));
	if ((NU)((NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_453)) >= (NU)((*cols) ? (*cols)->Sup.len : 0)) raiseIndexError2((NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_453),((*cols) ? (*cols)->Sup.len : 0)-1);
	(*cols)->data[(NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_453)] = ((NI) 32000);
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg*, parseSimpleTable__naJf3qvk6DpdtbboNxHj4g_27)(tyObject_RstParser__DC0I80p3rKpwC6ms59ctfpg* p) {	tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* result;
	tySequence__qwqHTkRvwhrRyENtudHQ7g* cols;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ* row;
	NI i;
	NI last;
	NI line;
	NIM_CHAR c;
	tyObject_RstParser__DC0I80p3rKpwC6ms59ctfpg q;
	tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* a;
	tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* b;
	result = (tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg*)0;
	cols = (tySequence__qwqHTkRvwhrRyENtudHQ7g*)0;
	row = (tySequence__sM4lkSb7zS6F7OVMvW9cffQ*)0;
	i = (NI)0;
	last = (NI)0;
	line = (NI)0;
	c = (NIM_CHAR)0;
	nimZeroMem((void*)(&q), sizeof(tyObject_RstParser__DC0I80p3rKpwC6ms59ctfpg));
	q.Sup.m_type = (&NTI__DC0I80p3rKpwC6ms59ctfpg_);
	a = (tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg*)0;
	b = (tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg*)0;
	result = newRstNode__9bXoUUqG5jV9cUn3dHohLAXA(((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 29));
	cols = NIM_NIL;
	row = NIM_NIL;
	a = NIM_NIL;
	if ((NU)((*p).idx) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((*p).idx,((*p).tok ? (*p).tok->Sup.len : 0)-1);
	if ((NU)(((NI) 0)) >= (NU)((*p).tok->data[(*p).idx].symbol ? (*p).tok->data[(*p).idx].symbol->Sup.len : 0)) raiseIndexError2(((NI) 0),((*p).tok->data[(*p).idx].symbol ? (*p).tok->data[(*p).idx].symbol->Sup.len : 0)-1);
	c = (*p).tok->data[(*p).idx].symbol->data[((NI) 0)];
	{
		while (1) {
			{
				NI T11_;
				if ((NU)((*p).idx) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((*p).idx,((*p).tok ? (*p).tok->Sup.len : 0)-1);
				if (!((*p).tok->data[(*p).idx].kind == ((tyEnum_TokType__G7B8aJ8qgyXs01CE89bLriQ) 4))) goto LA5_;
				last = tokenAfterNewline__tcf4oZW1YRBHtTR3G00pPw_2((&(*p)));
				{
					if ((NU)(last) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2(last,((*p).tok ? (*p).tok->Sup.len : 0)-1);
					if (!((3 &(1U<<((NU)((*p).tok->data[last].kind)&7U)))!=0)) goto LA9_;
					(*p).idx = last;
					goto LA1;
				}
				LA9_: ;
				getColumns__encVDE2plzF0MXDIxli3xw(p, (&cols));
				T11_ = (cols ? cols->Sup.len : 0);
				row = (tySequence__sM4lkSb7zS6F7OVMvW9cffQ*) setLengthSeqV2(&(row)->Sup, (&NTI__sM4lkSb7zS6F7OVMvW9cffQ_), ((NI)chckRange(T11_, ((NI) 0), ((NI) 2147483647))));
				{
					if (!!((a == NIM_NIL))) goto LA14_;
					{
						NI j;
						NI colontmp_;
						NI T17_;
						NI TM__Xuc9bgVTDeYXjwnCJIlXSig_454;
						NI res;
						j = (NI)0;
						colontmp_ = (NI)0;
						T17_ = (NI)0;
						T17_ = len__bM2v46TeKfDIrVkegSIy9ag(a);
						TM__Xuc9bgVTDeYXjwnCJIlXSig_454 = subInt(T17_, ((NI) 1));
						colontmp_ = (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_454);
						res = ((NI) 0);
						{
							while (1) {
								NI TM__Xuc9bgVTDeYXjwnCJIlXSig_455;
								if (!(res <= colontmp_)) goto LA19;
								j = res;
								if ((NU)(j) >= (NU)((*a).sons ? (*a).sons->Sup.len : 0)) raiseIndexError2(j,((*a).sons ? (*a).sons->Sup.len : 0)-1);
								(*(*a).sons->data[j]).kind = ((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 32);
								TM__Xuc9bgVTDeYXjwnCJIlXSig_455 = addInt(res, ((NI) 1));
								res = (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_455);
							} LA19: ;
						}
					}
				}
				LA14_: ;
			}
			LA5_: ;
			{
				if ((NU)((*p).idx) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((*p).idx,((*p).tok ? (*p).tok->Sup.len : 0)-1);
				if (!((*p).tok->data[(*p).idx].kind == ((tyEnum_TokType__G7B8aJ8qgyXs01CE89bLriQ) 0))) goto LA22_;
				goto LA1;
			}
			LA22_: ;
			{
				NI j_2;
				NI colontmp__2;
				NI T25_;
				NI res_2;
				j_2 = (NI)0;
				colontmp__2 = (NI)0;
				T25_ = ((row ? row->Sup.len : 0)-1);
				colontmp__2 = T25_;
				res_2 = ((NI) 0);
				{
					while (1) {
						NI TM__Xuc9bgVTDeYXjwnCJIlXSig_456;
						if (!(res_2 <= colontmp__2)) goto LA27;
						j_2 = res_2;
						if ((NU)(j_2) >= (NU)(row ? row->Sup.len : 0)) raiseIndexError2(j_2,(row ? row->Sup.len : 0)-1);
						asgnRef((void**) (&row->data[j_2]), ((NimStringDesc*) NIM_NIL));
						TM__Xuc9bgVTDeYXjwnCJIlXSig_456 = addInt(res_2, ((NI) 1));
						res_2 = (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_456);
					} LA27: ;
				}
			}
			if ((NU)((*p).idx) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((*p).idx,((*p).tok ? (*p).tok->Sup.len : 0)-1);
			line = (*p).tok->data[(*p).idx].line;
			{
				while (1) {
					i = ((NI) 0);
					{
						while (1) {
							if ((NU)((*p).idx) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((*p).idx,((*p).tok ? (*p).tok->Sup.len : 0)-1);
							if (!!(((3 &(1U<<((NU)((*p).tok->data[(*p).idx].kind)&7U)))!=0))) goto LA31;
							{
								NI T34_;
								NI TM__Xuc9bgVTDeYXjwnCJIlXSig_457;
								T34_ = (NI)0;
								T34_ = tokEnd__tcf4oZW1YRBHtTR3G00pPw_3((&(*p)));
								if ((NU)(i) >= (NU)(cols ? cols->Sup.len : 0)) raiseIndexError2(i,(cols ? cols->Sup.len : 0)-1);
								if (!(T34_ <= cols->data[i])) goto LA35_;
								if ((NU)(i) >= (NU)(row ? row->Sup.len : 0)) raiseIndexError2(i,(row ? row->Sup.len : 0)-1);
								if ((NU)((*p).idx) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((*p).idx,((*p).tok ? (*p).tok->Sup.len : 0)-1);
								asgnRef((void**) (&row->data[i]), resizeString(row->data[i], ((*p).tok->data[(*p).idx].symbol ? (*p).tok->data[(*p).idx].symbol->Sup.len : 0) + 0));
appendString(row->data[i], (*p).tok->data[(*p).idx].symbol);
								TM__Xuc9bgVTDeYXjwnCJIlXSig_457 = addInt((*p).idx, ((NI) 1));
								(*p).idx = (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_457);
							}
							goto LA32_;
							LA35_: ;
							{
								NI TM__Xuc9bgVTDeYXjwnCJIlXSig_459;
								{
									NI TM__Xuc9bgVTDeYXjwnCJIlXSig_458;
									if ((NU)((*p).idx) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((*p).idx,((*p).tok ? (*p).tok->Sup.len : 0)-1);
									if (!((*p).tok->data[(*p).idx].kind == ((tyEnum_TokType__G7B8aJ8qgyXs01CE89bLriQ) 2))) goto LA40_;
									TM__Xuc9bgVTDeYXjwnCJIlXSig_458 = addInt((*p).idx, ((NI) 1));
									(*p).idx = (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_458);
								}
								LA40_: ;
								TM__Xuc9bgVTDeYXjwnCJIlXSig_459 = addInt(i, ((NI) 1));
								i = (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_459);
							}
							LA32_: ;
						} LA31: ;
					}
					{
						NI TM__Xuc9bgVTDeYXjwnCJIlXSig_460;
						if ((NU)((*p).idx) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((*p).idx,((*p).tok ? (*p).tok->Sup.len : 0)-1);
						if (!((*p).tok->data[(*p).idx].kind == ((tyEnum_TokType__G7B8aJ8qgyXs01CE89bLriQ) 1))) goto LA44_;
						TM__Xuc9bgVTDeYXjwnCJIlXSig_460 = addInt((*p).idx, ((NI) 1));
						(*p).idx = (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_460);
					}
					LA44_: ;
					{
						NI T48_;
						T48_ = (NI)0;
						T48_ = tokEnd__tcf4oZW1YRBHtTR3G00pPw_3((&(*p)));
						if ((NU)(((NI) 0)) >= (NU)(cols ? cols->Sup.len : 0)) raiseIndexError2(((NI) 0),(cols ? cols->Sup.len : 0)-1);
						if (!(T48_ <= cols->data[((NI) 0)])) goto LA49_;
						goto LA28;
					}
					LA49_: ;
					{
						if ((NU)((*p).idx) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((*p).idx,((*p).tok ? (*p).tok->Sup.len : 0)-1);
						if (!((17 &(1U<<((NU)((*p).tok->data[(*p).idx].kind)&7U)))!=0)) goto LA53_;
						goto LA28;
					}
					LA53_: ;
					{
						NI j_3;
						NI colontmp__3;
						NI T56_;
						NI res_3;
						j_3 = (NI)0;
						colontmp__3 = (NI)0;
						T56_ = ((row ? row->Sup.len : 0)-1);
						colontmp__3 = T56_;
						res_3 = ((NI) 1);
						{
							while (1) {
								NI TM__Xuc9bgVTDeYXjwnCJIlXSig_461;
								if (!(res_3 <= colontmp__3)) goto LA58;
								j_3 = res_3;
								if ((NU)(j_3) >= (NU)(row ? row->Sup.len : 0)) raiseIndexError2(j_3,(row ? row->Sup.len : 0)-1);
								asgnRef((void**) (&row->data[j_3]), addChar(row->data[j_3], 10));
								TM__Xuc9bgVTDeYXjwnCJIlXSig_461 = addInt(res_3, ((NI) 1));
								res_3 = (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_461);
							} LA58: ;
						}
					}
				}
			} LA28: ;
			a = newRstNode__9bXoUUqG5jV9cUn3dHohLAXA(((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 31));
			{
				NI j_4;
				NI colontmp__4;
				NI T60_;
				NI res_4;
				j_4 = (NI)0;
				colontmp__4 = (NI)0;
				T60_ = ((row ? row->Sup.len : 0)-1);
				colontmp__4 = T60_;
				res_4 = ((NI) 0);
				{
					while (1) {
						NI TM__Xuc9bgVTDeYXjwnCJIlXSig_462;
						NI T63_;
						NI TM__Xuc9bgVTDeYXjwnCJIlXSig_463;
						tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* T64_;
						NI TM__Xuc9bgVTDeYXjwnCJIlXSig_464;
						if (!(res_4 <= colontmp__4)) goto LA62;
						j_4 = res_4;
						initParser__60yTSW8tTLkfUx9baGF9bUvg((&q), (*p).s);
						if ((NU)(j_4) >= (NU)(cols ? cols->Sup.len : 0)) raiseIndexError2(j_4,(cols ? cols->Sup.len : 0)-1);
						q.col = cols->data[j_4];
						TM__Xuc9bgVTDeYXjwnCJIlXSig_462 = subInt(line, ((NI) 1));
						q.line = (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_462);
						q.filename = copyString((*p).filename);
						if ((NU)(j_4) >= (NU)(row ? row->Sup.len : 0)) raiseIndexError2(j_4,(row ? row->Sup.len : 0)-1);
						T63_ = (NI)0;
						T63_ = getTokens__K7eh9bCXoxI4E3XwxyPK3JA(row->data[j_4], NIM_FALSE, (&q.tok));
						TM__Xuc9bgVTDeYXjwnCJIlXSig_463 = addInt(q.col, T63_);
						q.col = (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_463);
						b = newRstNode__9bXoUUqG5jV9cUn3dHohLAXA(((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 33));
						T64_ = (tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg*)0;
						T64_ = parseDoc__naJf3qvk6DpdtbboNxHj4g((&q));
						add__6h6IpXf2O9aeD4hz9aJicc2A(b, T64_);
						add__6h6IpXf2O9aeD4hz9aJicc2A(a, b);
						TM__Xuc9bgVTDeYXjwnCJIlXSig_464 = addInt(res_4, ((NI) 1));
						res_4 = (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_464);
					} LA62: ;
				}
			}
			add__6h6IpXf2O9aeD4hz9aJicc2A(result, a);
		}
	} LA1: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg*, parseOptionList__naJf3qvk6DpdtbboNxHj4g_28)(tyObject_RstParser__DC0I80p3rKpwC6ms59ctfpg* p) {	tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* result;
	result = (tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg*)0;
	result = newRstNode__9bXoUUqG5jV9cUn3dHohLAXA(((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 17));
	{
		while (1) {
			{
				NIM_BOOL T5_;
				tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* a;
				tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* b;
				tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* c;
				NI j;
				T5_ = (NIM_BOOL)0;
				T5_ = isOptionList__jHte2LzNlDQDnBSkgZB4YA_5((&(*p)));
				if (!T5_) goto LA6_;
				a = newRstNode__9bXoUUqG5jV9cUn3dHohLAXA(((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 19));
				b = newRstNode__9bXoUUqG5jV9cUn3dHohLAXA(((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 23));
				c = newRstNode__9bXoUUqG5jV9cUn3dHohLAXA(((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 18));
				{
					NIM_BOOL T10_;
					NI TM__Xuc9bgVTDeYXjwnCJIlXSig_465;
					T10_ = (NIM_BOOL)0;
					T10_ = match__Q9ccnP9b8RJYaO2u1a0CIzXA((&(*p)), (*p).idx, ((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_165));
					if (!T10_) goto LA11_;
					TM__Xuc9bgVTDeYXjwnCJIlXSig_465 = addInt((*p).idx, ((NI) 1));
					(*p).idx = (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_465);
				}
				LA11_: ;
				{
					while (1) {
						tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* T21_;
						NI TM__Xuc9bgVTDeYXjwnCJIlXSig_467;
						if ((NU)((*p).idx) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((*p).idx,((*p).tok ? (*p).tok->Sup.len : 0)-1);
						if (!!(((3 &(1U<<((NU)((*p).tok->data[(*p).idx].kind)&7U)))!=0))) goto LA14;
						{
							NIM_BOOL T17_;
							NI TM__Xuc9bgVTDeYXjwnCJIlXSig_466;
							T17_ = (NIM_BOOL)0;
							if ((NU)((*p).idx) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((*p).idx,((*p).tok ? (*p).tok->Sup.len : 0)-1);
							T17_ = ((*p).tok->data[(*p).idx].kind == ((tyEnum_TokType__G7B8aJ8qgyXs01CE89bLriQ) 2));
							if (!(T17_)) goto LA18_;
							if ((NU)((*p).idx) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((*p).idx,((*p).tok ? (*p).tok->Sup.len : 0)-1);
							T17_ = (((NI) 1) < ((*p).tok->data[(*p).idx].symbol ? (*p).tok->data[(*p).idx].symbol->Sup.len : 0));
							LA18_: ;
							if (!T17_) goto LA19_;
							TM__Xuc9bgVTDeYXjwnCJIlXSig_466 = addInt((*p).idx, ((NI) 1));
							(*p).idx = (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_466);
							goto LA13;
						}
						LA19_: ;
						T21_ = (tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg*)0;
						T21_ = newLeaf__naJf3qvk6DpdtbboNxHj4g_8(p);
						add__6h6IpXf2O9aeD4hz9aJicc2A(a, T21_);
						TM__Xuc9bgVTDeYXjwnCJIlXSig_467 = addInt((*p).idx, ((NI) 1));
						(*p).idx = (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_467);
					} LA14: ;
				} LA13: ;
				j = tokenAfterNewline__tcf4oZW1YRBHtTR3G00pPw_2((&(*p)));
				{
					NIM_BOOL T24_;
					NIM_BOOL T25_;
					NI TM__Xuc9bgVTDeYXjwnCJIlXSig_468;
					NI T28_;
					NI TM__Xuc9bgVTDeYXjwnCJIlXSig_469;
					NI TM__Xuc9bgVTDeYXjwnCJIlXSig_470;
					T24_ = (NIM_BOOL)0;
					T25_ = (NIM_BOOL)0;
					T25_ = (((NI) 0) < j);
					if (!(T25_)) goto LA26_;
					TM__Xuc9bgVTDeYXjwnCJIlXSig_468 = subInt(j, ((NI) 1));
					if ((NU)((NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_468)) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_468),((*p).tok ? (*p).tok->Sup.len : 0)-1);
					T25_ = ((*p).tok->data[(NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_468)].kind == ((tyEnum_TokType__G7B8aJ8qgyXs01CE89bLriQ) 1));
					LA26_: ;
					T24_ = T25_;
					if (!(T24_)) goto LA27_;
					T28_ = (NI)0;
					T28_ = currInd__tcf4oZW1YRBHtTR3G00pPw((&(*p)));
					TM__Xuc9bgVTDeYXjwnCJIlXSig_469 = subInt(j, ((NI) 1));
					if ((NU)((NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_469)) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_469),((*p).tok ? (*p).tok->Sup.len : 0)-1);
					T24_ = (T28_ < (*p).tok->data[(NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_469)].ival);
					LA27_: ;
					if (!T24_) goto LA29_;
					TM__Xuc9bgVTDeYXjwnCJIlXSig_470 = subInt(j, ((NI) 1));
					if ((NU)((NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_470)) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_470),((*p).tok ? (*p).tok->Sup.len : 0)-1);
					pushInd__OJTRnMjFoUXx9bKbnYoP5gQ(p, (*p).tok->data[(NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_470)].ival);
					parseSection__xq5Qy6SIklyc6cm9byqeKvQ(p, b);
					popInd__1vyCOXsO3lilS9aF7FMTVkg(p);
				}
				goto LA22_;
				LA29_: ;
				{
					parseLine__9cSLkVcmZh9ce659aPmHpnkxQ(p, b);
				}
				LA22_: ;
				{
					NI TM__Xuc9bgVTDeYXjwnCJIlXSig_471;
					if ((NU)((*p).idx) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((*p).idx,((*p).tok ? (*p).tok->Sup.len : 0)-1);
					if (!((*p).tok->data[(*p).idx].kind == ((tyEnum_TokType__G7B8aJ8qgyXs01CE89bLriQ) 1))) goto LA34_;
					TM__Xuc9bgVTDeYXjwnCJIlXSig_471 = addInt((*p).idx, ((NI) 1));
					(*p).idx = (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_471);
				}
				LA34_: ;
				add__6h6IpXf2O9aeD4hz9aJicc2A(c, a);
				add__6h6IpXf2O9aeD4hz9aJicc2A(c, b);
				add__6h6IpXf2O9aeD4hz9aJicc2A(result, c);
			}
			goto LA3_;
			LA6_: ;
			{
				goto LA1;
			}
			LA3_: ;
		}
	} LA1: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, parseParagraph__xq5Qy6SIklyc6cm9byqeKvQ_2)(tyObject_RstParser__DC0I80p3rKpwC6ms59ctfpg* p, tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* result) {	{
		while (1) {
			if ((NU)((*p).idx) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((*p).idx,((*p).tok ? (*p).tok->Sup.len : 0)-1);
			switch ((*p).tok->data[(*p).idx].kind) {
			case ((tyEnum_TokType__G7B8aJ8qgyXs01CE89bLriQ) 1):
			{
				{
					NI TM__Xuc9bgVTDeYXjwnCJIlXSig_472;
					NI TM__Xuc9bgVTDeYXjwnCJIlXSig_473;
					TM__Xuc9bgVTDeYXjwnCJIlXSig_472 = addInt((*p).idx, ((NI) 1));
					if ((NU)((NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_472)) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_472),((*p).tok ? (*p).tok->Sup.len : 0)-1);
					if (!((*p).tok->data[(NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_472)].kind == ((tyEnum_TokType__G7B8aJ8qgyXs01CE89bLriQ) 1))) goto LA6_;
					TM__Xuc9bgVTDeYXjwnCJIlXSig_473 = addInt((*p).idx, ((NI) 1));
					(*p).idx = (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_473);
					goto LA1;
				}
				goto LA4_;
				LA6_: ;
				{
					NI T9_;
					NI TM__Xuc9bgVTDeYXjwnCJIlXSig_474;
					tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg T12_;
					if ((NU)((*p).idx) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((*p).idx,((*p).tok ? (*p).tok->Sup.len : 0)-1);
					T9_ = (NI)0;
					T9_ = currInd__tcf4oZW1YRBHtTR3G00pPw((&(*p)));
					if (!((*p).tok->data[(*p).idx].ival == T9_)) goto LA10_;
					TM__Xuc9bgVTDeYXjwnCJIlXSig_474 = addInt((*p).idx, ((NI) 1));
					(*p).idx = (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_474);
					T12_ = (tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg)0;
					T12_ = whichSection__25bSQY3FK8PXJnPsugsm5Q((&(*p)));
					switch (T12_) {
					case ((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 4):
					case ((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 64):
					case ((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 1):
					case ((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 2):
					case ((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 40):
					{
						tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* T14_;
						T14_ = (tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg*)0;
						T14_ = newRstNode__1jaf6GW9cTGFKmVxMM1pg9aA(((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 64), ((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_235));
						add__6h6IpXf2O9aeD4hz9aJicc2A(result, T14_);
					}
					break;
					case ((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 26):
					{
						tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* T16_;
						T16_ = (tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg*)0;
						T16_ = parseLineBlock__naJf3qvk6DpdtbboNxHj4g_5(p);
						addIfNotNil__6h6IpXf2O9aeD4hz9aJicc2A_2(result, T16_);
					}
					break;
					default:
					{
						goto LA1;
					}
					break;
					}
				}
				goto LA4_;
				LA10_: ;
				{
					goto LA1;
				}
				LA4_: ;
			}
			break;
			case ((tyEnum_TokType__G7B8aJ8qgyXs01CE89bLriQ) 5):
			{
				{
					NIM_BOOL T22_;
					NIM_BOOL T23_;
					NI TM__Xuc9bgVTDeYXjwnCJIlXSig_475;
					NI T26_;
					NI TM__Xuc9bgVTDeYXjwnCJIlXSig_476;
					tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* T29_;
					NI TM__Xuc9bgVTDeYXjwnCJIlXSig_477;
					tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* T30_;
					T22_ = (NIM_BOOL)0;
					T23_ = (NIM_BOOL)0;
					if ((NU)((*p).idx) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((*p).idx,((*p).tok ? (*p).tok->Sup.len : 0)-1);
					T23_ = eqStrings((*p).tok->data[(*p).idx].symbol, ((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_145));
					if (!(T23_)) goto LA24_;
					TM__Xuc9bgVTDeYXjwnCJIlXSig_475 = addInt((*p).idx, ((NI) 1));
					if ((NU)((NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_475)) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_475),((*p).tok ? (*p).tok->Sup.len : 0)-1);
					T23_ = ((*p).tok->data[(NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_475)].kind == ((tyEnum_TokType__G7B8aJ8qgyXs01CE89bLriQ) 1));
					LA24_: ;
					T22_ = T23_;
					if (!(T22_)) goto LA25_;
					T26_ = (NI)0;
					T26_ = currInd__tcf4oZW1YRBHtTR3G00pPw((&(*p)));
					TM__Xuc9bgVTDeYXjwnCJIlXSig_476 = addInt((*p).idx, ((NI) 1));
					if ((NU)((NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_476)) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_476),((*p).tok ? (*p).tok->Sup.len : 0)-1);
					T22_ = (T26_ < (*p).tok->data[(NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_476)].ival);
					LA25_: ;
					if (!T22_) goto LA27_;
					T29_ = (tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg*)0;
					T29_ = newRstNode__1jaf6GW9cTGFKmVxMM1pg9aA(((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 64), ((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_358));
					add__6h6IpXf2O9aeD4hz9aJicc2A(result, T29_);
					TM__Xuc9bgVTDeYXjwnCJIlXSig_477 = addInt((*p).idx, ((NI) 1));
					(*p).idx = (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_477);
					T30_ = (tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg*)0;
					T30_ = parseLiteralBlock__naJf3qvk6DpdtbboNxHj4g_3(p);
					add__6h6IpXf2O9aeD4hz9aJicc2A(result, T30_);
					goto LA1;
				}
				goto LA20_;
				LA27_: ;
				{
					parseInline__9cSLkVcmZh9ce659aPmHpnkxQ_2(p, result);
				}
				LA20_: ;
			}
			break;
			case ((tyEnum_TokType__G7B8aJ8qgyXs01CE89bLriQ) 2):
			case ((tyEnum_TokType__G7B8aJ8qgyXs01CE89bLriQ) 3):
			case ((tyEnum_TokType__G7B8aJ8qgyXs01CE89bLriQ) 4):
			case ((tyEnum_TokType__G7B8aJ8qgyXs01CE89bLriQ) 6):
			{
				parseInline__9cSLkVcmZh9ce659aPmHpnkxQ_2(p, result);
			}
			break;
			default:
			{
				goto LA1;
			}
			break;
			}
		}
	} LA1: ;
}
N_LIB_PRIVATE N_NIMCALL(tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg, sonKind__gSb3Gyf77c4HbEkOGhpXdw)(tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* father, NI i) {	tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg result;
	result = (tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg)0;
	result = ((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 64);
	{
		NI T3_;
		T3_ = (NI)0;
		T3_ = len__bM2v46TeKfDIrVkegSIy9ag(father);
		if (!(i < T3_)) goto LA4_;
		if ((NU)(i) >= (NU)((*father).sons ? (*father).sons->Sup.len : 0)) raiseIndexError2(i,((*father).sons ? (*father).sons->Sup.len : 0)-1);
		result = (*(*father).sons->data[i]).kind;
	}
	LA4_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, parseSection__xq5Qy6SIklyc6cm9byqeKvQ)(tyObject_RstParser__DC0I80p3rKpwC6ms59ctfpg* p, tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* result) {	{
		while (1) {
			NIM_BOOL leave;
			tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* a_2;
			tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg k;
			leave = NIM_FALSE;
			{
				if (!!((((NI) 0) <= (*p).idx))) goto LA5_;
				failedAssertImpl__W9cjVocn1tjhW7p7xohJj6A(((NimStringDesc*) &TM__Xuc9bgVTDeYXjwnCJIlXSig_121));
			}
			LA5_: ;
			{
				while (1) {
					if ((NU)((*p).idx) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((*p).idx,((*p).tok ? (*p).tok->Sup.len : 0)-1);
					if (!((*p).tok->data[(*p).idx].kind == ((tyEnum_TokType__G7B8aJ8qgyXs01CE89bLriQ) 1))) goto LA8;
					{
						NI T11_;
						NI TM__Xuc9bgVTDeYXjwnCJIlXSig_122;
						T11_ = (NI)0;
						T11_ = currInd__tcf4oZW1YRBHtTR3G00pPw((&(*p)));
						if ((NU)((*p).idx) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((*p).idx,((*p).tok ? (*p).tok->Sup.len : 0)-1);
						if (!(T11_ == (*p).tok->data[(*p).idx].ival)) goto LA12_;
						TM__Xuc9bgVTDeYXjwnCJIlXSig_122 = addInt((*p).idx, ((NI) 1));
						(*p).idx = (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_122);
					}
					goto LA9_;
					LA12_: ;
					{
						NI T15_;
						tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* a;
						T15_ = (NI)0;
						T15_ = currInd__tcf4oZW1YRBHtTR3G00pPw((&(*p)));
						if ((NU)((*p).idx) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((*p).idx,((*p).tok ? (*p).tok->Sup.len : 0)-1);
						if (!(T15_ < (*p).tok->data[(*p).idx].ival)) goto LA16_;
						if ((NU)((*p).idx) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((*p).idx,((*p).tok ? (*p).tok->Sup.len : 0)-1);
						pushInd__OJTRnMjFoUXx9bKbnYoP5gQ(p, (*p).tok->data[(*p).idx].ival);
						a = newRstNode__9bXoUUqG5jV9cUn3dHohLAXA(((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 28));
						parseSection__xq5Qy6SIklyc6cm9byqeKvQ(p, a);
						add__6h6IpXf2O9aeD4hz9aJicc2A(result, a);
						popInd__1vyCOXsO3lilS9aF7FMTVkg(p);
					}
					goto LA9_;
					LA16_: ;
					{
						leave = NIM_TRUE;
						goto LA7;
					}
					LA9_: ;
				} LA8: ;
			} LA7: ;
			{
				NIM_BOOL T21_;
				T21_ = (NIM_BOOL)0;
				T21_ = leave;
				if (T21_) goto LA22_;
				if ((NU)((*p).idx) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((*p).idx,((*p).tok ? (*p).tok->Sup.len : 0)-1);
				T21_ = ((*p).tok->data[(*p).idx].kind == ((tyEnum_TokType__G7B8aJ8qgyXs01CE89bLriQ) 0));
				LA22_: ;
				if (!T21_) goto LA23_;
				goto LA1;
			}
			LA23_: ;
			a_2 = NIM_NIL;
			k = whichSection__25bSQY3FK8PXJnPsugsm5Q((&(*p)));
			switch (k) {
			case ((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 24):
			{
				NI TM__Xuc9bgVTDeYXjwnCJIlXSig_167;
				TM__Xuc9bgVTDeYXjwnCJIlXSig_167 = addInt((*p).idx, ((NI) 1));
				(*p).idx = (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_167);
				a_2 = parseLiteralBlock__naJf3qvk6DpdtbboNxHj4g_3(p);
			}
			break;
			case ((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 5):
			{
				a_2 = parseBulletList__naJf3qvk6DpdtbboNxHj4g_4(p);
			}
			break;
			case ((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 26):
			{
				a_2 = parseLineBlock__naJf3qvk6DpdtbboNxHj4g_5(p);
			}
			break;
			case ((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 40):
			{
				a_2 = parseDotDot__naJf3qvk6DpdtbboNxHj4g_6(p);
			}
			break;
			case ((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 7):
			{
				a_2 = parseEnumList__naJf3qvk6DpdtbboNxHj4g_22(p);
			}
			break;
			case ((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 64):
			{
				rstMessage__0sSAGv1qn9bem9cIV0hyKwzQ((&(*p)), ((tyEnum_MsgKind__iviJnHlj9acPYlnNRbd9bhkQ) 3));
			}
			break;
			case ((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 4):
			{
			}
			break;
			case ((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 9):
			{
				a_2 = parseDefinitionList__naJf3qvk6DpdtbboNxHj4g_23(p);
			}
			break;
			case ((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 13):
			{
				{
					NI TM__Xuc9bgVTDeYXjwnCJIlXSig_427;
					if (!(((NI) 0) < (*p).idx)) goto LA36_;
					TM__Xuc9bgVTDeYXjwnCJIlXSig_427 = subInt((*p).idx, ((NI) 1));
					(*p).idx = (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_427);
				}
				LA36_: ;
				a_2 = parseFields__naJf3qvk6DpdtbboNxHj4g_11(p);
			}
			break;
			case ((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 3):
			{
				a_2 = parseTransition__naJf3qvk6DpdtbboNxHj4g_24(p);
			}
			break;
			case ((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 1):
			{
				a_2 = parseHeadline__naJf3qvk6DpdtbboNxHj4g_25(p);
			}
			break;
			case ((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 2):
			{
				a_2 = parseOverline__naJf3qvk6DpdtbboNxHj4g_26(p);
			}
			break;
			case ((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 29):
			{
				a_2 = parseSimpleTable__naJf3qvk6DpdtbboNxHj4g_27(p);
			}
			break;
			case ((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 17):
			{
				a_2 = parseOptionList__naJf3qvk6DpdtbboNxHj4g_28(p);
			}
			break;
			default:
			{
			}
			break;
			}
			{
				NIM_BOOL T46_;
				T46_ = (NIM_BOOL)0;
				T46_ = (a_2 == NIM_NIL);
				if (!(T46_)) goto LA47_;
				T46_ = !((k == ((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 40)));
				LA47_: ;
				if (!T46_) goto LA48_;
				a_2 = newRstNode__9bXoUUqG5jV9cUn3dHohLAXA(((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 4));
				parseParagraph__xq5Qy6SIklyc6cm9byqeKvQ_2(p, a_2);
			}
			LA48_: ;
			addIfNotNil__6h6IpXf2O9aeD4hz9aJicc2A_2(result, a_2);
		}
	} LA1: ;
	{
		NIM_BOOL T52_;
		tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg T53_;
		tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg T55_;
		T52_ = (NIM_BOOL)0;
		T53_ = (tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg)0;
		T53_ = sonKind__gSb3Gyf77c4HbEkOGhpXdw(result, ((NI) 0));
		T52_ = (T53_ == ((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 4));
		if (!(T52_)) goto LA54_;
		T55_ = (tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg)0;
		T55_ = sonKind__gSb3Gyf77c4HbEkOGhpXdw(result, ((NI) 1));
		T52_ = !((T55_ == ((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 4)));
		LA54_: ;
		if (!T52_) goto LA56_;
		if ((NU)(((NI) 0)) >= (NU)((*result).sons ? (*result).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*result).sons ? (*result).sons->Sup.len : 0)-1);
		(*(*result).sons->data[((NI) 0)]).kind = ((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 0);
	}
	LA56_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg*, parseSectionWrapper__naJf3qvk6DpdtbboNxHj4g_2)(tyObject_RstParser__DC0I80p3rKpwC6ms59ctfpg* p) {	tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* result;
	result = (tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg*)0;
	result = newRstNode__9bXoUUqG5jV9cUn3dHohLAXA(((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 0));
	parseSection__xq5Qy6SIklyc6cm9byqeKvQ(p, result);
	{
		while (1) {
			NIM_BOOL T3_;
			NI T5_;
			T3_ = (NIM_BOOL)0;
			T3_ = ((*result).kind == ((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 0));
			if (!(T3_)) goto LA4_;
			T5_ = (NI)0;
			T5_ = len__bM2v46TeKfDIrVkegSIy9ag(result);
			T3_ = (T5_ == ((NI) 1));
			LA4_: ;
			if (!T3_) goto LA2;
			if ((NU)(((NI) 0)) >= (NU)((*result).sons ? (*result).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*result).sons ? (*result).sons->Sup.len : 0)-1);
			result = (*result).sons->data[((NI) 0)];
		} LA2: ;
	}
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg*, parseDoc__naJf3qvk6DpdtbboNxHj4g)(tyObject_RstParser__DC0I80p3rKpwC6ms59ctfpg* p) {	tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* result;
	result = (tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg*)0;
	result = parseSectionWrapper__naJf3qvk6DpdtbboNxHj4g_2(p);
	{
		if ((NU)((*p).idx) >= (NU)((*p).tok ? (*p).tok->Sup.len : 0)) raiseIndexError2((*p).idx,((*p).tok ? (*p).tok->Sup.len : 0)-1);
		if (!!(((*p).tok->data[(*p).idx].kind == ((tyEnum_TokType__G7B8aJ8qgyXs01CE89bLriQ) 0)))) goto LA3_;
		rstMessage__0sSAGv1qn9bem9cIV0hyKwzQ((&(*p)), ((tyEnum_MsgKind__iviJnHlj9acPYlnNRbd9bhkQ) 4));
	}
	LA3_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg*, rstParse__PR9aZp38SP2QYTt9bJrB8ROw)(NimStringDesc* text, NimStringDesc* filename, NI line, NI column, NIM_BOOL* hasToc, tySet_tyEnum_RstParseOption__fiZmsylYkyh6nEciRZcPsw options, tyProc__lRW9cfxqfm1ql4gkxfLReYg findFile, tyProc__r4CIWZzpiVlkxuVaaDT8Lw msgHandler) {	tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* result;
	tyObject_RstParser__DC0I80p3rKpwC6ms59ctfpg p;
	tyObject_SharedState__Nr0J1e0ojmHBVIgRtvSZjw* T1_;
	NI T2_;
	NI TM__Xuc9bgVTDeYXjwnCJIlXSig_112;
	tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* T3_;
	result = (tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg*)0;
	nimZeroMem((void*)(&p), sizeof(tyObject_RstParser__DC0I80p3rKpwC6ms59ctfpg));
	p.Sup.m_type = (&NTI__DC0I80p3rKpwC6ms59ctfpg_);
	T1_ = (tyObject_SharedState__Nr0J1e0ojmHBVIgRtvSZjw*)0;
	T1_ = newSharedState__IX1LB2vXgn4xRCAwU9bB0ZA(options, findFile, msgHandler);
	initParser__60yTSW8tTLkfUx9baGF9bUvg((&p), T1_);
	p.filename = copyString(filename);
	p.line = line;
	T2_ = (NI)0;
	T2_ = getTokens__K7eh9bCXoxI4E3XwxyPK3JA(text, ((options &(1U<<((NU)(((tyEnum_RstParseOption__fiZmsylYkyh6nEciRZcPsw) 0))&7U)))!=0), (&p.tok));
	TM__Xuc9bgVTDeYXjwnCJIlXSig_112 = addInt(column, T2_);
	p.col = (NI)(TM__Xuc9bgVTDeYXjwnCJIlXSig_112);
	T3_ = (tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg*)0;
	T3_ = parseDoc__naJf3qvk6DpdtbboNxHj4g((&p));
	result = resolveSubs__BGO9adR5pD6YAUwvBbhm9beg((&p), T3_);
	(*hasToc) = p.hasToc;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, docutils_rstDatInit000)(void) {
static TNimNode* TM__Xuc9bgVTDeYXjwnCJIlXSig_2_4[4];
NI TM__Xuc9bgVTDeYXjwnCJIlXSig_4;
static char* NIM_CONST TM__Xuc9bgVTDeYXjwnCJIlXSig_3[4] = {
"roSkipPounds", 
"roSupportSmilies", 
"roSupportRawDirective", 
"roSupportMarkdown"};
static TNimNode* TM__Xuc9bgVTDeYXjwnCJIlXSig_5_2[2];
static TNimNode* TM__Xuc9bgVTDeYXjwnCJIlXSig_6_2[2];
static TNimNode* TM__Xuc9bgVTDeYXjwnCJIlXSig_42_8[8];
static TNimNode* TM__Xuc9bgVTDeYXjwnCJIlXSig_43_5[5];
static TNimNode* TM__Xuc9bgVTDeYXjwnCJIlXSig_44_7[7];
NI TM__Xuc9bgVTDeYXjwnCJIlXSig_46;
static char* NIM_CONST TM__Xuc9bgVTDeYXjwnCJIlXSig_45[7] = {
"tkEof", 
"tkIndent", 
"tkWhite", 
"tkWord", 
"tkAdornment", 
"tkPunct", 
"tkOther"};
static TNimNode* TM__Xuc9bgVTDeYXjwnCJIlXSig_47_9[9];
static TNimNode* TM__Xuc9bgVTDeYXjwnCJIlXSig_48_2[2];
static TNimNode* TM__Xuc9bgVTDeYXjwnCJIlXSig_51_10[10];
NI TM__Xuc9bgVTDeYXjwnCJIlXSig_53;
static char* NIM_CONST TM__Xuc9bgVTDeYXjwnCJIlXSig_52[10] = {
"meCannotOpenFile", 
"meExpected", 
"meGridTableNotImplemented", 
"meNewSectionExpected", 
"meGeneralParseError", 
"meInvalidDirective", 
"mwRedefinitionOfLabel", 
"mwUnknownSubstitution", 
"mwUnsupportedLanguage", 
"mwUnsupportedField"};
static TNimNode* TM__Xuc9bgVTDeYXjwnCJIlXSig_66_3[3];
NI TM__Xuc9bgVTDeYXjwnCJIlXSig_68;
static char* NIM_CONST TM__Xuc9bgVTDeYXjwnCJIlXSig_67[3] = {
"Hint", 
"Warning", 
"Error"};
static TNimNode* TM__Xuc9bgVTDeYXjwnCJIlXSig_73_6[6];
static TNimNode TM__Xuc9bgVTDeYXjwnCJIlXSig_0[71];
NTI__fiZmsylYkyh6nEciRZcPsw_.size = sizeof(tyEnum_RstParseOption__fiZmsylYkyh6nEciRZcPsw);
NTI__fiZmsylYkyh6nEciRZcPsw_.kind = 14;
NTI__fiZmsylYkyh6nEciRZcPsw_.base = 0;
NTI__fiZmsylYkyh6nEciRZcPsw_.flags = 3;
for (TM__Xuc9bgVTDeYXjwnCJIlXSig_4 = 0; TM__Xuc9bgVTDeYXjwnCJIlXSig_4 < 4; TM__Xuc9bgVTDeYXjwnCJIlXSig_4++) {
TM__Xuc9bgVTDeYXjwnCJIlXSig_0[TM__Xuc9bgVTDeYXjwnCJIlXSig_4+0].kind = 1;
TM__Xuc9bgVTDeYXjwnCJIlXSig_0[TM__Xuc9bgVTDeYXjwnCJIlXSig_4+0].offset = TM__Xuc9bgVTDeYXjwnCJIlXSig_4;
TM__Xuc9bgVTDeYXjwnCJIlXSig_0[TM__Xuc9bgVTDeYXjwnCJIlXSig_4+0].name = TM__Xuc9bgVTDeYXjwnCJIlXSig_3[TM__Xuc9bgVTDeYXjwnCJIlXSig_4];
TM__Xuc9bgVTDeYXjwnCJIlXSig_2_4[TM__Xuc9bgVTDeYXjwnCJIlXSig_4] = &TM__Xuc9bgVTDeYXjwnCJIlXSig_0[TM__Xuc9bgVTDeYXjwnCJIlXSig_4+0];
}
TM__Xuc9bgVTDeYXjwnCJIlXSig_0[4].len = 4; TM__Xuc9bgVTDeYXjwnCJIlXSig_0[4].kind = 2; TM__Xuc9bgVTDeYXjwnCJIlXSig_0[4].sons = &TM__Xuc9bgVTDeYXjwnCJIlXSig_2_4[0];
NTI__fiZmsylYkyh6nEciRZcPsw_.node = &TM__Xuc9bgVTDeYXjwnCJIlXSig_0[4];
NTI__triPNwGxgWAG1ULojVLJPA_.size = sizeof(tySet_tyEnum_RstParseOption__fiZmsylYkyh6nEciRZcPsw);
NTI__triPNwGxgWAG1ULojVLJPA_.kind = 19;
NTI__triPNwGxgWAG1ULojVLJPA_.base = (&NTI__fiZmsylYkyh6nEciRZcPsw_);
NTI__triPNwGxgWAG1ULojVLJPA_.flags = 3;
TM__Xuc9bgVTDeYXjwnCJIlXSig_0[5].len = 0; TM__Xuc9bgVTDeYXjwnCJIlXSig_0[5].kind = 0;
NTI__triPNwGxgWAG1ULojVLJPA_.node = &TM__Xuc9bgVTDeYXjwnCJIlXSig_0[5];
NTI__lRW9cfxqfm1ql4gkxfLReYg_.size = sizeof(tyTuple__JfHvHzMrhKkWAUvQKe0i1A);
NTI__lRW9cfxqfm1ql4gkxfLReYg_.kind = 18;
NTI__lRW9cfxqfm1ql4gkxfLReYg_.base = 0;
TM__Xuc9bgVTDeYXjwnCJIlXSig_5_2[0] = &TM__Xuc9bgVTDeYXjwnCJIlXSig_0[7];
TM__Xuc9bgVTDeYXjwnCJIlXSig_0[7].kind = 1;
TM__Xuc9bgVTDeYXjwnCJIlXSig_0[7].offset = offsetof(tyTuple__JfHvHzMrhKkWAUvQKe0i1A, Field0);
TM__Xuc9bgVTDeYXjwnCJIlXSig_0[7].typ = (&NTI__vr5DoT1jILTGdRlYv1OYpw_);
TM__Xuc9bgVTDeYXjwnCJIlXSig_0[7].name = "Field0";
TM__Xuc9bgVTDeYXjwnCJIlXSig_5_2[1] = &TM__Xuc9bgVTDeYXjwnCJIlXSig_0[8];
TM__Xuc9bgVTDeYXjwnCJIlXSig_0[8].kind = 1;
TM__Xuc9bgVTDeYXjwnCJIlXSig_0[8].offset = offsetof(tyTuple__JfHvHzMrhKkWAUvQKe0i1A, Field1);
TM__Xuc9bgVTDeYXjwnCJIlXSig_0[8].typ = (&NTI__HsJiUUcO9cHBdUCi0HwkSTA_);
TM__Xuc9bgVTDeYXjwnCJIlXSig_0[8].name = "Field1";
TM__Xuc9bgVTDeYXjwnCJIlXSig_0[6].len = 2; TM__Xuc9bgVTDeYXjwnCJIlXSig_0[6].kind = 2; TM__Xuc9bgVTDeYXjwnCJIlXSig_0[6].sons = &TM__Xuc9bgVTDeYXjwnCJIlXSig_5_2[0];
NTI__lRW9cfxqfm1ql4gkxfLReYg_.node = &TM__Xuc9bgVTDeYXjwnCJIlXSig_0[6];
NTI__r4CIWZzpiVlkxuVaaDT8Lw_.size = sizeof(tyTuple__JfHvHzMrhKkWAUvQKe0i1A);
NTI__r4CIWZzpiVlkxuVaaDT8Lw_.kind = 18;
NTI__r4CIWZzpiVlkxuVaaDT8Lw_.base = 0;
TM__Xuc9bgVTDeYXjwnCJIlXSig_6_2[0] = &TM__Xuc9bgVTDeYXjwnCJIlXSig_0[10];
TM__Xuc9bgVTDeYXjwnCJIlXSig_0[10].kind = 1;
TM__Xuc9bgVTDeYXjwnCJIlXSig_0[10].offset = offsetof(tyTuple__JfHvHzMrhKkWAUvQKe0i1A, Field0);
TM__Xuc9bgVTDeYXjwnCJIlXSig_0[10].typ = (&NTI__vr5DoT1jILTGdRlYv1OYpw_);
TM__Xuc9bgVTDeYXjwnCJIlXSig_0[10].name = "Field0";
TM__Xuc9bgVTDeYXjwnCJIlXSig_6_2[1] = &TM__Xuc9bgVTDeYXjwnCJIlXSig_0[11];
TM__Xuc9bgVTDeYXjwnCJIlXSig_0[11].kind = 1;
TM__Xuc9bgVTDeYXjwnCJIlXSig_0[11].offset = offsetof(tyTuple__JfHvHzMrhKkWAUvQKe0i1A, Field1);
TM__Xuc9bgVTDeYXjwnCJIlXSig_0[11].typ = (&NTI__HsJiUUcO9cHBdUCi0HwkSTA_);
TM__Xuc9bgVTDeYXjwnCJIlXSig_0[11].name = "Field1";
TM__Xuc9bgVTDeYXjwnCJIlXSig_0[9].len = 2; TM__Xuc9bgVTDeYXjwnCJIlXSig_0[9].kind = 2; TM__Xuc9bgVTDeYXjwnCJIlXSig_0[9].sons = &TM__Xuc9bgVTDeYXjwnCJIlXSig_6_2[0];
NTI__r4CIWZzpiVlkxuVaaDT8Lw_.node = &TM__Xuc9bgVTDeYXjwnCJIlXSig_0[9];
NTI__DC0I80p3rKpwC6ms59ctfpg_.size = sizeof(tyObject_RstParser__DC0I80p3rKpwC6ms59ctfpg);
NTI__DC0I80p3rKpwC6ms59ctfpg_.kind = 17;
NTI__DC0I80p3rKpwC6ms59ctfpg_.base = (&NTI__ytyiCJqK439aF9cIibuRVpAg_);
TM__Xuc9bgVTDeYXjwnCJIlXSig_42_8[0] = &TM__Xuc9bgVTDeYXjwnCJIlXSig_0[13];
TM__Xuc9bgVTDeYXjwnCJIlXSig_0[13].kind = 1;
TM__Xuc9bgVTDeYXjwnCJIlXSig_0[13].offset = offsetof(tyObject_RstParser__DC0I80p3rKpwC6ms59ctfpg, idx);
TM__Xuc9bgVTDeYXjwnCJIlXSig_0[13].typ = (&NTI__rR5Bzr1D5krxoo1NcNyeMA_);
TM__Xuc9bgVTDeYXjwnCJIlXSig_0[13].name = "idx";
TM__Xuc9bgVTDeYXjwnCJIlXSig_42_8[1] = &TM__Xuc9bgVTDeYXjwnCJIlXSig_0[14];
NTI__9cnCC036DOlVv9c9aESuaQcBw_.size = sizeof(tyObject_Token__9cnCC036DOlVv9c9aESuaQcBw);
NTI__9cnCC036DOlVv9c9aESuaQcBw_.kind = 18;
NTI__9cnCC036DOlVv9c9aESuaQcBw_.base = 0;
NTI__9cnCC036DOlVv9c9aESuaQcBw_.flags = 2;
TM__Xuc9bgVTDeYXjwnCJIlXSig_43_5[0] = &TM__Xuc9bgVTDeYXjwnCJIlXSig_0[16];
NTI__G7B8aJ8qgyXs01CE89bLriQ_.size = sizeof(tyEnum_TokType__G7B8aJ8qgyXs01CE89bLriQ);
NTI__G7B8aJ8qgyXs01CE89bLriQ_.kind = 14;
NTI__G7B8aJ8qgyXs01CE89bLriQ_.base = 0;
NTI__G7B8aJ8qgyXs01CE89bLriQ_.flags = 3;
for (TM__Xuc9bgVTDeYXjwnCJIlXSig_46 = 0; TM__Xuc9bgVTDeYXjwnCJIlXSig_46 < 7; TM__Xuc9bgVTDeYXjwnCJIlXSig_46++) {
TM__Xuc9bgVTDeYXjwnCJIlXSig_0[TM__Xuc9bgVTDeYXjwnCJIlXSig_46+17].kind = 1;
TM__Xuc9bgVTDeYXjwnCJIlXSig_0[TM__Xuc9bgVTDeYXjwnCJIlXSig_46+17].offset = TM__Xuc9bgVTDeYXjwnCJIlXSig_46;
TM__Xuc9bgVTDeYXjwnCJIlXSig_0[TM__Xuc9bgVTDeYXjwnCJIlXSig_46+17].name = TM__Xuc9bgVTDeYXjwnCJIlXSig_45[TM__Xuc9bgVTDeYXjwnCJIlXSig_46];
TM__Xuc9bgVTDeYXjwnCJIlXSig_44_7[TM__Xuc9bgVTDeYXjwnCJIlXSig_46] = &TM__Xuc9bgVTDeYXjwnCJIlXSig_0[TM__Xuc9bgVTDeYXjwnCJIlXSig_46+17];
}
TM__Xuc9bgVTDeYXjwnCJIlXSig_0[24].len = 7; TM__Xuc9bgVTDeYXjwnCJIlXSig_0[24].kind = 2; TM__Xuc9bgVTDeYXjwnCJIlXSig_0[24].sons = &TM__Xuc9bgVTDeYXjwnCJIlXSig_44_7[0];
NTI__G7B8aJ8qgyXs01CE89bLriQ_.node = &TM__Xuc9bgVTDeYXjwnCJIlXSig_0[24];
TM__Xuc9bgVTDeYXjwnCJIlXSig_0[16].kind = 1;
TM__Xuc9bgVTDeYXjwnCJIlXSig_0[16].offset = offsetof(tyObject_Token__9cnCC036DOlVv9c9aESuaQcBw, kind);
TM__Xuc9bgVTDeYXjwnCJIlXSig_0[16].typ = (&NTI__G7B8aJ8qgyXs01CE89bLriQ_);
TM__Xuc9bgVTDeYXjwnCJIlXSig_0[16].name = "kind";
TM__Xuc9bgVTDeYXjwnCJIlXSig_43_5[1] = &TM__Xuc9bgVTDeYXjwnCJIlXSig_0[25];
TM__Xuc9bgVTDeYXjwnCJIlXSig_0[25].kind = 1;
TM__Xuc9bgVTDeYXjwnCJIlXSig_0[25].offset = offsetof(tyObject_Token__9cnCC036DOlVv9c9aESuaQcBw, ival);
TM__Xuc9bgVTDeYXjwnCJIlXSig_0[25].typ = (&NTI__rR5Bzr1D5krxoo1NcNyeMA_);
TM__Xuc9bgVTDeYXjwnCJIlXSig_0[25].name = "ival";
TM__Xuc9bgVTDeYXjwnCJIlXSig_43_5[2] = &TM__Xuc9bgVTDeYXjwnCJIlXSig_0[26];
TM__Xuc9bgVTDeYXjwnCJIlXSig_0[26].kind = 1;
TM__Xuc9bgVTDeYXjwnCJIlXSig_0[26].offset = offsetof(tyObject_Token__9cnCC036DOlVv9c9aESuaQcBw, symbol);
TM__Xuc9bgVTDeYXjwnCJIlXSig_0[26].typ = (&NTI__77mFvmsOLKik79ci2hXkHEg_);
TM__Xuc9bgVTDeYXjwnCJIlXSig_0[26].name = "symbol";
TM__Xuc9bgVTDeYXjwnCJIlXSig_43_5[3] = &TM__Xuc9bgVTDeYXjwnCJIlXSig_0[27];
TM__Xuc9bgVTDeYXjwnCJIlXSig_0[27].kind = 1;
TM__Xuc9bgVTDeYXjwnCJIlXSig_0[27].offset = offsetof(tyObject_Token__9cnCC036DOlVv9c9aESuaQcBw, line);
TM__Xuc9bgVTDeYXjwnCJIlXSig_0[27].typ = (&NTI__rR5Bzr1D5krxoo1NcNyeMA_);
TM__Xuc9bgVTDeYXjwnCJIlXSig_0[27].name = "line";
TM__Xuc9bgVTDeYXjwnCJIlXSig_43_5[4] = &TM__Xuc9bgVTDeYXjwnCJIlXSig_0[28];
TM__Xuc9bgVTDeYXjwnCJIlXSig_0[28].kind = 1;
TM__Xuc9bgVTDeYXjwnCJIlXSig_0[28].offset = offsetof(tyObject_Token__9cnCC036DOlVv9c9aESuaQcBw, col);
TM__Xuc9bgVTDeYXjwnCJIlXSig_0[28].typ = (&NTI__rR5Bzr1D5krxoo1NcNyeMA_);
TM__Xuc9bgVTDeYXjwnCJIlXSig_0[28].name = "col";
TM__Xuc9bgVTDeYXjwnCJIlXSig_0[15].len = 5; TM__Xuc9bgVTDeYXjwnCJIlXSig_0[15].kind = 2; TM__Xuc9bgVTDeYXjwnCJIlXSig_0[15].sons = &TM__Xuc9bgVTDeYXjwnCJIlXSig_43_5[0];
NTI__9cnCC036DOlVv9c9aESuaQcBw_.node = &TM__Xuc9bgVTDeYXjwnCJIlXSig_0[15];
NTI__P8hOR7sdW9cxlcQApQ4kJNA_.size = sizeof(tySequence__P8hOR7sdW9cxlcQApQ4kJNA*);
NTI__P8hOR7sdW9cxlcQApQ4kJNA_.kind = 24;
NTI__P8hOR7sdW9cxlcQApQ4kJNA_.base = (&NTI__9cnCC036DOlVv9c9aESuaQcBw_);
NTI__P8hOR7sdW9cxlcQApQ4kJNA_.flags = 2;
NTI__P8hOR7sdW9cxlcQApQ4kJNA_.marker = Marker_tySequence__P8hOR7sdW9cxlcQApQ4kJNA;
TM__Xuc9bgVTDeYXjwnCJIlXSig_0[14].kind = 1;
TM__Xuc9bgVTDeYXjwnCJIlXSig_0[14].offset = offsetof(tyObject_RstParser__DC0I80p3rKpwC6ms59ctfpg, tok);
TM__Xuc9bgVTDeYXjwnCJIlXSig_0[14].typ = (&NTI__P8hOR7sdW9cxlcQApQ4kJNA_);
TM__Xuc9bgVTDeYXjwnCJIlXSig_0[14].name = "tok";
TM__Xuc9bgVTDeYXjwnCJIlXSig_42_8[2] = &TM__Xuc9bgVTDeYXjwnCJIlXSig_0[29];
NTI__Nr0J1e0ojmHBVIgRtvSZjw_.size = sizeof(tyObject_SharedState__Nr0J1e0ojmHBVIgRtvSZjw);
NTI__Nr0J1e0ojmHBVIgRtvSZjw_.kind = 18;
NTI__Nr0J1e0ojmHBVIgRtvSZjw_.base = 0;
TM__Xuc9bgVTDeYXjwnCJIlXSig_47_9[0] = &TM__Xuc9bgVTDeYXjwnCJIlXSig_0[31];
TM__Xuc9bgVTDeYXjwnCJIlXSig_0[31].kind = 1;
TM__Xuc9bgVTDeYXjwnCJIlXSig_0[31].offset = offsetof(tyObject_SharedState__Nr0J1e0ojmHBVIgRtvSZjw, options);
TM__Xuc9bgVTDeYXjwnCJIlXSig_0[31].typ = (&NTI__triPNwGxgWAG1ULojVLJPA_);
TM__Xuc9bgVTDeYXjwnCJIlXSig_0[31].name = "options";
TM__Xuc9bgVTDeYXjwnCJIlXSig_47_9[1] = &TM__Xuc9bgVTDeYXjwnCJIlXSig_0[32];
TM__Xuc9bgVTDeYXjwnCJIlXSig_0[32].kind = 1;
TM__Xuc9bgVTDeYXjwnCJIlXSig_0[32].offset = offsetof(tyObject_SharedState__Nr0J1e0ojmHBVIgRtvSZjw, uLevel);
TM__Xuc9bgVTDeYXjwnCJIlXSig_0[32].typ = (&NTI__rR5Bzr1D5krxoo1NcNyeMA_);
TM__Xuc9bgVTDeYXjwnCJIlXSig_0[32].name = "uLevel";
TM__Xuc9bgVTDeYXjwnCJIlXSig_47_9[2] = &TM__Xuc9bgVTDeYXjwnCJIlXSig_0[33];
TM__Xuc9bgVTDeYXjwnCJIlXSig_0[33].kind = 1;
TM__Xuc9bgVTDeYXjwnCJIlXSig_0[33].offset = offsetof(tyObject_SharedState__Nr0J1e0ojmHBVIgRtvSZjw, oLevel);
TM__Xuc9bgVTDeYXjwnCJIlXSig_0[33].typ = (&NTI__rR5Bzr1D5krxoo1NcNyeMA_);
TM__Xuc9bgVTDeYXjwnCJIlXSig_0[33].name = "oLevel";
TM__Xuc9bgVTDeYXjwnCJIlXSig_47_9[3] = &TM__Xuc9bgVTDeYXjwnCJIlXSig_0[34];
NTI__WneU8C8OSOpUr8oGzt2hBA_.size = sizeof(tyObject_Substitution__WneU8C8OSOpUr8oGzt2hBA);
NTI__WneU8C8OSOpUr8oGzt2hBA_.kind = 18;
NTI__WneU8C8OSOpUr8oGzt2hBA_.base = 0;
NTI__WneU8C8OSOpUr8oGzt2hBA_.flags = 2;
TM__Xuc9bgVTDeYXjwnCJIlXSig_48_2[0] = &TM__Xuc9bgVTDeYXjwnCJIlXSig_0[36];
TM__Xuc9bgVTDeYXjwnCJIlXSig_0[36].kind = 1;
TM__Xuc9bgVTDeYXjwnCJIlXSig_0[36].offset = offsetof(tyObject_Substitution__WneU8C8OSOpUr8oGzt2hBA, key);
TM__Xuc9bgVTDeYXjwnCJIlXSig_0[36].typ = (&NTI__77mFvmsOLKik79ci2hXkHEg_);
TM__Xuc9bgVTDeYXjwnCJIlXSig_0[36].name = "key";
TM__Xuc9bgVTDeYXjwnCJIlXSig_48_2[1] = &TM__Xuc9bgVTDeYXjwnCJIlXSig_0[37];
TM__Xuc9bgVTDeYXjwnCJIlXSig_0[37].kind = 1;
TM__Xuc9bgVTDeYXjwnCJIlXSig_0[37].offset = offsetof(tyObject_Substitution__WneU8C8OSOpUr8oGzt2hBA, value);
TM__Xuc9bgVTDeYXjwnCJIlXSig_0[37].typ = (&NTI__eiDrOE3AS6QEbCsY2gtdWQ_);
TM__Xuc9bgVTDeYXjwnCJIlXSig_0[37].name = "value";
TM__Xuc9bgVTDeYXjwnCJIlXSig_0[35].len = 2; TM__Xuc9bgVTDeYXjwnCJIlXSig_0[35].kind = 2; TM__Xuc9bgVTDeYXjwnCJIlXSig_0[35].sons = &TM__Xuc9bgVTDeYXjwnCJIlXSig_48_2[0];
NTI__WneU8C8OSOpUr8oGzt2hBA_.node = &TM__Xuc9bgVTDeYXjwnCJIlXSig_0[35];
NTI__KttZgRE9cmIMvHjR6Gj9a89ag_.size = sizeof(tySequence__KttZgRE9cmIMvHjR6Gj9a89ag*);
NTI__KttZgRE9cmIMvHjR6Gj9a89ag_.kind = 24;
NTI__KttZgRE9cmIMvHjR6Gj9a89ag_.base = (&NTI__WneU8C8OSOpUr8oGzt2hBA_);
NTI__KttZgRE9cmIMvHjR6Gj9a89ag_.flags = 2;
NTI__KttZgRE9cmIMvHjR6Gj9a89ag_.marker = Marker_tySequence__KttZgRE9cmIMvHjR6Gj9a89ag;
TM__Xuc9bgVTDeYXjwnCJIlXSig_0[34].kind = 1;
TM__Xuc9bgVTDeYXjwnCJIlXSig_0[34].offset = offsetof(tyObject_SharedState__Nr0J1e0ojmHBVIgRtvSZjw, subs);
TM__Xuc9bgVTDeYXjwnCJIlXSig_0[34].typ = (&NTI__KttZgRE9cmIMvHjR6Gj9a89ag_);
TM__Xuc9bgVTDeYXjwnCJIlXSig_0[34].name = "subs";
TM__Xuc9bgVTDeYXjwnCJIlXSig_47_9[4] = &TM__Xuc9bgVTDeYXjwnCJIlXSig_0[38];
TM__Xuc9bgVTDeYXjwnCJIlXSig_0[38].kind = 1;
TM__Xuc9bgVTDeYXjwnCJIlXSig_0[38].offset = offsetof(tyObject_SharedState__Nr0J1e0ojmHBVIgRtvSZjw, refs);
TM__Xuc9bgVTDeYXjwnCJIlXSig_0[38].typ = (&NTI__KttZgRE9cmIMvHjR6Gj9a89ag_);
TM__Xuc9bgVTDeYXjwnCJIlXSig_0[38].name = "refs";
TM__Xuc9bgVTDeYXjwnCJIlXSig_47_9[5] = &TM__Xuc9bgVTDeYXjwnCJIlXSig_0[39];
NTI__9cc9aPiDa8VaWjVcFLabEDZQ_.size = sizeof(tyArray__9cc9aPiDa8VaWjVcFLabEDZQ);
NTI__9cc9aPiDa8VaWjVcFLabEDZQ_.kind = 16;
NTI__9cc9aPiDa8VaWjVcFLabEDZQ_.base = (&NTI__rR5Bzr1D5krxoo1NcNyeMA_);
NTI__9cc9aPiDa8VaWjVcFLabEDZQ_.flags = 3;
TM__Xuc9bgVTDeYXjwnCJIlXSig_0[39].kind = 1;
TM__Xuc9bgVTDeYXjwnCJIlXSig_0[39].offset = offsetof(tyObject_SharedState__Nr0J1e0ojmHBVIgRtvSZjw, underlineToLevel);
TM__Xuc9bgVTDeYXjwnCJIlXSig_0[39].typ = (&NTI__9cc9aPiDa8VaWjVcFLabEDZQ_);
TM__Xuc9bgVTDeYXjwnCJIlXSig_0[39].name = "underlineToLevel";
TM__Xuc9bgVTDeYXjwnCJIlXSig_47_9[6] = &TM__Xuc9bgVTDeYXjwnCJIlXSig_0[40];
TM__Xuc9bgVTDeYXjwnCJIlXSig_0[40].kind = 1;
TM__Xuc9bgVTDeYXjwnCJIlXSig_0[40].offset = offsetof(tyObject_SharedState__Nr0J1e0ojmHBVIgRtvSZjw, overlineToLevel);
TM__Xuc9bgVTDeYXjwnCJIlXSig_0[40].typ = (&NTI__9cc9aPiDa8VaWjVcFLabEDZQ_);
TM__Xuc9bgVTDeYXjwnCJIlXSig_0[40].name = "overlineToLevel";
TM__Xuc9bgVTDeYXjwnCJIlXSig_47_9[7] = &TM__Xuc9bgVTDeYXjwnCJIlXSig_0[41];
TM__Xuc9bgVTDeYXjwnCJIlXSig_0[41].kind = 1;
TM__Xuc9bgVTDeYXjwnCJIlXSig_0[41].offset = offsetof(tyObject_SharedState__Nr0J1e0ojmHBVIgRtvSZjw, msgHandler);
TM__Xuc9bgVTDeYXjwnCJIlXSig_0[41].typ = (&NTI__r4CIWZzpiVlkxuVaaDT8Lw_);
TM__Xuc9bgVTDeYXjwnCJIlXSig_0[41].name = "msgHandler";
TM__Xuc9bgVTDeYXjwnCJIlXSig_47_9[8] = &TM__Xuc9bgVTDeYXjwnCJIlXSig_0[42];
TM__Xuc9bgVTDeYXjwnCJIlXSig_0[42].kind = 1;
TM__Xuc9bgVTDeYXjwnCJIlXSig_0[42].offset = offsetof(tyObject_SharedState__Nr0J1e0ojmHBVIgRtvSZjw, findFile);
TM__Xuc9bgVTDeYXjwnCJIlXSig_0[42].typ = (&NTI__lRW9cfxqfm1ql4gkxfLReYg_);
TM__Xuc9bgVTDeYXjwnCJIlXSig_0[42].name = "findFile";
TM__Xuc9bgVTDeYXjwnCJIlXSig_0[30].len = 9; TM__Xuc9bgVTDeYXjwnCJIlXSig_0[30].kind = 2; TM__Xuc9bgVTDeYXjwnCJIlXSig_0[30].sons = &TM__Xuc9bgVTDeYXjwnCJIlXSig_47_9[0];
NTI__Nr0J1e0ojmHBVIgRtvSZjw_.node = &TM__Xuc9bgVTDeYXjwnCJIlXSig_0[30];
NTI__NOd8Bhkha1yAk19cIRBRUeg_.size = sizeof(tyObject_SharedState__Nr0J1e0ojmHBVIgRtvSZjw*);
NTI__NOd8Bhkha1yAk19cIRBRUeg_.kind = 22;
NTI__NOd8Bhkha1yAk19cIRBRUeg_.base = (&NTI__Nr0J1e0ojmHBVIgRtvSZjw_);
NTI__NOd8Bhkha1yAk19cIRBRUeg_.marker = Marker_tyRef__NOd8Bhkha1yAk19cIRBRUeg;
TM__Xuc9bgVTDeYXjwnCJIlXSig_0[29].kind = 1;
TM__Xuc9bgVTDeYXjwnCJIlXSig_0[29].offset = offsetof(tyObject_RstParser__DC0I80p3rKpwC6ms59ctfpg, s);
TM__Xuc9bgVTDeYXjwnCJIlXSig_0[29].typ = (&NTI__NOd8Bhkha1yAk19cIRBRUeg_);
TM__Xuc9bgVTDeYXjwnCJIlXSig_0[29].name = "s";
TM__Xuc9bgVTDeYXjwnCJIlXSig_42_8[3] = &TM__Xuc9bgVTDeYXjwnCJIlXSig_0[43];
TM__Xuc9bgVTDeYXjwnCJIlXSig_0[43].kind = 1;
TM__Xuc9bgVTDeYXjwnCJIlXSig_0[43].offset = offsetof(tyObject_RstParser__DC0I80p3rKpwC6ms59ctfpg, indentStack);
TM__Xuc9bgVTDeYXjwnCJIlXSig_0[43].typ = (&NTI__qwqHTkRvwhrRyENtudHQ7g_);
TM__Xuc9bgVTDeYXjwnCJIlXSig_0[43].name = "indentStack";
TM__Xuc9bgVTDeYXjwnCJIlXSig_42_8[4] = &TM__Xuc9bgVTDeYXjwnCJIlXSig_0[44];
TM__Xuc9bgVTDeYXjwnCJIlXSig_0[44].kind = 1;
TM__Xuc9bgVTDeYXjwnCJIlXSig_0[44].offset = offsetof(tyObject_RstParser__DC0I80p3rKpwC6ms59ctfpg, filename);
TM__Xuc9bgVTDeYXjwnCJIlXSig_0[44].typ = (&NTI__77mFvmsOLKik79ci2hXkHEg_);
TM__Xuc9bgVTDeYXjwnCJIlXSig_0[44].name = "filename";
TM__Xuc9bgVTDeYXjwnCJIlXSig_42_8[5] = &TM__Xuc9bgVTDeYXjwnCJIlXSig_0[45];
TM__Xuc9bgVTDeYXjwnCJIlXSig_0[45].kind = 1;
TM__Xuc9bgVTDeYXjwnCJIlXSig_0[45].offset = offsetof(tyObject_RstParser__DC0I80p3rKpwC6ms59ctfpg, line);
TM__Xuc9bgVTDeYXjwnCJIlXSig_0[45].typ = (&NTI__rR5Bzr1D5krxoo1NcNyeMA_);
TM__Xuc9bgVTDeYXjwnCJIlXSig_0[45].name = "line";
TM__Xuc9bgVTDeYXjwnCJIlXSig_42_8[6] = &TM__Xuc9bgVTDeYXjwnCJIlXSig_0[46];
TM__Xuc9bgVTDeYXjwnCJIlXSig_0[46].kind = 1;
TM__Xuc9bgVTDeYXjwnCJIlXSig_0[46].offset = offsetof(tyObject_RstParser__DC0I80p3rKpwC6ms59ctfpg, col);
TM__Xuc9bgVTDeYXjwnCJIlXSig_0[46].typ = (&NTI__rR5Bzr1D5krxoo1NcNyeMA_);
TM__Xuc9bgVTDeYXjwnCJIlXSig_0[46].name = "col";
TM__Xuc9bgVTDeYXjwnCJIlXSig_42_8[7] = &TM__Xuc9bgVTDeYXjwnCJIlXSig_0[47];
TM__Xuc9bgVTDeYXjwnCJIlXSig_0[47].kind = 1;
TM__Xuc9bgVTDeYXjwnCJIlXSig_0[47].offset = offsetof(tyObject_RstParser__DC0I80p3rKpwC6ms59ctfpg, hasToc);
TM__Xuc9bgVTDeYXjwnCJIlXSig_0[47].typ = (&NTI__VaVACK0bpYmqIQ0mKcHfQQ_);
TM__Xuc9bgVTDeYXjwnCJIlXSig_0[47].name = "hasToc";
TM__Xuc9bgVTDeYXjwnCJIlXSig_0[12].len = 8; TM__Xuc9bgVTDeYXjwnCJIlXSig_0[12].kind = 2; TM__Xuc9bgVTDeYXjwnCJIlXSig_0[12].sons = &TM__Xuc9bgVTDeYXjwnCJIlXSig_42_8[0];
NTI__DC0I80p3rKpwC6ms59ctfpg_.node = &TM__Xuc9bgVTDeYXjwnCJIlXSig_0[12];
NTI__iviJnHlj9acPYlnNRbd9bhkQ_.size = sizeof(tyEnum_MsgKind__iviJnHlj9acPYlnNRbd9bhkQ);
NTI__iviJnHlj9acPYlnNRbd9bhkQ_.kind = 14;
NTI__iviJnHlj9acPYlnNRbd9bhkQ_.base = 0;
NTI__iviJnHlj9acPYlnNRbd9bhkQ_.flags = 3;
for (TM__Xuc9bgVTDeYXjwnCJIlXSig_53 = 0; TM__Xuc9bgVTDeYXjwnCJIlXSig_53 < 10; TM__Xuc9bgVTDeYXjwnCJIlXSig_53++) {
TM__Xuc9bgVTDeYXjwnCJIlXSig_0[TM__Xuc9bgVTDeYXjwnCJIlXSig_53+48].kind = 1;
TM__Xuc9bgVTDeYXjwnCJIlXSig_0[TM__Xuc9bgVTDeYXjwnCJIlXSig_53+48].offset = TM__Xuc9bgVTDeYXjwnCJIlXSig_53;
TM__Xuc9bgVTDeYXjwnCJIlXSig_0[TM__Xuc9bgVTDeYXjwnCJIlXSig_53+48].name = TM__Xuc9bgVTDeYXjwnCJIlXSig_52[TM__Xuc9bgVTDeYXjwnCJIlXSig_53];
TM__Xuc9bgVTDeYXjwnCJIlXSig_51_10[TM__Xuc9bgVTDeYXjwnCJIlXSig_53] = &TM__Xuc9bgVTDeYXjwnCJIlXSig_0[TM__Xuc9bgVTDeYXjwnCJIlXSig_53+48];
}
TM__Xuc9bgVTDeYXjwnCJIlXSig_0[58].len = 10; TM__Xuc9bgVTDeYXjwnCJIlXSig_0[58].kind = 2; TM__Xuc9bgVTDeYXjwnCJIlXSig_0[58].sons = &TM__Xuc9bgVTDeYXjwnCJIlXSig_51_10[0];
NTI__iviJnHlj9acPYlnNRbd9bhkQ_.node = &TM__Xuc9bgVTDeYXjwnCJIlXSig_0[58];
NTI__dpFtqOEOsRL1xyFiV7JAeA_.size = sizeof(tyEnum_MsgClass__dpFtqOEOsRL1xyFiV7JAeA);
NTI__dpFtqOEOsRL1xyFiV7JAeA_.kind = 14;
NTI__dpFtqOEOsRL1xyFiV7JAeA_.base = 0;
NTI__dpFtqOEOsRL1xyFiV7JAeA_.flags = 3;
for (TM__Xuc9bgVTDeYXjwnCJIlXSig_68 = 0; TM__Xuc9bgVTDeYXjwnCJIlXSig_68 < 3; TM__Xuc9bgVTDeYXjwnCJIlXSig_68++) {
TM__Xuc9bgVTDeYXjwnCJIlXSig_0[TM__Xuc9bgVTDeYXjwnCJIlXSig_68+59].kind = 1;
TM__Xuc9bgVTDeYXjwnCJIlXSig_0[TM__Xuc9bgVTDeYXjwnCJIlXSig_68+59].offset = TM__Xuc9bgVTDeYXjwnCJIlXSig_68;
TM__Xuc9bgVTDeYXjwnCJIlXSig_0[TM__Xuc9bgVTDeYXjwnCJIlXSig_68+59].name = TM__Xuc9bgVTDeYXjwnCJIlXSig_67[TM__Xuc9bgVTDeYXjwnCJIlXSig_68];
TM__Xuc9bgVTDeYXjwnCJIlXSig_66_3[TM__Xuc9bgVTDeYXjwnCJIlXSig_68] = &TM__Xuc9bgVTDeYXjwnCJIlXSig_0[TM__Xuc9bgVTDeYXjwnCJIlXSig_68+59];
}
TM__Xuc9bgVTDeYXjwnCJIlXSig_0[62].len = 3; TM__Xuc9bgVTDeYXjwnCJIlXSig_0[62].kind = 2; TM__Xuc9bgVTDeYXjwnCJIlXSig_0[62].sons = &TM__Xuc9bgVTDeYXjwnCJIlXSig_66_3[0];
NTI__dpFtqOEOsRL1xyFiV7JAeA_.node = &TM__Xuc9bgVTDeYXjwnCJIlXSig_0[62];
NTI__XAL9cSQckMCwSvXvbcGdl8A_.size = sizeof(tyObject_EParseError__XAL9cSQckMCwSvXvbcGdl8A);
NTI__XAL9cSQckMCwSvXvbcGdl8A_.kind = 17;
NTI__XAL9cSQckMCwSvXvbcGdl8A_.base = (&NTI__yoNlBGx0D2tRizIdhQuENw_);
TM__Xuc9bgVTDeYXjwnCJIlXSig_0[63].len = 0; TM__Xuc9bgVTDeYXjwnCJIlXSig_0[63].kind = 2;
NTI__XAL9cSQckMCwSvXvbcGdl8A_.node = &TM__Xuc9bgVTDeYXjwnCJIlXSig_0[63];
NTI__aHQoiQMmOZCtQY9adc9ajK5Q_.size = sizeof(tyObject_EParseError__XAL9cSQckMCwSvXvbcGdl8A*);
NTI__aHQoiQMmOZCtQY9adc9ajK5Q_.kind = 22;
NTI__aHQoiQMmOZCtQY9adc9ajK5Q_.base = (&NTI__XAL9cSQckMCwSvXvbcGdl8A_);
NTI__aHQoiQMmOZCtQY9adc9ajK5Q_.marker = Marker_tyRef__aHQoiQMmOZCtQY9adc9ajK5Q;
NTI__5boGUNyj9cHomWCEznBP3KA_.size = sizeof(tyObject_Lexer__5boGUNyj9cHomWCEznBP3KA);
NTI__5boGUNyj9cHomWCEznBP3KA_.kind = 17;
NTI__5boGUNyj9cHomWCEznBP3KA_.base = (&NTI__ytyiCJqK439aF9cIibuRVpAg_);
NTI__5boGUNyj9cHomWCEznBP3KA_.flags = 1;
TM__Xuc9bgVTDeYXjwnCJIlXSig_73_6[0] = &TM__Xuc9bgVTDeYXjwnCJIlXSig_0[65];
TM__Xuc9bgVTDeYXjwnCJIlXSig_0[65].kind = 1;
TM__Xuc9bgVTDeYXjwnCJIlXSig_0[65].offset = offsetof(tyObject_Lexer__5boGUNyj9cHomWCEznBP3KA, buf);
TM__Xuc9bgVTDeYXjwnCJIlXSig_0[65].typ = (&NTI__S9agCYBinaYZnGWcjTdxclg_);
TM__Xuc9bgVTDeYXjwnCJIlXSig_0[65].name = "buf";
TM__Xuc9bgVTDeYXjwnCJIlXSig_73_6[1] = &TM__Xuc9bgVTDeYXjwnCJIlXSig_0[66];
TM__Xuc9bgVTDeYXjwnCJIlXSig_0[66].kind = 1;
TM__Xuc9bgVTDeYXjwnCJIlXSig_0[66].offset = offsetof(tyObject_Lexer__5boGUNyj9cHomWCEznBP3KA, bufpos);
TM__Xuc9bgVTDeYXjwnCJIlXSig_0[66].typ = (&NTI__rR5Bzr1D5krxoo1NcNyeMA_);
TM__Xuc9bgVTDeYXjwnCJIlXSig_0[66].name = "bufpos";
TM__Xuc9bgVTDeYXjwnCJIlXSig_73_6[2] = &TM__Xuc9bgVTDeYXjwnCJIlXSig_0[67];
TM__Xuc9bgVTDeYXjwnCJIlXSig_0[67].kind = 1;
TM__Xuc9bgVTDeYXjwnCJIlXSig_0[67].offset = offsetof(tyObject_Lexer__5boGUNyj9cHomWCEznBP3KA, line);
TM__Xuc9bgVTDeYXjwnCJIlXSig_0[67].typ = (&NTI__rR5Bzr1D5krxoo1NcNyeMA_);
TM__Xuc9bgVTDeYXjwnCJIlXSig_0[67].name = "line";
TM__Xuc9bgVTDeYXjwnCJIlXSig_73_6[3] = &TM__Xuc9bgVTDeYXjwnCJIlXSig_0[68];
TM__Xuc9bgVTDeYXjwnCJIlXSig_0[68].kind = 1;
TM__Xuc9bgVTDeYXjwnCJIlXSig_0[68].offset = offsetof(tyObject_Lexer__5boGUNyj9cHomWCEznBP3KA, col);
TM__Xuc9bgVTDeYXjwnCJIlXSig_0[68].typ = (&NTI__rR5Bzr1D5krxoo1NcNyeMA_);
TM__Xuc9bgVTDeYXjwnCJIlXSig_0[68].name = "col";
TM__Xuc9bgVTDeYXjwnCJIlXSig_73_6[4] = &TM__Xuc9bgVTDeYXjwnCJIlXSig_0[69];
TM__Xuc9bgVTDeYXjwnCJIlXSig_0[69].kind = 1;
TM__Xuc9bgVTDeYXjwnCJIlXSig_0[69].offset = offsetof(tyObject_Lexer__5boGUNyj9cHomWCEznBP3KA, baseIndent);
TM__Xuc9bgVTDeYXjwnCJIlXSig_0[69].typ = (&NTI__rR5Bzr1D5krxoo1NcNyeMA_);
TM__Xuc9bgVTDeYXjwnCJIlXSig_0[69].name = "baseIndent";
TM__Xuc9bgVTDeYXjwnCJIlXSig_73_6[5] = &TM__Xuc9bgVTDeYXjwnCJIlXSig_0[70];
TM__Xuc9bgVTDeYXjwnCJIlXSig_0[70].kind = 1;
TM__Xuc9bgVTDeYXjwnCJIlXSig_0[70].offset = offsetof(tyObject_Lexer__5boGUNyj9cHomWCEznBP3KA, skipPounds);
TM__Xuc9bgVTDeYXjwnCJIlXSig_0[70].typ = (&NTI__VaVACK0bpYmqIQ0mKcHfQQ_);
TM__Xuc9bgVTDeYXjwnCJIlXSig_0[70].name = "skipPounds";
TM__Xuc9bgVTDeYXjwnCJIlXSig_0[64].len = 6; TM__Xuc9bgVTDeYXjwnCJIlXSig_0[64].kind = 2; TM__Xuc9bgVTDeYXjwnCJIlXSig_0[64].sons = &TM__Xuc9bgVTDeYXjwnCJIlXSig_73_6[0];
NTI__5boGUNyj9cHomWCEznBP3KA_.node = &TM__Xuc9bgVTDeYXjwnCJIlXSig_0[64];
}

