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

#include "nimbase.h"
#include <string.h>
#include <setjmp.h>
#undef linux
typedef struct Tcontext_5TfOJKwTttj3W1t1tMzWUQ Tcontext_5TfOJKwTttj3W1t1tMzWUQ;
typedef struct Tsym_AXG7xcvKqaxY6koRX1xkCw Tsym_AXG7xcvKqaxY6koRX1xkCw;
typedef struct Tnode_bROa11lyF5vxEN9aYNbHmhw Tnode_bROa11lyF5vxEN9aYNbHmhw;
typedef struct Ttype_LTUWCZolpovw9cWE3JBWSUw Ttype_LTUWCZolpovw9cWE3JBWSUw;
typedef struct Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw;
typedef struct NimStringDesc NimStringDesc;
typedef struct TGenericSeq TGenericSeq;
typedef struct Tident_4umxGerWTHGPwUms7Yqu3g Tident_4umxGerWTHGPwUms7Yqu3g;
typedef struct TY_ehmV9bTklH2Gt9cXHV9c0HLeQ TY_ehmV9bTklH2Gt9cXHV9c0HLeQ;
typedef struct Tidobj_raN9cHVgzmvaXisezY9aGg9cg Tidobj_raN9cHVgzmvaXisezY9aGg9cg;
typedef struct TNimObject TNimObject;
typedef struct TNimType TNimType;
typedef struct TNimNode TNimNode;
typedef struct Tpasscontext_qNsm39cWb35W2r5AAd9ch87g Tpasscontext_qNsm39cWb35W2r5AAd9ch87g;
typedef struct Tscope_1cQRXW6aAknk7ywAwjH3nw Tscope_1cQRXW6aAknk7ywAwjH3nw;
typedef struct Tproccon_s5jyYR8yL1QmFqiHICzU9aQ Tproccon_s5jyYR8yL1QmFqiHICzU9aQ;
typedef struct TY_sksVpmPRIkNR9axiwtD1Guw TY_sksVpmPRIkNR9axiwtD1Guw;
typedef struct Intset_PQrmFm4BXFkFSVOUl1ojSg Intset_PQrmFm4BXFkFSVOUl1ojSg;
typedef struct Trunk_ul49aWfv9aes8cutmeltT3gQ Trunk_ul49aWfv9aes8cutmeltT3gQ;
typedef struct TY_9brg1xNurxcus33lU4IE1Dw TY_9brg1xNurxcus33lU4IE1Dw;
typedef struct Tlinkedlist_9aBiIjAa4z2zTLjp4yMUvLw Tlinkedlist_9aBiIjAa4z2zTLjp4yMUvLw;
typedef struct Tlistentry_U4JkVlrJQaACKZ9a9cwCla3Q Tlistentry_U4JkVlrJQaACKZ9a9cwCla3Q;
typedef struct Tidtable_9aiv9bp2t5icFNINcg9c4xi1Q Tidtable_9aiv9bp2t5icFNINcg9c4xi1Q;
typedef struct TY_Mh9agqM29bm9aP5AUL1x7dZGA TY_Mh9agqM29bm9aP5AUL1x7dZGA;
typedef struct Tstrtable_f07aOS3dr28kGa5wcE29aFA Tstrtable_f07aOS3dr28kGa5wcE29aFA;
typedef struct Tctx_hJGtOysUvnnuB9cLutWG9a2w Tctx_hJGtOysUvnnuB9cLutWG9a2w;
typedef struct TY_jWKvSdankQPoT5bw9cBU9aiw TY_jWKvSdankQPoT5bw9cBU9aiw;
typedef struct IdentcacheHEX3Aobjecttype_TzLHS09bRH9a0TYLs39cqcNaw IdentcacheHEX3Aobjecttype_TzLHS09bRH9a0TYLs39cqcNaw;
typedef struct ModulegraphHEX3Aobjecttype_RZI3hCs0FTPYx8StfC81qQ ModulegraphHEX3Aobjecttype_RZI3hCs0FTPYx8StfC81qQ;
typedef struct Cell_1zcF9cV8XIAtbN8h5HRUB8g Cell_1zcF9cV8XIAtbN8h5HRUB8g;
typedef struct Cellseq_Axo1XVm9aaQueTOldv8le5w Cellseq_Axo1XVm9aaQueTOldv8le5w;
typedef struct Gcheap_1TRH1TZMaVZTnLNcIHuNFQ Gcheap_1TRH1TZMaVZTnLNcIHuNFQ;
typedef struct Gcstack_7fytPA5bBsob6See21YMRA Gcstack_7fytPA5bBsob6See21YMRA;
typedef struct Memregion_x81NhDv59b8ercDZ9bi85jyg Memregion_x81NhDv59b8ercDZ9bi85jyg;
typedef struct Smallchunk_tXn60W2f8h3jgAYdEmy5NQ Smallchunk_tXn60W2f8h3jgAYdEmy5NQ;
typedef struct Llchunk_XsENErzHIZV9bhvyJx56wGw Llchunk_XsENErzHIZV9bhvyJx56wGw;
typedef struct Bigchunk_Rv9c70Uhp2TytkX7eH78qEg Bigchunk_Rv9c70Uhp2TytkX7eH78qEg;
typedef struct Intset_EZObFrE3NC9bIb3YMkY9crZA Intset_EZObFrE3NC9bIb3YMkY9crZA;
typedef struct Trunk_W0r8S0Y3UGke6T9bIUWnnuw Trunk_W0r8S0Y3UGke6T9bIUWnnuw;
typedef struct Avlnode_IaqjtwKhxLEpvDS9bct9blEw Avlnode_IaqjtwKhxLEpvDS9bct9blEw;
typedef struct Gcstat_0RwLoVBHZPfUAcLczmfQAg Gcstat_0RwLoVBHZPfUAcLczmfQAg;
typedef struct Cellset_jG87P0AI9aZtss9ccTYBIISQ Cellset_jG87P0AI9aZtss9ccTYBIISQ;
typedef struct Pagedesc_fublkgIY4LG3mT51LU2WHg Pagedesc_fublkgIY4LG3mT51LU2WHg;
typedef struct TY_zuqP4Riz26Oi5fWgPYVEgA TY_zuqP4Riz26Oi5fWgPYVEgA;
typedef struct TY_DXS6mEo7PVUFJkirsQ9bNQA TY_DXS6mEo7PVUFJkirsQ9bNQA;
typedef struct Tloc_EtHNvCB0bgfu9bFjzx9cb6aA Tloc_EtHNvCB0bgfu9bFjzx9cb6aA;
typedef struct Ropeobj_HF4qJnb6xiOddgPmsxodtQ Ropeobj_HF4qJnb6xiOddgPmsxodtQ;
typedef struct Tlib_4f9aBgmqEuj7uWJdBBGcRgA Tlib_4f9aBgmqEuj7uWJdBBGcRgA;
typedef struct Exception Exception;
typedef struct TSafePoint TSafePoint;
typedef struct TY_iGkpo9aKQdr3NWelKC4cnJA TY_iGkpo9aKQdr3NWelKC4cnJA;
typedef struct Toptionentry_qo5G3Yn2oEcK3x1oAHGvpw Toptionentry_qo5G3Yn2oEcK3x1oAHGvpw;
typedef struct TY_7q7q3E6Oj24ZNVJb9aonhAg TY_7q7q3E6Oj24ZNVJb9aonhAg;
typedef struct TY_D9aiJ5rnfkBkzGjCtT9c16jw TY_D9aiJ5rnfkBkzGjCtT9c16jw;
typedef struct Tidpair_AdFnD2YdADPeuJbG2YJ4vg Tidpair_AdFnD2YdADPeuJbG2YJ4vg;
typedef struct TY_9bAGqSvkAaFL9bWjsEPslrFA TY_9bAGqSvkAaFL9bWjsEPslrFA;
typedef struct TY_dRkMGUPOSmkGlhHeIeiomQ TY_dRkMGUPOSmkGlhHeIeiomQ;
typedef struct PprocHEX3Aobjecttype_VFEBuxrDHC6kHPzc1TWaRQ PprocHEX3Aobjecttype_VFEBuxrDHC6kHPzc1TWaRQ;
typedef struct TY_RsxI3z4wK8jTuZiO0576gQ TY_RsxI3z4wK8jTuZiO0576gQ;
typedef struct Tinstantiationpair_HkXM4cJmOpk8zFcmq9c9c3gQ Tinstantiationpair_HkXM4cJmOpk8zFcmq9c9c3gQ;
typedef struct Tinstantiation_5LqgVn6Tq9ainQRK7TQAQxA Tinstantiation_5LqgVn6Tq9ainQRK7TQAQxA;
typedef struct Table_tfmlwa8ktiw8woWAs5vhtQ Table_tfmlwa8ktiw8woWAs5vhtQ;
typedef struct TY_kxu4GK0onha2t9bo86mdVAg TY_kxu4GK0onha2t9bo86mdVAg;
typedef struct TY_48JTohSgTy339bRxHzUD8KA TY_48JTohSgTy339bRxHzUD8KA;
typedef struct Basechunk_Sdq7WpT6qAH858F5ZEdG3w Basechunk_Sdq7WpT6qAH858F5ZEdG3w;
typedef struct Freecell_u6M5LHprqzkn9axr04yg9bGQ Freecell_u6M5LHprqzkn9axr04yg9bGQ;
typedef struct TY_a09bGTAl9ceOKTAytYdkbyKg TY_a09bGTAl9ceOKTAytYdkbyKg;
typedef struct TY_JokFGfUW6i9b6aeU7xu6xBw TY_JokFGfUW6i9b6aeU7xu6xBw;
typedef struct TY_SlmU1Ju0WFHUWkihyHMVYg TY_SlmU1Ju0WFHUWkihyHMVYg;
typedef struct TY_UCrBsiykDha2x4hr9aWPwKA TY_UCrBsiykDha2x4hr9aWPwKA;
typedef struct Vmargs_0UUl6e5CNNQfMon2xW2bVA Vmargs_0UUl6e5CNNQfMon2xW2bVA;
typedef struct TY_xDU9bZmv1ZbZkJDaATBekIQ TY_xDU9bZmv1ZbZkJDaATBekIQ;
typedef struct Tblock_2tJGcW69ahqq39a9bVJC1sqGQ Tblock_2tJGcW69ahqq39a9bVJC1sqGQ;
typedef struct TY_qwqHTkRvwhrRyENtudHQ7g TY_qwqHTkRvwhrRyENtudHQ7g;
typedef NU8 Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw_Set[34];
struct  Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw  {
NI16 line;
NI16 col;
NI32 fileindex;
};
typedef NU16 Tnodeflag_jyh9acXHkhZANSSvPIY7ZLg_Set;
typedef NU8 Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw;
struct  TGenericSeq  {
NI len;
NI reserved;
};
struct  NimStringDesc  {
  TGenericSeq Sup;
NIM_CHAR data[SEQ_DECL_SIZE];
};
struct  Tnode_bROa11lyF5vxEN9aYNbHmhw  {
Ttype_LTUWCZolpovw9cWE3JBWSUw* typ;
Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info;
Tnodeflag_jyh9acXHkhZANSSvPIY7ZLg_Set flags;
Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw kind;
union{
struct {NI64 intval;
} S1;
struct {NF floatval;
} S2;
struct {NimStringDesc* strval;
} S3;
struct {Tsym_AXG7xcvKqaxY6koRX1xkCw* sym;
} S4;
struct {Tident_4umxGerWTHGPwUms7Yqu3g* ident;
} S5;
struct {TY_ehmV9bTklH2Gt9cXHV9c0HLeQ* sons;
} S6;
} kindU;
NimStringDesc* comment;
};
typedef NU16 Tmsgkind_nDM9aiGzuSlpuw3CrqwaebA;
typedef NU16 Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw;
typedef NimStringDesc* TY_DQlzJ5j8WWHa6XFtJYzeYg[23];
typedef NU8 Tnimkind_jIBKr1ejBgsfM33Kxw4j7A;
typedef NU8 Tnimtypeflag_v8QUszD1sWlSIWZz7mC4bQ_Set;
typedef N_NIMCALL_PTR(void, TY_ojoeKfW4VYIm36I9cpDTQIg) (void* p0, NI op0);
typedef N_NIMCALL_PTR(void*, TY_WSm2xU5ARYv9aAR4l0z9c9auQ) (void* p0);
struct  TNimType  {
NI size;
Tnimkind_jIBKr1ejBgsfM33Kxw4j7A kind;
Tnimtypeflag_v8QUszD1sWlSIWZz7mC4bQ_Set flags;
TNimType* base;
TNimNode* node;
void* finalizer;
TY_ojoeKfW4VYIm36I9cpDTQIg marker;
TY_WSm2xU5ARYv9aAR4l0z9c9auQ deepcopy;
};
struct  TNimObject  {
TNimType* m_type;
};
struct  Tidobj_raN9cHVgzmvaXisezY9aGg9cg  {
  TNimObject Sup;
NI id;
};
struct  Tident_4umxGerWTHGPwUms7Yqu3g  {
  Tidobj_raN9cHVgzmvaXisezY9aGg9cg Sup;
NimStringDesc* s;
Tident_4umxGerWTHGPwUms7Yqu3g* next;
NI h;
};
typedef NU16 Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw;
typedef NU8 Trenderflag_wrPgUo1ExBlHvFnXN2nSHw_Set;
typedef NimStringDesc* TY_XaTKZcbaVb0ylpTdg2U9cjA[31];
struct  Tpasscontext_qNsm39cWb35W2r5AAd9ch87g  {
  TNimObject Sup;
NIM_BOOL fromcache;
};
struct  Intset_PQrmFm4BXFkFSVOUl1ojSg  {
NI counter;
NI max;
Trunk_ul49aWfv9aes8cutmeltT3gQ* head;
TY_9brg1xNurxcus33lU4IE1Dw* data;
};
struct  Tlinkedlist_9aBiIjAa4z2zTLjp4yMUvLw  {
Tlistentry_U4JkVlrJQaACKZ9a9cwCla3Q* head;
Tlistentry_U4JkVlrJQaACKZ9a9cwCla3Q* tail;
NI counter;
};
struct  Tidtable_9aiv9bp2t5icFNINcg9c4xi1Q  {
NI counter;
TY_Mh9agqM29bm9aP5AUL1x7dZGA* data;
};
typedef N_NIMCALL_PTR(Tnode_bROa11lyF5vxEN9aYNbHmhw*, TY_AKW0Vo9cFIVu0NCvmOexsSA) (Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0);
typedef NU16 Texprflag_0WWd9a4ssQWuY7Q6ZKepq9cQ_Set;
typedef N_NIMCALL_PTR(Tnode_bROa11lyF5vxEN9aYNbHmhw*, TY_iQuMqQxTQ0KsiquHcemjUQ) (Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Texprflag_0WWd9a4ssQWuY7Q6ZKepq9cQ_Set flags0);
typedef NU32 Tsymkind_cNCW9acsSznmEccl1fgQwkw_Set;
typedef N_NIMCALL_PTR(Tnode_bROa11lyF5vxEN9aYNbHmhw*, TY_C8AXaVscqGOxLOeiHy1lmw) (Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Tnode_bROa11lyF5vxEN9aYNbHmhw* norig0, Tsymkind_cNCW9acsSznmEccl1fgQwkw_Set filter0);
typedef N_NIMCALL_PTR(Ttype_LTUWCZolpovw9cWE3JBWSUw*, TY_bA9c5ClPJvgmXvNlbUiJQiQ) (Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Ttype_LTUWCZolpovw9cWE3JBWSUw* prev0);
typedef struct {
N_NIMCALL_PTR(Tnode_bROa11lyF5vxEN9aYNbHmhw*, ClPrc) (Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tidtable_9aiv9bp2t5icFNINcg9c4xi1Q pt0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, void* ClEnv);
void* ClEnv;
} TY_rVRuvning49bS21o9c7OfIPQ;
typedef struct {
N_NIMCALL_PTR(Tsym_AXG7xcvKqaxY6koRX1xkCw*, ClPrc) (Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tsym_AXG7xcvKqaxY6koRX1xkCw* fn0, Tidtable_9aiv9bp2t5icFNINcg9c4xi1Q pt0, Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info0, void* ClEnv);
void* ClEnv;
} TY_jT9bmmdeK1mqhnuxic7a1jw;
struct  Tstrtable_f07aOS3dr28kGa5wcE29aFA  {
NI counter;
TY_sksVpmPRIkNR9axiwtD1Guw* data;
};
typedef NU8 Ttypeattachedop_jZY2AMF49b43fezf9aDwN9c9cQ;
typedef N_NIMCALL_PTR(Tsym_AXG7xcvKqaxY6koRX1xkCw*, TY_kd4mVSM3CyNW38z8itHZOA) (Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tsym_AXG7xcvKqaxY6koRX1xkCw* dc0, Ttype_LTUWCZolpovw9cWE3JBWSUw* t0, Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info0, Ttypeattachedop_jZY2AMF49b43fezf9aDwN9c9cQ op0, NI col0);
struct  Tcontext_5TfOJKwTttj3W1t1tMzWUQ  {
  Tpasscontext_qNsm39cWb35W2r5AAd9ch87g Sup;
Tsym_AXG7xcvKqaxY6koRX1xkCw* module;
Tscope_1cQRXW6aAknk7ywAwjH3nw* currentscope;
Tscope_1cQRXW6aAknk7ywAwjH3nw* importtable;
Tscope_1cQRXW6aAknk7ywAwjH3nw* toplevelscope;
Tproccon_s5jyYR8yL1QmFqiHICzU9aQ* p;
TY_sksVpmPRIkNR9axiwtD1Guw* friendmodules;
NI instcounter;
Intset_PQrmFm4BXFkFSVOUl1ojSg ambiguoussymbols;
NI intypeclass;
NI ingenericcontext;
NI inunrolledcontext;
NI compilescontextid;
NI compilescontextidgenerator;
NI ingenericinst;
TY_sksVpmPRIkNR9axiwtD1Guw* converters;
TY_sksVpmPRIkNR9axiwtD1Guw* patterns;
Tlinkedlist_9aBiIjAa4z2zTLjp4yMUvLw optionstack;
Tidtable_9aiv9bp2t5icFNINcg9c4xi1Q symmapping;
Tlinkedlist_9aBiIjAa4z2zTLjp4yMUvLw libs;
TY_AKW0Vo9cFIVu0NCvmOexsSA semconstexpr;
TY_iQuMqQxTQ0KsiquHcemjUQ semexpr;
TY_iQuMqQxTQ0KsiquHcemjUQ semtryexpr;
TY_AKW0Vo9cFIVu0NCvmOexsSA semtryconstexpr;
TY_iQuMqQxTQ0KsiquHcemjUQ semoperand;
TY_AKW0Vo9cFIVu0NCvmOexsSA semconstboolexpr;
TY_C8AXaVscqGOxLOeiHy1lmw semoverloadedcall;
TY_bA9c5ClPJvgmXvNlbUiJQiQ semtypenode;
TY_rVRuvning49bS21o9c7OfIPQ seminferredlambda;
TY_jT9bmmdeK1mqhnuxic7a1jw semgenerateinstance;
Intset_PQrmFm4BXFkFSVOUl1ojSg includedfiles;
Tstrtable_f07aOS3dr28kGa5wcE29aFA userpragmas;
Tctx_hJGtOysUvnnuB9cLutWG9a2w* evalcontext;
Intset_PQrmFm4BXFkFSVOUl1ojSg unknownidents;
TY_jWKvSdankQPoT5bw9cBU9aiw* generics;
NI topstmts;
NI lastgenericidx;
NI hloloopdetector;
NI inparallelstmt;
TY_kd4mVSM3CyNW38z8itHZOA insttypeboundop;
Tident_4umxGerWTHGPwUms7Yqu3g* selfname;
IdentcacheHEX3Aobjecttype_TzLHS09bRH9a0TYLs39cqcNaw* cache;
ModulegraphHEX3Aobjecttype_RZI3hCs0FTPYx8StfC81qQ* graph;
Tstrtable_f07aOS3dr28kGa5wcE29aFA signatures;
NimStringDesc* recursivedep;
};
struct  Cell_1zcF9cV8XIAtbN8h5HRUB8g  {
NI refcount;
TNimType* typ;
};
struct  Cellseq_Axo1XVm9aaQueTOldv8le5w  {
NI len;
NI cap;
Cell_1zcF9cV8XIAtbN8h5HRUB8g** d;
};
typedef Smallchunk_tXn60W2f8h3jgAYdEmy5NQ* TY_SiRwrEKZdLgxqz9a9aoVBglg[512];
typedef Trunk_W0r8S0Y3UGke6T9bIUWnnuw* TY_lh2A89ahMmYg9bCmpVaplLbA[256];
struct  Intset_EZObFrE3NC9bIb3YMkY9crZA  {
TY_lh2A89ahMmYg9bCmpVaplLbA data;
};
struct  Memregion_x81NhDv59b8ercDZ9bi85jyg  {
NI minlargeobj;
NI maxlargeobj;
TY_SiRwrEKZdLgxqz9a9aoVBglg freesmallchunks;
Llchunk_XsENErzHIZV9bhvyJx56wGw* llmem;
NI currmem;
NI maxmem;
NI freemem;
NI lastsize;
Bigchunk_Rv9c70Uhp2TytkX7eH78qEg* freechunkslist;
Intset_EZObFrE3NC9bIb3YMkY9crZA chunkstarts;
Avlnode_IaqjtwKhxLEpvDS9bct9blEw* root;
Avlnode_IaqjtwKhxLEpvDS9bct9blEw* deleted;
Avlnode_IaqjtwKhxLEpvDS9bct9blEw* last;
Avlnode_IaqjtwKhxLEpvDS9bct9blEw* freeavlnodes;
NIM_BOOL locked;
NIM_BOOL blockchunksizeincrease;
NI nextchunksize;
};
struct  Gcstat_0RwLoVBHZPfUAcLczmfQAg  {
NI stackscans;
NI cyclecollections;
NI maxthreshold;
NI maxstacksize;
NI maxstackcells;
NI cycletablesize;
NI64 maxpause;
};
struct  Cellset_jG87P0AI9aZtss9ccTYBIISQ  {
NI counter;
NI max;
Pagedesc_fublkgIY4LG3mT51LU2WHg* head;
Pagedesc_fublkgIY4LG3mT51LU2WHg** data;
};
struct  Gcheap_1TRH1TZMaVZTnLNcIHuNFQ  {
Gcstack_7fytPA5bBsob6See21YMRA* stack;
void* stackbottom;
NI cyclethreshold;
Cellseq_Axo1XVm9aaQueTOldv8le5w zct;
Cellseq_Axo1XVm9aaQueTOldv8le5w decstack;
Cellseq_Axo1XVm9aaQueTOldv8le5w tempstack;
NI recgclock;
Memregion_x81NhDv59b8ercDZ9bi85jyg region;
Gcstat_0RwLoVBHZPfUAcLczmfQAg stat;
Cellset_jG87P0AI9aZtss9ccTYBIISQ marked;
Cellseq_Axo1XVm9aaQueTOldv8le5w additionalroots;
};
typedef NU64 Tmsgkind_nDM9aiGzuSlpuw3CrqwaebA_Set;
typedef NU8 Tsymkind_cNCW9acsSznmEccl1fgQwkw;
typedef NU16 Tmagic_shZhZOdbVC5nnFvcXQAImg;
typedef NU32 Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw_Set;
typedef NU32 Toption_WspMeQySXNP2XoTWR5MTgg_Set;
typedef NU8 Tlockind_O7PRFZKuiBBWbku09cayVBg;
typedef NU8 Tstorageloc_JK9cKMX3XnqHaUky9b6gkGEw;
typedef NU16 Tlocflag_o2bqJgR4ceIupnUSpxiudA_Set;
struct  Tloc_EtHNvCB0bgfu9bFjzx9cb6aA  {
Tlockind_O7PRFZKuiBBWbku09cayVBg k;
Tstorageloc_JK9cKMX3XnqHaUky9b6gkGEw s;
Tlocflag_o2bqJgR4ceIupnUSpxiudA_Set flags;
Ttype_LTUWCZolpovw9cWE3JBWSUw* t;
Ropeobj_HF4qJnb6xiOddgPmsxodtQ* r;
};
struct  Tsym_AXG7xcvKqaxY6koRX1xkCw  {
  Tidobj_raN9cHVgzmvaXisezY9aGg9cg Sup;
Tsymkind_cNCW9acsSznmEccl1fgQwkw kind;
union{
struct {TY_zuqP4Riz26Oi5fWgPYVEgA* typeinstcache;
} S1;
struct {TY_DXS6mEo7PVUFJkirsQ9bNQA* procinstcache;
Tsym_AXG7xcvKqaxY6koRX1xkCw* gcunsafetyreason;
} S2;
struct {TY_DXS6mEo7PVUFJkirsQ9bNQA* usedgenerics;
Tstrtable_f07aOS3dr28kGa5wcE29aFA tab;
} S3;
struct {Tsym_AXG7xcvKqaxY6koRX1xkCw* guard;
NI bitsize;
} S4;
} kindU;
Tmagic_shZhZOdbVC5nnFvcXQAImg magic;
Ttype_LTUWCZolpovw9cWE3JBWSUw* typ;
Tident_4umxGerWTHGPwUms7Yqu3g* name;
Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info;
Tsym_AXG7xcvKqaxY6koRX1xkCw* owner;
Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw_Set flags;
Tnode_bROa11lyF5vxEN9aYNbHmhw* ast;
Toption_WspMeQySXNP2XoTWR5MTgg_Set options;
NI position;
NI offset;
Tloc_EtHNvCB0bgfu9bFjzx9cb6aA loc;
Tlib_4f9aBgmqEuj7uWJdBBGcRgA* annex;
Tnode_bROa11lyF5vxEN9aYNbHmhw* constraint;
};
struct  Exception  {
  TNimObject Sup;
Exception* parent;
NCSTRING name;
NimStringDesc* message;
NimStringDesc* trace;
};
typedef struct {
N_NIMCALL_PTR(NIM_BOOL, ClPrc) (Exception* e0, void* ClEnv);
void* ClEnv;
} TY_KeeAOYBd84Ofsw6Y7LizaQ;
struct  TSafePoint  {
TSafePoint* prev;
NI status;
jmp_buf context;
NIM_BOOL hasRaiseAction;
TY_KeeAOYBd84Ofsw6Y7LizaQ raiseAction;
};
typedef NU8 Tnimnodekind_unfNsxrcATrufDZmpBq4HQ;
struct  TNimNode  {
Tnimnodekind_unfNsxrcATrufDZmpBq4HQ kind;
NI offset;
TNimType* typ;
NCSTRING name;
NI len;
TNimNode** sons;
};
typedef NU8 Tcommands_VH3ghgQVwLSg3krOAoXigw;
typedef NU8 Tlocflag_o2bqJgR4ceIupnUSpxiudA;
typedef NU8 Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw;
typedef NU8 Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag;
typedef NU8 Tcallingconvention_yjAJ8w0h1PBaSwSGJ3P7IA;
typedef NU32 Ttypeflag_x2m5g1NpbmDig4wLT3Ylhw_Set;
struct  Ttype_LTUWCZolpovw9cWE3JBWSUw  {
  Tidobj_raN9cHVgzmvaXisezY9aGg9cg Sup;
Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag kind;
Tcallingconvention_yjAJ8w0h1PBaSwSGJ3P7IA callconv;
Ttypeflag_x2m5g1NpbmDig4wLT3Ylhw_Set flags;
TY_zuqP4Riz26Oi5fWgPYVEgA* sons;
Tnode_bROa11lyF5vxEN9aYNbHmhw* n;
Tsym_AXG7xcvKqaxY6koRX1xkCw* owner;
Tsym_AXG7xcvKqaxY6koRX1xkCw* sym;
Tsym_AXG7xcvKqaxY6koRX1xkCw* destructor;
Tsym_AXG7xcvKqaxY6koRX1xkCw* deepcopy;
Tsym_AXG7xcvKqaxY6koRX1xkCw* assignment;
TY_iGkpo9aKQdr3NWelKC4cnJA* methods;
NI64 size;
NI16 align;
NI16 locklevel;
Tloc_EtHNvCB0bgfu9bFjzx9cb6aA loc;
Ttype_LTUWCZolpovw9cWE3JBWSUw* typeinst;
};
typedef NU8 Tlibkind_9b8v60kso59bBaw9cp8B9a9apKQ;
struct  Tlistentry_U4JkVlrJQaACKZ9a9cwCla3Q  {
  TNimObject Sup;
Tlistentry_U4JkVlrJQaACKZ9a9cwCla3Q* prev;
Tlistentry_U4JkVlrJQaACKZ9a9cwCla3Q* next;
};
struct  Tlib_4f9aBgmqEuj7uWJdBBGcRgA  {
  Tlistentry_U4JkVlrJQaACKZ9a9cwCla3Q Sup;
Tlibkind_9b8v60kso59bBaw9cp8B9a9apKQ kind;
NIM_BOOL generated;
NIM_BOOL isoverriden;
Ropeobj_HF4qJnb6xiOddgPmsxodtQ* name;
Tnode_bROa11lyF5vxEN9aYNbHmhw* path;
};
typedef NU8 Ttypeflag_x2m5g1NpbmDig4wLT3Ylhw;
struct  Toptionentry_qo5G3Yn2oEcK3x1oAHGvpw  {
  Tlistentry_U4JkVlrJQaACKZ9a9cwCla3Q Sup;
Toption_WspMeQySXNP2XoTWR5MTgg_Set options;
Tcallingconvention_yjAJ8w0h1PBaSwSGJ3P7IA defaultcc;
Tlib_4f9aBgmqEuj7uWJdBBGcRgA* dynlib;
Tmsgkind_nDM9aiGzuSlpuw3CrqwaebA_Set notes;
Tnode_bROa11lyF5vxEN9aYNbHmhw* otherpragmas;
};
typedef NU8 Tlookupflag_ObWMY5GMSl1GiMcrKaAhKQ_Set;
struct TY_7q7q3E6Oj24ZNVJb9aonhAg {
NimStringDesc* Field0;
NimStringDesc* Field1;
NimStringDesc* Field2;
};
typedef NU8 Tlinkfeature_L9bVS0B7EDUNBOaY2OuZvww;
typedef NU8 Tinfoccprop_49cn73TjZ7Rt9b8QCAU8tLNg_Set;
struct TY_D9aiJ5rnfkBkzGjCtT9c16jw {
NimStringDesc* Field0;
NimStringDesc* Field1;
NimStringDesc* Field2;
NimStringDesc* Field3;
NimStringDesc* Field4;
NimStringDesc* Field5;
NimStringDesc* Field6;
NimStringDesc* Field7;
NimStringDesc* Field8;
NimStringDesc* Field9;
NimStringDesc* Field10;
NimStringDesc* Field11;
NimStringDesc* Field12;
NimStringDesc* Field13;
NimStringDesc* Field14;
NimStringDesc* Field15;
NimStringDesc* Field16;
NimStringDesc* Field17;
NimStringDesc* Field18;
NimStringDesc* Field19;
Tinfoccprop_49cn73TjZ7Rt9b8QCAU8tLNg_Set Field20;
};
typedef TY_D9aiJ5rnfkBkzGjCtT9c16jw TY_I76EIp8yptG9aLz769aIEutw[13];
typedef NU8 Tsystemcc_Y42JhQFLdjkIirjI3TJjww;
typedef NU8 Toption_WspMeQySXNP2XoTWR5MTgg;
struct  Tproccon_s5jyYR8yL1QmFqiHICzU9aQ  {
Tsym_AXG7xcvKqaxY6koRX1xkCw* owner;
Tsym_AXG7xcvKqaxY6koRX1xkCw* resultsym;
Tsym_AXG7xcvKqaxY6koRX1xkCw* selfsym;
NI nestedloopcounter;
NI nestedblockcounter;
NI intrystmt;
Tproccon_s5jyYR8yL1QmFqiHICzU9aQ* next;
NIM_BOOL wasforwarded;
Tnode_bROa11lyF5vxEN9aYNbHmhw* bracketexpr;
};
typedef NU64 Tglobaloption_RAfAEZqjnKMDumgyKKc1qw_Set;
typedef NU8 Tglobaloption_RAfAEZqjnKMDumgyKKc1qw;
typedef NU64 Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag_Set;
struct  Tscope_1cQRXW6aAknk7ywAwjH3nw  {
NI depthlevel;
Tstrtable_f07aOS3dr28kGa5wcE29aFA symbols;
Tscope_1cQRXW6aAknk7ywAwjH3nw* parent;
};
typedef NI TY_9a8QARi5WsUggNU9bom7kzTQ[8];
struct  Trunk_ul49aWfv9aes8cutmeltT3gQ  {
Trunk_ul49aWfv9aes8cutmeltT3gQ* next;
NI key;
TY_9a8QARi5WsUggNU9bom7kzTQ bits;
};
struct  Tidpair_AdFnD2YdADPeuJbG2YJ4vg  {
Tidobj_raN9cHVgzmvaXisezY9aGg9cg* key;
TNimObject* val;
};
typedef NU8 Tevalmode_UbrbHUpo4hYFr1DbYzJgRQ;
typedef NU8 Tsandboxflag_JyPEhkAmDAldmLHNNrLR0A_Set;
struct  Tctx_hJGtOysUvnnuB9cLutWG9a2w  {
  Tpasscontext_qNsm39cWb35W2r5AAd9ch87g Sup;
TY_9bAGqSvkAaFL9bWjsEPslrFA* code;
TY_dRkMGUPOSmkGlhHeIeiomQ* debug;
Tnode_bROa11lyF5vxEN9aYNbHmhw* globals;
Tnode_bROa11lyF5vxEN9aYNbHmhw* constants;
TY_zuqP4Riz26Oi5fWgPYVEgA* types;
Tnode_bROa11lyF5vxEN9aYNbHmhw* currentexceptiona;
Tnode_bROa11lyF5vxEN9aYNbHmhw* currentexceptionb;
NI exceptioninstr;
PprocHEX3Aobjecttype_VFEBuxrDHC6kHPzc1TWaRQ* prc;
Tsym_AXG7xcvKqaxY6koRX1xkCw* module;
Tnode_bROa11lyF5vxEN9aYNbHmhw* callsite;
Tevalmode_UbrbHUpo4hYFr1DbYzJgRQ mode;
Tsandboxflag_JyPEhkAmDAldmLHNNrLR0A_Set features;
NIM_BOOL traceactive;
NI loopiterations;
Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw comesfromheuristic;
TY_RsxI3z4wK8jTuZiO0576gQ* callbacks;
NimStringDesc* errorflag;
IdentcacheHEX3Aobjecttype_TzLHS09bRH9a0TYLs39cqcNaw* cache;
};
struct  Tinstantiationpair_HkXM4cJmOpk8zFcmq9c9c3gQ  {
Tsym_AXG7xcvKqaxY6koRX1xkCw* genericsym;
Tinstantiation_5LqgVn6Tq9ainQRK7TQAQxA* inst;
};
typedef Tident_4umxGerWTHGPwUms7Yqu3g* TY_CBfZt49asUfAsBVM7a3Rc9cw[8192];
struct  IdentcacheHEX3Aobjecttype_TzLHS09bRH9a0TYLs39cqcNaw  {
TY_CBfZt49asUfAsBVM7a3Rc9cw buckets;
NI wordcounter;
Tident_4umxGerWTHGPwUms7Yqu3g* idanon;
Tident_4umxGerWTHGPwUms7Yqu3g* iddelegator;
Tident_4umxGerWTHGPwUms7Yqu3g* emptyident;
};
struct  Table_tfmlwa8ktiw8woWAs5vhtQ  {
TY_kxu4GK0onha2t9bo86mdVAg* data;
NI counter;
};
struct  ModulegraphHEX3Aobjecttype_RZI3hCs0FTPYx8StfC81qQ  {
TY_sksVpmPRIkNR9axiwtD1Guw* modules;
Tstrtable_f07aOS3dr28kGa5wcE29aFA packagesyms;
Intset_PQrmFm4BXFkFSVOUl1ojSg deps;
NIM_BOOL suggestmode;
NIM_BOOL invalidtransitiveclosure;
Table_tfmlwa8ktiw8woWAs5vhtQ incltomod;
TY_48JTohSgTy339bRxHzUD8KA* importstack;
TNimObject* backend;
};
struct  Gcstack_7fytPA5bBsob6See21YMRA  {
Gcstack_7fytPA5bBsob6See21YMRA* prev;
Gcstack_7fytPA5bBsob6See21YMRA* next;
void* starts;
void* pos;
NI maxstacksize;
};
struct  Basechunk_Sdq7WpT6qAH858F5ZEdG3w  {
NI prevsize;
NI size;
NIM_BOOL used;
};
struct  Smallchunk_tXn60W2f8h3jgAYdEmy5NQ  {
  Basechunk_Sdq7WpT6qAH858F5ZEdG3w Sup;
Smallchunk_tXn60W2f8h3jgAYdEmy5NQ* next;
Smallchunk_tXn60W2f8h3jgAYdEmy5NQ* prev;
Freecell_u6M5LHprqzkn9axr04yg9bGQ* freelist;
NI free;
NI acc;
NF data;
};
struct  Llchunk_XsENErzHIZV9bhvyJx56wGw  {
NI size;
NI acc;
Llchunk_XsENErzHIZV9bhvyJx56wGw* next;
};
struct  Bigchunk_Rv9c70Uhp2TytkX7eH78qEg  {
  Basechunk_Sdq7WpT6qAH858F5ZEdG3w Sup;
Bigchunk_Rv9c70Uhp2TytkX7eH78qEg* next;
Bigchunk_Rv9c70Uhp2TytkX7eH78qEg* prev;
NI align;
NF data;
};
struct  Trunk_W0r8S0Y3UGke6T9bIUWnnuw  {
Trunk_W0r8S0Y3UGke6T9bIUWnnuw* next;
NI key;
TY_9a8QARi5WsUggNU9bom7kzTQ bits;
};
typedef Avlnode_IaqjtwKhxLEpvDS9bct9blEw* TY_0aOLqZchNi8nWtMTi8ND8w[2];
struct  Avlnode_IaqjtwKhxLEpvDS9bct9blEw  {
TY_0aOLqZchNi8nWtMTi8ND8w link;
NI key;
NI upperbound;
NI level;
};
struct  Pagedesc_fublkgIY4LG3mT51LU2WHg  {
Pagedesc_fublkgIY4LG3mT51LU2WHg* next;
NI key;
TY_9a8QARi5WsUggNU9bom7kzTQ bits;
};
struct  Ropeobj_HF4qJnb6xiOddgPmsxodtQ  {
  TNimObject Sup;
Ropeobj_HF4qJnb6xiOddgPmsxodtQ* left;
Ropeobj_HF4qJnb6xiOddgPmsxodtQ* right;
NI length;
NimStringDesc* data;
};
struct TY_a09bGTAl9ceOKTAytYdkbyKg {
NI Field0;
Tsym_AXG7xcvKqaxY6koRX1xkCw* Field1;
};
typedef NU8 Tslotkind_QOyrDzzey9cf6gDtSRPuZMQ;
struct TY_SlmU1Ju0WFHUWkihyHMVYg {
NIM_BOOL Field0;
Tslotkind_QOyrDzzey9cf6gDtSRPuZMQ Field1;
};
typedef TY_SlmU1Ju0WFHUWkihyHMVYg TY_ORKcvNw6ApGJhbot1dJ6oA[256];
struct  PprocHEX3Aobjecttype_VFEBuxrDHC6kHPzc1TWaRQ  {
TY_JokFGfUW6i9b6aeU7xu6xBw* blocks;
Tsym_AXG7xcvKqaxY6koRX1xkCw* sym;
TY_ORKcvNw6ApGJhbot1dJ6oA slots;
NI maxslots;
};
typedef struct {
N_NIMCALL_PTR(void, ClPrc) (Vmargs_0UUl6e5CNNQfMon2xW2bVA* args0, void* ClEnv);
void* ClEnv;
} TY_S09bPfanQx9bEvdh4862x8zw;
struct TY_UCrBsiykDha2x4hr9aWPwKA {
NimStringDesc* Field0;
TY_S09bPfanQx9bEvdh4862x8zw Field1;
};
struct  Tinstantiation_5LqgVn6Tq9ainQRK7TQAQxA  {
Tsym_AXG7xcvKqaxY6koRX1xkCw* sym;
TY_zuqP4Riz26Oi5fWgPYVEgA* concretetypes;
NI compilesid;
};
struct TY_xDU9bZmv1ZbZkJDaATBekIQ {
NI Field0;
NI32 Field1;
NI32 Field2;
};
struct  Freecell_u6M5LHprqzkn9axr04yg9bGQ  {
Freecell_u6M5LHprqzkn9axr04yg9bGQ* next;
NI zerofield;
};
struct  Tblock_2tJGcW69ahqq39a9bVJC1sqGQ  {
Tsym_AXG7xcvKqaxY6koRX1xkCw* label;
TY_qwqHTkRvwhrRyENtudHQ7g* fixups;
};
struct  Vmargs_0UUl6e5CNNQfMon2xW2bVA  {
NI ra;
NI rb;
NI rc;
void* slots;
Tnode_bROa11lyF5vxEN9aYNbHmhw* currentexception;
Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw currentlineinfo;
};
struct TY_ehmV9bTklH2Gt9cXHV9c0HLeQ {
  TGenericSeq Sup;
  Tnode_bROa11lyF5vxEN9aYNbHmhw* data[SEQ_DECL_SIZE];
};
struct TY_sksVpmPRIkNR9axiwtD1Guw {
  TGenericSeq Sup;
  Tsym_AXG7xcvKqaxY6koRX1xkCw* data[SEQ_DECL_SIZE];
};
struct TY_9brg1xNurxcus33lU4IE1Dw {
  TGenericSeq Sup;
  Trunk_ul49aWfv9aes8cutmeltT3gQ* data[SEQ_DECL_SIZE];
};
struct TY_Mh9agqM29bm9aP5AUL1x7dZGA {
  TGenericSeq Sup;
  Tidpair_AdFnD2YdADPeuJbG2YJ4vg data[SEQ_DECL_SIZE];
};
struct TY_jWKvSdankQPoT5bw9cBU9aiw {
  TGenericSeq Sup;
  Tinstantiationpair_HkXM4cJmOpk8zFcmq9c9c3gQ data[SEQ_DECL_SIZE];
};
struct TY_zuqP4Riz26Oi5fWgPYVEgA {
  TGenericSeq Sup;
  Ttype_LTUWCZolpovw9cWE3JBWSUw* data[SEQ_DECL_SIZE];
};
struct TY_DXS6mEo7PVUFJkirsQ9bNQA {
  TGenericSeq Sup;
  Tinstantiation_5LqgVn6Tq9ainQRK7TQAQxA* data[SEQ_DECL_SIZE];
};
struct TY_iGkpo9aKQdr3NWelKC4cnJA {
  TGenericSeq Sup;
  TY_a09bGTAl9ceOKTAytYdkbyKg data[SEQ_DECL_SIZE];
};
struct TY_9bAGqSvkAaFL9bWjsEPslrFA {
  TGenericSeq Sup;
  NU32 data[SEQ_DECL_SIZE];
};
struct TY_dRkMGUPOSmkGlhHeIeiomQ {
  TGenericSeq Sup;
  Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw data[SEQ_DECL_SIZE];
};
struct TY_RsxI3z4wK8jTuZiO0576gQ {
  TGenericSeq Sup;
  TY_UCrBsiykDha2x4hr9aWPwKA data[SEQ_DECL_SIZE];
};
struct TY_kxu4GK0onha2t9bo86mdVAg {
  TGenericSeq Sup;
  TY_xDU9bZmv1ZbZkJDaATBekIQ data[SEQ_DECL_SIZE];
};
struct TY_48JTohSgTy339bRxHzUD8KA {
  TGenericSeq Sup;
  NI32 data[SEQ_DECL_SIZE];
};
struct TY_JokFGfUW6i9b6aeU7xu6xBw {
  TGenericSeq Sup;
  Tblock_2tJGcW69ahqq39a9bVJC1sqGQ data[SEQ_DECL_SIZE];
};
struct TY_qwqHTkRvwhrRyENtudHQ7g {
  TGenericSeq Sup;
  NI data[SEQ_DECL_SIZE];
};
N_NIMCALL(void, pragmarec_7200QCbjfWhEBN4qPDke4w_2)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tsym_AXG7xcvKqaxY6koRX1xkCw* sym0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw_Set validpragmas0);
N_NIMCALL(NI, sonslen_qPWPHw7WgJeEVYUdcaRIig)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0);
N_NIMCALL(NIM_BOOL, singlepragma_gAHfkq2A9cJwmG6RdfNiZlA)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tsym_AXG7xcvKqaxY6koRX1xkCw* sym0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, NI i0, Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw_Set validpragmas0);
N_NIMCALL(void, processnote_UXDpD7j1oXkwccrqwm6OWg)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0);
N_NIMCALL(Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw, whichkeyword_WhYAAh6vF1PoyH6Hsspu4Q)(Tident_4umxGerWTHGPwUms7Yqu3g* id0);
N_NIMCALL(NI, findstr_Mh4RSCN9aIWDwvYyU6JF2mA)(NimStringDesc** a0, NI a0Len0, NimStringDesc* s0);
N_NIMCALL(void, invalidpragma_4pFDaZSa9ahrvJKCrg4wQRA)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0);
N_NIMCALL(void, localerror_VpilfPWbplGz6ny7O9cfr2g)(Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info0, Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw msg0, NimStringDesc* arg0);
N_NIMCALL(NimStringDesc*, rendertree_ppjdh9aQ5L0SGPF8yz1gZ9cA)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Trenderflag_wrPgUo1ExBlHvFnXN2nSHw_Set renderflags0);
static N_INLINE(void, asgnRefNoCycle)(void** dest0, void* src0);
static N_INLINE(Cell_1zcF9cV8XIAtbN8h5HRUB8g*, usrtocell_yB9aH5WIlwd0xkYrcdPeXrQsystem)(void* usr0);
static N_INLINE(void, rtladdzct_MV4BBk6J1qu70IbBxwEn4w_2system)(Cell_1zcF9cV8XIAtbN8h5HRUB8g* c0);
N_NOINLINE(void, addzct_fCDI7oO1NNVXXURtxSzsRw)(Cellseq_Axo1XVm9aaQueTOldv8le5w* s0, Cell_1zcF9cV8XIAtbN8h5HRUB8g* c0);
N_NIMCALL(Tident_4umxGerWTHGPwUms7Yqu3g*, considerquotedident_bi6H6x9cvavSxJocgYdA9bRw)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0);
N_NIMCALL(Tsym_AXG7xcvKqaxY6koRX1xkCw*, strtableget_lwInE2j9aCwWqT2bvslVRNA)(Tstrtable_f07aOS3dr28kGa5wcE29aFA t0, Tident_4umxGerWTHGPwUms7Yqu3g* name0);
N_NIMCALL(void, globalerror_VpilfPWbplGz6ny7O9cfr2g_3)(Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info0, Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw msg0, NimStringDesc* arg0);
N_NIMCALL(void, pragma_7200QCbjfWhEBN4qPDke4w)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tsym_AXG7xcvKqaxY6koRX1xkCw* sym0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw_Set validpragmas0);
N_NIMCALL(void, makeexternexport_ArUjCco1swscu0pzCrHIeg)(Tsym_AXG7xcvKqaxY6koRX1xkCw* s0, NimStringDesc* extname0, Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info0);
N_NIMCALL(void, setexternname_ArUjCco1swscu0pzCrHIeg_2)(Tsym_AXG7xcvKqaxY6koRX1xkCw* s0, NimStringDesc* extname0, Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info0);
static N_INLINE(NIM_BOOL, eqStrings)(NimStringDesc* a0, NimStringDesc* b0);
static N_INLINE(NIM_BOOL, equalmem_fmeFeLBvgmAHG9bC8ETS9bYQropes)(void* a0, void* b0, NI size0);
N_NIMCALL(Ropeobj_HF4qJnb6xiOddgPmsxodtQ*, rope_53CHEX05HP0HacydnwoUYg)(NimStringDesc* s0);
N_NIMCALL(NIM_BOOL, contains_6e5MGL10HDAJ205lBYpWxw)(NimStringDesc* s0, NIM_CHAR c0);
static N_INLINE(void, pushSafePoint)(TSafePoint* s0);
N_NIMCALL(NimStringDesc*, nsuFormatSingleElem)(NimStringDesc* formatstr0, NimStringDesc* a0);
static N_INLINE(void, popSafePoint)(void);
N_NIMCALL(NIM_BOOL, isObj)(TNimType* obj0, TNimType* subclass0);
static N_INLINE(Exception*, getCurrentException)(void);
N_NIMCALL(void, localerror_GarD0CQJ5aQhoHekHYinVQ)(Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info0, NimStringDesc* arg0);
static N_INLINE(void, appendString)(NimStringDesc* dest0, NimStringDesc* src0);
static N_INLINE(void, copymem_E1xtACub5WcDa3vbrIXbwgsystem)(void* dest0, void* source0, NI size0);
N_NIMCALL(NimStringDesc*, rawNewString)(NI space0);
static N_INLINE(void, popCurrentException)(void);
static N_INLINE(void, asgnRef)(void** dest0, void* src0);
static N_INLINE(void, incref_9cAA5YuQAAC3MVbnGeV86swsystem)(Cell_1zcF9cV8XIAtbN8h5HRUB8g* c0);
static N_INLINE(void, decref_MV4BBk6J1qu70IbBxwEn4wsystem)(Cell_1zcF9cV8XIAtbN8h5HRUB8g* c0);
N_NIMCALL(void, reraiseException)(void);
N_NIMCALL(NimStringDesc*, getoptionalstr_g4DDfIcYbV9an4RwdLCIPtg)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, NimStringDesc* defaultstr0);
N_NIMCALL(NimStringDesc*, expectstrlit_9bralhzAO9cpquvdHbAPb9cXA)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0);
N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, getstrlitnode_UxC2TwNzj8HsHWI0VDywWA)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0);
N_NOINLINE(Tnode_bROa11lyF5vxEN9aYNbHmhw*, newemptystrnode_y2G8ak5yDYlUunIx89b9cQiw)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0);
N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, newnodeit_lbGnVdZM6n2HPza7jVIlww)(Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw kind0, Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info0, Ttype_LTUWCZolpovw9cWE3JBWSUw* typ0);
N_NIMCALL(Ttype_LTUWCZolpovw9cWE3JBWSUw*, getsystype_dewjtBqyEbcVGQRaQFtDAw)(Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag kind0);
N_NIMCALL(NimStringDesc*, copyStringRC1)(NimStringDesc* src0);
static N_INLINE(void, nimGCunrefNoCycle)(void* p0);
N_NIMCALL(NimStringDesc*, copyString)(NimStringDesc* src0);
N_NIMCALL(void, makeexternimport_ArUjCco1swscu0pzCrHIeg_3)(Tsym_AXG7xcvKqaxY6koRX1xkCw* s0, NimStringDesc* extname0, Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info0);
N_NIMCALL(void, processimportcompilerproc_ArUjCco1swscu0pzCrHIeg_4)(Tsym_AXG7xcvKqaxY6koRX1xkCw* s0, NimStringDesc* extname0, Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info0);
N_NIMCALL(void, message_VpilfPWbplGz6ny7O9cfr2g_2)(Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info0, Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw msg0, NimStringDesc* arg0);
N_NIMCALL(void, processimportcpp_ArUjCco1swscu0pzCrHIeg_5)(Tsym_AXG7xcvKqaxY6koRX1xkCw* s0, NimStringDesc* extname0, Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info0);
N_NIMCALL(Tsym_AXG7xcvKqaxY6koRX1xkCw*, getmodule_0lPlu1uOok1rRK50z1V70A)(Tsym_AXG7xcvKqaxY6koRX1xkCw* s0);
N_NIMCALL(void, processimportobjc_ArUjCco1swscu0pzCrHIeg_6)(Tsym_AXG7xcvKqaxY6koRX1xkCw* s0, NimStringDesc* extname0, Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info0);
N_NIMCALL(NI, expectintlit_oGSdgrTkve6aV2AshvC0og)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0);
N_NIMCALL(NIM_BOOL, ispoweroftwo_M0Db9b9cHxuUgw2ZF0P8utPg)(NI x0);
N_NIMCALL(void, noval_4pFDaZSa9ahrvJKCrg4wQRA_2)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0);
N_NIMCALL(void, pragmadeadcodeelim_UXDpD7j1oXkwccrqwm6OWg_2)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0);
N_NIMCALL(NIM_BOOL, isturnedon_tWrv1JKw89aLhpSBOmGJddA)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0);
N_NIMCALL(void, pragmanoforward_UXDpD7j1oXkwccrqwm6OWg_3)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0);
N_NIMCALL(void, processmagic_eBoyM29bqjrUtWPM6HCIHYA)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Tsym_AXG7xcvKqaxY6koRX1xkCw* s0);
N_NIMCALL(NimStringDesc*, copyStr)(NimStringDesc* s0, NI start0);
N_NIMCALL(NimStringDesc*, copyStr)(NimStringDesc* s0, NI first0);
N_NIMCALL(NimStringDesc*, reprEnum)(NI e0, TNimType* typ0);
N_NIMCALL(Tlib_4f9aBgmqEuj7uWJdBBGcRgA*, getlib_EC34D3G6dVooBVvste5iNg)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tlibkind_9b8v60kso59bBaw9cp8B9a9apKQ kind0, Tnode_bROa11lyF5vxEN9aYNbHmhw* path0);
N_NIMCALL(NIM_BOOL, exprstructuralequivalent_XApnXRaD9btY9a4pkMO0ITTg)(Tnode_bROa11lyF5vxEN9aYNbHmhw* a0, Tnode_bROa11lyF5vxEN9aYNbHmhw* b0, NIM_BOOL strictsymequality0);
N_NIMCALL(Tlib_4f9aBgmqEuj7uWJdBBGcRgA*, newlib_h2fxTiQo2AKMIfTiX9bTdmA)(Tlibkind_9b8v60kso59bBaw9cp8B9a9apKQ kind0);
N_NIMCALL(void, append_OHo5UGptcxVKInJo6EIoMg_4)(Tlinkedlist_9aBiIjAa4z2zTLjp4yMUvLw* list0, Tlistentry_U4JkVlrJQaACKZ9a9cwCla3Q* entry0);
N_NIMCALL(NIM_BOOL, isdynliboverride_A5ujcaCHIHZ2ANCdgZAqVA)(NimStringDesc* lib0);
N_NIMCALL(void, addtolib_fs29bxogp5ghcutVCHnP6Ew)(Tlib_4f9aBgmqEuj7uWJdBBGcRgA* lib0, Tsym_AXG7xcvKqaxY6koRX1xkCw* sym0);
N_NIMCALL(NimStringDesc*, nsuNormalize)(NimStringDesc* s0);
N_NIMCALL(void, processdynlib_jKmoKMEDrqu7QwmLJQdcDw)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Tsym_AXG7xcvKqaxY6koRX1xkCw* sym0);
N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, expectdynlibnode_UxC2TwNzj8HsHWI0VDywWA_2)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0);
N_NIMCALL(void, markcompilerproc_OWuW5mNI1KdTf6xPdtYjxQ)(Tsym_AXG7xcvKqaxY6koRX1xkCw* s0);
N_NIMCALL(void, registercompilerproc_VwcrAbk0QX1PjNu32L8ztQ)(Tsym_AXG7xcvKqaxY6koRX1xkCw* s0);
N_NIMCALL(void, deprecatedstmt_sa0eOpPLsM4Mut3Dwi0kTQ)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* pragma_kLNkzDu51C3Od29cU0wx6pw);
static N_INLINE(Tnode_bROa11lyF5vxEN9aYNbHmhw*, HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, NI i0);
static N_INLINE(NI, len_CdME9baJhvveuPEDZE9bXoxAlambdalifting)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0);
N_NIMCALL(Tsym_AXG7xcvKqaxY6koRX1xkCw*, qualifiedlookup_7VCOa78IcftaMpH9ctb8ifg)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Tlookupflag_ObWMY5GMSl1GiMcrKaAhKQ_Set flags0);
N_NIMCALL(Tsym_AXG7xcvKqaxY6koRX1xkCw*, newsym_2uJTpCZGZAi7a4eAm1ds8Q)(Tsymkind_cNCW9acsSznmEccl1fgQwkw symkind0, Tident_4umxGerWTHGPwUms7Yqu3g* name0, Tsym_AXG7xcvKqaxY6koRX1xkCw* owner0, Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info0);
N_NIMCALL(void, addinterfacedecl_n1KYyMdrfFhXnSjpmEHg9cA)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tsym_AXG7xcvKqaxY6koRX1xkCw* sym0);
N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, newsymnode_1ARBpggFQuvUDBVYjBelcw)(Tsym_AXG7xcvKqaxY6koRX1xkCw* sym0);
N_NIMCALL(void, typeborrow_tONwVa0fryV0gpokGUci5A)(Tsym_AXG7xcvKqaxY6koRX1xkCw* sym0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0);
static N_INLINE(NIM_BOOL, isroutine_inD0Nq051matsjc6UjX88gparampatterns)(Tsym_AXG7xcvKqaxY6koRX1xkCw* s0);
N_NIMCALL(void, fatal_VpilfPWbplGz6ny7O9cfr2g_4)(Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info0, Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw msg0, NimStringDesc* arg0);
N_NIMCALL(void, processdefine_UXDpD7j1oXkwccrqwm6OWg_4)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0);
N_NIMCALL(void, definesymbol_9aZwRQ421PtIIOO9cHOBczPA)(NimStringDesc* symbol0, NimStringDesc* value0);
N_NIMCALL(void, processundef_UXDpD7j1oXkwccrqwm6OWg_5)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0);
N_NIMCALL(void, undefsymbol_A5AFbr8Omc1Bw39cFWCpEFg)(NimStringDesc* symbol0);
N_NIMCALL(void, processcompile_UXDpD7j1oXkwccrqwm6OWg_6)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0);
N_NIMCALL(NimStringDesc*, relativefile_V45o56IUz9bCVuTYz8nPVfA)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, NimStringDesc* ext0);
N_NIMCALL(void, nossplitFile)(NimStringDesc* path0, TY_7q7q3E6Oj24ZNVJb9aonhAg* Result);
N_NIMCALL(NimStringDesc*, nosaddFileExt)(NimStringDesc* filename0, NimStringDesc* ext0);
N_NIMCALL(NimStringDesc*, HEX2F_BsTQv9c9anbxt9bKmR0aN1elQ)(NimStringDesc* head0, NimStringDesc* tail0);
N_NIMCALL(NimStringDesc*, nosparentDir)(NimStringDesc* path0);
N_NIMCALL(NimStringDesc*, tofullpath_7s19cb7WBgztz9aqEBzwwuqA)(NI32 fileidx0);
static N_INLINE(NIM_BOOL, fileexists_yTPrfdEKg9cKCeSFUA6popQoptions)(NimStringDesc* filename0);
N_NIMCALL(NIM_BOOL, nosexistsFile)(NimStringDesc* filename0);
N_NIMCALL(NIM_BOOL, nosisAbsolute)(NimStringDesc* path0);
N_NIMCALL(NimStringDesc*, findfile_W7hFr9aZfpEnC9cC0HBQdhCw)(NimStringDesc* f0);
N_NIMCALL(NimStringDesc*, noschangeFileExt)(NimStringDesc* filename0, NimStringDesc* ext0);
N_NIMCALL(void, addexternalfiletocompile_G7o9b9bElmZopBhp4bEuocuQ)(NimStringDesc* filename0);
N_NIMCALL(void, addfiletolink_ojK8LYX6QYVglUGxXnhXUA)(NimStringDesc* filename0);
N_NIMCALL(NimStringDesc*, completecfilepath_mYCPQO1V869aZ4dfVrnvY3Q)(NimStringDesc* cfile0, NIM_BOOL createsubdir0);
N_NIMCALL(void, processcommonlink_kAzhCS2jzG8JzZdV77Tp8w)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Tlinkfeature_L9bVS0B7EDUNBOaY2OuZvww feature0);
N_NIMCALL(void, internalerror_MXmtqrCmYwtOPkDCFgUWKQ)(Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info0, NimStringDesc* errmsg0);
N_NIMCALL(void, addlinkoption_7UPx5ihiCo9bEptZNyxfumQ_2)(NimStringDesc* option0);
N_NIMCALL(void, addcompileoption_7UPx5ihiCo9bEptZNyxfumQ)(NimStringDesc* option0);
N_NIMCALL(void, pragmabreakpoint_UXDpD7j1oXkwccrqwm6OWg_7)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0);
N_NIMCALL(void, pragmawatchpoint_UXDpD7j1oXkwccrqwm6OWg_8)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0);
N_NIMCALL(void, processpush_vuscCG0g0Zt0z0SzJqrmIw)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, NI start0);
N_NIMCALL(Toptionentry_qo5G3Yn2oEcK3x1oAHGvpw*, newoptionentry_XojK9bG3thkFuihLRUoFlkg)(void);
N_NIMCALL(NIM_BOOL, processoption_tWrv1JKw89aLhpSBOmGJddA_2)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0);
N_NIMCALL(void, onoff_IWinPfBiUID3qpD0VhmIfw)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Toption_WspMeQySXNP2XoTWR5MTgg_Set op0);
N_NIMCALL(void, processcallconv_UXDpD7j1oXkwccrqwm6OWg_9)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0);
N_NIMCALL(Tcallingconvention_yjAJ8w0h1PBaSwSGJ3P7IA, wordtocallconv_nMMYtqiohv9aTEha7rdj6Bw)(Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw sw0);
N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, newnodei_PIqgSH9b0m7nFpOyXf9cpz5w)(Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw kind0, Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info0);
N_NIMCALL(void, add_gCCf68XrWL79bKes6htzFjQ_3)(Tnode_bROa11lyF5vxEN9aYNbHmhw* father0, Tnode_bROa11lyF5vxEN9aYNbHmhw* son0);
N_NIMCALL(void, processpop_UXDpD7j1oXkwccrqwm6OWg_10)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0);
N_NIMCALL(void, remove_OHo5UGptcxVKInJo6EIoMg_2)(Tlinkedlist_9aBiIjAa4z2zTLjp4yMUvLw* list0, Tlistentry_U4JkVlrJQaACKZ9a9cwCla3Q* entry0);
N_NIMCALL(void, processpragma_P029aiZiO8MVMDswxq4H1Cw)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, NI i0);
N_NIMCALL(void, addson_gCCf68XrWL79bKes6htzFjQ)(Tnode_bROa11lyF5vxEN9aYNbHmhw* father0, Tnode_bROa11lyF5vxEN9aYNbHmhw* son0);
N_NIMCALL(void, strtableadd_Tcb9aDxXz9ch8cAXKFCMrlbA)(Tstrtable_f07aOS3dr28kGa5wcE29aFA* t0, Tsym_AXG7xcvKqaxY6koRX1xkCw* n0);
N_NIMCALL(void, processcodegendecl_jKmoKMEDrqu7QwmLJQdcDw_2)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Tsym_AXG7xcvKqaxY6koRX1xkCw* sym0);
N_NIMCALL(void, pragmaemit_UXDpD7j1oXkwccrqwm6OWg_11)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0);
N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, newnodei_jIQp9ciM8if1a6TX6toZelw)(Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw kind0, Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info0, NI children0);
N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semasmoremit_tiG8Ac9cad9bFkIVsa5UVeKQ)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* con0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, NIM_CHAR marker0);
N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, newnode_o9aHrUvOCIeQhfywzvo7yOA)(Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw kind0, Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info0, TY_ehmV9bTklH2Gt9cXHV9c0HLeQ* sons0, Ttype_LTUWCZolpovw9cWE3JBWSUw* typ0);
N_NIMCALL(void*, newSeq)(TNimType* typ0, NI len0);
N_NIMCALL(NI, nsuFindChar)(NimStringDesc* s0, NIM_CHAR sub0, NI start0);
N_NIMCALL(NimStringDesc*, copyStrLast)(NimStringDesc* s0, NI start_WPWyPKk58Cr5a6XFFviMjg, NI last0);
N_NIMCALL(NimStringDesc*, copyStrLast)(NimStringDesc* s0, NI first0, NI last0);
N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, newstrnode_8GaTnuPqpzGLNcerzDOURQ)(Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw kind0, NimStringDesc* strval0);
N_NIMCALL(Tsym_AXG7xcvKqaxY6koRX1xkCw*, searchinscopes_QSW6N9asb3CJMR79bV8BqwHw)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tident_4umxGerWTHGPwUms7Yqu3g* s0);
N_NIMCALL(Tident_4umxGerWTHGPwUms7Yqu3g*, getident_oH8GBf4tG3b1F5BIuNPwtA)(NimStringDesc* identifier0);
N_NIMCALL(void, loadstub_8lqBRdz0Xc1mefqrmXA9ceg)(Tsym_AXG7xcvKqaxY6koRX1xkCw* s0);
N_NIMCALL(NimStringDesc*, nimCharToStr)(NIM_CHAR x0);
N_NIMCALL(void, illformedastlocal_DpsImAn3UbwOKcZFm2pVSg_2)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0);
N_NIMCALL(void, pragmaunroll_UXDpD7j1oXkwccrqwm6OWg_12)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0);
N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, newintnode_v2VGJAZNfKPVngZCqEXQtA)(Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw kind0, NI64 intval0);
N_NIMCALL(void, pragmaline_UXDpD7j1oXkwccrqwm6OWg_13)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0);
N_NIMCALL(NI32, fileinfoidx_RXxXBoV2drjjVnQa9abo19cQ)(NimStringDesc* filename0);
N_NIMCALL(Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw, getinfocontext_dGOV06h8ZBXswh1nR1J9bmQ)(NI index0);
N_NIMCALL(void, pragmaraisesortags_UXDpD7j1oXkwccrqwm6OWg_14)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0);
N_NIMCALL(void, processexc_J7xj2i2DFE3ebeR7CXegUA)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* x0);
N_NIMCALL(Ttype_LTUWCZolpovw9cWE3JBWSUw*, skiptypes_pLCdCGDuirMe9cspwviV9aVA)(Ttype_LTUWCZolpovw9cWE3JBWSUw* t0, Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag_Set kinds0);
N_NIMCALL(void, pragmalockstmt_v3Bylf6ILQW89alXyLTPr6A)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* it0);
N_NIMCALL(NI16, pragmalocks_Oeb719c1IuskYiE5cBu9cfMQ)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* it0);
N_NIMCALL(Tsym_AXG7xcvKqaxY6koRX1xkCw*, pragmaguard_3W0lEUMOsrqax9b0Yfe2jbQ)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* it0, Tsymkind_cNCW9acsSznmEccl1fgQwkw kind0);
N_NIMCALL(void, registernimscriptsymbol_IupMXo2iLzsFKro1snjzFQ)(Tsym_AXG7xcvKqaxY6koRX1xkCw* s0);
static N_INLINE(NIM_BOOL, istoplevel_9bkq9cASeagJTpH5Dz9aZoVrAsem)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0);
N_NIMCALL(void, implicitpragmas_7200QCbjfWhEBN4qPDke4w_3)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tsym_AXG7xcvKqaxY6koRX1xkCw* sym0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw_Set validpragmas0);
N_NIMCALL(void, pushinfocontext_zQWo2MALtrYvLPyMtv28iA)(Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info0);
N_NIMCALL(void, popinfocontext_GmmyRSXe1noER8ex1U9aGUA)(void);
N_NIMCALL(NIM_BOOL, HEX3DHEX3D_Lrpi2N0XDlmkUBCjTBEG7Q)(TY_ehmV9bTklH2Gt9cXHV9c0HLeQ* x0, TY_ehmV9bTklH2Gt9cXHV9c0HLeQ* y0);
extern Gcheap_1TRH1TZMaVZTnLNcIHuNFQ gch_IcYaEuuWivYAS86vFMTS3Q;
extern Tmsgkind_nDM9aiGzuSlpuw3CrqwaebA_Set gnotes_ra0BBMaJz6cOxn1JA3c6Bg;
extern TSafePoint* exchandler_rqLlY5bs9atDw2OXYqJEn5g;
extern TNimType NTI_Gi06FkNeykJn7mrqRZYrkA;
extern Exception* currexception_9bVPeDJlYTi9bQApZpfH8wjg;
extern Tcommands_VH3ghgQVwLSg3krOAoXigw gcmd_0oKScFtMiSKnjiHF9cU9c5GQ;
extern NIM_BOOL gmixedmode_47V577fI7J8lHBdPbxGA3w;
extern TNimType NTI_shZhZOdbVC5nnFvcXQAImg;
extern Tsystemcc_Y42JhQFLdjkIirjI3TJjww ccompiler_Dz9bRorQ2m6cBt9awpi4iwPw;
extern NimStringDesc* libpath_sniQ2ei4mGD9av6vrH9bfUgg;
extern Toption_WspMeQySXNP2XoTWR5MTgg_Set goptions_KL5B8sF4szIsM2AXCWFsIw;
extern TNimType NTI_ehmV9bTklH2Gt9cXHV9c0HLeQ;
extern Tglobaloption_RAfAEZqjnKMDumgyKKc1qw_Set gglobaloptions_j042VVDC9cT5ENYoXnmhhVg;
STRING_LITERAL(T_tPA3StZ6VsKyoznyrIfFxg_3, "Success", 7);
STRING_LITERAL(T_tPA3StZ6VsKyoznyrIfFxg_4, "SuccessX", 8);
STRING_LITERAL(T_tPA3StZ6VsKyoznyrIfFxg_5, "LineTooLong", 11);
STRING_LITERAL(T_tPA3StZ6VsKyoznyrIfFxg_6, "XDeclaredButNotUsed", 19);
STRING_LITERAL(T_tPA3StZ6VsKyoznyrIfFxg_7, "ConvToBaseNotNeeded", 19);
STRING_LITERAL(T_tPA3StZ6VsKyoznyrIfFxg_8, "ConvFromXtoItselfNotNeeded", 26);
STRING_LITERAL(T_tPA3StZ6VsKyoznyrIfFxg_9, "ExprAlwaysX", 11);
STRING_LITERAL(T_tPA3StZ6VsKyoznyrIfFxg_10, "QuitCalled", 10);
STRING_LITERAL(T_tPA3StZ6VsKyoznyrIfFxg_11, "Processing", 10);
STRING_LITERAL(T_tPA3StZ6VsKyoznyrIfFxg_12, "CodeBegin", 9);
STRING_LITERAL(T_tPA3StZ6VsKyoznyrIfFxg_13, "CodeEnd", 7);
STRING_LITERAL(T_tPA3StZ6VsKyoznyrIfFxg_14, "Conf", 4);
STRING_LITERAL(T_tPA3StZ6VsKyoznyrIfFxg_15, "Path", 4);
STRING_LITERAL(T_tPA3StZ6VsKyoznyrIfFxg_16, "CondTrue", 8);
STRING_LITERAL(T_tPA3StZ6VsKyoznyrIfFxg_17, "Name", 4);
STRING_LITERAL(T_tPA3StZ6VsKyoznyrIfFxg_18, "Pattern", 7);
STRING_LITERAL(T_tPA3StZ6VsKyoznyrIfFxg_19, "Exec", 4);
STRING_LITERAL(T_tPA3StZ6VsKyoznyrIfFxg_20, "Link", 4);
STRING_LITERAL(T_tPA3StZ6VsKyoznyrIfFxg_21, "Dependency", 10);
STRING_LITERAL(T_tPA3StZ6VsKyoznyrIfFxg_22, "Source", 6);
STRING_LITERAL(T_tPA3StZ6VsKyoznyrIfFxg_23, "StackTrace", 10);
STRING_LITERAL(T_tPA3StZ6VsKyoznyrIfFxg_24, "GCStats", 7);
STRING_LITERAL(T_tPA3StZ6VsKyoznyrIfFxg_25, "User", 4);
NIM_CONST TY_DQlzJ5j8WWHa6XFtJYzeYg T_tPA3StZ6VsKyoznyrIfFxg_2 = {((NimStringDesc*) &T_tPA3StZ6VsKyoznyrIfFxg_3),
((NimStringDesc*) &T_tPA3StZ6VsKyoznyrIfFxg_4),
((NimStringDesc*) &T_tPA3StZ6VsKyoznyrIfFxg_5),
((NimStringDesc*) &T_tPA3StZ6VsKyoznyrIfFxg_6),
((NimStringDesc*) &T_tPA3StZ6VsKyoznyrIfFxg_7),
((NimStringDesc*) &T_tPA3StZ6VsKyoznyrIfFxg_8),
((NimStringDesc*) &T_tPA3StZ6VsKyoznyrIfFxg_9),
((NimStringDesc*) &T_tPA3StZ6VsKyoznyrIfFxg_10),
((NimStringDesc*) &T_tPA3StZ6VsKyoznyrIfFxg_11),
((NimStringDesc*) &T_tPA3StZ6VsKyoznyrIfFxg_12),
((NimStringDesc*) &T_tPA3StZ6VsKyoznyrIfFxg_13),
((NimStringDesc*) &T_tPA3StZ6VsKyoznyrIfFxg_14),
((NimStringDesc*) &T_tPA3StZ6VsKyoznyrIfFxg_15),
((NimStringDesc*) &T_tPA3StZ6VsKyoznyrIfFxg_16),
((NimStringDesc*) &T_tPA3StZ6VsKyoznyrIfFxg_17),
((NimStringDesc*) &T_tPA3StZ6VsKyoznyrIfFxg_18),
((NimStringDesc*) &T_tPA3StZ6VsKyoznyrIfFxg_19),
((NimStringDesc*) &T_tPA3StZ6VsKyoznyrIfFxg_20),
((NimStringDesc*) &T_tPA3StZ6VsKyoznyrIfFxg_21),
((NimStringDesc*) &T_tPA3StZ6VsKyoznyrIfFxg_22),
((NimStringDesc*) &T_tPA3StZ6VsKyoznyrIfFxg_23),
((NimStringDesc*) &T_tPA3StZ6VsKyoznyrIfFxg_24),
((NimStringDesc*) &T_tPA3StZ6VsKyoznyrIfFxg_25)}
;
STRING_LITERAL(T_tPA3StZ6VsKyoznyrIfFxg_27, "CannotOpenFile", 14);
STRING_LITERAL(T_tPA3StZ6VsKyoznyrIfFxg_28, "OctalEscape", 11);
STRING_LITERAL(T_tPA3StZ6VsKyoznyrIfFxg_29, "XIsNeverRead", 12);
STRING_LITERAL(T_tPA3StZ6VsKyoznyrIfFxg_30, "XmightNotBeenInit", 17);
STRING_LITERAL(T_tPA3StZ6VsKyoznyrIfFxg_31, "Deprecated", 10);
STRING_LITERAL(T_tPA3StZ6VsKyoznyrIfFxg_32, "ConfigDeprecated", 16);
STRING_LITERAL(T_tPA3StZ6VsKyoznyrIfFxg_33, "SmallLshouldNotBeUsed", 21);
STRING_LITERAL(T_tPA3StZ6VsKyoznyrIfFxg_34, "UnknownMagic", 12);
STRING_LITERAL(T_tPA3StZ6VsKyoznyrIfFxg_35, "RedefinitionOfLabel", 19);
STRING_LITERAL(T_tPA3StZ6VsKyoznyrIfFxg_36, "UnknownSubstitutionX", 20);
STRING_LITERAL(T_tPA3StZ6VsKyoznyrIfFxg_37, "LanguageXNotSupported", 21);
STRING_LITERAL(T_tPA3StZ6VsKyoznyrIfFxg_38, "FieldXNotSupported", 18);
STRING_LITERAL(T_tPA3StZ6VsKyoznyrIfFxg_39, "CommentXIgnored", 15);
STRING_LITERAL(T_tPA3StZ6VsKyoznyrIfFxg_40, "NilStmt", 7);
STRING_LITERAL(T_tPA3StZ6VsKyoznyrIfFxg_41, "TypelessParam", 13);
STRING_LITERAL(T_tPA3StZ6VsKyoznyrIfFxg_42, "UseBase", 7);
STRING_LITERAL(T_tPA3StZ6VsKyoznyrIfFxg_43, "WriteToForeignHeap", 18);
STRING_LITERAL(T_tPA3StZ6VsKyoznyrIfFxg_44, "UnsafeCode", 10);
STRING_LITERAL(T_tPA3StZ6VsKyoznyrIfFxg_45, "EachIdentIsTuple", 16);
STRING_LITERAL(T_tPA3StZ6VsKyoznyrIfFxg_46, "ShadowIdent", 11);
STRING_LITERAL(T_tPA3StZ6VsKyoznyrIfFxg_47, "ProveInit", 9);
STRING_LITERAL(T_tPA3StZ6VsKyoznyrIfFxg_48, "ProveField", 10);
STRING_LITERAL(T_tPA3StZ6VsKyoznyrIfFxg_49, "ProveIndex", 10);
STRING_LITERAL(T_tPA3StZ6VsKyoznyrIfFxg_50, "GcUnsafe", 8);
STRING_LITERAL(T_tPA3StZ6VsKyoznyrIfFxg_51, "GcUnsafe2", 9);
STRING_LITERAL(T_tPA3StZ6VsKyoznyrIfFxg_52, "Uninit", 6);
STRING_LITERAL(T_tPA3StZ6VsKyoznyrIfFxg_53, "GcMem", 5);
STRING_LITERAL(T_tPA3StZ6VsKyoznyrIfFxg_54, "Destructor", 10);
STRING_LITERAL(T_tPA3StZ6VsKyoznyrIfFxg_55, "LockLevel", 9);
STRING_LITERAL(T_tPA3StZ6VsKyoznyrIfFxg_56, "ResultShadowed", 14);
NIM_CONST TY_XaTKZcbaVb0ylpTdg2U9cjA T_tPA3StZ6VsKyoznyrIfFxg_26 = {((NimStringDesc*) &T_tPA3StZ6VsKyoznyrIfFxg_27),
((NimStringDesc*) &T_tPA3StZ6VsKyoznyrIfFxg_28),
((NimStringDesc*) &T_tPA3StZ6VsKyoznyrIfFxg_29),
((NimStringDesc*) &T_tPA3StZ6VsKyoznyrIfFxg_30),
((NimStringDesc*) &T_tPA3StZ6VsKyoznyrIfFxg_31),
((NimStringDesc*) &T_tPA3StZ6VsKyoznyrIfFxg_32),
((NimStringDesc*) &T_tPA3StZ6VsKyoznyrIfFxg_33),
((NimStringDesc*) &T_tPA3StZ6VsKyoznyrIfFxg_34),
((NimStringDesc*) &T_tPA3StZ6VsKyoznyrIfFxg_35),
((NimStringDesc*) &T_tPA3StZ6VsKyoznyrIfFxg_36),
((NimStringDesc*) &T_tPA3StZ6VsKyoznyrIfFxg_37),
((NimStringDesc*) &T_tPA3StZ6VsKyoznyrIfFxg_38),
((NimStringDesc*) &T_tPA3StZ6VsKyoznyrIfFxg_39),
((NimStringDesc*) &T_tPA3StZ6VsKyoznyrIfFxg_40),
((NimStringDesc*) &T_tPA3StZ6VsKyoznyrIfFxg_41),
((NimStringDesc*) &T_tPA3StZ6VsKyoznyrIfFxg_42),
((NimStringDesc*) &T_tPA3StZ6VsKyoznyrIfFxg_43),
((NimStringDesc*) &T_tPA3StZ6VsKyoznyrIfFxg_44),
((NimStringDesc*) &T_tPA3StZ6VsKyoznyrIfFxg_45),
((NimStringDesc*) &T_tPA3StZ6VsKyoznyrIfFxg_46),
((NimStringDesc*) &T_tPA3StZ6VsKyoznyrIfFxg_47),
((NimStringDesc*) &T_tPA3StZ6VsKyoznyrIfFxg_48),
((NimStringDesc*) &T_tPA3StZ6VsKyoznyrIfFxg_49),
((NimStringDesc*) &T_tPA3StZ6VsKyoznyrIfFxg_50),
((NimStringDesc*) &T_tPA3StZ6VsKyoznyrIfFxg_51),
((NimStringDesc*) &T_tPA3StZ6VsKyoznyrIfFxg_52),
((NimStringDesc*) &T_tPA3StZ6VsKyoznyrIfFxg_53),
((NimStringDesc*) &T_tPA3StZ6VsKyoznyrIfFxg_54),
((NimStringDesc*) &T_tPA3StZ6VsKyoznyrIfFxg_55),
((NimStringDesc*) &T_tPA3StZ6VsKyoznyrIfFxg_56),
((NimStringDesc*) &T_tPA3StZ6VsKyoznyrIfFxg_25)}
;
STRING_LITERAL(T_tPA3StZ6VsKyoznyrIfFxg_57, "$1", 2);
STRING_LITERAL(T_tPA3StZ6VsKyoznyrIfFxg_59, "invalid extern name: \'", 22);
STRING_LITERAL(T_tPA3StZ6VsKyoznyrIfFxg_60, "\'. (Forgot to escape \'$\'?)", 26);
STRING_LITERAL(T_tPA3StZ6VsKyoznyrIfFxg_61, "", 0);
STRING_LITERAL(T_tPA3StZ6VsKyoznyrIfFxg_62, "use \'untyped\' parameters instead; immediate", 43);
STRING_LITERAL(T_tPA3StZ6VsKyoznyrIfFxg_63, "destroy", 7);
STRING_LITERAL(T_tPA3StZ6VsKyoznyrIfFxg_64, "destructor has to be named \'destroy\'", 36);
STRING_LITERAL(T_tPA3StZ6VsKyoznyrIfFxg_65, "FlowVar", 7);
STRING_LITERAL(T_tPA3StZ6VsKyoznyrIfFxg_66, "list of key:value pairs expected", 32);
STRING_LITERAL(T_tPA3StZ6VsKyoznyrIfFxg_67, "key:value pair expected", 23);
STRING_LITERAL(T_tPA3StZ6VsKyoznyrIfFxg_68, "a type can only borrow `.` for now", 34);
STRING_LITERAL(T_tPA3StZ6VsKyoznyrIfFxg_69, "true", 4);
STRING_LITERAL(T_tPA3StZ6VsKyoznyrIfFxg_70, "define", 6);
STRING_LITERAL(T_tPA3StZ6VsKyoznyrIfFxg_71, "undef", 5);
extern NIM_CONST TY_I76EIp8yptG9aLz769aIEutw Cc_78I18QZNZFIv9ah7oETc0jg;
STRING_LITERAL(T_tPA3StZ6VsKyoznyrIfFxg_72, "processCommonLink", 17);
STRING_LITERAL(T_tPA3StZ6VsKyoznyrIfFxg_73, "\':\' after \'push\' not supported", 30);
STRING_LITERAL(T_tPA3StZ6VsKyoznyrIfFxg_74, "speed", 5);
STRING_LITERAL(T_tPA3StZ6VsKyoznyrIfFxg_75, "size", 4);
STRING_LITERAL(T_tPA3StZ6VsKyoznyrIfFxg_76, "none", 4);
STRING_LITERAL(T_tPA3StZ6VsKyoznyrIfFxg_77, "tuple", 5);
STRING_LITERAL(T_tPA3StZ6VsKyoznyrIfFxg_78, "invalid type for raises/tags list", 33);
STRING_LITERAL(T_tPA3StZ6VsKyoznyrIfFxg_79, "locks pragma takes a list of expressions", 40);
STRING_LITERAL(T_tPA3StZ6VsKyoznyrIfFxg_80, "integer must be within 0..1000", 30);
STRING_LITERAL(T_tPA3StZ6VsKyoznyrIfFxg_81, "\'experimental\' pragma only valid as toplevel statement", 54);
STRING_LITERAL(T_tPA3StZ6VsKyoznyrIfFxg_82, "self", 4);
STRING_LITERAL(T_tPA3StZ6VsKyoznyrIfFxg_83, "implicitPragmas", 15);

