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

#include "nimbase.h"
#include <string.h>
#include <dirent.h>
#include <setjmp.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <time.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 tyObject_RstGenerator__yF9cB1II0vYb2F0YKmIiArg tyObject_RstGenerator__yF9cB1II0vYb2F0YKmIiArg;
typedef struct RootObj RootObj;
typedef struct tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg;
typedef struct tySequence__b7kA8pLABz0wMAUNGYo6Wg tySequence__b7kA8pLABz0wMAUNGYo6Wg;
typedef struct NimStringDesc NimStringDesc;
typedef struct TGenericSeq TGenericSeq;
typedef struct tyObject_Table__i55W8RrwGKsG9cl0sAKxgkQ tyObject_Table__i55W8RrwGKsG9cl0sAKxgkQ;
typedef struct tySequence__pUxI6Ljo6IKKHXKOZkQ7Og tySequence__pUxI6Ljo6IKKHXKOZkQ7Og;
typedef struct tyObject_TocEntry__z7kal23LlR1mL50YJIPMCw tyObject_TocEntry__z7kal23LlR1mL50YJIPMCw;
typedef struct tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg;
typedef struct tyTuple__JfHvHzMrhKkWAUvQKe0i1A tyTuple__JfHvHzMrhKkWAUvQKe0i1A;
typedef struct tyObject_Env_rstgendotnim___diB2NTuAIWY0FO9c5IUJRGg tyObject_Env_rstgendotnim___diB2NTuAIWY0FO9c5IUJRGg;
typedef struct tySequence__xv3aaFd3JCw8NbmALHiezQ tySequence__xv3aaFd3JCw8NbmALHiezQ;
typedef struct tyTuple__7q7q3E6Oj24ZNVJb9aonhAg tyTuple__7q7q3E6Oj24ZNVJb9aonhAg;
typedef struct tySequence__sawZST1Esj3o7EY9ayWwGPw tySequence__sawZST1Esj3o7EY9ayWwGPw;
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_CodeBlockParams__VGrTBDzO5FHLY33yjUsvkA tyObject_CodeBlockParams__VGrTBDzO5FHLY33yjUsvkA;
typedef struct tyTuple__UV3llMMYFckfui8YMBuUZA tyTuple__UV3llMMYFckfui8YMBuUZA;
typedef struct tyObject_GeneralTokenizer__XJrmQSLLjVmugZQb54lVWA tyObject_GeneralTokenizer__XJrmQSLLjVmugZQb54lVWA;
typedef struct tyTuple__19af1Yi5wzYJHEoosvtCJdQ tyTuple__19af1Yi5wzYJHEoosvtCJdQ;
typedef struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ tySequence__sM4lkSb7zS6F7OVMvW9cffQ;
typedef struct tySequence__5PunAJrNQYcB8dF0jau3pQ tySequence__5PunAJrNQYcB8dF0jau3pQ;
typedef struct tyObject_IndexEntry__G9ccBDFWfr9aYnLgXTNGDHDg tyObject_IndexEntry__G9ccBDFWfr9aYnLgXTNGDHDg;
typedef struct tyObject_Table__XC01wkRgzAyOjTiapde7hQ tyObject_Table__XC01wkRgzAyOjTiapde7hQ;
typedef struct tySequence__wAC0kXbVGkLoWP8vdi0sUw tySequence__wAC0kXbVGkLoWP8vdi0sUw;
typedef struct Exception Exception;
typedef struct tySequence__uB9b75OUPRENsBAu4AnoePA tySequence__uB9b75OUPRENsBAu4AnoePA;
typedef struct TSafePoint TSafePoint;
typedef struct tyTuple__A9cRoiotm9actU8lLMnN9bYcw tyTuple__A9cRoiotm9actU8lLMnN9bYcw;
typedef struct tyTuple__sr3s7uVHpu9cEbbDnCSg8yQ tyTuple__sr3s7uVHpu9cEbbDnCSg8yQ;
typedef struct tyTuple__sPaDkVPSC0MkcoXCxPH9ccA tyTuple__sPaDkVPSC0MkcoXCxPH9ccA;
typedef struct tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA;
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 tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ;
struct TNimNode {
tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ kind;
NI offset;
TNimType* typ;
NCSTRING name;
NI len;
TNimNode** sons;
};
struct RootObj {
TNimType* m_type;
};
typedef NU8 tyEnum_OutputTarget__lDlBg9cTod71s9abpUj82lsw;
struct TGenericSeq {
NI len;
NI reserved;
};
struct NimStringDesc {
  TGenericSeq Sup;
NIM_CHAR data[SEQ_DECL_SIZE];
};
typedef NU8 tySet_tyEnum_RstParseOption__fiZmsylYkyh6nEciRZcPsw;
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;
typedef NimStringDesc* tyArray__C9cQfUOxfT2Mk6yT19cPu9aIA[5];
struct tyObject_Table__i55W8RrwGKsG9cl0sAKxgkQ {
tySequence__pUxI6Ljo6IKKHXKOZkQ7Og* data;
NI counter;
};
typedef struct {
N_NIMCALL_PTR(void, ClP_0) (tyObject_RstGenerator__yF9cB1II0vYb2F0YKmIiArg* d, NimStringDesc* filename, NimStringDesc* cmd, NI status, NimStringDesc* content, void* ClE_0);
void* ClE_0;
} tyProc__t9cP9cH9bP2v9cQZNd2RjMTNLg;
struct tyObject_RstGenerator__yF9cB1II0vYb2F0YKmIiArg {
  RootObj Sup;
tyEnum_OutputTarget__lDlBg9cTod71s9abpUj82lsw target;
tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* config;
NI splitAfter;
NI listingCounter;
tySequence__b7kA8pLABz0wMAUNGYo6Wg* tocPart;
NIM_BOOL hasToc;
NimStringDesc* theIndex;
tySet_tyEnum_RstParseOption__fiZmsylYkyh6nEciRZcPsw options;
tyProc__lRW9cfxqfm1ql4gkxfLReYg findFile;
tyProc__r4CIWZzpiVlkxuVaaDT8Lw msgHandler;
NimStringDesc* filename;
tyArray__C9cQfUOxfT2Mk6yT19cPu9aIA meta;
NimStringDesc* currentSection;
tyObject_Table__i55W8RrwGKsG9cl0sAKxgkQ seenIndexTerms;
NI id;
tyProc__t9cP9cH9bP2v9cQZNd2RjMTNLg onTestSnippet;
};
struct tyObject_TocEntry__z7kal23LlR1mL50YJIPMCw {
tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* n;
NimStringDesc* refname;
NimStringDesc* header;
};
struct tyTuple__JfHvHzMrhKkWAUvQKe0i1A {
void* Field0;
tyObject_Env_rstgendotnim___diB2NTuAIWY0FO9c5IUJRGg* Field1;
};
typedef NU8 tyEnum_StringTableMode__G9c4wVDFIzf0xHmQvxso9a9cQ;
struct tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg {
  RootObj Sup;
NI counter;
tySequence__xv3aaFd3JCw8NbmALHiezQ* data;
tyEnum_StringTableMode__G9c4wVDFIzf0xHmQvxso9a9cQ mode;
};
struct tyTuple__7q7q3E6Oj24ZNVJb9aonhAg {
NimStringDesc* Field0;
NimStringDesc* Field1;
NimStringDesc* Field2;
};
typedef NU8 tyEnum_MetaEnum__HD14RiMbGt9aRJpE4GI3T9cg;
typedef NU8 tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg;
struct tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg {
tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg kind;
NimStringDesc* text;
NI level;
tySequence__sawZST1Esj3o7EY9ayWwGPw* sons;
};
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 NimStringDesc* tyArray__sMpvt1sOxOJ3LFGulnbeMQ[4];
typedef NimStringDesc* tyArray__nHXaesL0DJZHyVS07ARPRA[1];
typedef NU8 tySet_tyChar__nmiMWKVIe46vacnhAFrQvw[32];
typedef NimStringDesc* tyArray__Re75IspeoxXy2oCZHwcRrA[2];
typedef NU8 tyEnum_SourceLanguage__LpbEPkKqvJ0VCa4hwZcOBQ;
struct tyObject_CodeBlockParams__VGrTBDzO5FHLY33yjUsvkA {
NIM_BOOL numberLines;
NI startLine;
NimStringDesc* langStr;
tyEnum_SourceLanguage__LpbEPkKqvJ0VCa4hwZcOBQ lang;
NimStringDesc* filename;
NimStringDesc* testCmd;
NI status;
};
typedef N_CLOSURE_PTR(void, TM__vGSJrCjWQr859bqRvctRIaA_178) (NimStringDesc* filename, NI line, NI col, tyEnum_MsgKind__iviJnHlj9acPYlnNRbd9bhkQ msgKind, NimStringDesc* arg);
typedef N_CLOSURE_PTR(void, TM__vGSJrCjWQr859bqRvctRIaA_183) (tyObject_RstGenerator__yF9cB1II0vYb2F0YKmIiArg* d, NimStringDesc* filename, NimStringDesc* cmd, NI status, NimStringDesc* content);
typedef NimStringDesc* tyArray__CchsCKVbWNDjfQ2XsaO6Aw[7];
struct tyTuple__UV3llMMYFckfui8YMBuUZA {
NimStringDesc* Field0;
NimStringDesc* Field1;
};
typedef NimStringDesc* tyArray__8ZvwQIddfpj2THRVPsFzIQ[1];
typedef N_CLOSURE_PTR(void, TM__vGSJrCjWQr859bqRvctRIaA_195) (NimStringDesc* filename, NI line, NI col, tyEnum_MsgKind__iviJnHlj9acPYlnNRbd9bhkQ msgKind, NimStringDesc* arg);
typedef NU8 tyEnum_TokenClass__UcAPDGzMlzghdb9c8MB7mEw;
struct tyObject_GeneralTokenizer__XJrmQSLLjVmugZQb54lVWA {
  RootObj Sup;
tyEnum_TokenClass__UcAPDGzMlzghdb9c8MB7mEw kind;
NI start;
NI length;
NCSTRING buf;
NI pos;
tyEnum_TokenClass__UcAPDGzMlzghdb9c8MB7mEw state;
};
typedef NimStringDesc* tyArray__b121gTFK3KCOh1bfQWQzTw[33];
struct tyObject_IndexEntry__G9ccBDFWfr9aYnLgXTNGDHDg {
NimStringDesc* keyword;
NimStringDesc* link;
NimStringDesc* linkTitle;
NimStringDesc* linkDesc;
};
struct tyObject_Table__XC01wkRgzAyOjTiapde7hQ {
tySequence__wAC0kXbVGkLoWP8vdi0sUw* data;
NI counter;
};
struct tyTuple__19af1Yi5wzYJHEoosvtCJdQ {
tySequence__sM4lkSb7zS6F7OVMvW9cffQ* Field0;
tySequence__5PunAJrNQYcB8dF0jau3pQ* Field1;
tyObject_Table__XC01wkRgzAyOjTiapde7hQ Field2;
};
typedef NU8 tyEnum_PathComponent__9c1SIU9cO1wHcl09b703A9cDrg;
struct Exception {
  RootObj Sup;
Exception* parent;
NCSTRING name;
NimStringDesc* message;
tySequence__uB9b75OUPRENsBAu4AnoePA* trace;
NU raiseId;
Exception* up;
};
typedef struct {
N_NIMCALL_PTR(NIM_BOOL, ClP_0) (Exception* e, void* ClE_0);
void* ClE_0;
} tyProc__NT9bSe2DDkjdtx7j9aov2Z6g;
struct TSafePoint {
TSafePoint* prev;
NI status;
jmp_buf context;
NIM_BOOL hasRaiseAction;
tyProc__NT9bSe2DDkjdtx7j9aov2Z6g raiseAction;
};
typedef char tyArray__XKk9bNZbVEtY3RuROG9aRBgw[256];
typedef long tyArray__oTmoHFy3pDaTMR4qHTDLtQ[2];
typedef NU8 tyEnum_FileMode__ZJfK20XeZ9bv2j1pZjw9aswg;
typedef tyTuple__UV3llMMYFckfui8YMBuUZA tyArray__0ipey9aZuUA8jy4OAHzODQg[3];
typedef struct {
N_NIMCALL_PTR(NI, ClP_0) (NimStringDesc* x, NimStringDesc* y, void* ClE_0);
void* ClE_0;
} tyProc__kTj9c3SX9agxDQPZYwemi6ug;
typedef NU8 tyEnum_SortOrder__8iBc6wlNqBa9cju9cUAhUAxA;
typedef N_CLOSURE_PTR(NI, TM__vGSJrCjWQr859bqRvctRIaA_262) (NimStringDesc* x, NimStringDesc* y, void* ClE_0);
struct tyTuple__A9cRoiotm9actU8lLMnN9bYcw {
NI Field0;
tyObject_IndexEntry__G9ccBDFWfr9aYnLgXTNGDHDg Field1;
tySequence__5PunAJrNQYcB8dF0jau3pQ* Field2;
};
typedef struct {
N_NIMCALL_PTR(NI, ClP_0) (tyObject_IndexEntry__G9ccBDFWfr9aYnLgXTNGDHDg* x, tyObject_IndexEntry__G9ccBDFWfr9aYnLgXTNGDHDg* y, void* ClE_0);
void* ClE_0;
} tyProc__zzrK9cTwi9admDvOCMDMSIXQ;
typedef N_CLOSURE_PTR(NI, TM__vGSJrCjWQr859bqRvctRIaA_266) (tyObject_IndexEntry__G9ccBDFWfr9aYnLgXTNGDHDg* x, tyObject_IndexEntry__G9ccBDFWfr9aYnLgXTNGDHDg* y, void* ClE_0);
typedef NimStringDesc* tyArray__24KAM9afIUgUaqBaEBB6r9bg[3];
struct tyTuple__sr3s7uVHpu9cEbbDnCSg8yQ {
NI Field0;
NimStringDesc* Field1;
NI Field2;
};
struct tyTuple__sPaDkVPSC0MkcoXCxPH9ccA {
NimStringDesc* Field0;
NimStringDesc* Field1;
NIM_BOOL Field2;
};
struct tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA {
NCSTRING procname;
NI line;
NCSTRING filename;
};
struct tySequence__b7kA8pLABz0wMAUNGYo6Wg {
  TGenericSeq Sup;
  tyObject_TocEntry__z7kal23LlR1mL50YJIPMCw data[SEQ_DECL_SIZE];
};
struct tySequence__sawZST1Esj3o7EY9ayWwGPw {
  TGenericSeq Sup;
  tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* data[SEQ_DECL_SIZE];
};
struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ {
  TGenericSeq Sup;
  NimStringDesc* data[SEQ_DECL_SIZE];
};
struct tySequence__5PunAJrNQYcB8dF0jau3pQ {
  TGenericSeq Sup;
  tyObject_IndexEntry__G9ccBDFWfr9aYnLgXTNGDHDg data[SEQ_DECL_SIZE];
};
struct tySequence__pUxI6Ljo6IKKHXKOZkQ7Og {
  TGenericSeq Sup;
  tyTuple__sr3s7uVHpu9cEbbDnCSg8yQ data[SEQ_DECL_SIZE];
};
struct tySequence__xv3aaFd3JCw8NbmALHiezQ {
  TGenericSeq Sup;
  tyTuple__sPaDkVPSC0MkcoXCxPH9ccA data[SEQ_DECL_SIZE];
};
struct tySequence__wAC0kXbVGkLoWP8vdi0sUw {
  TGenericSeq Sup;
  tyTuple__A9cRoiotm9actU8lLMnN9bYcw data[SEQ_DECL_SIZE];
};
struct tySequence__uB9b75OUPRENsBAu4AnoePA {
  TGenericSeq Sup;
  tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA data[SEQ_DECL_SIZE];
};
N_NIMCALL(void, nimGCvisit)(void* d, NI op);
static N_NIMCALL(void, Marker_tySequence__b7kA8pLABz0wMAUNGYo6Wg)(void* p, NI op);
N_NIMCALL(void, unsureAsgnRef)(void** dest, void* src);
N_NIMCALL(NimStringDesc*, copyString)(NimStringDesc* src);
static N_INLINE(void, nimZeroMem)(void* p, NI size);
static N_INLINE(void, nimSetMem__zxfKBYntu9cBapkhrCOk1fgmemory)(void* a, int v, NI size);
N_LIB_PRIVATE N_NIMCALL(void, nossplitFile)(NimStringDesc* path, tyTuple__7q7q3E6Oj24ZNVJb9aonhAg* Result);
static N_INLINE(NIM_BOOL, eqStrings)(NimStringDesc* a, NimStringDesc* b);
static N_INLINE(NIM_BOOL, equalMem__9bGgqEk7RXXl6eqM9c1HdELAsystem)(void* a, void* b, NI size);
static N_INLINE(int, nimCmpMem)(void* a, void* b, NI size);
static N_INLINE(void, appendString)(NimStringDesc* dest, NimStringDesc* src);
static N_INLINE(void, copyMem__i80o3k0SgEI5gTRCzYdyWAsystem)(void* dest, void* source, NI size);
static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size);
N_NIMCALL(NimStringDesc*, rawNewString)(NI space);
N_LIB_PRIVATE N_NIMCALL(void, initTable__RrWZeIMfwjxuENvIG9aHB8g)(NI initialSize, tyObject_Table__i55W8RrwGKsG9cl0sAKxgkQ* Result);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, getOrDefault__2a0cbxcfpWcXtK45m9bR5Kg)(tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* t, NimStringDesc* key, NimStringDesc* default_0);
N_LIB_PRIVATE N_NIMCALL(NI, nsuParseInt)(NimStringDesc* s);
static N_INLINE(NI, chckRange)(NI i, NI a, NI b);
N_NOINLINE(void, raiseRangeError)(NI64 val);
static N_INLINE(NI, addInt)(NI a, NI b);
N_NOINLINE(void, raiseOverflow)(void);
N_LIB_PRIVATE N_NIMCALL(void, renderAux__9bVWgX0SWmhEi3eHlrcMD8g_2)(tyObject_RstGenerator__yF9cB1II0vYb2F0YKmIiArg* d, tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* n, NimStringDesc** result);
N_LIB_PRIVATE N_NIMCALL(NI, len__bM2v46TeKfDIrVkegSIy9ag)(tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* n);
static N_INLINE(NI, subInt)(NI a, NI b);
N_LIB_PRIVATE N_NIMCALL(void, renderRstToOut__9bVWgX0SWmhEi3eHlrcMD8g)(tyObject_RstGenerator__yF9cB1II0vYb2F0YKmIiArg* d, tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* n, NimStringDesc** result);
N_NOINLINE(void, raiseIndexError2)(NI i, NI n);
N_LIB_PRIVATE N_NIMCALL(void, renderHeadline__9bVWgX0SWmhEi3eHlrcMD8g_3)(tyObject_RstGenerator__yF9cB1II0vYb2F0YKmIiArg* d, tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* n, NimStringDesc** result);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, rstnodeToRefname__TOPoj9cIRh7GBTY6PKofpTQ)(tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* n);
N_NIMCALL(TGenericSeq*, setLengthSeqV2)(TGenericSeq* s, TNimType* typ, NI newLen);
N_NIMCALL(NimStringDesc*, copyStringRC1)(NimStringDesc* src);
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, dispA__3GZ9bx75poGreVGlawa9aBDg)(tyEnum_OutputTarget__lDlBg9cTod71s9abpUj82lsw target, NimStringDesc** dest, NimStringDesc* xml, NimStringDesc* tex, NimStringDesc** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(void, nsuAddf)(NimStringDesc** s, NimStringDesc* formatstr, NimStringDesc** a, NI aLen_0);
N_NIMCALL(NimStringDesc*, nimIntToStr)(NI x);
N_NIMCALL(NimStringDesc*, nimCharToStr)(NIM_CHAR x);
N_LIB_PRIVATE N_NIMCALL(void, failedAssertImpl__W9cjVocn1tjhW7p7xohJj6A)(NimStringDesc* msg);
N_LIB_PRIVATE N_NIMCALL(void, setIndexTerm__59a2OAWg9c9azGlf9aSfMJTaLA)(tyObject_RstGenerator__yF9cB1II0vYb2F0YKmIiArg* d, NimStringDesc* htmlFile, NimStringDesc* id, NimStringDesc* term, NimStringDesc* linkTitle, NimStringDesc* linkDesc);
N_NIMCALL(NimStringDesc*, addChar)(NimStringDesc* s, NIM_CHAR c);
N_NIMCALL(NimStringDesc*, resizeString)(NimStringDesc* dest, NI addlen);
static N_INLINE(void, appendChar)(NimStringDesc* dest, NIM_CHAR c);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, quoteIndexColumn__Hchmde6CO0ano09cqrnA4Ag)(NimStringDesc* text);
N_NIMCALL(NimStringDesc*, rawNewString)(NI cap);
N_LIB_PRIVATE N_NIMCALL(void, insert__bnB13E7BS4dZJaaSQFdX5w)(NimStringDesc** x, NimStringDesc* item, NI i);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, noschangeFileExt)(NimStringDesc* filename, NimStringDesc* ext);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nosextractFilename)(NimStringDesc* path);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, stripTocHtml__CG3Pm1f26Xv9bcO1ymY7HaA)(NimStringDesc* s);
N_LIB_PRIVATE N_NIMCALL(NI, nsuFindChar)(NimStringDesc* s, NIM_CHAR sub, NI start, NI last);
N_LIB_PRIVATE N_NIMCALL(void, nsuDelete)(NimStringDesc** s, NI first, NI last);
static N_INLINE(NimStringDesc*, spaces__rssDy7zs9cDeoYTeCoIy0Wgstrutils)(NI n);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nsuRepeatChar)(NIM_CHAR c, NI count);
N_LIB_PRIVATE N_NIMCALL(void, renderOverline__9bVWgX0SWmhEi3eHlrcMD8g_4)(tyObject_RstGenerator__yF9cB1II0vYb2F0YKmIiArg* d, tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* n, NimStringDesc** result);
N_LIB_PRIVATE N_NIMCALL(void, renderAux__zVlkCIHCkLQV6Nm9a32Dl4w)(tyObject_RstGenerator__yF9cB1II0vYb2F0YKmIiArg* d, tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* n, NimStringDesc* frmtA, NimStringDesc* frmtB, NimStringDesc** result);
N_LIB_PRIVATE N_NIMCALL(void, renderField__9bVWgX0SWmhEi3eHlrcMD8g_5)(tyObject_RstGenerator__yF9cB1II0vYb2F0YKmIiArg* d, tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* n, NimStringDesc** result);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, addNodes__TOPoj9cIRh7GBTY6PKofpTQ_2)(tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* n);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, esc__Tgq9c7oEp9c4LGF7SoXGTh8w)(tyEnum_OutputTarget__lDlBg9cTod71s9abpUj82lsw target, NimStringDesc* s, NI splitAfter);
N_LIB_PRIVATE N_NIMCALL(NI, nextSplitPoint__1bYOTvfWXChm7WZOI8uPdA)(NimStringDesc* s, NI start);
static N_INLINE(void, addSplitter__otpg39cSdGbkUPYMfuoVxQQrstgen)(tyEnum_OutputTarget__lDlBg9cTod71s9abpUj82lsw target, NimStringDesc** dest);
static N_INLINE(void, escChar__KYm7vXQBjUyQAIV7FSCu5Qrstgen)(tyEnum_OutputTarget__lDlBg9cTod71s9abpUj82lsw target, NimStringDesc** dest, NIM_CHAR c);
N_LIB_PRIVATE N_NIMCALL(void, addXmlChar__jCxR1j9bCE42Z5E9bu9aEL9cEw)(NimStringDesc** dest, NIM_CHAR c);
N_LIB_PRIVATE N_NIMCALL(void, addTexChar__jCxR1j9bCE42Z5E9bu9aEL9cEw_2)(NimStringDesc** dest, NIM_CHAR c);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nsuStrip)(NimStringDesc* s, NIM_BOOL leading, NIM_BOOL trailing, tySet_tyChar__nmiMWKVIe46vacnhAFrQvw chars);
N_LIB_PRIVATE N_NIMCALL(NI, nsuCmpIgnoreStyle)(NimStringDesc* a, NimStringDesc* b);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, texColumns__6tXalH9aB8YkuyupI8riWjQ)(tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* n);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg*, lastSon__0dL43t7uo9b9ast8lG3CHj1A)(tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* n);
N_LIB_PRIVATE N_NIMCALL(void, renderImage__9bVWgX0SWmhEi3eHlrcMD8g_6)(tyObject_RstGenerator__yF9cB1II0vYb2F0YKmIiArg* d, tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* n, NimStringDesc** result);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, getArgument__TOPoj9cIRh7GBTY6PKofpTQ_3)(tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* n);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, getFieldValue__OTgwDdUvek9bw6NECNLDOqA)(tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* n, NimStringDesc* fieldname);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dispF__UOeJJO8ohrrgldF61bH7dQ)(tyEnum_OutputTarget__lDlBg9cTod71s9abpUj82lsw target, NimStringDesc* xml, NimStringDesc* tex, NimStringDesc** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nsuFormatOpenArray)(NimStringDesc* formatstr, NimStringDesc** a, NI aLen_0);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, nsuEndsWith)(NimStringDesc* s, NimStringDesc* suffix);
N_LIB_PRIVATE N_NIMCALL(void, renderCodeBlock__9bVWgX0SWmhEi3eHlrcMD8g_7)(tyObject_RstGenerator__yF9cB1II0vYb2F0YKmIiArg* d, tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* n, NimStringDesc** result);
N_LIB_PRIVATE N_NIMCALL(void, parseCodeBlockParams__0UCWvfdZ9avksgBajNgLGBw)(tyObject_RstGenerator__yF9cB1II0vYb2F0YKmIiArg* d, tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* n, tyObject_CodeBlockParams__VGrTBDzO5FHLY33yjUsvkA* Result);
N_NOINLINE(void, chckNil)(void* p);
N_NIMCALL(void, genericReset)(void* dest, TNimType* mt);
N_LIB_PRIVATE N_NIMCALL(void, init__VTkjfDKDCsSHMUgadSlTfg)(tyObject_CodeBlockParams__VGrTBDzO5FHLY33yjUsvkA* p);
N_LIB_PRIVATE N_NIMCALL(void, parseCodeBlockField__8mQpi5m1u2R5BPC42lxLuQ)(tyObject_RstGenerator__yF9cB1II0vYb2F0YKmIiArg* d, tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* n, tyObject_CodeBlockParams__VGrTBDzO5FHLY33yjUsvkA* params);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nsuToLowerAsciiStr)(NimStringDesc* s);
N_LIB_PRIVATE N_NIMCALL(NI, npuParseInt)(NimStringDesc* s, NI* number, NI start);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, getFieldValue__TOPoj9cIRh7GBTY6PKofpTQ_4)(tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* n);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nsuUnescape)(NimStringDesc* s, NimStringDesc* prefix, NimStringDesc* suffix);
N_LIB_PRIVATE N_NIMCALL(tyEnum_SourceLanguage__LpbEPkKqvJ0VCa4hwZcOBQ, getSourceLanguage__xS5vGJiqLeFR2EyiTX0IEA)(NimStringDesc* name);
N_LIB_PRIVATE N_NIMCALL(void, buildLinesHtmlTable__8VPefF9cpzTz1N4Guin4vxQ)(tyObject_RstGenerator__yF9cB1II0vYb2F0YKmIiArg* d, tyObject_CodeBlockParams__VGrTBDzO5FHLY33yjUsvkA* params, NimStringDesc* code, tyTuple__UV3llMMYFckfui8YMBuUZA* Result);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nsuFormatSingleElem)(NimStringDesc* formatstr, NimStringDesc* a);
N_LIB_PRIVATE N_NIMCALL(NI, nsuCountLines)(NimStringDesc* s);
N_LIB_PRIVATE N_NIMCALL(void, initGeneralTokenizer__mu4EAfPX69bUQs62cfYLXRA)(tyObject_GeneralTokenizer__XJrmQSLLjVmugZQb54lVWA* g, NimStringDesc* buf);
N_LIB_PRIVATE N_NIMCALL(void, getNextToken__9axtJQpZ5U9aGuyq519c9axprw)(tyObject_GeneralTokenizer__XJrmQSLLjVmugZQb54lVWA* g, tyEnum_SourceLanguage__LpbEPkKqvJ0VCa4hwZcOBQ lang);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, substr__2yh9cer0ymNRHlOOg8P7IuA)(NimStringDesc* s, NI first, NI last);
N_LIB_PRIVATE N_NIMCALL(void, deinitGeneralTokenizer__9a3JlWX9cxQaYCTvq9c0xqGpQ_7)(tyObject_GeneralTokenizer__XJrmQSLLjVmugZQb54lVWA* g);
N_LIB_PRIVATE N_NIMCALL(void, renderContainer__9bVWgX0SWmhEi3eHlrcMD8g_8)(tyObject_RstGenerator__yF9cB1II0vYb2F0YKmIiArg* d, tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* n, NimStringDesc** result);
N_LIB_PRIVATE N_NIMCALL(void, renderIndexTerm__9bVWgX0SWmhEi3eHlrcMD8g_9)(tyObject_RstGenerator__yF9cB1II0vYb2F0YKmIiArg* d, tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* n, NimStringDesc** result);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasKey__aOI3jq5GpcZWNc9aNWt3Shw)(tyObject_Table__i55W8RrwGKsG9cl0sAKxgkQ t, NimStringDesc* key);
N_LIB_PRIVATE N_NIMCALL(void, X5BX5Deq___HfxZpUfki4UkuP38hbwROA)(tyObject_Table__i55W8RrwGKsG9cl0sAKxgkQ* t, NimStringDesc* key, NI val);
N_LIB_PRIVATE N_NIMCALL(NI, getOrDefault__B9adUqknApMjE6ou13bpO8A)(tyObject_Table__i55W8RrwGKsG9cl0sAKxgkQ t, NimStringDesc* key);
N_LIB_PRIVATE N_NIMCALL(void, renderSmiley__9bVWgX0SWmhEi3eHlrcMD8g_10)(tyObject_RstGenerator__yF9cB1II0vYb2F0YKmIiArg* d, tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* n, NimStringDesc** result);
N_LIB_PRIVATE N_NIMCALL(void, renderTocEntry__swtKJhB7QpFMqLr9cuEw1JQ)(tyObject_RstGenerator__yF9cB1II0vYb2F0YKmIiArg* d, tyObject_TocEntry__z7kal23LlR1mL50YJIPMCw e, NimStringDesc** result);
N_LIB_PRIVATE N_NIMCALL(void, renderTocEntries__lXmEBiWEMeUQB9cTe0c6XoQ)(tyObject_RstGenerator__yF9cB1II0vYb2F0YKmIiArg* d, NI* j, NI lvl, NimStringDesc** result);
N_LIB_PRIVATE N_NIMCALL(void, writeFile__D6Pj9c29aCLEJP9beOWa08HYA)(NimStringDesc* filename, NimStringDesc* content);
N_LIB_PRIVATE N_NIMCALL(void, readIndexDir__tb68DrT6xzF5ZfmNFMFm2Q)(NimStringDesc* dir, tyTuple__19af1Yi5wzYJHEoosvtCJdQ* Result);
static N_NIMCALL(void, Marker_tySequence__5PunAJrNQYcB8dF0jau3pQ)(void* p, NI op);
N_LIB_PRIVATE N_NIMCALL(void, initTable__I9aPNnheGFL82i9cc5xQlxyA)(NI initialSize, tyObject_Table__XC01wkRgzAyOjTiapde7hQ* Result);
N_NIMCALL(void*, newSeq)(TNimType* typ, NI len);
N_NIMCALL(void, genericSeqAssign)(void* dest, void* src, TNimType* mt);
static N_INLINE(NimStringDesc*, pop__uJq9ayjszaqUcdxv3Rz6G9bQsystem)(tySequence__sM4lkSb7zS6F7OVMvW9cffQ** s);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, slash___gEyhbzZ1UcxyenWRLJRXNQ)(NimStringDesc* head, NimStringDesc* tail);
static N_INLINE(NCSTRING, nimToCStringConv)(NimStringDesc* s);
static N_INLINE(void, pushSafePoint)(TSafePoint* s);
N_NIMCALL(NimStringDesc*, cstrToNimstr)(NCSTRING str);
static N_INLINE(NIM_BOOL, dirExists__AWUc3v8Mlad7tvNYF3Ak8Qos)(NimStringDesc* dir);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, nosexistsDir)(NimStringDesc* dir);
N_NIMCALL(TGenericSeq*, incrSeqV3)(TGenericSeq* s, TNimType* typ);
N_LIB_PRIVATE N_NIMCALL(FILE*, open__cb1k9citqyT9a9brBSJAz8pkg)(NimStringDesc* filename, tyEnum_FileMode__ZJfK20XeZ9bv2j1pZjw9aswg mode, NI bufSize);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, readLine__FbqDHP9bu7nqCh9c04dnSOxw)(FILE* f, NimStringDesc** line);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, substr__iGg0RIKceRvsmvq8FUHOEw)(NimStringDesc* s, NI first);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isDocumentationTitle__59alvxmcYHb5hQOcj69cvGPQ)(NimStringDesc* hyperlink);
N_LIB_PRIVATE N_NIMCALL(tySequence__sM4lkSb7zS6F7OVMvW9cffQ*, nsuSplitChar)(NimStringDesc* s, NIM_CHAR sep, NI maxsplit);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, unquoteIndexColumn__Hchmde6CO0ano09cqrnA4Ag_2)(NimStringDesc* text);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, multiReplace__bE9ctzdR0d2caO0lr9a9b8Jng)(NimStringDesc* s, tyTuple__UV3llMMYFckfui8YMBuUZA* replacements, NI replacementsLen_0);
static N_INLINE(void, popSafePoint)(void);
N_LIB_PRIVATE N_NIMCALL(void, close__fU6ZlJAtQ9bre04EDZLdGsA_3)(FILE* f);
N_NIMCALL(void, reraiseException)(void);
N_LIB_PRIVATE N_NIMCALL(NI, len__XkMbL52cqyBSUFesQIX9bTA)(tyObject_Table__XC01wkRgzAyOjTiapde7hQ t);
N_LIB_PRIVATE N_NIMCALL(void, X5BX5Deq___7WMJi0xLR1wauzIPHncLMA)(tyObject_Table__XC01wkRgzAyOjTiapde7hQ* t, tyObject_IndexEntry__G9ccBDFWfr9aYnLgXTNGDHDg* key, tySequence__5PunAJrNQYcB8dF0jau3pQ* val);
static N_INLINE(NI, emarkamp___Bho3MSI0G3qbEZZcjdigaQhashes)(NI h, NI val);
N_LIB_PRIVATE N_NIMCALL(NI, hash__6PCYkKlCNhq9cnRLnqWKkwQ)(NimStringDesc* x);
static N_INLINE(NI, emarkdollar___1VtZEcAzbCzFoJje5ex9aKwhashes)(NI h);
N_LIB_PRIVATE N_NIMCALL(tyEnum_PathComponent__9c1SIU9cO1wHcl09b703A9cDrg, getSymlinkFileKind__wTnLPNAWjgwVnuiJ9ax0ZGQ)(NimStringDesc* path);
N_LIB_PRIVATE N_NIMCALL(void, sort__BLQ2Oe9csF8Sez29axQeuW6w)(NimStringDesc** a, NI aLen_0, tyProc__kTj9c3SX9agxDQPZYwemi6ug cmp, tyEnum_SortOrder__8iBc6wlNqBa9cju9cUAhUAxA order);
N_LIB_PRIVATE N_NIMCALL(NI, cmp__NAicU5bAGXmkx2NJujGi7g)(NimStringDesc* x, NimStringDesc* y);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, generateDocumentationJumps__XPDBgoAkOtN37XXG3qoa3w)(tyObject_Table__XC01wkRgzAyOjTiapde7hQ docs);
static N_INLINE(NIM_BOOL, isFilled__5Qpmu5QqwDY0esVXn6wf7wtables)(NI hcode);
N_LIB_PRIVATE N_NIMCALL(void, sort__7qlGu9cYbTdvZ8E8NMXzZyQ)(tyObject_IndexEntry__G9ccBDFWfr9aYnLgXTNGDHDg* a, NI aLen_0, tyProc__zzrK9cTwi9admDvOCMDMSIXQ cmp, tyEnum_SortOrder__8iBc6wlNqBa9cju9cUAhUAxA order);
N_LIB_PRIVATE N_NIMCALL(NI, cmp__cfr1IhGZltviVbdLwYvoIw)(tyObject_IndexEntry__G9ccBDFWfr9aYnLgXTNGDHDg* a, tyObject_IndexEntry__G9ccBDFWfr9aYnLgXTNGDHDg* b);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nsuJoinSep)(NimStringDesc** a, NI aLen_0, NimStringDesc* sep);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, generateModuleJumps__l4r77qGmI5lROD0W69bqm9bg)(tySequence__sM4lkSb7zS6F7OVMvW9cffQ* modules);
N_LIB_PRIVATE N_NIMCALL(void, sortIndex__9a9cA1hoRT9bpo9aO79cDjEtWXA)(tyObject_IndexEntry__G9ccBDFWfr9aYnLgXTNGDHDg* a, NI aLen_0);
N_NIMCALL(NI, mulInt)(NI a, NI b);
static N_INLINE(NI, divInt)(NI a, NI b);
N_NOINLINE(void, raiseDivByZero)(void);
N_LIB_PRIVATE N_NIMCALL(void, ltminus___Ru5aRxpF3DVJvrrEdK89aWg)(tyObject_IndexEntry__G9ccBDFWfr9aYnLgXTNGDHDg* a, tyObject_IndexEntry__G9ccBDFWfr9aYnLgXTNGDHDg* b);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, generateSymbolIndex__5iRfVY0N1Vl19aH6haiuKlQ)(tySequence__5PunAJrNQYcB8dF0jau3pQ* symbols);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, escapeLink__CG3Pm1f26Xv9bcO1ymY7HaA_2)(NimStringDesc* s);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nsuToHex)(NI64 x, NI len);
extern TNimType NTI__ytyiCJqK439aF9cIibuRVpAg_;
TNimType NTI__yF9cB1II0vYb2F0YKmIiArg_;
TNimType NTI__lDlBg9cTod71s9abpUj82lsw_;
extern TNimType NTI__n9cmoMXcDs47wYDFGEXuCfw_;
extern TNimType NTI__rR5Bzr1D5krxoo1NcNyeMA_;
TNimType NTI__z7kal23LlR1mL50YJIPMCw_;
extern TNimType NTI__eiDrOE3AS6QEbCsY2gtdWQ_;
extern TNimType NTI__77mFvmsOLKik79ci2hXkHEg_;
TNimType NTI__b7kA8pLABz0wMAUNGYo6Wg_;
extern TNimType NTI__VaVACK0bpYmqIQ0mKcHfQQ_;
extern TNimType NTI__triPNwGxgWAG1ULojVLJPA_;
extern TNimType NTI__lRW9cfxqfm1ql4gkxfLReYg_;
extern TNimType NTI__r4CIWZzpiVlkxuVaaDT8Lw_;
TNimType NTI__C9cQfUOxfT2Mk6yT19cPu9aIA_;
extern TNimType NTI__i55W8RrwGKsG9cl0sAKxgkQ_;
TNimType NTI__t9cP9cH9bP2v9cQZNd2RjMTNLg_;
extern TNimType NTI__vr5DoT1jILTGdRlYv1OYpw_;
extern TNimType NTI__HsJiUUcO9cHBdUCi0HwkSTA_;
extern tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ gch__IcYaEuuWivYAS86vFMTS3Q;
TNimType NTI__VGrTBDzO5FHLY33yjUsvkA_;
extern TNimType NTI__LpbEPkKqvJ0VCa4hwZcOBQ_;
extern TNimType NTI__UV3llMMYFckfui8YMBuUZA_;
extern TNimType NTI__XJrmQSLLjVmugZQb54lVWA_;
TNimType NTI__19af1Yi5wzYJHEoosvtCJdQ_;
extern TNimType NTI__sM4lkSb7zS6F7OVMvW9cffQ_;
TNimType NTI__G9ccBDFWfr9aYnLgXTNGDHDg_;
TNimType NTI__5PunAJrNQYcB8dF0jau3pQ_;
extern TNimType NTI__XC01wkRgzAyOjTiapde7hQ_;
extern TSafePoint* excHandler__rqLlY5bs9atDw2OXYqJEn5g;
extern TSafePoint* excHandler__rqLlY5bs9atDw2OXYqJEn5g;
extern TSafePoint* excHandler__rqLlY5bs9atDw2OXYqJEn5g;
extern TSafePoint* excHandler__rqLlY5bs9atDw2OXYqJEn5g;
extern TNimType NTI__wAC0kXbVGkLoWP8vdi0sUw_;
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_8, ".nim", 4);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_9, "Module ", 7);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_10, "split.item.toc", 14);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_16, "-", 1);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_19, "\012<h$1><a class=\"toc-backref\" id=\"$2\" href=\"#$2\">$3</a></h$1>", 60);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_20, "\\rsth$4{$3}\\label{$2}\012", 22);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_23, "\012<h$1 id=\"$2\">$3</h$1>", 22);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_26, "rstgen.nim(749, 10) `n.level >= 0` ", 35);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_28, "\\", 1);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_29, "\\n", 2);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_30, "\\t", 2);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_32, "iterators.nim(207, 11) `len(a) == L` the length of the string c"
"hanged while iterating over it", 93);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_33, "\012", 1);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_34, "html", 4);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_41, "<h$1 id=\"$2\"><center>$3</center></h$1>", 38);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_42, "\\rstov$4{$3}\\label{$2}\012", 23);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_47, "<hr />\012", 7);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_48, "\\hrule\012", 7);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_49, "<p>$1</p>\012", 10);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_50, "$1\012\012", 4);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_51, "<ul class=\"simple\">$1</ul>\012", 27);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_52, "\\begin{itemize}$1\\end{itemize}\012", 31);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_53, "<li>$1</li>\012", 12);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_54, "\\item $1\012", 9);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_55, "<ol class=\"simple\">$1</ol>\012", 27);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_56, "\\begin{enumerate}$1\\end{enumerate}\012", 35);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_57, "<dl class=\"docutils\">$1</dl>\012", 29);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_58, "\\begin{description}$1\\end{description}\012", 39);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_59, "<dt>$1</dt>\012", 12);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_60, "\\item[$1] ", 10);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_61, "<dd>$1</dd>\012", 12);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_62, "$1\012", 3);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_65, "<table class=\"docinfo\" frame=\"void\" rules=\"none\"><col class=\"do"
"cinfo-name\" /><col class=\"docinfo-content\" /><tbody valign=\"top\""
">$1</tbody></table>", 146);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_72, "<wbr />", 7);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_73, "\\-", 2);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_74, "&amp;", 5);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_75, "&lt;", 4);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_76, "&gt;", 4);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_77, "&quot;", 6);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_78, "\\_", 2);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_79, "\\symbol{123}", 12);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_80, "\\symbol{125}", 12);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_81, "\\symbol{91}", 11);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_82, "\\symbol{93}", 11);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_83, "\\symbol{92}", 11);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_84, "\\$", 2);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_85, "\\&", 2);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_86, "\\#", 2);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_87, "\\%", 2);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_88, "\\symbol{126}", 12);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_89, "\\symbol{64}", 11);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_90, "\\symbol{94}", 11);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_91, "\\symbol{96}", 11);
static NIM_CONST tySet_tyChar__nmiMWKVIe46vacnhAFrQvw TM__vGSJrCjWQr859bqRvctRIaA_99 = {
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}
;
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_100, "author", 6);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_101, "authors", 7);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_102, "version", 7);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_103, "<tr>$1</tr>\012", 12);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_104, "$1", 2);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_105, "<th class=\"docinfo-name\">$1:</th>", 33);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_106, "\\item[$1:]", 10);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_107, "<td>$1</td>", 11);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_108, " $1\012", 4);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_109, "<table frame=\"void\">$1</table>", 30);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_110, "\\begin{description}\012$1\\end{description}\012", 40);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_111, "<th align=\"left\">$1</th>", 24);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_112, "\\item[$1]", 9);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_113, "<td align=\"left\">$1</td>\012", 25);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_114, "rstgen.nim(1054, 14) `false` renderRstToOut", 43);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_115, "<pre>$1</pre>\012", 14);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_116, "\\begin{rstpre}\012$1\012\\end{rstpre}\012", 31);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_117, "rstgen.nim(1059, 14) `false` renderRstToOut", 43);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_118, "<p>$1</p>", 9);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_119, "$1<br />", 8);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_120, "$1\\\\\012", 5);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_121, "<blockquote><p>$1</p></blockquote>\012", 35);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_122, "\\begin{quote}$1\\end{quote}\012", 27);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_123, "<table border=\"1\" class=\"docutils\">$1</table>", 45);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_124, "\\begin{table}\\begin{rsttab}{", 28);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_125, "|X", 2);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_127, "|}\012\\hline\012$1\\end{rsttab}\\end{table}", 35);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_129, " & ", 3);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_131, "\\\\\012\\hline\012", 10);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_132, "<tr>", 4);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_133, "</tr>\012", 6);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_134, "<th>$1</th>", 11);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_135, "\\textbf{$1}", 11);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_136, "rstgen.nim(1090, 14) `false` renderRstToOut", 43);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_137, "rstgen.nim(1092, 14) `false` renderRstToOut", 43);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_138, "rstgen.nim(1094, 14) `false` renderRstToOut", 43);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_139, "<a class=\"reference external\" href=\"#$2\">$1</a>", 47);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_140, "$1\\ref{$2}", 10);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_141, "<a class=\"reference external\" href=\"$1\">$1</a>", 46);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_142, "\\href{$1}{$1}", 13);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_143, "<a class=\"reference external\" href=\"$2\">$1</a>", 46);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_144, "\\href{$2}{$1}", 13);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_145, "scale", 5);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_146, " scale=\"$1\"", 11);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_147, " scale=$1", 9);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_148, "height", 6);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_149, " height=\"$1\"", 12);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_150, " height=$1", 10);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_151, "width", 5);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_152, " width=\"$1\"", 11);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_153, " width=$1", 9);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_154, "alt", 3);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_155, " alt=\"$1\"", 9);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_156, "align", 5);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_157, " align=\"$1\"", 11);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_158, "[$1]", 4);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_159, ".mp4", 4);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_160, ".ogg", 4);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_161, ".webm", 5);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_162, "      <video src=\"$1\"$2 autoPlay=\'true\' loop=\'true\' muted=\'true"
"\'>\012      Sorry, your browser doesn\'t support embedded videos\012   "
"   </video>\012    ", 143);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_163, "<img src=\"$1\"$2/>", 17);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_164, "\\includegraphics$2{$1}", 22);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_165, "rstgen.nim(939, 10) `n.kind == rnCodeBlock` ", 44);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_167, "rstgen.nim(886, 10) `n.kind == rnCodeBlock` ", 44);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_168, "rstgen.nim(887, 9) `not n.sons[2].isNil` ", 41);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_169, "number-lines", 12);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_170, "file", 4);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_171, "filename", 8);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_172, "test", 4);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_173, "status", 6);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_174, "exitcode", 8);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_175, "default-language", 16);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_176, "nim c -r $1", 11);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_177, "\"", 1);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_180, "iterators.nim(189, 11) `len(a) == L` the length of the seq chan"
"ged while iterating over it", 90);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_181, "rstgen.nim(943, 10) `m.kind == rnLeaf` ", 39);
static NIM_CONST tyProc__t9cP9cH9bP2v9cQZNd2RjMTNLg TM__vGSJrCjWQr859bqRvctRIaA_182 = {NIM_NIL,NIM_NIL};
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_185, "doc.listing_start", 17);
extern NIM_CONST tyArray__CchsCKVbWNDjfQ2XsaO6Aw sourceLanguageToStr__HxGhuVvqzgyr9b5gK42kE9aw;
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_186, "doc.listing_end", 15);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_187, "rstgen.nim(915, 10) `codeLines > 0` ", 36);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_188, "<table class=\"line-nums-table\"><tbody><tr><td class=\"blob-line-"
"nums\"><pre class=\"line-nums\">", 92);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_191, "</pre></td><td>", 15);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_192, "</td></tr></tbody></table>", 26);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_193, "doc.listing_button", 18);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_194, "\\begin{rstpre}\012", 15);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_199, "<span class=\"$2\">$1</span>", 26);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_200, "\\span$2{$1}", 11);
extern NIM_CONST tyArray__b121gTFK3KCOh1bfQWQzTw tokenClassToStr__XoxGqeDe9c9bun9b5PoCUnzlg;
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_203, "\012\\end{rstpre}\012", 14);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_204, "<div>$1</div>", 13);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_205, "<div class=\"$1\">$2</div>", 24);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_206, "$2", 2);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_207, "|$1|", 4);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_208, "<sub>$1</sub>", 13);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_209, "\\rstsub{$1}", 11);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_210, "<sup>$1</sup>", 13);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_211, "\\rstsup{$1}", 11);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_212, "<em>$1</em>", 11);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_213, "\\emph{$1}", 9);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_214, "<strong>$1</strong>", 19);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_215, "<strong><em>$1</em></strong>", 28);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_216, "\\textbf{emph{$1}}", 17);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_218, "<span id=\"$1\">$2</span>", 23);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_219, "$2\\label{$1}", 12);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_220, "<tt class=\"docutils literal\"><span class=\"pre\">$1</span></tt>", 61);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_221, "\\texttt{$1}", 11);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_222, "<img src=\"$1\" width=\"15\"\012        height=\"17\" hspace=\"2\" vspace="
"\"2\" class=\"smiley\" />", 84);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_223, "\\includegraphics{$1}", 20);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_224, "doc.smiley_format", 17);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_225, "<li><a class=\"reference\" id=\"$1_toc\" href=\"#$1\">$2</a></li>\012", 60);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_226, "\\item\\label{$1_toc} $2\\ref{$1}\012", 31);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_228, "<ul class=\"simple\">$1</ul>", 26);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_229, "\\begin{enumerate}$1\\end{enumerate}", 34);
NIM_CONST struct {
  TGenericSeq Sup;
  NimStringDesc* data[1];
} TM__vGSJrCjWQr859bqRvctRIaA_233 = {{1, 1 | NIM_STRLIT_FLAG}, {((NimStringDesc*) NIM_NIL)}};
NIM_CONST tySequence__sM4lkSb7zS6F7OVMvW9cffQ* TM__vGSJrCjWQr859bqRvctRIaA_232 = ((tySequence__sM4lkSb7zS6F7OVMvW9cffQ*)&TM__vGSJrCjWQr859bqRvctRIaA_233);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_236, ".", 1);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_237, "..", 2);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_238, ".idx", 4);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_243, "rstgen.nim(613, 18) `extraCols.len == 3` ", 41);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_245, "\011", 1);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_246, "\\\\", 2);
NIM_CONST tyArray__0ipey9aZuUA8jy4OAHzODQg TM__vGSJrCjWQr859bqRvctRIaA_244 = {{((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_30),
((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_245)}
,
{((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_29),
((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_33)}
,
{((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_246),
((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_28)}
}
;
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_252, "doc_toc_", 8);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_263, "Documents: ", 11);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_264, "tables.nim(713, 13) `len(t) ==\012    L` the length of the table c"
"hanged while iterating over it", 93);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_267, "<a href=\"", 9);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_268, "\">", 2);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_269, "</a>", 4);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_271, ", ", 2);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_272, ".<br/>", 6);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_273, "<p />", 5);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_274, "Modules: ", 9);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_275, ".html\">", 7);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_285, "<h2>API symbols</h2>\012", 21);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_286, "<dl>", 4);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_288, "%", 1);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_290, "<dt><a name=\"$2\" href=\"#$2\"><span>$1:</span></a></dt><dd><ul cl"
"ass=\"simple\">\012", 77);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_291, "<li><a class=\"reference external\"\012          title=\"$3\" data-doc"
"-search-tag=\"$2\" href=\"$1\">$2</a></li>\012          ", 112);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_292, "<li><a class=\"reference external\"\012          data-doc-search-tag"
"=\"$2\" href=\"$1\">$2</a></li>\012          ", 101);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_294, "</ul></dd>\012", 11);
STRING_LITERAL(TM__vGSJrCjWQr859bqRvctRIaA_295, "</dl>", 5);
static N_NIMCALL(void, Marker_tySequence__b7kA8pLABz0wMAUNGYo6Wg)(void* p, NI op) {
	tySequence__b7kA8pLABz0wMAUNGYo6Wg* a;
	NI T1_;
	a = (tySequence__b7kA8pLABz0wMAUNGYo6Wg*)p;
	T1_ = (NI)0;
	for (T1_ = 0; T1_ < (a ? a->Sup.len : 0); T1_++) {
	nimGCvisit((void*)a->data[T1_].n, op);
	nimGCvisit((void*)a->data[T1_].refname, op);
	nimGCvisit((void*)a->data[T1_].header, op);
	}
}
static N_INLINE(void, nimSetMem__zxfKBYntu9cBapkhrCOk1fgmemory)(void* a, int v, NI size) {	void* T1_;
	T1_ = (void*)0;
	T1_ = memset(a, v, ((size_t) (size)));
}
static N_INLINE(void, nimZeroMem)(void* p, NI size) {	nimSetMem__zxfKBYntu9cBapkhrCOk1fgmemory(p, ((int) 0), size);
}
static N_INLINE(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__9bGgqEk7RXXl6eqM9c1HdELAsystem)(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__9bGgqEk7RXXl6eqM9c1HdELAsystem(((void*) ((&a->data[((NI) 0)]))), ((void*) ((&b->data[((NI) 0)]))), ((NI) (alen)));
		goto BeforeRet_;
	}
	LA3_: ;
	}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__i80o3k0SgEI5gTRCzYdyWAsystem)(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__i80o3k0SgEI5gTRCzYdyWAsystem(((void*) ((&(*dest).data[(*dest).Sup.len]))), ((void*) ((*src).data)), ((NI) ((NI)((*src).Sup.len + ((NI) 1)))));
		(*dest).Sup.len += (*src).Sup.len;
	}
	LA3_: ;
}
static N_INLINE(NI, chckRange)(NI i, NI a, NI b) {	NI result;
{	result = (NI)0;
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = (a <= i);
		if (!(T3_)) goto LA4_;
		T3_ = (i <= b);
		LA4_: ;
		if (!T3_) goto LA5_;
		result = i;
		goto BeforeRet_;
	}
	goto LA1_;
	LA5_: ;
	{
		raiseRangeError(((NI64) (i)));
	}
	LA1_: ;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NI, addInt)(NI a, NI b) {	NI result;
{	result = (NI)0;
	result = (NI)((NU64)(a) + (NU64)(b));
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = (((NI) 0) <= (NI)(result ^ a));
		if (T3_) goto LA4_;
		T3_ = (((NI) 0) <= (NI)(result ^ b));
		LA4_: ;
		if (!T3_) goto LA5_;
		goto BeforeRet_;
	}
	LA5_: ;
	raiseOverflow();
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, initRstGenerator__BWbIBXSMTyNrKpXn9cX42Ow)(tyObject_RstGenerator__yF9cB1II0vYb2F0YKmIiArg* g, tyEnum_OutputTarget__lDlBg9cTod71s9abpUj82lsw target, tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* config, NimStringDesc* filename, tySet_tyEnum_RstParseOption__fiZmsylYkyh6nEciRZcPsw options, tyProc__lRW9cfxqfm1ql4gkxfLReYg findFile, tyProc__r4CIWZzpiVlkxuVaaDT8Lw msgHandler) {	tyTuple__7q7q3E6Oj24ZNVJb9aonhAg fileParts;
	NimStringDesc* s;
	unsureAsgnRef((void**) (&(*g).config), config);
	(*g).target = target;
	unsureAsgnRef((void**) (&(*g).tocPart), NIM_NIL);
	unsureAsgnRef((void**) (&(*g).filename), copyString(filename));
	(*g).splitAfter = ((NI) 20);
	unsureAsgnRef((void**) (&(*g).theIndex), ((NimStringDesc*) NIM_NIL));
	(*g).options = options;
	unsureAsgnRef((void**) (&(*g).findFile.ClE_0), findFile.ClE_0);
	(*g).findFile.ClP_0 = findFile.ClP_0;
	unsureAsgnRef((void**) (&(*g).currentSection), ((NimStringDesc*) NIM_NIL));
	(*g).id = ((NI) 0);
	nimZeroMem((void*)(&fileParts), sizeof(tyTuple__7q7q3E6Oj24ZNVJb9aonhAg));
	nossplitFile(filename, (&fileParts));
	{
		NimStringDesc* T5_;
		if (!eqStrings(fileParts.Field2, ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_8))) goto LA3_;
		T5_ = (NimStringDesc*)0;
		T5_ = rawNewString((fileParts.Field1 ? fileParts.Field1->Sup.len : 0) + 7);
appendString(T5_, ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_9));
appendString(T5_, fileParts.Field1);
		unsureAsgnRef((void**) (&(*g).currentSection), T5_);
	}
	LA3_: ;
	initTable__RrWZeIMfwjxuENvIG9aHB8g(((NI) 64), (&(*g).seenIndexTerms));
	unsureAsgnRef((void**) (&(*g).msgHandler.ClE_0), msgHandler.ClE_0);
	(*g).msgHandler.ClP_0 = msgHandler.ClP_0;
	s = getOrDefault__2a0cbxcfpWcXtK45m9bR5Kg(config, ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_10), ((NimStringDesc*) NIM_NIL));
	{
		if (!!(((s ? s->Sup.len : 0) == 0))) goto LA8_;
		(*g).splitAfter = nsuParseInt(s);
	}
	LA8_: ;
	{
		tyEnum_MetaEnum__HD14RiMbGt9aRJpE4GI3T9cg i;
		NI res;
		i = (tyEnum_MetaEnum__HD14RiMbGt9aRJpE4GI3T9cg)0;
		res = ((NI) 0);
		{
			while (1) {
				NI TM__vGSJrCjWQr859bqRvctRIaA_11;
				if (!(res <= ((NI) 4))) goto LA12;
				i = ((tyEnum_MetaEnum__HD14RiMbGt9aRJpE4GI3T9cg)chckRange(res, ((tyEnum_MetaEnum__HD14RiMbGt9aRJpE4GI3T9cg) 0), ((tyEnum_MetaEnum__HD14RiMbGt9aRJpE4GI3T9cg) 4)));
				unsureAsgnRef((void**) (&(*g).meta[(i)- 0]), ((NimStringDesc*) NIM_NIL));
				TM__vGSJrCjWQr859bqRvctRIaA_11 = addInt(res, ((NI) 1));
				res = (NI)(TM__vGSJrCjWQr859bqRvctRIaA_11);
			} LA12: ;
		}
	}
}
static N_INLINE(NI, subInt)(NI a, NI b) {	NI result;
{	result = (NI)0;
	result = (NI)((NU64)(a) - (NU64)(b));
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = (((NI) 0) <= (NI)(result ^ a));
		if (T3_) goto LA4_;
		T3_ = (((NI) 0) <= (NI)(result ^ (NI)((NU64) ~(b))));
		LA4_: ;
		if (!T3_) goto LA5_;
		goto BeforeRet_;
	}
	LA5_: ;
	raiseOverflow();
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, renderAux__9bVWgX0SWmhEi3eHlrcMD8g_2)(tyObject_RstGenerator__yF9cB1II0vYb2F0YKmIiArg* d, tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* n, NimStringDesc** result) {	{
		NI i;
		NI colontmp_;
		NI T2_;
		NI TM__vGSJrCjWQr859bqRvctRIaA_12;
		NI res;
		i = (NI)0;
		colontmp_ = (NI)0;
		T2_ = (NI)0;
		T2_ = len__bM2v46TeKfDIrVkegSIy9ag(n);
		TM__vGSJrCjWQr859bqRvctRIaA_12 = subInt(T2_, ((NI) 1));
		colontmp_ = (NI)(TM__vGSJrCjWQr859bqRvctRIaA_12);
		res = ((NI) 0);
		{
			while (1) {
				NI TM__vGSJrCjWQr859bqRvctRIaA_13;
				if (!(res <= colontmp_)) 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);
				renderRstToOut__9bVWgX0SWmhEi3eHlrcMD8g(d, (*n).sons->data[i], result);
				TM__vGSJrCjWQr859bqRvctRIaA_13 = addInt(res, ((NI) 1));
				res = (NI)(TM__vGSJrCjWQr859bqRvctRIaA_13);
			} LA4: ;
		}
	}
}
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)((NU64)((*c).refcount) - (NU64)(((NI) 8)));
	{
		if (!((NU64)((*c).refcount) < (NU64)(((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)((NU64)(((NI) (ptrdiff_t) (usr))) - (NU64)(((NI) 16)))));
	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)((NU64)((*c).refcount) + (NU64)(((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(void, dispA__3GZ9bx75poGreVGlawa9aBDg)(tyEnum_OutputTarget__lDlBg9cTod71s9abpUj82lsw target, NimStringDesc** dest, NimStringDesc* xml, NimStringDesc* tex, NimStringDesc** args, NI argsLen_0) {	{
		if (!!((target == ((tyEnum_OutputTarget__lDlBg9cTod71s9abpUj82lsw) 1)))) goto LA3_;
		nsuAddf(dest, xml, args, argsLen_0);
	}
	goto LA1_;
	LA3_: ;
	{
		nsuAddf(dest, tex, args, argsLen_0);
	}
	LA1_: ;
}
static N_INLINE(void, appendChar)(NimStringDesc* dest, NIM_CHAR c) {	(*dest).data[(*dest).Sup.len] = c;
	(*dest).data[(NI)((*dest).Sup.len + ((NI) 1))] = 0;
	(*dest).Sup.len += ((NI) 1);
}
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, quoteIndexColumn__Hchmde6CO0ano09cqrnA4Ag)(NimStringDesc* text) {	NimStringDesc* result;
	NI TM__vGSJrCjWQr859bqRvctRIaA_27;
	result = (NimStringDesc*)0;
	TM__vGSJrCjWQr859bqRvctRIaA_27 = addInt((text ? text->Sup.len : 0), ((NI) 3));
	result = rawNewString(((NI)chckRange((NI)(TM__vGSJrCjWQr859bqRvctRIaA_27), ((NI) 0), ((NI) IL64(9223372036854775807)))));
	{
		NIM_CHAR c;
		NI i;
		NI L;
		c = (NIM_CHAR)0;
		i = ((NI) 0);
		L = (text ? text->Sup.len : 0);
		{
			while (1) {
				NI TM__vGSJrCjWQr859bqRvctRIaA_31;
				if (!(i < L)) goto LA3;
				if ((NU)(i) >= (NU)(text ? text->Sup.len : 0)) raiseIndexError2(i,(text ? text->Sup.len : 0)-1);
				c = text->data[i];
				switch (((NU8)(c))) {
				case 92:
				{
					result = resizeString(result, 1);
appendString(result, ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_28));
				}
				break;
				case 10:
				{
					result = resizeString(result, 2);
appendString(result, ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_29));
				}
				break;
				case 13:
				{
				}
				break;
				case 9:
				{
					result = resizeString(result, 2);
appendString(result, ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_30));
				}
				break;
				default:
				{
					result = addChar(result, c);
				}
				break;
				}
				TM__vGSJrCjWQr859bqRvctRIaA_31 = addInt(i, ((NI) 1));
				i = (NI)(TM__vGSJrCjWQr859bqRvctRIaA_31);
				{
					if (!!(((text ? text->Sup.len : 0) == L))) goto LA11_;
					failedAssertImpl__W9cjVocn1tjhW7p7xohJj6A(((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_32));
				}
				LA11_: ;
			} LA3: ;
		}
	}
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, setIndexTerm__59a2OAWg9c9azGlf9aSfMJTaLA)(tyObject_RstGenerator__yF9cB1II0vYb2F0YKmIiArg* d, NimStringDesc* htmlFile, NimStringDesc* id, NimStringDesc* term, NimStringDesc* linkTitle, NimStringDesc* linkDesc) {	NimStringDesc* entry;
	NIM_BOOL isTitle;
	entry = copyString(term);
	isTitle = NIM_FALSE;
	entry = addChar(entry, 9);
	entry = resizeString(entry, (htmlFile ? htmlFile->Sup.len : 0) + 0);
appendString(entry, htmlFile);
	{
		if (!(((NI) 0) < (id ? id->Sup.len : 0))) goto LA3_;
		entry = addChar(entry, 35);
		entry = resizeString(entry, (id ? id->Sup.len : 0) + 0);
appendString(entry, id);
	}
	goto LA1_;
	LA3_: ;
	{
		isTitle = NIM_TRUE;
	}
	LA1_: ;
	{
		NIM_BOOL T8_;
		NimStringDesc* T12_;
		NimStringDesc* T13_;
		NimStringDesc* T14_;
		NimStringDesc* T15_;
		T8_ = (NIM_BOOL)0;
		T8_ = (((NI) 0) < (linkTitle ? linkTitle->Sup.len : 0));
		if (T8_) goto LA9_;
		T8_ = (((NI) 0) < (linkDesc ? linkDesc->Sup.len : 0));
		LA9_: ;
		if (!T8_) goto LA10_;
		T12_ = (NimStringDesc*)0;
		T13_ = (NimStringDesc*)0;
		T13_ = quoteIndexColumn__Hchmde6CO0ano09cqrnA4Ag(linkTitle);
		T12_ = rawNewString((T13_ ? T13_->Sup.len : 0) + 1);
appendChar(T12_, 9);
appendString(T12_, T13_);
		entry = resizeString(entry, (T12_ ? T12_->Sup.len : 0) + 0);
appendString(entry, T12_);
		T14_ = (NimStringDesc*)0;
		T15_ = (NimStringDesc*)0;
		T15_ = quoteIndexColumn__Hchmde6CO0ano09cqrnA4Ag(linkDesc);
		T14_ = rawNewString((T15_ ? T15_->Sup.len : 0) + 1);
appendChar(T14_, 9);
appendString(T14_, T15_);
		entry = resizeString(entry, (T14_ ? T14_->Sup.len : 0) + 0);
appendString(entry, T14_);
	}
	LA10_: ;
	entry = resizeString(entry, 1);
appendString(entry, ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_33));
	{
		if (!isTitle) goto LA18_;
		insert__bnB13E7BS4dZJaaSQFdX5w((&(*d).theIndex), entry, ((NI) 0));
	}
	goto LA16_;
	LA18_: ;
	{
		unsureAsgnRef((void**) (&(*d).theIndex), resizeString((*d).theIndex, (entry ? entry->Sup.len : 0) + 0));
appendString((*d).theIndex, entry);
	}
	LA16_: ;
}
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, stripTocHtml__CG3Pm1f26Xv9bcO1ymY7HaA)(NimStringDesc* s) {	NimStringDesc* result;
	NI first;
{	result = (NimStringDesc*)0;
	result = copyString(s);
	first = nsuFindChar(result, 60, ((NI) 0), ((NI) 0));
	{
		while (1) {
			NI last;
			if (!(((NI) 0) <= first)) goto LA2;
			last = nsuFindChar(result, 62, ((NI)chckRange(first, ((NI) 0), ((NI) IL64(9223372036854775807)))), ((NI) 0));
			{
				if (!(last < ((NI) 0))) goto LA5_;
				goto BeforeRet_;
			}
			LA5_: ;
			nsuDelete((&result), first, last);
			first = nsuFindChar(result, 60, ((NI)chckRange(first, ((NI) 0), ((NI) IL64(9223372036854775807)))), ((NI) 0));
		} LA2: ;
	}
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NimStringDesc*, spaces__rssDy7zs9cDeoYTeCoIy0Wgstrutils)(NI n) {	NimStringDesc* result;
	result = (NimStringDesc*)0;
	result = nsuRepeatChar(32, n);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, renderHeadline__9bVWgX0SWmhEi3eHlrcMD8g_3)(tyObject_RstGenerator__yF9cB1II0vYb2F0YKmIiArg* d, tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* n, NimStringDesc** result) {	NimStringDesc* tmp;
	NimStringDesc* sectionPrefix;
	NimStringDesc* refname;
	NimStringDesc* T15_;
	NimStringDesc* T16_;
	NimStringDesc* T31_;
	NimStringDesc* T32_;
	NimStringDesc* T33_;
	NimStringDesc* T34_;
	NimStringDesc* T35_;
	tmp = ((NimStringDesc*) NIM_NIL);
	{
		NI i;
		NI colontmp_;
		NI T2_;
		NI TM__vGSJrCjWQr859bqRvctRIaA_14;
		NI res;
		i = (NI)0;
		colontmp_ = (NI)0;
		T2_ = (NI)0;
		T2_ = len__bM2v46TeKfDIrVkegSIy9ag(n);
		TM__vGSJrCjWQr859bqRvctRIaA_14 = subInt(T2_, ((NI) 1));
		colontmp_ = (NI)(TM__vGSJrCjWQr859bqRvctRIaA_14);
		res = ((NI) 0);
		{
			while (1) {
				NI TM__vGSJrCjWQr859bqRvctRIaA_15;
				if (!(res <= colontmp_)) 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);
				renderRstToOut__9bVWgX0SWmhEi3eHlrcMD8g(d, (*n).sons->data[i], (&tmp));
				TM__vGSJrCjWQr859bqRvctRIaA_15 = addInt(res, ((NI) 1));
				res = (NI)(TM__vGSJrCjWQr859bqRvctRIaA_15);
			} LA4: ;
		}
	}
	unsureAsgnRef((void**) (&(*d).currentSection), copyString(tmp));
	sectionPrefix = ((NimStringDesc*) NIM_NIL);
	{
		NI i_2;
		NI colontmp__2;
		NI T6_;
		NI res_2;
		i_2 = (NI)0;
		colontmp__2 = (NI)0;
		T6_ = (((*d).tocPart ? (*d).tocPart->Sup.len : 0)-1);
		colontmp__2 = T6_;
		res_2 = colontmp__2;
		{
			while (1) {
				tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* n2;
				NI TM__vGSJrCjWQr859bqRvctRIaA_17;
				if (!(((NI) 0) <= res_2)) goto LA8;
				i_2 = res_2;
				if ((NU)(i_2) >= (NU)((*d).tocPart ? (*d).tocPart->Sup.len : 0)) raiseIndexError2(i_2,((*d).tocPart ? (*d).tocPart->Sup.len : 0)-1);
				n2 = (*d).tocPart->data[i_2].n;
				{
					NimStringDesc* T13_;
					NimStringDesc* T14_;
					if (!((*n2).level < (*n).level)) goto LA11_;
					T13_ = (NimStringDesc*)0;
					T14_ = (NimStringDesc*)0;
					T14_ = rstnodeToRefname__TOPoj9cIRh7GBTY6PKofpTQ(n2);
					T13_ = rawNewString((T14_ ? T14_->Sup.len : 0) + 1);
appendString(T13_, T14_);
appendString(T13_, ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_16));
					sectionPrefix = T13_;
					goto LA5;
				}
				LA11_: ;
				TM__vGSJrCjWQr859bqRvctRIaA_17 = subInt(res_2, ((NI) 1));
				res_2 = (NI)(TM__vGSJrCjWQr859bqRvctRIaA_17);
			} LA8: ;
		}
	} LA5: ;
	T15_ = (NimStringDesc*)0;
	T16_ = (NimStringDesc*)0;
	T16_ = rstnodeToRefname__TOPoj9cIRh7GBTY6PKofpTQ(n);
	T15_ = rawNewString((sectionPrefix ? sectionPrefix->Sup.len : 0) + (T16_ ? T16_->Sup.len : 0) + 0);
appendString(T15_, sectionPrefix);
appendString(T15_, T16_);
	refname = T15_;
	{
		NI length;
		NI T21_;
		NI TM__vGSJrCjWQr859bqRvctRIaA_18;
		NimStringDesc* T22_;
		NimStringDesc* T23_;
		tyArray__sMpvt1sOxOJ3LFGulnbeMQ T24_;
		NI TM__vGSJrCjWQr859bqRvctRIaA_21;
		NI TM__vGSJrCjWQr859bqRvctRIaA_22;
		if (!(*d).hasToc) goto LA19_;
		T21_ = ((*d).tocPart ? (*d).tocPart->Sup.len : 0);
		length = T21_;
		TM__vGSJrCjWQr859bqRvctRIaA_18 = addInt(length, ((NI) 1));
		unsureAsgnRef((void**) (&(*d).tocPart), (tySequence__b7kA8pLABz0wMAUNGYo6Wg*) setLengthSeqV2(&((*d).tocPart)->Sup, (&NTI__b7kA8pLABz0wMAUNGYo6Wg_), ((NI)chckRange((NI)(TM__vGSJrCjWQr859bqRvctRIaA_18), ((NI) 0), ((NI) IL64(9223372036854775807))))));
		if ((NU)(length) >= (NU)((*d).tocPart ? (*d).tocPart->Sup.len : 0)) raiseIndexError2(length,((*d).tocPart ? (*d).tocPart->Sup.len : 0)-1);
		T22_ = (NimStringDesc*)0;
		T22_ = (*d).tocPart->data[length].refname; (*d).tocPart->data[length].refname = copyStringRC1(refname);
		if (T22_) nimGCunrefNoCycle(T22_);
		if ((NU)(length) >= (NU)((*d).tocPart ? (*d).tocPart->Sup.len : 0)) raiseIndexError2(length,((*d).tocPart ? (*d).tocPart->Sup.len : 0)-1);
		asgnRef((void**) (&(*d).tocPart->data[length].n), n);
		if ((NU)(length) >= (NU)((*d).tocPart ? (*d).tocPart->Sup.len : 0)) raiseIndexError2(length,((*d).tocPart ? (*d).tocPart->Sup.len : 0)-1);
		T23_ = (NimStringDesc*)0;
		T23_ = (*d).tocPart->data[length].header; (*d).tocPart->data[length].header = copyStringRC1(tmp);
		if (T23_) nimGCunrefNoCycle(T23_);
		nimZeroMem((void*)T24_, sizeof(tyArray__sMpvt1sOxOJ3LFGulnbeMQ));
		T24_[0] = nimIntToStr((*n).level);
		if ((NU)(length) >= (NU)((*d).tocPart ? (*d).tocPart->Sup.len : 0)) raiseIndexError2(length,((*d).tocPart ? (*d).tocPart->Sup.len : 0)-1);
		T24_[1] = copyString((*d).tocPart->data[length].refname);
		T24_[2] = copyString(tmp);
		TM__vGSJrCjWQr859bqRvctRIaA_21 = subInt((*n).level, ((NI) 1));
		TM__vGSJrCjWQr859bqRvctRIaA_22 = addInt((NI)(TM__vGSJrCjWQr859bqRvctRIaA_21), ((NI) 65));
		T24_[3] = nimCharToStr(((NIM_CHAR) (((NI)chckRange((NI)(TM__vGSJrCjWQr859bqRvctRIaA_22), ((NI) 0), ((NI) 255))))));
		dispA__3GZ9bx75poGreVGlawa9aBDg((*d).target, result, ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_19), ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_20), T24_, 4);
	}
	goto LA17_;
	LA19_: ;
	{
		tyArray__sMpvt1sOxOJ3LFGulnbeMQ T26_;
		NI TM__vGSJrCjWQr859bqRvctRIaA_24;
		NI TM__vGSJrCjWQr859bqRvctRIaA_25;
		nimZeroMem((void*)T26_, sizeof(tyArray__sMpvt1sOxOJ3LFGulnbeMQ));
		T26_[0] = nimIntToStr((*n).level);
		T26_[1] = copyString(refname);
		T26_[2] = copyString(tmp);
		TM__vGSJrCjWQr859bqRvctRIaA_24 = subInt((*n).level, ((NI) 1));
		TM__vGSJrCjWQr859bqRvctRIaA_25 = addInt((NI)(TM__vGSJrCjWQr859bqRvctRIaA_24), ((NI) 65));
		T26_[3] = nimCharToStr(((NIM_CHAR) (((NI)chckRange((NI)(TM__vGSJrCjWQr859bqRvctRIaA_25), ((NI) 0), ((NI) 255))))));
		dispA__3GZ9bx75poGreVGlawa9aBDg((*d).target, result, ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_23), ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_20), T26_, 4);
	}
	LA17_: ;
	{
		if (!!((((NI) 0) <= (*n).level))) goto LA29_;
		failedAssertImpl__W9cjVocn1tjhW7p7xohJj6A(((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_26));
	}
	LA29_: ;
	T31_ = (NimStringDesc*)0;
	T31_ = nosextractFilename((*d).filename);
	T32_ = (NimStringDesc*)0;
	T32_ = noschangeFileExt(T31_, ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_34));
	T33_ = (NimStringDesc*)0;
	T33_ = stripTocHtml__CG3Pm1f26Xv9bcO1ymY7HaA(tmp);
	T34_ = (NimStringDesc*)0;
	T35_ = (NimStringDesc*)0;
	T35_ = spaces__rssDy7zs9cDeoYTeCoIy0Wgstrutils(((NI)chckRange(((((NI) 0) >= (*n).level) ? ((NI) 0) : (*n).level), ((NI) 0), ((NI) IL64(9223372036854775807)))));
	T34_ = rawNewString((T35_ ? T35_->Sup.len : 0) + (tmp ? tmp->Sup.len : 0) + 0);