N_NIMCALL(void, invalidpragma_4pFDaZSa9ahrvJKCrg4wQRA)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) {
	NimStringDesc* LOC1;
	LOC1 = (NimStringDesc*)0;
	LOC1 = rendertree_ppjdh9aQ5L0SGPF8yz1gZ9cA(n0, 4);
	localerror_VpilfPWbplGz6ny7O9cfr2g((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 165), LOC1);
}

static N_INLINE(Cell_1zcF9cV8XIAtbN8h5HRUB8g*, usrtocell_yB9aH5WIlwd0xkYrcdPeXrQsystem)(void* usr0) {
	Cell_1zcF9cV8XIAtbN8h5HRUB8g* result0;
	result0 = (Cell_1zcF9cV8XIAtbN8h5HRUB8g*)0;
	result0 = ((Cell_1zcF9cV8XIAtbN8h5HRUB8g*) ((NI)((NU64)(((NI) (usr0))) - (NU64)(((NI)sizeof(Cell_1zcF9cV8XIAtbN8h5HRUB8g))))));
	return result0;
}

static N_INLINE(void, rtladdzct_MV4BBk6J1qu70IbBxwEn4w_2system)(Cell_1zcF9cV8XIAtbN8h5HRUB8g* c0) {
	addzct_fCDI7oO1NNVXXURtxSzsRw((&gch_IcYaEuuWivYAS86vFMTS3Q.zct), c0);
}

static N_INLINE(void, asgnRefNoCycle)(void** dest0, void* src0) {
	{
		Cell_1zcF9cV8XIAtbN8h5HRUB8g* c0;
		if (!!((src0 == NIM_NIL))) goto LA3;
		c0 = usrtocell_yB9aH5WIlwd0xkYrcdPeXrQsystem(src0);
		(*c0).refcount += ((NI) 8);
	}
	LA3: ;
	{
		Cell_1zcF9cV8XIAtbN8h5HRUB8g* c0;
		if (!!(((*dest0) == NIM_NIL))) goto LA7;
		c0 = usrtocell_yB9aH5WIlwd0xkYrcdPeXrQsystem((*dest0));
		{
			(*c0).refcount -= ((NI) 8);
			if (!((NU64)((*c0).refcount) < (NU64)(((NI) 8)))) goto LA11;
			rtladdzct_MV4BBk6J1qu70IbBxwEn4w_2system(c0);
		}
		LA11: ;
	}
	LA7: ;
	(*dest0) = src0;
}

N_NIMCALL(void, processnote_UXDpD7j1oXkwccrqwm6OWg)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) {
{	{
		NIM_BOOL LOC3;
		NIM_BOOL LOC4;
		NIM_BOOL LOC5;
		NIM_BOOL LOC6;
		NIM_BOOL LOC7;
		NI LOC9;
		Tmsgkind_nDM9aiGzuSlpuw3CrqwaebA nk0;
		Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw LOC16;
		Tnode_bROa11lyF5vxEN9aYNbHmhw* x0;
		LOC3 = (NIM_BOOL)0;
		LOC4 = (NIM_BOOL)0;
		LOC5 = (NIM_BOOL)0;
		LOC6 = (NIM_BOOL)0;
		LOC7 = (NIM_BOOL)0;
		LOC7 = ((*n0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 34));
		if (!(LOC7)) goto LA8;
		LOC9 = (NI)0;
		LOC9 = sonslen_qPWPHw7WgJeEVYUdcaRIig(n0);
		LOC7 = (LOC9 == ((NI) 2));
		LA8: ;
		LOC6 = LOC7;
		if (!(LOC6)) goto LA10;
		LOC6 = ((*(*n0).kindU.S6.sons->data[((NI) 0)]).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 42));
		LA10: ;
		LOC5 = LOC6;
		if (!(LOC5)) goto LA11;
		LOC5 = (((*(*n0).kindU.S6.sons->data[((NI) 0)]).kindU.S6.sons ? (*(*n0).kindU.S6.sons->data[((NI) 0)]).kindU.S6.sons->Sup.len : 0) == ((NI) 2));
		LA11: ;
		LOC4 = LOC5;
		if (!(LOC4)) goto LA12;
		LOC4 = ((*(*(*n0).kindU.S6.sons->data[((NI) 0)]).kindU.S6.sons->data[((NI) 1)]).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 2));
		LA12: ;
		LOC3 = LOC4;
		if (!(LOC3)) goto LA13;
		LOC3 = ((*(*(*n0).kindU.S6.sons->data[((NI) 0)]).kindU.S6.sons->data[((NI) 0)]).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 2));
		LA13: ;
		if (!LOC3) goto LA14;
		nk0 = (Tmsgkind_nDM9aiGzuSlpuw3CrqwaebA)0;
		LOC16 = (Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw)0;
		LOC16 = whichkeyword_WhYAAh6vF1PoyH6Hsspu4Q((*(*(*n0).kindU.S6.sons->data[((NI) 0)]).kindU.S6.sons->data[((NI) 0)]).kindU.S5.ident);
		switch (LOC16) {
		case ((Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw) 117):
		{
			NI x0;
			x0 = findstr_Mh4RSCN9aIWDwvYyU6JF2mA(T_tPA3StZ6VsKyoznyrIfFxg_2, 23, (*(*(*(*n0).kindU.S6.sons->data[((NI) 0)]).kindU.S6.sons->data[((NI) 1)]).kindU.S5.ident).s);
			{
				if (!(((NI) 0) <= x0)) goto LA20;
				nk0 = ((Tmsgkind_nDM9aiGzuSlpuw3CrqwaebA) ((NI)(x0 + ((NI) 267))));
			}
			goto LA18;
			LA20: ;
			{
				invalidpragma_4pFDaZSa9ahrvJKCrg4wQRA(n0);
				goto BeforeRet;
			}
			LA18: ;
		}
		break;
		case ((Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw) 116):
		{
			NI x0;
			x0 = findstr_Mh4RSCN9aIWDwvYyU6JF2mA(T_tPA3StZ6VsKyoznyrIfFxg_26, 31, (*(*(*(*n0).kindU.S6.sons->data[((NI) 0)]).kindU.S6.sons->data[((NI) 1)]).kindU.S5.ident).s);
			{
				if (!(((NI) 0) <= x0)) goto LA26;
				nk0 = ((Tmsgkind_nDM9aiGzuSlpuw3CrqwaebA) ((NI)(x0 + ((NI) 236))));
			}
			goto LA24;
			LA26: ;
			{
				invalidpragma_4pFDaZSa9ahrvJKCrg4wQRA(n0);
				goto BeforeRet;
			}
			LA24: ;
		}
		break;
		default:
		{
			invalidpragma_4pFDaZSa9ahrvJKCrg4wQRA(n0);
			goto BeforeRet;
		}
		break;
		}
		x0 = (*c0).semconstboolexpr(c0, (*n0).kindU.S6.sons->data[((NI) 1)]);
		asgnRefNoCycle((void**) (&(*n0).kindU.S6.sons->data[((NI) 1)]), x0);
		{
			NIM_BOOL LOC32;
			LOC32 = (NIM_BOOL)0;
			LOC32 = ((*x0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 6));
			if (!(LOC32)) goto LA33;
			LOC32 = !(((*x0).kindU.S1.intval == IL64(0)));
			LA33: ;
			if (!LOC32) goto LA34;
			gnotes_ra0BBMaJz6cOxn1JA3c6Bg |= ((NU64)1)<<(((nk0- 236))%(sizeof(NU64)*8));
		}
		goto LA30;
		LA34: ;
		{
			gnotes_ra0BBMaJz6cOxn1JA3c6Bg &= ~(((NU64)1) << (((nk0- 236)) % (sizeof(NU64)*8)));
		}
		LA30: ;
	}
	goto LA1;
	LA14: ;
	{
		invalidpragma_4pFDaZSa9ahrvJKCrg4wQRA(n0);
	}
	LA1: ;
	}BeforeRet: ;
}