appendString(T34_, T35_);
appendString(T34_, tmp);
	setIndexTerm__59a2OAWg9c9azGlf9aSfMJTaLA(d, T32_, refname, T33_, T34_, ((NimStringDesc*) NIM_NIL));
}
N_LIB_PRIVATE N_NIMCALL(void, renderOverline__9bVWgX0SWmhEi3eHlrcMD8g_4)(tyObject_RstGenerator__yF9cB1II0vYb2F0YKmIiArg* d, tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* n, NimStringDesc** result) {	{
		if (!(((*d).meta[(((tyEnum_MetaEnum__HD14RiMbGt9aRJpE4GI3T9cg) 1))- 0] ? (*d).meta[(((tyEnum_MetaEnum__HD14RiMbGt9aRJpE4GI3T9cg) 1))- 0]->Sup.len : 0) == ((NI) 0))) goto LA3_;
		{
			NI i;
			NI colontmp_;
			NI T6_;
			NI TM__vGSJrCjWQr859bqRvctRIaA_35;
			NI res;
			i = (NI)0;
			colontmp_ = (NI)0;
			T6_ = (NI)0;
			T6_ = len__bM2v46TeKfDIrVkegSIy9ag(n);
			TM__vGSJrCjWQr859bqRvctRIaA_35 = subInt(T6_, ((NI) 1));
			colontmp_ = (NI)(TM__vGSJrCjWQr859bqRvctRIaA_35);
			res = ((NI) 0);
			{
				while (1) {
					NI TM__vGSJrCjWQr859bqRvctRIaA_36;
					if (!(res <= colontmp_)) goto LA8;
					i = res;
					if ((NU)(i) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(i,((*n).sons ? (*n).sons->Sup.len : 0)-1);
					renderRstToOut__9bVWgX0SWmhEi3eHlrcMD8g(d, (*n).sons->data[i], (&(*d).meta[(((tyEnum_MetaEnum__HD14RiMbGt9aRJpE4GI3T9cg) 1))- 0]));
					TM__vGSJrCjWQr859bqRvctRIaA_36 = addInt(res, ((NI) 1));
					res = (NI)(TM__vGSJrCjWQr859bqRvctRIaA_36);
				} LA8: ;
			}
		}
		unsureAsgnRef((void**) (&(*d).currentSection), copyString((*d).meta[(((tyEnum_MetaEnum__HD14RiMbGt9aRJpE4GI3T9cg) 1))- 0]));
	}
	goto LA1_;
	LA3_: ;
	{
		if (!(((*d).meta[(((tyEnum_MetaEnum__HD14RiMbGt9aRJpE4GI3T9cg) 2))- 0] ? (*d).meta[(((tyEnum_MetaEnum__HD14RiMbGt9aRJpE4GI3T9cg) 2))- 0]->Sup.len : 0) == ((NI) 0))) goto LA10_;
		{
			NI i_2;
			NI colontmp__2;
			NI T13_;
			NI TM__vGSJrCjWQr859bqRvctRIaA_37;
			NI res_2;
			i_2 = (NI)0;
			colontmp__2 = (NI)0;
			T13_ = (NI)0;
			T13_ = len__bM2v46TeKfDIrVkegSIy9ag(n);
			TM__vGSJrCjWQr859bqRvctRIaA_37 = subInt(T13_, ((NI) 1));
			colontmp__2 = (NI)(TM__vGSJrCjWQr859bqRvctRIaA_37);
			res_2 = ((NI) 0);
			{
				while (1) {
					NI TM__vGSJrCjWQr859bqRvctRIaA_38;
					if (!(res_2 <= colontmp__2)) goto LA15;
					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);
					renderRstToOut__9bVWgX0SWmhEi3eHlrcMD8g(d, (*n).sons->data[i_2], (&(*d).meta[(((tyEnum_MetaEnum__HD14RiMbGt9aRJpE4GI3T9cg) 2))- 0]));
					TM__vGSJrCjWQr859bqRvctRIaA_38 = addInt(res_2, ((NI) 1));
					res_2 = (NI)(TM__vGSJrCjWQr859bqRvctRIaA_38);
				} LA15: ;
			}
		}
		unsureAsgnRef((void**) (&(*d).currentSection), copyString((*d).meta[(((tyEnum_MetaEnum__HD14RiMbGt9aRJpE4GI3T9cg) 2))- 0]));
	}
	goto LA1_;
	LA10_: ;
	{
		NimStringDesc* tmp;
		tyArray__sMpvt1sOxOJ3LFGulnbeMQ T21_;
		NI TM__vGSJrCjWQr859bqRvctRIaA_43;
		NI TM__vGSJrCjWQr859bqRvctRIaA_44;
		tmp = ((NimStringDesc*) NIM_NIL);
		{
			NI i_3;
			NI colontmp__3;
			NI T18_;
			NI TM__vGSJrCjWQr859bqRvctRIaA_39;
			NI res_3;
			i_3 = (NI)0;
			colontmp__3 = (NI)0;
			T18_ = (NI)0;
			T18_ = len__bM2v46TeKfDIrVkegSIy9ag(n);
			TM__vGSJrCjWQr859bqRvctRIaA_39 = subInt(T18_, ((NI) 1));
			colontmp__3 = (NI)(TM__vGSJrCjWQr859bqRvctRIaA_39);
			res_3 = ((NI) 0);
			{
				while (1) {
					NI TM__vGSJrCjWQr859bqRvctRIaA_40;
					if (!(res_3 <= colontmp__3)) goto LA20;
					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);
					renderRstToOut__9bVWgX0SWmhEi3eHlrcMD8g(d, (*n).sons->data[i_3], (&tmp));
					TM__vGSJrCjWQr859bqRvctRIaA_40 = addInt(res_3, ((NI) 1));
					res_3 = (NI)(TM__vGSJrCjWQr859bqRvctRIaA_40);
				} LA20: ;
			}
		}
		unsureAsgnRef((void**) (&(*d).currentSection), copyString(tmp));
		nimZeroMem((void*)T21_, sizeof(tyArray__sMpvt1sOxOJ3LFGulnbeMQ));
		T21_[0] = nimIntToStr((*n).level);
		T21_[1] = rstnodeToRefname__TOPoj9cIRh7GBTY6PKofpTQ(n);
		T21_[2] = copyString(tmp);
		TM__vGSJrCjWQr859bqRvctRIaA_43 = subInt((*n).level, ((NI) 1));
		TM__vGSJrCjWQr859bqRvctRIaA_44 = addInt((NI)(TM__vGSJrCjWQr859bqRvctRIaA_43), ((NI) 65));
		T21_[3] = nimCharToStr(((NIM_CHAR) (((NI)chckRange((NI)(TM__vGSJrCjWQr859bqRvctRIaA_44), ((NI) 0), ((NI) 255))))));
		dispA__3GZ9bx75poGreVGlawa9aBDg((*d).target, result, ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_41), ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_42), T21_, 4);
	}
	LA1_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, renderAux__zVlkCIHCkLQV6Nm9a32Dl4w)(tyObject_RstGenerator__yF9cB1II0vYb2F0YKmIiArg* d, tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* n, NimStringDesc* frmtA, NimStringDesc* frmtB, NimStringDesc** result) {	NimStringDesc* tmp;
	tmp = ((NimStringDesc*) NIM_NIL);
	{
		NI i;
		NI colontmp_;
		NI T2_;
		NI TM__vGSJrCjWQr859bqRvctRIaA_45;
		NI res;
		i = (NI)0;
		colontmp_ = (NI)0;
		T2_ = (NI)0;
		T2_ = len__bM2v46TeKfDIrVkegSIy9ag(n);
		TM__vGSJrCjWQr859bqRvctRIaA_45 = subInt(T2_, ((NI) 1));
		colontmp_ = (NI)(TM__vGSJrCjWQr859bqRvctRIaA_45);
		res = ((NI) 0);
		{
			while (1) {
				NI TM__vGSJrCjWQr859bqRvctRIaA_46;
				if (!(res <= colontmp_)) 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);
				renderRstToOut__9bVWgX0SWmhEi3eHlrcMD8g(d, (*n).sons->data[i], (&tmp));
				TM__vGSJrCjWQr859bqRvctRIaA_46 = addInt(res, ((NI) 1));
				res = (NI)(TM__vGSJrCjWQr859bqRvctRIaA_46);
			} LA4: ;
		}
	}
	{
		tyArray__nHXaesL0DJZHyVS07ARPRA T9_;
		if (!!(((*d).target == ((tyEnum_OutputTarget__lDlBg9cTod71s9abpUj82lsw) 1)))) goto LA7_;
		nimZeroMem((void*)T9_, sizeof(tyArray__nHXaesL0DJZHyVS07ARPRA));
		T9_[0] = copyString(tmp);
		nsuAddf(result, frmtA, T9_, 1);
	}
	goto LA5_;
	LA7_: ;
	{
		tyArray__nHXaesL0DJZHyVS07ARPRA T11_;
		nimZeroMem((void*)T11_, sizeof(tyArray__nHXaesL0DJZHyVS07ARPRA));
		T11_[0] = copyString(tmp);
		nsuAddf(result, frmtB, T11_, 1);
	}
	LA5_: ;
}
N_LIB_PRIVATE N_NIMCALL(NI, nextSplitPoint__1bYOTvfWXChm7WZOI8uPdA)(NimStringDesc* s, NI start) {	NI result;
	NI TM__vGSJrCjWQr859bqRvctRIaA_71;
{	result = (NI)0;
	result = start;
	{
		while (1) {
			NI TM__vGSJrCjWQr859bqRvctRIaA_66;
			NI TM__vGSJrCjWQr859bqRvctRIaA_70;
			TM__vGSJrCjWQr859bqRvctRIaA_66 = addInt((s ? s->Sup.len : 0), ((NI) 0));
			if (!(result < (NI)(TM__vGSJrCjWQr859bqRvctRIaA_66))) goto LA2;
			if ((NU)(result) >= (NU)(s ? s->Sup.len : 0)) raiseIndexError2(result,(s ? s->Sup.len : 0)-1);
			switch (((NU8)(s->data[result]))) {
			case 95:
			{
				goto BeforeRet_;
			}
			break;
			case 97 ... 122:
			{
				{
					NI TM__vGSJrCjWQr859bqRvctRIaA_67;
					NI TM__vGSJrCjWQr859bqRvctRIaA_68;
					TM__vGSJrCjWQr859bqRvctRIaA_67 = addInt(result, ((NI) 1));
					TM__vGSJrCjWQr859bqRvctRIaA_68 = addInt((s ? s->Sup.len : 0), ((NI) 0));
					if (!((NI)(TM__vGSJrCjWQr859bqRvctRIaA_67) < (NI)(TM__vGSJrCjWQr859bqRvctRIaA_68))) goto LA7_;
					{
						NI TM__vGSJrCjWQr859bqRvctRIaA_69;
						TM__vGSJrCjWQr859bqRvctRIaA_69 = addInt(result, ((NI) 1));
						if ((NU)((NI)(TM__vGSJrCjWQr859bqRvctRIaA_69)) >= (NU)(s ? s->Sup.len : 0)) raiseIndexError2((NI)(TM__vGSJrCjWQr859bqRvctRIaA_69),(s ? s->Sup.len : 0)-1);
						if (!(((NU8)(s->data[(NI)(TM__vGSJrCjWQr859bqRvctRIaA_69)])) >= ((NU8)(65)) && ((NU8)(s->data[(NI)(TM__vGSJrCjWQr859bqRvctRIaA_69)])) <= ((NU8)(90)))) goto LA11_;
						goto BeforeRet_;
					}
					LA11_: ;
				}
				LA7_: ;
			}
			break;
			default:
			{
			}
			break;
			}
			TM__vGSJrCjWQr859bqRvctRIaA_70 = addInt(result, ((NI) 1));
			result = (NI)(TM__vGSJrCjWQr859bqRvctRIaA_70);
		} LA2: ;
	}
	TM__vGSJrCjWQr859bqRvctRIaA_71 = subInt(result, ((NI) 1));
	result = (NI)(TM__vGSJrCjWQr859bqRvctRIaA_71);
	}BeforeRet_: ;
	return result;
}
static N_INLINE(void, addSplitter__otpg39cSdGbkUPYMfuoVxQQrstgen)(tyEnum_OutputTarget__lDlBg9cTod71s9abpUj82lsw target, NimStringDesc** dest) {	switch (target) {
	case ((tyEnum_OutputTarget__lDlBg9cTod71s9abpUj82lsw) 0):
	{
		unsureAsgnRef((void**) (&(*dest)), resizeString((*dest), 7));
appendString((*dest), ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_72));
	}
	break;
	case ((tyEnum_OutputTarget__lDlBg9cTod71s9abpUj82lsw) 1):
	{
		unsureAsgnRef((void**) (&(*dest)), resizeString((*dest), 2));
appendString((*dest), ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_73));
	}
	break;
	}
}
N_LIB_PRIVATE N_NIMCALL(void, addXmlChar__jCxR1j9bCE42Z5E9bu9aEL9cEw)(NimStringDesc** dest, NIM_CHAR c) {	switch (((NU8)(c))) {
	case 38:
	{
		unsureAsgnRef((void**) (&(*dest)), resizeString((*dest), 5));
appendString((*dest), ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_74));
	}
	break;
	case 60:
	{
		unsureAsgnRef((void**) (&(*dest)), resizeString((*dest), 4));
appendString((*dest), ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_75));
	}
	break;
	case 62:
	{
		unsureAsgnRef((void**) (&(*dest)), resizeString((*dest), 4));
appendString((*dest), ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_76));
	}
	break;
	case 34:
	{
		unsureAsgnRef((void**) (&(*dest)), resizeString((*dest), 6));
appendString((*dest), ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_77));
	}
	break;
	default:
	{
		unsureAsgnRef((void**) (&(*dest)), addChar((*dest), c));
	}
	break;
	}
}
N_LIB_PRIVATE N_NIMCALL(void, addTexChar__jCxR1j9bCE42Z5E9bu9aEL9cEw_2)(NimStringDesc** dest, NIM_CHAR c) {	switch (((NU8)(c))) {
	case 95:
	{
		unsureAsgnRef((void**) (&(*dest)), resizeString((*dest), 2));
appendString((*dest), ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_78));
	}
	break;
	case 123:
	{
		unsureAsgnRef((void**) (&(*dest)), resizeString((*dest), 12));
appendString((*dest), ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_79));
	}
	break;
	case 125:
	{
		unsureAsgnRef((void**) (&(*dest)), resizeString((*dest), 12));
appendString((*dest), ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_80));
	}
	break;
	case 91:
	{
		unsureAsgnRef((void**) (&(*dest)), resizeString((*dest), 11));
appendString((*dest), ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_81));
	}
	break;
	case 93:
	{
		unsureAsgnRef((void**) (&(*dest)), resizeString((*dest), 11));
appendString((*dest), ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_82));
	}
	break;
	case 92:
	{
		unsureAsgnRef((void**) (&(*dest)), resizeString((*dest), 11));
appendString((*dest), ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_83));
	}
	break;
	case 36:
	{
		unsureAsgnRef((void**) (&(*dest)), resizeString((*dest), 2));
appendString((*dest), ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_84));
	}
	break;
	case 38:
	{
		unsureAsgnRef((void**) (&(*dest)), resizeString((*dest), 2));
appendString((*dest), ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_85));
	}
	break;
	case 35:
	{
		unsureAsgnRef((void**) (&(*dest)), resizeString((*dest), 2));
appendString((*dest), ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_86));
	}
	break;
	case 37:
	{
		unsureAsgnRef((void**) (&(*dest)), resizeString((*dest), 2));
appendString((*dest), ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_87));
	}
	break;
	case 126:
	{
		unsureAsgnRef((void**) (&(*dest)), resizeString((*dest), 12));
appendString((*dest), ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_88));
	}
	break;
	case 64:
	{
		unsureAsgnRef((void**) (&(*dest)), resizeString((*dest), 11));
appendString((*dest), ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_89));
	}
	break;
	case 94:
	{
		unsureAsgnRef((void**) (&(*dest)), resizeString((*dest), 11));
appendString((*dest), ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_90));
	}
	break;
	case 96:
	{
		unsureAsgnRef((void**) (&(*dest)), resizeString((*dest), 11));
appendString((*dest), ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_91));
	}
	break;
	default:
	{
		unsureAsgnRef((void**) (&(*dest)), addChar((*dest), c));
	}
	break;
	}
}
static N_INLINE(void, escChar__KYm7vXQBjUyQAIV7FSCu5Qrstgen)(tyEnum_OutputTarget__lDlBg9cTod71s9abpUj82lsw target, NimStringDesc** dest, NIM_CHAR c) {	switch (target) {
	case ((tyEnum_OutputTarget__lDlBg9cTod71s9abpUj82lsw) 0):
	{
		addXmlChar__jCxR1j9bCE42Z5E9bu9aEL9cEw(dest, c);
	}
	break;
	case ((tyEnum_OutputTarget__lDlBg9cTod71s9abpUj82lsw) 1):
	{
		addTexChar__jCxR1j9bCE42Z5E9bu9aEL9cEw_2(dest, c);
	}
	break;
	}
}
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, esc__Tgq9c7oEp9c4LGF7SoXGTh8w)(tyEnum_OutputTarget__lDlBg9cTod71s9abpUj82lsw target, NimStringDesc* s, NI splitAfter) {	NimStringDesc* result;
	result = (NimStringDesc*)0;
	result = ((NimStringDesc*) NIM_NIL);
	{
		NI partLen;
		NI j;
		if (!(((NI) 0) <= splitAfter)) goto LA3_;
		partLen = ((NI) 0);
		j = ((NI) 0);
		{
			while (1) {
				NI k;
				NI TM__vGSJrCjWQr859bqRvctRIaA_93;
				NI TM__vGSJrCjWQr859bqRvctRIaA_94;
				NI TM__vGSJrCjWQr859bqRvctRIaA_95;
				NI TM__vGSJrCjWQr859bqRvctRIaA_96;
				if (!(j < (s ? s->Sup.len : 0))) goto LA6;
				k = nextSplitPoint__1bYOTvfWXChm7WZOI8uPdA(s, j);
				partLen = ((NI) 0);
				addSplitter__otpg39cSdGbkUPYMfuoVxQQrstgen(target, (&result));
				{
					NI i;
					NI res;
					i = (NI)0;
					res = j;
					{
						while (1) {
							NI TM__vGSJrCjWQr859bqRvctRIaA_92;
							if (!(res <= k)) goto LA9;
							i = res;
							if ((NU)(i) >= (NU)(s ? s->Sup.len : 0)) raiseIndexError2(i,(s ? s->Sup.len : 0)-1);
							escChar__KYm7vXQBjUyQAIV7FSCu5Qrstgen(target, (&result), s->data[i]);
							TM__vGSJrCjWQr859bqRvctRIaA_92 = addInt(res, ((NI) 1));
							res = (NI)(TM__vGSJrCjWQr859bqRvctRIaA_92);
						} LA9: ;
					}
				}
				TM__vGSJrCjWQr859bqRvctRIaA_93 = subInt(k, j);
				TM__vGSJrCjWQr859bqRvctRIaA_94 = addInt((NI)(TM__vGSJrCjWQr859bqRvctRIaA_93), ((NI) 1));
				TM__vGSJrCjWQr859bqRvctRIaA_95 = addInt(partLen, (NI)(TM__vGSJrCjWQr859bqRvctRIaA_94));
				partLen = (NI)(TM__vGSJrCjWQr859bqRvctRIaA_95);
				TM__vGSJrCjWQr859bqRvctRIaA_96 = addInt(k, ((NI) 1));
				j = (NI)(TM__vGSJrCjWQr859bqRvctRIaA_96);
			} LA6: ;
		}
	}
	goto LA1_;
	LA3_: ;
	{
		{
			NI i_2;
			NI colontmp_;
			NI TM__vGSJrCjWQr859bqRvctRIaA_97;
			NI res_2;
			i_2 = (NI)0;
			colontmp_ = (NI)0;
			TM__vGSJrCjWQr859bqRvctRIaA_97 = subInt((s ? s->Sup.len : 0), ((NI) 1));
			colontmp_ = (NI)(TM__vGSJrCjWQr859bqRvctRIaA_97);
			res_2 = ((NI) 0);
			{
				while (1) {
					NI TM__vGSJrCjWQr859bqRvctRIaA_98;
					if (!(res_2 <= colontmp_)) goto LA13;
					i_2 = res_2;
					if ((NU)(i_2) >= (NU)(s ? s->Sup.len : 0)) raiseIndexError2(i_2,(s ? s->Sup.len : 0)-1);
					escChar__KYm7vXQBjUyQAIV7FSCu5Qrstgen(target, (&result), s->data[i_2]);
					TM__vGSJrCjWQr859bqRvctRIaA_98 = addInt(res_2, ((NI) 1));
					res_2 = (NI)(TM__vGSJrCjWQr859bqRvctRIaA_98);
				} LA13: ;
			}
		}
	}
	LA1_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, renderField__9bVWgX0SWmhEi3eHlrcMD8g_5)(tyObject_RstGenerator__yF9cB1II0vYb2F0YKmIiArg* d, tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* n, NimStringDesc** result) {	NIM_BOOL b;
	b = NIM_FALSE;
	{
		NimStringDesc* fieldname;
		NimStringDesc* fieldval;
		NimStringDesc* T5_;
		NimStringDesc* T6_;
		if (!((*d).target == ((tyEnum_OutputTarget__lDlBg9cTod71s9abpUj82lsw) 1))) goto LA3_;
		if ((NU)(((NI) 0)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*n).sons ? (*n).sons->Sup.len : 0)-1);
		fieldname = addNodes__TOPoj9cIRh7GBTY6PKofpTQ_2((*n).sons->data[((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);
		T5_ = (NimStringDesc*)0;
		T5_ = addNodes__TOPoj9cIRh7GBTY6PKofpTQ_2((*n).sons->data[((NI) 1)]);
		T6_ = (NimStringDesc*)0;
		T6_ = nsuStrip(T5_, NIM_TRUE, NIM_TRUE, TM__vGSJrCjWQr859bqRvctRIaA_99);
		fieldval = esc__Tgq9c7oEp9c4LGF7SoXGTh8w((*d).target, T6_, ((NI) -1));
		{
			NIM_BOOL T9_;
			NI T10_;
			NI T12_;
			T9_ = (NIM_BOOL)0;
			T10_ = (NI)0;
			T10_ = nsuCmpIgnoreStyle(fieldname, ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_100));
			T9_ = (T10_ == ((NI) 0));
			if (T9_) goto LA11_;
			T12_ = (NI)0;
			T12_ = nsuCmpIgnoreStyle(fieldname, ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_101));
			T9_ = (T12_ == ((NI) 0));
			LA11_: ;
			if (!T9_) goto LA13_;
			{
				if (!(((*d).meta[(((tyEnum_MetaEnum__HD14RiMbGt9aRJpE4GI3T9cg) 3))- 0] ? (*d).meta[(((tyEnum_MetaEnum__HD14RiMbGt9aRJpE4GI3T9cg) 3))- 0]->Sup.len : 0) == ((NI) 0))) goto LA17_;
				unsureAsgnRef((void**) (&(*d).meta[(((tyEnum_MetaEnum__HD14RiMbGt9aRJpE4GI3T9cg) 3))- 0]), copyString(fieldval));
				b = NIM_TRUE;
			}
			LA17_: ;
		}
		goto LA7_;
		LA13_: ;
		{
			NI T20_;
			T20_ = (NI)0;
			T20_ = nsuCmpIgnoreStyle(fieldname, ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_102));
			if (!(T20_ == ((NI) 0))) goto LA21_;
			{
				if (!(((*d).meta[(((tyEnum_MetaEnum__HD14RiMbGt9aRJpE4GI3T9cg) 4))- 0] ? (*d).meta[(((tyEnum_MetaEnum__HD14RiMbGt9aRJpE4GI3T9cg) 4))- 0]->Sup.len : 0) == ((NI) 0))) goto LA25_;
				unsureAsgnRef((void**) (&(*d).meta[(((tyEnum_MetaEnum__HD14RiMbGt9aRJpE4GI3T9cg) 4))- 0]), copyString(fieldval));
				b = NIM_TRUE;
			}
			LA25_: ;
		}
		goto LA7_;
		LA21_: ;
		LA7_: ;
	}
	LA3_: ;
	{
		if (!!(b)) goto LA29_;
		renderAux__zVlkCIHCkLQV6Nm9a32Dl4w(d, n, ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_103), ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_104), result);
	}
	LA29_: ;
}
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, texColumns__6tXalH9aB8YkuyupI8riWjQ)(tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* n) {	NimStringDesc* result;
	result = (NimStringDesc*)0;
	result = ((NimStringDesc*) NIM_NIL);
	{
		NI i;
		NI colontmp_;
		NI res;
		i = (NI)0;
		colontmp_ = (NI)0;
		colontmp_ = len__bM2v46TeKfDIrVkegSIy9ag(n);
		res = ((NI) 1);
		{
			while (1) {
				NI TM__vGSJrCjWQr859bqRvctRIaA_126;
				if (!(res <= colontmp_)) goto LA3;
				i = res;
				result = resizeString(result, 2);
appendString(result, ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_125));
				TM__vGSJrCjWQr859bqRvctRIaA_126 = addInt(res, ((NI) 1));
				res = (NI)(TM__vGSJrCjWQr859bqRvctRIaA_126);
			} LA3: ;
		}
	}
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dispF__UOeJJO8ohrrgldF61bH7dQ)(tyEnum_OutputTarget__lDlBg9cTod71s9abpUj82lsw target, NimStringDesc* xml, NimStringDesc* tex, NimStringDesc** args, NI argsLen_0) {	NimStringDesc* result;
	result = (NimStringDesc*)0;
	{
		if (!!((target == ((tyEnum_OutputTarget__lDlBg9cTod71s9abpUj82lsw) 1)))) goto LA3_;
		result = nsuFormatOpenArray(xml, args, argsLen_0);
	}
	goto LA1_;
	LA3_: ;
	{
		result = nsuFormatOpenArray(tex, args, argsLen_0);
	}
	LA1_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, renderImage__9bVWgX0SWmhEi3eHlrcMD8g_6)(tyObject_RstGenerator__yF9cB1II0vYb2F0YKmIiArg* d, tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* n, NimStringDesc** result) {	NimStringDesc* arg;
	NimStringDesc* options;
	NimStringDesc* s;
	NimStringDesc* T1_;
	NimStringDesc* T2_;
	NimStringDesc* T8_;
	NimStringDesc* T9_;
	NimStringDesc* T15_;
	NimStringDesc* T16_;
	NimStringDesc* T22_;
	NimStringDesc* T23_;
	NimStringDesc* T29_;
	NimStringDesc* T30_;
	NimStringDesc* htmlOut;
	tyArray__Re75IspeoxXy2oCZHwcRrA T50_;
	arg = getArgument__TOPoj9cIRh7GBTY6PKofpTQ_3(n);
	options = ((NimStringDesc*) NIM_NIL);
	T1_ = (NimStringDesc*)0;
	T1_ = getFieldValue__OTgwDdUvek9bw6NECNLDOqA(n, ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_145));
	T2_ = (NimStringDesc*)0;
	T2_ = nsuStrip(T1_, NIM_TRUE, NIM_TRUE, TM__vGSJrCjWQr859bqRvctRIaA_99);
	s = esc__Tgq9c7oEp9c4LGF7SoXGTh8w((*d).target, T2_, ((NI) -1));
	{
		tyArray__nHXaesL0DJZHyVS07ARPRA T7_;
		if (!(((NI) 0) < (s ? s->Sup.len : 0))) goto LA5_;
		nimZeroMem((void*)T7_, sizeof(tyArray__nHXaesL0DJZHyVS07ARPRA));
		T7_[0] = copyString(s);
		dispA__3GZ9bx75poGreVGlawa9aBDg((*d).target, (&options), ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_146), ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_147), T7_, 1);
	}
	LA5_: ;
	T8_ = (NimStringDesc*)0;
	T8_ = getFieldValue__OTgwDdUvek9bw6NECNLDOqA(n, ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_148));
	T9_ = (NimStringDesc*)0;
	T9_ = nsuStrip(T8_, NIM_TRUE, NIM_TRUE, TM__vGSJrCjWQr859bqRvctRIaA_99);
	s = esc__Tgq9c7oEp9c4LGF7SoXGTh8w((*d).target, T9_, ((NI) -1));
	{
		tyArray__nHXaesL0DJZHyVS07ARPRA T14_;
		if (!(((NI) 0) < (s ? s->Sup.len : 0))) goto LA12_;
		nimZeroMem((void*)T14_, sizeof(tyArray__nHXaesL0DJZHyVS07ARPRA));
		T14_[0] = copyString(s);
		dispA__3GZ9bx75poGreVGlawa9aBDg((*d).target, (&options), ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_149), ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_150), T14_, 1);
	}
	LA12_: ;
	T15_ = (NimStringDesc*)0;
	T15_ = getFieldValue__OTgwDdUvek9bw6NECNLDOqA(n, ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_151));
	T16_ = (NimStringDesc*)0;
	T16_ = nsuStrip(T15_, NIM_TRUE, NIM_TRUE, TM__vGSJrCjWQr859bqRvctRIaA_99);
	s = esc__Tgq9c7oEp9c4LGF7SoXGTh8w((*d).target, T16_, ((NI) -1));
	{
		tyArray__nHXaesL0DJZHyVS07ARPRA T21_;
		if (!(((NI) 0) < (s ? s->Sup.len : 0))) goto LA19_;
		nimZeroMem((void*)T21_, sizeof(tyArray__nHXaesL0DJZHyVS07ARPRA));
		T21_[0] = copyString(s);
		dispA__3GZ9bx75poGreVGlawa9aBDg((*d).target, (&options), ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_152), ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_153), T21_, 1);
	}
	LA19_: ;
	T22_ = (NimStringDesc*)0;
	T22_ = getFieldValue__OTgwDdUvek9bw6NECNLDOqA(n, ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_154));
	T23_ = (NimStringDesc*)0;
	T23_ = nsuStrip(T22_, NIM_TRUE, NIM_TRUE, TM__vGSJrCjWQr859bqRvctRIaA_99);
	s = esc__Tgq9c7oEp9c4LGF7SoXGTh8w((*d).target, T23_, ((NI) -1));
	{
		tyArray__nHXaesL0DJZHyVS07ARPRA T28_;
		if (!(((NI) 0) < (s ? s->Sup.len : 0))) goto LA26_;
		nimZeroMem((void*)T28_, sizeof(tyArray__nHXaesL0DJZHyVS07ARPRA));
		T28_[0] = copyString(s);
		dispA__3GZ9bx75poGreVGlawa9aBDg((*d).target, (&options), ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_155), ((NimStringDesc*) NIM_NIL), T28_, 1);
	}
	LA26_: ;
	T29_ = (NimStringDesc*)0;
	T29_ = getFieldValue__OTgwDdUvek9bw6NECNLDOqA(n, ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_156));
	T30_ = (NimStringDesc*)0;
	T30_ = nsuStrip(T29_, NIM_TRUE, NIM_TRUE, TM__vGSJrCjWQr859bqRvctRIaA_99);
	s = esc__Tgq9c7oEp9c4LGF7SoXGTh8w((*d).target, T30_, ((NI) -1));
	{
		tyArray__nHXaesL0DJZHyVS07ARPRA T35_;
		if (!(((NI) 0) < (s ? s->Sup.len : 0))) goto LA33_;
		nimZeroMem((void*)T35_, sizeof(tyArray__nHXaesL0DJZHyVS07ARPRA));
		T35_[0] = copyString(s);
		dispA__3GZ9bx75poGreVGlawa9aBDg((*d).target, (&options), ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_157), ((NimStringDesc*) NIM_NIL), T35_, 1);
	}
	LA33_: ;
	{
		tyArray__nHXaesL0DJZHyVS07ARPRA T40_;
		if (!(((NI) 0) < (options ? options->Sup.len : 0))) goto LA38_;
		nimZeroMem((void*)T40_, sizeof(tyArray__nHXaesL0DJZHyVS07ARPRA));
		T40_[0] = copyString(options);
		options = dispF__UOeJJO8ohrrgldF61bH7dQ((*d).target, ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_104), ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_158), T40_, 1);
	}
	LA38_: ;
	htmlOut = ((NimStringDesc*) NIM_NIL);
	{
		NIM_BOOL T43_;
		NIM_BOOL T44_;
		T43_ = (NIM_BOOL)0;
		T44_ = (NIM_BOOL)0;
		T44_ = nsuEndsWith(arg, ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_159));
		if (T44_) goto LA45_;
		T44_ = nsuEndsWith(arg, ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_160));
		LA45_: ;
		T43_ = T44_;
		if (T43_) goto LA46_;
		T43_ = nsuEndsWith(arg, ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_161));
		LA46_: ;
		if (!T43_) goto LA47_;
		htmlOut = copyString(((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_162));
	}
	goto LA41_;
	LA47_: ;
	{
		htmlOut = copyString(((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_163));
	}
	LA41_: ;
	nimZeroMem((void*)T50_, sizeof(tyArray__Re75IspeoxXy2oCZHwcRrA));
	T50_[0] = esc__Tgq9c7oEp9c4LGF7SoXGTh8w((*d).target, arg, ((NI) -1));
	T50_[1] = copyString(options);
	dispA__3GZ9bx75poGreVGlawa9aBDg((*d).target, result, htmlOut, ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_164), T50_, 2);
	{
		NI T53_;
		T53_ = (NI)0;
		T53_ = len__bM2v46TeKfDIrVkegSIy9ag(n);
		if (!(((NI) 3) <= T53_)) goto LA54_;
		if ((NU)(((NI) 2)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 2),((*n).sons ? (*n).sons->Sup.len : 0)-1);
		renderRstToOut__9bVWgX0SWmhEi3eHlrcMD8g(d, (*n).sons->data[((NI) 2)], result);
	}
	LA54_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, init__VTkjfDKDCsSHMUgadSlTfg)(tyObject_CodeBlockParams__VGrTBDzO5FHLY33yjUsvkA* p) {	(*p).startLine = ((NI) 1);
	(*p).lang = ((tyEnum_SourceLanguage__LpbEPkKqvJ0VCa4hwZcOBQ) 0);
	unsureAsgnRef((void**) (&(*p).langStr), ((NimStringDesc*) NIM_NIL));
}
N_LIB_PRIVATE N_NIMCALL(void, parseCodeBlockField__8mQpi5m1u2R5BPC42lxLuQ)(tyObject_RstGenerator__yF9cB1II0vYb2F0YKmIiArg* d, tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* n, tyObject_CodeBlockParams__VGrTBDzO5FHLY33yjUsvkA* params) {	NimStringDesc* T1_;
	NimStringDesc* T2_;
	T1_ = (NimStringDesc*)0;
	T1_ = getArgument__TOPoj9cIRh7GBTY6PKofpTQ_3(n);
	T2_ = (NimStringDesc*)0;
	T2_ = nsuToLowerAsciiStr(T1_);
	if (eqStrings(T2_, ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_169))) goto LA3_;
	if (eqStrings(T2_, ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_170))) goto LA4_;
	if (eqStrings(T2_, ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_171))) goto LA4_;
	if (eqStrings(T2_, ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_172))) goto LA5_;
	if (eqStrings(T2_, ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_173))) goto LA6_;
	if (eqStrings(T2_, ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_174))) goto LA6_;
	if (eqStrings(T2_, ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_175))) goto LA7_;
	goto LA8_;
	LA3_: ;
	{
		NI number;
		(*params).numberLines = NIM_TRUE;
		number = (NI)0;
		{
			NimStringDesc* T13_;
			NI T14_;
			T13_ = (NimStringDesc*)0;
			T13_ = getFieldValue__TOPoj9cIRh7GBTY6PKofpTQ_4(n);
			T14_ = (NI)0;
			T14_ = npuParseInt(T13_, (&number), ((NI) 0));
			if (!(((NI) 0) < T14_)) goto LA15_;
			(*params).startLine = number;
		}
		LA15_: ;
	}
	goto LA9_;
	LA4_: ;
	{
		NimStringDesc* T18_;
		T18_ = (NimStringDesc*)0;
		T18_ = getFieldValue__TOPoj9cIRh7GBTY6PKofpTQ_4(n);
		unsureAsgnRef((void**) (&(*params).filename), nsuStrip(T18_, NIM_TRUE, NIM_TRUE, TM__vGSJrCjWQr859bqRvctRIaA_99));
	}
	goto LA9_;
	LA5_: ;
	{
		NimStringDesc* T20_;
		T20_ = (NimStringDesc*)0;
		T20_ = getFieldValue__TOPoj9cIRh7GBTY6PKofpTQ_4(n);
		unsureAsgnRef((void**) (&(*params).testCmd), nsuStrip(T20_, NIM_TRUE, NIM_TRUE, TM__vGSJrCjWQr859bqRvctRIaA_99));
		{
			if (!(((*params).testCmd ? (*params).testCmd->Sup.len : 0) == ((NI) 0))) goto LA23_;
			unsureAsgnRef((void**) (&(*params).testCmd), copyString(((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_176)));
		}
		goto LA21_;
		LA23_: ;
		{
			unsureAsgnRef((void**) (&(*params).testCmd), nsuUnescape((*params).testCmd, ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_177), ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_177)));
		}
		LA21_: ;
	}
	goto LA9_;
	LA6_: ;
	{
		NI status;
		status = (NI)0;
		{
			NimStringDesc* T29_;
			NI T30_;
			T29_ = (NimStringDesc*)0;
			T29_ = getFieldValue__TOPoj9cIRh7GBTY6PKofpTQ_4(n);
			T30_ = (NI)0;
			T30_ = npuParseInt(T29_, (&status), ((NI) 0));
			if (!(((NI) 0) < T30_)) goto LA31_;
			(*params).status = status;
		}
		LA31_: ;
	}
	goto LA9_;
	LA7_: ;
	{
		NimStringDesc* T34_;
		T34_ = (NimStringDesc*)0;
		T34_ = getFieldValue__TOPoj9cIRh7GBTY6PKofpTQ_4(n);
		unsureAsgnRef((void**) (&(*params).langStr), nsuStrip(T34_, NIM_TRUE, NIM_TRUE, TM__vGSJrCjWQr859bqRvctRIaA_99));
		(*params).lang = getSourceLanguage__xS5vGJiqLeFR2EyiTX0IEA((*params).langStr);
	}
	goto LA9_;
	LA8_: ;
	{
		NimStringDesc* T36_;
		T36_ = (NimStringDesc*)0;
		T36_ = getArgument__TOPoj9cIRh7GBTY6PKofpTQ_3(n);
		(*d).msgHandler.ClE_0? (*d).msgHandler.ClP_0((*d).filename, ((NI) 1), ((NI) 0), ((tyEnum_MsgKind__iviJnHlj9acPYlnNRbd9bhkQ) 9), T36_, (*d).msgHandler.ClE_0):((TM__vGSJrCjWQr859bqRvctRIaA_178)((*d).msgHandler.ClP_0))((*d).filename, ((NI) 1), ((NI) 0), ((tyEnum_MsgKind__iviJnHlj9acPYlnNRbd9bhkQ) 9), T36_);
	}
	LA9_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, parseCodeBlockParams__0UCWvfdZ9avksgBajNgLGBw)(tyObject_RstGenerator__yF9cB1II0vYb2F0YKmIiArg* d, tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* n, tyObject_CodeBlockParams__VGrTBDzO5FHLY33yjUsvkA* Result) {	NimStringDesc* T26_;
{	chckNil((void*)Result);
	genericReset((void*)Result, (&NTI__VGrTBDzO5FHLY33yjUsvkA_));
	init__VTkjfDKDCsSHMUgadSlTfg(Result);
	{
		if (!(n == 0)) goto LA3_;
		goto BeforeRet_;
	}
	LA3_: ;
	{
		if (!!(((*n).kind == ((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 47)))) goto LA7_;
		failedAssertImpl__W9cjVocn1tjhW7p7xohJj6A(((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_167));
	}
	LA7_: ;
	{
		if ((NU)(((NI) 2)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 2),((*n).sons ? (*n).sons->Sup.len : 0)-1);
		if (!!(!(((*n).sons->data[((NI) 2)] == 0)))) goto LA11_;
		failedAssertImpl__W9cjVocn1tjhW7p7xohJj6A(((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_168));
	}
	LA11_: ;
	{
		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)] == 0))) goto LA15_;
		{
			tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* son;
			tySequence__sawZST1Esj3o7EY9ayWwGPw* colontmp_;
			NI i;
			NI L;
			NI T18_;
			son = (tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg*)0;
			colontmp_ = (tySequence__sawZST1Esj3o7EY9ayWwGPw*)0;
			if ((NU)(((NI) 1)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 1),((*n).sons ? (*n).sons->Sup.len : 0)-1);
			colontmp_ = (*(*n).sons->data[((NI) 1)]).sons;
			i = ((NI) 0);
			T18_ = (colontmp_ ? colontmp_->Sup.len : 0);
			L = T18_;
			{
				while (1) {
					NI TM__vGSJrCjWQr859bqRvctRIaA_179;
					if (!(i < L)) goto LA20;
					if ((NU)(i) >= (NU)(colontmp_ ? colontmp_->Sup.len : 0)) raiseIndexError2(i,(colontmp_ ? colontmp_->Sup.len : 0)-1);
					son = colontmp_->data[i];
					parseCodeBlockField__8mQpi5m1u2R5BPC42lxLuQ(d, son, Result);
					TM__vGSJrCjWQr859bqRvctRIaA_179 = addInt(i, ((NI) 1));
					i = (NI)(TM__vGSJrCjWQr859bqRvctRIaA_179);
					{
						NI T23_;
						T23_ = (colontmp_ ? colontmp_->Sup.len : 0);
						if (!!((T23_ == L))) goto LA24_;
						failedAssertImpl__W9cjVocn1tjhW7p7xohJj6A(((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_180));
					}
					LA24_: ;
				} LA20: ;
			}
		}
	}
	LA15_: ;
	T26_ = (NimStringDesc*)0;
	T26_ = getArgument__TOPoj9cIRh7GBTY6PKofpTQ_3(n);
	unsureAsgnRef((void**) (&(*Result).langStr), nsuStrip(T26_, NIM_TRUE, NIM_TRUE, TM__vGSJrCjWQr859bqRvctRIaA_99));
	{
		if (!!((((*Result).langStr ? (*Result).langStr->Sup.len : 0) == 0))) goto LA29_;
		(*Result).lang = getSourceLanguage__xS5vGJiqLeFR2EyiTX0IEA((*Result).langStr);
	}
	LA29_: ;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, buildLinesHtmlTable__8VPefF9cpzTz1N4Guin4vxQ)(tyObject_RstGenerator__yF9cB1II0vYb2F0YKmIiArg* d, tyObject_CodeBlockParams__VGrTBDzO5FHLY33yjUsvkA* params, NimStringDesc* code, tyTuple__UV3llMMYFckfui8YMBuUZA* Result) {	NI TM__vGSJrCjWQr859bqRvctRIaA_184;
	NimStringDesc* id;
	NI codeLines;
	NimStringDesc* T8_;
	NI line;
	NimStringDesc* T17_;
	NimStringDesc* T18_;
	tyArray__Re75IspeoxXy2oCZHwcRrA T19_;
	NimStringDesc* T20_;
	NimStringDesc* T21_;
	NimStringDesc* T22_;
	NimStringDesc* T23_;
	NimStringDesc* T24_;
	NimStringDesc* T25_;
{	chckNil((void*)Result);
	genericReset((void*)Result, (&NTI__UV3llMMYFckfui8YMBuUZA_));
	TM__vGSJrCjWQr859bqRvctRIaA_184 = addInt((*d).listingCounter, ((NI) 1));
	(*d).listingCounter = (NI)(TM__vGSJrCjWQr859bqRvctRIaA_184);
	id = nimIntToStr((*d).listingCounter);
	{
		NimStringDesc* colontmp_;
		NimStringDesc* T5_;
		tyArray__Re75IspeoxXy2oCZHwcRrA T6_;
		NimStringDesc* colontmp__2;
		NimStringDesc* T7_;
		if (!!((*params).numberLines)) goto LA3_;
		T5_ = (NimStringDesc*)0;
		T5_ = getOrDefault__2a0cbxcfpWcXtK45m9bR5Kg((*d).config, ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_185), ((NimStringDesc*) NIM_NIL));
		nimZeroMem((void*)T6_, sizeof(tyArray__Re75IspeoxXy2oCZHwcRrA));
		T6_[0] = copyString(id);
		T6_[1] = copyString(sourceLanguageToStr__HxGhuVvqzgyr9b5gK42kE9aw[((*params).lang)- 0]);
		colontmp_ = nsuFormatOpenArray(T5_, T6_, 2);
		T7_ = (NimStringDesc*)0;
		T7_ = getOrDefault__2a0cbxcfpWcXtK45m9bR5Kg((*d).config, ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_186), ((NimStringDesc*) NIM_NIL));
		colontmp__2 = nsuFormatSingleElem(T7_, id);
		unsureAsgnRef((void**) (&(*Result).Field0), copyString(colontmp_));
		unsureAsgnRef((void**) (&(*Result).Field1), copyString(colontmp__2));
		goto BeforeRet_;
	}
	LA3_: ;
	T8_ = (NimStringDesc*)0;
	T8_ = nsuStrip(code, NIM_TRUE, NIM_TRUE, TM__vGSJrCjWQr859bqRvctRIaA_99);
	codeLines = nsuCountLines(T8_);
	{
		if (!!((((NI) 0) < codeLines))) goto LA11_;
		failedAssertImpl__W9cjVocn1tjhW7p7xohJj6A(((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_187));
	}
	LA11_: ;
	unsureAsgnRef((void**) (&(*Result).Field0), copyString(((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_188)));
	line = (*params).startLine;
	{
		while (1) {
			NimStringDesc* T15_;
			NimStringDesc* T16_;
			NI TM__vGSJrCjWQr859bqRvctRIaA_189;
			NI TM__vGSJrCjWQr859bqRvctRIaA_190;
			if (!(((NI) 0) < codeLines)) goto LA14;
			T15_ = (NimStringDesc*)0;
			T16_ = (NimStringDesc*)0;
			T16_ = nimIntToStr(line);
			T15_ = rawNewString((T16_ ? T16_->Sup.len : 0) + 1);
appendString(T15_, T16_);
appendString(T15_, ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_33));
			unsureAsgnRef((void**) (&(*Result).Field0), resizeString((*Result).Field0, (T15_ ? T15_->Sup.len : 0) + 0));
appendString((*Result).Field0, T15_);
			TM__vGSJrCjWQr859bqRvctRIaA_189 = addInt(line, ((NI) 1));
			line = (NI)(TM__vGSJrCjWQr859bqRvctRIaA_189);
			TM__vGSJrCjWQr859bqRvctRIaA_190 = subInt(codeLines, ((NI) 1));
			codeLines = (NI)(TM__vGSJrCjWQr859bqRvctRIaA_190);
		} LA14: ;
	}
	T17_ = (NimStringDesc*)0;
	T18_ = (NimStringDesc*)0;
	T18_ = getOrDefault__2a0cbxcfpWcXtK45m9bR5Kg((*d).config, ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_185), ((NimStringDesc*) NIM_NIL));
	nimZeroMem((void*)T19_, sizeof(tyArray__Re75IspeoxXy2oCZHwcRrA));
	T19_[0] = copyString(id);
	T19_[1] = copyString(sourceLanguageToStr__HxGhuVvqzgyr9b5gK42kE9aw[((*params).lang)- 0]);
	T20_ = (NimStringDesc*)0;
	T20_ = nsuFormatOpenArray(T18_, T19_, 2);
	T17_ = rawNewString((T20_ ? T20_->Sup.len : 0) + 15);
appendString(T17_, ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_191));
appendString(T17_, T20_);
	unsureAsgnRef((void**) (&(*Result).Field0), resizeString((*Result).Field0, (T17_ ? T17_->Sup.len : 0) + 0));
appendString((*Result).Field0, T17_);
	T21_ = (NimStringDesc*)0;
	T22_ = (NimStringDesc*)0;
	T22_ = getOrDefault__2a0cbxcfpWcXtK45m9bR5Kg((*d).config, ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_186), ((NimStringDesc*) NIM_NIL));
	T23_ = (NimStringDesc*)0;
	T23_ = nsuFormatSingleElem(T22_, id);
	T24_ = (NimStringDesc*)0;
	T24_ = getOrDefault__2a0cbxcfpWcXtK45m9bR5Kg((*d).config, ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_193), ((NimStringDesc*) NIM_NIL));
	T25_ = (NimStringDesc*)0;
	T25_ = nsuFormatSingleElem(T24_, id);
	T21_ = rawNewString((T23_ ? T23_->Sup.len : 0) + (T25_ ? T25_->Sup.len : 0) + 26);
appendString(T21_, T23_);
appendString(T21_, ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_192));
appendString(T21_, T25_);
	unsureAsgnRef((void**) (&(*Result).Field1), T21_);
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, renderCodeBlock__9bVWgX0SWmhEi3eHlrcMD8g_7)(tyObject_RstGenerator__yF9cB1II0vYb2F0YKmIiArg* d, tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* n, NimStringDesc** result) {	tyObject_CodeBlockParams__VGrTBDzO5FHLY33yjUsvkA params;
	tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* m;
	tyTuple__UV3llMMYFckfui8YMBuUZA T19_;
	NimStringDesc* blockStart;
	NimStringDesc* blockEnd;
	tyArray__8ZvwQIddfpj2THRVPsFzIQ T20_;
	tyArray__8ZvwQIddfpj2THRVPsFzIQ T45_;
{	{
		if (!!(((*n).kind == ((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 47)))) goto LA3_;
		failedAssertImpl__W9cjVocn1tjhW7p7xohJj6A(((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_165));
	}
	LA3_: ;
	{
		if ((NU)(((NI) 2)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 2),((*n).sons ? (*n).sons->Sup.len : 0)-1);
		if (!((*n).sons->data[((NI) 2)] == NIM_NIL)) goto LA7_;
		goto BeforeRet_;
	}
	LA7_: ;
	nimZeroMem((void*)(&params), sizeof(tyObject_CodeBlockParams__VGrTBDzO5FHLY33yjUsvkA));
	parseCodeBlockParams__0UCWvfdZ9avksgBajNgLGBw(d, n, (&params));
	if ((NU)(((NI) 2)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 2),((*n).sons ? (*n).sons->Sup.len : 0)-1);
	if ((NU)(((NI) 0)) >= (NU)((*(*n).sons->data[((NI) 2)]).sons ? (*(*n).sons->data[((NI) 2)]).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*(*n).sons->data[((NI) 2)]).sons ? (*(*n).sons->data[((NI) 2)]).sons->Sup.len : 0)-1);
	m = (*(*n).sons->data[((NI) 2)]).sons->data[((NI) 0)];
	{
		if (!!(((*m).kind == ((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 64)))) goto LA11_;
		failedAssertImpl__W9cjVocn1tjhW7p7xohJj6A(((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_181));
	}
	LA11_: ;
	{
		NIM_BOOL T15_;
		T15_ = (NIM_BOOL)0;
		T15_ = (((NI) 0) < (params.testCmd ? params.testCmd->Sup.len : 0));
		if (!(T15_)) goto LA16_;
		T15_ = !(((*d).onTestSnippet.ClP_0 == TM__vGSJrCjWQr859bqRvctRIaA_182.ClP_0 && (*d).onTestSnippet.ClE_0 == TM__vGSJrCjWQr859bqRvctRIaA_182.ClE_0));
		LA16_: ;
		if (!T15_) goto LA17_;
		(*d).onTestSnippet.ClE_0? (*d).onTestSnippet.ClP_0(d, params.filename, params.testCmd, params.status, (*m).text, (*d).onTestSnippet.ClE_0):((TM__vGSJrCjWQr859bqRvctRIaA_183)((*d).onTestSnippet.ClP_0))(d, params.filename, params.testCmd, params.status, (*m).text);
	}
	LA17_: ;
	nimZeroMem((void*)(&T19_), sizeof(tyTuple__UV3llMMYFckfui8YMBuUZA));
	buildLinesHtmlTable__8VPefF9cpzTz1N4Guin4vxQ(d, (&params), (*m).text, (&T19_));
	blockStart = (NimStringDesc*)0;
	blockStart = T19_.Field0;
	blockEnd = (NimStringDesc*)0;
	blockEnd = T19_.Field1;
	nimZeroMem((void*)T20_, sizeof(tyArray__8ZvwQIddfpj2THRVPsFzIQ));
	dispA__3GZ9bx75poGreVGlawa9aBDg((*d).target, result, blockStart, ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_194), T20_, 0);
	{
		if (!(params.lang == ((tyEnum_SourceLanguage__LpbEPkKqvJ0VCa4hwZcOBQ) 0))) goto LA23_;
		{
			if (!(((NI) 0) < (params.langStr ? params.langStr->Sup.len : 0))) goto LA27_;
			(*d).msgHandler.ClE_0? (*d).msgHandler.ClP_0((*d).filename, ((NI) 1), ((NI) 0), ((tyEnum_MsgKind__iviJnHlj9acPYlnNRbd9bhkQ) 8), params.langStr, (*d).msgHandler.ClE_0):((TM__vGSJrCjWQr859bqRvctRIaA_195)((*d).msgHandler.ClP_0))((*d).filename, ((NI) 1), ((NI) 0), ((tyEnum_MsgKind__iviJnHlj9acPYlnNRbd9bhkQ) 8), params.langStr);
		}
		LA27_: ;
		{
			NIM_CHAR letter;
			NimStringDesc* colontmp_;
			NI i;
			NI L;
			letter = (NIM_CHAR)0;
			colontmp_ = (NimStringDesc*)0;
			colontmp_ = (*m).text;
			i = ((NI) 0);
			L = (colontmp_ ? colontmp_->Sup.len : 0);
			{
				while (1) {
					NI TM__vGSJrCjWQr859bqRvctRIaA_196;
					if (!(i < L)) goto LA31;
					if ((NU)(i) >= (NU)(colontmp_ ? colontmp_->Sup.len : 0)) raiseIndexError2(i,(colontmp_ ? colontmp_->Sup.len : 0)-1);
					letter = colontmp_->data[i];
					escChar__KYm7vXQBjUyQAIV7FSCu5Qrstgen((*d).target, result, letter);
					TM__vGSJrCjWQr859bqRvctRIaA_196 = addInt(i, ((NI) 1));
					i = (NI)(TM__vGSJrCjWQr859bqRvctRIaA_196);
					{
						if (!!(((colontmp_ ? colontmp_->Sup.len : 0) == L))) goto LA34_;
						failedAssertImpl__W9cjVocn1tjhW7p7xohJj6A(((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_32));
					}
					LA34_: ;
				} LA31: ;
			}
		}
	}
	goto LA21_;
	LA23_: ;
	{
		tyObject_GeneralTokenizer__XJrmQSLLjVmugZQb54lVWA g;
		nimZeroMem((void*)(&g), sizeof(tyObject_GeneralTokenizer__XJrmQSLLjVmugZQb54lVWA));
		g.Sup.m_type = (&NTI__XJrmQSLLjVmugZQb54lVWA_);
		initGeneralTokenizer__mu4EAfPX69bUQs62cfYLXRA((&g), (*m).text);
		{
			while (1) {
				getNextToken__9axtJQpZ5U9aGuyq519c9axprw((&g), params.lang);
				switch (g.kind) {
				case ((tyEnum_TokenClass__UcAPDGzMlzghdb9c8MB7mEw) 0):
				{
					goto LA37;
				}
				break;
				case ((tyEnum_TokenClass__UcAPDGzMlzghdb9c8MB7mEw) 1):
				case ((tyEnum_TokenClass__UcAPDGzMlzghdb9c8MB7mEw) 2):
				{
					NI TM__vGSJrCjWQr859bqRvctRIaA_197;
					NI TM__vGSJrCjWQr859bqRvctRIaA_198;
					NimStringDesc* T41_;
					TM__vGSJrCjWQr859bqRvctRIaA_197 = addInt(g.length, g.start);
					TM__vGSJrCjWQr859bqRvctRIaA_198 = subInt((NI)(TM__vGSJrCjWQr859bqRvctRIaA_197), ((NI) 1));
					T41_ = (NimStringDesc*)0;
					T41_ = substr__2yh9cer0ymNRHlOOg8P7IuA((*m).text, g.start, (NI)(TM__vGSJrCjWQr859bqRvctRIaA_198));
					unsureAsgnRef((void**) (&(*result)), resizeString((*result), (T41_ ? T41_->Sup.len : 0) + 0));
appendString((*result), T41_);
				}
				break;
				default:
				{
					tyArray__Re75IspeoxXy2oCZHwcRrA T43_;
					NI TM__vGSJrCjWQr859bqRvctRIaA_201;
					NI TM__vGSJrCjWQr859bqRvctRIaA_202;
					NimStringDesc* T44_;
					nimZeroMem((void*)T43_, sizeof(tyArray__Re75IspeoxXy2oCZHwcRrA));
					TM__vGSJrCjWQr859bqRvctRIaA_201 = addInt(g.length, g.start);
					TM__vGSJrCjWQr859bqRvctRIaA_202 = subInt((NI)(TM__vGSJrCjWQr859bqRvctRIaA_201), ((NI) 1));
					T44_ = (NimStringDesc*)0;
					T44_ = substr__2yh9cer0ymNRHlOOg8P7IuA((*m).text, g.start, (NI)(TM__vGSJrCjWQr859bqRvctRIaA_202));
					T43_[0] = esc__Tgq9c7oEp9c4LGF7SoXGTh8w((*d).target, T44_, ((NI) -1));
					T43_[1] = copyString(tokenClassToStr__XoxGqeDe9c9bun9b5PoCUnzlg[(g.kind)- 0]);
					dispA__3GZ9bx75poGreVGlawa9aBDg((*d).target, result, ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_199), ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_200), T43_, 2);
				}
				break;
				}
			}
		} LA37: ;
		deinitGeneralTokenizer__9a3JlWX9cxQaYCTvq9c0xqGpQ_7((&g));
	}
	LA21_: ;
	nimZeroMem((void*)T45_, sizeof(tyArray__8ZvwQIddfpj2THRVPsFzIQ));
	dispA__3GZ9bx75poGreVGlawa9aBDg((*d).target, result, blockEnd, ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_203), T45_, 0);
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, renderContainer__9bVWgX0SWmhEi3eHlrcMD8g_8)(tyObject_RstGenerator__yF9cB1II0vYb2F0YKmIiArg* d, tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* n, NimStringDesc** result) {	NimStringDesc* tmp;
	NimStringDesc* arg;
	NimStringDesc* T1_;
	NimStringDesc* T2_;
	tmp = ((NimStringDesc*) NIM_NIL);
	if ((NU)(((NI) 2)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 2),((*n).sons ? (*n).sons->Sup.len : 0)-1);
	renderRstToOut__9bVWgX0SWmhEi3eHlrcMD8g(d, (*n).sons->data[((NI) 2)], (&tmp));
	T1_ = (NimStringDesc*)0;
	T1_ = getArgument__TOPoj9cIRh7GBTY6PKofpTQ_3(n);
	T2_ = (NimStringDesc*)0;
	T2_ = nsuStrip(T1_, NIM_TRUE, NIM_TRUE, TM__vGSJrCjWQr859bqRvctRIaA_99);
	arg = esc__Tgq9c7oEp9c4LGF7SoXGTh8w((*d).target, T2_, ((NI) -1));
	{
		tyArray__nHXaesL0DJZHyVS07ARPRA T7_;
		if (!((arg ? arg->Sup.len : 0) == 0)) goto LA5_;
		nimZeroMem((void*)T7_, sizeof(tyArray__nHXaesL0DJZHyVS07ARPRA));
		T7_[0] = copyString(tmp);
		dispA__3GZ9bx75poGreVGlawa9aBDg((*d).target, result, ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_204), ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_104), T7_, 1);
	}
	goto LA3_;
	LA5_: ;
	{
		tyArray__Re75IspeoxXy2oCZHwcRrA T9_;
		nimZeroMem((void*)T9_, sizeof(tyArray__Re75IspeoxXy2oCZHwcRrA));
		T9_[0] = copyString(arg);
		T9_[1] = copyString(tmp);
		dispA__3GZ9bx75poGreVGlawa9aBDg((*d).target, result, ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_205), ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_206), T9_, 2);
	}
	LA3_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, renderIndexTerm__9bVWgX0SWmhEi3eHlrcMD8g_9)(tyObject_RstGenerator__yF9cB1II0vYb2F0YKmIiArg* d, tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* n, NimStringDesc** result) {	NimStringDesc* refname;
	NimStringDesc* id;
	NimStringDesc* T8_;
	NI T9_;
	NimStringDesc* T10_;
	NimStringDesc* term;
	NimStringDesc* T11_;
	NimStringDesc* T12_;
	tyArray__Re75IspeoxXy2oCZHwcRrA T13_;
	refname = rstnodeToRefname__TOPoj9cIRh7GBTY6PKofpTQ(n);
	{
		NIM_BOOL T3_;
		NI T6_;
		NI TM__vGSJrCjWQr859bqRvctRIaA_217;
		T3_ = (NIM_BOOL)0;
		T3_ = hasKey__aOI3jq5GpcZWNc9aNWt3Shw((*d).seenIndexTerms, refname);
		if (!T3_) goto LA4_;
		T6_ = (NI)0;
		T6_ = getOrDefault__B9adUqknApMjE6ou13bpO8A((*d).seenIndexTerms, refname);
		TM__vGSJrCjWQr859bqRvctRIaA_217 = addInt(T6_, ((NI) 1));
		X5BX5Deq___HfxZpUfki4UkuP38hbwROA((&(*d).seenIndexTerms), refname, (NI)(TM__vGSJrCjWQr859bqRvctRIaA_217));
	}
	goto LA1_;
	LA4_: ;
	{
		X5BX5Deq___HfxZpUfki4UkuP38hbwROA((&(*d).seenIndexTerms), refname, ((NI) 1));
	}
	LA1_: ;
	T8_ = (NimStringDesc*)0;
	T9_ = (NI)0;
	T9_ = getOrDefault__B9adUqknApMjE6ou13bpO8A((*d).seenIndexTerms, refname);
	T10_ = (NimStringDesc*)0;
	T10_ = nimIntToStr(T9_);
	T8_ = rawNewString((refname ? refname->Sup.len : 0) + (T10_ ? T10_->Sup.len : 0) + 1);
appendString(T8_, refname);
appendChar(T8_, 95);
appendString(T8_, T10_);
	id = T8_;
	term = ((NimStringDesc*) NIM_NIL);
	renderAux__9bVWgX0SWmhEi3eHlrcMD8g_2(d, n, (&term));
	T11_ = (NimStringDesc*)0;
	T11_ = nosextractFilename((*d).filename);
	T12_ = (NimStringDesc*)0;
	T12_ = noschangeFileExt(T11_, ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_34));
	setIndexTerm__59a2OAWg9c9azGlf9aSfMJTaLA(d, T12_, id, term, (*d).currentSection, ((NimStringDesc*) NIM_NIL));
	nimZeroMem((void*)T13_, sizeof(tyArray__Re75IspeoxXy2oCZHwcRrA));
	T13_[0] = copyString(id);
	T13_[1] = copyString(term);
	dispA__3GZ9bx75poGreVGlawa9aBDg((*d).target, result, ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_218), ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_219), T13_, 2);
}
N_LIB_PRIVATE N_NIMCALL(void, renderSmiley__9bVWgX0SWmhEi3eHlrcMD8g_10)(tyObject_RstGenerator__yF9cB1II0vYb2F0YKmIiArg* d, tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* n, NimStringDesc** result) {	tyArray__nHXaesL0DJZHyVS07ARPRA T1_;
	NimStringDesc* T2_;
	nimZeroMem((void*)T1_, sizeof(tyArray__nHXaesL0DJZHyVS07ARPRA));
	T2_ = (NimStringDesc*)0;
	T2_ = getOrDefault__2a0cbxcfpWcXtK45m9bR5Kg((*d).config, ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_224), ((NimStringDesc*) NIM_NIL));
	T1_[0] = nsuFormatSingleElem(T2_, (*n).text);
	dispA__3GZ9bx75poGreVGlawa9aBDg((*d).target, result, ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_222), ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_223), T1_, 1);
}
N_LIB_PRIVATE N_NIMCALL(void, renderRstToOut__9bVWgX0SWmhEi3eHlrcMD8g)(tyObject_RstGenerator__yF9cB1II0vYb2F0YKmIiArg* d, tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* n, NimStringDesc** result) {{	{
		if (!(n == NIM_NIL)) goto LA3_;
		goto BeforeRet_;
	}
	LA3_: ;
	switch ((*n).kind) {
	case ((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 0):
	{
		renderAux__9bVWgX0SWmhEi3eHlrcMD8g_2(d, n, result);
	}
	break;
	case ((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 1):
	{
		renderHeadline__9bVWgX0SWmhEi3eHlrcMD8g_3(d, n, result);
	}
	break;
	case ((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 2):
	{
		renderOverline__9bVWgX0SWmhEi3eHlrcMD8g_4(d, n, result);
	}
	break;
	case ((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 3):
	{
		renderAux__zVlkCIHCkLQV6Nm9a32Dl4w(d, n, ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_47), ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_48), result);
	}
	break;
	case ((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 4):
	{
		renderAux__zVlkCIHCkLQV6Nm9a32Dl4w(d, n, ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_49), ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_50), result);
	}
	break;
	case ((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 5):
	{
		renderAux__zVlkCIHCkLQV6Nm9a32Dl4w(d, n, ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_51), ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_52), result);
	}
	break;
	case ((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 6):
	case ((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 8):
	{
		renderAux__zVlkCIHCkLQV6Nm9a32Dl4w(d, n, ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_53), ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_54), result);
	}
	break;
	case ((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 7):
	{
		renderAux__zVlkCIHCkLQV6Nm9a32Dl4w(d, n, ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_55), ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_56), result);
	}
	break;
	case ((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 9):
	{
		renderAux__zVlkCIHCkLQV6Nm9a32Dl4w(d, n, ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_57), ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_58), result);
	}
	break;
	case ((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 10):
	{
		renderAux__9bVWgX0SWmhEi3eHlrcMD8g_2(d, n, result);
	}
	break;
	case ((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 11):
	{
		renderAux__zVlkCIHCkLQV6Nm9a32Dl4w(d, n, ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_59), ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_60), result);
	}
	break;
	case ((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 12):
	{
		renderAux__zVlkCIHCkLQV6Nm9a32Dl4w(d, n, ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_61), ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_62), result);
	}
	break;
	case ((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 13):
	{
		NimStringDesc* tmp;
		tmp = ((NimStringDesc*) NIM_NIL);
		{
			NI i;
			NI colontmp_;
			NI T19_;
			NI TM__vGSJrCjWQr859bqRvctRIaA_63;
			NI res;
			i = (NI)0;
			colontmp_ = (NI)0;
			T19_ = (NI)0;
			T19_ = len__bM2v46TeKfDIrVkegSIy9ag(n);
			TM__vGSJrCjWQr859bqRvctRIaA_63 = subInt(T19_, ((NI) 1));
			colontmp_ = (NI)(TM__vGSJrCjWQr859bqRvctRIaA_63);
			res = ((NI) 0);
			{
				while (1) {
					NI TM__vGSJrCjWQr859bqRvctRIaA_64;
					if (!(res <= colontmp_)) goto LA21;
					i = res;
					if ((NU)(i) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(i,((*n).sons ? (*n).sons->Sup.len : 0)-1);
					renderRstToOut__9bVWgX0SWmhEi3eHlrcMD8g(d, (*n).sons->data[i], (&tmp));
					TM__vGSJrCjWQr859bqRvctRIaA_64 = addInt(res, ((NI) 1));
					res = (NI)(TM__vGSJrCjWQr859bqRvctRIaA_64);
				} LA21: ;
			}
		}
		{
			tyArray__nHXaesL0DJZHyVS07ARPRA T26_;
			if (!!(((tmp ? tmp->Sup.len : 0) == ((NI) 0)))) goto LA24_;
			nimZeroMem((void*)T26_, sizeof(tyArray__nHXaesL0DJZHyVS07ARPRA));
			T26_[0] = copyString(tmp);
			dispA__3GZ9bx75poGreVGlawa9aBDg((*d).target, result, ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_65), ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_58), T26_, 1);
		}
		LA24_: ;
	}
	break;
	case ((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 14):
	{
		renderField__9bVWgX0SWmhEi3eHlrcMD8g_5(d, n, result);
	}
	break;
	case ((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 15):
	{
		renderAux__zVlkCIHCkLQV6Nm9a32Dl4w(d, n, ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_105), ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_106), result);
	}
	break;
	case ((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 16):
	{
		renderAux__zVlkCIHCkLQV6Nm9a32Dl4w(d, n, ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_107), ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_108), result);
	}
	break;
	case ((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 51):
	{
		if ((NU)(((NI) 2)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 2),((*n).sons ? (*n).sons->Sup.len : 0)-1);
		renderRstToOut__9bVWgX0SWmhEi3eHlrcMD8g(d, (*n).sons->data[((NI) 2)], result);
	}
	break;
	case ((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 17):
	{
		renderAux__zVlkCIHCkLQV6Nm9a32Dl4w(d, n, ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_109), ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_110), result);
	}
	break;
	case ((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 18):
	{
		renderAux__zVlkCIHCkLQV6Nm9a32Dl4w(d, n, ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_103), ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_104), result);
	}
	break;
	case ((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 19):
	{
		renderAux__zVlkCIHCkLQV6Nm9a32Dl4w(d, n, ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_111), ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_112), result);
	}
	break;
	case ((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 23):
	{
		renderAux__zVlkCIHCkLQV6Nm9a32Dl4w(d, n, ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_113), ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_108), result);
	}
	break;
	case ((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 20):
	case ((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 21):
	case ((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 22):
	{
		{
			if (!NIM_TRUE) goto LA38_;
			failedAssertImpl__W9cjVocn1tjhW7p7xohJj6A(((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_114));
		}
		LA38_: ;
	}
	break;
	case ((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 24):
	{
		renderAux__zVlkCIHCkLQV6Nm9a32Dl4w(d, n, ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_115), ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_116), result);
	}
	break;
	case ((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 25):
	{
		{
			if (!NIM_TRUE) goto LA44_;
			failedAssertImpl__W9cjVocn1tjhW7p7xohJj6A(((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_117));
		}
		LA44_: ;
	}
	break;
	case ((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 26):
	{
		renderAux__zVlkCIHCkLQV6Nm9a32Dl4w(d, n, ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_118), ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_50), result);
	}
	break;
	case ((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 27):
	{
		renderAux__zVlkCIHCkLQV6Nm9a32Dl4w(d, n, ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_119), ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_120), result);
	}
	break;
	case ((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 28):
	{
		renderAux__zVlkCIHCkLQV6Nm9a32Dl4w(d, n, ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_121), ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_122), result);
	}
	break;
	case ((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 29):
	case ((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 30):
	{
		NimStringDesc* T50_;
		NimStringDesc* T51_;
		T50_ = (NimStringDesc*)0;
		T51_ = (NimStringDesc*)0;
		T51_ = texColumns__6tXalH9aB8YkuyupI8riWjQ(n);
		T50_ = rawNewString((T51_ ? T51_->Sup.len : 0) + 63);
appendString(T50_, ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_124));
appendString(T50_, T51_);
appendString(T50_, ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_127));
		renderAux__zVlkCIHCkLQV6Nm9a32Dl4w(d, n, ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_123), T50_, result);
	}
	break;
	case ((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 31):
	{
		{
			NI T55_;
			T55_ = (NI)0;
			T55_ = len__bM2v46TeKfDIrVkegSIy9ag(n);
			if (!(((NI) 1) <= T55_)) goto LA56_;
			{
				if (!((*d).target == ((tyEnum_OutputTarget__lDlBg9cTod71s9abpUj82lsw) 1))) goto LA60_;
				if ((NU)(((NI) 0)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*n).sons ? (*n).sons->Sup.len : 0)-1);
				renderRstToOut__9bVWgX0SWmhEi3eHlrcMD8g(d, (*n).sons->data[((NI) 0)], result);
				{
					NI i_2;
					NI colontmp__2;
					NI T63_;
					NI TM__vGSJrCjWQr859bqRvctRIaA_128;
					NI res_2;
					i_2 = (NI)0;
					colontmp__2 = (NI)0;
					T63_ = (NI)0;
					T63_ = len__bM2v46TeKfDIrVkegSIy9ag(n);
					TM__vGSJrCjWQr859bqRvctRIaA_128 = subInt(T63_, ((NI) 1));
					colontmp__2 = (NI)(TM__vGSJrCjWQr859bqRvctRIaA_128);
					res_2 = ((NI) 1);
					{
						while (1) {
							NI TM__vGSJrCjWQr859bqRvctRIaA_130;
							if (!(res_2 <= colontmp__2)) goto LA65;
							i_2 = res_2;
							unsureAsgnRef((void**) (&(*result)), resizeString((*result), 3));
appendString((*result), ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_129));
							if ((NU)(i_2) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(i_2,((*n).sons ? (*n).sons->Sup.len : 0)-1);
							renderRstToOut__9bVWgX0SWmhEi3eHlrcMD8g(d, (*n).sons->data[i_2], result);
							TM__vGSJrCjWQr859bqRvctRIaA_130 = addInt(res_2, ((NI) 1));
							res_2 = (NI)(TM__vGSJrCjWQr859bqRvctRIaA_130);
						} LA65: ;
					}
				}
				unsureAsgnRef((void**) (&(*result)), resizeString((*result), 10));
appendString((*result), ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_131));
			}
			goto LA58_;
			LA60_: ;
			{
				unsureAsgnRef((void**) (&(*result)), resizeString((*result), 4));
appendString((*result), ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_132));
				renderAux__9bVWgX0SWmhEi3eHlrcMD8g_2(d, n, result);
				unsureAsgnRef((void**) (&(*result)), resizeString((*result), 6));
appendString((*result), ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_133));
			}
			LA58_: ;
		}
		LA56_: ;
	}
	break;
	case ((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 33):
	{
		renderAux__zVlkCIHCkLQV6Nm9a32Dl4w(d, n, ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_107), ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_104), result);
	}
	break;
	case ((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 32):
	{
		renderAux__zVlkCIHCkLQV6Nm9a32Dl4w(d, n, ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_134), ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_135), result);
	}
	break;
	case ((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 34):
	{
		{
			if (!NIM_TRUE) goto LA72_;
			failedAssertImpl__W9cjVocn1tjhW7p7xohJj6A(((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_136));
		}
		LA72_: ;
	}
	break;
	case ((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 35):
	{
		{
			if (!NIM_TRUE) goto LA77_;
			failedAssertImpl__W9cjVocn1tjhW7p7xohJj6A(((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_137));
		}
		LA77_: ;
	}
	break;
	case ((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 36):
	{
		{
			if (!NIM_TRUE) goto LA82_;
			failedAssertImpl__W9cjVocn1tjhW7p7xohJj6A(((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_138));
		}
		LA82_: ;
	}
	break;
	case ((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 39):
	{
		NimStringDesc* tmp_2;
		tyArray__Re75IspeoxXy2oCZHwcRrA T85_;
		tmp_2 = ((NimStringDesc*) NIM_NIL);
		renderAux__9bVWgX0SWmhEi3eHlrcMD8g_2(d, n, (&tmp_2));
		nimZeroMem((void*)T85_, sizeof(tyArray__Re75IspeoxXy2oCZHwcRrA));
		T85_[0] = copyString(tmp_2);
		T85_[1] = rstnodeToRefname__TOPoj9cIRh7GBTY6PKofpTQ(n);
		dispA__3GZ9bx75poGreVGlawa9aBDg((*d).target, result, ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_139), ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_140), T85_, 2);
	}
	break;
	case ((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 37):
	{
		renderAux__zVlkCIHCkLQV6Nm9a32Dl4w(d, n, ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_141), ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_142), result);
	}
	break;
	case ((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 38):
	{
		NimStringDesc* tmp0;
		NimStringDesc* tmp1;
		tyArray__Re75IspeoxXy2oCZHwcRrA T88_;
		tmp0 = ((NimStringDesc*) NIM_NIL);
		tmp1 = ((NimStringDesc*) 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);
		renderRstToOut__9bVWgX0SWmhEi3eHlrcMD8g(d, (*n).sons->data[((NI) 0)], (&tmp0));
		if ((NU)(((NI) 1)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 1),((*n).sons ? (*n).sons->Sup.len : 0)-1);
		renderRstToOut__9bVWgX0SWmhEi3eHlrcMD8g(d, (*n).sons->data[((NI) 1)], (&tmp1));
		nimZeroMem((void*)T88_, sizeof(tyArray__Re75IspeoxXy2oCZHwcRrA));
		T88_[0] = copyString(tmp0);
		T88_[1] = copyString(tmp1);
		dispA__3GZ9bx75poGreVGlawa9aBDg((*d).target, result, ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_143), ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_144), T88_, 2);
	}
	break;
	case ((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 41):
	case ((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 42):
	{
		renderAux__9bVWgX0SWmhEi3eHlrcMD8g_2(d, n, result);
	}
	break;
	case ((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 48):
	{
		{
			tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* T95_;
			NimStringDesc* T96_;
			if (!!(((*d).target == ((tyEnum_OutputTarget__lDlBg9cTod71s9abpUj82lsw) 1)))) goto LA93_;
			T95_ = (tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg*)0;
			T95_ = lastSon__0dL43t7uo9b9ast8lG3CHj1A(n);
			T96_ = (NimStringDesc*)0;
			T96_ = addNodes__TOPoj9cIRh7GBTY6PKofpTQ_2(T95_);
			unsureAsgnRef((void**) (&(*result)), resizeString((*result), (T96_ ? T96_->Sup.len : 0) + 0));
appendString((*result), T96_);
		}
		LA93_: ;
	}
	break;
	case ((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 49):
	{
		{
			tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg* T102_;
			NimStringDesc* T103_;
			if (!((*d).target == ((tyEnum_OutputTarget__lDlBg9cTod71s9abpUj82lsw) 1))) goto LA100_;
			T102_ = (tyObject_RstNode__CjRS2xrmuD58kdGedE3yyg*)0;
			T102_ = lastSon__0dL43t7uo9b9ast8lG3CHj1A(n);
			T103_ = (NimStringDesc*)0;
			T103_ = addNodes__TOPoj9cIRh7GBTY6PKofpTQ_2(T102_);
			unsureAsgnRef((void**) (&(*result)), resizeString((*result), (T103_ ? T103_->Sup.len : 0) + 0));
appendString((*result), T103_);
		}
		LA100_: ;
	}
	break;
	case ((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 45):
	case ((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 46):
	{
		renderImage__9bVWgX0SWmhEi3eHlrcMD8g_6(d, n, result);
	}
	break;
	case ((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 47):
	{
		renderCodeBlock__9bVWgX0SWmhEi3eHlrcMD8g_7(d, n, result);
	}
	break;
	case ((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 50):
	{
		renderContainer__9bVWgX0SWmhEi3eHlrcMD8g_8(d, n, result);
	}
	break;
	case ((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 62):
	case ((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 52):
	{
		renderAux__zVlkCIHCkLQV6Nm9a32Dl4w(d, n, ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_207), ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_207), result);
	}
	break;
	case ((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 40):
	{
		renderAux__zVlkCIHCkLQV6Nm9a32Dl4w(d, n, ((NimStringDesc*) NIM_NIL), ((NimStringDesc*) NIM_NIL), result);
	}
	break;
	case ((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 53):
	{
		NimStringDesc* tmp0_2;
		NimStringDesc* tmp1_2;
		tyArray__Re75IspeoxXy2oCZHwcRrA T110_;
		tmp0_2 = ((NimStringDesc*) NIM_NIL);
		tmp1_2 = ((NimStringDesc*) 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);
		renderRstToOut__9bVWgX0SWmhEi3eHlrcMD8g(d, (*n).sons->data[((NI) 0)], (&tmp0_2));
		if ((NU)(((NI) 1)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 1),((*n).sons ? (*n).sons->Sup.len : 0)-1);
		renderRstToOut__9bVWgX0SWmhEi3eHlrcMD8g(d, (*n).sons->data[((NI) 1)], (&tmp1_2));
		nimZeroMem((void*)T110_, sizeof(tyArray__Re75IspeoxXy2oCZHwcRrA));
		T110_[0] = copyString(tmp0_2);
		T110_[1] = copyString(tmp1_2);
		dispA__3GZ9bx75poGreVGlawa9aBDg((*d).target, result, ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_199), ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_200), T110_, 2);
	}
	break;
	case ((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 54):
	{
		renderAux__zVlkCIHCkLQV6Nm9a32Dl4w(d, n, ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_208), ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_209), result);
	}
	break;
	case ((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 55):
	{
		renderAux__zVlkCIHCkLQV6Nm9a32Dl4w(d, n, ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_210), ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_211), result);
	}
	break;
	case ((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 57):
	{
		renderAux__zVlkCIHCkLQV6Nm9a32Dl4w(d, n, ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_212), ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_213), result);
	}
	break;
	case ((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 58):
	{
		renderAux__zVlkCIHCkLQV6Nm9a32Dl4w(d, n, ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_214), ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_135), result);
	}
	break;
	case ((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 59):
	{
		renderAux__zVlkCIHCkLQV6Nm9a32Dl4w(d, n, ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_215), ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_216), result);
	}
	break;
	case ((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 56):
	{
		renderIndexTerm__9bVWgX0SWmhEi3eHlrcMD8g_9(d, n, result);
	}
	break;
	case ((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 61):
	case ((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 60):
	{
		renderAux__zVlkCIHCkLQV6Nm9a32Dl4w(d, n, ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_220), ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_221), result);
	}
	break;
	case ((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 63):
	{
		renderSmiley__9bVWgX0SWmhEi3eHlrcMD8g_10(d, n, result);
	}
	break;
	case ((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 64):
	{
		NimStringDesc* T120_;
		T120_ = (NimStringDesc*)0;
		T120_ = esc__Tgq9c7oEp9c4LGF7SoXGTh8w((*d).target, (*n).text, ((NI) -1));
		unsureAsgnRef((void**) (&(*result)), resizeString((*result), (T120_ ? T120_->Sup.len : 0) + 0));
appendString((*result), T120_);
	}
	break;
	case ((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 44):
	{
		(*d).hasToc = NIM_TRUE;
	}
	break;
	case ((tyEnum_RstNodeKind__Q1jM9a8f0MKlvbLZpipB3qg) 43):
	{
		unsureAsgnRef((void**) (&(*d).meta[(((tyEnum_MetaEnum__HD14RiMbGt9aRJpE4GI3T9cg) 1))- 0]), ((NimStringDesc*) 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);
		renderRstToOut__9bVWgX0SWmhEi3eHlrcMD8g(d, (*n).sons->data[((NI) 0)], (&(*d).meta[(((tyEnum_MetaEnum__HD14RiMbGt9aRJpE4GI3T9cg) 1))- 0]));
	}
	break;
	}
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, renderTocEntry__swtKJhB7QpFMqLr9cuEw1JQ)(tyObject_RstGenerator__yF9cB1II0vYb2F0YKmIiArg* d, tyObject_TocEntry__z7kal23LlR1mL50YJIPMCw e, NimStringDesc** result) {	tyArray__Re75IspeoxXy2oCZHwcRrA T1_;
	nimZeroMem((void*)T1_, sizeof(tyArray__Re75IspeoxXy2oCZHwcRrA));
	T1_[0] = copyString(e.refname);
	T1_[1] = copyString(e.header);
	dispA__3GZ9bx75poGreVGlawa9aBDg((*d).target, result, ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_225), ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_226), T1_, 2);
}
N_LIB_PRIVATE N_NIMCALL(void, renderTocEntries__lXmEBiWEMeUQB9cTe0c6XoQ)(tyObject_RstGenerator__yF9cB1II0vYb2F0YKmIiArg* d, NI* j, NI lvl, NimStringDesc** result) {	NimStringDesc* tmp;
	tmp = ((NimStringDesc*) NIM_NIL);
	{
		while (1) {
			NI T3_;
			NI a;
			T3_ = (((*d).tocPart ? (*d).tocPart->Sup.len : 0)-1);
			if (!((*j) <= T3_)) goto LA2;
			if ((NU)((*j)) >= (NU)((*d).tocPart ? (*d).tocPart->Sup.len : 0)) raiseIndexError2((*j),((*d).tocPart ? (*d).tocPart->Sup.len : 0)-1);
			if ((*(*d).tocPart->data[(*j)].n).level == (IL64(-9223372036854775807) - IL64(1))) raiseOverflow();
			a = ((*(*d).tocPart->data[(*j)].n).level > 0? ((*(*d).tocPart->data[(*j)].n).level) : -((*(*d).tocPart->data[(*j)].n).level));
			{
				NI TM__vGSJrCjWQr859bqRvctRIaA_227;
				if (!(a == lvl)) goto LA6_;
				if ((NU)((*j)) >= (NU)((*d).tocPart ? (*d).tocPart->Sup.len : 0)) raiseIndexError2((*j),((*d).tocPart ? (*d).tocPart->Sup.len : 0)-1);
				renderTocEntry__swtKJhB7QpFMqLr9cuEw1JQ(d, (*d).tocPart->data[(*j)], (&tmp));
				TM__vGSJrCjWQr859bqRvctRIaA_227 = addInt((*j), ((NI) 1));
				(*j) = (NI)(TM__vGSJrCjWQr859bqRvctRIaA_227);
			}
			goto LA4_;
			LA6_: ;
			{
				if (!(lvl < a)) goto LA9_;
				renderTocEntries__lXmEBiWEMeUQB9cTe0c6XoQ(d, j, a, (&tmp));
			}
			goto LA4_;
			LA9_: ;
			{
				goto LA1;
			}
			LA4_: ;
		} LA2: ;
	} LA1: ;
	{
		tyArray__nHXaesL0DJZHyVS07ARPRA T16_;
		if (!(((NI) 1) < lvl)) goto LA14_;
		nimZeroMem((void*)T16_, sizeof(tyArray__nHXaesL0DJZHyVS07ARPRA));
		T16_[0] = copyString(tmp);
		dispA__3GZ9bx75poGreVGlawa9aBDg((*d).target, result, ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_228), ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_229), T16_, 1);
	}
	goto LA12_;
	LA14_: ;
	{
		unsureAsgnRef((void**) (&(*result)), resizeString((*result), (tmp ? tmp->Sup.len : 0) + 0));
appendString((*result), tmp);
	}
	LA12_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, writeIndexFile__XQaohh8v9brpMTzazPqfP6g)(tyObject_RstGenerator__yF9cB1II0vYb2F0YKmIiArg* g, NimStringDesc* outfile) {	{
		if (!(((NI) 0) < ((*g).theIndex ? (*g).theIndex->Sup.len : 0))) goto LA3_;
		writeFile__D6Pj9c29aCLEJP9beOWa08HYA(outfile, (*g).theIndex);
	}
	LA3_: ;
}
static N_NIMCALL(void, Marker_tySequence__5PunAJrNQYcB8dF0jau3pQ)(void* p, NI op) {
	tySequence__5PunAJrNQYcB8dF0jau3pQ* a;
	NI T1_;
	a = (tySequence__5PunAJrNQYcB8dF0jau3pQ*)p;
	T1_ = (NI)0;
	for (T1_ = 0; T1_ < (a ? a->Sup.len : 0); T1_++) {
	nimGCvisit((void*)a->data[T1_].keyword, op);
	nimGCvisit((void*)a->data[T1_].link, op);
	nimGCvisit((void*)a->data[T1_].linkTitle, op);
	nimGCvisit((void*)a->data[T1_].linkDesc, op);
	}
}
static N_INLINE(NimStringDesc*, pop__uJq9ayjszaqUcdxv3Rz6G9bQsystem)(tySequence__sM4lkSb7zS6F7OVMvW9cffQ** s) {	NimStringDesc* result;
	NI L;
	NI T1_;
	NI TM__vGSJrCjWQr859bqRvctRIaA_234;
	result = (NimStringDesc*)0;
	T1_ = ((*s) ? (*s)->Sup.len : 0);
	TM__vGSJrCjWQr859bqRvctRIaA_234 = subInt(T1_, ((NI) 1));
	L = (NI)(TM__vGSJrCjWQr859bqRvctRIaA_234);
	if ((NU)(L) >= (NU)((*s) ? (*s)->Sup.len : 0)) raiseIndexError2(L,((*s) ? (*s)->Sup.len : 0)-1);
	result = copyString((*s)->data[L]);
	unsureAsgnRef((void**) (&(*s)), (tySequence__sM4lkSb7zS6F7OVMvW9cffQ*) setLengthSeqV2(&((*s))->Sup, (&NTI__sM4lkSb7zS6F7OVMvW9cffQ_), ((NI)chckRange(L, ((NI) 0), ((NI) IL64(9223372036854775807))))));
	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;
}
static N_INLINE(void, pushSafePoint)(TSafePoint* s) {	(*s).hasRaiseAction = NIM_FALSE;
	(*s).prev = excHandler__rqLlY5bs9atDw2OXYqJEn5g;
	excHandler__rqLlY5bs9atDw2OXYqJEn5g = s;
}
static N_INLINE(NIM_BOOL, dirExists__AWUc3v8Mlad7tvNYF3Ak8Qos)(NimStringDesc* dir) {	NIM_BOOL result;
	result = (NIM_BOOL)0;
	result = nosexistsDir(dir);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isDocumentationTitle__59alvxmcYHb5hQOcj69cvGPQ)(NimStringDesc* hyperlink) {	NIM_BOOL result;
	NI T1_;
	result = (NIM_BOOL)0;
	T1_ = (NI)0;
	T1_ = nsuFindChar(hyperlink, 35, ((NI) 0), ((NI) 0));
	result = (T1_ < ((NI) 0));
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, unquoteIndexColumn__Hchmde6CO0ano09cqrnA4Ag_2)(NimStringDesc* text) {	NimStringDesc* result;
	result = (NimStringDesc*)0;
	result = multiReplace__bE9ctzdR0d2caO0lr9a9b8Jng(text, TM__vGSJrCjWQr859bqRvctRIaA_244, 3);
	return result;
}
static N_INLINE(void, popSafePoint)(void) {	excHandler__rqLlY5bs9atDw2OXYqJEn5g = (*excHandler__rqLlY5bs9atDw2OXYqJEn5g).prev;
}
static N_INLINE(NI, emarkamp___Bho3MSI0G3qbEZZcjdigaQhashes)(NI h, NI val) {	NI result;
	NU h_2;
	NU val_2;
	NU res;
	result = (NI)0;
	h_2 = ((NU) (h));
	val_2 = ((NU) (val));
	res = (NU)((NU64)(h_2) + (NU64)(val_2));
	res = (NU)((NU64)(res) + (NU64)((NU)((NU64)(res) << (NU64)(((NI) 10)))));
	res = (NU)(res ^ (NU)((NU64)(res) >> (NU64)(((NI) 6))));
	result = ((NI) (res));
	return result;
}
static N_INLINE(NI, emarkdollar___1VtZEcAzbCzFoJje5ex9aKwhashes)(NI h) {	NI result;
	NU h_2;
	NU res;
	result = (NI)0;
	h_2 = ((NU) (h));
	res = (NU)((NU64)(h_2) + (NU64)((NU)((NU64)(h_2) << (NU64)(((NI) 3)))));
	res = (NU)(res ^ (NU)((NU64)(res) >> (NU64)(((NI) 11))));
	res = (NU)((NU64)(res) + (NU64)((NU)((NU64)(res) << (NU64)(((NI) 15)))));
	result = ((NI) (res));
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NI, hash__qsZ1IgNQkpu0AbMu0eEzCQ)(tyObject_IndexEntry__G9ccBDFWfr9aYnLgXTNGDHDg* x) {	NI result;
	NI T1_;
	NI T2_;
	NI T3_;
	NI T4_;
	result = (NI)0;
	T1_ = (NI)0;
	T1_ = hash__6PCYkKlCNhq9cnRLnqWKkwQ((*x).keyword);
	T2_ = (NI)0;
	T2_ = hash__6PCYkKlCNhq9cnRLnqWKkwQ((*x).link);
	result = emarkamp___Bho3MSI0G3qbEZZcjdigaQhashes(T1_, T2_);
	T3_ = (NI)0;
	T3_ = hash__6PCYkKlCNhq9cnRLnqWKkwQ((*x).linkTitle);
	result = emarkamp___Bho3MSI0G3qbEZZcjdigaQhashes(result, T3_);
	T4_ = (NI)0;
	T4_ = hash__6PCYkKlCNhq9cnRLnqWKkwQ((*x).linkDesc);
	result = emarkamp___Bho3MSI0G3qbEZZcjdigaQhashes(result, T4_);
	result = emarkdollar___1VtZEcAzbCzFoJje5ex9aKwhashes(result);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, readIndexDir__tb68DrT6xzF5ZfmNFMFm2Q)(NimStringDesc* dir, tyTuple__19af1Yi5wzYJHEoosvtCJdQ* Result) {	NI L;
	tyProc__kTj9c3SX9agxDQPZYwemi6ug T243_;
	chckNil((void*)Result);
	genericReset((void*)Result, (&NTI__19af1Yi5wzYJHEoosvtCJdQ_));
	unsureAsgnRef((void**) (&(*Result).Field0), NIM_NIL);
	initTable__I9aPNnheGFL82i9cc5xQlxyA(((NI) 32), (&(*Result).Field2));
	unsureAsgnRef((void**) (&(*Result).Field1), (tySequence__5PunAJrNQYcB8dF0jau3pQ*) newSeq((&NTI__5PunAJrNQYcB8dF0jau3pQ_), ((NI) 15000)));
	unsureAsgnRef((void**) (&(*Result).Field1), (tySequence__5PunAJrNQYcB8dF0jau3pQ*) setLengthSeqV2(&((*Result).Field1)->Sup, (&NTI__5PunAJrNQYcB8dF0jau3pQ_), ((NI) 0)));
	L = ((NI) 0);
	{
		NimStringDesc* path;
		tySequence__sM4lkSb7zS6F7OVMvW9cffQ* stack;
		path = (NimStringDesc*)0;
		genericSeqAssign((&stack), TM__vGSJrCjWQr859bqRvctRIaA_232, (&NTI__sM4lkSb7zS6F7OVMvW9cffQ_));
		{
			while (1) {
				NI T4_;
				NimStringDesc* d;
				T4_ = (stack ? stack->Sup.len : 0);
				if (!(((NI) 0) < T4_)) goto LA3;
				d = pop__uJq9ayjszaqUcdxv3Rz6G9bQsystem((&stack));
				{
					tyEnum_PathComponent__9c1SIU9cO1wHcl09b703A9cDrg k;
					NimStringDesc* p;
					NimStringDesc* colontmp_;
					DIR* d_2;
					k = (tyEnum_PathComponent__9c1SIU9cO1wHcl09b703A9cDrg)0;
					p = (NimStringDesc*)0;
					colontmp_ = (NimStringDesc*)0;
					colontmp_ = slash___gEyhbzZ1UcxyenWRLJRXNQ(dir, d);
					d_2 = opendir(nimToCStringConv(colontmp_));
					{
						TSafePoint TM__vGSJrCjWQr859bqRvctRIaA_235;
						if (!!((d_2 == NIM_NIL))) goto LA8_;
						pushSafePoint(&TM__vGSJrCjWQr859bqRvctRIaA_235);
						TM__vGSJrCjWQr859bqRvctRIaA_235.status = setjmp(TM__vGSJrCjWQr859bqRvctRIaA_235.context);
						if (TM__vGSJrCjWQr859bqRvctRIaA_235.status == 0) {
							{
								while (1) {
									{
										struct dirent* x;
										NimStringDesc* y;
										x = readdir(d_2);
										{
											if (!(x == NIM_NIL)) goto LA16_;
											goto LA11;
										}
										LA16_: ;
										y = cstrToNimstr(((NCSTRING) ((*x).d_name)));
										{
											NIM_BOOL T20_;
											struct stat s;
											NimStringDesc* path_2;
											tyEnum_PathComponent__9c1SIU9cO1wHcl09b703A9cDrg k_2;
											NimStringDesc* rel_2;
											T20_ = (NIM_BOOL)0;
											T20_ = !(eqStrings(y, ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_236)));
											if (!(T20_)) goto LA21_;
											T20_ = !(eqStrings(y, ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_237)));
											LA21_: ;
											if (!T20_) goto LA22_;
											nimZeroMem((void*)(&s), sizeof(struct stat));
											path_2 = slash___gEyhbzZ1UcxyenWRLJRXNQ(colontmp_, y);
											{
												if (!NIM_FALSE) goto LA26_;
												y = copyString(path_2);
											}
											LA26_: ;
											k_2 = ((tyEnum_PathComponent__9c1SIU9cO1wHcl09b703A9cDrg) 0);
											{
												NimStringDesc* rel;
												if (!!(((*x).d_type == ((NI8) 0)))) goto LA30_;
												{
													if (!((*x).d_type == ((NI8) 4))) goto LA34_;
													k_2 = ((tyEnum_PathComponent__9c1SIU9cO1wHcl09b703A9cDrg) 2);
												}
												LA34_: ;
												{
													if (!((*x).d_type == ((NI8) 10))) goto LA38_;
													{
														NIM_BOOL T42_;
														T42_ = (NIM_BOOL)0;
														T42_ = dirExists__AWUc3v8Mlad7tvNYF3Ak8Qos(path_2);
														if (!T42_) goto LA43_;
														k_2 = ((tyEnum_PathComponent__9c1SIU9cO1wHcl09b703A9cDrg) 3);
													}
													goto LA40_;
													LA43_: ;
													{
														k_2 = ((tyEnum_PathComponent__9c1SIU9cO1wHcl09b703A9cDrg) 1);
													}
													LA40_: ;
												}
												LA38_: ;
												k = k_2;
												p = y;
												rel = slash___gEyhbzZ1UcxyenWRLJRXNQ(d, p);
												{
													NIM_BOOL T48_;
													NI T52_;
													NimStringDesc* T53_;
													T48_ = (NIM_BOOL)0;
													T48_ = ((12 &(1U<<((NU)(k)&7U)))!=0);
													if (!(T48_)) goto LA49_;
													T48_ = ((4 &(1U<<((NU)(k)&7U)))!=0);
													LA49_: ;
													if (!T48_) goto LA50_;
													stack = (tySequence__sM4lkSb7zS6F7OVMvW9cffQ*) incrSeqV3((TGenericSeq*)(stack), (&NTI__sM4lkSb7zS6F7OVMvW9cffQ_));
													T52_ = stack->Sup.len++;
													T53_ = (NimStringDesc*)0;
													T53_ = stack->data[T52_]; stack->data[T52_] = copyStringRC1(rel);
													if (T53_) nimGCunrefNoCycle(T53_);
												}
												LA50_: ;
												{
													if (!((1 &(1U<<((NU)(k)&7U)))!=0)) goto LA56_;
													{
														if (!NIM_FALSE) goto LA60_;
														path = rel;
													}
													goto LA58_;
													LA60_: ;
													{
														path = slash___gEyhbzZ1UcxyenWRLJRXNQ(dir, rel);
													}
													LA58_: ;
													{
														NIM_BOOL T65_;
														tySequence__5PunAJrNQYcB8dF0jau3pQ* fileEntries;
														tyObject_IndexEntry__G9ccBDFWfr9aYnLgXTNGDHDg title;
														NI f;
														T65_ = (NIM_BOOL)0;
														T65_ = nsuEndsWith(path, ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_238));
														if (!T65_) goto LA66_;
														fileEntries = (tySequence__5PunAJrNQYcB8dF0jau3pQ*)0;
														nimZeroMem((void*)(&title), sizeof(tyObject_IndexEntry__G9ccBDFWfr9aYnLgXTNGDHDg));
														f = ((NI) 0);
														fileEntries = (tySequence__5PunAJrNQYcB8dF0jau3pQ*) newSeq((&NTI__5PunAJrNQYcB8dF0jau3pQ_), ((NI) 500));
														fileEntries = (tySequence__5PunAJrNQYcB8dF0jau3pQ*) setLengthSeqV2(&(fileEntries)->Sup, (&NTI__5PunAJrNQYcB8dF0jau3pQ_), ((NI) 0));
														{
															NimStringDesc* line;
															FILE* f_2;
															TSafePoint TM__vGSJrCjWQr859bqRvctRIaA_239;
															line = (NimStringDesc*)0;
															f_2 = open__cb1k9citqyT9a9brBSJAz8pkg(path, ((tyEnum_FileMode__ZJfK20XeZ9bv2j1pZjw9aswg) 0), ((NI) 8000));
															pushSafePoint(&TM__vGSJrCjWQr859bqRvctRIaA_239);
															TM__vGSJrCjWQr859bqRvctRIaA_239.status = setjmp(TM__vGSJrCjWQr859bqRvctRIaA_239.context);
															if (TM__vGSJrCjWQr859bqRvctRIaA_239.status == 0) {
																NimStringDesc* res;
																res = rawNewString(((NI) 80));
																{
																	while (1) {
																		NIM_BOOL T72_;
																		T72_ = (NIM_BOOL)0;
																		T72_ = readLine__FbqDHP9bu7nqCh9c04dnSOxw(f_2, (&res));
																		if (!T72_) goto LA71;
																		line = res;
																		{
																			NI s_2;
																			NI TM__vGSJrCjWQr859bqRvctRIaA_240;
																			NI TM__vGSJrCjWQr859bqRvctRIaA_241;
																			NI TM__vGSJrCjWQr859bqRvctRIaA_242;
																			NI TM__vGSJrCjWQr859bqRvctRIaA_247;
																			s_2 = nsuFindChar(line, 9, ((NI) 0), ((NI) 0));
																			{
																				if (!(s_2 < ((NI) 0))) goto LA76_;
																				goto LA73;
																			}
																			LA76_: ;
																			TM__vGSJrCjWQr859bqRvctRIaA_240 = addInt(f, ((NI) 1));
																			fileEntries = (tySequence__5PunAJrNQYcB8dF0jau3pQ*) setLengthSeqV2(&(fileEntries)->Sup, (&NTI__5PunAJrNQYcB8dF0jau3pQ_), ((NI)chckRange((NI)(TM__vGSJrCjWQr859bqRvctRIaA_240), ((NI) 0), ((NI) IL64(9223372036854775807)))));
																			if ((NU)(f) >= (NU)(fileEntries ? fileEntries->Sup.len : 0)) raiseIndexError2(f,(fileEntries ? fileEntries->Sup.len : 0)-1);
																			TM__vGSJrCjWQr859bqRvctRIaA_241 = subInt(s_2, ((NI) 1));
																			asgnRef((void**) (&fileEntries->data[f].keyword), substr__2yh9cer0ymNRHlOOg8P7IuA(line, ((NI) 0), (NI)(TM__vGSJrCjWQr859bqRvctRIaA_241)));
																			if ((NU)(f) >= (NU)(fileEntries ? fileEntries->Sup.len : 0)) raiseIndexError2(f,(fileEntries ? fileEntries->Sup.len : 0)-1);
																			TM__vGSJrCjWQr859bqRvctRIaA_242 = addInt(s_2, ((NI) 1));
																			asgnRef((void**) (&fileEntries->data[f].link), substr__iGg0RIKceRvsmvq8FUHOEw(line, (NI)(TM__vGSJrCjWQr859bqRvctRIaA_242)));
																			{
																				NIM_BOOL T80_;
																				T80_ = (NIM_BOOL)0;
																				T80_ = ((title.keyword ? title.keyword->Sup.len : 0) == ((NI) 0));
																				if (!(T80_)) goto LA81_;
																				if ((NU)(f) >= (NU)(fileEntries ? fileEntries->Sup.len : 0)) raiseIndexError2(f,(fileEntries ? fileEntries->Sup.len : 0)-1);
																				T80_ = isDocumentationTitle__59alvxmcYHb5hQOcj69cvGPQ(fileEntries->data[f].link);
																				LA81_: ;
																				if (!T80_) goto LA82_;
																				if ((NU)(f) >= (NU)(fileEntries ? fileEntries->Sup.len : 0)) raiseIndexError2(f,(fileEntries ? fileEntries->Sup.len : 0)-1);
																				title.keyword = copyString(fileEntries->data[f].keyword);
																				if ((NU)(f) >= (NU)(fileEntries ? fileEntries->Sup.len : 0)) raiseIndexError2(f,(fileEntries ? fileEntries->Sup.len : 0)-1);
																				title.link = copyString(fileEntries->data[f].link);
																			}
																			LA82_: ;
																			{
																				NI T86_;
																				tySequence__sM4lkSb7zS6F7OVMvW9cffQ* extraCols;
																				NimStringDesc* T89_;
																				if ((NU)(f) >= (NU)(fileEntries ? fileEntries->Sup.len : 0)) raiseIndexError2(f,(fileEntries ? fileEntries->Sup.len : 0)-1);
																				T86_ = (NI)0;
																				T86_ = nsuFindChar(fileEntries->data[f].link, 9, ((NI) 0), ((NI) 0));
																				if (!(((NI) 0) < T86_)) goto LA87_;
																				if ((NU)(f) >= (NU)(fileEntries ? fileEntries->Sup.len : 0)) raiseIndexError2(f,(fileEntries ? fileEntries->Sup.len : 0)-1);
																				extraCols = nsuSplitChar(fileEntries->data[f].link, 9, ((NI) -1));
																				if ((NU)(f) >= (NU)(fileEntries ? fileEntries->Sup.len : 0)) raiseIndexError2(f,(fileEntries ? fileEntries->Sup.len : 0)-1);
																				if ((NU)(((NI) 0)) >= (NU)(extraCols ? extraCols->Sup.len : 0)) raiseIndexError2(((NI) 0),(extraCols ? extraCols->Sup.len : 0)-1);
																				T89_ = (NimStringDesc*)0;
																				T89_ = fileEntries->data[f].link; fileEntries->data[f].link = copyStringRC1(extraCols->data[((NI) 0)]);
																				if (T89_) nimGCunrefNoCycle(T89_);
																				{
																					NI T92_;
																					T92_ = (extraCols ? extraCols->Sup.len : 0);
																					if (!!((T92_ == ((NI) 3)))) goto LA93_;
																					failedAssertImpl__W9cjVocn1tjhW7p7xohJj6A(((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_243));
																				}
																				LA93_: ;
																				if ((NU)(f) >= (NU)(fileEntries ? fileEntries->Sup.len : 0)) raiseIndexError2(f,(fileEntries ? fileEntries->Sup.len : 0)-1);
																				if ((NU)(((NI) 1)) >= (NU)(extraCols ? extraCols->Sup.len : 0)) raiseIndexError2(((NI) 1),(extraCols ? extraCols->Sup.len : 0)-1);
																				asgnRef((void**) (&fileEntries->data[f].linkTitle), unquoteIndexColumn__Hchmde6CO0ano09cqrnA4Ag_2(extraCols->data[((NI) 1)]));
																				if ((NU)(f) >= (NU)(fileEntries ? fileEntries->Sup.len : 0)) raiseIndexError2(f,(fileEntries ? fileEntries->Sup.len : 0)-1);
																				if ((NU)(((NI) 2)) >= (NU)(extraCols ? extraCols->Sup.len : 0)) raiseIndexError2(((NI) 2),(extraCols ? extraCols->Sup.len : 0)-1);
																				asgnRef((void**) (&fileEntries->data[f].linkDesc), unquoteIndexColumn__Hchmde6CO0ano09cqrnA4Ag_2(extraCols->data[((NI) 2)]));
																			}
																			goto LA84_;
																			LA87_: ;
																			{
																				if ((NU)(f) >= (NU)(fileEntries ? fileEntries->Sup.len : 0)) raiseIndexError2(f,(fileEntries ? fileEntries->Sup.len : 0)-1);
																				asgnRef((void**) (&fileEntries->data[f].linkTitle), ((NimStringDesc*) NIM_NIL));
																				if ((NU)(f) >= (NU)(fileEntries ? fileEntries->Sup.len : 0)) raiseIndexError2(f,(fileEntries ? fileEntries->Sup.len : 0)-1);
																				asgnRef((void**) (&fileEntries->data[f].linkDesc), ((NimStringDesc*) NIM_NIL));
																			}
																			LA84_: ;
																			TM__vGSJrCjWQr859bqRvctRIaA_247 = addInt(f, ((NI) 1));
																			f = (NI)(TM__vGSJrCjWQr859bqRvctRIaA_247);
																		} LA73: ;
																	} LA71: ;
																}
																popSafePoint();
															}
															else {
																popSafePoint();
															}
															{
																close__fU6ZlJAtQ9bre04EDZLdGsA_3(f_2);
															}
															if (TM__vGSJrCjWQr859bqRvctRIaA_239.status != 0) reraiseException();
														}
														{
															if (!((title.keyword ? title.keyword->Sup.len : 0) == ((NI) 0))) goto LA100_;
															{
																NI i;
																NI i_2;
																i = (NI)0;
																i_2 = ((NI) 0);
																{
																	while (1) {
																		NI TM__vGSJrCjWQr859bqRvctRIaA_250;
																		if (!(i_2 < f)) goto LA104;
																		i = i_2;
																		{
																			NimStringDesc* toc;
																			NI TM__vGSJrCjWQr859bqRvctRIaA_248;
																			NimStringDesc* T112_;
																			NimStringDesc* T113_;
																			NimStringDesc* T114_;
																			NimStringDesc* T115_;
																			NI TM__vGSJrCjWQr859bqRvctRIaA_249;
																			if ((NU)(i) >= (NU)(fileEntries ? fileEntries->Sup.len : 0)) raiseIndexError2(i,(fileEntries ? fileEntries->Sup.len : 0)-1);
																			toc = fileEntries->data[i].linkTitle;
																			{
																				NIM_BOOL T108_;
																				T108_ = (NIM_BOOL)0;
																				T108_ = (((NI) 0) < (toc ? toc->Sup.len : 0));
																				if (!(T108_)) goto LA109_;
																				if ((NU)(((NI) 0)) >= (NU)(toc ? toc->Sup.len : 0)) raiseIndexError2(((NI) 0),(toc ? toc->Sup.len : 0)-1);
																				T108_ = ((NU8)(toc->data[((NI) 0)]) == (NU8)(32));
																				LA109_: ;
																				if (!T108_) goto LA110_;
																				goto LA105;
																			}
																			LA110_: ;
																			TM__vGSJrCjWQr859bqRvctRIaA_248 = addInt(L, ((NI) 1));
																			unsureAsgnRef((void**) (&(*Result).Field1), (tySequence__5PunAJrNQYcB8dF0jau3pQ*) setLengthSeqV2(&((*Result).Field1)->Sup, (&NTI__5PunAJrNQYcB8dF0jau3pQ_), ((NI)chckRange((NI)(TM__vGSJrCjWQr859bqRvctRIaA_248), ((NI) 0), ((NI) IL64(9223372036854775807))))));
																			if ((NU)(L) >= (NU)((*Result).Field1 ? (*Result).Field1->Sup.len : 0)) raiseIndexError2(L,((*Result).Field1 ? (*Result).Field1->Sup.len : 0)-1);
																			if ((NU)(i) >= (NU)(fileEntries ? fileEntries->Sup.len : 0)) raiseIndexError2(i,(fileEntries ? fileEntries->Sup.len : 0)-1);
																			T112_ = (NimStringDesc*)0;
																			T112_ = (*Result).Field1->data[L].keyword; (*Result).Field1->data[L].keyword = copyStringRC1(fileEntries->data[i].keyword);
																			if (T112_) nimGCunrefNoCycle(T112_);
																			T113_ = (NimStringDesc*)0;
																			T113_ = (*Result).Field1->data[L].link; (*Result).Field1->data[L].link = copyStringRC1(fileEntries->data[i].link);
																			if (T113_) nimGCunrefNoCycle(T113_);
																			T114_ = (NimStringDesc*)0;
																			T114_ = (*Result).Field1->data[L].linkTitle; (*Result).Field1->data[L].linkTitle = copyStringRC1(fileEntries->data[i].linkTitle);
																			if (T114_) nimGCunrefNoCycle(T114_);
																			T115_ = (NimStringDesc*)0;
																			T115_ = (*Result).Field1->data[L].linkDesc; (*Result).Field1->data[L].linkDesc = copyStringRC1(fileEntries->data[i].linkDesc);
																			if (T115_) nimGCunrefNoCycle(T115_);
																			TM__vGSJrCjWQr859bqRvctRIaA_249 = addInt(L, ((NI) 1));
																			L = (NI)(TM__vGSJrCjWQr859bqRvctRIaA_249);
																		} LA105: ;
																		TM__vGSJrCjWQr859bqRvctRIaA_250 = addInt(i_2, ((NI) 1));
																		i_2 = (NI)(TM__vGSJrCjWQr859bqRvctRIaA_250);
																	} LA104: ;
																}
															}
															{
																NI T118_;
																NimStringDesc* x_2;
																NI i_3;
																T118_ = (fileEntries ? fileEntries->Sup.len : 0);
																if (!(((NI) 0) < T118_)) goto LA119_;
																if ((NU)(((NI) 0)) >= (NU)(fileEntries ? fileEntries->Sup.len : 0)) raiseIndexError2(((NI) 0),(fileEntries ? fileEntries->Sup.len : 0)-1);
																x_2 = copyString(fileEntries->data[((NI) 0)].link);
																i_3 = nsuFindChar(x_2, 35, ((NI) 0), ((NI) 0));
																{
																	NI TM__vGSJrCjWQr859bqRvctRIaA_251;
																	if (!(((NI) 0) < i_3)) goto LA123_;
																	TM__vGSJrCjWQr859bqRvctRIaA_251 = subInt(i_3, ((NI) 1));
																	x_2 = substr__2yh9cer0ymNRHlOOg8P7IuA(x_2, ((NI) 0), (NI)(TM__vGSJrCjWQr859bqRvctRIaA_251));
																}
																LA123_: ;
																{
																	NimStringDesc* T129_;
																	NI T130_;
																	NimStringDesc* T131_;
																	if (!!((i_3 == ((NI) 0)))) goto LA127_;
																	T129_ = (NimStringDesc*)0;
																	T129_ = noschangeFileExt(x_2, ((NimStringDesc*) NIM_NIL));
																	unsureAsgnRef((void**) (&(*Result).Field0), (tySequence__sM4lkSb7zS6F7OVMvW9cffQ*) incrSeqV3((TGenericSeq*)((*Result).Field0), (&NTI__sM4lkSb7zS6F7OVMvW9cffQ_)));
																	T130_ = (*Result).Field0->Sup.len++;
																	T131_ = (NimStringDesc*)0;
																	T131_ = (*Result).Field0->data[T130_]; (*Result).Field0->data[T130_] = copyStringRC1(T129_);
																	if (T131_) nimGCunrefNoCycle(T131_);
																}
																LA127_: ;
															}
															LA119_: ;
														}
														goto LA98_;
														LA100_: ;
														{
															NimStringDesc* T133_;
															NI T134_;
															NimStringDesc* T135_;
															T133_ = (NimStringDesc*)0;
															T134_ = (NI)0;
															T134_ = len__XkMbL52cqyBSUFesQIX9bTA((*Result).Field2);
															T135_ = (NimStringDesc*)0;
															T135_ = nimIntToStr(T134_);
															T133_ = rawNewString((T135_ ? T135_->Sup.len : 0) + 8);
appendString(T133_, ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_252));
appendString(T133_, T135_);
															title.linkTitle = T133_;
															X5BX5Deq___7WMJi0xLR1wauzIPHncLMA((&(*Result).Field2), (&title), fileEntries);
														}
														LA98_: ;
													}
													LA66_: ;
												}
												LA56_: ;
												goto LA13;
											}
											LA30_: ;
											{
												int T138_;
												T138_ = (int)0;
												T138_ = lstat(nimToCStringConv(path_2), (&s));
												if (!(T138_ < ((NI32) 0))) goto LA139_;
												goto LA11;
											}
											LA139_: ;
											{
												NIM_BOOL T143_;
												T143_ = (NIM_BOOL)0;
												T143_ = S_ISDIR(s.st_mode);
												if (!T143_) goto LA144_;
												k_2 = ((tyEnum_PathComponent__9c1SIU9cO1wHcl09b703A9cDrg) 2);
											}
											goto LA141_;
											LA144_: ;
											{
												NIM_BOOL T147_;
												T147_ = (NIM_BOOL)0;
												T147_ = S_ISLNK(s.st_mode);
												if (!T147_) goto LA148_;
												k_2 = getSymlinkFileKind__wTnLPNAWjgwVnuiJ9ax0ZGQ(path_2);
											}
											goto LA141_;
											LA148_: ;
											LA141_: ;
											k = k_2;
											p = y;
											rel_2 = slash___gEyhbzZ1UcxyenWRLJRXNQ(d, p);
											{
												NIM_BOOL T152_;
												NI T156_;
												NimStringDesc* T157_;
												T152_ = (NIM_BOOL)0;
												T152_ = ((12 &(1U<<((NU)(k)&7U)))!=0);
												if (!(T152_)) goto LA153_;
												T152_ = ((4 &(1U<<((NU)(k)&7U)))!=0);
												LA153_: ;
												if (!T152_) goto LA154_;
												stack = (tySequence__sM4lkSb7zS6F7OVMvW9cffQ*) incrSeqV3((TGenericSeq*)(stack), (&NTI__sM4lkSb7zS6F7OVMvW9cffQ_));
												T156_ = stack->Sup.len++;
												T157_ = (NimStringDesc*)0;
												T157_ = stack->data[T156_]; stack->data[T156_] = copyStringRC1(rel_2);
												if (T157_) nimGCunrefNoCycle(T157_);
											}
											LA154_: ;
											{
												if (!((1 &(1U<<((NU)(k)&7U)))!=0)) goto LA160_;
												{
													if (!NIM_FALSE) goto LA164_;
													path = rel_2;
												}
												goto LA162_;
												LA164_: ;
												{
													path = slash___gEyhbzZ1UcxyenWRLJRXNQ(dir, rel_2);
												}
												LA162_: ;
												{
													NIM_BOOL T169_;
													tySequence__5PunAJrNQYcB8dF0jau3pQ* fileEntries_2;
													tyObject_IndexEntry__G9ccBDFWfr9aYnLgXTNGDHDg title_2;
													NI f_3;
													T169_ = (NIM_BOOL)0;
													T169_ = nsuEndsWith(path, ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_238));
													if (!T169_) goto LA170_;
													fileEntries_2 = (tySequence__5PunAJrNQYcB8dF0jau3pQ*)0;
													nimZeroMem((void*)(&title_2), sizeof(tyObject_IndexEntry__G9ccBDFWfr9aYnLgXTNGDHDg));
													f_3 = ((NI) 0);
													fileEntries_2 = (tySequence__5PunAJrNQYcB8dF0jau3pQ*) newSeq((&NTI__5PunAJrNQYcB8dF0jau3pQ_), ((NI) 500));
													fileEntries_2 = (tySequence__5PunAJrNQYcB8dF0jau3pQ*) setLengthSeqV2(&(fileEntries_2)->Sup, (&NTI__5PunAJrNQYcB8dF0jau3pQ_), ((NI) 0));
													{
														NimStringDesc* line_2;
														FILE* f_4;
														TSafePoint TM__vGSJrCjWQr859bqRvctRIaA_253;
														line_2 = (NimStringDesc*)0;
														f_4 = open__cb1k9citqyT9a9brBSJAz8pkg(path, ((tyEnum_FileMode__ZJfK20XeZ9bv2j1pZjw9aswg) 0), ((NI) 8000));
														pushSafePoint(&TM__vGSJrCjWQr859bqRvctRIaA_253);
														TM__vGSJrCjWQr859bqRvctRIaA_253.status = setjmp(TM__vGSJrCjWQr859bqRvctRIaA_253.context);
														if (TM__vGSJrCjWQr859bqRvctRIaA_253.status == 0) {
															NimStringDesc* res_2;
															res_2 = rawNewString(((NI) 80));
															{
																while (1) {
																	NIM_BOOL T176_;
																	T176_ = (NIM_BOOL)0;
																	T176_ = readLine__FbqDHP9bu7nqCh9c04dnSOxw(f_4, (&res_2));
																	if (!T176_) goto LA175;
																	line_2 = res_2;
																	{
																		NI s_3;
																		NI TM__vGSJrCjWQr859bqRvctRIaA_254;
																		NI TM__vGSJrCjWQr859bqRvctRIaA_255;
																		NI TM__vGSJrCjWQr859bqRvctRIaA_256;
																		NI TM__vGSJrCjWQr859bqRvctRIaA_257;
																		s_3 = nsuFindChar(line_2, 9, ((NI) 0), ((NI) 0));
																		{
																			if (!(s_3 < ((NI) 0))) goto LA180_;
																			goto LA177;
																		}
																		LA180_: ;
																		TM__vGSJrCjWQr859bqRvctRIaA_254 = addInt(f_3, ((NI) 1));
																		fileEntries_2 = (tySequence__5PunAJrNQYcB8dF0jau3pQ*) setLengthSeqV2(&(fileEntries_2)->Sup, (&NTI__5PunAJrNQYcB8dF0jau3pQ_), ((NI)chckRange((NI)(TM__vGSJrCjWQr859bqRvctRIaA_254), ((NI) 0), ((NI) IL64(9223372036854775807)))));
																		if ((NU)(f_3) >= (NU)(fileEntries_2 ? fileEntries_2->Sup.len : 0)) raiseIndexError2(f_3,(fileEntries_2 ? fileEntries_2->Sup.len : 0)-1);
																		TM__vGSJrCjWQr859bqRvctRIaA_255 = subInt(s_3, ((NI) 1));
																		asgnRef((void**) (&fileEntries_2->data[f_3].keyword), substr__2yh9cer0ymNRHlOOg8P7IuA(line_2, ((NI) 0), (NI)(TM__vGSJrCjWQr859bqRvctRIaA_255)));
																		if ((NU)(f_3) >= (NU)(fileEntries_2 ? fileEntries_2->Sup.len : 0)) raiseIndexError2(f_3,(fileEntries_2 ? fileEntries_2->Sup.len : 0)-1);
																		TM__vGSJrCjWQr859bqRvctRIaA_256 = addInt(s_3, ((NI) 1));
																		asgnRef((void**) (&fileEntries_2->data[f_3].link), substr__iGg0RIKceRvsmvq8FUHOEw(line_2, (NI)(TM__vGSJrCjWQr859bqRvctRIaA_256)));
																		{
																			NIM_BOOL T184_;
																			T184_ = (NIM_BOOL)0;
																			T184_ = ((title_2.keyword ? title_2.keyword->Sup.len : 0) == ((NI) 0));
																			if (!(T184_)) goto LA185_;
																			if ((NU)(f_3) >= (NU)(fileEntries_2 ? fileEntries_2->Sup.len : 0)) raiseIndexError2(f_3,(fileEntries_2 ? fileEntries_2->Sup.len : 0)-1);
																			T184_ = isDocumentationTitle__59alvxmcYHb5hQOcj69cvGPQ(fileEntries_2->data[f_3].link);
																			LA185_: ;
																			if (!T184_) goto LA186_;
																			if ((NU)(f_3) >= (NU)(fileEntries_2 ? fileEntries_2->Sup.len : 0)) raiseIndexError2(f_3,(fileEntries_2 ? fileEntries_2->Sup.len : 0)-1);
																			title_2.keyword = copyString(fileEntries_2->data[f_3].keyword);
																			if ((NU)(f_3) >= (NU)(fileEntries_2 ? fileEntries_2->Sup.len : 0)) raiseIndexError2(f_3,(fileEntries_2 ? fileEntries_2->Sup.len : 0)-1);
																			title_2.link = copyString(fileEntries_2->data[f_3].link);
																		}
																		LA186_: ;
																		{
																			NI T190_;
																			tySequence__sM4lkSb7zS6F7OVMvW9cffQ* extraCols_2;
																			NimStringDesc* T193_;
																			if ((NU)(f_3) >= (NU)(fileEntries_2 ? fileEntries_2->Sup.len : 0)) raiseIndexError2(f_3,(fileEntries_2 ? fileEntries_2->Sup.len : 0)-1);
																			T190_ = (NI)0;
																			T190_ = nsuFindChar(fileEntries_2->data[f_3].link, 9, ((NI) 0), ((NI) 0));
																			if (!(((NI) 0) < T190_)) goto LA191_;
																			if ((NU)(f_3) >= (NU)(fileEntries_2 ? fileEntries_2->Sup.len : 0)) raiseIndexError2(f_3,(fileEntries_2 ? fileEntries_2->Sup.len : 0)-1);
																			extraCols_2 = nsuSplitChar(fileEntries_2->data[f_3].link, 9, ((NI) -1));
																			if ((NU)(f_3) >= (NU)(fileEntries_2 ? fileEntries_2->Sup.len : 0)) raiseIndexError2(f_3,(fileEntries_2 ? fileEntries_2->Sup.len : 0)-1);
																			if ((NU)(((NI) 0)) >= (NU)(extraCols_2 ? extraCols_2->Sup.len : 0)) raiseIndexError2(((NI) 0),(extraCols_2 ? extraCols_2->Sup.len : 0)-1);
																			T193_ = (NimStringDesc*)0;
																			T193_ = fileEntries_2->data[f_3].link; fileEntries_2->data[f_3].link = copyStringRC1(extraCols_2->data[((NI) 0)]);
																			if (T193_) nimGCunrefNoCycle(T193_);
																			{
																				NI T196_;
																				T196_ = (extraCols_2 ? extraCols_2->Sup.len : 0);
																				if (!!((T196_ == ((NI) 3)))) goto LA197_;
																				failedAssertImpl__W9cjVocn1tjhW7p7xohJj6A(((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_243));
																			}
																			LA197_: ;
																			if ((NU)(f_3) >= (NU)(fileEntries_2 ? fileEntries_2->Sup.len : 0)) raiseIndexError2(f_3,(fileEntries_2 ? fileEntries_2->Sup.len : 0)-1);
																			if ((NU)(((NI) 1)) >= (NU)(extraCols_2 ? extraCols_2->Sup.len : 0)) raiseIndexError2(((NI) 1),(extraCols_2 ? extraCols_2->Sup.len : 0)-1);
																			asgnRef((void**) (&fileEntries_2->data[f_3].linkTitle), unquoteIndexColumn__Hchmde6CO0ano09cqrnA4Ag_2(extraCols_2->data[((NI) 1)]));
																			if ((NU)(f_3) >= (NU)(fileEntries_2 ? fileEntries_2->Sup.len : 0)) raiseIndexError2(f_3,(fileEntries_2 ? fileEntries_2->Sup.len : 0)-1);
																			if ((NU)(((NI) 2)) >= (NU)(extraCols_2 ? extraCols_2->Sup.len : 0)) raiseIndexError2(((NI) 2),(extraCols_2 ? extraCols_2->Sup.len : 0)-1);
																			asgnRef((void**) (&fileEntries_2->data[f_3].linkDesc), unquoteIndexColumn__Hchmde6CO0ano09cqrnA4Ag_2(extraCols_2->data[((NI) 2)]));
																		}
																		goto LA188_;
																		LA191_: ;
																		{
																			if ((NU)(f_3) >= (NU)(fileEntries_2 ? fileEntries_2->Sup.len : 0)) raiseIndexError2(f_3,(fileEntries_2 ? fileEntries_2->Sup.len : 0)-1);
																			asgnRef((void**) (&fileEntries_2->data[f_3].linkTitle), ((NimStringDesc*) NIM_NIL));
																			if ((NU)(f_3) >= (NU)(fileEntries_2 ? fileEntries_2->Sup.len : 0)) raiseIndexError2(f_3,(fileEntries_2 ? fileEntries_2->Sup.len : 0)-1);
																			asgnRef((void**) (&fileEntries_2->data[f_3].linkDesc), ((NimStringDesc*) NIM_NIL));
																		}
																		LA188_: ;
																		TM__vGSJrCjWQr859bqRvctRIaA_257 = addInt(f_3, ((NI) 1));
																		f_3 = (NI)(TM__vGSJrCjWQr859bqRvctRIaA_257);
																	} LA177: ;
																} LA175: ;
															}
															popSafePoint();
														}
														else {
															popSafePoint();
														}
														{
															close__fU6ZlJAtQ9bre04EDZLdGsA_3(f_4);
														}
														if (TM__vGSJrCjWQr859bqRvctRIaA_253.status != 0) reraiseException();
													}
													{
														if (!((title_2.keyword ? title_2.keyword->Sup.len : 0) == ((NI) 0))) goto LA204_;
														{
															NI i_4;
															NI i_5;
															i_4 = (NI)0;
															i_5 = ((NI) 0);
															{
																while (1) {
																	NI TM__vGSJrCjWQr859bqRvctRIaA_260;
																	if (!(i_5 < f_3)) goto LA208;
																	i_4 = i_5;
																	{
																		NimStringDesc* toc_2;
																		NI TM__vGSJrCjWQr859bqRvctRIaA_258;
																		NimStringDesc* T216_;
																		NimStringDesc* T217_;
																		NimStringDesc* T218_;
																		NimStringDesc* T219_;
																		NI TM__vGSJrCjWQr859bqRvctRIaA_259;
																		if ((NU)(i_4) >= (NU)(fileEntries_2 ? fileEntries_2->Sup.len : 0)) raiseIndexError2(i_4,(fileEntries_2 ? fileEntries_2->Sup.len : 0)-1);
																		toc_2 = fileEntries_2->data[i_4].linkTitle;
																		{
																			NIM_BOOL T212_;
																			T212_ = (NIM_BOOL)0;
																			T212_ = (((NI) 0) < (toc_2 ? toc_2->Sup.len : 0));
																			if (!(T212_)) goto LA213_;
																			if ((NU)(((NI) 0)) >= (NU)(toc_2 ? toc_2->Sup.len : 0)) raiseIndexError2(((NI) 0),(toc_2 ? toc_2->Sup.len : 0)-1);
																			T212_ = ((NU8)(toc_2->data[((NI) 0)]) == (NU8)(32));
																			LA213_: ;
																			if (!T212_) goto LA214_;
																			goto LA209;
																		}
																		LA214_: ;
																		TM__vGSJrCjWQr859bqRvctRIaA_258 = addInt(L, ((NI) 1));
																		unsureAsgnRef((void**) (&(*Result).Field1), (tySequence__5PunAJrNQYcB8dF0jau3pQ*) setLengthSeqV2(&((*Result).Field1)->Sup, (&NTI__5PunAJrNQYcB8dF0jau3pQ_), ((NI)chckRange((NI)(TM__vGSJrCjWQr859bqRvctRIaA_258), ((NI) 0), ((NI) IL64(9223372036854775807))))));
																		if ((NU)(L) >= (NU)((*Result).Field1 ? (*Result).Field1->Sup.len : 0)) raiseIndexError2(L,((*Result).Field1 ? (*Result).Field1->Sup.len : 0)-1);
																		if ((NU)(i_4) >= (NU)(fileEntries_2 ? fileEntries_2->Sup.len : 0)) raiseIndexError2(i_4,(fileEntries_2 ? fileEntries_2->Sup.len : 0)-1);
																		T216_ = (NimStringDesc*)0;
																		T216_ = (*Result).Field1->data[L].keyword; (*Result).Field1->data[L].keyword = copyStringRC1(fileEntries_2->data[i_4].keyword);
																		if (T216_) nimGCunrefNoCycle(T216_);
																		T217_ = (NimStringDesc*)0;
																		T217_ = (*Result).Field1->data[L].link; (*Result).Field1->data[L].link = copyStringRC1(fileEntries_2->data[i_4].link);
																		if (T217_) nimGCunrefNoCycle(T217_);
																		T218_ = (NimStringDesc*)0;
																		T218_ = (*Result).Field1->data[L].linkTitle; (*Result).Field1->data[L].linkTitle = copyStringRC1(fileEntries_2->data[i_4].linkTitle);
																		if (T218_) nimGCunrefNoCycle(T218_);
																		T219_ = (NimStringDesc*)0;
																		T219_ = (*Result).Field1->data[L].linkDesc; (*Result).Field1->data[L].linkDesc = copyStringRC1(fileEntries_2->data[i_4].linkDesc);
																		if (T219_) nimGCunrefNoCycle(T219_);
																		TM__vGSJrCjWQr859bqRvctRIaA_259 = addInt(L, ((NI) 1));
																		L = (NI)(TM__vGSJrCjWQr859bqRvctRIaA_259);
																	} LA209: ;
																	TM__vGSJrCjWQr859bqRvctRIaA_260 = addInt(i_5, ((NI) 1));
																	i_5 = (NI)(TM__vGSJrCjWQr859bqRvctRIaA_260);
																} LA208: ;
															}
														}
														{
															NI T222_;
															NimStringDesc* x_3;
															NI i_6;
															T222_ = (fileEntries_2 ? fileEntries_2->Sup.len : 0);
															if (!(((NI) 0) < T222_)) goto LA223_;
															if ((NU)(((NI) 0)) >= (NU)(fileEntries_2 ? fileEntries_2->Sup.len : 0)) raiseIndexError2(((NI) 0),(fileEntries_2 ? fileEntries_2->Sup.len : 0)-1);
															x_3 = copyString(fileEntries_2->data[((NI) 0)].link);
															i_6 = nsuFindChar(x_3, 35, ((NI) 0), ((NI) 0));
															{
																NI TM__vGSJrCjWQr859bqRvctRIaA_261;
																if (!(((NI) 0) < i_6)) goto LA227_;
																TM__vGSJrCjWQr859bqRvctRIaA_261 = subInt(i_6, ((NI) 1));
																x_3 = substr__2yh9cer0ymNRHlOOg8P7IuA(x_3, ((NI) 0), (NI)(TM__vGSJrCjWQr859bqRvctRIaA_261));
															}
															LA227_: ;
															{
																NimStringDesc* T233_;
																NI T234_;
																NimStringDesc* T235_;
																if (!!((i_6 == ((NI) 0)))) goto LA231_;
																T233_ = (NimStringDesc*)0;
																T233_ = noschangeFileExt(x_3, ((NimStringDesc*) NIM_NIL));
																unsureAsgnRef((void**) (&(*Result).Field0), (tySequence__sM4lkSb7zS6F7OVMvW9cffQ*) incrSeqV3((TGenericSeq*)((*Result).Field0), (&NTI__sM4lkSb7zS6F7OVMvW9cffQ_)));
																T234_ = (*Result).Field0->Sup.len++;
																T235_ = (NimStringDesc*)0;
																T235_ = (*Result).Field0->data[T234_]; (*Result).Field0->data[T234_] = copyStringRC1(T233_);
																if (T235_) nimGCunrefNoCycle(T235_);
															}
															LA231_: ;
														}
														LA223_: ;
													}
													goto LA202_;
													LA204_: ;
													{
														NimStringDesc* T237_;
														NI T238_;
														NimStringDesc* T239_;
														T237_ = (NimStringDesc*)0;
														T238_ = (NI)0;
														T238_ = len__XkMbL52cqyBSUFesQIX9bTA((*Result).Field2);
														T239_ = (NimStringDesc*)0;
														T239_ = nimIntToStr(T238_);
														T237_ = rawNewString((T239_ ? T239_->Sup.len : 0) + 8);
appendString(T237_, ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_252));
appendString(T237_, T239_);
														title_2.linkTitle = T237_;
														X5BX5Deq___7WMJi0xLR1wauzIPHncLMA((&(*Result).Field2), (&title_2), fileEntries_2);
													}
													LA202_: ;
												}
												LA170_: ;
											}
											LA160_: ;
										}
										LA22_: ;
									} LA13: ;
								}
							} LA11: ;
							popSafePoint();
						}
						else {
							popSafePoint();
						}
						{
							int T242_;
							T242_ = (int)0;
							T242_ = closedir(d_2);
							(void)(T242_);
						}
						if (TM__vGSJrCjWQr859bqRvctRIaA_235.status != 0) reraiseException();
					}
					LA8_: ;
				}
			} LA3: ;
		}
	}
	nimZeroMem((void*)(&T243_), sizeof(tyProc__kTj9c3SX9agxDQPZYwemi6ug));
	T243_.ClP_0 = ((TM__vGSJrCjWQr859bqRvctRIaA_262) (cmp__NAicU5bAGXmkx2NJujGi7g)); T243_.ClE_0 = NIM_NIL;
	sort__BLQ2Oe9csF8Sez29axQeuW6w((*Result).Field0->data, ((*Result).Field0 ? (*Result).Field0->Sup.len : 0), T243_, ((tyEnum_SortOrder__8iBc6wlNqBa9cju9cUAhUAxA) 1));
}
static N_INLINE(NIM_BOOL, isFilled__5Qpmu5QqwDY0esVXn6wf7wtables)(NI hcode) {	NIM_BOOL result;
	result = (NIM_BOOL)0;
	result = !((hcode == ((NI) 0)));
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NI, cmp__cfr1IhGZltviVbdLwYvoIw)(tyObject_IndexEntry__G9ccBDFWfr9aYnLgXTNGDHDg* a, tyObject_IndexEntry__G9ccBDFWfr9aYnLgXTNGDHDg* b) {	NI result;
	result = (NI)0;
	result = nsuCmpIgnoreStyle((*a).keyword, (*b).keyword);
	{
		if (!(result == ((NI) 0))) goto LA3_;
		result = nsuCmpIgnoreStyle((*a).link, (*b).link);
	}
	LA3_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, generateDocumentationJumps__XPDBgoAkOtN37XXG3qoa3w)(tyObject_Table__XC01wkRgzAyOjTiapde7hQ docs) {	NimStringDesc* result;
	tySequence__5PunAJrNQYcB8dF0jau3pQ* titles;
	tySequence__5PunAJrNQYcB8dF0jau3pQ* resultX60gensym671493_;
	tyProc__zzrK9cTwi9admDvOCMDMSIXQ T21_;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ* chunks;
	NimStringDesc* T34_;
	NimStringDesc* T35_;
	result = (NimStringDesc*)0;
	result = copyString(((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_263));
	resultX60gensym671493_ = NIM_NIL;
	{
		tyObject_IndexEntry__G9ccBDFWfr9aYnLgXTNGDHDg xX60gensym671494_;
		NI L;
		nimZeroMem((void*)(&xX60gensym671494_), sizeof(tyObject_IndexEntry__G9ccBDFWfr9aYnLgXTNGDHDg));
		L = len__XkMbL52cqyBSUFesQIX9bTA(docs);
		{
			NI h;
			NI colontmp_;
			NI T3_;
			NI res;
			h = (NI)0;
			colontmp_ = (NI)0;
			T3_ = ((docs.data ? docs.data->Sup.len : 0)-1);
			colontmp_ = T3_;
			res = ((NI) 0);
			{
				while (1) {
					NI TM__vGSJrCjWQr859bqRvctRIaA_265;
					if (!(res <= colontmp_)) goto LA5;
					h = res;
					{
						NIM_BOOL T8_;
						NI T11_;
						NimStringDesc* T12_;
						NimStringDesc* T13_;
						NimStringDesc* T14_;
						NimStringDesc* T15_;
						if ((NU)(h) >= (NU)(docs.data ? docs.data->Sup.len : 0)) raiseIndexError2(h,(docs.data ? docs.data->Sup.len : 0)-1);
						T8_ = (NIM_BOOL)0;
						T8_ = isFilled__5Qpmu5QqwDY0esVXn6wf7wtables(docs.data->data[h].Field0);
						if (!T8_) goto LA9_;
						if ((NU)(h) >= (NU)(docs.data ? docs.data->Sup.len : 0)) raiseIndexError2(h,(docs.data ? docs.data->Sup.len : 0)-1);
						xX60gensym671494_.keyword = docs.data->data[h].Field1.keyword;
						xX60gensym671494_.link = docs.data->data[h].Field1.link;
						xX60gensym671494_.linkTitle = docs.data->data[h].Field1.linkTitle;
						xX60gensym671494_.linkDesc = docs.data->data[h].Field1.linkDesc;
						resultX60gensym671493_ = (tySequence__5PunAJrNQYcB8dF0jau3pQ*) incrSeqV3((TGenericSeq*)(resultX60gensym671493_), (&NTI__5PunAJrNQYcB8dF0jau3pQ_));
						T11_ = resultX60gensym671493_->Sup.len++;
						T12_ = (NimStringDesc*)0;
						T12_ = resultX60gensym671493_->data[T11_].keyword; resultX60gensym671493_->data[T11_].keyword = copyStringRC1(xX60gensym671494_.keyword);
						if (T12_) nimGCunrefNoCycle(T12_);
						T13_ = (NimStringDesc*)0;
						T13_ = resultX60gensym671493_->data[T11_].link; resultX60gensym671493_->data[T11_].link = copyStringRC1(xX60gensym671494_.link);
						if (T13_) nimGCunrefNoCycle(T13_);
						T14_ = (NimStringDesc*)0;
						T14_ = resultX60gensym671493_->data[T11_].linkTitle; resultX60gensym671493_->data[T11_].linkTitle = copyStringRC1(xX60gensym671494_.linkTitle);
						if (T14_) nimGCunrefNoCycle(T14_);
						T15_ = (NimStringDesc*)0;
						T15_ = resultX60gensym671493_->data[T11_].linkDesc; resultX60gensym671493_->data[T11_].linkDesc = copyStringRC1(xX60gensym671494_.linkDesc);
						if (T15_) nimGCunrefNoCycle(T15_);
						{
							NI T18_;
							T18_ = (NI)0;
							T18_ = len__XkMbL52cqyBSUFesQIX9bTA(docs);
							if (!!((T18_ == L))) goto LA19_;
							failedAssertImpl__W9cjVocn1tjhW7p7xohJj6A(((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_264));
						}
						LA19_: ;
					}
					LA9_: ;
					TM__vGSJrCjWQr859bqRvctRIaA_265 = addInt(res, ((NI) 1));
					res = (NI)(TM__vGSJrCjWQr859bqRvctRIaA_265);
				} LA5: ;
			}
		}
	}
	genericSeqAssign((&titles), resultX60gensym671493_, (&NTI__5PunAJrNQYcB8dF0jau3pQ_));
	nimZeroMem((void*)(&T21_), sizeof(tyProc__zzrK9cTwi9admDvOCMDMSIXQ));
	T21_.ClP_0 = ((TM__vGSJrCjWQr859bqRvctRIaA_266) (cmp__cfr1IhGZltviVbdLwYvoIw)); T21_.ClE_0 = NIM_NIL;
	sort__7qlGu9cYbTdvZ8E8NMXzZyQ(titles->data, (titles ? titles->Sup.len : 0), T21_, ((tyEnum_SortOrder__8iBc6wlNqBa9cju9cUAhUAxA) 1));
	chunks = NIM_NIL;
	{
		tyObject_IndexEntry__G9ccBDFWfr9aYnLgXTNGDHDg title;
		NI i;
		NI L_2;
		NI T23_;
		nimZeroMem((void*)(&title), sizeof(tyObject_IndexEntry__G9ccBDFWfr9aYnLgXTNGDHDg));
		i = ((NI) 0);
		T23_ = (titles ? titles->Sup.len : 0);
		L_2 = T23_;
		{
			while (1) {
				NimStringDesc* T26_;
				NI T27_;
				NimStringDesc* T28_;
				NI TM__vGSJrCjWQr859bqRvctRIaA_270;
				if (!(i < L_2)) goto LA25;
				if ((NU)(i) >= (NU)(titles ? titles->Sup.len : 0)) raiseIndexError2(i,(titles ? titles->Sup.len : 0)-1);
				title.keyword = titles->data[i].keyword;
				title.link = titles->data[i].link;
				title.linkTitle = titles->data[i].linkTitle;
				title.linkDesc = titles->data[i].linkDesc;
				T26_ = (NimStringDesc*)0;
				T26_ = rawNewString((title.link ? title.link->Sup.len : 0) + (title.keyword ? title.keyword->Sup.len : 0) + 15);
appendString(T26_, ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_267));
appendString(T26_, title.link);
appendString(T26_, ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_268));
appendString(T26_, title.keyword);
appendString(T26_, ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_269));
				chunks = (tySequence__sM4lkSb7zS6F7OVMvW9cffQ*) incrSeqV3((TGenericSeq*)(chunks), (&NTI__sM4lkSb7zS6F7OVMvW9cffQ_));
				T27_ = chunks->Sup.len++;
				T28_ = (NimStringDesc*)0;
				T28_ = chunks->data[T27_]; chunks->data[T27_] = copyStringRC1(T26_);
				if (T28_) nimGCunrefNoCycle(T28_);
				TM__vGSJrCjWQr859bqRvctRIaA_270 = addInt(i, ((NI) 1));
				i = (NI)(TM__vGSJrCjWQr859bqRvctRIaA_270);
				{
					NI T31_;
					T31_ = (titles ? titles->Sup.len : 0);
					if (!!((T31_ == L_2))) goto LA32_;
					failedAssertImpl__W9cjVocn1tjhW7p7xohJj6A(((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_180));
				}
				LA32_: ;
			} LA25: ;
		}
	}
	T34_ = (NimStringDesc*)0;
	T35_ = (NimStringDesc*)0;
	T35_ = nsuJoinSep(chunks->data, (chunks ? chunks->Sup.len : 0), ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_271));
	T34_ = rawNewString((T35_ ? T35_->Sup.len : 0) + 6);
appendString(T34_, T35_);
appendString(T34_, ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_272));
	result = resizeString(result, (T34_ ? T34_->Sup.len : 0) + 0);