static N_INLINE(NIM_BOOL, equalmem_fmeFeLBvgmAHG9bC8ETS9bYQropes)(void* a0, void* b0, NI size0) {
	NIM_BOOL result0;
	int LOC1;
	result0 = (NIM_BOOL)0;
	LOC1 = (int)0;
	LOC1 = memcmp(a0, b0, ((size_t) (size0)));
	result0 = (LOC1 == ((NI32) 0));
	return result0;
}

static N_INLINE(NIM_BOOL, eqStrings)(NimStringDesc* a0, NimStringDesc* b0) {
	NIM_BOOL result0;
	NIM_BOOL LOC11;
{	result0 = (NIM_BOOL)0;
	{
		if (!(a0 == b0)) goto LA3;
		result0 = NIM_TRUE;
		goto BeforeRet;
	}
	LA3: ;
	{
		NIM_BOOL LOC7;
		LOC7 = (NIM_BOOL)0;
		LOC7 = (a0 == NIM_NIL);
		if (LOC7) goto LA8;
		LOC7 = (b0 == NIM_NIL);
		LA8: ;
		if (!LOC7) goto LA9;
		result0 = NIM_FALSE;
		goto BeforeRet;
	}
	LA9: ;
	LOC11 = (NIM_BOOL)0;
	LOC11 = ((*a0).Sup.len == (*b0).Sup.len);
	if (!(LOC11)) goto LA12;
	LOC11 = equalmem_fmeFeLBvgmAHG9bC8ETS9bYQropes(((void*) ((*a0).data)), ((void*) ((*b0).data)), ((NI) ((*a0).Sup.len)));
	LA12: ;
	result0 = LOC11;
	goto BeforeRet;
	}BeforeRet: ;
	return result0;
}

static N_INLINE(void, pushSafePoint)(TSafePoint* s0) {
	(*s0).hasRaiseAction = NIM_FALSE;
	(*s0).prev = exchandler_rqLlY5bs9atDw2OXYqJEn5g;
	exchandler_rqLlY5bs9atDw2OXYqJEn5g = s0;
}

static N_INLINE(void, popSafePoint)(void) {
	exchandler_rqLlY5bs9atDw2OXYqJEn5g = (*exchandler_rqLlY5bs9atDw2OXYqJEn5g).prev;
}

static N_INLINE(Exception*, getCurrentException)(void) {
	Exception* result0;
	result0 = (Exception*)0;
	result0 = currexception_9bVPeDJlYTi9bQApZpfH8wjg;
	return result0;
}

static N_INLINE(void, copymem_E1xtACub5WcDa3vbrIXbwgsystem)(void* dest0, void* source0, NI size0) {
	void* LOC1;
	LOC1 = (void*)0;
	LOC1 = memcpy(dest0, source0, ((size_t) (size0)));
}

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

static N_INLINE(void, incref_9cAA5YuQAAC3MVbnGeV86swsystem)(Cell_1zcF9cV8XIAtbN8h5HRUB8g* c0) {
	(*c0).refcount = (NI)((NU64)((*c0).refcount) + (NU64)(((NI) 8)));
}

static N_INLINE(void, decref_MV4BBk6J1qu70IbBxwEn4wsystem)(Cell_1zcF9cV8XIAtbN8h5HRUB8g* c0) {
	{
		(*c0).refcount -= ((NI) 8);
		if (!((NU64)((*c0).refcount) < (NU64)(((NI) 8)))) goto LA3;
		rtladdzct_MV4BBk6J1qu70IbBxwEn4w_2system(c0);
	}
	LA3: ;
}

static N_INLINE(void, asgnRef)(void** dest0, void* src0) {
	{
		Cell_1zcF9cV8XIAtbN8h5HRUB8g* LOC5;
		if (!!((src0 == NIM_NIL))) goto LA3;
		LOC5 = (Cell_1zcF9cV8XIAtbN8h5HRUB8g*)0;
		LOC5 = usrtocell_yB9aH5WIlwd0xkYrcdPeXrQsystem(src0);
		incref_9cAA5YuQAAC3MVbnGeV86swsystem(LOC5);
	}
	LA3: ;
	{
		Cell_1zcF9cV8XIAtbN8h5HRUB8g* LOC10;
		if (!!(((*dest0) == NIM_NIL))) goto LA8;
		LOC10 = (Cell_1zcF9cV8XIAtbN8h5HRUB8g*)0;
		LOC10 = usrtocell_yB9aH5WIlwd0xkYrcdPeXrQsystem((*dest0));
		decref_MV4BBk6J1qu70IbBxwEn4wsystem(LOC10);
	}
	LA8: ;
	(*dest0) = src0;
}

static N_INLINE(void, popCurrentException)(void) {
	asgnRef((void**) (&currexception_9bVPeDJlYTi9bQApZpfH8wjg), NIM_NIL);
}

N_NIMCALL(void, setexternname_ArUjCco1swscu0pzCrHIeg_2)(Tsym_AXG7xcvKqaxY6koRX1xkCw* s0, NimStringDesc* extname0, Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info0) {
	{
		if (!eqStrings(extname0, ((NimStringDesc*) &T_tPA3StZ6VsKyoznyrIfFxg_57))) goto LA3;
		asgnRefNoCycle((void**) (&(*s0).loc.r), rope_53CHEX05HP0HacydnwoUYg((*(*s0).name).s));
	}
	goto LA1;
	LA3: ;
	{
		NIM_BOOL LOC6;
		LOC6 = (NIM_BOOL)0;
		LOC6 = contains_6e5MGL10HDAJ205lBYpWxw(extname0, 36);
		if (!!(LOC6)) goto LA7;
		asgnRefNoCycle((void**) (&(*s0).loc.r), rope_53CHEX05HP0HacydnwoUYg(extname0));
	}
	goto LA1;
	LA7: ;
	{
		TSafePoint T_tPA3StZ6VsKyoznyrIfFxg_58;
		pushSafePoint(&T_tPA3StZ6VsKyoznyrIfFxg_58);
		T_tPA3StZ6VsKyoznyrIfFxg_58.status = setjmp(T_tPA3StZ6VsKyoznyrIfFxg_58.context);
		if (T_tPA3StZ6VsKyoznyrIfFxg_58.status == 0) {
			NimStringDesc* LOC11;
			LOC11 = (NimStringDesc*)0;
			LOC11 = nsuFormatSingleElem(extname0, (*(*s0).name).s);
			asgnRefNoCycle((void**) (&(*s0).loc.r), rope_53CHEX05HP0HacydnwoUYg(LOC11));
			popSafePoint();
		}
		else {
			popSafePoint();
			if (isObj(getCurrentException()->Sup.m_type, (&NTI_Gi06FkNeykJn7mrqRZYrkA))) {
				NimStringDesc* LOC14;
				T_tPA3StZ6VsKyoznyrIfFxg_58.status = 0;
				LOC14 = (NimStringDesc*)0;
				LOC14 = rawNewString(extname0->Sup.len + 48);
appendString(LOC14, ((NimStringDesc*) &T_tPA3StZ6VsKyoznyrIfFxg_59));
appendString(LOC14, extname0);
appendString(LOC14, ((NimStringDesc*) &T_tPA3StZ6VsKyoznyrIfFxg_60));
				localerror_GarD0CQJ5aQhoHekHYinVQ(info0, LOC14);
				popCurrentException();
			}
		}
		if (T_tPA3StZ6VsKyoznyrIfFxg_58.status != 0) reraiseException();
	}
	LA1: ;
	{
		NIM_BOOL LOC17;
		NIM_BOOL LOC19;
		LOC17 = (NIM_BOOL)0;
		LOC17 = (gcmd_0oKScFtMiSKnjiHF9cU9c5GQ == ((Tcommands_VH3ghgQVwLSg3krOAoXigw) 8));
		if (!(LOC17)) goto LA18;
		LOC19 = (NIM_BOOL)0;
		LOC19 = contains_6e5MGL10HDAJ205lBYpWxw(extname0, 36);
		LOC17 = !(LOC19);
		LA18: ;
		if (!LOC17) goto LA20;
		(*s0).loc.flags |= ((NU16)1)<<((((Tlocflag_o2bqJgR4ceIupnUSpxiudA) 1))%(sizeof(NU16)*8));
	}
	LA20: ;
}

N_NIMCALL(void, makeexternexport_ArUjCco1swscu0pzCrHIeg)(Tsym_AXG7xcvKqaxY6koRX1xkCw* s0, NimStringDesc* extname0, Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info0) {
	setexternname_ArUjCco1swscu0pzCrHIeg_2(s0, extname0, info0);
	(*s0).flags |= ((NU32)1)<<((((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 6))%(sizeof(NU32)*8));
}

static N_INLINE(void, nimGCunrefNoCycle)(void* p0) {
	Cell_1zcF9cV8XIAtbN8h5HRUB8g* c0;
	c0 = usrtocell_yB9aH5WIlwd0xkYrcdPeXrQsystem(p0);
	{
		(*c0).refcount -= ((NI) 8);
		if (!((NU64)((*c0).refcount) < (NU64)(((NI) 8)))) goto LA3;
		rtladdzct_MV4BBk6J1qu70IbBxwEn4w_2system(c0);
	}
	LA3: ;
}

N_NOINLINE(Tnode_bROa11lyF5vxEN9aYNbHmhw*, newemptystrnode_y2G8ak5yDYlUunIx89b9cQiw)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) {
	Tnode_bROa11lyF5vxEN9aYNbHmhw* result0;
	Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC1;
	NimStringDesc* LOC2;
	result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0;
	LOC1 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0;
	LOC1 = getsystype_dewjtBqyEbcVGQRaQFtDAw(((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 28));
	result0 = newnodeit_lbGnVdZM6n2HPza7jVIlww(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 20), (*n0).info, LOC1);
	LOC2 = (NimStringDesc*)0;
	LOC2 = (*result0).kindU.S3.strval; (*result0).kindU.S3.strval = copyStringRC1(((NimStringDesc*) &T_tPA3StZ6VsKyoznyrIfFxg_61));
	if (LOC2) nimGCunrefNoCycle(LOC2);
	return result0;
}

N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, getstrlitnode_UxC2TwNzj8HsHWI0VDywWA)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) {
	Tnode_bROa11lyF5vxEN9aYNbHmhw* result0;
	result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0;
	{
		if (!!(((*n0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 34)))) goto LA3;
		localerror_VpilfPWbplGz6ny7O9cfr2g((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 6), ((NimStringDesc*) &T_tPA3StZ6VsKyoznyrIfFxg_61));
		result0 = newemptystrnode_y2G8ak5yDYlUunIx89b9cQiw(n0);
	}
	goto LA1;
	LA3: ;
	{
		asgnRefNoCycle((void**) (&(*n0).kindU.S6.sons->data[((NI) 1)]), (*c0).semconstexpr(c0, (*n0).kindU.S6.sons->data[((NI) 1)]));
		switch ((*(*n0).kindU.S6.sons->data[((NI) 1)]).kind) {
		case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 20):
		case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 21):
		case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 22):
		{
			result0 = (*n0).kindU.S6.sons->data[((NI) 1)];
		}
		break;
		default:
		{
			localerror_VpilfPWbplGz6ny7O9cfr2g((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 6), ((NimStringDesc*) &T_tPA3StZ6VsKyoznyrIfFxg_61));
			result0 = newemptystrnode_y2G8ak5yDYlUunIx89b9cQiw(n0);
		}
		break;
		}
	}
	LA1: ;
	return result0;
}

N_NIMCALL(NimStringDesc*, expectstrlit_9bralhzAO9cpquvdHbAPb9cXA)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) {
	NimStringDesc* result0;
	Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC1;
	result0 = (NimStringDesc*)0;
	LOC1 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0;
	LOC1 = getstrlitnode_UxC2TwNzj8HsHWI0VDywWA(c0, n0);
	result0 = copyString((*LOC1).kindU.S3.strval);
	return result0;
}

N_NIMCALL(NimStringDesc*, getoptionalstr_g4DDfIcYbV9an4RwdLCIPtg)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, NimStringDesc* defaultstr0) {
	NimStringDesc* result0;
	result0 = (NimStringDesc*)0;
	{
		if (!((*n0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 34))) goto LA3;
		result0 = expectstrlit_9bralhzAO9cpquvdHbAPb9cXA(c0, n0);
	}
	goto LA1;
	LA3: ;
	{
		result0 = copyString(defaultstr0);
	}
	LA1: ;
	return result0;
}

N_NIMCALL(void, makeexternimport_ArUjCco1swscu0pzCrHIeg_3)(Tsym_AXG7xcvKqaxY6koRX1xkCw* s0, NimStringDesc* extname0, Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info0) {
	setexternname_ArUjCco1swscu0pzCrHIeg_2(s0, extname0, info0);
	(*s0).flags |= ((NU32)1)<<((((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 5))%(sizeof(NU32)*8));
	(*s0).flags &= ~(((NU32)1) << ((((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 4)) % (sizeof(NU32)*8)));
}

N_NIMCALL(void, processimportcompilerproc_ArUjCco1swscu0pzCrHIeg_4)(Tsym_AXG7xcvKqaxY6koRX1xkCw* s0, NimStringDesc* extname0, Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info0) {
	setexternname_ArUjCco1swscu0pzCrHIeg_2(s0, extname0, info0);
	(*s0).flags |= ((NU32)1)<<((((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 5))%(sizeof(NU32)*8));
	(*s0).flags &= ~(((NU32)1) << ((((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 4)) % (sizeof(NU32)*8)));
	(*s0).loc.flags |= ((NU16)1)<<((((Tlocflag_o2bqJgR4ceIupnUSpxiudA) 7))%(sizeof(NU16)*8));
}

N_NIMCALL(void, processimportcpp_ArUjCco1swscu0pzCrHIeg_5)(Tsym_AXG7xcvKqaxY6koRX1xkCw* s0, NimStringDesc* extname0, Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info0) {
	Tsym_AXG7xcvKqaxY6koRX1xkCw* m0;
	setexternname_ArUjCco1swscu0pzCrHIeg_2(s0, extname0, info0);
	(*s0).flags |= ((NU32)1)<<((((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 5))%(sizeof(NU32)*8));
	(*s0).flags |= ((NU32)1)<<((((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 27))%(sizeof(NU32)*8));
	(*s0).flags &= ~(((NU32)1) << ((((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 4)) % (sizeof(NU32)*8)));
	m0 = getmodule_0lPlu1uOok1rRK50z1V70A(s0);
	(*m0).flags |= ((NU32)1)<<((((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 27))%(sizeof(NU32)*8));
	gmixedmode_47V577fI7J8lHBdPbxGA3w = NIM_TRUE;
}

N_NIMCALL(void, processimportobjc_ArUjCco1swscu0pzCrHIeg_6)(Tsym_AXG7xcvKqaxY6koRX1xkCw* s0, NimStringDesc* extname0, Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info0) {
	Tsym_AXG7xcvKqaxY6koRX1xkCw* m0;
	setexternname_ArUjCco1swscu0pzCrHIeg_2(s0, extname0, info0);
	(*s0).flags |= ((NU32)1)<<((((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 5))%(sizeof(NU32)*8));
	(*s0).flags |= ((NU32)1)<<((((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 28))%(sizeof(NU32)*8));
	(*s0).flags &= ~(((NU32)1) << ((((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 4)) % (sizeof(NU32)*8)));
	m0 = getmodule_0lPlu1uOok1rRK50z1V70A(s0);
	(*m0).flags |= ((NU32)1)<<((((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 28))%(sizeof(NU32)*8));
}

N_NIMCALL(NI, expectintlit_oGSdgrTkve6aV2AshvC0og)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) {
	NI result0;
	result0 = (NI)0;
	{
		if (!!(((*n0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 34)))) goto LA3;
		localerror_VpilfPWbplGz6ny7O9cfr2g((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 7), ((NimStringDesc*) &T_tPA3StZ6VsKyoznyrIfFxg_61));
	}
	goto LA1;
	LA3: ;
	{
		asgnRefNoCycle((void**) (&(*n0).kindU.S6.sons->data[((NI) 1)]), (*c0).semconstexpr(c0, (*n0).kindU.S6.sons->data[((NI) 1)]));
		switch ((*(*n0).kindU.S6.sons->data[((NI) 1)]).kind) {
		case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 6) ... ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 10):
		{
			result0 = ((NI) ((*(*n0).kindU.S6.sons->data[((NI) 1)]).kindU.S1.intval));
		}
		break;
		default:
		{
			localerror_VpilfPWbplGz6ny7O9cfr2g((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 7), ((NimStringDesc*) &T_tPA3StZ6VsKyoznyrIfFxg_61));
		}
		break;
		}
	}
	LA1: ;
	return result0;
}

N_NIMCALL(void, noval_4pFDaZSa9ahrvJKCrg4wQRA_2)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) {
	{
		if (!((*n0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 34))) goto LA3;
		invalidpragma_4pFDaZSa9ahrvJKCrg4wQRA(n0);
	}
	LA3: ;
}

N_NIMCALL(NIM_BOOL, isturnedon_tWrv1JKw89aLhpSBOmGJddA)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) {
	NIM_BOOL result0;
{	result0 = (NIM_BOOL)0;
	{
		Tnode_bROa11lyF5vxEN9aYNbHmhw* x0;
		if (!((*n0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 34))) goto LA3;
		x0 = (*c0).semconstboolexpr(c0, (*n0).kindU.S6.sons->data[((NI) 1)]);
		asgnRefNoCycle((void**) (&(*n0).kindU.S6.sons->data[((NI) 1)]), x0);
		{
			if (!((*x0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 6))) goto LA7;
			result0 = !(((*x0).kindU.S1.intval == IL64(0)));
			goto BeforeRet;
		}
		LA7: ;
	}
	LA3: ;
	localerror_VpilfPWbplGz6ny7O9cfr2g((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 27), ((NimStringDesc*) &T_tPA3StZ6VsKyoznyrIfFxg_61));
	}BeforeRet: ;
	return result0;
}

N_NIMCALL(void, pragmadeadcodeelim_UXDpD7j1oXkwccrqwm6OWg_2)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) {
	{
		NIM_BOOL LOC3;
		LOC3 = (NIM_BOOL)0;
		LOC3 = isturnedon_tWrv1JKw89aLhpSBOmGJddA(c0, n0);
		if (!LOC3) goto LA4;
		(*(*c0).module).flags |= ((NU32)1)<<((((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 25))%(sizeof(NU32)*8));
	}
	goto LA1;
	LA4: ;
	{
		(*(*c0).module).flags &= ~(((NU32)1) << ((((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 25)) % (sizeof(NU32)*8)));
	}
	LA1: ;
}

N_NIMCALL(void, pragmanoforward_UXDpD7j1oXkwccrqwm6OWg_3)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) {
	{
		NIM_BOOL LOC3;
		LOC3 = (NIM_BOOL)0;
		LOC3 = isturnedon_tWrv1JKw89aLhpSBOmGJddA(c0, n0);
		if (!LOC3) goto LA4;
		(*(*c0).module).flags |= ((NU32)1)<<((((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 8))%(sizeof(NU32)*8));
	}
	goto LA1;
	LA4: ;
	{
		(*(*c0).module).flags &= ~(((NU32)1) << ((((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 8)) % (sizeof(NU32)*8)));
	}
	LA1: ;
}

N_NIMCALL(void, processmagic_eBoyM29bqjrUtWPM6HCIHYA)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Tsym_AXG7xcvKqaxY6koRX1xkCw* s0) {
	NimStringDesc* v0;
{	{
		if (!!(((*n0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 34)))) goto LA3;
		localerror_VpilfPWbplGz6ny7O9cfr2g((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 6), ((NimStringDesc*) &T_tPA3StZ6VsKyoznyrIfFxg_61));
		goto BeforeRet;
	}
	LA3: ;
	v0 = (NimStringDesc*)0;
	{
		if (!((*(*n0).kindU.S6.sons->data[((NI) 1)]).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 2))) goto LA7;
		v0 = copyString((*(*(*n0).kindU.S6.sons->data[((NI) 1)]).kindU.S5.ident).s);
	}
	goto LA5;
	LA7: ;
	{
		v0 = expectstrlit_9bralhzAO9cpquvdHbAPb9cXA(c0, n0);
	}
	LA5: ;
	{
		Tmagic_shZhZOdbVC5nnFvcXQAImg m_acH8T0bLc5TNcZ0YrgPNWw;
		NI res_lWT6k79b9ctJqtKUAPzByaAw;
		m_acH8T0bLc5TNcZ0YrgPNWw = (Tmagic_shZhZOdbVC5nnFvcXQAImg)0;
		res_lWT6k79b9ctJqtKUAPzByaAw = ((NI) 0);
		{
			while (1) {
				if (!(res_lWT6k79b9ctJqtKUAPzByaAw <= ((NI) 263))) goto LA12;
				m_acH8T0bLc5TNcZ0YrgPNWw = ((Tmagic_shZhZOdbVC5nnFvcXQAImg) (res_lWT6k79b9ctJqtKUAPzByaAw));
				{
					NimStringDesc* LOC15;
					LOC15 = (NimStringDesc*)0;
					LOC15 = copyStr(reprEnum((NI)m_acH8T0bLc5TNcZ0YrgPNWw, (&NTI_shZhZOdbVC5nnFvcXQAImg)), ((NI) 1));
					if (!eqStrings(LOC15, v0)) goto LA16;
					(*s0).magic = m_acH8T0bLc5TNcZ0YrgPNWw;
					goto LA10;
				}
				LA16: ;
				res_lWT6k79b9ctJqtKUAPzByaAw += ((NI) 1);
			} LA12: ;
		}
	} LA10: ;
	{
		if (!((*s0).magic == ((Tmagic_shZhZOdbVC5nnFvcXQAImg) 0))) goto LA20;
		message_VpilfPWbplGz6ny7O9cfr2g_2((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 243), v0);
	}
	LA20: ;
	}BeforeRet: ;
}

N_NIMCALL(Tlib_4f9aBgmqEuj7uWJdBBGcRgA*, getlib_EC34D3G6dVooBVvste5iNg)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tlibkind_9b8v60kso59bBaw9cp8B9a9apKQ kind0, Tnode_bROa11lyF5vxEN9aYNbHmhw* path0) {
	Tlib_4f9aBgmqEuj7uWJdBBGcRgA* result0;
	Tlib_4f9aBgmqEuj7uWJdBBGcRgA* it0;
	Tlistentry_U4JkVlrJQaACKZ9a9cwCla3Q* LOC12;
{	result0 = (Tlib_4f9aBgmqEuj7uWJdBBGcRgA*)0;
	it0 = ((Tlib_4f9aBgmqEuj7uWJdBBGcRgA*) ((*c0).libs.head));
	{
		while (1) {
			if (!!((it0 == NIM_NIL))) goto LA2;
			{
				if (!((*it0).kind == kind0)) goto LA5;
				{
					NIM_BOOL LOC9;
					LOC9 = (NIM_BOOL)0;
					LOC9 = exprstructuralequivalent_XApnXRaD9btY9a4pkMO0ITTg((*it0).path, path0, NIM_FALSE);
					if (!LOC9) goto LA10;
					result0 = it0;
					goto BeforeRet;
				}
				LA10: ;
			}
			LA5: ;
			it0 = ((Tlib_4f9aBgmqEuj7uWJdBBGcRgA*) ((*it0).Sup.next));
		} LA2: ;
	}
	result0 = newlib_h2fxTiQo2AKMIfTiX9bTdmA(kind0);
	asgnRefNoCycle((void**) (&(*result0).path), path0);
	LOC12 = (Tlistentry_U4JkVlrJQaACKZ9a9cwCla3Q*)0;
	LOC12 = &result0->Sup;
	append_OHo5UGptcxVKInJo6EIoMg_4((&(*c0).libs), LOC12);
	{
		if (!((*path0).kind >= ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 20) && (*path0).kind <= ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 22))) goto LA15;
		(*result0).isoverriden = isdynliboverride_A5ujcaCHIHZ2ANCdgZAqVA((*path0).kindU.S3.strval);
	}
	LA15: ;
	}BeforeRet: ;
	return result0;
}

N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, expectdynlibnode_UxC2TwNzj8HsHWI0VDywWA_2)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) {
	Tnode_bROa11lyF5vxEN9aYNbHmhw* result0;
	result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0;
	{
		if (!!(((*n0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 34)))) goto LA3;
		localerror_VpilfPWbplGz6ny7O9cfr2g((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 6), ((NimStringDesc*) &T_tPA3StZ6VsKyoznyrIfFxg_61));
		result0 = newemptystrnode_y2G8ak5yDYlUunIx89b9cQiw(n0);
	}
	goto LA1;
	LA3: ;
	{
		result0 = (*c0).semexpr(c0, (*n0).kindU.S6.sons->data[((NI) 1)], 0);
		{
			NIM_BOOL LOC8;
			LOC8 = (NIM_BOOL)0;
			LOC8 = ((*result0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 3));
			if (!(LOC8)) goto LA9;
			LOC8 = ((*(*result0).kindU.S4.sym).kind == ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 10));
			LA9: ;
			if (!LOC8) goto LA10;
			result0 = (*(*result0).kindU.S4.sym).ast;
		}
		LA10: ;
		{
			NIM_BOOL LOC14;
			LOC14 = (NIM_BOOL)0;
			LOC14 = ((*result0).typ == NIM_NIL);
			if (LOC14) goto LA15;
			LOC14 = !(((369098752 &((NU64)1<<((NU)((*(*result0).typ).kind)&63U)))!=0));
			LA15: ;
			if (!LOC14) goto LA16;
			localerror_VpilfPWbplGz6ny7O9cfr2g((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 6), ((NimStringDesc*) &T_tPA3StZ6VsKyoznyrIfFxg_61));
			result0 = newemptystrnode_y2G8ak5yDYlUunIx89b9cQiw(n0);
		}
		LA16: ;
	}
	LA1: ;
	return result0;
}

N_NIMCALL(void, processdynlib_jKmoKMEDrqu7QwmLJQdcDw)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Tsym_AXG7xcvKqaxY6koRX1xkCw* sym0) {
	{
		NIM_BOOL LOC3;
		Tlib_4f9aBgmqEuj7uWJdBBGcRgA* lib0;
		Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC7;
		LOC3 = (NIM_BOOL)0;
		LOC3 = (sym0 == NIM_NIL);
		if (LOC3) goto LA4;
		LOC3 = ((*sym0).kind == ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 6));
		LA4: ;
		if (!LOC3) goto LA5;
		LOC7 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0;
		LOC7 = expectdynlibnode_UxC2TwNzj8HsHWI0VDywWA_2(c0, n0);
		lib0 = getlib_EC34D3G6dVooBVvste5iNg(c0, ((Tlibkind_9b8v60kso59bBaw9cp8B9a9apKQ) 1), LOC7);
		{
			if (!!((*lib0).isoverriden)) goto LA10;
			asgnRef((void**) (&(*((Toptionentry_qo5G3Yn2oEcK3x1oAHGvpw*) ((*c0).optionstack.tail))).dynlib), lib0);
		}
		LA10: ;
	}
	goto LA1;
	LA5: ;
	{
		{
			Tlib_4f9aBgmqEuj7uWJdBBGcRgA* lib0;
			Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC17;
			if (!((*n0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 34))) goto LA15;
			LOC17 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0;
			LOC17 = expectdynlibnode_UxC2TwNzj8HsHWI0VDywWA_2(c0, n0);
			lib0 = getlib_EC34D3G6dVooBVvste5iNg(c0, ((Tlibkind_9b8v60kso59bBaw9cp8B9a9apKQ) 1), LOC17);
			{
				if (!!((*lib0).isoverriden)) goto LA20;
				addtolib_fs29bxogp5ghcutVCHnP6Ew(lib0, sym0);
				(*sym0).loc.flags |= ((NU16)1)<<((((Tlocflag_o2bqJgR4ceIupnUSpxiudA) 4))%(sizeof(NU16)*8));
			}
			LA20: ;
		}
		goto LA13;
		LA15: ;
		{
			(*sym0).loc.flags |= ((NU16)1)<<((((Tlocflag_o2bqJgR4ceIupnUSpxiudA) 5))%(sizeof(NU16)*8));
		}
		LA13: ;
		{
			NIM_BOOL LOC25;
			NIM_BOOL LOC26;
			LOC25 = (NIM_BOOL)0;
			LOC26 = (NIM_BOOL)0;
			LOC26 = ((258048 &(1U<<((NU)((*sym0).kind)&31U)))!=0);
			if (!(LOC26)) goto LA27;
			LOC26 = !(((*sym0).typ == NIM_NIL));
			LA27: ;
			LOC25 = LOC26;
			if (!(LOC25)) goto LA28;
			LOC25 = ((*(*sym0).typ).callconv == ((Tcallingconvention_yjAJ8w0h1PBaSwSGJ3P7IA) 0));
			LA28: ;
			if (!LOC25) goto LA29;
			(*(*sym0).typ).callconv = ((Tcallingconvention_yjAJ8w0h1PBaSwSGJ3P7IA) 2);
		}
		LA29: ;
	}
	LA1: ;
}