appendString(result, T34_);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, generateModuleJumps__l4r77qGmI5lROD0W69bqm9bg)(tySequence__sM4lkSb7zS6F7OVMvW9cffQ* modules) {	NimStringDesc* result;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ* chunks;
	NimStringDesc* T13_;
	NimStringDesc* T14_;
	result = (NimStringDesc*)0;
	result = copyString(((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_274));
	chunks = NIM_NIL;
	{
		NimStringDesc* name;
		NI i;
		NI L;
		NI T2_;
		name = (NimStringDesc*)0;
		i = ((NI) 0);
		T2_ = (modules ? modules->Sup.len : 0);
		L = T2_;
		{
			while (1) {
				NimStringDesc* T5_;
				NI T6_;
				NimStringDesc* T7_;
				NI TM__vGSJrCjWQr859bqRvctRIaA_276;
				if (!(i < L)) goto LA4;
				if ((NU)(i) >= (NU)(modules ? modules->Sup.len : 0)) raiseIndexError2(i,(modules ? modules->Sup.len : 0)-1);
				name = modules->data[i];
				T5_ = (NimStringDesc*)0;
				T5_ = rawNewString((name ? name->Sup.len : 0) + (name ? name->Sup.len : 0) + 20);
appendString(T5_, ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_267));
appendString(T5_, name);
appendString(T5_, ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_275));
appendString(T5_, name);
appendString(T5_, ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_269));
				chunks = (tySequence__sM4lkSb7zS6F7OVMvW9cffQ*) incrSeqV3((TGenericSeq*)(chunks), (&NTI__sM4lkSb7zS6F7OVMvW9cffQ_));
				T6_ = chunks->Sup.len++;
				T7_ = (NimStringDesc*)0;
				T7_ = chunks->data[T6_]; chunks->data[T6_] = copyStringRC1(T5_);
				if (T7_) nimGCunrefNoCycle(T7_);
				TM__vGSJrCjWQr859bqRvctRIaA_276 = addInt(i, ((NI) 1));
				i = (NI)(TM__vGSJrCjWQr859bqRvctRIaA_276);
				{
					NI T10_;
					T10_ = (modules ? modules->Sup.len : 0);
					if (!!((T10_ == L))) goto LA11_;
					failedAssertImpl__W9cjVocn1tjhW7p7xohJj6A(((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_180));
				}
				LA11_: ;
			} LA4: ;
		}
	}
	T13_ = (NimStringDesc*)0;
	T14_ = (NimStringDesc*)0;
	T14_ = nsuJoinSep(chunks->data, (chunks ? chunks->Sup.len : 0), ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_271));
	T13_ = rawNewString((T14_ ? T14_->Sup.len : 0) + 6);
appendString(T13_, T14_);
appendString(T13_, ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_272));
	result = resizeString(result, (T13_ ? T13_->Sup.len : 0) + 0);
appendString(result, T13_);
	return result;
}
static N_INLINE(NI, divInt)(NI a, NI b) {	NI result;
{	result = (NI)0;
	{
		if (!(b == ((NI) 0))) goto LA3_;
		raiseDivByZero();
	}
	LA3_: ;
	{
		NIM_BOOL T7_;
		T7_ = (NIM_BOOL)0;
		T7_ = (a == ((NI) (IL64(-9223372036854775807) - IL64(1))));
		if (!(T7_)) goto LA8_;
		T7_ = (b == ((NI) -1));
		LA8_: ;
		if (!T7_) goto LA9_;
		raiseOverflow();
	}
	LA9_: ;
	result = (NI)(a / b);
	goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, ltminus___Ru5aRxpF3DVJvrrEdK89aWg)(tyObject_IndexEntry__G9ccBDFWfr9aYnLgXTNGDHDg* a, tyObject_IndexEntry__G9ccBDFWfr9aYnLgXTNGDHDg* b) {	unsureAsgnRef((void**) (&(*a).keyword), (*b).keyword);
	unsureAsgnRef((void**) (&(*a).link), (*b).link);
	unsureAsgnRef((void**) (&(*a).linkTitle), (*b).linkTitle);
	unsureAsgnRef((void**) (&(*a).linkDesc), (*b).linkDesc);
}
N_LIB_PRIVATE N_NIMCALL(void, sortIndex__9a9cA1hoRT9bpo9aO79cDjEtWXA)(tyObject_IndexEntry__G9ccBDFWfr9aYnLgXTNGDHDg* a, NI aLen_0) {	NI n;
	NI h;
	n = aLen_0;
	h = ((NI) 1);
	{
		while (1) {
			NI TM__vGSJrCjWQr859bqRvctRIaA_277;
			NI TM__vGSJrCjWQr859bqRvctRIaA_278;
			TM__vGSJrCjWQr859bqRvctRIaA_277 = mulInt(((NI) 3), h);
			TM__vGSJrCjWQr859bqRvctRIaA_278 = addInt((NI)(TM__vGSJrCjWQr859bqRvctRIaA_277), ((NI) 1));
			h = (NI)(TM__vGSJrCjWQr859bqRvctRIaA_278);
			{
				if (!(n < h)) goto LA5_;
				goto LA1;
			}
			LA5_: ;
		}
	} LA1: ;
	{
		while (1) {
			NI TM__vGSJrCjWQr859bqRvctRIaA_279;
			TM__vGSJrCjWQr859bqRvctRIaA_279 = divInt(h, ((NI) 3));
			h = (NI)(TM__vGSJrCjWQr859bqRvctRIaA_279);
			{
				NI i;
				NI colontmp_;
				NI TM__vGSJrCjWQr859bqRvctRIaA_280;
				NI res;
				i = (NI)0;
				colontmp_ = (NI)0;
				TM__vGSJrCjWQr859bqRvctRIaA_280 = subInt(n, ((NI) 1));
				colontmp_ = (NI)(TM__vGSJrCjWQr859bqRvctRIaA_280);
				res = h;
				{
					while (1) {
						tyObject_IndexEntry__G9ccBDFWfr9aYnLgXTNGDHDg v;
						NI j;
						NI TM__vGSJrCjWQr859bqRvctRIaA_284;
						if (!(res <= colontmp_)) goto LA11;
						i = res;
						nimZeroMem((void*)(&v), sizeof(tyObject_IndexEntry__G9ccBDFWfr9aYnLgXTNGDHDg));
						if ((NU)(i) >= (NU)(aLen_0)) raiseIndexError2(i,aLen_0-1);
						ltminus___Ru5aRxpF3DVJvrrEdK89aWg((&v), (&a[i]));
						j = i;
						{
							while (1) {
								NI TM__vGSJrCjWQr859bqRvctRIaA_281;
								NI T14_;
								NI TM__vGSJrCjWQr859bqRvctRIaA_282;
								NI TM__vGSJrCjWQr859bqRvctRIaA_283;
								TM__vGSJrCjWQr859bqRvctRIaA_281 = subInt(j, h);
								if ((NU)((NI)(TM__vGSJrCjWQr859bqRvctRIaA_281)) >= (NU)(aLen_0)) raiseIndexError2((NI)(TM__vGSJrCjWQr859bqRvctRIaA_281),aLen_0-1);
								T14_ = (NI)0;
								T14_ = cmp__cfr1IhGZltviVbdLwYvoIw((&a[(NI)(TM__vGSJrCjWQr859bqRvctRIaA_281)]), (&v));
								if (!(((NI) 0) <= T14_)) goto LA13;
								if ((NU)(j) >= (NU)(aLen_0)) raiseIndexError2(j,aLen_0-1);
								TM__vGSJrCjWQr859bqRvctRIaA_282 = subInt(j, h);
								if ((NU)((NI)(TM__vGSJrCjWQr859bqRvctRIaA_282)) >= (NU)(aLen_0)) raiseIndexError2((NI)(TM__vGSJrCjWQr859bqRvctRIaA_282),aLen_0-1);
								ltminus___Ru5aRxpF3DVJvrrEdK89aWg((&a[j]), (&a[(NI)(TM__vGSJrCjWQr859bqRvctRIaA_282)]));
								TM__vGSJrCjWQr859bqRvctRIaA_283 = subInt(j, h);
								j = (NI)(TM__vGSJrCjWQr859bqRvctRIaA_283);
								{
									if (!(j < h)) goto LA17_;
									goto LA12;
								}
								LA17_: ;
							} LA13: ;
						} LA12: ;
						if ((NU)(j) >= (NU)(aLen_0)) raiseIndexError2(j,aLen_0-1);
						ltminus___Ru5aRxpF3DVJvrrEdK89aWg((&a[j]), (&v));
						TM__vGSJrCjWQr859bqRvctRIaA_284 = addInt(res, ((NI) 1));
						res = (NI)(TM__vGSJrCjWQr859bqRvctRIaA_284);
					} LA11: ;
				}
			}
			{
				if (!(h == ((NI) 1))) goto LA21_;
				goto LA7;
			}
			LA21_: ;
		}
	} LA7: ;
}
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, escapeLink__CG3Pm1f26Xv9bcO1ymY7HaA_2)(NimStringDesc* s) {	NimStringDesc* result;
	NI TM__vGSJrCjWQr859bqRvctRIaA_287;
	result = (NimStringDesc*)0;
	TM__vGSJrCjWQr859bqRvctRIaA_287 = addInt((s ? s->Sup.len : 0), (NI)((NI64)((s ? s->Sup.len : 0)) >> (NU64)(((NI) 2))));
	result = rawNewString(((NI)chckRange((NI)(TM__vGSJrCjWQr859bqRvctRIaA_287), ((NI) 0), ((NI) IL64(9223372036854775807)))));
	{
		NIM_CHAR c;
		NI i;
		NI L;
		c = (NIM_CHAR)0;
		i = ((NI) 0);
		L = (s ? s->Sup.len : 0);
		{
			while (1) {
				NI TM__vGSJrCjWQr859bqRvctRIaA_289;
				if (!(i < L)) goto LA3;
				if ((NU)(i) >= (NU)(s ? s->Sup.len : 0)) raiseIndexError2(i,(s ? s->Sup.len : 0)-1);
				c = s->data[i];
				switch (((NU8)(c))) {
				case 97 ... 122:
				case 65 ... 90:
				case 48 ... 57:
				case 45:
				case 46:
				case 95:
				case 126:
				{
					result = addChar(result, c);
				}
				break;
				case 35:
				case 47:
				{
					result = addChar(result, c);
				}
				break;
				default:
				{
					NimStringDesc* T7_;
					result = resizeString(result, 1);
appendString(result, ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_288));
					T7_ = (NimStringDesc*)0;
					T7_ = nsuToHex(((NI64) (((NU8)(c)))), ((NI) 2));
					result = resizeString(result, (T7_ ? T7_->Sup.len : 0) + 0);
appendString(result, T7_);
				}
				break;
				}
				TM__vGSJrCjWQr859bqRvctRIaA_289 = addInt(i, ((NI) 1));
				i = (NI)(TM__vGSJrCjWQr859bqRvctRIaA_289);
				{
					if (!!(((s ? s->Sup.len : 0) == L))) goto LA10_;
					failedAssertImpl__W9cjVocn1tjhW7p7xohJj6A(((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_32));
				}
				LA10_: ;
			} LA3: ;
		}
	}
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, generateSymbolIndex__5iRfVY0N1Vl19aH6haiuKlQ)(tySequence__5PunAJrNQYcB8dF0jau3pQ* symbols) {	NimStringDesc* result;
	NI i;
	result = (NimStringDesc*)0;
	result = copyString(((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_286));
	i = ((NI) 0);
	{
		while (1) {
			NI T3_;
			NimStringDesc* keyword;
			NimStringDesc* cleanedKeyword;
			tyArray__Re75IspeoxXy2oCZHwcRrA T4_;
			NI j;
			T3_ = (symbols ? symbols->Sup.len : 0);
			if (!(i < T3_)) goto LA2;
			if ((NU)(i) >= (NU)(symbols ? symbols->Sup.len : 0)) raiseIndexError2(i,(symbols ? symbols->Sup.len : 0)-1);
			keyword = symbols->data[i].keyword;
			cleanedKeyword = escapeLink__CG3Pm1f26Xv9bcO1ymY7HaA_2(keyword);
			nimZeroMem((void*)T4_, sizeof(tyArray__Re75IspeoxXy2oCZHwcRrA));
			T4_[0] = copyString(keyword);
			T4_[1] = copyString(cleanedKeyword);
			nsuAddf((&result), ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_290), T4_, 2);
			j = i;
			{
				while (1) {
					NIM_BOOL T7_;
					NI T8_;
					NimStringDesc* url;
					NimStringDesc* text;
					NimStringDesc* desc;
					NI TM__vGSJrCjWQr859bqRvctRIaA_293;
					T7_ = (NIM_BOOL)0;
					T8_ = (symbols ? symbols->Sup.len : 0);
					T7_ = (j < T8_);
					if (!(T7_)) goto LA9_;
					if ((NU)(j) >= (NU)(symbols ? symbols->Sup.len : 0)) raiseIndexError2(j,(symbols ? symbols->Sup.len : 0)-1);
					T7_ = eqStrings(keyword, symbols->data[j].keyword);
					LA9_: ;
					if (!T7_) goto LA6;
					if ((NU)(j) >= (NU)(symbols ? symbols->Sup.len : 0)) raiseIndexError2(j,(symbols ? symbols->Sup.len : 0)-1);
					url = escapeLink__CG3Pm1f26Xv9bcO1ymY7HaA_2(symbols->data[j].link);
					{
						if ((NU)(j) >= (NU)(symbols ? symbols->Sup.len : 0)) raiseIndexError2(j,(symbols ? symbols->Sup.len : 0)-1);
						if (!(((NI) 0) < (symbols->data[j].linkTitle ? symbols->data[j].linkTitle->Sup.len : 0))) goto LA12_;
						if ((NU)(j) >= (NU)(symbols ? symbols->Sup.len : 0)) raiseIndexError2(j,(symbols ? symbols->Sup.len : 0)-1);
						text = symbols->data[j].linkTitle;
					}
					goto LA10_;
					LA12_: ;
					{
						text = url;
					}
					LA10_: ;
					{
						if ((NU)(j) >= (NU)(symbols ? symbols->Sup.len : 0)) raiseIndexError2(j,(symbols ? symbols->Sup.len : 0)-1);
						if (!(((NI) 0) < (symbols->data[j].linkDesc ? symbols->data[j].linkDesc->Sup.len : 0))) goto LA17_;
						if ((NU)(j) >= (NU)(symbols ? symbols->Sup.len : 0)) raiseIndexError2(j,(symbols ? symbols->Sup.len : 0)-1);
						desc = symbols->data[j].linkDesc;
					}
					goto LA15_;
					LA17_: ;
					{
						desc = ((NimStringDesc*) NIM_NIL);
					}
					LA15_: ;
					{
						tyArray__24KAM9afIUgUaqBaEBB6r9bg T24_;
						if (!(((NI) 0) < (desc ? desc->Sup.len : 0))) goto LA22_;
						nimZeroMem((void*)T24_, sizeof(tyArray__24KAM9afIUgUaqBaEBB6r9bg));
						T24_[0] = copyString(url);
						T24_[1] = copyString(text);
						T24_[2] = copyString(desc);
						nsuAddf((&result), ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_291), T24_, 3);
					}
					goto LA20_;
					LA22_: ;
					{
						tyArray__Re75IspeoxXy2oCZHwcRrA T26_;
						nimZeroMem((void*)T26_, sizeof(tyArray__Re75IspeoxXy2oCZHwcRrA));
						T26_[0] = copyString(url);
						T26_[1] = copyString(text);
						nsuAddf((&result), ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_292), T26_, 2);
					}
					LA20_: ;
					TM__vGSJrCjWQr859bqRvctRIaA_293 = addInt(j, ((NI) 1));
					j = (NI)(TM__vGSJrCjWQr859bqRvctRIaA_293);
				} LA6: ;
			}
			result = resizeString(result, 11);
appendString(result, ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_294));
			i = j;
		} LA2: ;
	}
	result = resizeString(result, 5);