N_NIMCALL(void, markcompilerproc_OWuW5mNI1KdTf6xPdtYjxQ)(Tsym_AXG7xcvKqaxY6koRX1xkCw* s0) {
	{
		NIM_BOOL LOC3;
		LOC3 = (NIM_BOOL)0;
		LOC3 = !(((*s0).kind == ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 7)));
		if (LOC3) goto LA4;
		LOC3 = !(eqStrings((*(*s0).name).s, ((NimStringDesc*) &T_tPA3StZ6VsKyoznyrIfFxg_65)));
		LA4: ;
		if (!LOC3) goto LA5;
		makeexternexport_ArUjCco1swscu0pzCrHIeg(s0, ((NimStringDesc*) &T_tPA3StZ6VsKyoznyrIfFxg_57), (*s0).info);
	}
	LA5: ;
	(*s0).flags |= ((NU32)1)<<((((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 16))%(sizeof(NU32)*8));
	(*s0).flags |= ((NU32)1)<<((((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 0))%(sizeof(NU32)*8));
	registercompilerproc_VwcrAbk0QX1PjNu32L8ztQ(s0);
}

static N_INLINE(Tnode_bROa11lyF5vxEN9aYNbHmhw*, HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, NI i0) {
	Tnode_bROa11lyF5vxEN9aYNbHmhw* result0;
	result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0;
	result0 = (*n0).kindU.S6.sons->data[i0];
	return result0;
}

static N_INLINE(NI, len_CdME9baJhvveuPEDZE9bXoxAlambdalifting)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) {
	NI result0;
	result0 = (NI)0;
	{
		if (!((*n0).kindU.S6.sons == 0)) goto LA3;
		result0 = ((NI) 0);
	}
	goto LA1;
	LA3: ;
	{
		result0 = ((*n0).kindU.S6.sons ? (*n0).kindU.S6.sons->Sup.len : 0);
	}
	LA1: ;
	return result0;
}

N_NIMCALL(void, deprecatedstmt_sa0eOpPLsM4Mut3Dwi0kTQ)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* pragma_kLNkzDu51C3Od29cU0wx6pw) {
	Tnode_bROa11lyF5vxEN9aYNbHmhw* pragma0;
{	pragma0 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(pragma_kLNkzDu51C3Od29cU0wx6pw, ((NI) 1));
	{
		if (!!(((*pragma0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 41)))) goto LA3;
		localerror_GarD0CQJ5aQhoHekHYinVQ((*pragma0).info, ((NimStringDesc*) &T_tPA3StZ6VsKyoznyrIfFxg_66));
		goto BeforeRet;
	}
	LA3: ;
	{
		Tnode_bROa11lyF5vxEN9aYNbHmhw* n_GmRZl3kwJLr9blMH2FrQihA;
		n_GmRZl3kwJLr9blMH2FrQihA = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0;
		{
			NI i_FatJSgd9bBBkfbbNHFv4WOw;
			NI HEX3Atmp_17xpYJ08EtsEHd6WPTsDkw;
			NI LOC7;
			NI res_DNaNiFnzSoWoE1h0XXfIGg;
			i_FatJSgd9bBBkfbbNHFv4WOw = (NI)0;
			HEX3Atmp_17xpYJ08EtsEHd6WPTsDkw = (NI)0;
			LOC7 = (NI)0;
			LOC7 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(pragma0);
			HEX3Atmp_17xpYJ08EtsEHd6WPTsDkw = (LOC7 - 1);
			res_DNaNiFnzSoWoE1h0XXfIGg = ((NI) 0);
			{
				while (1) {
					if (!(res_DNaNiFnzSoWoE1h0XXfIGg <= HEX3Atmp_17xpYJ08EtsEHd6WPTsDkw)) goto LA9;
					i_FatJSgd9bBBkfbbNHFv4WOw = res_DNaNiFnzSoWoE1h0XXfIGg;
					n_GmRZl3kwJLr9blMH2FrQihA = (*pragma0).kindU.S6.sons->data[i_FatJSgd9bBBkfbbNHFv4WOw];
					{
						Tsym_AXG7xcvKqaxY6koRX1xkCw* dest0;
						Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC14;
						Tident_4umxGerWTHGPwUms7Yqu3g* src0;
						Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC15;
						Tsym_AXG7xcvKqaxY6koRX1xkCw* alias0;
						Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC16;
						if (!((*n_GmRZl3kwJLr9blMH2FrQihA).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 34) || (*n_GmRZl3kwJLr9blMH2FrQihA).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 33))) goto LA12;
						LOC14 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0;
						LOC14 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n_GmRZl3kwJLr9blMH2FrQihA, ((NI) 1));
						dest0 = qualifiedlookup_7VCOa78IcftaMpH9ctb8ifg(c0, LOC14, 2);
						LOC15 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0;
						LOC15 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n_GmRZl3kwJLr9blMH2FrQihA, ((NI) 0));
						src0 = considerquotedident_bi6H6x9cvavSxJocgYdA9bRw(LOC15);
						LOC16 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0;
						LOC16 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n_GmRZl3kwJLr9blMH2FrQihA, ((NI) 0));
						alias0 = newsym_2uJTpCZGZAi7a4eAm1ds8Q(((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 24), src0, dest0, (*LOC16).info);
						(*alias0).flags |= ((NU32)1)<<((((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 1))%(sizeof(NU32)*8));
						{
							if (!(((*dest0).flags &(1U<<((NU)(((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 16))&31U)))!=0)) goto LA19;
							markcompilerproc_OWuW5mNI1KdTf6xPdtYjxQ(alias0);
						}
						LA19: ;
						addinterfacedecl_n1KYyMdrfFhXnSjpmEHg9cA(c0, alias0);
						asgnRefNoCycle((void**) (&(*n_GmRZl3kwJLr9blMH2FrQihA).kindU.S6.sons->data[((NI) 1)]), newsymnode_1ARBpggFQuvUDBVYjBelcw(dest0));
					}
					goto LA10;
					LA12: ;
					{
						localerror_GarD0CQJ5aQhoHekHYinVQ((*n_GmRZl3kwJLr9blMH2FrQihA).info, ((NimStringDesc*) &T_tPA3StZ6VsKyoznyrIfFxg_67));
					}
					LA10: ;
					res_DNaNiFnzSoWoE1h0XXfIGg += ((NI) 1);
				} LA9: ;
			}
		}
	}
	}BeforeRet: ;
}

N_NIMCALL(void, typeborrow_tONwVa0fryV0gpokGUci5A)(Tsym_AXG7xcvKqaxY6koRX1xkCw* sym0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) {
	{
		Tnode_bROa11lyF5vxEN9aYNbHmhw* it0;
		if (!((*n0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 34))) goto LA3;
		it0 = (*n0).kindU.S6.sons->data[((NI) 1)];
		{
			if (!!(((*it0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 53)))) goto LA7;
			localerror_GarD0CQJ5aQhoHekHYinVQ((*n0).info, ((NimStringDesc*) &T_tPA3StZ6VsKyoznyrIfFxg_68));
		}
		LA7: ;
	}
	LA3: ;
	(*(*sym0).typ).flags |= ((NU32)1)<<((((Ttypeflag_x2m5g1NpbmDig4wLT3Ylhw) 27))%(sizeof(NU32)*8));
}

static N_INLINE(NIM_BOOL, isroutine_inD0Nq051matsjc6UjX88gparampatterns)(Tsym_AXG7xcvKqaxY6koRX1xkCw* s0) {
	NIM_BOOL result0;
	result0 = (NIM_BOOL)0;
	result0 = ((258048 &(1U<<((NU)((*s0).kind)&31U)))!=0);
	return result0;
}

N_NIMCALL(void, processdefine_UXDpD7j1oXkwccrqwm6OWg_4)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) {
	{
		NIM_BOOL LOC3;
		LOC3 = (NIM_BOOL)0;
		LOC3 = ((*n0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 34));
		if (!(LOC3)) goto LA4;
		LOC3 = ((*(*n0).kindU.S6.sons->data[((NI) 1)]).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 2));
		LA4: ;
		if (!LOC3) goto LA5;
		definesymbol_9aZwRQ421PtIIOO9cHOBczPA((*(*(*n0).kindU.S6.sons->data[((NI) 1)]).kindU.S5.ident).s, ((NimStringDesc*) &T_tPA3StZ6VsKyoznyrIfFxg_69));
		message_VpilfPWbplGz6ny7O9cfr2g_2((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 240), ((NimStringDesc*) &T_tPA3StZ6VsKyoznyrIfFxg_70));
	}
	goto LA1;
	LA5: ;
	{
		invalidpragma_4pFDaZSa9ahrvJKCrg4wQRA(n0);
	}
	LA1: ;
}

N_NIMCALL(void, processundef_UXDpD7j1oXkwccrqwm6OWg_5)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) {
	{
		NIM_BOOL LOC3;
		LOC3 = (NIM_BOOL)0;
		LOC3 = ((*n0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 34));
		if (!(LOC3)) goto LA4;
		LOC3 = ((*(*n0).kindU.S6.sons->data[((NI) 1)]).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 2));
		LA4: ;
		if (!LOC3) goto LA5;
		undefsymbol_A5AFbr8Omc1Bw39cFWCpEFg((*(*(*n0).kindU.S6.sons->data[((NI) 1)]).kindU.S5.ident).s);
		message_VpilfPWbplGz6ny7O9cfr2g_2((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 240), ((NimStringDesc*) &T_tPA3StZ6VsKyoznyrIfFxg_71));
	}
	goto LA1;
	LA5: ;
	{
		invalidpragma_4pFDaZSa9ahrvJKCrg4wQRA(n0);
	}
	LA1: ;
}

static N_INLINE(NIM_BOOL, fileexists_yTPrfdEKg9cKCeSFUA6popQoptions)(NimStringDesc* filename0) {
	NIM_BOOL result0;
	result0 = (NIM_BOOL)0;
	result0 = nosexistsFile(filename0);
	return result0;
}

N_NIMCALL(NimStringDesc*, relativefile_V45o56IUz9bCVuTYz8nPVfA)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, NimStringDesc* ext0) {
	NimStringDesc* result0;
	NimStringDesc* s0;
	NimStringDesc* LOC8;
	NimStringDesc* LOC9;
	result0 = (NimStringDesc*)0;
	s0 = expectstrlit_9bralhzAO9cpquvdHbAPb9cXA(c0, n0);
	{
		NIM_BOOL LOC3;
		TY_7q7q3E6Oj24ZNVJb9aonhAg LOC5;
		LOC3 = (NIM_BOOL)0;
		LOC3 = (((NI) 0) < (ext0 ? ext0->Sup.len : 0));
		if (!(LOC3)) goto LA4;
		memset((void*)(&LOC5), 0, sizeof(LOC5));
		nossplitFile(s0, (&LOC5));
		LOC3 = ((LOC5.Field2) && (LOC5.Field2)->Sup.len == 0);
		LA4: ;
		if (!LOC3) goto LA6;
		s0 = nosaddFileExt(s0, ext0);
	}
	LA6: ;
	LOC8 = (NimStringDesc*)0;
	LOC8 = tofullpath_7s19cb7WBgztz9aqEBzwwuqA((*n0).info.fileindex);
	LOC9 = (NimStringDesc*)0;
	LOC9 = nosparentDir(LOC8);
	result0 = HEX2F_BsTQv9c9anbxt9bKmR0aN1elQ(LOC9, s0);
	{
		NIM_BOOL LOC12;
		LOC12 = (NIM_BOOL)0;
		LOC12 = fileexists_yTPrfdEKg9cKCeSFUA6popQoptions(result0);
		if (!!(LOC12)) goto LA13;
		{
			NIM_BOOL LOC17;
			LOC17 = (NIM_BOOL)0;
			LOC17 = nosisAbsolute(s0);
			if (!LOC17) goto LA18;
			result0 = copyString(s0);
		}
		goto LA15;
		LA18: ;
		{
			result0 = findfile_W7hFr9aZfpEnC9cC0HBQdhCw(s0);
			{
				if (!((result0 ? result0->Sup.len : 0) == ((NI) 0))) goto LA23;
				result0 = copyString(s0);
			}
			LA23: ;
		}
		LA15: ;
	}
	LA13: ;
	return result0;
}

N_NIMCALL(void, processcompile_UXDpD7j1oXkwccrqwm6OWg_6)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) {
	NimStringDesc* found0;
	NimStringDesc* trunc0;
	NimStringDesc* LOC1;
	found0 = relativefile_V45o56IUz9bCVuTYz8nPVfA(c0, n0, ((NimStringDesc*) &T_tPA3StZ6VsKyoznyrIfFxg_61));
	trunc0 = noschangeFileExt(found0, ((NimStringDesc*) &T_tPA3StZ6VsKyoznyrIfFxg_61));
	addexternalfiletocompile_G7o9b9bElmZopBhp4bEuocuQ(found0);
	LOC1 = (NimStringDesc*)0;
	LOC1 = completecfilepath_mYCPQO1V869aZ4dfVrnvY3Q(trunc0, NIM_FALSE);
	addfiletolink_ojK8LYX6QYVglUGxXnhXUA(LOC1);
}

N_NIMCALL(void, processcommonlink_kAzhCS2jzG8JzZdV77Tp8w)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Tlinkfeature_L9bVS0B7EDUNBOaY2OuZvww feature0) {
	NimStringDesc* found0;
	found0 = relativefile_V45o56IUz9bCVuTYz8nPVfA(c0, n0, Cc_78I18QZNZFIv9ah7oETc0jg[(ccompiler_Dz9bRorQ2m6cBt9awpi4iwPw)- 1].Field1);
	switch (feature0) {
	case ((Tlinkfeature_L9bVS0B7EDUNBOaY2OuZvww) 0):
	{
		addfiletolink_ojK8LYX6QYVglUGxXnhXUA(found0);
	}
	break;
	case ((Tlinkfeature_L9bVS0B7EDUNBOaY2OuZvww) 1):
	{
		NimStringDesc* LOC3;
		NimStringDesc* LOC4;
		LOC3 = (NimStringDesc*)0;
		LOC3 = completecfilepath_mYCPQO1V869aZ4dfVrnvY3Q(found0, NIM_FALSE);
		LOC4 = (NimStringDesc*)0;
		LOC4 = HEX2F_BsTQv9c9anbxt9bKmR0aN1elQ(libpath_sniQ2ei4mGD9av6vrH9bfUgg, LOC3);
		addfiletolink_ojK8LYX6QYVglUGxXnhXUA(LOC4);
	}
	break;
	default:
	{
		internalerror_MXmtqrCmYwtOPkDCFgUWKQ((*n0).info, ((NimStringDesc*) &T_tPA3StZ6VsKyoznyrIfFxg_72));
	}
	break;
	}
}

N_NIMCALL(void, pragmabreakpoint_UXDpD7j1oXkwccrqwm6OWg_7)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) {
	NimStringDesc* LOC1;
	LOC1 = (NimStringDesc*)0;
	LOC1 = getoptionalstr_g4DDfIcYbV9an4RwdLCIPtg(c0, n0, ((NimStringDesc*) &T_tPA3StZ6VsKyoznyrIfFxg_61));
}

N_NIMCALL(void, pragmawatchpoint_UXDpD7j1oXkwccrqwm6OWg_8)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) {
	{
		if (!((*n0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 34))) goto LA3;
		asgnRefNoCycle((void**) (&(*n0).kindU.S6.sons->data[((NI) 1)]), (*c0).semexpr(c0, (*n0).kindU.S6.sons->data[((NI) 1)], 0));
	}
	goto LA1;
	LA3: ;
	{
		invalidpragma_4pFDaZSa9ahrvJKCrg4wQRA(n0);
	}
	LA1: ;
}

N_NIMCALL(void, onoff_IWinPfBiUID3qpD0VhmIfw)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Toption_WspMeQySXNP2XoTWR5MTgg_Set op0) {
	{
		NIM_BOOL LOC3;
		LOC3 = (NIM_BOOL)0;
		LOC3 = isturnedon_tWrv1JKw89aLhpSBOmGJddA(c0, n0);
		if (!LOC3) goto LA4;
		goptions_KL5B8sF4szIsM2AXCWFsIw = (goptions_KL5B8sF4szIsM2AXCWFsIw | op0);
	}
	goto LA1;
	LA4: ;
	{
		goptions_KL5B8sF4szIsM2AXCWFsIw = (goptions_KL5B8sF4szIsM2AXCWFsIw & ~ op0);
	}
	LA1: ;
}

N_NIMCALL(Tcallingconvention_yjAJ8w0h1PBaSwSGJ3P7IA, wordtocallconv_nMMYtqiohv9aTEha7rdj6Bw)(Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw sw0) {
	Tcallingconvention_yjAJ8w0h1PBaSwSGJ3P7IA result0;
	result0 = (Tcallingconvention_yjAJ8w0h1PBaSwSGJ3P7IA)0;
	result0 = ((Tcallingconvention_yjAJ8w0h1PBaSwSGJ3P7IA) ((NI)(((NI) ((NI)(((NI) 0) + ((NI) (sw0))))) - ((NI) 134))));
	return result0;
}

N_NIMCALL(void, processcallconv_UXDpD7j1oXkwccrqwm6OWg_9)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) {
	{
		NIM_BOOL LOC3;
		Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw sw0;
		LOC3 = (NIM_BOOL)0;
		LOC3 = ((*n0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 34));
		if (!(LOC3)) goto LA4;
		LOC3 = ((*(*n0).kindU.S6.sons->data[((NI) 1)]).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 2));
		LA4: ;
		if (!LOC3) goto LA5;
		sw0 = whichkeyword_WhYAAh6vF1PoyH6Hsspu4Q((*(*n0).kindU.S6.sons->data[((NI) 1)]).kindU.S5.ident);
		switch (sw0) {
		case ((Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw) 134) ... ((Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw) 143):
		{
			(*((Toptionentry_qo5G3Yn2oEcK3x1oAHGvpw*) ((*c0).optionstack.tail))).defaultcc = wordtocallconv_nMMYtqiohv9aTEha7rdj6Bw(sw0);
		}
		break;
		default:
		{
			localerror_VpilfPWbplGz6ny7O9cfr2g((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 103), ((NimStringDesc*) &T_tPA3StZ6VsKyoznyrIfFxg_61));
		}
		break;
		}
	}
	goto LA1;
	LA5: ;
	{
		localerror_VpilfPWbplGz6ny7O9cfr2g((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 103), ((NimStringDesc*) &T_tPA3StZ6VsKyoznyrIfFxg_61));
	}
	LA1: ;
}

N_NIMCALL(NIM_BOOL, processoption_tWrv1JKw89aLhpSBOmGJddA_2)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) {
	NIM_BOOL result0;
	result0 = (NIM_BOOL)0;
	{
		if (!!(((*n0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 34)))) goto LA3;
		result0 = NIM_TRUE;
	}
	goto LA1;
	LA3: ;
	{
		if (!((*(*n0).kindU.S6.sons->data[((NI) 0)]).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 42))) goto LA6;
		processnote_UXDpD7j1oXkwccrqwm6OWg(c0, n0);
	}
	goto LA1;
	LA6: ;
	{
		if (!!(((*(*n0).kindU.S6.sons->data[((NI) 0)]).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 2)))) goto LA9;
		result0 = NIM_TRUE;
	}
	goto LA1;
	LA9: ;
	{
		Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw sw0;
		sw0 = whichkeyword_WhYAAh6vF1PoyH6Hsspu4Q((*(*n0).kindU.S6.sons->data[((NI) 0)]).kindU.S5.ident);
		switch (sw0) {
		case ((Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw) 146):
		{
			onoff_IWinPfBiUID3qpD0VhmIfw(c0, n0, 1022);
		}
		break;
		case ((Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw) 83):
		{
			onoff_IWinPfBiUID3qpD0VhmIfw(c0, n0, 2);
		}
		break;
		case ((Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw) 176):
		{
			onoff_IWinPfBiUID3qpD0VhmIfw(c0, n0, 4);
		}
		break;
		case ((Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw) 147):
		{
			onoff_IWinPfBiUID3qpD0VhmIfw(c0, n0, 8);
		}
		break;
		case ((Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw) 148):
		{
			onoff_IWinPfBiUID3qpD0VhmIfw(c0, n0, 16);
		}
		break;
		case ((Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw) 149):
		{
			onoff_IWinPfBiUID3qpD0VhmIfw(c0, n0, 32);
		}
		break;
		case ((Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw) 150):
		{
			onoff_IWinPfBiUID3qpD0VhmIfw(c0, n0, 64);
		}
		break;
		case ((Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw) 151):
		{
			onoff_IWinPfBiUID3qpD0VhmIfw(c0, n0, 384);
		}
		break;
		case ((Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw) 152):
		{
			onoff_IWinPfBiUID3qpD0VhmIfw(c0, n0, 128);
		}
		break;
		case ((Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw) 153):
		{
			onoff_IWinPfBiUID3qpD0VhmIfw(c0, n0, 256);
		}
		break;
		case ((Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw) 154):
		{
			onoff_IWinPfBiUID3qpD0VhmIfw(c0, n0, 512);
		}
		break;
		case ((Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw) 156):
		{
			onoff_IWinPfBiUID3qpD0VhmIfw(c0, n0, 2048);
		}
		break;
		case ((Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw) 157):
		{
			onoff_IWinPfBiUID3qpD0VhmIfw(c0, n0, 4096);
		}
		break;
		case ((Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw) 131):
		{
			processcallconv_UXDpD7j1oXkwccrqwm6OWg_9(c0, n0);
		}
		break;
		case ((Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw) 123):
		{
			onoff_IWinPfBiUID3qpD0VhmIfw(c0, n0, 1024);
		}
		break;
		case ((Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw) 124):
		{
			onoff_IWinPfBiUID3qpD0VhmIfw(c0, n0, 32768);
		}
		break;
		case ((Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw) 125):
		{
			onoff_IWinPfBiUID3qpD0VhmIfw(c0, n0, 65536);
		}
		break;
		case ((Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw) 133):
		{
			onoff_IWinPfBiUID3qpD0VhmIfw(c0, n0, 131072);
		}
		break;
		case ((Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw) 81):
		{
			onoff_IWinPfBiUID3qpD0VhmIfw(c0, n0, 4718592);
		}
		break;
		case ((Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw) 82):
		{
			onoff_IWinPfBiUID3qpD0VhmIfw(c0, n0, 4194304);
		}
		break;
		case ((Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw) 262):
		{
			onoff_IWinPfBiUID3qpD0VhmIfw(c0, n0, 262144);
		}
		break;
		case ((Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw) 110):
		{
			processdynlib_jKmoKMEDrqu7QwmLJQdcDw(c0, n0, NIM_NIL);
		}
		break;
		case ((Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw) 158):
		{
			{
				if (!!(((*(*n0).kindU.S6.sons->data[((NI) 1)]).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 2)))) goto LA37;
				invalidpragma_4pFDaZSa9ahrvJKCrg4wQRA(n0);
			}
			goto LA35;
			LA37: ;
			{
				NimStringDesc* LOC40;
				LOC40 = (NimStringDesc*)0;
				LOC40 = nsuNormalize((*(*(*n0).kindU.S6.sons->data[((NI) 1)]).kindU.S5.ident).s);
				if (eqStrings(LOC40, ((NimStringDesc*) &T_tPA3StZ6VsKyoznyrIfFxg_74))) goto LA41;
				if (eqStrings(LOC40, ((NimStringDesc*) &T_tPA3StZ6VsKyoznyrIfFxg_75))) goto LA42;
				if (eqStrings(LOC40, ((NimStringDesc*) &T_tPA3StZ6VsKyoznyrIfFxg_76))) goto LA43;
				goto LA44;
				LA41: ;
				{
					goptions_KL5B8sF4szIsM2AXCWFsIw |= ((NU32)1)<<((((Toption_WspMeQySXNP2XoTWR5MTgg) 13))%(sizeof(NU32)*8));
					goptions_KL5B8sF4szIsM2AXCWFsIw &= ~(((NU32)1) << ((((Toption_WspMeQySXNP2XoTWR5MTgg) 14)) % (sizeof(NU32)*8)));
				}
				goto LA45;
				LA42: ;
				{
					goptions_KL5B8sF4szIsM2AXCWFsIw &= ~(((NU32)1) << ((((Toption_WspMeQySXNP2XoTWR5MTgg) 13)) % (sizeof(NU32)*8)));
					goptions_KL5B8sF4szIsM2AXCWFsIw |= ((NU32)1)<<((((Toption_WspMeQySXNP2XoTWR5MTgg) 14))%(sizeof(NU32)*8));
				}
				goto LA45;
				LA43: ;
				{
					goptions_KL5B8sF4szIsM2AXCWFsIw &= ~(((NU32)1) << ((((Toption_WspMeQySXNP2XoTWR5MTgg) 13)) % (sizeof(NU32)*8)));
					goptions_KL5B8sF4szIsM2AXCWFsIw &= ~(((NU32)1) << ((((Toption_WspMeQySXNP2XoTWR5MTgg) 14)) % (sizeof(NU32)*8)));
				}
				goto LA45;
				LA44: ;
				{
					localerror_VpilfPWbplGz6ny7O9cfr2g((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 28), ((NimStringDesc*) &T_tPA3StZ6VsKyoznyrIfFxg_61));
				}
				LA45: ;
			}
			LA35: ;
		}
		break;
		case ((Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw) 194):
		{
			onoff_IWinPfBiUID3qpD0VhmIfw(c0, n0, 1048576);
		}
		break;
		case ((Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw) 155):
		{
			onoff_IWinPfBiUID3qpD0VhmIfw(c0, n0, 2097152);
		}
		break;
		default:
		{
			result0 = NIM_TRUE;
		}
		break;
		}
	}
	LA1: ;
	return result0;
}