appendString(result, ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_295));
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, mergeIndexes__gnBYZcMG5WPYB3f83P6f9ag)(NimStringDesc* dir) {	NimStringDesc* result;
	tyTuple__19af1Yi5wzYJHEoosvtCJdQ T1_;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ* modules;
	tySequence__5PunAJrNQYcB8dF0jau3pQ* symbols;
	tyObject_Table__XC01wkRgzAyOjTiapde7hQ docs;
	result = (NimStringDesc*)0;
	nimZeroMem((void*)(&T1_), sizeof(tyTuple__19af1Yi5wzYJHEoosvtCJdQ));
	readIndexDir__tb68DrT6xzF5ZfmNFMFm2Q(dir, (&T1_));
	modules = (tySequence__sM4lkSb7zS6F7OVMvW9cffQ*)0;
	genericSeqAssign((&modules), T1_.Field0, (&NTI__sM4lkSb7zS6F7OVMvW9cffQ_));
	symbols = (tySequence__5PunAJrNQYcB8dF0jau3pQ*)0;
	genericSeqAssign((&symbols), T1_.Field1, (&NTI__5PunAJrNQYcB8dF0jau3pQ_));
	nimZeroMem((void*)(&docs), sizeof(tyObject_Table__XC01wkRgzAyOjTiapde7hQ));
	genericSeqAssign((&docs.data), T1_.Field2.data, (&NTI__wAC0kXbVGkLoWP8vdi0sUw_));
	docs.counter = T1_.Field2.counter;
	result = ((NimStringDesc*) NIM_NIL);
	{
		NI T4_;
		NimStringDesc* T7_;
		T4_ = (NI)0;
		T4_ = len__XkMbL52cqyBSUFesQIX9bTA(docs);
		if (!(((NI) 0) < T4_)) goto LA5_;
		T7_ = (NimStringDesc*)0;
		T7_ = generateDocumentationJumps__XPDBgoAkOtN37XXG3qoa3w(docs);
		result = resizeString(result, (T7_ ? T7_->Sup.len : 0) + 0);
appendString(result, T7_);
		result = resizeString(result, 5);
appendString(result, ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_273));
	}
	LA5_: ;
	{
		NI T10_;
		NimStringDesc* T13_;
		T10_ = (modules ? modules->Sup.len : 0);
		if (!(((NI) 0) < T10_)) goto LA11_;
		T13_ = (NimStringDesc*)0;
		T13_ = generateModuleJumps__l4r77qGmI5lROD0W69bqm9bg(modules);
		result = resizeString(result, (T13_ ? T13_->Sup.len : 0) + 0);
appendString(result, T13_);
		result = resizeString(result, 5);
appendString(result, ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_273));
	}
	LA11_: ;
	{
		NI T16_;
		NimStringDesc* T19_;
		T16_ = (symbols ? symbols->Sup.len : 0);
		if (!(((NI) 0) < T16_)) goto LA17_;
		sortIndex__9a9cA1hoRT9bpo9aO79cDjEtWXA(symbols->data, (symbols ? symbols->Sup.len : 0));
		result = resizeString(result, 21);
appendString(result, ((NimStringDesc*) &TM__vGSJrCjWQr859bqRvctRIaA_285));
		T19_ = (NimStringDesc*)0;
		T19_ = generateSymbolIndex__5iRfVY0N1Vl19aH6haiuKlQ(symbols);
		result = resizeString(result, (T19_ ? T19_->Sup.len : 0) + 0);
appendString(result, T19_);
	}
	LA17_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, docutils_rstgenDatInit000)(void) {
static TNimNode* TM__vGSJrCjWQr859bqRvctRIaA_2_16[16];
static TNimNode* TM__vGSJrCjWQr859bqRvctRIaA_3_2[2];
NI TM__vGSJrCjWQr859bqRvctRIaA_5;
static char* NIM_CONST TM__vGSJrCjWQr859bqRvctRIaA_4[2] = {
"outHtml", 
"outLatex"};
static TNimNode* TM__vGSJrCjWQr859bqRvctRIaA_6_3[3];
static TNimNode* TM__vGSJrCjWQr859bqRvctRIaA_7_2[2];
static TNimNode* TM__vGSJrCjWQr859bqRvctRIaA_166_7[7];
static TNimNode* TM__vGSJrCjWQr859bqRvctRIaA_230_3[3];
static TNimNode* TM__vGSJrCjWQr859bqRvctRIaA_231_4[4];
static TNimNode TM__vGSJrCjWQr859bqRvctRIaA_0[44];
NTI__yF9cB1II0vYb2F0YKmIiArg_.size = sizeof(tyObject_RstGenerator__yF9cB1II0vYb2F0YKmIiArg);
NTI__yF9cB1II0vYb2F0YKmIiArg_.kind = 17;
NTI__yF9cB1II0vYb2F0YKmIiArg_.base = (&NTI__ytyiCJqK439aF9cIibuRVpAg_);
TM__vGSJrCjWQr859bqRvctRIaA_2_16[0] = &TM__vGSJrCjWQr859bqRvctRIaA_0[1];
NTI__lDlBg9cTod71s9abpUj82lsw_.size = sizeof(tyEnum_OutputTarget__lDlBg9cTod71s9abpUj82lsw);
NTI__lDlBg9cTod71s9abpUj82lsw_.kind = 14;
NTI__lDlBg9cTod71s9abpUj82lsw_.base = 0;
NTI__lDlBg9cTod71s9abpUj82lsw_.flags = 3;
for (TM__vGSJrCjWQr859bqRvctRIaA_5 = 0; TM__vGSJrCjWQr859bqRvctRIaA_5 < 2; TM__vGSJrCjWQr859bqRvctRIaA_5++) {
TM__vGSJrCjWQr859bqRvctRIaA_0[TM__vGSJrCjWQr859bqRvctRIaA_5+2].kind = 1;
TM__vGSJrCjWQr859bqRvctRIaA_0[TM__vGSJrCjWQr859bqRvctRIaA_5+2].offset = TM__vGSJrCjWQr859bqRvctRIaA_5;
TM__vGSJrCjWQr859bqRvctRIaA_0[TM__vGSJrCjWQr859bqRvctRIaA_5+2].name = TM__vGSJrCjWQr859bqRvctRIaA_4[TM__vGSJrCjWQr859bqRvctRIaA_5];
TM__vGSJrCjWQr859bqRvctRIaA_3_2[TM__vGSJrCjWQr859bqRvctRIaA_5] = &TM__vGSJrCjWQr859bqRvctRIaA_0[TM__vGSJrCjWQr859bqRvctRIaA_5+2];
}
TM__vGSJrCjWQr859bqRvctRIaA_0[4].len = 2; TM__vGSJrCjWQr859bqRvctRIaA_0[4].kind = 2; TM__vGSJrCjWQr859bqRvctRIaA_0[4].sons = &TM__vGSJrCjWQr859bqRvctRIaA_3_2[0];
NTI__lDlBg9cTod71s9abpUj82lsw_.node = &TM__vGSJrCjWQr859bqRvctRIaA_0[4];
TM__vGSJrCjWQr859bqRvctRIaA_0[1].kind = 1;
TM__vGSJrCjWQr859bqRvctRIaA_0[1].offset = offsetof(tyObject_RstGenerator__yF9cB1II0vYb2F0YKmIiArg, target);
TM__vGSJrCjWQr859bqRvctRIaA_0[1].typ = (&NTI__lDlBg9cTod71s9abpUj82lsw_);
TM__vGSJrCjWQr859bqRvctRIaA_0[1].name = "target";
TM__vGSJrCjWQr859bqRvctRIaA_2_16[1] = &TM__vGSJrCjWQr859bqRvctRIaA_0[5];
TM__vGSJrCjWQr859bqRvctRIaA_0[5].kind = 1;
TM__vGSJrCjWQr859bqRvctRIaA_0[5].offset = offsetof(tyObject_RstGenerator__yF9cB1II0vYb2F0YKmIiArg, config);
TM__vGSJrCjWQr859bqRvctRIaA_0[5].typ = (&NTI__n9cmoMXcDs47wYDFGEXuCfw_);
TM__vGSJrCjWQr859bqRvctRIaA_0[5].name = "config";
TM__vGSJrCjWQr859bqRvctRIaA_2_16[2] = &TM__vGSJrCjWQr859bqRvctRIaA_0[6];
TM__vGSJrCjWQr859bqRvctRIaA_0[6].kind = 1;
TM__vGSJrCjWQr859bqRvctRIaA_0[6].offset = offsetof(tyObject_RstGenerator__yF9cB1II0vYb2F0YKmIiArg, splitAfter);
TM__vGSJrCjWQr859bqRvctRIaA_0[6].typ = (&NTI__rR5Bzr1D5krxoo1NcNyeMA_);
TM__vGSJrCjWQr859bqRvctRIaA_0[6].name = "splitAfter";
TM__vGSJrCjWQr859bqRvctRIaA_2_16[3] = &TM__vGSJrCjWQr859bqRvctRIaA_0[7];
TM__vGSJrCjWQr859bqRvctRIaA_0[7].kind = 1;
TM__vGSJrCjWQr859bqRvctRIaA_0[7].offset = offsetof(tyObject_RstGenerator__yF9cB1II0vYb2F0YKmIiArg, listingCounter);
TM__vGSJrCjWQr859bqRvctRIaA_0[7].typ = (&NTI__rR5Bzr1D5krxoo1NcNyeMA_);
TM__vGSJrCjWQr859bqRvctRIaA_0[7].name = "listingCounter";
TM__vGSJrCjWQr859bqRvctRIaA_2_16[4] = &TM__vGSJrCjWQr859bqRvctRIaA_0[8];
NTI__z7kal23LlR1mL50YJIPMCw_.size = sizeof(tyObject_TocEntry__z7kal23LlR1mL50YJIPMCw);
NTI__z7kal23LlR1mL50YJIPMCw_.kind = 18;
NTI__z7kal23LlR1mL50YJIPMCw_.base = 0;
NTI__z7kal23LlR1mL50YJIPMCw_.flags = 2;
TM__vGSJrCjWQr859bqRvctRIaA_6_3[0] = &TM__vGSJrCjWQr859bqRvctRIaA_0[10];
TM__vGSJrCjWQr859bqRvctRIaA_0[10].kind = 1;
TM__vGSJrCjWQr859bqRvctRIaA_0[10].offset = offsetof(tyObject_TocEntry__z7kal23LlR1mL50YJIPMCw, n);
TM__vGSJrCjWQr859bqRvctRIaA_0[10].typ = (&NTI__eiDrOE3AS6QEbCsY2gtdWQ_);
TM__vGSJrCjWQr859bqRvctRIaA_0[10].name = "n";
TM__vGSJrCjWQr859bqRvctRIaA_6_3[1] = &TM__vGSJrCjWQr859bqRvctRIaA_0[11];
TM__vGSJrCjWQr859bqRvctRIaA_0[11].kind = 1;
TM__vGSJrCjWQr859bqRvctRIaA_0[11].offset = offsetof(tyObject_TocEntry__z7kal23LlR1mL50YJIPMCw, refname);
TM__vGSJrCjWQr859bqRvctRIaA_0[11].typ = (&NTI__77mFvmsOLKik79ci2hXkHEg_);
TM__vGSJrCjWQr859bqRvctRIaA_0[11].name = "refname";
TM__vGSJrCjWQr859bqRvctRIaA_6_3[2] = &TM__vGSJrCjWQr859bqRvctRIaA_0[12];
TM__vGSJrCjWQr859bqRvctRIaA_0[12].kind = 1;
TM__vGSJrCjWQr859bqRvctRIaA_0[12].offset = offsetof(tyObject_TocEntry__z7kal23LlR1mL50YJIPMCw, header);
TM__vGSJrCjWQr859bqRvctRIaA_0[12].typ = (&NTI__77mFvmsOLKik79ci2hXkHEg_);
TM__vGSJrCjWQr859bqRvctRIaA_0[12].name = "header";
TM__vGSJrCjWQr859bqRvctRIaA_0[9].len = 3; TM__vGSJrCjWQr859bqRvctRIaA_0[9].kind = 2; TM__vGSJrCjWQr859bqRvctRIaA_0[9].sons = &TM__vGSJrCjWQr859bqRvctRIaA_6_3[0];
NTI__z7kal23LlR1mL50YJIPMCw_.node = &TM__vGSJrCjWQr859bqRvctRIaA_0[9];
NTI__b7kA8pLABz0wMAUNGYo6Wg_.size = sizeof(tySequence__b7kA8pLABz0wMAUNGYo6Wg*);
NTI__b7kA8pLABz0wMAUNGYo6Wg_.kind = 24;
NTI__b7kA8pLABz0wMAUNGYo6Wg_.base = (&NTI__z7kal23LlR1mL50YJIPMCw_);
NTI__b7kA8pLABz0wMAUNGYo6Wg_.flags = 2;
NTI__b7kA8pLABz0wMAUNGYo6Wg_.marker = Marker_tySequence__b7kA8pLABz0wMAUNGYo6Wg;
TM__vGSJrCjWQr859bqRvctRIaA_0[8].kind = 1;
TM__vGSJrCjWQr859bqRvctRIaA_0[8].offset = offsetof(tyObject_RstGenerator__yF9cB1II0vYb2F0YKmIiArg, tocPart);
TM__vGSJrCjWQr859bqRvctRIaA_0[8].typ = (&NTI__b7kA8pLABz0wMAUNGYo6Wg_);
TM__vGSJrCjWQr859bqRvctRIaA_0[8].name = "tocPart";
TM__vGSJrCjWQr859bqRvctRIaA_2_16[5] = &TM__vGSJrCjWQr859bqRvctRIaA_0[13];
TM__vGSJrCjWQr859bqRvctRIaA_0[13].kind = 1;
TM__vGSJrCjWQr859bqRvctRIaA_0[13].offset = offsetof(tyObject_RstGenerator__yF9cB1II0vYb2F0YKmIiArg, hasToc);
TM__vGSJrCjWQr859bqRvctRIaA_0[13].typ = (&NTI__VaVACK0bpYmqIQ0mKcHfQQ_);
TM__vGSJrCjWQr859bqRvctRIaA_0[13].name = "hasToc";
TM__vGSJrCjWQr859bqRvctRIaA_2_16[6] = &TM__vGSJrCjWQr859bqRvctRIaA_0[14];
TM__vGSJrCjWQr859bqRvctRIaA_0[14].kind = 1;
TM__vGSJrCjWQr859bqRvctRIaA_0[14].offset = offsetof(tyObject_RstGenerator__yF9cB1II0vYb2F0YKmIiArg, theIndex);
TM__vGSJrCjWQr859bqRvctRIaA_0[14].typ = (&NTI__77mFvmsOLKik79ci2hXkHEg_);
TM__vGSJrCjWQr859bqRvctRIaA_0[14].name = "theIndex";
TM__vGSJrCjWQr859bqRvctRIaA_2_16[7] = &TM__vGSJrCjWQr859bqRvctRIaA_0[15];
TM__vGSJrCjWQr859bqRvctRIaA_0[15].kind = 1;
TM__vGSJrCjWQr859bqRvctRIaA_0[15].offset = offsetof(tyObject_RstGenerator__yF9cB1II0vYb2F0YKmIiArg, options);
TM__vGSJrCjWQr859bqRvctRIaA_0[15].typ = (&NTI__triPNwGxgWAG1ULojVLJPA_);
TM__vGSJrCjWQr859bqRvctRIaA_0[15].name = "options";
TM__vGSJrCjWQr859bqRvctRIaA_2_16[8] = &TM__vGSJrCjWQr859bqRvctRIaA_0[16];
TM__vGSJrCjWQr859bqRvctRIaA_0[16].kind = 1;
TM__vGSJrCjWQr859bqRvctRIaA_0[16].offset = offsetof(tyObject_RstGenerator__yF9cB1II0vYb2F0YKmIiArg, findFile);
TM__vGSJrCjWQr859bqRvctRIaA_0[16].typ = (&NTI__lRW9cfxqfm1ql4gkxfLReYg_);
TM__vGSJrCjWQr859bqRvctRIaA_0[16].name = "findFile";
TM__vGSJrCjWQr859bqRvctRIaA_2_16[9] = &TM__vGSJrCjWQr859bqRvctRIaA_0[17];
TM__vGSJrCjWQr859bqRvctRIaA_0[17].kind = 1;
TM__vGSJrCjWQr859bqRvctRIaA_0[17].offset = offsetof(tyObject_RstGenerator__yF9cB1II0vYb2F0YKmIiArg, msgHandler);
TM__vGSJrCjWQr859bqRvctRIaA_0[17].typ = (&NTI__r4CIWZzpiVlkxuVaaDT8Lw_);
TM__vGSJrCjWQr859bqRvctRIaA_0[17].name = "msgHandler";
TM__vGSJrCjWQr859bqRvctRIaA_2_16[10] = &TM__vGSJrCjWQr859bqRvctRIaA_0[18];
TM__vGSJrCjWQr859bqRvctRIaA_0[18].kind = 1;
TM__vGSJrCjWQr859bqRvctRIaA_0[18].offset = offsetof(tyObject_RstGenerator__yF9cB1II0vYb2F0YKmIiArg, filename);
TM__vGSJrCjWQr859bqRvctRIaA_0[18].typ = (&NTI__77mFvmsOLKik79ci2hXkHEg_);
TM__vGSJrCjWQr859bqRvctRIaA_0[18].name = "filename";
TM__vGSJrCjWQr859bqRvctRIaA_2_16[11] = &TM__vGSJrCjWQr859bqRvctRIaA_0[19];
NTI__C9cQfUOxfT2Mk6yT19cPu9aIA_.size = sizeof(tyArray__C9cQfUOxfT2Mk6yT19cPu9aIA);
NTI__C9cQfUOxfT2Mk6yT19cPu9aIA_.kind = 16;
NTI__C9cQfUOxfT2Mk6yT19cPu9aIA_.base = (&NTI__77mFvmsOLKik79ci2hXkHEg_);
NTI__C9cQfUOxfT2Mk6yT19cPu9aIA_.flags = 2;
TM__vGSJrCjWQr859bqRvctRIaA_0[19].kind = 1;
TM__vGSJrCjWQr859bqRvctRIaA_0[19].offset = offsetof(tyObject_RstGenerator__yF9cB1II0vYb2F0YKmIiArg, meta);
TM__vGSJrCjWQr859bqRvctRIaA_0[19].typ = (&NTI__C9cQfUOxfT2Mk6yT19cPu9aIA_);
TM__vGSJrCjWQr859bqRvctRIaA_0[19].name = "meta";
TM__vGSJrCjWQr859bqRvctRIaA_2_16[12] = &TM__vGSJrCjWQr859bqRvctRIaA_0[20];
TM__vGSJrCjWQr859bqRvctRIaA_0[20].kind = 1;
TM__vGSJrCjWQr859bqRvctRIaA_0[20].offset = offsetof(tyObject_RstGenerator__yF9cB1II0vYb2F0YKmIiArg, currentSection);
TM__vGSJrCjWQr859bqRvctRIaA_0[20].typ = (&NTI__77mFvmsOLKik79ci2hXkHEg_);
TM__vGSJrCjWQr859bqRvctRIaA_0[20].name = "currentSection";
TM__vGSJrCjWQr859bqRvctRIaA_2_16[13] = &TM__vGSJrCjWQr859bqRvctRIaA_0[21];
TM__vGSJrCjWQr859bqRvctRIaA_0[21].kind = 1;
TM__vGSJrCjWQr859bqRvctRIaA_0[21].offset = offsetof(tyObject_RstGenerator__yF9cB1II0vYb2F0YKmIiArg, seenIndexTerms);
TM__vGSJrCjWQr859bqRvctRIaA_0[21].typ = (&NTI__i55W8RrwGKsG9cl0sAKxgkQ_);
TM__vGSJrCjWQr859bqRvctRIaA_0[21].name = "seenIndexTerms";
TM__vGSJrCjWQr859bqRvctRIaA_2_16[14] = &TM__vGSJrCjWQr859bqRvctRIaA_0[22];
TM__vGSJrCjWQr859bqRvctRIaA_0[22].kind = 1;
TM__vGSJrCjWQr859bqRvctRIaA_0[22].offset = offsetof(tyObject_RstGenerator__yF9cB1II0vYb2F0YKmIiArg, id);
TM__vGSJrCjWQr859bqRvctRIaA_0[22].typ = (&NTI__rR5Bzr1D5krxoo1NcNyeMA_);
TM__vGSJrCjWQr859bqRvctRIaA_0[22].name = "id";
TM__vGSJrCjWQr859bqRvctRIaA_2_16[15] = &TM__vGSJrCjWQr859bqRvctRIaA_0[23];
NTI__t9cP9cH9bP2v9cQZNd2RjMTNLg_.size = sizeof(tyTuple__JfHvHzMrhKkWAUvQKe0i1A);
NTI__t9cP9cH9bP2v9cQZNd2RjMTNLg_.kind = 18;
NTI__t9cP9cH9bP2v9cQZNd2RjMTNLg_.base = 0;
TM__vGSJrCjWQr859bqRvctRIaA_7_2[0] = &TM__vGSJrCjWQr859bqRvctRIaA_0[25];
TM__vGSJrCjWQr859bqRvctRIaA_0[25].kind = 1;
TM__vGSJrCjWQr859bqRvctRIaA_0[25].offset = offsetof(tyTuple__JfHvHzMrhKkWAUvQKe0i1A, Field0);
TM__vGSJrCjWQr859bqRvctRIaA_0[25].typ = (&NTI__vr5DoT1jILTGdRlYv1OYpw_);
TM__vGSJrCjWQr859bqRvctRIaA_0[25].name = "Field0";
TM__vGSJrCjWQr859bqRvctRIaA_7_2[1] = &TM__vGSJrCjWQr859bqRvctRIaA_0[26];
TM__vGSJrCjWQr859bqRvctRIaA_0[26].kind = 1;
TM__vGSJrCjWQr859bqRvctRIaA_0[26].offset = offsetof(tyTuple__JfHvHzMrhKkWAUvQKe0i1A, Field1);
TM__vGSJrCjWQr859bqRvctRIaA_0[26].typ = (&NTI__HsJiUUcO9cHBdUCi0HwkSTA_);
TM__vGSJrCjWQr859bqRvctRIaA_0[26].name = "Field1";
TM__vGSJrCjWQr859bqRvctRIaA_0[24].len = 2; TM__vGSJrCjWQr859bqRvctRIaA_0[24].kind = 2; TM__vGSJrCjWQr859bqRvctRIaA_0[24].sons = &TM__vGSJrCjWQr859bqRvctRIaA_7_2[0];
NTI__t9cP9cH9bP2v9cQZNd2RjMTNLg_.node = &TM__vGSJrCjWQr859bqRvctRIaA_0[24];
TM__vGSJrCjWQr859bqRvctRIaA_0[23].kind = 1;
TM__vGSJrCjWQr859bqRvctRIaA_0[23].offset = offsetof(tyObject_RstGenerator__yF9cB1II0vYb2F0YKmIiArg, onTestSnippet);
TM__vGSJrCjWQr859bqRvctRIaA_0[23].typ = (&NTI__t9cP9cH9bP2v9cQZNd2RjMTNLg_);
TM__vGSJrCjWQr859bqRvctRIaA_0[23].name = "onTestSnippet";
TM__vGSJrCjWQr859bqRvctRIaA_0[0].len = 16; TM__vGSJrCjWQr859bqRvctRIaA_0[0].kind = 2; TM__vGSJrCjWQr859bqRvctRIaA_0[0].sons = &TM__vGSJrCjWQr859bqRvctRIaA_2_16[0];
NTI__yF9cB1II0vYb2F0YKmIiArg_.node = &TM__vGSJrCjWQr859bqRvctRIaA_0[0];
NTI__VGrTBDzO5FHLY33yjUsvkA_.size = sizeof(tyObject_CodeBlockParams__VGrTBDzO5FHLY33yjUsvkA);
NTI__VGrTBDzO5FHLY33yjUsvkA_.kind = 18;
NTI__VGrTBDzO5FHLY33yjUsvkA_.base = 0;
NTI__VGrTBDzO5FHLY33yjUsvkA_.flags = 2;
TM__vGSJrCjWQr859bqRvctRIaA_166_7[0] = &TM__vGSJrCjWQr859bqRvctRIaA_0[28];
TM__vGSJrCjWQr859bqRvctRIaA_0[28].kind = 1;
TM__vGSJrCjWQr859bqRvctRIaA_0[28].offset = offsetof(tyObject_CodeBlockParams__VGrTBDzO5FHLY33yjUsvkA, numberLines);
TM__vGSJrCjWQr859bqRvctRIaA_0[28].typ = (&NTI__VaVACK0bpYmqIQ0mKcHfQQ_);
TM__vGSJrCjWQr859bqRvctRIaA_0[28].name = "numberLines";
TM__vGSJrCjWQr859bqRvctRIaA_166_7[1] = &TM__vGSJrCjWQr859bqRvctRIaA_0[29];
TM__vGSJrCjWQr859bqRvctRIaA_0[29].kind = 1;
TM__vGSJrCjWQr859bqRvctRIaA_0[29].offset = offsetof(tyObject_CodeBlockParams__VGrTBDzO5FHLY33yjUsvkA, startLine);
TM__vGSJrCjWQr859bqRvctRIaA_0[29].typ = (&NTI__rR5Bzr1D5krxoo1NcNyeMA_);
TM__vGSJrCjWQr859bqRvctRIaA_0[29].name = "startLine";
TM__vGSJrCjWQr859bqRvctRIaA_166_7[2] = &TM__vGSJrCjWQr859bqRvctRIaA_0[30];
TM__vGSJrCjWQr859bqRvctRIaA_0[30].kind = 1;
TM__vGSJrCjWQr859bqRvctRIaA_0[30].offset = offsetof(tyObject_CodeBlockParams__VGrTBDzO5FHLY33yjUsvkA, langStr);
TM__vGSJrCjWQr859bqRvctRIaA_0[30].typ = (&NTI__77mFvmsOLKik79ci2hXkHEg_);
TM__vGSJrCjWQr859bqRvctRIaA_0[30].name = "langStr";
TM__vGSJrCjWQr859bqRvctRIaA_166_7[3] = &TM__vGSJrCjWQr859bqRvctRIaA_0[31];
TM__vGSJrCjWQr859bqRvctRIaA_0[31].kind = 1;
TM__vGSJrCjWQr859bqRvctRIaA_0[31].offset = offsetof(tyObject_CodeBlockParams__VGrTBDzO5FHLY33yjUsvkA, lang);
TM__vGSJrCjWQr859bqRvctRIaA_0[31].typ = (&NTI__LpbEPkKqvJ0VCa4hwZcOBQ_);
TM__vGSJrCjWQr859bqRvctRIaA_0[31].name = "lang";
TM__vGSJrCjWQr859bqRvctRIaA_166_7[4] = &TM__vGSJrCjWQr859bqRvctRIaA_0[32];
TM__vGSJrCjWQr859bqRvctRIaA_0[32].kind = 1;
TM__vGSJrCjWQr859bqRvctRIaA_0[32].offset = offsetof(tyObject_CodeBlockParams__VGrTBDzO5FHLY33yjUsvkA, filename);
TM__vGSJrCjWQr859bqRvctRIaA_0[32].typ = (&NTI__77mFvmsOLKik79ci2hXkHEg_);
TM__vGSJrCjWQr859bqRvctRIaA_0[32].name = "filename";
TM__vGSJrCjWQr859bqRvctRIaA_166_7[5] = &TM__vGSJrCjWQr859bqRvctRIaA_0[33];
TM__vGSJrCjWQr859bqRvctRIaA_0[33].kind = 1;
TM__vGSJrCjWQr859bqRvctRIaA_0[33].offset = offsetof(tyObject_CodeBlockParams__VGrTBDzO5FHLY33yjUsvkA, testCmd);
TM__vGSJrCjWQr859bqRvctRIaA_0[33].typ = (&NTI__77mFvmsOLKik79ci2hXkHEg_);
TM__vGSJrCjWQr859bqRvctRIaA_0[33].name = "testCmd";
TM__vGSJrCjWQr859bqRvctRIaA_166_7[6] = &TM__vGSJrCjWQr859bqRvctRIaA_0[34];
TM__vGSJrCjWQr859bqRvctRIaA_0[34].kind = 1;
TM__vGSJrCjWQr859bqRvctRIaA_0[34].offset = offsetof(tyObject_CodeBlockParams__VGrTBDzO5FHLY33yjUsvkA, status);
TM__vGSJrCjWQr859bqRvctRIaA_0[34].typ = (&NTI__rR5Bzr1D5krxoo1NcNyeMA_);
TM__vGSJrCjWQr859bqRvctRIaA_0[34].name = "status";
TM__vGSJrCjWQr859bqRvctRIaA_0[27].len = 7; TM__vGSJrCjWQr859bqRvctRIaA_0[27].kind = 2; TM__vGSJrCjWQr859bqRvctRIaA_0[27].sons = &TM__vGSJrCjWQr859bqRvctRIaA_166_7[0];
NTI__VGrTBDzO5FHLY33yjUsvkA_.node = &TM__vGSJrCjWQr859bqRvctRIaA_0[27];
NTI__19af1Yi5wzYJHEoosvtCJdQ_.size = sizeof(tyTuple__19af1Yi5wzYJHEoosvtCJdQ);
NTI__19af1Yi5wzYJHEoosvtCJdQ_.kind = 18;
NTI__19af1Yi5wzYJHEoosvtCJdQ_.base = 0;
NTI__19af1Yi5wzYJHEoosvtCJdQ_.flags = 2;
TM__vGSJrCjWQr859bqRvctRIaA_230_3[0] = &TM__vGSJrCjWQr859bqRvctRIaA_0[36];
TM__vGSJrCjWQr859bqRvctRIaA_0[36].kind = 1;
TM__vGSJrCjWQr859bqRvctRIaA_0[36].offset = offsetof(tyTuple__19af1Yi5wzYJHEoosvtCJdQ, Field0);
TM__vGSJrCjWQr859bqRvctRIaA_0[36].typ = (&NTI__sM4lkSb7zS6F7OVMvW9cffQ_);
TM__vGSJrCjWQr859bqRvctRIaA_0[36].name = "Field0";
TM__vGSJrCjWQr859bqRvctRIaA_230_3[1] = &TM__vGSJrCjWQr859bqRvctRIaA_0[37];
NTI__G9ccBDFWfr9aYnLgXTNGDHDg_.size = sizeof(tyObject_IndexEntry__G9ccBDFWfr9aYnLgXTNGDHDg);
NTI__G9ccBDFWfr9aYnLgXTNGDHDg_.kind = 18;
NTI__G9ccBDFWfr9aYnLgXTNGDHDg_.base = 0;
NTI__G9ccBDFWfr9aYnLgXTNGDHDg_.flags = 2;
TM__vGSJrCjWQr859bqRvctRIaA_231_4[0] = &TM__vGSJrCjWQr859bqRvctRIaA_0[39];
TM__vGSJrCjWQr859bqRvctRIaA_0[39].kind = 1;
TM__vGSJrCjWQr859bqRvctRIaA_0[39].offset = offsetof(tyObject_IndexEntry__G9ccBDFWfr9aYnLgXTNGDHDg, keyword);
TM__vGSJrCjWQr859bqRvctRIaA_0[39].typ = (&NTI__77mFvmsOLKik79ci2hXkHEg_);
TM__vGSJrCjWQr859bqRvctRIaA_0[39].name = "keyword";
TM__vGSJrCjWQr859bqRvctRIaA_231_4[1] = &TM__vGSJrCjWQr859bqRvctRIaA_0[40];
TM__vGSJrCjWQr859bqRvctRIaA_0[40].kind = 1;
TM__vGSJrCjWQr859bqRvctRIaA_0[40].offset = offsetof(tyObject_IndexEntry__G9ccBDFWfr9aYnLgXTNGDHDg, link);
TM__vGSJrCjWQr859bqRvctRIaA_0[40].typ = (&NTI__77mFvmsOLKik79ci2hXkHEg_);
TM__vGSJrCjWQr859bqRvctRIaA_0[40].name = "link";
TM__vGSJrCjWQr859bqRvctRIaA_231_4[2] = &TM__vGSJrCjWQr859bqRvctRIaA_0[41];
TM__vGSJrCjWQr859bqRvctRIaA_0[41].kind = 1;
TM__vGSJrCjWQr859bqRvctRIaA_0[41].offset = offsetof(tyObject_IndexEntry__G9ccBDFWfr9aYnLgXTNGDHDg, linkTitle);
TM__vGSJrCjWQr859bqRvctRIaA_0[41].typ = (&NTI__77mFvmsOLKik79ci2hXkHEg_);
TM__vGSJrCjWQr859bqRvctRIaA_0[41].name = "linkTitle";
TM__vGSJrCjWQr859bqRvctRIaA_231_4[3] = &TM__vGSJrCjWQr859bqRvctRIaA_0[42];
TM__vGSJrCjWQr859bqRvctRIaA_0[42].kind = 1;
TM__vGSJrCjWQr859bqRvctRIaA_0[42].offset = offsetof(tyObject_IndexEntry__G9ccBDFWfr9aYnLgXTNGDHDg, linkDesc);
TM__vGSJrCjWQr859bqRvctRIaA_0[42].typ = (&NTI__77mFvmsOLKik79ci2hXkHEg_);
TM__vGSJrCjWQr859bqRvctRIaA_0[42].name = "linkDesc";
TM__vGSJrCjWQr859bqRvctRIaA_0[38].len = 4; TM__vGSJrCjWQr859bqRvctRIaA_0[38].kind = 2; TM__vGSJrCjWQr859bqRvctRIaA_0[38].sons = &TM__vGSJrCjWQr859bqRvctRIaA_231_4[0];
NTI__G9ccBDFWfr9aYnLgXTNGDHDg_.node = &TM__vGSJrCjWQr859bqRvctRIaA_0[38];
NTI__5PunAJrNQYcB8dF0jau3pQ_.size = sizeof(tySequence__5PunAJrNQYcB8dF0jau3pQ*);
NTI__5PunAJrNQYcB8dF0jau3pQ_.kind = 24;
NTI__5PunAJrNQYcB8dF0jau3pQ_.base = (&NTI__G9ccBDFWfr9aYnLgXTNGDHDg_);
NTI__5PunAJrNQYcB8dF0jau3pQ_.flags = 2;
NTI__5PunAJrNQYcB8dF0jau3pQ_.marker = Marker_tySequence__5PunAJrNQYcB8dF0jau3pQ;
TM__vGSJrCjWQr859bqRvctRIaA_0[37].kind = 1;
TM__vGSJrCjWQr859bqRvctRIaA_0[37].offset = offsetof(tyTuple__19af1Yi5wzYJHEoosvtCJdQ, Field1);
TM__vGSJrCjWQr859bqRvctRIaA_0[37].typ = (&NTI__5PunAJrNQYcB8dF0jau3pQ_);
TM__vGSJrCjWQr859bqRvctRIaA_0[37].name = "Field1";
TM__vGSJrCjWQr859bqRvctRIaA_230_3[2] = &TM__vGSJrCjWQr859bqRvctRIaA_0[43];
TM__vGSJrCjWQr859bqRvctRIaA_0[43].kind = 1;
TM__vGSJrCjWQr859bqRvctRIaA_0[43].offset = offsetof(tyTuple__19af1Yi5wzYJHEoosvtCJdQ, Field2);
TM__vGSJrCjWQr859bqRvctRIaA_0[43].typ = (&NTI__XC01wkRgzAyOjTiapde7hQ_);
TM__vGSJrCjWQr859bqRvctRIaA_0[43].name = "Field2";
TM__vGSJrCjWQr859bqRvctRIaA_0[35].len = 3; TM__vGSJrCjWQr859bqRvctRIaA_0[35].kind = 2; TM__vGSJrCjWQr859bqRvctRIaA_0[35].sons = &TM__vGSJrCjWQr859bqRvctRIaA_230_3[0];
NTI__19af1Yi5wzYJHEoosvtCJdQ_.node = &TM__vGSJrCjWQr859bqRvctRIaA_0[35];
}