N_NIMCALL(void, processpush_vuscCG0g0Zt0z0SzJqrmIw)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, NI start0) {
	Toptionentry_qo5G3Yn2oEcK3x1oAHGvpw* x0;
	Toptionentry_qo5G3Yn2oEcK3x1oAHGvpw* y0;
	Tlistentry_U4JkVlrJQaACKZ9a9cwCla3Q* LOC5;
	{
		if (!((*(*n0).kindU.S6.sons->data[(NI)(start0 - ((NI) 1))]).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 34))) goto LA3;
		localerror_VpilfPWbplGz6ny7O9cfr2g((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 4), ((NimStringDesc*) &T_tPA3StZ6VsKyoznyrIfFxg_73));
	}
	LA3: ;
	x0 = newoptionentry_XojK9bG3thkFuihLRUoFlkg();
	y0 = ((Toptionentry_qo5G3Yn2oEcK3x1oAHGvpw*) ((*c0).optionstack.tail));
	(*x0).options = goptions_KL5B8sF4szIsM2AXCWFsIw;
	(*x0).defaultcc = (*y0).defaultcc;
	asgnRef((void**) (&(*x0).dynlib), (*y0).dynlib);
	(*x0).notes = gnotes_ra0BBMaJz6cOxn1JA3c6Bg;
	LOC5 = (Tlistentry_U4JkVlrJQaACKZ9a9cwCla3Q*)0;
	LOC5 = &x0->Sup;
	append_OHo5UGptcxVKInJo6EIoMg_4((&(*c0).optionstack), LOC5);
	{
		NI i_dy2Z8r3ocFNJT70u5G4S9bg;
		NI HEX3Atmp_X3HZDd0X2iBep9aRbbpDYAQ;
		NI LOC7;
		NI res_W572ANqUBwlrBAtskqKRzg;
		i_dy2Z8r3ocFNJT70u5G4S9bg = (NI)0;
		HEX3Atmp_X3HZDd0X2iBep9aRbbpDYAQ = (NI)0;
		LOC7 = (NI)0;
		LOC7 = sonslen_qPWPHw7WgJeEVYUdcaRIig(n0);
		HEX3Atmp_X3HZDd0X2iBep9aRbbpDYAQ = (NI)(LOC7 - ((NI) 1));
		res_W572ANqUBwlrBAtskqKRzg = start0;
		{
			while (1) {
				if (!(res_W572ANqUBwlrBAtskqKRzg <= HEX3Atmp_X3HZDd0X2iBep9aRbbpDYAQ)) goto LA9;
				i_dy2Z8r3ocFNJT70u5G4S9bg = res_W572ANqUBwlrBAtskqKRzg;
				{
					NIM_BOOL LOC12;
					LOC12 = (NIM_BOOL)0;
					LOC12 = processoption_tWrv1JKw89aLhpSBOmGJddA_2(c0, (*n0).kindU.S6.sons->data[i_dy2Z8r3ocFNJT70u5G4S9bg]);
					if (!LOC12) goto LA13;
					{
						if (!((*x0).otherpragmas == 0)) goto LA17;
						asgnRefNoCycle((void**) (&(*x0).otherpragmas), newnodei_PIqgSH9b0m7nFpOyXf9cpz5w(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 90), (*n0).info));
					}
					LA17: ;
					add_gCCf68XrWL79bKes6htzFjQ_3((*x0).otherpragmas, (*n0).kindU.S6.sons->data[i_dy2Z8r3ocFNJT70u5G4S9bg]);
				}
				LA13: ;
				res_W572ANqUBwlrBAtskqKRzg += ((NI) 1);
			} LA9: ;
		}
	}
}

N_NIMCALL(void, processpop_UXDpD7j1oXkwccrqwm6OWg_10)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) {
	{
		if (!((*c0).optionstack.counter <= ((NI) 1))) goto LA3;
		localerror_VpilfPWbplGz6ny7O9cfr2g((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 32), ((NimStringDesc*) &T_tPA3StZ6VsKyoznyrIfFxg_61));
	}
	goto LA1;
	LA3: ;
	{
		goptions_KL5B8sF4szIsM2AXCWFsIw = (*((Toptionentry_qo5G3Yn2oEcK3x1oAHGvpw*) ((*c0).optionstack.tail))).options;
		gnotes_ra0BBMaJz6cOxn1JA3c6Bg = (*((Toptionentry_qo5G3Yn2oEcK3x1oAHGvpw*) ((*c0).optionstack.tail))).notes;
		remove_OHo5UGptcxVKInJo6EIoMg_2((&(*c0).optionstack), (*c0).optionstack.tail);
	}
	LA1: ;
}

N_NIMCALL(void, processpragma_P029aiZiO8MVMDswxq4H1Cw)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, NI i0) {
	Tnode_bROa11lyF5vxEN9aYNbHmhw* it0;
	Tsym_AXG7xcvKqaxY6koRX1xkCw* userpragma0;
	Tnode_bROa11lyF5vxEN9aYNbHmhw* body0;
	it0 = (*n0).kindU.S6.sons->data[i0];
	{
		if (!!(((*it0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 34)))) goto LA3;
		invalidpragma_4pFDaZSa9ahrvJKCrg4wQRA(n0);
	}
	goto LA1;
	LA3: ;
	{
		if (!!(((*(*it0).kindU.S6.sons->data[((NI) 0)]).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 2)))) goto LA6;
		invalidpragma_4pFDaZSa9ahrvJKCrg4wQRA(n0);
	}
	goto LA1;
	LA6: ;
	{
		if (!!(((*(*it0).kindU.S6.sons->data[((NI) 1)]).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 2)))) goto LA9;
		invalidpragma_4pFDaZSa9ahrvJKCrg4wQRA(n0);
	}
	goto LA1;
	LA9: ;
	LA1: ;
	userpragma0 = newsym_2uJTpCZGZAi7a4eAm1ds8Q(((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 17), (*(*it0).kindU.S6.sons->data[((NI) 1)]).kindU.S5.ident, NIM_NIL, (*it0).info);
	body0 = newnodei_PIqgSH9b0m7nFpOyXf9cpz5w(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 90), (*n0).info);
	{
		NI j_OMCi9bCeLJOtunygkW6FZNg;
		NI HEX3Atmp_tFTN1oqABNqvQNLX63DxZw;
		NI HEX3Atmp_tFTN1oqABNqvQNLX63DxZw_2;
		NI LOC12;
		NI res_9cMcynFPKf8v1tfaqO9bJ9c7Q;
		j_OMCi9bCeLJOtunygkW6FZNg = (NI)0;
		HEX3Atmp_tFTN1oqABNqvQNLX63DxZw = (NI)0;
		HEX3Atmp_tFTN1oqABNqvQNLX63DxZw_2 = (NI)0;
		HEX3Atmp_tFTN1oqABNqvQNLX63DxZw = (NI)(i0 + ((NI) 1));
		LOC12 = (NI)0;
		LOC12 = sonslen_qPWPHw7WgJeEVYUdcaRIig(n0);
		HEX3Atmp_tFTN1oqABNqvQNLX63DxZw_2 = (NI)(LOC12 - ((NI) 1));
		res_9cMcynFPKf8v1tfaqO9bJ9c7Q = HEX3Atmp_tFTN1oqABNqvQNLX63DxZw;
		{
			while (1) {
				if (!(res_9cMcynFPKf8v1tfaqO9bJ9c7Q <= HEX3Atmp_tFTN1oqABNqvQNLX63DxZw_2)) goto LA14;
				j_OMCi9bCeLJOtunygkW6FZNg = res_9cMcynFPKf8v1tfaqO9bJ9c7Q;
				addson_gCCf68XrWL79bKes6htzFjQ(body0, (*n0).kindU.S6.sons->data[j_OMCi9bCeLJOtunygkW6FZNg]);
				res_9cMcynFPKf8v1tfaqO9bJ9c7Q += ((NI) 1);
			} LA14: ;
		}
	}
	asgnRefNoCycle((void**) (&(*userpragma0).ast), body0);
	strtableadd_Tcb9aDxXz9ch8cAXKFCMrlbA((&(*c0).userpragmas), userpragma0);
}

N_NIMCALL(void, processcodegendecl_jKmoKMEDrqu7QwmLJQdcDw_2)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Tsym_AXG7xcvKqaxY6koRX1xkCw* sym0) {
	asgnRefNoCycle((void**) (&(*sym0).constraint), getstrlitnode_UxC2TwNzj8HsHWI0VDywWA(c0, n0));
}

N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semasmoremit_tiG8Ac9cad9bFkIVsa5UVeKQ)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* con0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, NIM_CHAR marker0) {
	Tnode_bROa11lyF5vxEN9aYNbHmhw* result0;
{	result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0;
	switch ((*(*n0).kindU.S6.sons->data[((NI) 1)]).kind) {
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 20):
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 21):
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 22):
	{
		Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw LOC2;
		TY_ehmV9bTklH2Gt9cXHV9c0HLeQ* LOC8;
		NimStringDesc* str0;
		NI a0;
		LOC2 = (Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw)0;
		{
			if (!((*n0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 89))) goto LA5;
			LOC2 = ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 89);
		}
		goto LA3;
		LA5: ;
		{
			LOC2 = ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 152);
		}
		LA3: ;
		LOC8 = (TY_ehmV9bTklH2Gt9cXHV9c0HLeQ*)0;
		LOC8 = (TY_ehmV9bTklH2Gt9cXHV9c0HLeQ*) newSeq((&NTI_ehmV9bTklH2Gt9cXHV9c0HLeQ), 0);
		result0 = newnode_o9aHrUvOCIeQhfywzvo7yOA(LOC2, (*n0).info, LOC8, NIM_NIL);
		str0 = copyString((*(*n0).kindU.S6.sons->data[((NI) 1)]).kindU.S3.strval);
		{
			if (!((str0) && (str0)->Sup.len == 0)) goto LA11;
			localerror_VpilfPWbplGz6ny7O9cfr2g((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 33), ((NimStringDesc*) &T_tPA3StZ6VsKyoznyrIfFxg_61));
			goto BeforeRet;
		}
		LA11: ;
		a0 = ((NI) 0);
		{
			while (1) {
				NI b0;
				NimStringDesc* sub0;
				NI c0;
				b0 = nsuFindChar(str0, marker0, ((NI) (a0)));
				{
					if (!(b0 < ((NI) 0))) goto LA17;
					sub0 = copyStr(str0, a0);
				}
				goto LA15;
				LA17: ;
				{
					sub0 = copyStrLast(str0, a0, (NI)(b0 - ((NI) 1)));
				}
				LA15: ;
				{
					Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC24;
					if (!!(((sub0) && (sub0)->Sup.len == 0))) goto LA22;
					LOC24 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0;
					LOC24 = newstrnode_8GaTnuPqpzGLNcerzDOURQ(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 20), sub0);
					addson_gCCf68XrWL79bKes6htzFjQ(result0, LOC24);
				}
				LA22: ;
				{
					if (!(b0 < ((NI) 0))) goto LA27;
					goto LA13;
				}
				LA27: ;
				c0 = nsuFindChar(str0, marker0, ((NI) ((NI)(b0 + ((NI) 1)))));
				{
					if (!(c0 < ((NI) 0))) goto LA31;
					sub0 = copyStr(str0, (NI)(b0 + ((NI) 1)));
				}
				goto LA29;
				LA31: ;
				{
					sub0 = copyStrLast(str0, (NI)(b0 + ((NI) 1)), (NI)(c0 - ((NI) 1)));
				}
				LA29: ;
				{
					Tsym_AXG7xcvKqaxY6koRX1xkCw* e0;
					Tident_4umxGerWTHGPwUms7Yqu3g* LOC38;
					if (!!(((sub0) && (sub0)->Sup.len == 0))) goto LA36;
					LOC38 = (Tident_4umxGerWTHGPwUms7Yqu3g*)0;
					LOC38 = getident_oH8GBf4tG3b1F5BIuNPwtA(sub0);
					e0 = searchinscopes_QSW6N9asb3CJMR79bV8BqwHw(con0, LOC38);
					{
						Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC47;
						if (!!((e0 == NIM_NIL))) goto LA41;
						{
							if (!((*e0).kind == ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 22))) goto LA45;
							loadstub_8lqBRdz0Xc1mefqrmXA9ceg(e0);
						}
						LA45: ;
						(*e0).flags |= ((NU32)1)<<((((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 0))%(sizeof(NU32)*8));
						LOC47 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0;
						LOC47 = newsymnode_1ARBpggFQuvUDBVYjBelcw(e0);
						addson_gCCf68XrWL79bKes6htzFjQ(result0, LOC47);
					}
					goto LA39;
					LA41: ;
					{
						Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC49;
						LOC49 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0;
						LOC49 = newstrnode_8GaTnuPqpzGLNcerzDOURQ(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 20), sub0);
						addson_gCCf68XrWL79bKes6htzFjQ(result0, LOC49);
					}
					LA39: ;
				}
				goto LA34;
				LA36: ;
				{
					NimStringDesc* LOC51;
					Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC52;
					LOC51 = (NimStringDesc*)0;
					LOC51 = nimCharToStr(marker0);
					LOC52 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0;
					LOC52 = newstrnode_8GaTnuPqpzGLNcerzDOURQ(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 20), LOC51);
					addson_gCCf68XrWL79bKes6htzFjQ(result0, LOC52);
				}
				LA34: ;
				{
					if (!(c0 < ((NI) 0))) goto LA55;
					goto LA13;
				}
				LA55: ;
				a0 = (NI)(c0 + ((NI) 1));
			}
		} LA13: ;
	}
	break;
	default:
	{
		TY_ehmV9bTklH2Gt9cXHV9c0HLeQ* LOC58;
		illformedastlocal_DpsImAn3UbwOKcZFm2pVSg_2(n0);
		LOC58 = (TY_ehmV9bTklH2Gt9cXHV9c0HLeQ*)0;
		LOC58 = (TY_ehmV9bTklH2Gt9cXHV9c0HLeQ*) newSeq((&NTI_ehmV9bTklH2Gt9cXHV9c0HLeQ), 0);
		result0 = newnode_o9aHrUvOCIeQhfywzvo7yOA(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 89), (*n0).info, LOC58, NIM_NIL);
	}
	break;
	}
	}BeforeRet: ;
	return result0;
}

N_NIMCALL(void, pragmaemit_UXDpD7j1oXkwccrqwm6OWg_11)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) {
	{
		if (!!(((*n0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 34)))) goto LA3;
		localerror_VpilfPWbplGz6ny7O9cfr2g((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 6), ((NimStringDesc*) &T_tPA3StZ6VsKyoznyrIfFxg_61));
	}
	goto LA1;
	LA3: ;
	{
		Tnode_bROa11lyF5vxEN9aYNbHmhw* n10;
		n10 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n0, ((NI) 1));
		{
			Tnode_bROa11lyF5vxEN9aYNbHmhw* b0;
			NI LOC10;
			if (!((*n10).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 41))) goto LA8;
			LOC10 = (NI)0;
			LOC10 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(n10);
			b0 = newnodei_jIQp9ciM8if1a6TX6toZelw(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 41), (*n10).info, LOC10);
			{
				NI i_yGWgs7oCv8ieVMFdkSNbTg;
				NI HEX3Atmp_6mwFSAT9bYxe2sDGv9bRy6WA;
				NI i_yGWgs7oCv8ieVMFdkSNbTg_2;
				i_yGWgs7oCv8ieVMFdkSNbTg = (NI)0;
				HEX3Atmp_6mwFSAT9bYxe2sDGv9bRy6WA = (NI)0;
				HEX3Atmp_6mwFSAT9bYxe2sDGv9bRy6WA = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(n10);
				i_yGWgs7oCv8ieVMFdkSNbTg_2 = ((NI) 0);
				{
					while (1) {
						Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC14;
						if (!(i_yGWgs7oCv8ieVMFdkSNbTg_2 < HEX3Atmp_6mwFSAT9bYxe2sDGv9bRy6WA)) goto LA13;
						i_yGWgs7oCv8ieVMFdkSNbTg = i_yGWgs7oCv8ieVMFdkSNbTg_2;
						LOC14 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0;
						LOC14 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n10, i_yGWgs7oCv8ieVMFdkSNbTg);
						asgnRefNoCycle((void**) (&(*b0).kindU.S6.sons->data[i_yGWgs7oCv8ieVMFdkSNbTg]), (*c0).semexpr(c0, LOC14, 0));
						i_yGWgs7oCv8ieVMFdkSNbTg_2 += ((NI) 1);
					} LA13: ;
				}
			}
			asgnRefNoCycle((void**) (&(*n0).kindU.S6.sons->data[((NI) 1)]), b0);
		}
		goto LA6;
		LA8: ;
		{
			asgnRefNoCycle((void**) (&(*n0).kindU.S6.sons->data[((NI) 1)]), (*c0).semconstexpr(c0, n10));
			switch ((*(*n0).kindU.S6.sons->data[((NI) 1)]).kind) {
			case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 20):
			case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 21):
			case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 22):
			{
				asgnRefNoCycle((void**) (&(*n0).kindU.S6.sons->data[((NI) 1)]), semasmoremit_tiG8Ac9cad9bFkIVsa5UVeKQ(c0, n0, 96));
			}
			break;
			default:
			{
				localerror_VpilfPWbplGz6ny7O9cfr2g((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 6), ((NimStringDesc*) &T_tPA3StZ6VsKyoznyrIfFxg_61));
			}
			break;
			}
		}
		LA6: ;
	}
	LA1: ;
}

N_NIMCALL(void, pragmaunroll_UXDpD7j1oXkwccrqwm6OWg_12)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) {
	{
		if (!((*(*c0).p).nestedloopcounter <= ((NI) 0))) goto LA3;
		invalidpragma_4pFDaZSa9ahrvJKCrg4wQRA(n0);
	}
	goto LA1;
	LA3: ;
	{
		NI unrollfactor0;
		if (!((*n0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 34))) goto LA6;
		unrollfactor0 = expectintlit_oGSdgrTkve6aV2AshvC0og(c0, n0);
		{
			if (!((NU64)(unrollfactor0) < (NU64)(((NI) 32)))) goto LA10;
			asgnRefNoCycle((void**) (&(*n0).kindU.S6.sons->data[((NI) 1)]), newintnode_v2VGJAZNfKPVngZCqEXQtA(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 6), ((NI64) (unrollfactor0))));
		}
		goto LA8;
		LA10: ;
		{
			invalidpragma_4pFDaZSa9ahrvJKCrg4wQRA(n0);
		}
		LA8: ;
	}
	goto LA1;
	LA6: ;
	LA1: ;
}

N_NIMCALL(void, pragmaline_UXDpD7j1oXkwccrqwm6OWg_13)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) {
	{
		Tnode_bROa11lyF5vxEN9aYNbHmhw* a0;
		if (!((*n0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 34))) goto LA3;
		asgnRefNoCycle((void**) (&(*n0).kindU.S6.sons->data[((NI) 1)]), (*c0).semconstexpr(c0, (*n0).kindU.S6.sons->data[((NI) 1)]));
		a0 = (*n0).kindU.S6.sons->data[((NI) 1)];
		{
			Tnode_bROa11lyF5vxEN9aYNbHmhw* x0;
			Tnode_bROa11lyF5vxEN9aYNbHmhw* y0;
			if (!((*a0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 37))) goto LA7;
			x0 = (*a0).kindU.S6.sons->data[((NI) 0)];
			y0 = (*a0).kindU.S6.sons->data[((NI) 1)];
			{
				if (!((*x0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 34))) goto LA11;
				x0 = (*x0).kindU.S6.sons->data[((NI) 1)];
			}
			LA11: ;
			{
				if (!((*y0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 34))) goto LA15;
				y0 = (*y0).kindU.S6.sons->data[((NI) 1)];
			}
			LA15: ;
			{
				if (!!(((*x0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 20)))) goto LA19;
				localerror_VpilfPWbplGz6ny7O9cfr2g((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 6), ((NimStringDesc*) &T_tPA3StZ6VsKyoznyrIfFxg_61));
			}
			goto LA17;
			LA19: ;
			{
				if (!!(((*y0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 6)))) goto LA22;
				localerror_VpilfPWbplGz6ny7O9cfr2g((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 7), ((NimStringDesc*) &T_tPA3StZ6VsKyoznyrIfFxg_61));
			}
			goto LA17;
			LA22: ;
			{
				(*n0).info.fileindex = fileinfoidx_RXxXBoV2drjjVnQa9abo19cQ((*x0).kindU.S3.strval);
				(*n0).info.line = ((NI16) ((*y0).kindU.S1.intval));
			}
			LA17: ;
		}
		goto LA5;
		LA7: ;
		{
			localerror_VpilfPWbplGz6ny7O9cfr2g((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 192), ((NimStringDesc*) &T_tPA3StZ6VsKyoznyrIfFxg_77));
		}
		LA5: ;
	}
	goto LA1;
	LA3: ;
	{
		(*n0).info = getinfocontext_dGOV06h8ZBXswh1nR1J9bmQ(((NI) -1));
	}
	LA1: ;
}

N_NIMCALL(void, processexc_J7xj2i2DFE3ebeR7CXegUA)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* x0) {
	Ttype_LTUWCZolpovw9cWE3JBWSUw* t0;
	Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC1;
	LOC1 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0;
	LOC1 = (*c0).semtypenode(c0, x0, NIM_NIL);
	t0 = skiptypes_pLCdCGDuirMe9cspwviV9aVA(LOC1, 14682384);
	{
		if (!!(((*t0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 17)))) goto LA4;
		localerror_VpilfPWbplGz6ny7O9cfr2g((*x0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 4), ((NimStringDesc*) &T_tPA3StZ6VsKyoznyrIfFxg_78));
	}
	LA4: ;
	asgnRefNoCycle((void**) (&(*x0).typ), t0);
}

N_NIMCALL(void, pragmaraisesortags_UXDpD7j1oXkwccrqwm6OWg_14)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) {
	{
		Tnode_bROa11lyF5vxEN9aYNbHmhw* it0;
		if (!((*n0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 34))) goto LA3;
		it0 = (*n0).kindU.S6.sons->data[((NI) 1)];
		{
			if (!!(((*it0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 39) || (*it0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 41)))) goto LA7;
			processexc_J7xj2i2DFE3ebeR7CXegUA(c0, it0);
		}
		goto LA5;
		LA7: ;
		{
			{
				Tnode_bROa11lyF5vxEN9aYNbHmhw* e_kSPAX9aF0LCgYr5V8gp9co4Q;
				e_kSPAX9aF0LCgYr5V8gp9co4Q = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0;
				{
					NI i_s69b6G6ufrkZXMznWXvEmHw;
					NI HEX3Atmp_XliT3krf9cCI0Uo7WbDXQBg;
					NI LOC12;
					NI res_F2bnT9bCV9cJyNkDJBZRnV7w;
					i_s69b6G6ufrkZXMznWXvEmHw = (NI)0;
					HEX3Atmp_XliT3krf9cCI0Uo7WbDXQBg = (NI)0;
					LOC12 = (NI)0;
					LOC12 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(it0);
					HEX3Atmp_XliT3krf9cCI0Uo7WbDXQBg = (LOC12 - 1);
					res_F2bnT9bCV9cJyNkDJBZRnV7w = ((NI) 0);
					{
						while (1) {
							if (!(res_F2bnT9bCV9cJyNkDJBZRnV7w <= HEX3Atmp_XliT3krf9cCI0Uo7WbDXQBg)) goto LA14;
							i_s69b6G6ufrkZXMznWXvEmHw = res_F2bnT9bCV9cJyNkDJBZRnV7w;
							e_kSPAX9aF0LCgYr5V8gp9co4Q = (*it0).kindU.S6.sons->data[i_s69b6G6ufrkZXMznWXvEmHw];
							processexc_J7xj2i2DFE3ebeR7CXegUA(c0, e_kSPAX9aF0LCgYr5V8gp9co4Q);
							res_F2bnT9bCV9cJyNkDJBZRnV7w += ((NI) 1);
						} LA14: ;
					}
				}
			}
		}
		LA5: ;
	}
	goto LA1;
	LA3: ;
	{
		invalidpragma_4pFDaZSa9ahrvJKCrg4wQRA(n0);
	}
	LA1: ;
}

N_NIMCALL(void, pragmalockstmt_v3Bylf6ILQW89alXyLTPr6A)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* it0) {
	{
		if (!!(((*it0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 34)))) goto LA3;
		invalidpragma_4pFDaZSa9ahrvJKCrg4wQRA(it0);
	}
	goto LA1;
	LA3: ;
	{
		Tnode_bROa11lyF5vxEN9aYNbHmhw* n0;
		n0 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(it0, ((NI) 1));
		{
			if (!!(((*n0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 41)))) goto LA8;
			localerror_VpilfPWbplGz6ny7O9cfr2g((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 4), ((NimStringDesc*) &T_tPA3StZ6VsKyoznyrIfFxg_79));
		}
		goto LA6;
		LA8: ;
		{
			{
				NI i_5ytg9bhChnOyfQKVXiPWPmA;
				NI HEX3Atmp_Y9c9bJE89cdUKqezhs2PkPFNQ;
				NI LOC12;
				NI res_JYcf0LTFNRpQmWQ3JOauMg;
				i_5ytg9bhChnOyfQKVXiPWPmA = (NI)0;
				HEX3Atmp_Y9c9bJE89cdUKqezhs2PkPFNQ = (NI)0;
				LOC12 = (NI)0;
				LOC12 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(n0);
				HEX3Atmp_Y9c9bJE89cdUKqezhs2PkPFNQ = (LOC12 - 1);
				res_JYcf0LTFNRpQmWQ3JOauMg = ((NI) 0);
				{
					while (1) {
						if (!(res_JYcf0LTFNRpQmWQ3JOauMg <= HEX3Atmp_Y9c9bJE89cdUKqezhs2PkPFNQ)) goto LA14;
						i_5ytg9bhChnOyfQKVXiPWPmA = res_JYcf0LTFNRpQmWQ3JOauMg;
						asgnRefNoCycle((void**) (&(*n0).kindU.S6.sons->data[i_5ytg9bhChnOyfQKVXiPWPmA]), (*c0).semexpr(c0, (*n0).kindU.S6.sons->data[i_5ytg9bhChnOyfQKVXiPWPmA], 0));
						res_JYcf0LTFNRpQmWQ3JOauMg += ((NI) 1);
					} LA14: ;
				}
			}
		}
		LA6: ;
	}
	LA1: ;
}

N_NIMCALL(NI16, pragmalocks_Oeb719c1IuskYiE5cBu9cfMQ)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* it0) {
	NI16 result0;
	result0 = (NI16)0;
	{
		if (!!(((*it0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 34)))) goto LA3;
		invalidpragma_4pFDaZSa9ahrvJKCrg4wQRA(it0);
	}
	goto LA1;
	LA3: ;
	{
		{
			Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC8;
			NI x0;
			LOC8 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0;
			LOC8 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(it0, ((NI) 1));
			if (!!(((*LOC8).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 23)))) goto LA9;
			x0 = expectintlit_oGSdgrTkve6aV2AshvC0og(c0, it0);
			{
				NIM_BOOL LOC13;
				Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC17;
				LOC13 = (NIM_BOOL)0;
				LOC13 = (x0 < ((NI) 0));
				if (LOC13) goto LA14;
				LOC13 = (((NI) 1000) < x0);
				LA14: ;
				if (!LOC13) goto LA15;
				LOC17 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0;
				LOC17 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(it0, ((NI) 1));
				localerror_GarD0CQJ5aQhoHekHYinVQ((*LOC17).info, ((NimStringDesc*) &T_tPA3StZ6VsKyoznyrIfFxg_80));
			}
			goto LA11;
			LA15: ;
			{
				result0 = ((NI16) (x0));
			}
			LA11: ;
		}
		LA9: ;
	}
	LA1: ;
	return result0;
}

N_NIMCALL(Tsym_AXG7xcvKqaxY6koRX1xkCw*, pragmaguard_3W0lEUMOsrqax9b0Yfe2jbQ)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* it0, Tsymkind_cNCW9acsSznmEccl1fgQwkw kind0) {
	Tsym_AXG7xcvKqaxY6koRX1xkCw* result0;
	Tnode_bROa11lyF5vxEN9aYNbHmhw* n0;
{	result0 = (Tsym_AXG7xcvKqaxY6koRX1xkCw*)0;
	{
		if (!!(((*it0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 34)))) goto LA3;
		invalidpragma_4pFDaZSa9ahrvJKCrg4wQRA(it0);
		goto BeforeRet;
	}
	LA3: ;
	n0 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(it0, ((NI) 1));
	{
		if (!((*n0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA7;
		result0 = (*n0).kindU.S4.sym;
	}
	goto LA5;
	LA7: ;
	{
		if (!(kind0 == ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 18))) goto LA10;
		result0 = qualifiedlookup_7VCOa78IcftaMpH9ctb8ifg(c0, n0, 0);
		{
			NIM_BOOL LOC14;
			NIM_BOOL LOC15;
			Tident_4umxGerWTHGPwUms7Yqu3g* LOC20;
			LOC14 = (NIM_BOOL)0;
			LOC15 = (NIM_BOOL)0;
			LOC15 = (result0 == 0);
			if (LOC15) goto LA16;
			LOC15 = !(((768 &(1U<<((NU)((*result0).kind)&31U)))!=0));
			LA16: ;
			LOC14 = LOC15;
			if (LOC14) goto LA17;
			LOC14 = !((((*result0).flags &(1U<<((NU)(((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 3))&31U)))!=0));
			LA17: ;
			if (!LOC14) goto LA18;
			LOC20 = (Tident_4umxGerWTHGPwUms7Yqu3g*)0;
			LOC20 = considerquotedident_bi6H6x9cvavSxJocgYdA9bRw(n0);
			result0 = newsym_2uJTpCZGZAi7a4eAm1ds8Q(((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 0), LOC20, NIM_NIL, (*n0).info);
		}
		LA18: ;
	}
	goto LA5;
	LA10: ;
	{
		result0 = qualifiedlookup_7VCOa78IcftaMpH9ctb8ifg(c0, n0, 2);
	}
	LA5: ;
	}BeforeRet: ;
	return result0;
}

static N_INLINE(NIM_BOOL, istoplevel_9bkq9cASeagJTpH5Dz9aZoVrAsem)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0) {
	NIM_BOOL result0;
	result0 = (NIM_BOOL)0;
	result0 = ((*(*c0).currentscope).depthlevel <= ((NI) 2));
	return result0;
}

N_NIMCALL(NIM_BOOL, singlepragma_gAHfkq2A9cJwmG6RdfNiZlA)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tsym_AXG7xcvKqaxY6koRX1xkCw* sym0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, NI i0, Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw_Set validpragmas0) {
	NIM_BOOL result0;
	Tnode_bROa11lyF5vxEN9aYNbHmhw* it0;
	Tnode_bROa11lyF5vxEN9aYNbHmhw* key0;
	Tident_4umxGerWTHGPwUms7Yqu3g* ident0;
	Tsym_AXG7xcvKqaxY6koRX1xkCw* userpragma0;
{	result0 = (NIM_BOOL)0;
	it0 = (*n0).kindU.S6.sons->data[i0];
	{
		if (!((*it0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 34))) goto LA3;
		key0 = (*it0).kindU.S6.sons->data[((NI) 0)];
	}
	goto LA1;
	LA3: ;
	{
		key0 = it0;
	}
	LA1: ;
	{
		if (!((*key0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 42))) goto LA8;
		processnote_UXDpD7j1oXkwccrqwm6OWg(c0, it0);
		goto BeforeRet;
	}
	LA8: ;
	ident0 = considerquotedident_bi6H6x9cvavSxJocgYdA9bRw(key0);
	userpragma0 = strtableget_lwInE2j9aCwWqT2bvslVRNA((*c0).userpragmas, ident0);
	{
		if (!!((userpragma0 == NIM_NIL))) goto LA12;
		(*c0).instcounter += ((NI) 1);
		{
			if (!(((NI) 100) < (*c0).instcounter)) goto LA16;
			globalerror_VpilfPWbplGz6ny7O9cfr2g_3((*it0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 26), (*(*userpragma0).name).s);
		}
		LA16: ;
		pragma_7200QCbjfWhEBN4qPDke4w(c0, sym0, (*userpragma0).ast, validpragmas0);
		asgnRefNoCycle((void**) (&(*n0).kindU.S6.sons->data[i0]), (*userpragma0).ast);
		(*c0).instcounter -= ((NI) 1);
	}
	goto LA10;
	LA12: ;
	{
		Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw k0;
		k0 = whichkeyword_WhYAAh6vF1PoyH6Hsspu4Q(ident0);
		{
			if (!((validpragmas0[(NU)(k0)>>3] &(1U<<((NU)(k0)&7U)))!=0)) goto LA21;
			switch (k0) {
			case ((Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw) 96):
			{
				NimStringDesc* LOC24;
				LOC24 = (NimStringDesc*)0;
				LOC24 = getoptionalstr_g4DDfIcYbV9an4RwdLCIPtg(c0, it0, ((NimStringDesc*) &T_tPA3StZ6VsKyoznyrIfFxg_57));
				makeexternexport_ArUjCco1swscu0pzCrHIeg(sym0, LOC24, (*it0).info);
				(*sym0).flags |= ((NU32)1)<<((((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 0))%(sizeof(NU32)*8));
			}
			break;
			case ((Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw) 95):
			{
				NimStringDesc* LOC26;
				LOC26 = (NimStringDesc*)0;
				LOC26 = getoptionalstr_g4DDfIcYbV9an4RwdLCIPtg(c0, it0, ((NimStringDesc*) &T_tPA3StZ6VsKyoznyrIfFxg_57));
				makeexternimport_ArUjCco1swscu0pzCrHIeg_3(sym0, LOC26, (*it0).info);
			}
			break;
			case ((Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw) 94):
			{
				NimStringDesc* LOC28;
				LOC28 = (NimStringDesc*)0;
				LOC28 = getoptionalstr_g4DDfIcYbV9an4RwdLCIPtg(c0, it0, ((NimStringDesc*) &T_tPA3StZ6VsKyoznyrIfFxg_57));
				processimportcompilerproc_ArUjCco1swscu0pzCrHIeg_4(sym0, LOC28, (*it0).info);
			}
			break;
			case ((Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw) 212):
			{
				NimStringDesc* LOC30;
				LOC30 = (NimStringDesc*)0;
				LOC30 = expectstrlit_9bralhzAO9cpquvdHbAPb9cXA(c0, it0);
				setexternname_ArUjCco1swscu0pzCrHIeg_2(sym0, LOC30, (*it0).info);
			}
			break;
			case ((Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw) 87):
			{
				{
					if (!((196608 &(1U<<((NU)((*sym0).kind)&31U)))!=0)) goto LA34;
					(*sym0).flags |= ((NU32)1)<<((((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 25))%(sizeof(NU32)*8));
					(*sym0).flags |= ((NU32)1)<<((((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 7))%(sizeof(NU32)*8));
					message_VpilfPWbplGz6ny7O9cfr2g_2((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 240), ((NimStringDesc*) &T_tPA3StZ6VsKyoznyrIfFxg_62));
				}
				goto LA32;
				LA34: ;
				{
					invalidpragma_4pFDaZSa9ahrvJKCrg4wQRA(it0);
				}
				LA32: ;
			}
			break;
			case ((Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw) 189):
			{
				{
					if (!((*sym0).kind == ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 17))) goto LA40;
					(*sym0).flags |= ((NU32)1)<<((((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 9))%(sizeof(NU32)*8));
				}
				goto LA38;
				LA40: ;
				{
					invalidpragma_4pFDaZSa9ahrvJKCrg4wQRA(it0);
				}
				LA38: ;
			}
			break;
			case ((Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw) 92):
			{
				NimStringDesc* LOC44;
				LOC44 = (NimStringDesc*)0;
				LOC44 = getoptionalstr_g4DDfIcYbV9an4RwdLCIPtg(c0, it0, ((NimStringDesc*) &T_tPA3StZ6VsKyoznyrIfFxg_57));
				processimportcpp_ArUjCco1swscu0pzCrHIeg_5(sym0, LOC44, (*it0).info);
			}
			break;
			case ((Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw) 93):
			{
				NimStringDesc* LOC46;
				LOC46 = (NimStringDesc*)0;
				LOC46 = getoptionalstr_g4DDfIcYbV9an4RwdLCIPtg(c0, it0, ((NimStringDesc*) &T_tPA3StZ6VsKyoznyrIfFxg_57));
				processimportobjc_ArUjCco1swscu0pzCrHIeg_6(sym0, LOC46, (*it0).info);
			}
			break;
			case ((Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw) 100):
			{
				NI align0;
				{
					if (!((*sym0).typ == NIM_NIL)) goto LA50;
					invalidpragma_4pFDaZSa9ahrvJKCrg4wQRA(it0);
				}
				LA50: ;
				align0 = expectintlit_oGSdgrTkve6aV2AshvC0og(c0, it0);
				{
					NIM_BOOL LOC54;
					NIM_BOOL LOC55;
					NIM_BOOL LOC56;
					LOC54 = (NIM_BOOL)0;
					LOC55 = (NIM_BOOL)0;
					LOC56 = (NIM_BOOL)0;
					LOC56 = ispoweroftwo_M0Db9b9cHxuUgw2ZF0P8utPg(align0);
					LOC55 = !(LOC56);
					if (!(LOC55)) goto LA57;
					LOC55 = !((align0 == ((NI) 0)));
					LA57: ;
					LOC54 = LOC55;
					if (LOC54) goto LA58;
					LOC54 = ((NU64)(IL64(32767)) < (NU64)(((NI64) (align0))));
					LA58: ;
					if (!LOC54) goto LA59;
					localerror_VpilfPWbplGz6ny7O9cfr2g((*it0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 101), ((NimStringDesc*) &T_tPA3StZ6VsKyoznyrIfFxg_61));
				}
				goto LA52;
				LA59: ;
				{
					(*(*sym0).typ).align = ((NI16) (align0));
				}
				LA52: ;
			}
			break;
			case ((Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw) 162):
			{
				NI size0;
				{
					if (!((*sym0).typ == NIM_NIL)) goto LA65;
					invalidpragma_4pFDaZSa9ahrvJKCrg4wQRA(it0);
				}
				LA65: ;
				size0 = expectintlit_oGSdgrTkve6aV2AshvC0og(c0, it0);
				{
					NIM_BOOL LOC69;
					NIM_BOOL LOC70;
					NIM_BOOL LOC71;
					LOC69 = (NIM_BOOL)0;
					LOC70 = (NIM_BOOL)0;
					LOC71 = (NIM_BOOL)0;
					LOC71 = ispoweroftwo_M0Db9b9cHxuUgw2ZF0P8utPg(size0);
					LOC70 = !(LOC71);
					if (LOC70) goto LA72;
					LOC70 = (size0 <= ((NI) 0));
					LA72: ;
					LOC69 = LOC70;
					if (LOC69) goto LA73;
					LOC69 = (((NI) 8) < size0);
					LA73: ;
					if (!LOC69) goto LA74;
					localerror_VpilfPWbplGz6ny7O9cfr2g((*it0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 101), ((NimStringDesc*) &T_tPA3StZ6VsKyoznyrIfFxg_61));
				}
				goto LA67;
				LA74: ;
				{
					(*(*sym0).typ).size = ((NI64) (size0));
				}
				LA67: ;
			}
			break;
			case ((Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw) 101):
			{
				noval_4pFDaZSa9ahrvJKCrg4wQRA_2(it0);
				(*sym0).loc.flags |= ((NU16)1)<<((((Tlocflag_o2bqJgR4ceIupnUSpxiudA) 3))%(sizeof(NU16)*8));
			}
			break;
			case ((Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw) 102):
			case ((Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw) 193):
			{
				noval_4pFDaZSa9ahrvJKCrg4wQRA_2(it0);
				{
					if (!!((sym0 == NIM_NIL))) goto LA81;
					{
						NIM_BOOL LOC85;
						LOC85 = (NIM_BOOL)0;
						LOC85 = (k0 == ((Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw) 102));
						if (!(LOC85)) goto LA86;
						LOC85 = ((258048 &(1U<<((NU)((*sym0).kind)&31U)))!=0);
						LA86: ;
						if (!LOC85) goto LA87;
						invalidpragma_4pFDaZSa9ahrvJKCrg4wQRA(it0);
					}
					goto LA83;
					LA87: ;
					{
						(*sym0).flags |= ((NU32)1)<<((((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 9))%(sizeof(NU32)*8));
					}
					LA83: ;
				}
				LA81: ;
			}
			break;
			case ((Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw) 245):
			{
				noval_4pFDaZSa9ahrvJKCrg4wQRA_2(it0);
				(*sym0).flags |= ((NU32)1)<<((((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 7))%(sizeof(NU32)*8));
			}
			break;
			case ((Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw) 226):
			{
				noval_4pFDaZSa9ahrvJKCrg4wQRA_2(it0);
				(*sym0).flags |= ((NU32)1)<<((((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 8))%(sizeof(NU32)*8));
			}
			break;
			case ((Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw) 191):
			{
				noval_4pFDaZSa9ahrvJKCrg4wQRA_2(it0);
				(*sym0).flags |= ((NU32)1)<<((((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 22))%(sizeof(NU32)*8));
			}
			break;
			case ((Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw) 165):
			{
				pragmadeadcodeelim_UXDpD7j1oXkwccrqwm6OWg_2(c0, it0);
			}
			break;
			case ((Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw) 167):
			{
				pragmanoforward_UXDpD7j1oXkwccrqwm6OWg_3(c0, it0);
			}
			break;
			case ((Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw) 78):
			{
				processmagic_eBoyM29bqjrUtWPM6HCIHYA(c0, it0, sym0);
			}
			break;
			case ((Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw) 170):
			{
				noval_4pFDaZSa9ahrvJKCrg4wQRA_2(it0);
				(*sym0).flags |= ((NU32)1)<<((((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 23))%(sizeof(NU32)*8));
				(*sym0).loc.flags |= ((NU16)1)<<((((Tlocflag_o2bqJgR4ceIupnUSpxiudA) 3))%(sizeof(NU16)*8));
			}
			break;
			case ((Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw) 195):
			{
				noval_4pFDaZSa9ahrvJKCrg4wQRA_2(it0);
				(*sym0).flags |= ((NU32)1)<<((((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 3))%(sizeof(NU32)*8));
				(*sym0).flags |= ((NU32)1)<<((((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 9))%(sizeof(NU32)*8));
			}
			break;
			case ((Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw) 108):
			{
				noval_4pFDaZSa9ahrvJKCrg4wQRA_2(it0);
			}
			break;
			case ((Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw) 88):
			{
				noval_4pFDaZSa9ahrvJKCrg4wQRA_2(it0);
				(*sym0).flags |= ((NU32)1)<<((((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 24))%(sizeof(NU32)*8));
			}
			break;
			case ((Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw) 104):
			{
				Tlib_4f9aBgmqEuj7uWJdBBGcRgA* lib0;
				Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC101;
				LOC101 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0;
				LOC101 = getstrlitnode_UxC2TwNzj8HsHWI0VDywWA(c0, it0);
				lib0 = getlib_EC34D3G6dVooBVvste5iNg(c0, ((Tlibkind_9b8v60kso59bBaw9cp8B9a9apKQ) 0), LOC101);
				addtolib_fs29bxogp5ghcutVCHnP6Ew(lib0, sym0);
				(*sym0).flags |= ((NU32)1)<<((((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 5))%(sizeof(NU32)*8));
				(*sym0).loc.flags |= ((NU16)1)<<((((Tlocflag_o2bqJgR4ceIupnUSpxiudA) 6))%(sizeof(NU16)*8));
				(*sym0).loc.flags |= ((NU16)1)<<((((Tlocflag_o2bqJgR4ceIupnUSpxiudA) 3))%(sizeof(NU16)*8));
				{
					if (!((*sym0).loc.r == NIM_NIL)) goto LA104;
					asgnRefNoCycle((void**) (&(*sym0).loc.r), rope_53CHEX05HP0HacydnwoUYg((*(*sym0).name).s));
				}
				LA104: ;
			}
			break;
			case ((Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw) 89):
			{
				(*sym0).flags |= ((NU32)1)<<((((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 30))%(sizeof(NU32)*8));
				{
					NimStringDesc* LOC109;
					LOC109 = (NimStringDesc*)0;
					LOC109 = nsuNormalize((*(*sym0).name).s);
					if (!!(eqStrings(LOC109, ((NimStringDesc*) &T_tPA3StZ6VsKyoznyrIfFxg_63)))) goto LA110;
					localerror_VpilfPWbplGz6ny7O9cfr2g((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 4), ((NimStringDesc*) &T_tPA3StZ6VsKyoznyrIfFxg_64));
				}
				LA110: ;
			}
			break;
			case ((Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw) 91):
			{
				(*sym0).flags |= ((NU32)1)<<((((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 30))%(sizeof(NU32)*8));
			}
			break;
			case ((Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw) 105):
			{
				noval_4pFDaZSa9ahrvJKCrg4wQRA_2(it0);
				(*sym0).flags |= ((NU32)1)<<((((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 10))%(sizeof(NU32)*8));
				{
					if (!!(((*sym0).typ == NIM_NIL))) goto LA116;
					(*(*sym0).typ).flags |= ((NU32)1)<<((((Ttypeflag_x2m5g1NpbmDig4wLT3Ylhw) 1))%(sizeof(NU32)*8));
				}
				LA116: ;
			}
			break;
			case ((Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw) 103):
			{
				noval_4pFDaZSa9ahrvJKCrg4wQRA_2(it0);
				(*sym0).flags |= ((NU32)1)<<((((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 11))%(sizeof(NU32)*8));
			}
			break;
			case ((Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw) 107):
			{
				noval_4pFDaZSa9ahrvJKCrg4wQRA_2(it0);
				(*sym0).flags |= ((NU32)1)<<((((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 14))%(sizeof(NU32)*8));
			}
			break;
			case ((Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw) 110):
			{
				processdynlib_jKmoKMEDrqu7QwmLJQdcDw(c0, it0, sym0);
			}
			break;
			case ((Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw) 111):
			{
				noval_4pFDaZSa9ahrvJKCrg4wQRA_2(it0);
				{
					if (!!((((*sym0).flags &(1U<<((NU)(((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 2))&31U)))!=0))) goto LA124;
					markcompilerproc_OWuW5mNI1KdTf6xPdtYjxQ(sym0);
				}
				LA124: ;
			}
			break;
			case ((Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw) 112):
			{
				noval_4pFDaZSa9ahrvJKCrg4wQRA_2(it0);
				(*sym0).flags |= ((NU32)1)<<((((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 17))%(sizeof(NU32)*8));
			}
			break;
			case ((Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw) 129):
			{
				{
					if (!((*it0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 34))) goto LA130;
					deprecatedstmt_sa0eOpPLsM4Mut3Dwi0kTQ(c0, it0);
				}
				goto LA128;
				LA130: ;
				{
					if (!!((sym0 == NIM_NIL))) goto LA133;
					(*sym0).flags |= ((NU32)1)<<((((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 19))%(sizeof(NU32)*8));
				}
				goto LA128;
				LA133: ;
				{
					(*(*c0).module).flags |= ((NU32)1)<<((((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 19))%(sizeof(NU32)*8));
				}
				LA128: ;
			}
			break;
			case ((Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw) 130):
			{
				noval_4pFDaZSa9ahrvJKCrg4wQRA_2(it0);
				{
					if (!((*sym0).typ == NIM_NIL)) goto LA139;
					invalidpragma_4pFDaZSa9ahrvJKCrg4wQRA(it0);
				}
				goto LA137;
				LA139: ;
				{
					(*(*sym0).typ).flags |= ((NU32)1)<<((((Ttypeflag_x2m5g1NpbmDig4wLT3Ylhw) 0))%(sizeof(NU32)*8));
				}
				LA137: ;
			}
			break;
			case ((Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw) 174):
			{
				{
					if (!((*sym0).kind == ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 7))) goto LA145;
					typeborrow_tONwVa0fryV0gpokGUci5A(sym0, it0);
				}
				goto LA143;
				LA145: ;
				{
					noval_4pFDaZSa9ahrvJKCrg4wQRA_2(it0);
					(*sym0).flags |= ((NU32)1)<<((((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 26))%(sizeof(NU32)*8));
				}
				LA143: ;
			}
			break;
			case ((Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw) 80):
			{
				noval_4pFDaZSa9ahrvJKCrg4wQRA_2(it0);
				{
					if (!((*sym0).typ == NIM_NIL)) goto LA151;
					invalidpragma_4pFDaZSa9ahrvJKCrg4wQRA(it0);
				}
				goto LA149;
				LA151: ;
				{
					(*(*sym0).typ).flags |= ((NU32)1)<<((((Ttypeflag_x2m5g1NpbmDig4wLT3Ylhw) 2))%(sizeof(NU32)*8));
				}
				LA149: ;
			}
			break;
			case ((Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw) 190):
			{
				noval_4pFDaZSa9ahrvJKCrg4wQRA_2(it0);
				{
					NIM_BOOL LOC157;
					LOC157 = (NIM_BOOL)0;
					LOC157 = ((*sym0).typ == NIM_NIL);
					if (LOC157) goto LA158;
					LOC157 = (((*(*sym0).typ).flags &(1U<<((NU)(((Ttypeflag_x2m5g1NpbmDig4wLT3Ylhw) 2))&31U)))!=0);
					LA158: ;
					if (!LOC157) goto LA159;
					invalidpragma_4pFDaZSa9ahrvJKCrg4wQRA(it0);
				}
				goto LA155;
				LA159: ;
				{
					(*(*sym0).typ).flags |= ((NU32)1)<<((((Ttypeflag_x2m5g1NpbmDig4wLT3Ylhw) 3))%(sizeof(NU32)*8));
				}
				LA155: ;
			}
			break;
			case ((Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw) 179):
			{
				noval_4pFDaZSa9ahrvJKCrg4wQRA_2(it0);
				{
					if (!((*sym0).typ == NIM_NIL)) goto LA165;
					invalidpragma_4pFDaZSa9ahrvJKCrg4wQRA(it0);
				}
				goto LA163;
				LA165: ;
				{
					(*(*sym0).typ).flags |= ((NU32)1)<<((((Ttypeflag_x2m5g1NpbmDig4wLT3Ylhw) 4))%(sizeof(NU32)*8));
				}
				LA163: ;
			}
			break;
			case ((Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw) 180):
			{
				noval_4pFDaZSa9ahrvJKCrg4wQRA_2(it0);
				{
					if (!((*sym0).typ == NIM_NIL)) goto LA171;
					invalidpragma_4pFDaZSa9ahrvJKCrg4wQRA(it0);
				}
				goto LA169;
				LA171: ;
				{
					(*(*sym0).typ).flags |= ((NU32)1)<<((((Ttypeflag_x2m5g1NpbmDig4wLT3Ylhw) 6))%(sizeof(NU32)*8));
				}
				LA169: ;
			}
			break;
			case ((Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw) 79):
			{
				noval_4pFDaZSa9ahrvJKCrg4wQRA_2(it0);
				(*sym0).flags |= ((NU32)1)<<((((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 22))%(sizeof(NU32)*8));
				(*sym0).flags |= ((NU32)1)<<((((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 17))%(sizeof(NU32)*8));
				{
					if (!!(((*sym0).typ == NIM_NIL))) goto LA177;
					(*(*sym0).typ).flags |= ((NU32)1)<<((((Ttypeflag_x2m5g1NpbmDig4wLT3Ylhw) 7))%(sizeof(NU32)*8));
					{
						if (!((*(*sym0).typ).callconv == ((Tcallingconvention_yjAJ8w0h1PBaSwSGJ3P7IA) 8))) goto LA181;
						(*(*sym0).typ).callconv = ((Tcallingconvention_yjAJ8w0h1PBaSwSGJ3P7IA) 0);
					}
					LA181: ;
				}
				LA177: ;
			}
			break;
			case ((Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw) 106):
			{
				noval_4pFDaZSa9ahrvJKCrg4wQRA_2(it0);
				{
					if (!!(((*sym0).kind == ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 7)))) goto LA186;
					(*sym0).flags |= ((NU32)1)<<((((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 22))%(sizeof(NU32)*8));
				}
				LA186: ;
				{
					if (!!(((*sym0).typ == NIM_NIL))) goto LA190;
					(*(*sym0).typ).flags |= ((NU32)1)<<((((Ttypeflag_x2m5g1NpbmDig4wLT3Ylhw) 7))%(sizeof(NU32)*8));
				}
				goto LA188;
				LA190: ;
				{
					invalidpragma_4pFDaZSa9ahrvJKCrg4wQRA(it0);
				}
				LA188: ;
			}
			break;
			case ((Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw) 241):
			{
				noval_4pFDaZSa9ahrvJKCrg4wQRA_2(it0);
				{
					if (!((*sym0).typ == NIM_NIL)) goto LA196;
					invalidpragma_4pFDaZSa9ahrvJKCrg4wQRA(it0);
				}
				goto LA194;
				LA196: ;
				{
					(*(*sym0).typ).flags |= ((NU32)1)<<((((Ttypeflag_x2m5g1NpbmDig4wLT3Ylhw) 21))%(sizeof(NU32)*8));
				}
				LA194: ;
			}
			break;
			case ((Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw) 117):
			{
				NimStringDesc* LOC200;
				LOC200 = (NimStringDesc*)0;
				LOC200 = expectstrlit_9bralhzAO9cpquvdHbAPb9cXA(c0, it0);
				message_VpilfPWbplGz6ny7O9cfr2g_2((*it0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 289), LOC200);
			}
			break;
			case ((Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw) 116):
			{
				NimStringDesc* LOC202;
				LOC202 = (NimStringDesc*)0;
				LOC202 = expectstrlit_9bralhzAO9cpquvdHbAPb9cXA(c0, it0);
				message_VpilfPWbplGz6ny7O9cfr2g_2((*it0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 266), LOC202);
			}
			break;
			case ((Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw) 115):
			{
				{
					NIM_BOOL LOC206;
					LOC206 = (NIM_BOOL)0;
					LOC206 = !((sym0 == NIM_NIL));
					if (!(LOC206)) goto LA207;
					LOC206 = isroutine_inD0Nq051matsjc6UjX88gparampatterns(sym0);
					LA207: ;
					if (!LOC206) goto LA208;
					noval_4pFDaZSa9ahrvJKCrg4wQRA_2(it0);
					(*sym0).flags |= ((NU32)1)<<((((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 20))%(sizeof(NU32)*8));
				}
				goto LA204;
				LA208: ;
				{
					NimStringDesc* LOC211;
					LOC211 = (NimStringDesc*)0;
					LOC211 = expectstrlit_9bralhzAO9cpquvdHbAPb9cXA(c0, it0);
					localerror_VpilfPWbplGz6ny7O9cfr2g((*it0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 235), LOC211);
				}
				LA204: ;
			}
			break;
			case ((Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw) 114):
			{
				NimStringDesc* LOC213;
				LOC213 = (NimStringDesc*)0;
				LOC213 = expectstrlit_9bralhzAO9cpquvdHbAPb9cXA(c0, it0);
				fatal_VpilfPWbplGz6ny7O9cfr2g_4((*it0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 235), LOC213);
			}
			break;
			case ((Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw) 121):
			{
				processdefine_UXDpD7j1oXkwccrqwm6OWg_4(c0, it0);
			}
			break;
			case ((Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw) 122):
			{
				processundef_UXDpD7j1oXkwccrqwm6OWg_5(c0, it0);
			}
			break;
			case ((Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw) 127):
			{
				processcompile_UXDpD7j1oXkwccrqwm6OWg_6(c0, it0);
			}
			break;
			case ((Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw) 126):
			{
				processcommonlink_kAzhCS2jzG8JzZdV77Tp8w(c0, it0, ((Tlinkfeature_L9bVS0B7EDUNBOaY2OuZvww) 0));
			}
			break;
			case ((Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw) 128):
			{
				processcommonlink_kAzhCS2jzG8JzZdV77Tp8w(c0, it0, ((Tlinkfeature_L9bVS0B7EDUNBOaY2OuZvww) 1));
			}
			break;
			case ((Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw) 173):
			{
				NimStringDesc* LOC220;
				LOC220 = (NimStringDesc*)0;
				LOC220 = expectstrlit_9bralhzAO9cpquvdHbAPb9cXA(c0, it0);
				addlinkoption_7UPx5ihiCo9bEptZNyxfumQ_2(LOC220);
			}
			break;
			case ((Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw) 172):
			{
				NimStringDesc* LOC222;
				LOC222 = (NimStringDesc*)0;
				LOC222 = expectstrlit_9bralhzAO9cpquvdHbAPb9cXA(c0, it0);
				addcompileoption_7UPx5ihiCo9bEptZNyxfumQ(LOC222);
			}
			break;
			case ((Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw) 132):
			{
				pragmabreakpoint_UXDpD7j1oXkwccrqwm6OWg_7(c0, it0);
			}
			break;
			case ((Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw) 177):
			{
				pragmawatchpoint_UXDpD7j1oXkwccrqwm6OWg_8(c0, it0);
			}
			break;
			case ((Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw) 119):
			{
				processpush_vuscCG0g0Zt0z0SzJqrmIw(c0, n0, (NI)(i0 + ((NI) 1)));
				result0 = NIM_TRUE;
			}
			break;
			case ((Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw) 120):
			{
				processpop_UXDpD7j1oXkwccrqwm6OWg_10(c0, it0);
			}
			break;
			case ((Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw) 169):
			{
				processpragma_P029aiZiO8MVMDswxq4H1Cw(c0, n0, i0);
				result0 = NIM_TRUE;
			}
			break;
			case ((Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw) 175):
			{
				noval_4pFDaZSa9ahrvJKCrg4wQRA_2(it0);
				{
					if (!!((sym0 == NIM_NIL))) goto LA231;
					(*sym0).flags |= ((NU32)1)<<((((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 29))%(sizeof(NU32)*8));
				}
				LA231: ;
			}
			break;
			case ((Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw) 171):
			{
				noval_4pFDaZSa9ahrvJKCrg4wQRA_2(it0);
				{
					if (!!((sym0 == NIM_NIL))) goto LA236;
					(*sym0).flags |= ((NU32)1)<<((((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 12))%(sizeof(NU32)*8));
				}
				LA236: ;
			}
			break;
			case ((Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw) 196):
			{
				processcodegendecl_jKmoKMEDrqu7QwmLJQdcDw_2(c0, it0, sym0);
			}
			break;
			case ((Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw) 146):
			case ((Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw) 83):
			case ((Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw) 176):
			case ((Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw) 147):
			case ((Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw) 148):
			case ((Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw) 149):
			case ((Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw) 150):
			case ((Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw) 154):
			case ((Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw) 156):
			case ((Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw) 157):
			case ((Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw) 123):
			case ((Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw) 124):
			case ((Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw) 125):
			case ((Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw) 158):
			case ((Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw) 131):
			case ((Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw) 133):
			case ((Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw) 81):
			case ((Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw) 151):
			case ((Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw) 152):
			case ((Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw) 153):
			case ((Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw) 155):
			{
				{
					NIM_BOOL LOC242;
					LOC242 = (NIM_BOOL)0;
					LOC242 = processoption_tWrv1JKw89aLhpSBOmGJddA_2(c0, it0);
					if (!LOC242) goto LA243;
					localerror_VpilfPWbplGz6ny7O9cfr2g((*it0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 152), ((NimStringDesc*) &T_tPA3StZ6VsKyoznyrIfFxg_61));
				}
				LA243: ;
			}
			break;
			case ((Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw) 134) ... ((Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw) 143):
			{
				{
					if (!((*sym0).typ == NIM_NIL)) goto LA248;
					invalidpragma_4pFDaZSa9ahrvJKCrg4wQRA(it0);
				}
				goto LA246;
				LA248: ;
				{
					(*(*sym0).typ).callconv = wordtocallconv_nMMYtqiohv9aTEha7rdj6Bw(k0);
				}
				LA246: ;
			}
			break;
			case ((Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw) 192):
			{
				pragmaemit_UXDpD7j1oXkwccrqwm6OWg_11(c0, it0);
			}
			break;
			case ((Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw) 181):
			{
				pragmaunroll_UXDpD7j1oXkwccrqwm6OWg_12(c0, it0);
			}
			break;
			case ((Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw) 182):
			case ((Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw) 183):
			{
				noval_4pFDaZSa9ahrvJKCrg4wQRA_2(it0);
			}
			break;
			case ((Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw) 163):
			{
				noval_4pFDaZSa9ahrvJKCrg4wQRA_2(it0);
			}
			break;
			case ((Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw) 98):
			{
				noval_4pFDaZSa9ahrvJKCrg4wQRA_2(it0);
				{
					if (!((*sym0).typ == NIM_NIL)) goto LA258;
					invalidpragma_4pFDaZSa9ahrvJKCrg4wQRA(it0);
				}
				goto LA256;
				LA258: ;
				{
					(*(*sym0).typ).flags |= ((NU32)1)<<((((Ttypeflag_x2m5g1NpbmDig4wLT3Ylhw) 0))%(sizeof(NU32)*8));
				}
				LA256: ;
			}
			break;
			case ((Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw) 197):
			{
				noval_4pFDaZSa9ahrvJKCrg4wQRA_2(it0);
				{
					if (!((*sym0).typ == NIM_NIL)) goto LA264;
					invalidpragma_4pFDaZSa9ahrvJKCrg4wQRA(it0);
				}
				goto LA262;
				LA264: ;
				{
					(*(*sym0).typ).flags |= ((NU32)1)<<((((Ttypeflag_x2m5g1NpbmDig4wLT3Ylhw) 0))%(sizeof(NU32)*8));
				}
				LA262: ;
			}
			break;
			case ((Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw) 240):
			{
				noval_4pFDaZSa9ahrvJKCrg4wQRA_2(it0);
				{
					if (!((*sym0).typ == NIM_NIL)) goto LA270;
					invalidpragma_4pFDaZSa9ahrvJKCrg4wQRA(it0);
				}
				goto LA268;
				LA270: ;
				{
					(*(*sym0).typ).flags |= ((NU32)1)<<((((Ttypeflag_x2m5g1NpbmDig4wLT3Ylhw) 1))%(sizeof(NU32)*8));
				}
				LA268: ;
			}
			break;
			case ((Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw) 99):
			{
				noval_4pFDaZSa9ahrvJKCrg4wQRA_2(it0);
				{
					if (!((*sym0).typ == NIM_NIL)) goto LA276;
					invalidpragma_4pFDaZSa9ahrvJKCrg4wQRA(it0);
				}
				goto LA274;
				LA276: ;
				{
					(*(*sym0).typ).flags |= ((NU32)1)<<((((Ttypeflag_x2m5g1NpbmDig4wLT3Ylhw) 17))%(sizeof(NU32)*8));
				}
				LA274: ;
			}
			break;
			case ((Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw) 262):
			{
				noval_4pFDaZSa9ahrvJKCrg4wQRA_2(it0);
				{
					NIM_BOOL LOC282;
					LOC282 = (NIM_BOOL)0;
					LOC282 = (sym0 == NIM_NIL);
					if (LOC282) goto LA283;
					LOC282 = ((*sym0).typ == NIM_NIL);
					LA283: ;
					if (!LOC282) goto LA284;
					{
						NIM_BOOL LOC288;
						LOC288 = (NIM_BOOL)0;
						LOC288 = processoption_tWrv1JKw89aLhpSBOmGJddA_2(c0, it0);
						if (!LOC288) goto LA289;
						localerror_VpilfPWbplGz6ny7O9cfr2g((*it0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 152), ((NimStringDesc*) &T_tPA3StZ6VsKyoznyrIfFxg_61));
					}
					LA289: ;
				}
				goto LA280;
				LA284: ;
				{
					(*(*sym0).typ).flags |= ((NU32)1)<<((((Ttypeflag_x2m5g1NpbmDig4wLT3Ylhw) 13))%(sizeof(NU32)*8));
				}
				LA280: ;
			}
			break;
			case ((Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw) 261):
			{
				noval_4pFDaZSa9ahrvJKCrg4wQRA_2(it0);
				{
					NIM_BOOL LOC295;
					LOC295 = (NIM_BOOL)0;
					LOC295 = !(((*sym0).kind == ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 7)));
					if (LOC295) goto LA296;
					LOC295 = ((*sym0).typ == NIM_NIL);
					LA296: ;
					if (!LOC295) goto LA297;
					invalidpragma_4pFDaZSa9ahrvJKCrg4wQRA(it0);
				}
				goto LA293;
				LA297: ;
				{
					(*(*sym0).typ).flags |= ((NU32)1)<<((((Ttypeflag_x2m5g1NpbmDig4wLT3Ylhw) 12))%(sizeof(NU32)*8));
				}
				LA293: ;
			}
			break;
			case ((Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw) 200):
			{
				noval_4pFDaZSa9ahrvJKCrg4wQRA_2(it0);
				{
					NIM_BOOL LOC303;
					LOC303 = (NIM_BOOL)0;
					LOC303 = !(((*sym0).kind == ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 7)));
					if (LOC303) goto LA304;
					LOC303 = ((*sym0).typ == NIM_NIL);
					LA304: ;
					if (!LOC303) goto LA305;
					invalidpragma_4pFDaZSa9ahrvJKCrg4wQRA(it0);
				}
				goto LA301;
				LA305: ;
				{
					(*(*sym0).typ).flags |= ((NU32)1)<<((((Ttypeflag_x2m5g1NpbmDig4wLT3Ylhw) 15))%(sizeof(NU32)*8));
					gglobaloptions_j042VVDC9cT5ENYoXnmhhVg |= ((NU64)1)<<((((Tglobaloption_RAfAEZqjnKMDumgyKKc1qw) 2))%(sizeof(NU64)*8));
				}
				LA301: ;
			}
			break;
			case ((Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw) 188):
			case ((Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw) 187):
			{
				noval_4pFDaZSa9ahrvJKCrg4wQRA_2(it0);
				{
					if (!(sym0 == NIM_NIL)) goto LA311;
					invalidpragma_4pFDaZSa9ahrvJKCrg4wQRA(it0);
				}
				LA311: ;
			}
			break;
			case ((Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw) 118):
			{
				pragmaline_UXDpD7j1oXkwccrqwm6OWg_13(c0, it0);
			}
			break;
			case ((Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw) 159):
			case ((Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw) 164):
			{
				pragmaraisesortags_UXDpD7j1oXkwccrqwm6OWg_14(c0, it0);
			}
			break;
			case ((Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw) 199):
			{
				{
					if (!(sym0 == NIM_NIL)) goto LA318;
					pragmalockstmt_v3Bylf6ILQW89alXyLTPr6A(c0, it0);
				}
				goto LA316;
				LA318: ;
				{
					if (!((*sym0).typ == NIM_NIL)) goto LA321;
					invalidpragma_4pFDaZSa9ahrvJKCrg4wQRA(it0);
				}
				goto LA316;
				LA321: ;
				{
					(*(*sym0).typ).locklevel = pragmalocks_Oeb719c1IuskYiE5cBu9cfMQ(c0, it0);
				}
				LA316: ;
			}
			break;
			case ((Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw) 264):
			{
				{
					NIM_BOOL LOC327;
					NIM_BOOL LOC328;
					LOC327 = (NIM_BOOL)0;
					LOC328 = (NIM_BOOL)0;
					LOC328 = (sym0 == NIM_NIL);
					if (LOC328) goto LA329;
					LOC328 = !(((*sym0).kind == ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 18)));
					LA329: ;
					LOC327 = LOC328;
					if (LOC327) goto LA330;
					LOC327 = !(((*it0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 34)));
					LA330: ;
					if (!LOC327) goto LA331;
					invalidpragma_4pFDaZSa9ahrvJKCrg4wQRA(it0);
				}
				goto LA325;
				LA331: ;
				{
					(*sym0).kindU.S4.bitsize = expectintlit_oGSdgrTkve6aV2AshvC0og(c0, it0);
				}
				LA325: ;
			}
			break;
			case ((Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw) 198):
			{
				{
					NIM_BOOL LOC337;
					LOC337 = (NIM_BOOL)0;
					LOC337 = (sym0 == NIM_NIL);
					if (LOC337) goto LA338;
					LOC337 = !(((262912 &(1U<<((NU)((*sym0).kind)&31U)))!=0));
					LA338: ;
					if (!LOC337) goto LA339;
					invalidpragma_4pFDaZSa9ahrvJKCrg4wQRA(it0);
				}
				goto LA335;
				LA339: ;
				{
					asgnRefNoCycle((void**) (&(*sym0).kindU.S4.guard), pragmaguard_3W0lEUMOsrqax9b0Yfe2jbQ(c0, it0, (*sym0).kind));
				}
				LA335: ;
			}
			break;
			case ((Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw) 216):
			{
				{
					NIM_BOOL LOC345;
					LOC345 = (NIM_BOOL)0;
					LOC345 = (sym0 == NIM_NIL);
					if (LOC345) goto LA346;
					LOC345 = !(((768 &(1U<<((NU)((*sym0).kind)&31U)))!=0));
					LA346: ;
					if (!LOC345) goto LA347;
					invalidpragma_4pFDaZSa9ahrvJKCrg4wQRA(it0);
				}
				goto LA343;
				LA347: ;
				{
					(*sym0).flags |= ((NU32)1)<<((((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 30))%(sizeof(NU32)*8));
				}
				LA343: ;
			}
			break;
			case ((Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw) 97):
			{
				{
					if (!(sym0 == NIM_NIL)) goto LA353;
					invalidpragma_4pFDaZSa9ahrvJKCrg4wQRA(it0);
				}
				goto LA351;
				LA353: ;
				{
					registernimscriptsymbol_IupMXo2iLzsFKro1snjzFQ(sym0);
				}
				LA351: ;
			}
			break;
			case ((Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw) 184):
			{
				{
					if (!!(((*it0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 34)))) goto LA359;
					localerror_VpilfPWbplGz6ny7O9cfr2g((*it0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 62), ((NimStringDesc*) &T_tPA3StZ6VsKyoznyrIfFxg_61));
				}
				goto LA357;
				LA359: ;
				{
					asgnRefNoCycle((void**) (&(*it0).kindU.S6.sons->data[((NI) 1)]), (*c0).semexpr(c0, (*it0).kindU.S6.sons->data[((NI) 1)], 0));
				}
				LA357: ;
			}
			break;
			case ((Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw) 185):
			{
				noval_4pFDaZSa9ahrvJKCrg4wQRA_2(it0);
				{
					NIM_BOOL LOC365;
					LOC365 = (NIM_BOOL)0;
					LOC365 = istoplevel_9bkq9cASeagJTpH5Dz9aZoVrAsem(c0);
					if (!LOC365) goto LA366;
					(*(*c0).module).flags |= ((NU32)1)<<((((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 30))%(sizeof(NU32)*8));
				}
				goto LA363;
				LA366: ;
				{
					localerror_GarD0CQJ5aQhoHekHYinVQ((*it0).info, ((NimStringDesc*) &T_tPA3StZ6VsKyoznyrIfFxg_81));
				}
				LA363: ;
			}
			break;
			case ((Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw) 234):
			{
				{
					Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC374;
					if (!((*it0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 34))) goto LA372;
					LOC374 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0;
					LOC374 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(it0, ((NI) 1));
					asgnRefNoCycle((void**) (&(*c0).selfname), considerquotedident_bi6H6x9cvavSxJocgYdA9bRw(LOC374));
				}
				goto LA370;
				LA372: ;
				{
					asgnRefNoCycle((void**) (&(*c0).selfname), getident_oH8GBf4tG3b1F5BIuNPwtA(((NimStringDesc*) &T_tPA3StZ6VsKyoznyrIfFxg_82)));
				}
				LA370: ;
			}
			break;
			case ((Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw) 168):
			{
				noval_4pFDaZSa9ahrvJKCrg4wQRA_2(it0);
			}
			break;
			case ((Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw) 113):
			{
				noval_4pFDaZSa9ahrvJKCrg4wQRA_2(it0);
				(*sym0).flags |= ((NU32)1)<<((((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 18))%(sizeof(NU32)*8));
			}
			break;
			case ((Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw) 84):
			{
				(*sym0).magic = ((Tmagic_shZhZOdbVC5nnFvcXQAImg) 262);
			}
			break;
			case ((Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw) 85):
			{
				(*sym0).magic = ((Tmagic_shZhZOdbVC5nnFvcXQAImg) 263);
			}
			break;
			default:
			{
				invalidpragma_4pFDaZSa9ahrvJKCrg4wQRA(it0);
			}
			break;
			}
		}
		goto LA19;
		LA21: ;
		{
			invalidpragma_4pFDaZSa9ahrvJKCrg4wQRA(it0);
		}
		LA19: ;
	}
	LA10: ;
	}BeforeRet: ;
	return result0;
}

N_NIMCALL(void, pragmarec_7200QCbjfWhEBN4qPDke4w_2)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tsym_AXG7xcvKqaxY6koRX1xkCw* sym0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw_Set validpragmas0) {
{	{
		if (!(n0 == NIM_NIL)) goto LA3;
		goto BeforeRet;
	}
	LA3: ;
	{
		NI i_j2eOCGvm2sAyoZdWhui4TA;
		NI HEX3Atmp_toKbCuOFnq3evsPUGay02w;
		NI LOC6;
		NI res_GEDgCvaNhrvMr2ADSYwl8w;
		i_j2eOCGvm2sAyoZdWhui4TA = (NI)0;
		HEX3Atmp_toKbCuOFnq3evsPUGay02w = (NI)0;
		LOC6 = (NI)0;
		LOC6 = sonslen_qPWPHw7WgJeEVYUdcaRIig(n0);
		HEX3Atmp_toKbCuOFnq3evsPUGay02w = (NI)(LOC6 - ((NI) 1));
		res_GEDgCvaNhrvMr2ADSYwl8w = ((NI) 0);
		{
			while (1) {
				if (!(res_GEDgCvaNhrvMr2ADSYwl8w <= HEX3Atmp_toKbCuOFnq3evsPUGay02w)) goto LA8;
				i_j2eOCGvm2sAyoZdWhui4TA = res_GEDgCvaNhrvMr2ADSYwl8w;
				{
					if (!((*(*n0).kindU.S6.sons->data[i_j2eOCGvm2sAyoZdWhui4TA]).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 90))) goto LA11;
					pragmarec_7200QCbjfWhEBN4qPDke4w_2(c0, sym0, (*n0).kindU.S6.sons->data[i_j2eOCGvm2sAyoZdWhui4TA], validpragmas0);
				}
				goto LA9;
				LA11: ;
				{
					NIM_BOOL LOC14;
					LOC14 = (NIM_BOOL)0;
					LOC14 = singlepragma_gAHfkq2A9cJwmG6RdfNiZlA(c0, sym0, n0, i_j2eOCGvm2sAyoZdWhui4TA, validpragmas0);
					if (!LOC14) goto LA15;
					goto LA5;
				}
				goto LA9;
				LA15: ;
				LA9: ;
				res_GEDgCvaNhrvMr2ADSYwl8w += ((NI) 1);
			} LA8: ;
		}
	} LA5: ;
	}BeforeRet: ;
}

N_NIMCALL(void, implicitpragmas_7200QCbjfWhEBN4qPDke4w_3)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tsym_AXG7xcvKqaxY6koRX1xkCw* sym0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw_Set validpragmas0) {
	{
		NIM_BOOL LOC3;
		Toptionentry_qo5G3Yn2oEcK3x1oAHGvpw* it0;
		Tlib_4f9aBgmqEuj7uWJdBBGcRgA* lib0;
		LOC3 = (NIM_BOOL)0;
		LOC3 = !((sym0 == NIM_NIL));
		if (!(LOC3)) goto LA4;
		LOC3 = !(((*sym0).kind == ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 6)));
		LA4: ;
		if (!LOC3) goto LA5;
		it0 = ((Toptionentry_qo5G3Yn2oEcK3x1oAHGvpw*) ((*c0).optionstack.head));
		{
			while (1) {
				Tnode_bROa11lyF5vxEN9aYNbHmhw* o0;
				if (!!((it0 == NIM_NIL))) goto LA8;
				o0 = (*it0).otherpragmas;
				{
					if (!!((o0 == 0))) goto LA11;
					pushinfocontext_zQWo2MALtrYvLPyMtv28iA((*n0).info);
					{
						NI i_WAbR7zF9c1Szh3vxYPv6cfw;
						NI HEX3Atmp_lvvc7OiEyPZjG4Y3IOSm0A;
						NI LOC14;
						NI res_B76GzkvYJAmBnudvSUbGxw;
						i_WAbR7zF9c1Szh3vxYPv6cfw = (NI)0;
						HEX3Atmp_lvvc7OiEyPZjG4Y3IOSm0A = (NI)0;
						LOC14 = (NI)0;
						LOC14 = sonslen_qPWPHw7WgJeEVYUdcaRIig(o0);
						HEX3Atmp_lvvc7OiEyPZjG4Y3IOSm0A = (NI)(LOC14 - ((NI) 1));
						res_B76GzkvYJAmBnudvSUbGxw = ((NI) 0);
						{
							while (1) {
								if (!(res_B76GzkvYJAmBnudvSUbGxw <= HEX3Atmp_lvvc7OiEyPZjG4Y3IOSm0A)) goto LA16;
								i_WAbR7zF9c1Szh3vxYPv6cfw = res_B76GzkvYJAmBnudvSUbGxw;
								{
									NIM_BOOL LOC19;
									LOC19 = (NIM_BOOL)0;
									LOC19 = singlepragma_gAHfkq2A9cJwmG6RdfNiZlA(c0, sym0, o0, i_WAbR7zF9c1Szh3vxYPv6cfw, validpragmas0);
									if (!LOC19) goto LA20;
									internalerror_MXmtqrCmYwtOPkDCFgUWKQ((*n0).info, ((NimStringDesc*) &T_tPA3StZ6VsKyoznyrIfFxg_83));
								}
								LA20: ;
								res_B76GzkvYJAmBnudvSUbGxw += ((NI) 1);
							} LA16: ;
						}
					}
					popinfocontext_GmmyRSXe1noER8ex1U9aGUA();
				}
				LA11: ;
				it0 = ((Toptionentry_qo5G3Yn2oEcK3x1oAHGvpw*) ((*it0).Sup.next));
			} LA8: ;
		}
		{
			NIM_BOOL LOC24;
			LOC24 = (NIM_BOOL)0;
			LOC24 = (((*sym0).loc.flags &(1U<<((NU)(((Tlocflag_o2bqJgR4ceIupnUSpxiudA) 5))&15U)))!=0);
			if (!(LOC24)) goto LA25;
			LOC24 = !((((*sym0).flags &(1U<<((NU)(((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 6))&31U)))!=0));
			LA25: ;
			if (!LOC24) goto LA26;
			localerror_VpilfPWbplGz6ny7O9cfr2g((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 82), ((NimStringDesc*) &T_tPA3StZ6VsKyoznyrIfFxg_61));
		}
		LA26: ;
		lib0 = (*((Toptionentry_qo5G3Yn2oEcK3x1oAHGvpw*) ((*c0).optionstack.tail))).dynlib;
		{
			NIM_BOOL LOC30;
			NIM_BOOL LOC31;
			LOC30 = (NIM_BOOL)0;
			LOC31 = (NIM_BOOL)0;
			LOC31 = ((80 & (*sym0).loc.flags) == 0);
			if (!(LOC31)) goto LA32;
			LOC31 = (((*sym0).flags &(1U<<((NU)(((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 5))&31U)))!=0);
			LA32: ;
			LOC30 = LOC31;
			if (!(LOC30)) goto LA33;
			LOC30 = !((lib0 == NIM_NIL));
			LA33: ;
			if (!LOC30) goto LA34;
			(*sym0).loc.flags |= ((NU16)1)<<((((Tlocflag_o2bqJgR4ceIupnUSpxiudA) 4))%(sizeof(NU16)*8));
			addtolib_fs29bxogp5ghcutVCHnP6Ew(lib0, sym0);
			{
				if (!((*sym0).loc.r == NIM_NIL)) goto LA38;
				asgnRefNoCycle((void**) (&(*sym0).loc.r), rope_53CHEX05HP0HacydnwoUYg((*(*sym0).name).s));
			}
			LA38: ;
		}
		LA34: ;
	}
	LA5: ;
}

N_NIMCALL(void, pragma_7200QCbjfWhEBN4qPDke4w)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tsym_AXG7xcvKqaxY6koRX1xkCw* sym0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw_Set validpragmas0) {
{	{
		if (!(n0 == NIM_NIL)) goto LA3;
		goto BeforeRet;
	}
	LA3: ;
	pragmarec_7200QCbjfWhEBN4qPDke4w_2(c0, sym0, n0, validpragmas0);
	implicitpragmas_7200QCbjfWhEBN4qPDke4w_3(c0, sym0, n0, validpragmas0);
	}BeforeRet: ;
}

N_NIMCALL(NIM_BOOL, haspragma_JViD3fSNjxPl61dYtezU6A)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw pragma0) {
	NIM_BOOL result0;
{	result0 = (NIM_BOOL)0;
	{
		NIM_BOOL LOC3;
		LOC3 = (NIM_BOOL)0;
		LOC3 = (n0 == NIM_NIL);
		if (LOC3) goto LA4;
		LOC3 = HEX3DHEX3D_Lrpi2N0XDlmkUBCjTBEG7Q((*n0).kindU.S6.sons, NIM_NIL);
		LA4: ;
		if (!LOC3) goto LA5;
		result0 = NIM_FALSE;
		goto BeforeRet;
	}
	LA5: ;
	{
		Tnode_bROa11lyF5vxEN9aYNbHmhw* p_8XRscPj9cfEOnMiMMTYhsUQ;
		TY_ehmV9bTklH2Gt9cXHV9c0HLeQ* HEX3Atmp_t5iSfd4fT9cX5rBekq9c9cpZg;
		NI i_qokf9c0dNRjgPeOv27JhhFQ;
		NI L_jMuIhKg9bNEq9cJcBRmvHumA;
		p_8XRscPj9cfEOnMiMMTYhsUQ = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0;
		HEX3Atmp_t5iSfd4fT9cX5rBekq9c9cpZg = (TY_ehmV9bTklH2Gt9cXHV9c0HLeQ*)0;
		HEX3Atmp_t5iSfd4fT9cX5rBekq9c9cpZg = (*n0).kindU.S6.sons;
		i_qokf9c0dNRjgPeOv27JhhFQ = ((NI) 0);
		L_jMuIhKg9bNEq9cJcBRmvHumA = (HEX3Atmp_t5iSfd4fT9cX5rBekq9c9cpZg ? HEX3Atmp_t5iSfd4fT9cX5rBekq9c9cpZg->Sup.len : 0);
		{
			while (1) {
				Tnode_bROa11lyF5vxEN9aYNbHmhw* key0;
				if (!(i_qokf9c0dNRjgPeOv27JhhFQ < L_jMuIhKg9bNEq9cJcBRmvHumA)) goto LA9;
				p_8XRscPj9cfEOnMiMMTYhsUQ = HEX3Atmp_t5iSfd4fT9cX5rBekq9c9cpZg->data[i_qokf9c0dNRjgPeOv27JhhFQ];
				{
					if (!((*p_8XRscPj9cfEOnMiMMTYhsUQ).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 34))) goto LA12;
					key0 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(p_8XRscPj9cfEOnMiMMTYhsUQ, ((NI) 0));
				}
				goto LA10;
				LA12: ;
				{
					key0 = p_8XRscPj9cfEOnMiMMTYhsUQ;
				}
				LA10: ;
				{
					NIM_BOOL LOC17;
					Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw LOC19;
					LOC17 = (NIM_BOOL)0;
					LOC17 = ((*key0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 2));
					if (!(LOC17)) goto LA18;
					LOC19 = (Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw)0;
					LOC19 = whichkeyword_WhYAAh6vF1PoyH6Hsspu4Q((*key0).kindU.S5.ident);
					LOC17 = (LOC19 == pragma0);
					LA18: ;
					if (!LOC17) goto LA20;
					result0 = NIM_TRUE;
					goto BeforeRet;
				}
				LA20: ;
				i_qokf9c0dNRjgPeOv27JhhFQ += ((NI) 1);
			} LA9: ;
		}
	}
	result0 = NIM_FALSE;
	goto BeforeRet;
	}BeforeRet: ;
	return result0;
}

N_NIMCALL(NIM_CHAR, pragmaasm_zyWdzlRcExhyQ9bpGo9bo4Kw)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) {
	NIM_CHAR result0;
	result0 = (NIM_CHAR)0;
	result0 = 0;
	{
		if (!!((n0 == NIM_NIL))) goto LA3;
		{
			NI i_Sy89ayV1TnF5ZPkwklVQRnw;
			NI HEX3Atmp_SEgUax1L78wgnaRY3BD1sw;
			NI LOC6;
			NI res_9bqgkY6OeaoYppLmV2beb0g;
			i_Sy89ayV1TnF5ZPkwklVQRnw = (NI)0;
			HEX3Atmp_SEgUax1L78wgnaRY3BD1sw = (NI)0;
			LOC6 = (NI)0;
			LOC6 = sonslen_qPWPHw7WgJeEVYUdcaRIig(n0);
			HEX3Atmp_SEgUax1L78wgnaRY3BD1sw = (NI)(LOC6 - ((NI) 1));
			res_9bqgkY6OeaoYppLmV2beb0g = ((NI) 0);
			{
				while (1) {
					Tnode_bROa11lyF5vxEN9aYNbHmhw* it0;
					if (!(res_9bqgkY6OeaoYppLmV2beb0g <= HEX3Atmp_SEgUax1L78wgnaRY3BD1sw)) goto LA8;
					i_Sy89ayV1TnF5ZPkwklVQRnw = res_9bqgkY6OeaoYppLmV2beb0g;
					it0 = (*n0).kindU.S6.sons->data[i_Sy89ayV1TnF5ZPkwklVQRnw];
					{
						NIM_BOOL LOC11;
						Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw LOC15;
						LOC11 = (NIM_BOOL)0;
						LOC11 = ((*it0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 34));
						if (!(LOC11)) goto LA12;
						LOC11 = ((*(*it0).kindU.S6.sons->data[((NI) 0)]).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 2));
						LA12: ;
						if (!LOC11) goto LA13;
						LOC15 = (Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw)0;
						LOC15 = whichkeyword_WhYAAh6vF1PoyH6Hsspu4Q((*(*it0).kindU.S6.sons->data[((NI) 0)]).kindU.S5.ident);
						switch (LOC15) {
						case ((Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw) 178):
						{
							{
								if (!((*(*it0).kindU.S6.sons->data[((NI) 1)]).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 5))) goto LA19;
								result0 = ((NIM_CHAR) (((NI) (((NI) ((*(*it0).kindU.S6.sons->data[((NI) 1)]).kindU.S1.intval))))));
							}
							goto LA17;
							LA19: ;
							{
								invalidpragma_4pFDaZSa9ahrvJKCrg4wQRA(it0);
							}
							LA17: ;
						}
						break;
						default:
						{
							invalidpragma_4pFDaZSa9ahrvJKCrg4wQRA(it0);
						}
						break;
						}
					}
					goto LA9;
					LA13: ;
					{
						invalidpragma_4pFDaZSa9ahrvJKCrg4wQRA(it0);
					}
					LA9: ;
					res_9bqgkY6OeaoYppLmV2beb0g += ((NI) 1);
				} LA8: ;
			}
		}
	}
	LA3: ;
	return result0;
}
NIM_EXTERNC N_NOINLINE(void, compiler_pragmasInit000)(void) {
}

NIM_EXTERNC N_NOINLINE(void, compiler_pragmasDatInit000)(void) {
}

