/* Generated by Nim Compiler v0.16.0 */ /* (c) 2017 Andreas Rumpf */ /* The generated code is subject to the original license. */ #define NIM_INTBITS 32 #include "nimbase.h" #include #include #include #include #include #include #include #include #include #undef linux typedef struct Exception Exception; typedef struct TNimType TNimType; typedef struct TNimNode TNimNode; typedef struct Avlnode_IaqjtwKhxLEpvDS9bct9blEw Avlnode_IaqjtwKhxLEpvDS9bct9blEw; typedef struct Gcheap_1TRH1TZMaVZTnLNcIHuNFQ Gcheap_1TRH1TZMaVZTnLNcIHuNFQ; typedef struct Gcstack_7fytPA5bBsob6See21YMRA Gcstack_7fytPA5bBsob6See21YMRA; typedef struct Cellseq_Axo1XVm9aaQueTOldv8le5w Cellseq_Axo1XVm9aaQueTOldv8le5w; typedef struct Cell_1zcF9cV8XIAtbN8h5HRUB8g Cell_1zcF9cV8XIAtbN8h5HRUB8g; 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 Gcstat_0RwLoVBHZPfUAcLczmfQAg Gcstat_0RwLoVBHZPfUAcLczmfQAg; typedef struct Cellset_jG87P0AI9aZtss9ccTYBIISQ Cellset_jG87P0AI9aZtss9ccTYBIISQ; typedef struct Pagedesc_fublkgIY4LG3mT51LU2WHg Pagedesc_fublkgIY4LG3mT51LU2WHg; typedef struct Basechunk_Sdq7WpT6qAH858F5ZEdG3w Basechunk_Sdq7WpT6qAH858F5ZEdG3w; typedef struct Freecell_u6M5LHprqzkn9axr04yg9bGQ Freecell_u6M5LHprqzkn9axr04yg9bGQ; typedef struct TGenericSeq TGenericSeq; typedef struct NimStringDesc NimStringDesc; typedef struct TSafePoint TSafePoint; typedef struct TNimObject TNimObject; typedef struct Overflowerror_I3Jtn27626sFBOls6BBQ2Q Overflowerror_I3Jtn27626sFBOls6BBQ2Q; typedef struct Arithmeticerror_QcJsjWXxMFpjHfkCIK5ExA Arithmeticerror_QcJsjWXxMFpjHfkCIK5ExA; typedef struct Systemerror_Fjf9b9b2IlzRO2tspHxG3tgg Systemerror_Fjf9b9b2IlzRO2tspHxG3tgg; typedef struct Outofmemerror_NrupLB36t9bV7iFDHtrF69aw Outofmemerror_NrupLB36t9bV7iFDHtrF69aw; typedef struct Valueerror_Gi06FkNeykJn7mrqRZYrkA Valueerror_Gi06FkNeykJn7mrqRZYrkA; typedef struct Ioerror_9czoZw3pzPyrBmb5zTHY1OQ Ioerror_9czoZw3pzPyrBmb5zTHY1OQ; typedef struct Reraiseerror_GRbrBa7JIulgD34jGcFb8w Reraiseerror_GRbrBa7JIulgD34jGcFb8w; typedef struct TY_XOVT24GHXwqiEj5GCsEGCA TY_XOVT24GHXwqiEj5GCsEGCA; typedef struct Assertionerror_8FC9arcap3s5ZtfMs75krtA Assertionerror_8FC9arcap3s5ZtfMs75krtA; typedef struct TY_iGkpo9aKQdr3NWelKC4cnJA TY_iGkpo9aKQdr3NWelKC4cnJA; typedef struct TY_a09bGTAl9ceOKTAytYdkbyKg TY_a09bGTAl9ceOKTAytYdkbyKg; typedef struct Tsym_AXG7xcvKqaxY6koRX1xkCw Tsym_AXG7xcvKqaxY6koRX1xkCw; typedef struct TY_zuqP4Riz26Oi5fWgPYVEgA TY_zuqP4Riz26Oi5fWgPYVEgA; typedef struct Ttype_LTUWCZolpovw9cWE3JBWSUw Ttype_LTUWCZolpovw9cWE3JBWSUw; typedef struct TY_DXS6mEo7PVUFJkirsQ9bNQA TY_DXS6mEo7PVUFJkirsQ9bNQA; typedef struct Tinstantiation_5LqgVn6Tq9ainQRK7TQAQxA Tinstantiation_5LqgVn6Tq9ainQRK7TQAQxA; typedef struct TY_ehmV9bTklH2Gt9cXHV9c0HLeQ TY_ehmV9bTklH2Gt9cXHV9c0HLeQ; typedef struct Tnode_bROa11lyF5vxEN9aYNbHmhw Tnode_bROa11lyF5vxEN9aYNbHmhw; typedef struct Rangeerror_wFuRaV3kWqFxI9b4hUjDJYA Rangeerror_wFuRaV3kWqFxI9b4hUjDJYA; typedef struct Oserror_3XwRQvmzCEOC4QnT706q1g Oserror_3XwRQvmzCEOC4QnT706q1g; typedef struct Keyerror_ifYAhUumNzWR9c9cN9amyJLtg Keyerror_ifYAhUumNzWR9c9cN9amyJLtg; typedef struct Indexerror_b0IIwghFQBADkB2c86kXQA Indexerror_b0IIwghFQBADkB2c86kXQA; typedef struct TY_1v9bKyksXWMsm0vNwmZ4EuQ TY_1v9bKyksXWMsm0vNwmZ4EuQ; typedef struct Slice_qL3WGViqT0p5sVr4YFHsLg Slice_qL3WGViqT0p5sVr4YFHsLg; typedef struct Divbyzeroerror_p6OJ2WGp1zYZkMyhPlJPZA Divbyzeroerror_p6OJ2WGp1zYZkMyhPlJPZA; typedef struct TY_xITzrU1RhJLKwBlRCAbn9bA TY_xITzrU1RhJLKwBlRCAbn9bA; typedef struct TY_uZlRb8w5pa9b16Yfjq9cGRXQ TY_uZlRb8w5pa9b16Yfjq9cGRXQ; typedef struct TY_oLpBKXzW3hF9aCVMo5EymfQ TY_oLpBKXzW3hF9aCVMo5EymfQ; typedef struct Jsonnodeobj_df9bshXB7C9cTiWPIOtX3j1Q Jsonnodeobj_df9bshXB7C9cTiWPIOtX3j1Q; typedef struct Indexentry_G9ccBDFWfr9aYnLgXTNGDHDg Indexentry_G9ccBDFWfr9aYnLgXTNGDHDg; typedef struct Tidobj_raN9cHVgzmvaXisezY9aGg9cg Tidobj_raN9cHVgzmvaXisezY9aGg9cg; typedef struct Tstrtable_f07aOS3dr28kGa5wcE29aFA Tstrtable_f07aOS3dr28kGa5wcE29aFA; typedef struct TY_sksVpmPRIkNR9axiwtD1Guw TY_sksVpmPRIkNR9axiwtD1Guw; typedef struct Tident_4umxGerWTHGPwUms7Yqu3g Tident_4umxGerWTHGPwUms7Yqu3g; typedef struct Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw; typedef struct Tloc_EtHNvCB0bgfu9bFjzx9cb6aA Tloc_EtHNvCB0bgfu9bFjzx9cb6aA; typedef struct Ropeobj_HF4qJnb6xiOddgPmsxodtQ Ropeobj_HF4qJnb6xiOddgPmsxodtQ; typedef struct Tlib_4f9aBgmqEuj7uWJdBBGcRgA Tlib_4f9aBgmqEuj7uWJdBBGcRgA; typedef struct Orderedtable_AF39bJ7XDr6gpANuGpxkHrw Orderedtable_AF39bJ7XDr6gpANuGpxkHrw; typedef struct TY_MlAD6nAPq9bHKla9cWiIZP0g TY_MlAD6nAPq9bHKla9cWiIZP0g; typedef struct Tlistentry_U4JkVlrJQaACKZ9a9cwCla3Q Tlistentry_U4JkVlrJQaACKZ9a9cwCla3Q; typedef struct TY_awOivLjlO76sGdHY7nQUjQ TY_awOivLjlO76sGdHY7nQUjQ; typedef N_NIMCALL_PTR(NIM_BOOL, TY_hgOQFBQi19biNdOUUkFOOxA) (Exception* e0); typedef N_NIMCALL_PTR(void, TY_T4eqaYlFJYZUv9aG9b1TV0bQ) (void); 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; }; typedef Avlnode_IaqjtwKhxLEpvDS9bct9blEw* TY_0aOLqZchNi8nWtMTi8ND8w[2]; struct Avlnode_IaqjtwKhxLEpvDS9bct9blEw { TY_0aOLqZchNi8nWtMTi8ND8w link; NI key; NI upperbound; NI level; }; 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; }; 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 Bigchunk_Rv9c70Uhp2TytkX7eH78qEg { Basechunk_Sdq7WpT6qAH858F5ZEdG3w Sup; Bigchunk_Rv9c70Uhp2TytkX7eH78qEg* next; Bigchunk_Rv9c70Uhp2TytkX7eH78qEg* prev; NI align; NF data; }; typedef NI TY_9agrCtWKhCnWWMJpKKugJag[16]; struct Trunk_W0r8S0Y3UGke6T9bIUWnnuw { Trunk_W0r8S0Y3UGke6T9bIUWnnuw* next; NI key; TY_9agrCtWKhCnWWMJpKKugJag bits; }; struct Llchunk_XsENErzHIZV9bhvyJx56wGw { NI size; NI acc; Llchunk_XsENErzHIZV9bhvyJx56wGw* next; }; struct TGenericSeq { NI len; NI reserved; }; struct NimStringDesc { TGenericSeq Sup; NIM_CHAR data[SEQ_DECL_SIZE]; }; struct Freecell_u6M5LHprqzkn9axr04yg9bGQ { Freecell_u6M5LHprqzkn9axr04yg9bGQ* next; NI zerofield; }; typedef N_NIMCALL_PTR(void, TY_W6IXMh2CA4X1rFYGjUb4yg) (NimStringDesc* msg0); struct TNimObject { TNimType* m_type; }; struct Exception { TNimObject Sup; Exception* parent; NCSTRING name; NimStringDesc* message; NimStringDesc* trace; }; typedef NU8 Walkop_Wfy7gT5VQ8B3aJBxqU8D9cQ; struct Cell_1zcF9cV8XIAtbN8h5HRUB8g { NI refcount; TNimType* typ; }; struct Pagedesc_fublkgIY4LG3mT51LU2WHg { Pagedesc_fublkgIY4LG3mT51LU2WHg* next; NI key; TY_9agrCtWKhCnWWMJpKKugJag bits; }; typedef NU8 Tnimtypeflag_v8QUszD1sWlSIWZz7mC4bQ; typedef NU8 Tnimnodekind_unfNsxrcATrufDZmpBq4HQ; struct TNimNode { Tnimnodekind_unfNsxrcATrufDZmpBq4HQ kind; NI offset; TNimType* typ; NCSTRING name; NI len; TNimNode** sons; }; typedef TFrame* TY_pFdcUVk36Xt0LD9bLg3YaIQ[128]; typedef N_NIMCALL_PTR(void, Finalizer) (void* self0); typedef N_NOCONV_PTR(void, TY_lfH2drpqP9aSEAAjWgrYv8Q) (int a0); typedef TY_T4eqaYlFJYZUv9aG9b1TV0bQ TY_r9aAb9cuhoh9cb9a123KVuMchQ[7001]; struct Arithmeticerror_QcJsjWXxMFpjHfkCIK5ExA { Exception Sup; }; struct Overflowerror_I3Jtn27626sFBOls6BBQ2Q { Arithmeticerror_QcJsjWXxMFpjHfkCIK5ExA Sup; }; 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 N_CLOSURE_PTR(NIM_BOOL, T_Q5wkpxktOdTGvlSRo9bzt9aw_6) (Exception* e0); struct Systemerror_Fjf9b9b2IlzRO2tspHxG3tgg { Exception Sup; }; struct Outofmemerror_NrupLB36t9bV7iFDHtrF69aw { Systemerror_Fjf9b9b2IlzRO2tspHxG3tgg Sup; }; typedef NIM_CHAR TY_gpc2RrLEcWgv7ONpLYNHOw[2001]; struct Valueerror_Gi06FkNeykJn7mrqRZYrkA { Exception Sup; }; struct Ioerror_9czoZw3pzPyrBmb5zTHY1OQ { Systemerror_Fjf9b9b2IlzRO2tspHxG3tgg Sup; }; typedef NU8 Filemode_fVUBHvW79bXUw1j55Oo9avSQ; typedef NimStringDesc* TY_7JTpIvL6tqeRI2Pp9asvFCA[5]; struct Reraiseerror_GRbrBa7JIulgD34jGcFb8w { Exception Sup; }; struct TY_XOVT24GHXwqiEj5GCsEGCA { NimStringDesc* Field0; NI Field1; }; typedef NF TY_yp9a149boki9cCCWgfXI0Ip4A[23]; typedef NIM_CHAR TY_PGLh8drTnaWr3s1qUUSq2Q[500]; struct Assertionerror_8FC9arcap3s5ZtfMs75krtA { Exception Sup; }; struct TY_a09bGTAl9ceOKTAytYdkbyKg { NI Field0; Tsym_AXG7xcvKqaxY6koRX1xkCw* Field1; }; typedef TY_a09bGTAl9ceOKTAytYdkbyKg TY_ns9bqkgvSZbKlHoKu0XkvnQ[1]; typedef Ttype_LTUWCZolpovw9cWE3JBWSUw* TY_BF9aKj6RAH9ccQDWaEKQ1HOw[1]; typedef Tinstantiation_5LqgVn6Tq9ainQRK7TQAQxA* TY_M0Qdpg6QRblpTaGFq09aZ9aQ[1]; struct Rangeerror_wFuRaV3kWqFxI9b4hUjDJYA { Exception Sup; }; struct Oserror_3XwRQvmzCEOC4QnT706q1g { Systemerror_Fjf9b9b2IlzRO2tspHxG3tgg Sup; NI32 errorcode; }; struct Keyerror_ifYAhUumNzWR9c9cN9amyJLtg { Valueerror_Gi06FkNeykJn7mrqRZYrkA Sup; }; struct Indexerror_b0IIwghFQBADkB2c86kXQA { Exception Sup; }; typedef NIM_CHAR TY_eVNFTutn6un5gcq48fQLdg[65]; typedef NU8 TY_YtcvxHNKV4YiecPE9ap1mcA[20]; struct TY_1v9bKyksXWMsm0vNwmZ4EuQ { NI Field0; NI Field1; }; typedef NU8 Fileseekpos_I9aQjuvWxs8BspGbxwsngWw; typedef NIM_CHAR TY_JpYObICIkqkM7eHG4jy19aw[60]; struct Tinstantiation_5LqgVn6Tq9ainQRK7TQAQxA { Tsym_AXG7xcvKqaxY6koRX1xkCw* sym; TY_zuqP4Riz26Oi5fWgPYVEgA* concretetypes; NI compilesid; }; struct Slice_qL3WGViqT0p5sVr4YFHsLg { NI a; NI b; }; struct Divbyzeroerror_p6OJ2WGp1zYZkMyhPlJPZA { Arithmeticerror_QcJsjWXxMFpjHfkCIK5ExA Sup; }; struct TY_uZlRb8w5pa9b16Yfjq9cGRXQ { Tsym_AXG7xcvKqaxY6koRX1xkCw* Field0; NI Field1; }; typedef TY_uZlRb8w5pa9b16Yfjq9cGRXQ TY_Kqu0Nh2uqdLKL0BvOlH1Ag[1]; struct Indexentry_G9ccBDFWfr9aYnLgXTNGDHDg { NimStringDesc* keyword; NimStringDesc* link; NimStringDesc* linktitle; NimStringDesc* linkdesc; }; struct Gcstack_7fytPA5bBsob6See21YMRA { Gcstack_7fytPA5bBsob6See21YMRA* prev; Gcstack_7fytPA5bBsob6See21YMRA* next; void* starts; void* pos; NI maxstacksize; }; struct Tidobj_raN9cHVgzmvaXisezY9aGg9cg { TNimObject Sup; NI id; }; typedef NU8 Tsymkind_cNCW9acsSznmEccl1fgQwkw; struct Tstrtable_f07aOS3dr28kGa5wcE29aFA { NI counter; TY_sksVpmPRIkNR9axiwtD1Guw* data; }; typedef NU16 Tmagic_shZhZOdbVC5nnFvcXQAImg; struct Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw { NI16 line; NI16 col; NI32 fileindex; }; 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; }; 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 NU16 Tnodeflag_jyh9acXHkhZANSSvPIY7ZLg_Set; typedef NU8 Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw; 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 NU8 Jsonnodekind_RUngo7nCHe6O8aBGIcrhtg; struct Orderedtable_AF39bJ7XDr6gpANuGpxkHrw { TY_MlAD6nAPq9bHKla9cWiIZP0g* data; NI counter; NI first; NI last; }; struct Jsonnodeobj_df9bshXB7C9cTiWPIOtX3j1Q { Jsonnodekind_RUngo7nCHe6O8aBGIcrhtg kind; union{ struct {NimStringDesc* str; } S1; struct {NI64 num; } S2; struct {NF fnum; } S3; struct {NIM_BOOL bval; } S4; struct {Orderedtable_AF39bJ7XDr6gpANuGpxkHrw fields; } S6; struct {TY_oLpBKXzW3hF9aCVMo5EymfQ* elems; } S7; } kindU; }; struct Tident_4umxGerWTHGPwUms7Yqu3g { Tidobj_raN9cHVgzmvaXisezY9aGg9cg Sup; NimStringDesc* s; Tident_4umxGerWTHGPwUms7Yqu3g* next; NI h; }; struct Ropeobj_HF4qJnb6xiOddgPmsxodtQ { TNimObject Sup; Ropeobj_HF4qJnb6xiOddgPmsxodtQ* left; Ropeobj_HF4qJnb6xiOddgPmsxodtQ* right; NI length; NimStringDesc* data; }; struct Tlistentry_U4JkVlrJQaACKZ9a9cwCla3Q { TNimObject Sup; Tlistentry_U4JkVlrJQaACKZ9a9cwCla3Q* prev; Tlistentry_U4JkVlrJQaACKZ9a9cwCla3Q* next; }; typedef NU8 Tlibkind_9b8v60kso59bBaw9cp8B9a9apKQ; struct Tlib_4f9aBgmqEuj7uWJdBBGcRgA { Tlistentry_U4JkVlrJQaACKZ9a9cwCla3Q Sup; Tlibkind_9b8v60kso59bBaw9cp8B9a9apKQ kind; NIM_BOOL generated; NIM_BOOL isoverriden; Ropeobj_HF4qJnb6xiOddgPmsxodtQ* name; Tnode_bROa11lyF5vxEN9aYNbHmhw* path; }; struct TY_awOivLjlO76sGdHY7nQUjQ { NI Field0; NI Field1; NimStringDesc* Field2; Jsonnodeobj_df9bshXB7C9cTiWPIOtX3j1Q* Field3; }; struct TY_iGkpo9aKQdr3NWelKC4cnJA { TGenericSeq Sup; TY_a09bGTAl9ceOKTAytYdkbyKg 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_ehmV9bTklH2Gt9cXHV9c0HLeQ { TGenericSeq Sup; Tnode_bROa11lyF5vxEN9aYNbHmhw* data[SEQ_DECL_SIZE]; }; struct TY_xITzrU1RhJLKwBlRCAbn9bA { TGenericSeq Sup; TY_uZlRb8w5pa9b16Yfjq9cGRXQ data[SEQ_DECL_SIZE]; }; struct TY_oLpBKXzW3hF9aCVMo5EymfQ { TGenericSeq Sup; Jsonnodeobj_df9bshXB7C9cTiWPIOtX3j1Q* data[SEQ_DECL_SIZE]; }; struct TY_sksVpmPRIkNR9axiwtD1Guw { TGenericSeq Sup; Tsym_AXG7xcvKqaxY6koRX1xkCw* data[SEQ_DECL_SIZE]; }; struct TY_MlAD6nAPq9bHKla9cWiIZP0g { TGenericSeq Sup; TY_awOivLjlO76sGdHY7nQUjQ data[SEQ_DECL_SIZE]; }; static N_INLINE(void, initallocator_neD9cJp4S9clvdaq5qqNFZAQsystem)(void); static N_INLINE(void, initStackBottom)(void); N_NOINLINE(void, setStackBottom)(void* thestackbottom0); N_NIMCALL(void, initgc_njssp69aa7hvxte9bJ8uuDcg)(void); N_NIMCALL(void, init_E1QNZGuo0DGFXyt4Y3MfqA)(Cellseq_Axo1XVm9aaQueTOldv8le5w* s0, NI cap0); N_NOCONV(void*, alloc0_4cubgSerkjpuLcj5MXjiLw)(NI size0); N_NIMCALL(void*, alloc0_WDxgSWQ1mSIerfvC0kmUtg)(Memregion_x81NhDv59b8ercDZ9bi85jyg* allocator0, NI size0); N_NIMCALL(void*, alloc_WDxgSWQ1mSIerfvC0kmUtg_2)(Memregion_x81NhDv59b8ercDZ9bi85jyg* allocator0, NI size0); N_NIMCALL(void*, rawalloc_yn9c8RLaS8vgVBeMBfmkdUg)(Memregion_x81NhDv59b8ercDZ9bi85jyg* a0, NI requestedsize0); static N_INLINE(NI, roundup_HS4HdHHFZPftyB49cpIyo7Asystem)(NI x0, NI v0); N_NIMCALL(Smallchunk_tXn60W2f8h3jgAYdEmy5NQ*, getsmallchunk_h6cvXbfQjxIdThM5GthosA)(Memregion_x81NhDv59b8ercDZ9bi85jyg* a0); N_NIMCALL(Bigchunk_Rv9c70Uhp2TytkX7eH78qEg*, getbigchunk_z9bCNjXTYllZ3pI24nEsw2g)(Memregion_x81NhDv59b8ercDZ9bi85jyg* a0, NI size0); static N_INLINE(void, listremove_ZRIe9cFnHOrfvS8VmLduoXQsystem)(Bigchunk_Rv9c70Uhp2TytkX7eH78qEg** head0, Bigchunk_Rv9c70Uhp2TytkX7eH78qEg* c0); N_NIMCALL(void, splitchunk_8QXhiy717OAl8WNA2X27EA)(Memregion_x81NhDv59b8ercDZ9bi85jyg* a0, Bigchunk_Rv9c70Uhp2TytkX7eH78qEg* c0, NI size0); static N_INLINE(void, updateprevsize_3G5wKZdFZhblebPYdFnpxQsystem)(Memregion_x81NhDv59b8ercDZ9bi85jyg* a0, Bigchunk_Rv9c70Uhp2TytkX7eH78qEg* c0, NI prevsize0); static N_INLINE(NIM_BOOL, isaccessible_5nqar3kL9acJcissrFLDdkwsystem)(Memregion_x81NhDv59b8ercDZ9bi85jyg* a0, void* p0); N_NIMCALL(NIM_BOOL, contains_tGsWrN4DY41H9btt3FhjrNA)(Intset_EZObFrE3NC9bIb3YMkY9crZA* s0, NI key0); N_NIMCALL(Trunk_W0r8S0Y3UGke6T9bIUWnnuw*, intsetget_FhOZKj4Gih3qQ5OimZYOrg)(Intset_EZObFrE3NC9bIb3YMkY9crZA* t0, NI key0); static N_INLINE(NI, pageindex_bDTXHqSShXKux9bZH4tvkVgsystem)(void* p0); N_NIMCALL(void, incl_Iz1GYiOVKwItgr5CdCm0dQ)(Memregion_x81NhDv59b8ercDZ9bi85jyg* a0, Intset_EZObFrE3NC9bIb3YMkY9crZA* s0, NI key0); N_NIMCALL(Trunk_W0r8S0Y3UGke6T9bIUWnnuw*, intsetput_KWgRM9bUk6rwhAaHSiuK9aYA)(Memregion_x81NhDv59b8ercDZ9bi85jyg* a0, Intset_EZObFrE3NC9bIb3YMkY9crZA* t0, NI key0); N_NIMCALL(void*, llalloc_fTkVQ4Gj2glm9btLqR9bdQDQ)(Memregion_x81NhDv59b8ercDZ9bi85jyg* a0, NI size0); static N_INLINE(void*, osallocpages_fxkHg9ajpjxOfBTuIyrgEfwsystem)(NI size0); N_NOINLINE(void, raiseoutofmem_II46IjNZztN9bmbxUD8dt8g)(void); static N_INLINE(void, inccurrmem_rxjvSU4wRoPOjezLtDzm3Qsystem)(Memregion_x81NhDv59b8ercDZ9bi85jyg* a0, NI bytes0); static N_INLINE(void, zeromem_7EL8Zq3xF2ujDWgp3bAEogsystem)(void* p0, NI size0); static N_INLINE(NI, pageindex_vFgXFo13iF61HsEG6epuwgsystem)(Basechunk_Sdq7WpT6qAH858F5ZEdG3w* c0); static N_INLINE(void, listadd_ZRIe9cFnHOrfvS8VmLduoXQ_2system)(Bigchunk_Rv9c70Uhp2TytkX7eH78qEg** head0, Bigchunk_Rv9c70Uhp2TytkX7eH78qEg* c0); N_NIMCALL(Bigchunk_Rv9c70Uhp2TytkX7eH78qEg*, requestoschunks_z9bCNjXTYllZ3pI24nEsw2g_2)(Memregion_x81NhDv59b8ercDZ9bi85jyg* a0, NI size_nndn31exLE0X2ABcjUVOzQ); static N_INLINE(void*, ostryallocpages_fxkHg9ajpjxOfBTuIyrgEfw_2system)(NI size0); static N_INLINE(void, listadd_DqXPtLsRUwQp3iwLtHEdIgsystem)(Smallchunk_tXn60W2f8h3jgAYdEmy5NQ** head0, Smallchunk_tXn60W2f8h3jgAYdEmy5NQ* c0); static N_INLINE(void, listremove_DqXPtLsRUwQp3iwLtHEdIg_2system)(Smallchunk_tXn60W2f8h3jgAYdEmy5NQ** head0, Smallchunk_tXn60W2f8h3jgAYdEmy5NQ* c0); N_NIMCALL(void, add_Xuf47u3imOz8BOk5HURLWQ)(Memregion_x81NhDv59b8ercDZ9bi85jyg* a0, Avlnode_IaqjtwKhxLEpvDS9bct9blEw** t0, NI key0, NI upperbound0); N_NIMCALL(Avlnode_IaqjtwKhxLEpvDS9bct9blEw*, allocavlnode_neSuioWH6NDTp8E9cNgBmjg)(Memregion_x81NhDv59b8ercDZ9bi85jyg* a0, NI key0, NI upperbound0); N_NIMCALL(void, skew_Cfx7NvEVZIhBjBm7i89boSg)(Avlnode_IaqjtwKhxLEpvDS9bct9blEw** t0); N_NIMCALL(void, split_Cfx7NvEVZIhBjBm7i89boSg_2)(Avlnode_IaqjtwKhxLEpvDS9bct9blEw** t0); N_NIMCALL(void, init_WHgd5C59bkXWDz3vnAxfzXQ)(Cellset_jG87P0AI9aZtss9ccTYBIISQ* s0); N_NIMCALL(void, nimGCvisit)(void* d0, NI op0); N_NIMCALL(void, dooperation_3F8QeaTyYrJJF2gjBr6b8A)(void* p0, Walkop_Wfy7gT5VQ8B3aJBxqU8D9cQ op0); static N_INLINE(Cell_1zcF9cV8XIAtbN8h5HRUB8g*, usrtocell_yB9aH5WIlwd0xkYrcdPeXrQsystem)(void* usr0); static N_INLINE(void, decref_MV4BBk6J1qu70IbBxwEn4wsystem)(Cell_1zcF9cV8XIAtbN8h5HRUB8g* c0); static N_INLINE(void, rtladdzct_MV4BBk6J1qu70IbBxwEn4w_2system)(Cell_1zcF9cV8XIAtbN8h5HRUB8g* c0); N_NOINLINE(void, addzct_fCDI7oO1NNVXXURtxSzsRw)(Cellseq_Axo1XVm9aaQueTOldv8le5w* s0, Cell_1zcF9cV8XIAtbN8h5HRUB8g* c0); static N_INLINE(void, add_Wcf8r6MCjrJeJ3HSYwSp0Qsystem)(Cellseq_Axo1XVm9aaQueTOldv8le5w* s0, Cell_1zcF9cV8XIAtbN8h5HRUB8g* c0); N_NOCONV(void*, alloc_4cubgSerkjpuLcj5MXjiLw_2)(NI size0); static N_INLINE(void, copymem_fPlwH3r9agN9aEHB6yCPMh0wsystem)(void* dest0, void* source0, NI size0); N_NOCONV(void, dealloc_RCjNtRnHdRYntrcE7YtwWw)(void* p0); N_NIMCALL(void, dealloc_jqYVOi4APb9cRx3G9a57AkRw)(Memregion_x81NhDv59b8ercDZ9bi85jyg* allocator0, void* p0); N_NIMCALL(void, rawdealloc_DA62HrGC5sdfCED505KyyQ)(Memregion_x81NhDv59b8ercDZ9bi85jyg* a0, void* p0); static N_INLINE(Basechunk_Sdq7WpT6qAH858F5ZEdG3w*, pageaddr_4uti7hTxTUDxUPqFMgMvHAsystem)(void* p0); static N_INLINE(NIM_BOOL, issmallchunk_xxNWShoyEPMUVN7FvfpDjwsystem)(Basechunk_Sdq7WpT6qAH858F5ZEdG3w* c0); N_NIMCALL(void, freebigchunk_CAqFS1jFL1RxG80t9bOGmAA)(Memregion_x81NhDv59b8ercDZ9bi85jyg* a0, Bigchunk_Rv9c70Uhp2TytkX7eH78qEg* c_Dm5SSuXWIa9cuGiJqMKyKFA); static N_INLINE(NIM_BOOL, chunkunused_xxNWShoyEPMUVN7FvfpDjw_2system)(Basechunk_Sdq7WpT6qAH858F5ZEdG3w* c0); N_NIMCALL(void, excl_Z9cZKmN1jjRFCzU0lgW9a1XA)(Intset_EZObFrE3NC9bIb3YMkY9crZA* s0, NI key0); N_NIMCALL(void, freeoschunks_9bYkqlcspX9aiTE9a83Z3Ocjw)(Memregion_x81NhDv59b8ercDZ9bi85jyg* a0, void* p0, NI size0); static N_INLINE(void, osdeallocpages_I1brEDH0C8CP9a0HfGYsDvAsystem)(void* p0, NI size0); static N_INLINE(void, deccurrmem_rxjvSU4wRoPOjezLtDzm3Q_2system)(Memregion_x81NhDv59b8ercDZ9bi85jyg* a0, NI bytes0); N_NIMCALL(void, del_hPrZ9bxLZK5QpoftxoRaXvA)(Memregion_x81NhDv59b8ercDZ9bi85jyg* a0, Avlnode_IaqjtwKhxLEpvDS9bct9blEw** t0, NI x0); static N_INLINE(void, deallocavlnode_E5Kui5a9artJoR6jEn007Vgsystem)(Memregion_x81NhDv59b8ercDZ9bi85jyg* a0, Avlnode_IaqjtwKhxLEpvDS9bct9blEw* n0); N_NIMCALL(void, marks_NZr5o3Ubzrci4OmK29cHBJA)(Gcheap_1TRH1TZMaVZTnLNcIHuNFQ* gch0, Cell_1zcF9cV8XIAtbN8h5HRUB8g* c0); N_NOINLINE(void, incl_m4q9b16kJJcoKe9c4ERtlpCg)(Cellset_jG87P0AI9aZtss9ccTYBIISQ* s0, Cell_1zcF9cV8XIAtbN8h5HRUB8g* cell0); N_NIMCALL(Pagedesc_fublkgIY4LG3mT51LU2WHg*, cellsetput_mFUFZ7eVLRT9bMaHzrsxFrQ)(Cellset_jG87P0AI9aZtss9ccTYBIISQ* t0, NI key0); static N_INLINE(NI, nexttry_GRX2KbRyW3mlDDFEU50uhwsystem)(NI h0, NI maxhash0); N_NIMCALL(void, cellsetenlarge_ZCqaZEiX9aUtDCRoknrJ9bpQ)(Cellset_jG87P0AI9aZtss9ccTYBIISQ* t0); N_NIMCALL(void, cellsetrawinsert_IccmFuD44fG6qfTRJKp9aSQ)(Cellset_jG87P0AI9aZtss9ccTYBIISQ t0, Pagedesc_fublkgIY4LG3mT51LU2WHg** data0, Pagedesc_fublkgIY4LG3mT51LU2WHg* desc0); N_NIMCALL(void, forallchildren_yHFnLgI7q81iFxRlb3Iqlw)(Cell_1zcF9cV8XIAtbN8h5HRUB8g* cell0, Walkop_Wfy7gT5VQ8B3aJBxqU8D9cQ op0); static N_INLINE(void*, celltousr_vA0UG8JLZvpzP1Xf3vkPgwsystem)(Cell_1zcF9cV8XIAtbN8h5HRUB8g* cell0); N_NIMCALL(void, forallchildrenaux_YOI1Uo54H9aas13WthjhsfA)(void* dest0, TNimType* mt0, Walkop_Wfy7gT5VQ8B3aJBxqU8D9cQ op0); N_NIMCALL(void, forallslotsaux_g4QpsZWzXQMKa0ugIze5Kw)(void* dest0, TNimNode* n0, Walkop_Wfy7gT5VQ8B3aJBxqU8D9cQ op0); N_NIMCALL(TNimNode*, selectbranch_MvIsyjoRI1g7VY9cXrLB1dQ)(void* aa0, TNimNode* n0); N_NIMCALL(NI, getdiscriminant_wq1GP7ZPZ7P1uZUypfc9ciA)(void* aa0, TNimNode* n0); N_NIMCALL(NIM_BOOL, containsorincl_CbGEjIBKJIi7knlaDzUluA)(Cellset_jG87P0AI9aZtss9ccTYBIISQ* s0, Cell_1zcF9cV8XIAtbN8h5HRUB8g* cell0); N_NIMCALL(Pagedesc_fublkgIY4LG3mT51LU2WHg*, cellsetget_X4WTfs0wkld8wp8XcE9b8BA)(Cellset_jG87P0AI9aZtss9ccTYBIISQ t0, NI key0); static N_NIMCALL(void, Marker_TY_oUKtBcKRdK6usj8RWrlp6A)(void* p, NI op); static N_NIMCALL(void, T_Q5wkpxktOdTGvlSRo9bzt9aw_4)(void); N_NIMCALL(void, nimRegisterGlobalMarker)(TY_T4eqaYlFJYZUv9aG9b1TV0bQ markerproc0); N_NOCONV(void, signalHandler)(int sign0); N_NIMCALL(void, showerrormessage_rsUJ87b89bH0GlWKYL9c8wUQ)(NCSTRING data0); N_NIMCALL(NimStringDesc*, cstrToNimstr)(NCSTRING str0); N_NIMCALL(NimStringDesc*, toNimStr)(NCSTRING str0, NI len0); N_NIMCALL(NimStringDesc*, rawNewStringNoInit)(NI space0); N_NIMCALL(void*, newObjNoInit)(TNimType* typ0, NI size0); N_NIMCALL(void*, rawnewobj_QBPo5VW2O56Eeh8hPbQ7Pg)(TNimType* typ0, NI size0, Gcheap_1TRH1TZMaVZTnLNcIHuNFQ* gch0); N_NIMCALL(void, collectct_zoTIuavlrCHyw3B8MBaLJA)(Gcheap_1TRH1TZMaVZTnLNcIHuNFQ* gch0); N_NOINLINE(NI, stacksize_IV9bgfYkinlae0WZ2NZi5JA)(void); static N_INLINE(NI, getoccupiedmem_61WxanWSOmDDV2uI7O10dQsystem)(Memregion_x81NhDv59b8ercDZ9bi85jyg* a0); N_NIMCALL(void, collectctbody_zoTIuavlrCHyw3B8MBaLJA_2)(Gcheap_1TRH1TZMaVZTnLNcIHuNFQ* gch0); static N_INLINE(void, prepareforinteriorpointerchecking_Zqr3EQAAcehIfp3uSECEuQsystem)(Memregion_x81NhDv59b8ercDZ9bi85jyg* a0); N_NIMCALL(NI, lowgauge_3mwQtFaBTgevFrybZdgUNw)(Avlnode_IaqjtwKhxLEpvDS9bct9blEw* n0); N_NIMCALL(NI, highgauge_3mwQtFaBTgevFrybZdgUNw_2)(Avlnode_IaqjtwKhxLEpvDS9bct9blEw* n0); N_CDECL(void, markstackandregisters_LdwvBL9bC9c0lik7K9bau9bX0Q)(Gcheap_1TRH1TZMaVZTnLNcIHuNFQ* gch0); static N_INLINE(void, gcmark_JLiT51Zk6OLnaexGSTHHEQsystem)(Gcheap_1TRH1TZMaVZTnLNcIHuNFQ* gch0, void* p0); N_NIMCALL(void*, interiorallocatedptr_N7XNyRgfMLnCjS9bVeVc3bA)(Memregion_x81NhDv59b8ercDZ9bi85jyg* a0, void* p0); N_NIMCALL(Avlnode_IaqjtwKhxLEpvDS9bct9blEw*, inrange_Bc4Ua6HOMCIDGx9b15HSY4g)(Avlnode_IaqjtwKhxLEpvDS9bct9blEw* root0, NI key0); N_NIMCALL(NIM_BOOL, collectzct_evVbQ9bNF7LYMhoG9aWXu9bKw)(Gcheap_1TRH1TZMaVZTnLNcIHuNFQ* gch0); N_NIMCALL(void, preparedealloc_0Ao1u9cpV0dTuUB5G9cEQ8eQ)(Cell_1zcF9cV8XIAtbN8h5HRUB8g* cell0); N_NIMCALL(void, collectcycles_zoTIuavlrCHyw3B8MBaLJA_3)(Gcheap_1TRH1TZMaVZTnLNcIHuNFQ* gch0); N_NIMCALL(void, cellsetreset_WHgd5C59bkXWDz3vnAxfzXQ_2)(Cellset_jG87P0AI9aZtss9ccTYBIISQ* s0); N_NIMCALL(void, deinit_WHgd5C59bkXWDz3vnAxfzXQ_3)(Cellset_jG87P0AI9aZtss9ccTYBIISQ* s0); N_NIMCALL(void, markglobals_zoTIuavlrCHyw3B8MBaLJA_4)(Gcheap_1TRH1TZMaVZTnLNcIHuNFQ* gch0); N_NIMCALL(void, sweep_zoTIuavlrCHyw3B8MBaLJA_5)(Gcheap_1TRH1TZMaVZTnLNcIHuNFQ* gch0); static N_INLINE(NIM_BOOL, iscell_CkuKXXC4hAqaVj8vwjANDAsystem)(void* p0); N_NIMCALL(NIM_BOOL, contains_9c4TZ2Zl3sU4TUeK9bR8E9ciw)(Cellset_jG87P0AI9aZtss9ccTYBIISQ s0, Cell_1zcF9cV8XIAtbN8h5HRUB8g* cell0); N_NIMCALL(void, freecycliccell_NZr5o3Ubzrci4OmK29cHBJA_2)(Gcheap_1TRH1TZMaVZTnLNcIHuNFQ* gch0, Cell_1zcF9cV8XIAtbN8h5HRUB8g* c0); N_NIMCALL(NI, getoccupiedmem_9bFvoxSITMVCg7RY8KIar1Q)(void); N_NIMCALL(NI, gettotalmem_9bFvoxSITMVCg7RY8KIar1Q_2)(void); N_NIMCALL(NI, getfreemem_9bFvoxSITMVCg7RY8KIar1Q_3)(void); N_NIMCALL(void, unmarkstackandregisters_zoTIuavlrCHyw3B8MBaLJA_6)(Gcheap_1TRH1TZMaVZTnLNcIHuNFQ* gch0); static N_INLINE(void, addnewobjtozct_Ga5iPZj9bPFJIiW7GQdxs7gsystem)(Cell_1zcF9cV8XIAtbN8h5HRUB8g* res0, Gcheap_1TRH1TZMaVZTnLNcIHuNFQ* gch0); N_NIMCALL(void, writetostderr_7HRVfGfZT2rSmBdcLxl8TA)(NCSTRING msg0); N_NIMCALL(void, write_ADGLlEJAOtGNWWur8rrJfg)(FILE* f0, NCSTRING c0); N_NIMCALL(void, registersignalhandler_njssp69aa7hvxte9bJ8uuDcg_2)(void); N_NIMCALL(NI, getRefcount)(void* p0); N_NIMCALL(void*, newObjRC1)(TNimType* typ0, NI size0); static N_INLINE(NI, addInt)(NI a0, NI b0); N_NOINLINE(void, raiseOverflow)(void); static N_INLINE(void, sysfatal_cjY6dGD4PiJNY9cmtw6Ay8Qsystem)(NimStringDesc* message0) __attribute__((noreturn)); static N_NIMCALL(void, Marker_TY_6woiEp3hwhYMr1p5tjkZvA)(void* p, NI op); N_NIMCALL(void*, newObj)(TNimType* typ0, NI size0); N_NIMCALL(NimStringDesc*, copyStringRC1)(NimStringDesc* src0); static N_INLINE(void, nimGCunrefNoCycle)(void* p0); N_NIMCALL(void, raiseException)(Exception* e0, NCSTRING ename0); N_NIMCALL(void, raiseexceptionaux_jP8mO9c3YubVoLarNIvGorQ)(Exception* e0); static N_INLINE(void, pushCurrentException)(Exception* e0); static N_INLINE(void, asgnRef)(void** dest0, void* src0); static N_INLINE(void, incref_9cAA5YuQAAC3MVbnGeV86swsystem)(Cell_1zcF9cV8XIAtbN8h5HRUB8g* c0); static N_INLINE(NIM_BOOL, isObjWithCache)(TNimType* obj0, TNimType* subclass0, TNimType** cache0); N_NOINLINE(NIM_BOOL, isobjslowpath_k9bdq9bQE075AR7scLFt5wIg)(TNimType* obj0, TNimType* subclass0, TNimType** cache0); static N_INLINE(void, quitordebug_IZ2oOmqdsYQ7vixQGKSDcAsystem)(void); N_NIMCALL(NI, mulInt)(NI a0, NI b0); N_NOINLINE(NIM_BOOL, isonstack_dJJW59cIgsBmT59aZrOM71Mg)(void* p0); static N_INLINE(void, sysfatal_i2L89a3lg6SlU5J9amD3c3ewsystem)(NimStringDesc* message0) __attribute__((noreturn)); static N_NIMCALL(void, Marker_TY_yCEN9anxCD6mzBxGjuaRBdg)(void* p, NI op); N_NIMCALL(void, unsureAsgnRef)(void** dest0, void* src0); N_NIMCALL(void, genericresetaux_byg9cq1Sxxop7ZDN9b4I0riw)(void* dest0, TNimNode* n0); N_NIMCALL(void, genericReset)(void* dest0, TNimType* mt0); N_NIMCALL(NimStringDesc*, rawNewString)(NI space0); N_NIMCALL(NimStringDesc*, copyStrLast)(NimStringDesc* s0, NI start_WPWyPKk58Cr5a6XFFviMjg, NI last0); static N_INLINE(NI, resize_bzF9a0JivP3Z4njqaxuLc5wsystem)(NI old0); N_NIMCALL(void*, growobj_AVYny8c0GTk28gxjmat1MA)(void* old0, NI newsize0); N_NIMCALL(void*, growobj_FZeyQYjWPcE9c06y1gNqZxw)(void* old0, NI newsize0, Gcheap_1TRH1TZMaVZTnLNcIHuNFQ* gch0); N_NIMCALL(NimStringDesc*, mnewString)(NI len0); N_NIMCALL(NimStringDesc*, mnewString)(NI len0); N_NIMCALL(void, genericassignaux_T3cq9aUp9bgGOBuyUSWGriTA)(void* dest0, void* src0, TNimType* mt0, NIM_BOOL shallow0); N_NIMCALL(NimStringDesc*, copyString)(NimStringDesc* src0); N_NIMCALL(void*, newSeq)(TNimType* typ0, NI len0); N_NIMCALL(void, genericassignaux_ulsQvfENf9buS9atYunbm7gA)(void* dest0, void* src0, TNimNode* n0, NIM_BOOL shallow0); N_NIMCALL(NimStringDesc*, rawNewString)(NI cap0); N_NIMCALL(void, add_IbYQ9cTcoQ89aIwM2IEYGMng)(NimStringDesc** result0, NI64 x0); N_NIMCALL(NimStringDesc*, setLengthStr)(NimStringDesc* s0, NI newlen0); N_NIMCALL(NimStringDesc*, resizeString)(NimStringDesc* dest0, NI addlen0); N_NIMCALL(NI, writebuffer_nZ0pNe9cd9cXtoayexCiaDtA)(FILE* f0, void* buffer0, NI len0); N_NOINLINE(void, raiseeio_PpfSiTIeNpMAb9a5o6SglJw)(NimStringDesc* msg0) __attribute__((noreturn)); static N_INLINE(void, sysfatal_orK8PicRB9bj8BG69bF8HQbwsystem)(NimStringDesc* message0) __attribute__((noreturn)); static N_NIMCALL(void, Marker_TY_HX2M9cQhE3jaovp9aYJDdslA)(void* p, NI op); N_NIMCALL(int, getfilehandle_bZ9c2yojtXoDTUpfyl8h8Rg)(FILE* f0); N_NIMCALL(void, close_BWnr8V7RERYno9bIdPmw8Hw_2)(FILE* f0); static N_NIMCALL(void, Marker_TY_1VeTzqrFu2VJ4a6cGvuoyA)(void* p, NI op); N_NIMCALL(TNimType*, extGetCellType)(void* c0); N_NIMCALL(NIM_BOOL, open_sEp0GH2306oGo9bqBpj5oTQ)(FILE** f0, NimStringDesc* filename0, Filemode_fVUBHvW79bXUw1j55Oo9avSQ mode0, NI bufsize0); static N_INLINE(void, sysfatal_p4l3kdztdOPD3nsQRAEDqwsystem)(NimStringDesc* message0, NimStringDesc* arg0) __attribute__((noreturn)); static N_INLINE(void, appendString)(NimStringDesc* dest0, NimStringDesc* src0); static N_INLINE(void, asgnRefNoCycle)(void** dest0, void* src0); static N_INLINE(void, sysfatal_gu8AGlf3JTsS25q0fXJFMAsystem)(NimStringDesc* message0) __attribute__((noreturn)); static N_NIMCALL(void, Marker_TY_beOxjNaux3PfvyYBLMJh2A)(void* p, NI op); N_NIMCALL(NimStringDesc*, nimIntToStr)(NI x0); static N_INLINE(void, sysfatal_mWrNPcJugise9aqN0yGByGwsystem)(NimStringDesc* message0) __attribute__((noreturn)); static N_NIMCALL(void, Marker_TY_TmgWlPUbRr7iGD2UE1cu6A)(void* p, NI op); N_NIMCALL(NIM_BOOL, HEX3DHEX3D_9blrFJat6Z3Pwrl6WQ3wOyA)(TY_iGkpo9aKQdr3NWelKC4cnJA* x0, TY_iGkpo9aKQdr3NWelKC4cnJA* y0); static N_INLINE(void*, seqtoptr_WLLxNks0H5OcVBUlMtVoJgsystem)(TY_iGkpo9aKQdr3NWelKC4cnJA* x0); N_NIMCALL(NIM_BOOL, HEX3DHEX3D_4vF9aSO3XAhG3fa1Zv59ahoA)(TY_a09bGTAl9ceOKTAytYdkbyKg x0, TY_a09bGTAl9ceOKTAytYdkbyKg y0); N_NIMCALL(TGenericSeq*, incrSeqV2)(TGenericSeq* seq0, NI elemsize0); N_NIMCALL(NIM_BOOL, HEX3DHEX3D_59b802owH8LncWkMg9cCE3ng)(TY_zuqP4Riz26Oi5fWgPYVEgA* x0, TY_zuqP4Riz26Oi5fWgPYVEgA* y0); static N_INLINE(void*, seqtoptr_V7AASvGxu8gMLloMW9ckRJgsystem)(TY_zuqP4Riz26Oi5fWgPYVEgA* x0); N_NIMCALL(NIM_BOOL, HEX3DHEX3D_8Lfd9cW8bn5vR0HyDvQO6Hw)(TY_DXS6mEo7PVUFJkirsQ9bNQA* x0, TY_DXS6mEo7PVUFJkirsQ9bNQA* y0); static N_INLINE(void*, seqtoptr_E0S8l8wqU9aGJ4REWeYF9aMAsystem)(TY_DXS6mEo7PVUFJkirsQ9bNQA* x0); N_NIMCALL(void, objectinitaux_byg9cq1Sxxop7ZDN9b4I0riw_2)(void* dest0, TNimNode* n0); N_NIMCALL(void, objectInit)(void* dest0, TNimType* typ0); N_NIMCALL(void*, realloc_O21OiSxurjvup9cA55o9ae1A)(Memregion_x81NhDv59b8ercDZ9bi85jyg* allocator0, void* p0, NI newsize0); N_NIMCALL(NI, ptrsize_FVy3yH9cNo61BYTEPuP9awLA)(void* p0); static N_NIMCALL(void, Marker_TY_Qx9aKy4vZ9bVz9bnG9brQcRHGA)(void* p, NI op); static N_NIMCALL(void, Marker_TY_axqhRnwd09cVJkRcojfw6mA)(void* p, NI op); static N_NIMCALL(void, Marker_TY_z58cIdR0vOibqJ0QwYvB3Q)(void* p, NI op); N_NIMCALL(void, add_A9bDQDKw5SEqD3OvtOnC1bg)(NimStringDesc** result0, NF x0); N_NIMCALL(void, add_XyS0BXa1E5ylXzhvUQlY9cg)(NimStringDesc** x0, NCSTRING y0); N_NIMCALL(NimStringDesc*, addChar)(NimStringDesc* s0, NIM_CHAR c0); N_NIMCALL(void, genericAssign)(void* dest0, void* src0, TNimType* mt0); static N_INLINE(void, pushSafePoint)(TSafePoint* s0); N_NIMCALL(NimStringDesc*, readall_y7iEIBoIrYlvsLCqA1SrwQ)(FILE* file0); N_NIMCALL(NI, rawfilesize_jO6UN73ASx5jqerEr5FqZg)(FILE* file0); N_NIMCALL(NimStringDesc*, readallfile_nEoG9c9aoJvOPVkq2dsFRb5Q)(FILE* file0, NI len0); N_NIMCALL(NI, readbuffer_nZ0pNe9cd9cXtoayexCiaDtA_2)(FILE* f0, void* buffer0, NI len0); N_NIMCALL(NIM_BOOL, endoffile_OpxMRqWNQzmofyVQsNQqVA)(FILE* f0); N_NIMCALL(NimStringDesc*, readallbuffer_QygGtYi2d8AILktDeUIkvQ)(FILE* file0); static N_INLINE(void, popSafePoint)(void); N_NIMCALL(void, reraiseException)(void); N_NIMCALL(void, write_c4mGyJBvK73pdM22jiweKQ)(FILE* f0, NimStringDesc* s0); N_NIMCALL(NIM_BOOL, readline_sO1bQXVRA6RP9cdYJXNKeSw)(FILE* f0, NimStringDesc** line0); static N_INLINE(void*, seqtoptr_UBfBryAYqlhRuB3xDBSdewsystem)(TY_ehmV9bTklH2Gt9cXHV9c0HLeQ* x0); N_NIMCALL(TGenericSeq*, setLengthSeq)(TGenericSeq* seq0, NI elemsize0, NI newlen0); static N_INLINE(void*, seqtoptr_5LSLp9bLEbGkcuZoyatgBhQsystem)(TY_xITzrU1RhJLKwBlRCAbn9bA* x0); N_NIMCALL(NIM_BOOL, HEX3DHEX3D_WL2jrWYjqeu1iJ3niRta5w)(TY_uZlRb8w5pa9b16Yfjq9cGRXQ x0, TY_uZlRb8w5pa9b16Yfjq9cGRXQ y0); static N_INLINE(void*, seqtoptr_P9cvIFF9bpRb4kxDjjhjfgYgsystem)(TY_xITzrU1RhJLKwBlRCAbn9bA* x0); N_NIMCALL(NIM_BOOL, HEX3DHEX3D_PtDo4JMF3tDx4sqhk0oigw)(TY_uZlRb8w5pa9b16Yfjq9cGRXQ x0, TY_uZlRb8w5pa9b16Yfjq9cGRXQ y0); N_NIMCALL(NIM_BOOL, HEX3DHEX3D_A8XZmS2kUPRhG84nvOg1Nw)(TY_xITzrU1RhJLKwBlRCAbn9bA* x0, TY_xITzrU1RhJLKwBlRCAbn9bA* y0); static N_INLINE(void*, seqtoptr_3GXdYap6cQyJyX7ox0bY8wsystem)(TY_oLpBKXzW3hF9aCVMo5EymfQ* x0); N_NIMCALL(NIM_BOOL, HEX3DHEX3D_Ujpjfumo30l2ielPaquw0Q)(Jsonnodeobj_df9bshXB7C9cTiWPIOtX3j1Q* a0, Jsonnodeobj_df9bshXB7C9cTiWPIOtX3j1Q* b0); static N_INLINE(NIM_BOOL, eqStrings)(NimStringDesc* a0, NimStringDesc* b0); static N_INLINE(NIM_BOOL, equalmem_DCrUjdaMvFDHaR1hs7sQGwropes)(void* a0, void* b0, NI size0); static N_INLINE(void, Gcdisable_neD9cJp4S9clvdaq5qqNFZAQrodread)(void); N_NIMCALL(NimStringDesc*, nimInt64ToStr)(NI64 x0); static N_INLINE(void, Gcenable_neD9cJp4S9clvdaq5qqNFZAQ_2rodread)(void); NIM_BOOL nimvm_IAxmsqnME4Jmed24hOgrFQ; NI nim_program_result; TY_hgOQFBQi19biNdOUUkFOOxA globalraisehook_JbO1ti4ULxrw54m4zNPbpA; TY_hgOQFBQi19biNdOUUkFOOxA localraisehook_EIvMhANBvB9cp2Ezvt29cADg; TY_T4eqaYlFJYZUv9aG9b1TV0bQ outofmemhook_kZNaA7u1MfSW5ZeoGvw8xg; TNimType strdesc_D0UzA4zsDu5tgpJQ9a9clXPg; TY_W6IXMh2CA4X1rFYGjUb4yg errormessagewriter_ZXnv0JyrWe3HTd07wpSr7A; TFrame* frameptr_HRfVMH3jYeBJz6Q6X9b6Ptw; TSafePoint* exchandler_rqLlY5bs9atDw2OXYqJEn5g; Exception* currexception_9bVPeDJlYTi9bQApZpfH8wjg; TNimType NTI_13RNkKqUOX1TtorOUlKtqA; TNimType NTI_bAvOj2UcojKN87yAQLs0aw; TNimType NTI_S9agCYBinaYZnGWcjTdxclg; TNimType NTI_77mFvmsOLKik79ci2hXkHEg; TNimType NTI_oUKtBcKRdK6usj8RWrlp6A; TY_pFdcUVk36Xt0LD9bLg3YaIQ tempframes_7nBYIr2UsDREpYylZK4fug; Avlnode_IaqjtwKhxLEpvDS9bct9blEw bottomdata_BPOhZntfu5k9cx0Mom9aGo0A; Avlnode_IaqjtwKhxLEpvDS9bct9blEw* bottom_KT33MhtjYZUZyUdbeLIpkg; Gcheap_1TRH1TZMaVZTnLNcIHuNFQ gch_IcYaEuuWivYAS86vFMTS3Q; NI globalmarkerslen_hgEFy3UCOBoalBh29asu5MA; TY_r9aAb9cuhoh9cb9a123KVuMchQ globalmarkers_5ghwSgpo9cT9bT7YStQDJHVQ; TNimType NTI_rR5Bzr1D5krxoo1NcNyeMA; TNimType NTI_QcJsjWXxMFpjHfkCIK5ExA; TNimType NTI_I3Jtn27626sFBOls6BBQ2Q; TNimType NTI_6woiEp3hwhYMr1p5tjkZvA; TNimType NTI_Fjf9b9b2IlzRO2tspHxG3tgg; TNimType NTI_NrupLB36t9bV7iFDHtrF69aw; static TNimType* Nim_OfCheck_CACHE8[2]; TNimType NTI_sVg18TP9cLifHyygRe9cro9aA; TNimType NTI_Gi06FkNeykJn7mrqRZYrkA; TNimType NTI_yCEN9anxCD6mzBxGjuaRBdg; TNimType NTI_kDPg4wXyR8DDyA0MeEjIsw; TNimType NTI_9czoZw3pzPyrBmb5zTHY1OQ; TNimType NTI_HX2M9cQhE3jaovp9aYJDdslA; TNimType NTI_VaVACK0bpYmqIQ0mKcHfQQ; TNimType NTI_Aav8dQoMlCFnZRxA0IhTHQ; TNimType NTI_w9bl9a1ul9ctRJWiMl9cNnIMvg; TNimType NTI_1VeTzqrFu2VJ4a6cGvuoyA; TNimType NTI_nlCscttRCss70IBTyuBqnA; TNimType NTI_k3HXouOuhqAKq0dx450lXQ; TNimType NTI_JrFyJbYm9b5I4hJ9cWDqvfYA; TNimType NTI_GRbrBa7JIulgD34jGcFb8w; TNimType NTI_beOxjNaux3PfvyYBLMJh2A; TNimType NTI_8FC9arcap3s5ZtfMs75krtA; TNimType NTI_TmgWlPUbRr7iGD2UE1cu6A; extern TNimType NTI_iGkpo9aKQdr3NWelKC4cnJA; extern TNimType NTI_zuqP4Riz26Oi5fWgPYVEgA; extern TNimType NTI_DXS6mEo7PVUFJkirsQ9bNQA; extern TNimType NTI_ehmV9bTklH2Gt9cXHV9c0HLeQ; TNimType NTI_9bz2muykEFR6eMHxLnfcjxA; TNimType NTI_7BHnQsEj49a9c6QtudqWTo1w; TNimType NTI_chXunH2dwinSkhpA6JnsXw; TNimType NTI_wFuRaV3kWqFxI9b4hUjDJYA; TNimType NTI_3XwRQvmzCEOC4QnT706q1g; TNimType NTI_Qx9aKy4vZ9bVz9bnG9brQcRHGA; TNimType NTI_ifYAhUumNzWR9c9cN9amyJLtg; TNimType NTI_axqhRnwd09cVJkRcojfw6mA; TNimType NTI_b0IIwghFQBADkB2c86kXQA; TNimType NTI_z58cIdR0vOibqJ0QwYvB3Q; TNimType NTI_13aFwjKaWlqhwUBjDHvkIw; TNimType NTI_nmiMWKVIe46vacnhAFrQvw; TNimType NTI_UtShRB9b1wZO9cvpdowm9cefA; TNimType NTI_xHTZrq9aYs6boc9bCba0JbpQ; extern TNimType NTI_Y32tFilzS9adEEksgrCsOzQ; TNimType NTI_Uk8TiHqxGdO37NabyvfS5g; TNimType NTI_LBgXxpmYOpS8xroRZgNvbg; TNimType NTI_Gz6vwaK0PZQIDIwfuvKsOg; TNimType NTI_DcZ5N67dL3rBj9bxGtx09bFg; TNimType NTI_g9buja9c9aeh0rkDpqsXOJF9bA; TNimType NTI_p6OJ2WGp1zYZkMyhPlJPZA; extern TNimType NTI_xITzrU1RhJLKwBlRCAbn9bA; TNimType NTI_u50F0puw9b9c6p256tX4eJLQ; STRING_LITERAL(T_Q5wkpxktOdTGvlSRo9bzt9aw_2, "out of memory", 13); STRING_LITERAL(T_Q5wkpxktOdTGvlSRo9bzt9aw_5, "[GC] cannot register global variable; too many global variables", 63); STRING_LITERAL(T_Q5wkpxktOdTGvlSRo9bzt9aw_8, "over- or underflow", 18); STRING_LITERAL(T_Q5wkpxktOdTGvlSRo9bzt9aw_9, "attempt to write to a nil address", 33); STRING_LITERAL(T_Q5wkpxktOdTGvlSRo9bzt9aw_10, "cannot write string to file", 27); STRING_LITERAL(T_Q5wkpxktOdTGvlSRo9bzt9aw_11, "rb", 2); STRING_LITERAL(T_Q5wkpxktOdTGvlSRo9bzt9aw_12, "wb", 2); STRING_LITERAL(T_Q5wkpxktOdTGvlSRo9bzt9aw_13, "w+b", 3); STRING_LITERAL(T_Q5wkpxktOdTGvlSRo9bzt9aw_14, "r+b", 3); STRING_LITERAL(T_Q5wkpxktOdTGvlSRo9bzt9aw_15, "ab", 2); NIM_CONST TY_7JTpIvL6tqeRI2Pp9asvFCA Formatopen_129cS4U5eK4wWqE9bNeKN1Aw = {((NimStringDesc*) &T_Q5wkpxktOdTGvlSRo9bzt9aw_11), ((NimStringDesc*) &T_Q5wkpxktOdTGvlSRo9bzt9aw_12), ((NimStringDesc*) &T_Q5wkpxktOdTGvlSRo9bzt9aw_13), ((NimStringDesc*) &T_Q5wkpxktOdTGvlSRo9bzt9aw_14), ((NimStringDesc*) &T_Q5wkpxktOdTGvlSRo9bzt9aw_15)} ; STRING_LITERAL(T_Q5wkpxktOdTGvlSRo9bzt9aw_16, "cannot open: ", 13); STRING_LITERAL(T_Q5wkpxktOdTGvlSRo9bzt9aw_17, "no exception to reraise", 23); STRING_LITERAL(T_Q5wkpxktOdTGvlSRo9bzt9aw_18, "(", 1); STRING_LITERAL(T_Q5wkpxktOdTGvlSRo9bzt9aw_19, ", ", 2); STRING_LITERAL(T_Q5wkpxktOdTGvlSRo9bzt9aw_20, "filename", 8); STRING_LITERAL(T_Q5wkpxktOdTGvlSRo9bzt9aw_21, ": ", 2); STRING_LITERAL(T_Q5wkpxktOdTGvlSRo9bzt9aw_22, "nil", 3); STRING_LITERAL(T_Q5wkpxktOdTGvlSRo9bzt9aw_23, "line", 4); STRING_LITERAL(T_Q5wkpxktOdTGvlSRo9bzt9aw_24, ")", 1); NIM_CONST TY_yp9a149boki9cCCWgfXI0Ip4A powtens_l8b44pimyaWe7sztIOF1Tw = {1.0000000000000000e+00, 1.0000000000000000e+01, 1.0000000000000000e+02, 1.0000000000000000e+03, 1.0000000000000000e+04, 1.0000000000000000e+05, 1.0000000000000000e+06, 1.0000000000000000e+07, 1.0000000000000000e+08, 1.0000000000000000e+09, 1.0000000000000000e+10, 1.0000000000000000e+11, 1.0000000000000000e+12, 1.0000000000000000e+13, 1.0000000000000000e+14, 1.0000000000000000e+15, 1.0000000000000000e+16, 1.0000000000000000e+17, 1.0000000000000000e+18, 1.0000000000000000e+19, 1.0000000000000000e+20, 1.0000000000000000e+21, 1.0000000000000000e+22} ; STRING_LITERAL(T_Q5wkpxktOdTGvlSRo9bzt9aw_25, " (invalid data!)", 16); STRING_LITERAL(T_Q5wkpxktOdTGvlSRo9bzt9aw_26, "nan", 3); STRING_LITERAL(T_Q5wkpxktOdTGvlSRo9bzt9aw_27, "-inf", 4); STRING_LITERAL(T_Q5wkpxktOdTGvlSRo9bzt9aw_28, "inf", 3); STRING_LITERAL(T_Q5wkpxktOdTGvlSRo9bzt9aw_30, "error while reading from file", 29); STRING_LITERAL(T_Q5wkpxktOdTGvlSRo9bzt9aw_31, "", 0); STRING_LITERAL(T_Q5wkpxktOdTGvlSRo9bzt9aw_32, "EOF reached", 11); STRING_LITERAL(T_Q5wkpxktOdTGvlSRo9bzt9aw_33, "cannot set file position", 24); STRING_LITERAL(T_Q5wkpxktOdTGvlSRo9bzt9aw_34, "cannot retrieve file position", 29); STRING_LITERAL(T_Q5wkpxktOdTGvlSRo9bzt9aw_36, "0", 1); STRING_LITERAL(T_Q5wkpxktOdTGvlSRo9bzt9aw_37, "true", 4); STRING_LITERAL(T_Q5wkpxktOdTGvlSRo9bzt9aw_38, "false", 5); STRING_LITERAL(T_Q5wkpxktOdTGvlSRo9bzt9aw_39, "[GC] total memory: ", 19); STRING_LITERAL(T_Q5wkpxktOdTGvlSRo9bzt9aw_40, "\012[GC] occupied memory: ", 23); STRING_LITERAL(T_Q5wkpxktOdTGvlSRo9bzt9aw_41, "\012[GC] stack scans: ", 19); STRING_LITERAL(T_Q5wkpxktOdTGvlSRo9bzt9aw_42, "\012[GC] stack cells: ", 19); STRING_LITERAL(T_Q5wkpxktOdTGvlSRo9bzt9aw_43, "\012[GC] cycle collections: ", 25); STRING_LITERAL(T_Q5wkpxktOdTGvlSRo9bzt9aw_44, "\012[GC] max threshold: ", 21); STRING_LITERAL(T_Q5wkpxktOdTGvlSRo9bzt9aw_45, "\012[GC] zct capacity: ", 20); STRING_LITERAL(T_Q5wkpxktOdTGvlSRo9bzt9aw_46, "\012[GC] max cycle table size: ", 28); STRING_LITERAL(T_Q5wkpxktOdTGvlSRo9bzt9aw_47, "\012[GC] max pause time [ms]: ", 27); STRING_LITERAL(T_Q5wkpxktOdTGvlSRo9bzt9aw_48, "\012", 1); STRING_LITERAL(T_Q5wkpxktOdTGvlSRo9bzt9aw_49, "[GC] max stack size: ", 21); static N_INLINE(void, initallocator_neD9cJp4S9clvdaq5qqNFZAQsystem)(void) { bottom_KT33MhtjYZUZyUdbeLIpkg = (&bottomdata_BPOhZntfu5k9cx0Mom9aGo0A); (*bottom_KT33MhtjYZUZyUdbeLIpkg).link[(((NI) 0))- 0] = bottom_KT33MhtjYZUZyUdbeLIpkg; (*bottom_KT33MhtjYZUZyUdbeLIpkg).link[(((NI) 1))- 0] = bottom_KT33MhtjYZUZyUdbeLIpkg; } N_NOINLINE(void, setStackBottom)(void* thestackbottom0) { { if (!(gch_IcYaEuuWivYAS86vFMTS3Q.stackbottom == NIM_NIL)) goto LA3; gch_IcYaEuuWivYAS86vFMTS3Q.stackbottom = thestackbottom0; } goto LA1; LA3: ; { NI a0; NI b0; a0 = ((NI) (thestackbottom0)); b0 = ((NI) (gch_IcYaEuuWivYAS86vFMTS3Q.stackbottom)); gch_IcYaEuuWivYAS86vFMTS3Q.stackbottom = ((void*) (((a0 >= b0) ? a0 : b0))); } LA1: ; } static N_INLINE(void, initStackBottom)(void) { void* volatile locals0; locals0 = (void*)0; locals0 = ((void*) ((&locals0))); setStackBottom(locals0); } static N_INLINE(NI, roundup_HS4HdHHFZPftyB49cpIyo7Asystem)(NI x0, NI v0) { NI result0; result0 = (NI)0; result0 = (NI)((NI)(x0 + (NI)(v0 - ((NI) 1))) & (NI)((NU32) ~((NI)(v0 - ((NI) 1))))); return result0; } static N_INLINE(void, listremove_ZRIe9cFnHOrfvS8VmLduoXQsystem)(Bigchunk_Rv9c70Uhp2TytkX7eH78qEg** head0, Bigchunk_Rv9c70Uhp2TytkX7eH78qEg* c0) { { if (!(c0 == (*head0))) goto LA3; (*head0) = (*c0).next; { if (!!(((*head0) == NIM_NIL))) goto LA7; (*(*head0)).prev = NIM_NIL; } LA7: ; } goto LA1; LA3: ; { (*(*c0).prev).next = (*c0).next; { if (!!(((*c0).next == NIM_NIL))) goto LA12; (*(*c0).next).prev = (*c0).prev; } LA12: ; } LA1: ; (*c0).next = NIM_NIL; (*c0).prev = NIM_NIL; } N_NIMCALL(Trunk_W0r8S0Y3UGke6T9bIUWnnuw*, intsetget_FhOZKj4Gih3qQ5OimZYOrg)(Intset_EZObFrE3NC9bIb3YMkY9crZA* t0, NI key0) { Trunk_W0r8S0Y3UGke6T9bIUWnnuw* result0; Trunk_W0r8S0Y3UGke6T9bIUWnnuw* it0; { result0 = (Trunk_W0r8S0Y3UGke6T9bIUWnnuw*)0; it0 = (*t0).data[((NI)(key0 & ((NI) 255)))- 0]; { while (1) { if (!!((it0 == NIM_NIL))) goto LA2; { if (!((*it0).key == key0)) goto LA5; result0 = it0; goto BeforeRet; } LA5: ; it0 = (*it0).next; } LA2: ; } result0 = NIM_NIL; }BeforeRet: ; return result0; } N_NIMCALL(NIM_BOOL, contains_tGsWrN4DY41H9btt3FhjrNA)(Intset_EZObFrE3NC9bIb3YMkY9crZA* s0, NI key0) { NIM_BOOL result0; Trunk_W0r8S0Y3UGke6T9bIUWnnuw* t0; result0 = (NIM_BOOL)0; t0 = intsetget_FhOZKj4Gih3qQ5OimZYOrg(s0, (NI)((NU32)(key0) >> (NU32)(((NI) 9)))); { NI u0; if (!!((t0 == NIM_NIL))) goto LA3; u0 = (NI)(key0 & ((NI) 511)); result0 = !(((NI)((*t0).bits[((NI)((NU32)(((NI) (u0))) >> (NU32)(((NI) 5))))- 0] & (NI)((NU32)(((NI) 1)) << (NU32)(((NI) ((NI)(((NI) (u0)) & ((NI) 31))))))) == ((NI) 0))); } goto LA1; LA3: ; { result0 = NIM_FALSE; } LA1: ; return result0; } static N_INLINE(NI, pageindex_bDTXHqSShXKux9bZH4tvkVgsystem)(void* p0) { NI result0; result0 = (NI)0; result0 = (NI)((NU32)(((NI) (p0))) >> (NU32)(((NI) 12))); return result0; } static N_INLINE(NIM_BOOL, isaccessible_5nqar3kL9acJcissrFLDdkwsystem)(Memregion_x81NhDv59b8ercDZ9bi85jyg* a0, void* p0) { NIM_BOOL result0; NI LOC1; result0 = (NIM_BOOL)0; LOC1 = (NI)0; LOC1 = pageindex_bDTXHqSShXKux9bZH4tvkVgsystem(p0); result0 = contains_tGsWrN4DY41H9btt3FhjrNA((&(*a0).chunkstarts), LOC1); return result0; } static N_INLINE(void, updateprevsize_3G5wKZdFZhblebPYdFnpxQsystem)(Memregion_x81NhDv59b8ercDZ9bi85jyg* a0, Bigchunk_Rv9c70Uhp2TytkX7eH78qEg* c0, NI prevsize0) { Basechunk_Sdq7WpT6qAH858F5ZEdG3w* ri0; ri0 = ((Basechunk_Sdq7WpT6qAH858F5ZEdG3w*) ((NI)((NU32)(((NI) (c0))) + (NU32)((*c0).Sup.size)))); { NIM_BOOL LOC3; LOC3 = (NIM_BOOL)0; LOC3 = isaccessible_5nqar3kL9acJcissrFLDdkwsystem((&(*a0)), ((void*) (ri0))); if (!LOC3) goto LA4; (*ri0).prevsize = prevsize0; } LA4: ; } N_NOINLINE(void, raiseoutofmem_II46IjNZztN9bmbxUD8dt8g)(void) { { if (!!((outofmemhook_kZNaA7u1MfSW5ZeoGvw8xg == NIM_NIL))) goto LA3; outofmemhook_kZNaA7u1MfSW5ZeoGvw8xg(); } LA3: ; printf("%s\012", ((NimStringDesc*) &T_Q5wkpxktOdTGvlSRo9bzt9aw_2)? (((NimStringDesc*) &T_Q5wkpxktOdTGvlSRo9bzt9aw_2))->data:"nil"); fflush(stdout); exit(((NI) 1)); } static N_INLINE(void*, osallocpages_fxkHg9ajpjxOfBTuIyrgEfwsystem)(NI size0) { void* result0; result0 = (void*)0; result0 = mmap(NIM_NIL, size0, ((int) 3), (NI32)(MAP_PRIVATE | MAP_ANONYMOUS), ((int) -1), ((NI) 0)); { NIM_BOOL LOC3; LOC3 = (NIM_BOOL)0; LOC3 = (result0 == NIM_NIL); if (LOC3) goto LA4; LOC3 = (result0 == ((void*) -1)); LA4: ; if (!LOC3) goto LA5; raiseoutofmem_II46IjNZztN9bmbxUD8dt8g(); } LA5: ; return result0; } static N_INLINE(void, inccurrmem_rxjvSU4wRoPOjezLtDzm3Qsystem)(Memregion_x81NhDv59b8ercDZ9bi85jyg* a0, NI bytes0) { (*a0).currmem += bytes0; } static N_INLINE(void, zeromem_7EL8Zq3xF2ujDWgp3bAEogsystem)(void* p0, NI size0) { void* LOC1; LOC1 = (void*)0; LOC1 = memset(p0, ((int) 0), ((size_t) (size0))); } N_NIMCALL(void*, llalloc_fTkVQ4Gj2glm9btLqR9bdQDQ)(Memregion_x81NhDv59b8ercDZ9bi85jyg* a0, NI size0) { void* result0; result0 = (void*)0; { NIM_BOOL LOC3; Llchunk_XsENErzHIZV9bhvyJx56wGw* old0; void* LOC7; LOC3 = (NIM_BOOL)0; LOC3 = ((*a0).llmem == NIM_NIL); if (LOC3) goto LA4; LOC3 = ((*(*a0).llmem).size < size0); LA4: ; if (!LOC3) goto LA5; old0 = (*a0).llmem; LOC7 = (void*)0; LOC7 = osallocpages_fxkHg9ajpjxOfBTuIyrgEfwsystem(((NI) 4096)); (*a0).llmem = ((Llchunk_XsENErzHIZV9bhvyJx56wGw*) (LOC7)); inccurrmem_rxjvSU4wRoPOjezLtDzm3Qsystem(a0, ((NI) 4096)); (*(*a0).llmem).size = (NI)(((NI) 4096) - ((NI)sizeof(Llchunk_XsENErzHIZV9bhvyJx56wGw))); (*(*a0).llmem).acc = ((NI)sizeof(Llchunk_XsENErzHIZV9bhvyJx56wGw)); (*(*a0).llmem).next = old0; } LA5: ; result0 = ((void*) ((NI)(((NI) ((*a0).llmem)) + (*(*a0).llmem).acc))); (*(*a0).llmem).size -= size0; (*(*a0).llmem).acc += size0; zeromem_7EL8Zq3xF2ujDWgp3bAEogsystem(result0, ((NI) (size0))); return result0; } N_NIMCALL(Trunk_W0r8S0Y3UGke6T9bIUWnnuw*, intsetput_KWgRM9bUk6rwhAaHSiuK9aYA)(Memregion_x81NhDv59b8ercDZ9bi85jyg* a0, Intset_EZObFrE3NC9bIb3YMkY9crZA* t0, NI key0) { Trunk_W0r8S0Y3UGke6T9bIUWnnuw* result0; result0 = (Trunk_W0r8S0Y3UGke6T9bIUWnnuw*)0; result0 = intsetget_FhOZKj4Gih3qQ5OimZYOrg((&(*t0)), key0); { void* LOC5; if (!(result0 == NIM_NIL)) goto LA3; LOC5 = (void*)0; LOC5 = llalloc_fTkVQ4Gj2glm9btLqR9bdQDQ(a0, ((NI)sizeof(Trunk_W0r8S0Y3UGke6T9bIUWnnuw))); result0 = ((Trunk_W0r8S0Y3UGke6T9bIUWnnuw*) (LOC5)); (*result0).next = (*t0).data[((NI)(key0 & ((NI) 255)))- 0]; (*t0).data[((NI)(key0 & ((NI) 255)))- 0] = result0; (*result0).key = key0; } LA3: ; return result0; } N_NIMCALL(void, incl_Iz1GYiOVKwItgr5CdCm0dQ)(Memregion_x81NhDv59b8ercDZ9bi85jyg* a0, Intset_EZObFrE3NC9bIb3YMkY9crZA* s0, NI key0) { Trunk_W0r8S0Y3UGke6T9bIUWnnuw* t0; NI u0; t0 = intsetput_KWgRM9bUk6rwhAaHSiuK9aYA(a0, s0, (NI)((NU32)(key0) >> (NU32)(((NI) 9)))); u0 = (NI)(key0 & ((NI) 511)); (*t0).bits[((NI)((NU32)(((NI) (u0))) >> (NU32)(((NI) 5))))- 0] = (NI)((*t0).bits[((NI)((NU32)(((NI) (u0))) >> (NU32)(((NI) 5))))- 0] | (NI)((NU32)(((NI) 1)) << (NU32)(((NI) ((NI)(((NI) (u0)) & ((NI) 31))))))); } static N_INLINE(NI, pageindex_vFgXFo13iF61HsEG6epuwgsystem)(Basechunk_Sdq7WpT6qAH858F5ZEdG3w* c0) { NI result0; result0 = (NI)0; result0 = (NI)((NU32)(((NI) (c0))) >> (NU32)(((NI) 12))); return result0; } static N_INLINE(void, listadd_ZRIe9cFnHOrfvS8VmLduoXQ_2system)(Bigchunk_Rv9c70Uhp2TytkX7eH78qEg** head0, Bigchunk_Rv9c70Uhp2TytkX7eH78qEg* c0) { (*c0).next = (*head0); { if (!!(((*head0) == NIM_NIL))) goto LA3; (*(*head0)).prev = c0; } LA3: ; (*head0) = c0; } N_NIMCALL(void, splitchunk_8QXhiy717OAl8WNA2X27EA)(Memregion_x81NhDv59b8ercDZ9bi85jyg* a0, Bigchunk_Rv9c70Uhp2TytkX7eH78qEg* c0, NI size0) { Bigchunk_Rv9c70Uhp2TytkX7eH78qEg* rest0; Basechunk_Sdq7WpT6qAH858F5ZEdG3w* LOC1; NI LOC2; rest0 = ((Bigchunk_Rv9c70Uhp2TytkX7eH78qEg*) ((NI)((NU32)(((NI) (c0))) + (NU32)(size0)))); (*rest0).Sup.size = (NI)((*c0).Sup.size - size0); (*rest0).Sup.used = NIM_FALSE; (*rest0).next = NIM_NIL; (*rest0).prev = NIM_NIL; (*rest0).Sup.prevsize = size0; updateprevsize_3G5wKZdFZhblebPYdFnpxQsystem(a0, c0, (*rest0).Sup.size); (*c0).Sup.size = size0; LOC1 = (Basechunk_Sdq7WpT6qAH858F5ZEdG3w*)0; LOC1 = &rest0->Sup; LOC2 = (NI)0; LOC2 = pageindex_vFgXFo13iF61HsEG6epuwgsystem(LOC1); incl_Iz1GYiOVKwItgr5CdCm0dQ(a0, (&(*a0).chunkstarts), LOC2); listadd_ZRIe9cFnHOrfvS8VmLduoXQ_2system(&(*a0).freechunkslist, rest0); } static N_INLINE(void*, ostryallocpages_fxkHg9ajpjxOfBTuIyrgEfw_2system)(NI size0) { void* result0; result0 = (void*)0; result0 = mmap(NIM_NIL, size0, ((int) 3), (NI32)(MAP_PRIVATE | MAP_ANONYMOUS), ((int) -1), ((NI) 0)); { if (!(result0 == ((void*) -1))) goto LA3; result0 = NIM_NIL; } LA3: ; return result0; } N_NIMCALL(Bigchunk_Rv9c70Uhp2TytkX7eH78qEg*, requestoschunks_z9bCNjXTYllZ3pI24nEsw2g_2)(Memregion_x81NhDv59b8ercDZ9bi85jyg* a0, NI size_nndn31exLE0X2ABcjUVOzQ) { Bigchunk_Rv9c70Uhp2TytkX7eH78qEg* result0; NI size0; NI nxt0; Basechunk_Sdq7WpT6qAH858F5ZEdG3w* next0; NI lastsize0; NI prv0; Basechunk_Sdq7WpT6qAH858F5ZEdG3w* prev0; result0 = (Bigchunk_Rv9c70Uhp2TytkX7eH78qEg*)0; { if (!!((*a0).blockchunksizeincrease)) goto LA3; { if (!((*a0).currmem < ((NI) 65536))) goto LA7; (*a0).nextchunksize = ((NI) 16384); } goto LA5; LA7: ; { (*a0).nextchunksize = (NI)((*a0).nextchunksize * ((NI) 2)); } LA5: ; } LA3: ; size0 = size_nndn31exLE0X2ABcjUVOzQ; { void* LOC14; if (!((*a0).nextchunksize < size0)) goto LA12; LOC14 = (void*)0; LOC14 = osallocpages_fxkHg9ajpjxOfBTuIyrgEfwsystem(size0); result0 = ((Bigchunk_Rv9c70Uhp2TytkX7eH78qEg*) (LOC14)); } goto LA10; LA12: ; { void* LOC16; LOC16 = (void*)0; LOC16 = ostryallocpages_fxkHg9ajpjxOfBTuIyrgEfw_2system((*a0).nextchunksize); result0 = ((Bigchunk_Rv9c70Uhp2TytkX7eH78qEg*) (LOC16)); { void* LOC21; if (!(result0 == NIM_NIL)) goto LA19; LOC21 = (void*)0; LOC21 = osallocpages_fxkHg9ajpjxOfBTuIyrgEfwsystem(size0); result0 = ((Bigchunk_Rv9c70Uhp2TytkX7eH78qEg*) (LOC21)); (*a0).blockchunksizeincrease = NIM_TRUE; } goto LA17; LA19: ; { size0 = (*a0).nextchunksize; } LA17: ; } LA10: ; inccurrmem_rxjvSU4wRoPOjezLtDzm3Qsystem(a0, size0); (*a0).freemem += size0; (*result0).next = NIM_NIL; (*result0).prev = NIM_NIL; (*result0).Sup.used = NIM_FALSE; (*result0).Sup.size = size0; nxt0 = (NI)((NU32)(((NI) (result0))) + (NU32)(size0)); next0 = ((Basechunk_Sdq7WpT6qAH858F5ZEdG3w*) (nxt0)); { NI LOC25; NIM_BOOL LOC26; LOC25 = (NI)0; LOC25 = pageindex_vFgXFo13iF61HsEG6epuwgsystem(next0); LOC26 = (NIM_BOOL)0; LOC26 = contains_tGsWrN4DY41H9btt3FhjrNA((&(*a0).chunkstarts), LOC25); if (!LOC26) goto LA27; (*next0).prevsize = size0; } LA27: ; { if (!!(((*a0).lastsize == ((NI) 0)))) goto LA31; lastsize0 = (*a0).lastsize; } goto LA29; LA31: ; { lastsize0 = ((NI) 4096); } LA29: ; prv0 = (NI)((NU32)(((NI) (result0))) - (NU32)(lastsize0)); prev0 = ((Basechunk_Sdq7WpT6qAH858F5ZEdG3w*) (prv0)); { NIM_BOOL LOC36; NI LOC37; LOC36 = (NIM_BOOL)0; LOC37 = (NI)0; LOC37 = pageindex_vFgXFo13iF61HsEG6epuwgsystem(prev0); LOC36 = contains_tGsWrN4DY41H9btt3FhjrNA((&(*a0).chunkstarts), LOC37); if (!(LOC36)) goto LA38; LOC36 = ((*prev0).size == lastsize0); LA38: ; if (!LOC36) goto LA39; (*result0).Sup.prevsize = lastsize0; } goto LA34; LA39: ; { (*result0).Sup.prevsize = ((NI) 0); } LA34: ; (*a0).lastsize = size0; return result0; } N_NIMCALL(Bigchunk_Rv9c70Uhp2TytkX7eH78qEg*, getbigchunk_z9bCNjXTYllZ3pI24nEsw2g)(Memregion_x81NhDv59b8ercDZ9bi85jyg* a0, NI size0) { Bigchunk_Rv9c70Uhp2TytkX7eH78qEg* result0; Basechunk_Sdq7WpT6qAH858F5ZEdG3w* LOC20; NI LOC21; result0 = (Bigchunk_Rv9c70Uhp2TytkX7eH78qEg*)0; result0 = (*a0).freechunkslist; { { while (1) { if (!!((result0 == NIM_NIL))) goto LA3; { if (!((*result0).Sup.size == size0)) goto LA6; listremove_ZRIe9cFnHOrfvS8VmLduoXQsystem(&(*a0).freechunkslist, result0); goto LA1; } goto LA4; LA6: ; { if (!(size0 < (*result0).Sup.size)) goto LA9; listremove_ZRIe9cFnHOrfvS8VmLduoXQsystem(&(*a0).freechunkslist, result0); splitchunk_8QXhiy717OAl8WNA2X27EA(a0, result0, size0); goto LA1; } goto LA4; LA9: ; LA4: ; result0 = (*result0).next; } LA3: ; } { if (!(size0 < ((NI) 524288))) goto LA13; result0 = requestoschunks_z9bCNjXTYllZ3pI24nEsw2g_2(a0, ((NI) 524288)); splitchunk_8QXhiy717OAl8WNA2X27EA(a0, result0, size0); } goto LA11; LA13: ; { result0 = requestoschunks_z9bCNjXTYllZ3pI24nEsw2g_2(a0, size0); { if (!(size0 < (*result0).Sup.size)) goto LA18; splitchunk_8QXhiy717OAl8WNA2X27EA(a0, result0, size0); } LA18: ; } LA11: ; } LA1: ; (*result0).Sup.prevsize = ((NI) 0); (*result0).Sup.used = NIM_TRUE; LOC20 = (Basechunk_Sdq7WpT6qAH858F5ZEdG3w*)0; LOC20 = &result0->Sup; LOC21 = (NI)0; LOC21 = pageindex_vFgXFo13iF61HsEG6epuwgsystem(LOC20); incl_Iz1GYiOVKwItgr5CdCm0dQ(a0, (&(*a0).chunkstarts), LOC21); (*a0).freemem -= size0; return result0; } N_NIMCALL(Smallchunk_tXn60W2f8h3jgAYdEmy5NQ*, getsmallchunk_h6cvXbfQjxIdThM5GthosA)(Memregion_x81NhDv59b8ercDZ9bi85jyg* a0) { Smallchunk_tXn60W2f8h3jgAYdEmy5NQ* result0; Bigchunk_Rv9c70Uhp2TytkX7eH78qEg* res0; result0 = (Smallchunk_tXn60W2f8h3jgAYdEmy5NQ*)0; res0 = getbigchunk_z9bCNjXTYllZ3pI24nEsw2g(a0, ((NI) 4096)); result0 = ((Smallchunk_tXn60W2f8h3jgAYdEmy5NQ*) (res0)); return result0; } static N_INLINE(void, listadd_DqXPtLsRUwQp3iwLtHEdIgsystem)(Smallchunk_tXn60W2f8h3jgAYdEmy5NQ** head0, Smallchunk_tXn60W2f8h3jgAYdEmy5NQ* c0) { (*c0).next = (*head0); { if (!!(((*head0) == NIM_NIL))) goto LA3; (*(*head0)).prev = c0; } LA3: ; (*head0) = c0; } static N_INLINE(void, listremove_DqXPtLsRUwQp3iwLtHEdIg_2system)(Smallchunk_tXn60W2f8h3jgAYdEmy5NQ** head0, Smallchunk_tXn60W2f8h3jgAYdEmy5NQ* c0) { { if (!(c0 == (*head0))) goto LA3; (*head0) = (*c0).next; { if (!!(((*head0) == NIM_NIL))) goto LA7; (*(*head0)).prev = NIM_NIL; } LA7: ; } goto LA1; LA3: ; { (*(*c0).prev).next = (*c0).next; { if (!!(((*c0).next == NIM_NIL))) goto LA12; (*(*c0).next).prev = (*c0).prev; } LA12: ; } LA1: ; (*c0).next = NIM_NIL; (*c0).prev = NIM_NIL; } N_NIMCALL(Avlnode_IaqjtwKhxLEpvDS9bct9blEw*, allocavlnode_neSuioWH6NDTp8E9cNgBmjg)(Memregion_x81NhDv59b8ercDZ9bi85jyg* a0, NI key0, NI upperbound0) { Avlnode_IaqjtwKhxLEpvDS9bct9blEw* result0; result0 = (Avlnode_IaqjtwKhxLEpvDS9bct9blEw*)0; { if (!!(((*a0).freeavlnodes == NIM_NIL))) goto LA3; result0 = (*a0).freeavlnodes; (*a0).freeavlnodes = (*(*a0).freeavlnodes).link[(((NI) 0))- 0]; } goto LA1; LA3: ; { void* LOC6; LOC6 = (void*)0; LOC6 = llalloc_fTkVQ4Gj2glm9btLqR9bdQDQ(a0, ((NI)sizeof(Avlnode_IaqjtwKhxLEpvDS9bct9blEw))); result0 = ((Avlnode_IaqjtwKhxLEpvDS9bct9blEw*) (LOC6)); } LA1: ; (*result0).key = key0; (*result0).upperbound = upperbound0; (*result0).link[(((NI) 0))- 0] = bottom_KT33MhtjYZUZyUdbeLIpkg; (*result0).link[(((NI) 1))- 0] = bottom_KT33MhtjYZUZyUdbeLIpkg; (*result0).level = ((NI) 1); return result0; } N_NIMCALL(void, skew_Cfx7NvEVZIhBjBm7i89boSg)(Avlnode_IaqjtwKhxLEpvDS9bct9blEw** t0) { { Avlnode_IaqjtwKhxLEpvDS9bct9blEw* temp0; if (!((*(*(*t0)).link[(((NI) 0))- 0]).level == (*(*t0)).level)) goto LA3; temp0 = (*t0); (*t0) = (*(*t0)).link[(((NI) 0))- 0]; (*temp0).link[(((NI) 0))- 0] = (*(*t0)).link[(((NI) 1))- 0]; (*(*t0)).link[(((NI) 1))- 0] = temp0; } LA3: ; } N_NIMCALL(void, split_Cfx7NvEVZIhBjBm7i89boSg_2)(Avlnode_IaqjtwKhxLEpvDS9bct9blEw** t0) { { Avlnode_IaqjtwKhxLEpvDS9bct9blEw* temp0; if (!((*(*(*(*t0)).link[(((NI) 1))- 0]).link[(((NI) 1))- 0]).level == (*(*t0)).level)) goto LA3; temp0 = (*t0); (*t0) = (*(*t0)).link[(((NI) 1))- 0]; (*temp0).link[(((NI) 1))- 0] = (*(*t0)).link[(((NI) 0))- 0]; (*(*t0)).link[(((NI) 0))- 0] = temp0; (*(*t0)).level += ((NI) 1); } LA3: ; } N_NIMCALL(void, add_Xuf47u3imOz8BOk5HURLWQ)(Memregion_x81NhDv59b8ercDZ9bi85jyg* a0, Avlnode_IaqjtwKhxLEpvDS9bct9blEw** t0, NI key0, NI upperbound0) { { if (!((*(*t0)).link[(((NI) 0))- 0] == (*t0))) goto LA3; (*t0) = allocavlnode_neSuioWH6NDTp8E9cNgBmjg(a0, key0, upperbound0); } goto LA1; LA3: ; { { if (!((NU32)(key0) < (NU32)((*(*t0)).key))) goto LA8; add_Xuf47u3imOz8BOk5HURLWQ(a0, &(*(*t0)).link[(((NI) 0))- 0], key0, upperbound0); } goto LA6; LA8: ; { if (!((NU32)((*(*t0)).key) < (NU32)(key0))) goto LA11; add_Xuf47u3imOz8BOk5HURLWQ(a0, &(*(*t0)).link[(((NI) 1))- 0], key0, upperbound0); } goto LA6; LA11: ; { } LA6: ; skew_Cfx7NvEVZIhBjBm7i89boSg(t0); split_Cfx7NvEVZIhBjBm7i89boSg_2(t0); } LA1: ; } N_NIMCALL(void*, rawalloc_yn9c8RLaS8vgVBeMBfmkdUg)(Memregion_x81NhDv59b8ercDZ9bi85jyg* a0, NI requestedsize0) { void* result0; NI size0; result0 = (void*)0; size0 = roundup_HS4HdHHFZPftyB49cpIyo7Asystem(requestedsize0, ((NI) 8)); { NI s0; Smallchunk_tXn60W2f8h3jgAYdEmy5NQ* c0; if (!(size0 <= (NI)(((NI) 4096) - (NI)(((NI)sizeof(Smallchunk_tXn60W2f8h3jgAYdEmy5NQ)) - ((NI) 8))))) goto LA3; s0 = (NI)(size0 / ((NI) 8)); c0 = (*a0).freesmallchunks[(s0)- 0]; { if (!(c0 == NIM_NIL)) goto LA7; c0 = getsmallchunk_h6cvXbfQjxIdThM5GthosA(a0); (*c0).freelist = NIM_NIL; (*c0).Sup.size = size0; (*c0).acc = size0; (*c0).free = (NI)((NI)(((NI) 4096) - (NI)(((NI)sizeof(Smallchunk_tXn60W2f8h3jgAYdEmy5NQ)) - ((NI) 8))) - size0); (*c0).next = NIM_NIL; (*c0).prev = NIM_NIL; listadd_DqXPtLsRUwQp3iwLtHEdIgsystem(&(*a0).freesmallchunks[(s0)- 0], c0); result0 = ((void*) ((&(*c0).data))); } goto LA5; LA7: ; { { if (!((*c0).freelist == NIM_NIL)) goto LA12; result0 = ((void*) ((NI)((NU32)(((NI) ((&(*c0).data)))) + (NU32)((*c0).acc)))); (*c0).acc += size0; } goto LA10; LA12: ; { result0 = ((void*) ((*c0).freelist)); (*c0).freelist = (*(*c0).freelist).next; } LA10: ; (*c0).free -= size0; } LA5: ; { if (!((*c0).free < size0)) goto LA17; listremove_DqXPtLsRUwQp3iwLtHEdIg_2system(&(*a0).freesmallchunks[(s0)- 0], c0); } LA17: ; } goto LA1; LA3: ; { Bigchunk_Rv9c70Uhp2TytkX7eH78qEg* c0; size0 = roundup_HS4HdHHFZPftyB49cpIyo7Asystem((NI)(requestedsize0 + (NI)(((NI)sizeof(Bigchunk_Rv9c70Uhp2TytkX7eH78qEg)) - ((NI) 8))), ((NI) 4096)); c0 = getbigchunk_z9bCNjXTYllZ3pI24nEsw2g(a0, size0); result0 = ((void*) ((&(*c0).data))); { if (!((*a0).root == NIM_NIL)) goto LA22; (*a0).root = bottom_KT33MhtjYZUZyUdbeLIpkg; } LA22: ; add_Xuf47u3imOz8BOk5HURLWQ(a0, &(*a0).root, ((NI) (result0)), (NI)((NU32)(((NI) (result0))) + (NU32)(size0))); } LA1: ; return result0; } N_NIMCALL(void*, alloc_WDxgSWQ1mSIerfvC0kmUtg_2)(Memregion_x81NhDv59b8ercDZ9bi85jyg* allocator0, NI size0) { void* result0; result0 = (void*)0; result0 = rawalloc_yn9c8RLaS8vgVBeMBfmkdUg(allocator0, (NI)(((NI) (size0)) + ((NI)sizeof(Freecell_u6M5LHprqzkn9axr04yg9bGQ)))); (*((Freecell_u6M5LHprqzkn9axr04yg9bGQ*) (result0))).zerofield = ((NI) 1); result0 = ((void*) ((NI)((NU32)(((NI) (result0))) + (NU32)(((NI)sizeof(Freecell_u6M5LHprqzkn9axr04yg9bGQ)))))); return result0; } N_NIMCALL(void*, alloc0_WDxgSWQ1mSIerfvC0kmUtg)(Memregion_x81NhDv59b8ercDZ9bi85jyg* allocator0, NI size0) { void* result0; result0 = (void*)0; result0 = alloc_WDxgSWQ1mSIerfvC0kmUtg_2(allocator0, size0); zeromem_7EL8Zq3xF2ujDWgp3bAEogsystem(result0, size0); return result0; } N_NOCONV(void*, alloc0_4cubgSerkjpuLcj5MXjiLw)(NI size0) { void* result0; result0 = (void*)0; result0 = alloc0_WDxgSWQ1mSIerfvC0kmUtg((&gch_IcYaEuuWivYAS86vFMTS3Q.region), size0); return result0; } N_NIMCALL(void, init_E1QNZGuo0DGFXyt4Y3MfqA)(Cellseq_Axo1XVm9aaQueTOldv8le5w* s0, NI cap0) { void* LOC1; (*s0).len = ((NI) 0); (*s0).cap = cap0; LOC1 = (void*)0; LOC1 = alloc0_4cubgSerkjpuLcj5MXjiLw(((NI) ((NI)(cap0 * ((NI) 4))))); (*s0).d = ((Cell_1zcF9cV8XIAtbN8h5HRUB8g**) (LOC1)); } N_NIMCALL(void, init_WHgd5C59bkXWDz3vnAxfzXQ)(Cellset_jG87P0AI9aZtss9ccTYBIISQ* s0) { void* LOC1; LOC1 = (void*)0; LOC1 = alloc0_4cubgSerkjpuLcj5MXjiLw(((NI) 4096)); (*s0).data = ((Pagedesc_fublkgIY4LG3mT51LU2WHg**) (LOC1)); (*s0).max = ((NI) 1023); (*s0).counter = ((NI) 0); (*s0).head = NIM_NIL; } N_NIMCALL(void, initgc_njssp69aa7hvxte9bJ8uuDcg)(void) { gch_IcYaEuuWivYAS86vFMTS3Q.cyclethreshold = ((NI) 4194304); gch_IcYaEuuWivYAS86vFMTS3Q.stat.stackscans = ((NI) 0); gch_IcYaEuuWivYAS86vFMTS3Q.stat.cyclecollections = ((NI) 0); gch_IcYaEuuWivYAS86vFMTS3Q.stat.maxthreshold = ((NI) 0); gch_IcYaEuuWivYAS86vFMTS3Q.stat.maxstacksize = ((NI) 0); gch_IcYaEuuWivYAS86vFMTS3Q.stat.maxstackcells = ((NI) 0); gch_IcYaEuuWivYAS86vFMTS3Q.stat.cycletablesize = ((NI) 0); init_E1QNZGuo0DGFXyt4Y3MfqA((&gch_IcYaEuuWivYAS86vFMTS3Q.zct), ((NI) 1024)); init_E1QNZGuo0DGFXyt4Y3MfqA((&gch_IcYaEuuWivYAS86vFMTS3Q.tempstack), ((NI) 1024)); init_E1QNZGuo0DGFXyt4Y3MfqA((&gch_IcYaEuuWivYAS86vFMTS3Q.decstack), ((NI) 1024)); init_WHgd5C59bkXWDz3vnAxfzXQ((&gch_IcYaEuuWivYAS86vFMTS3Q.marked)); init_E1QNZGuo0DGFXyt4Y3MfqA((&gch_IcYaEuuWivYAS86vFMTS3Q.additionalroots), ((NI) 1024)); } static N_INLINE(Cell_1zcF9cV8XIAtbN8h5HRUB8g*, usrtocell_yB9aH5WIlwd0xkYrcdPeXrQsystem)(void* usr0) { Cell_1zcF9cV8XIAtbN8h5HRUB8g* result0; result0 = (Cell_1zcF9cV8XIAtbN8h5HRUB8g*)0; result0 = ((Cell_1zcF9cV8XIAtbN8h5HRUB8g*) ((NI)((NU32)(((NI) (usr0))) - (NU32)(((NI)sizeof(Cell_1zcF9cV8XIAtbN8h5HRUB8g)))))); return result0; } N_NOCONV(void*, alloc_4cubgSerkjpuLcj5MXjiLw_2)(NI size0) { void* result0; result0 = (void*)0; result0 = alloc_WDxgSWQ1mSIerfvC0kmUtg_2((&gch_IcYaEuuWivYAS86vFMTS3Q.region), size0); return result0; } static N_INLINE(void, copymem_fPlwH3r9agN9aEHB6yCPMh0wsystem)(void* dest0, void* source0, NI size0) { void* LOC1; LOC1 = (void*)0; LOC1 = memcpy(dest0, source0, ((size_t) (size0))); } static N_INLINE(Basechunk_Sdq7WpT6qAH858F5ZEdG3w*, pageaddr_4uti7hTxTUDxUPqFMgMvHAsystem)(void* p0) { Basechunk_Sdq7WpT6qAH858F5ZEdG3w* result0; result0 = (Basechunk_Sdq7WpT6qAH858F5ZEdG3w*)0; result0 = ((Basechunk_Sdq7WpT6qAH858F5ZEdG3w*) ((NI)(((NI) (p0)) & ((NI) -4096)))); return result0; } static N_INLINE(NIM_BOOL, issmallchunk_xxNWShoyEPMUVN7FvfpDjwsystem)(Basechunk_Sdq7WpT6qAH858F5ZEdG3w* c0) { NIM_BOOL result0; { result0 = (NIM_BOOL)0; result0 = ((*c0).size <= (NI)(((NI) 4096) - (NI)(((NI)sizeof(Smallchunk_tXn60W2f8h3jgAYdEmy5NQ)) - ((NI) 8)))); goto BeforeRet; }BeforeRet: ; return result0; } static N_INLINE(NIM_BOOL, chunkunused_xxNWShoyEPMUVN7FvfpDjw_2system)(Basechunk_Sdq7WpT6qAH858F5ZEdG3w* c0) { NIM_BOOL result0; result0 = (NIM_BOOL)0; result0 = !((*c0).used); return result0; } N_NIMCALL(void, excl_Z9cZKmN1jjRFCzU0lgW9a1XA)(Intset_EZObFrE3NC9bIb3YMkY9crZA* s0, NI key0) { Trunk_W0r8S0Y3UGke6T9bIUWnnuw* t0; t0 = intsetget_FhOZKj4Gih3qQ5OimZYOrg((&(*s0)), (NI)((NU32)(key0) >> (NU32)(((NI) 9)))); { NI u0; if (!!((t0 == NIM_NIL))) goto LA3; u0 = (NI)(key0 & ((NI) 511)); (*t0).bits[((NI)((NU32)(((NI) (u0))) >> (NU32)(((NI) 5))))- 0] = (NI)((*t0).bits[((NI)((NU32)(((NI) (u0))) >> (NU32)(((NI) 5))))- 0] & (NI)((NU32) ~((NI)((NU32)(((NI) 1)) << (NU32)(((NI) ((NI)(((NI) (u0)) & ((NI) 31))))))))); } LA3: ; } static N_INLINE(void, osdeallocpages_I1brEDH0C8CP9a0HfGYsDvAsystem)(void* p0, NI size0) { int LOC1; LOC1 = (int)0; LOC1 = munmap(p0, size0); } static N_INLINE(void, deccurrmem_rxjvSU4wRoPOjezLtDzm3Q_2system)(Memregion_x81NhDv59b8ercDZ9bi85jyg* a0, NI bytes0) { (*a0).maxmem = (((*a0).maxmem >= (*a0).currmem) ? (*a0).maxmem : (*a0).currmem); (*a0).currmem -= bytes0; } N_NIMCALL(void, freeoschunks_9bYkqlcspX9aiTE9a83Z3Ocjw)(Memregion_x81NhDv59b8ercDZ9bi85jyg* a0, void* p0, NI size0) { Basechunk_Sdq7WpT6qAH858F5ZEdG3w* c0; NI nxt0; Basechunk_Sdq7WpT6qAH858F5ZEdG3w* next0; NI LOC7; c0 = ((Basechunk_Sdq7WpT6qAH858F5ZEdG3w*) (p0)); nxt0 = (NI)((NU32)(((NI) (p0))) + (NU32)((*c0).size)); next0 = ((Basechunk_Sdq7WpT6qAH858F5ZEdG3w*) (nxt0)); { NI LOC3; NIM_BOOL LOC4; LOC3 = (NI)0; LOC3 = pageindex_vFgXFo13iF61HsEG6epuwgsystem(next0); LOC4 = (NIM_BOOL)0; LOC4 = contains_tGsWrN4DY41H9btt3FhjrNA((&(*a0).chunkstarts), LOC3); if (!LOC4) goto LA5; (*next0).prevsize = ((NI) 0); } LA5: ; LOC7 = (NI)0; LOC7 = pageindex_bDTXHqSShXKux9bZH4tvkVgsystem(p0); excl_Z9cZKmN1jjRFCzU0lgW9a1XA((&(*a0).chunkstarts), LOC7); osdeallocpages_I1brEDH0C8CP9a0HfGYsDvAsystem(p0, size0); deccurrmem_rxjvSU4wRoPOjezLtDzm3Q_2system(a0, size0); (*a0).freemem -= size0; } N_NIMCALL(void, freebigchunk_CAqFS1jFL1RxG80t9bOGmAA)(Memregion_x81NhDv59b8ercDZ9bi85jyg* a0, Bigchunk_Rv9c70Uhp2TytkX7eH78qEg* c_Dm5SSuXWIa9cuGiJqMKyKFA) { Bigchunk_Rv9c70Uhp2TytkX7eH78qEg* c0; Basechunk_Sdq7WpT6qAH858F5ZEdG3w* ri0; c0 = c_Dm5SSuXWIa9cuGiJqMKyKFA; (*a0).freemem += (*c0).Sup.size; ri0 = ((Basechunk_Sdq7WpT6qAH858F5ZEdG3w*) ((NI)((NU32)(((NI) (c0))) + (NU32)((*c0).Sup.size)))); { NIM_BOOL LOC3; LOC3 = (NIM_BOOL)0; LOC3 = isaccessible_5nqar3kL9acJcissrFLDdkwsystem((&(*a0)), ((void*) (ri0))); if (!(LOC3)) goto LA4; LOC3 = chunkunused_xxNWShoyEPMUVN7FvfpDjw_2system(ri0); LA4: ; if (!LOC3) goto LA5; { NIM_BOOL LOC9; NI LOC12; LOC9 = (NIM_BOOL)0; LOC9 = issmallchunk_xxNWShoyEPMUVN7FvfpDjwsystem(ri0); if (!!(LOC9)) goto LA10; listremove_ZRIe9cFnHOrfvS8VmLduoXQsystem(&(*a0).freechunkslist, ((Bigchunk_Rv9c70Uhp2TytkX7eH78qEg*) (ri0))); (*c0).Sup.size += (*ri0).size; LOC12 = (NI)0; LOC12 = pageindex_vFgXFo13iF61HsEG6epuwgsystem(ri0); excl_Z9cZKmN1jjRFCzU0lgW9a1XA((&(*a0).chunkstarts), LOC12); } LA10: ; } LA5: ; { Basechunk_Sdq7WpT6qAH858F5ZEdG3w* le0; if (!!(((*c0).Sup.prevsize == ((NI) 0)))) goto LA15; le0 = ((Basechunk_Sdq7WpT6qAH858F5ZEdG3w*) ((NI)((NU32)(((NI) (c0))) - (NU32)((*c0).Sup.prevsize)))); { NIM_BOOL LOC19; LOC19 = (NIM_BOOL)0; LOC19 = isaccessible_5nqar3kL9acJcissrFLDdkwsystem((&(*a0)), ((void*) (le0))); if (!(LOC19)) goto LA20; LOC19 = chunkunused_xxNWShoyEPMUVN7FvfpDjw_2system(le0); LA20: ; if (!LOC19) goto LA21; { NIM_BOOL LOC25; Basechunk_Sdq7WpT6qAH858F5ZEdG3w* LOC28; NI LOC29; LOC25 = (NIM_BOOL)0; LOC25 = issmallchunk_xxNWShoyEPMUVN7FvfpDjwsystem(le0); if (!!(LOC25)) goto LA26; listremove_ZRIe9cFnHOrfvS8VmLduoXQsystem(&(*a0).freechunkslist, ((Bigchunk_Rv9c70Uhp2TytkX7eH78qEg*) (le0))); (*le0).size += (*c0).Sup.size; LOC28 = (Basechunk_Sdq7WpT6qAH858F5ZEdG3w*)0; LOC28 = &c0->Sup; LOC29 = (NI)0; LOC29 = pageindex_vFgXFo13iF61HsEG6epuwgsystem(LOC28); excl_Z9cZKmN1jjRFCzU0lgW9a1XA((&(*a0).chunkstarts), LOC29); c0 = ((Bigchunk_Rv9c70Uhp2TytkX7eH78qEg*) (le0)); } LA26: ; } LA21: ; } LA15: ; { NIM_BOOL LOC32; NIM_BOOL LOC33; Basechunk_Sdq7WpT6qAH858F5ZEdG3w* LOC38; NI LOC39; LOC32 = (NIM_BOOL)0; LOC33 = (NIM_BOOL)0; LOC33 = ((*c0).Sup.size < ((NI) 1048576)); if (LOC33) goto LA34; LOC33 = NIM_TRUE; LA34: ; LOC32 = LOC33; if (LOC32) goto LA35; LOC32 = (*a0).locked; LA35: ; if (!LOC32) goto LA36; LOC38 = (Basechunk_Sdq7WpT6qAH858F5ZEdG3w*)0; LOC38 = &c0->Sup; LOC39 = (NI)0; LOC39 = pageindex_vFgXFo13iF61HsEG6epuwgsystem(LOC38); incl_Iz1GYiOVKwItgr5CdCm0dQ(a0, (&(*a0).chunkstarts), LOC39); updateprevsize_3G5wKZdFZhblebPYdFnpxQsystem(a0, c0, (*c0).Sup.size); listadd_ZRIe9cFnHOrfvS8VmLduoXQ_2system(&(*a0).freechunkslist, c0); (*c0).Sup.used = NIM_FALSE; } goto LA30; LA36: ; { freeoschunks_9bYkqlcspX9aiTE9a83Z3Ocjw(a0, ((void*) (c0)), (*c0).Sup.size); } LA30: ; } static N_INLINE(void, deallocavlnode_E5Kui5a9artJoR6jEn007Vgsystem)(Memregion_x81NhDv59b8ercDZ9bi85jyg* a0, Avlnode_IaqjtwKhxLEpvDS9bct9blEw* n0) { (*n0).link[(((NI) 0))- 0] = (*a0).freeavlnodes; (*a0).freeavlnodes = n0; } N_NIMCALL(void, del_hPrZ9bxLZK5QpoftxoRaXvA)(Memregion_x81NhDv59b8ercDZ9bi85jyg* a0, Avlnode_IaqjtwKhxLEpvDS9bct9blEw** t0, NI x0) { { { if (!((*(*t0)).link[(((NI) 0))- 0] == (*t0))) goto LA3; goto BeforeRet; } LA3: ; (*a0).last = (*t0); { if (!((NU32)(x0) < (NU32)((*(*t0)).key))) goto LA7; del_hPrZ9bxLZK5QpoftxoRaXvA(a0, &(*(*t0)).link[(((NI) 0))- 0], x0); } goto LA5; LA7: ; { (*a0).deleted = (*t0); del_hPrZ9bxLZK5QpoftxoRaXvA(a0, &(*(*t0)).link[(((NI) 1))- 0], x0); } LA5: ; { NIM_BOOL LOC12; NIM_BOOL LOC13; LOC12 = (NIM_BOOL)0; LOC13 = (NIM_BOOL)0; LOC13 = ((*t0) == (*a0).last); if (!(LOC13)) goto LA14; LOC13 = !(((*(*a0).deleted).link[(((NI) 0))- 0] == (*a0).deleted)); LA14: ; LOC12 = LOC13; if (!(LOC12)) goto LA15; LOC12 = (x0 == (*(*a0).deleted).key); LA15: ; if (!LOC12) goto LA16; (*(*a0).deleted).key = (*(*t0)).key; (*(*a0).deleted).upperbound = (*(*t0)).upperbound; (*a0).deleted = bottom_KT33MhtjYZUZyUdbeLIpkg; (*t0) = (*(*t0)).link[(((NI) 1))- 0]; deallocavlnode_E5Kui5a9artJoR6jEn007Vgsystem(a0, (*a0).last); } goto LA10; LA16: ; { NIM_BOOL LOC19; LOC19 = (NIM_BOOL)0; LOC19 = ((*(*(*t0)).link[(((NI) 0))- 0]).level < (NI)((*(*t0)).level - ((NI) 1))); if (LOC19) goto LA20; LOC19 = ((*(*(*t0)).link[(((NI) 1))- 0]).level < (NI)((*(*t0)).level - ((NI) 1))); LA20: ; if (!LOC19) goto LA21; (*(*t0)).level -= ((NI) 1); { if (!((*(*t0)).level < (*(*(*t0)).link[(((NI) 1))- 0]).level)) goto LA25; (*(*(*t0)).link[(((NI) 1))- 0]).level = (*(*t0)).level; } LA25: ; skew_Cfx7NvEVZIhBjBm7i89boSg(t0); skew_Cfx7NvEVZIhBjBm7i89boSg(&(*(*t0)).link[(((NI) 1))- 0]); skew_Cfx7NvEVZIhBjBm7i89boSg(&(*(*(*t0)).link[(((NI) 1))- 0]).link[(((NI) 1))- 0]); split_Cfx7NvEVZIhBjBm7i89boSg_2(t0); split_Cfx7NvEVZIhBjBm7i89boSg_2(&(*(*t0)).link[(((NI) 1))- 0]); } goto LA10; LA21: ; LA10: ; }BeforeRet: ; } N_NIMCALL(void, rawdealloc_DA62HrGC5sdfCED505KyyQ)(Memregion_x81NhDv59b8ercDZ9bi85jyg* a0, void* p0) { Basechunk_Sdq7WpT6qAH858F5ZEdG3w* c_GHaziSFFmqUZ7gFSv347RQ; c_GHaziSFFmqUZ7gFSv347RQ = pageaddr_4uti7hTxTUDxUPqFMgMvHAsystem(p0); { NIM_BOOL LOC3; Smallchunk_tXn60W2f8h3jgAYdEmy5NQ* c0; NI s0; Freecell_u6M5LHprqzkn9axr04yg9bGQ* f0; LOC3 = (NIM_BOOL)0; LOC3 = issmallchunk_xxNWShoyEPMUVN7FvfpDjwsystem(c_GHaziSFFmqUZ7gFSv347RQ); if (!LOC3) goto LA4; c0 = ((Smallchunk_tXn60W2f8h3jgAYdEmy5NQ*) (c_GHaziSFFmqUZ7gFSv347RQ)); s0 = (*c0).Sup.size; f0 = ((Freecell_u6M5LHprqzkn9axr04yg9bGQ*) (p0)); (*f0).zerofield = ((NI) 0); (*f0).next = (*c0).freelist; (*c0).freelist = f0; { if (!((*c0).free < s0)) goto LA8; listadd_DqXPtLsRUwQp3iwLtHEdIgsystem(&(*a0).freesmallchunks[((NI)(s0 / ((NI) 8)))- 0], c0); (*c0).free += s0; } goto LA6; LA8: ; { (*c0).free += s0; { if (!((*c0).free == (NI)(((NI) 4096) - (NI)(((NI)sizeof(Smallchunk_tXn60W2f8h3jgAYdEmy5NQ)) - ((NI) 8))))) goto LA13; listremove_DqXPtLsRUwQp3iwLtHEdIg_2system(&(*a0).freesmallchunks[((NI)(s0 / ((NI) 8)))- 0], c0); (*c0).Sup.size = ((NI) 4096); freebigchunk_CAqFS1jFL1RxG80t9bOGmAA(a0, ((Bigchunk_Rv9c70Uhp2TytkX7eH78qEg*) (c0))); } LA13: ; } LA6: ; } goto LA1; LA4: ; { Bigchunk_Rv9c70Uhp2TytkX7eH78qEg* c0; c0 = ((Bigchunk_Rv9c70Uhp2TytkX7eH78qEg*) (c_GHaziSFFmqUZ7gFSv347RQ)); (*a0).deleted = bottom_KT33MhtjYZUZyUdbeLIpkg; del_hPrZ9bxLZK5QpoftxoRaXvA(a0, &(*a0).root, ((NI) ((&(*c0).data)))); freebigchunk_CAqFS1jFL1RxG80t9bOGmAA(a0, c0); } LA1: ; } N_NIMCALL(void, dealloc_jqYVOi4APb9cRx3G9a57AkRw)(Memregion_x81NhDv59b8ercDZ9bi85jyg* allocator0, void* p0) { void* x0; x0 = ((void*) ((NI)((NU32)(((NI) (p0))) - (NU32)(((NI)sizeof(Freecell_u6M5LHprqzkn9axr04yg9bGQ)))))); rawdealloc_DA62HrGC5sdfCED505KyyQ(allocator0, x0); } N_NOCONV(void, dealloc_RCjNtRnHdRYntrcE7YtwWw)(void* p0) { dealloc_jqYVOi4APb9cRx3G9a57AkRw((&gch_IcYaEuuWivYAS86vFMTS3Q.region), p0); } static N_INLINE(void, add_Wcf8r6MCjrJeJ3HSYwSp0Qsystem)(Cellseq_Axo1XVm9aaQueTOldv8le5w* s0, Cell_1zcF9cV8XIAtbN8h5HRUB8g* c0) { { Cell_1zcF9cV8XIAtbN8h5HRUB8g** d0; void* LOC5; if (!((*s0).cap <= (*s0).len)) goto LA3; (*s0).cap = (NI)((NI)((*s0).cap * ((NI) 3)) / ((NI) 2)); LOC5 = (void*)0; LOC5 = alloc_4cubgSerkjpuLcj5MXjiLw_2(((NI) ((NI)((*s0).cap * ((NI) 4))))); d0 = ((Cell_1zcF9cV8XIAtbN8h5HRUB8g**) (LOC5)); copymem_fPlwH3r9agN9aEHB6yCPMh0wsystem(((void*) (d0)), ((void*) ((*s0).d)), ((NI) ((NI)((*s0).len * ((NI) 4))))); dealloc_RCjNtRnHdRYntrcE7YtwWw(((void*) ((*s0).d))); (*s0).d = d0; } LA3: ; (*s0).d[((*s0).len)- 0] = c0; (*s0).len += ((NI) 1); } N_NOINLINE(void, addzct_fCDI7oO1NNVXXURtxSzsRw)(Cellseq_Axo1XVm9aaQueTOldv8le5w* s0, Cell_1zcF9cV8XIAtbN8h5HRUB8g* c0) { { if (!((NI)((*c0).refcount & ((NI) 4)) == ((NI) 0))) goto LA3; (*c0).refcount = (NI)((*c0).refcount | ((NI) 4)); add_Wcf8r6MCjrJeJ3HSYwSp0Qsystem(s0, c0); } LA3: ; } static N_INLINE(void, rtladdzct_MV4BBk6J1qu70IbBxwEn4w_2system)(Cell_1zcF9cV8XIAtbN8h5HRUB8g* c0) { addzct_fCDI7oO1NNVXXURtxSzsRw((&gch_IcYaEuuWivYAS86vFMTS3Q.zct), c0); } static N_INLINE(void, decref_MV4BBk6J1qu70IbBxwEn4wsystem)(Cell_1zcF9cV8XIAtbN8h5HRUB8g* c0) { { (*c0).refcount -= ((NI) 8); if (!((NU32)((*c0).refcount) < (NU32)(((NI) 8)))) goto LA3; rtladdzct_MV4BBk6J1qu70IbBxwEn4w_2system(c0); } LA3: ; } static N_INLINE(NI, nexttry_GRX2KbRyW3mlDDFEU50uhwsystem)(NI h0, NI maxhash0) { NI result0; result0 = (NI)0; result0 = (NI)((NI)((NI)(((NI) 5) * h0) + ((NI) 1)) & maxhash0); return result0; } N_NIMCALL(void, cellsetrawinsert_IccmFuD44fG6qfTRJKp9aSQ)(Cellset_jG87P0AI9aZtss9ccTYBIISQ t0, Pagedesc_fublkgIY4LG3mT51LU2WHg** data0, Pagedesc_fublkgIY4LG3mT51LU2WHg* desc0) { NI h0; h0 = (NI)(((NI) ((*desc0).key)) & t0.max); { while (1) { if (!!((data0[(h0)- 0] == NIM_NIL))) goto LA2; h0 = nexttry_GRX2KbRyW3mlDDFEU50uhwsystem(h0, t0.max); } LA2: ; } data0[(h0)- 0] = desc0; } N_NIMCALL(void, cellsetenlarge_ZCqaZEiX9aUtDCRoknrJ9bpQ)(Cellset_jG87P0AI9aZtss9ccTYBIISQ* t0) { NI oldmax0; Pagedesc_fublkgIY4LG3mT51LU2WHg** n0; void* LOC1; oldmax0 = (*t0).max; (*t0).max = (NI)((NI)((NI)((*t0).max + ((NI) 1)) * ((NI) 2)) - ((NI) 1)); LOC1 = (void*)0; LOC1 = alloc0_4cubgSerkjpuLcj5MXjiLw(((NI) ((NI)((NI)((*t0).max + ((NI) 1)) * ((NI) 4))))); n0 = ((Pagedesc_fublkgIY4LG3mT51LU2WHg**) (LOC1)); { NI i_ovZMflPpyCjqJcVO5wKG0g; NI res_OUznQew7H9cBZYTOay8m9a4Q; i_ovZMflPpyCjqJcVO5wKG0g = (NI)0; res_OUznQew7H9cBZYTOay8m9a4Q = ((NI) 0); { while (1) { if (!(res_OUznQew7H9cBZYTOay8m9a4Q <= oldmax0)) goto LA4; i_ovZMflPpyCjqJcVO5wKG0g = res_OUznQew7H9cBZYTOay8m9a4Q; { if (!!(((*t0).data[(i_ovZMflPpyCjqJcVO5wKG0g)- 0] == NIM_NIL))) goto LA7; cellsetrawinsert_IccmFuD44fG6qfTRJKp9aSQ((*t0), n0, (*t0).data[(i_ovZMflPpyCjqJcVO5wKG0g)- 0]); } LA7: ; res_OUznQew7H9cBZYTOay8m9a4Q += ((NI) 1); } LA4: ; } } dealloc_RCjNtRnHdRYntrcE7YtwWw(((void*) ((*t0).data))); (*t0).data = n0; } N_NIMCALL(Pagedesc_fublkgIY4LG3mT51LU2WHg*, cellsetput_mFUFZ7eVLRT9bMaHzrsxFrQ)(Cellset_jG87P0AI9aZtss9ccTYBIISQ* t0, NI key0) { Pagedesc_fublkgIY4LG3mT51LU2WHg* result0; NI h0; void* LOC19; { result0 = (Pagedesc_fublkgIY4LG3mT51LU2WHg*)0; h0 = (NI)(((NI) (key0)) & (*t0).max); { while (1) { Pagedesc_fublkgIY4LG3mT51LU2WHg* x0; x0 = (*t0).data[(h0)- 0]; { if (!(x0 == NIM_NIL)) goto LA5; goto LA1; } LA5: ; { if (!((*x0).key == key0)) goto LA9; result0 = x0; goto BeforeRet; } LA9: ; h0 = nexttry_GRX2KbRyW3mlDDFEU50uhwsystem(h0, (*t0).max); } } LA1: ; { NIM_BOOL LOC13; LOC13 = (NIM_BOOL)0; LOC13 = ((NI)((NI)((*t0).max + ((NI) 1)) * ((NI) 2)) < (NI)((*t0).counter * ((NI) 3))); if (LOC13) goto LA14; LOC13 = ((NI)((NI)((*t0).max + ((NI) 1)) - (*t0).counter) < ((NI) 4)); LA14: ; if (!LOC13) goto LA15; cellsetenlarge_ZCqaZEiX9aUtDCRoknrJ9bpQ(t0); } LA15: ; (*t0).counter += ((NI) 1); h0 = (NI)(((NI) (key0)) & (*t0).max); { while (1) { if (!!(((*t0).data[(h0)- 0] == NIM_NIL))) goto LA18; h0 = nexttry_GRX2KbRyW3mlDDFEU50uhwsystem(h0, (*t0).max); } LA18: ; } LOC19 = (void*)0; LOC19 = alloc0_4cubgSerkjpuLcj5MXjiLw(((NI) (((NI)sizeof(Pagedesc_fublkgIY4LG3mT51LU2WHg))))); result0 = ((Pagedesc_fublkgIY4LG3mT51LU2WHg*) (LOC19)); (*result0).next = (*t0).head; (*result0).key = key0; (*t0).head = result0; (*t0).data[(h0)- 0] = result0; }BeforeRet: ; return result0; } N_NOINLINE(void, incl_m4q9b16kJJcoKe9c4ERtlpCg)(Cellset_jG87P0AI9aZtss9ccTYBIISQ* s0, Cell_1zcF9cV8XIAtbN8h5HRUB8g* cell0) { NI u0; Pagedesc_fublkgIY4LG3mT51LU2WHg* t0; u0 = ((NI) (cell0)); t0 = cellsetput_mFUFZ7eVLRT9bMaHzrsxFrQ(s0, (NI)((NU32)(u0) >> (NU32)(((NI) 12)))); u0 = (NI)((NU32)((NI)((NU32)(u0) % (NU32)(((NI) 4096)))) / (NU32)(((NI) 8))); (*t0).bits[((NI)((NU32)(u0) >> (NU32)(((NI) 5))))- 0] = (NI)((*t0).bits[((NI)((NU32)(u0) >> (NU32)(((NI) 5))))- 0] | (NI)((NU32)(((NI) 1)) << (NU32)(((NI) ((NI)(u0 & ((NI) 31))))))); } static N_INLINE(void*, celltousr_vA0UG8JLZvpzP1Xf3vkPgwsystem)(Cell_1zcF9cV8XIAtbN8h5HRUB8g* cell0) { void* result0; result0 = (void*)0; result0 = ((void*) ((NI)((NU32)(((NI) (cell0))) + (NU32)(((NI)sizeof(Cell_1zcF9cV8XIAtbN8h5HRUB8g)))))); return result0; } N_NIMCALL(NI, getdiscriminant_wq1GP7ZPZ7P1uZUypfc9ciA)(void* aa0, TNimNode* n0) { NI result0; NI d0; NI a0; { result0 = (NI)0; d0 = (NI)0; a0 = ((NI) (aa0)); switch ((*(*n0).typ).size) { case ((NI) 1): { d0 = ((NI)(NU)(NU8)((*((NI8*) ((NI)((NU32)(a0) + (NU32)((*n0).offset))))))); } break; case ((NI) 2): { d0 = ((NI)(NU)(NU16)((*((NI16*) ((NI)((NU32)(a0) + (NU32)((*n0).offset))))))); } break; case ((NI) 4): { d0 = ((NI) ((*((NI32*) ((NI)((NU32)(a0) + (NU32)((*n0).offset))))))); } break; default: { } break; } result0 = d0; goto BeforeRet; }BeforeRet: ; return result0; } N_NIMCALL(TNimNode*, selectbranch_MvIsyjoRI1g7VY9cXrLB1dQ)(void* aa0, TNimNode* n0) { TNimNode* result0; NI discr0; result0 = (TNimNode*)0; discr0 = getdiscriminant_wq1GP7ZPZ7P1uZUypfc9ciA(aa0, n0); { if (!((NU32)(discr0) < (NU32)((*n0).len))) goto LA3; result0 = (*n0).sons[(discr0)- 0]; { if (!(result0 == NIM_NIL)) goto LA7; result0 = (*n0).sons[((*n0).len)- 0]; } LA7: ; } goto LA1; LA3: ; { result0 = (*n0).sons[((*n0).len)- 0]; } LA1: ; return result0; } N_NIMCALL(void, forallslotsaux_g4QpsZWzXQMKa0ugIze5Kw)(void* dest0, TNimNode* n0, Walkop_Wfy7gT5VQ8B3aJBxqU8D9cQ op0) { NI d0; d0 = ((NI) (dest0)); switch ((*n0).kind) { case ((Tnimnodekind_unfNsxrcATrufDZmpBq4HQ) 1): { forallchildrenaux_YOI1Uo54H9aas13WthjhsfA(((void*) ((NI)((NU32)(d0) + (NU32)((*n0).offset)))), (*n0).typ, op0); } break; case ((Tnimnodekind_unfNsxrcATrufDZmpBq4HQ) 2): { { NI i_yFVGqjYX0rOVrP1UbIcxlQ; NI HEX3Atmp_aluJ41lSeiXfUVv9cEduUmw; NI res_l7DsFUd4HmNaSBDi4Y5JuA; i_yFVGqjYX0rOVrP1UbIcxlQ = (NI)0; HEX3Atmp_aluJ41lSeiXfUVv9cEduUmw = (NI)0; HEX3Atmp_aluJ41lSeiXfUVv9cEduUmw = (NI)((*n0).len - ((NI) 1)); res_l7DsFUd4HmNaSBDi4Y5JuA = ((NI) 0); { while (1) { if (!(res_l7DsFUd4HmNaSBDi4Y5JuA <= HEX3Atmp_aluJ41lSeiXfUVv9cEduUmw)) goto LA5; i_yFVGqjYX0rOVrP1UbIcxlQ = res_l7DsFUd4HmNaSBDi4Y5JuA; { if (!((*(*n0).sons[(i_yFVGqjYX0rOVrP1UbIcxlQ)- 0]).kind == ((Tnimnodekind_unfNsxrcATrufDZmpBq4HQ) 1))) goto LA8; { if (!((*(*(*n0).sons[(i_yFVGqjYX0rOVrP1UbIcxlQ)- 0]).typ).kind == ((Tnimkind_jIBKr1ejBgsfM33Kxw4j7A) 22) || (*(*(*n0).sons[(i_yFVGqjYX0rOVrP1UbIcxlQ)- 0]).typ).kind == ((Tnimkind_jIBKr1ejBgsfM33Kxw4j7A) 28) || (*(*(*n0).sons[(i_yFVGqjYX0rOVrP1UbIcxlQ)- 0]).typ).kind == ((Tnimkind_jIBKr1ejBgsfM33Kxw4j7A) 24))) goto LA12; dooperation_3F8QeaTyYrJJF2gjBr6b8A((*((void**) ((NI)((NU32)(d0) + (NU32)((*(*n0).sons[(i_yFVGqjYX0rOVrP1UbIcxlQ)- 0]).offset))))), op0); } goto LA10; LA12: ; { forallchildrenaux_YOI1Uo54H9aas13WthjhsfA(((void*) ((NI)((NU32)(d0) + (NU32)((*(*n0).sons[(i_yFVGqjYX0rOVrP1UbIcxlQ)- 0]).offset)))), (*(*n0).sons[(i_yFVGqjYX0rOVrP1UbIcxlQ)- 0]).typ, op0); } LA10: ; } goto LA6; LA8: ; { forallslotsaux_g4QpsZWzXQMKa0ugIze5Kw(dest0, (*n0).sons[(i_yFVGqjYX0rOVrP1UbIcxlQ)- 0], op0); } LA6: ; res_l7DsFUd4HmNaSBDi4Y5JuA += ((NI) 1); } LA5: ; } } } break; case ((Tnimnodekind_unfNsxrcATrufDZmpBq4HQ) 3): { TNimNode* m0; m0 = selectbranch_MvIsyjoRI1g7VY9cXrLB1dQ(dest0, n0); { if (!!((m0 == NIM_NIL))) goto LA19; forallslotsaux_g4QpsZWzXQMKa0ugIze5Kw(dest0, m0, op0); } LA19: ; } break; case ((Tnimnodekind_unfNsxrcATrufDZmpBq4HQ) 0): { } break; } } N_NIMCALL(void, forallchildrenaux_YOI1Uo54H9aas13WthjhsfA)(void* dest0, TNimType* mt0, Walkop_Wfy7gT5VQ8B3aJBxqU8D9cQ op0) { NI d0; { d0 = ((NI) (dest0)); { if (!(dest0 == NIM_NIL)) goto LA3; goto BeforeRet; } LA3: ; { if (!!((((*mt0).flags &(1U<<((NU)(((Tnimtypeflag_v8QUszD1sWlSIWZz7mC4bQ) 0))&7U)))!=0))) goto LA7; switch ((*mt0).kind) { case ((Tnimkind_jIBKr1ejBgsfM33Kxw4j7A) 22): case ((Tnimkind_jIBKr1ejBgsfM33Kxw4j7A) 28): case ((Tnimkind_jIBKr1ejBgsfM33Kxw4j7A) 24): { dooperation_3F8QeaTyYrJJF2gjBr6b8A((*((void**) (d0))), op0); } break; case ((Tnimkind_jIBKr1ejBgsfM33Kxw4j7A) 17): case ((Tnimkind_jIBKr1ejBgsfM33Kxw4j7A) 18): { forallslotsaux_g4QpsZWzXQMKa0ugIze5Kw(dest0, (*mt0).node, op0); } break; case ((Tnimkind_jIBKr1ejBgsfM33Kxw4j7A) 16): case ((Tnimkind_jIBKr1ejBgsfM33Kxw4j7A) 4): case ((Tnimkind_jIBKr1ejBgsfM33Kxw4j7A) 27): { { NI i_hJ6Z9cJNGnrKLq9ceDKabzgw; NI HEX3Atmp_GhXX4gZuFbYd9cj266L525A; NI res_15HB3Li00LnIMt9aFST6SQQ; i_hJ6Z9cJNGnrKLq9ceDKabzgw = (NI)0; HEX3Atmp_GhXX4gZuFbYd9cj266L525A = (NI)0; HEX3Atmp_GhXX4gZuFbYd9cj266L525A = (NI)((NI)((*mt0).size / (*(*mt0).base).size) - ((NI) 1)); res_15HB3Li00LnIMt9aFST6SQQ = ((NI) 0); { while (1) { if (!(res_15HB3Li00LnIMt9aFST6SQQ <= HEX3Atmp_GhXX4gZuFbYd9cj266L525A)) goto LA14; i_hJ6Z9cJNGnrKLq9ceDKabzgw = res_15HB3Li00LnIMt9aFST6SQQ; forallchildrenaux_YOI1Uo54H9aas13WthjhsfA(((void*) ((NI)((NU32)(d0) + (NU32)((NI)((NU32)(i_hJ6Z9cJNGnrKLq9ceDKabzgw) * (NU32)((*(*mt0).base).size)))))), (*mt0).base, op0); res_15HB3Li00LnIMt9aFST6SQQ += ((NI) 1); } LA14: ; } } } break; default: { } break; } } LA7: ; }BeforeRet: ; } N_NIMCALL(void, forallchildren_yHFnLgI7q81iFxRlb3Iqlw)(Cell_1zcF9cV8XIAtbN8h5HRUB8g* cell0, Walkop_Wfy7gT5VQ8B3aJBxqU8D9cQ op0) { TY_ojoeKfW4VYIm36I9cpDTQIg marker0; marker0 = (*(*cell0).typ).marker; { void* LOC5; if (!!((marker0 == NIM_NIL))) goto LA3; LOC5 = (void*)0; LOC5 = celltousr_vA0UG8JLZvpzP1Xf3vkPgwsystem(cell0); marker0(LOC5, ((NI) (op0))); } goto LA1; LA3: ; { switch ((*(*cell0).typ).kind) { case ((Tnimkind_jIBKr1ejBgsfM33Kxw4j7A) 22): { void* LOC8; LOC8 = (void*)0; LOC8 = celltousr_vA0UG8JLZvpzP1Xf3vkPgwsystem(cell0); forallchildrenaux_YOI1Uo54H9aas13WthjhsfA(LOC8, (*(*cell0).typ).base, op0); } break; case ((Tnimkind_jIBKr1ejBgsfM33Kxw4j7A) 24): { NI d0; void* LOC10; TGenericSeq* s0; LOC10 = (void*)0; LOC10 = celltousr_vA0UG8JLZvpzP1Xf3vkPgwsystem(cell0); d0 = ((NI) (LOC10)); s0 = ((TGenericSeq*) (d0)); { if (!!((s0 == NIM_NIL))) goto LA13; { NI i_vg6ijnMQzATRA1jJdNTpZg; NI HEX3Atmp_h7TDpb2IpRLxX7z5zZTNBg; NI res_NrAkadqSP9cs0YC32we9aC9aQ; i_vg6ijnMQzATRA1jJdNTpZg = (NI)0; HEX3Atmp_h7TDpb2IpRLxX7z5zZTNBg = (NI)0; HEX3Atmp_h7TDpb2IpRLxX7z5zZTNBg = (NI)((*s0).len - ((NI) 1)); res_NrAkadqSP9cs0YC32we9aC9aQ = ((NI) 0); { while (1) { if (!(res_NrAkadqSP9cs0YC32we9aC9aQ <= HEX3Atmp_h7TDpb2IpRLxX7z5zZTNBg)) goto LA17; i_vg6ijnMQzATRA1jJdNTpZg = res_NrAkadqSP9cs0YC32we9aC9aQ; forallchildrenaux_YOI1Uo54H9aas13WthjhsfA(((void*) ((NI)((NU32)((NI)((NU32)(d0) + (NU32)((NI)((NU32)(i_vg6ijnMQzATRA1jJdNTpZg) * (NU32)((*(*(*cell0).typ).base).size))))) + (NU32)(((NI) 8))))), (*(*cell0).typ).base, op0); res_NrAkadqSP9cs0YC32we9aC9aQ += ((NI) 1); } LA17: ; } } } LA13: ; } break; default: { } break; } } LA1: ; } N_NIMCALL(Pagedesc_fublkgIY4LG3mT51LU2WHg*, cellsetget_X4WTfs0wkld8wp8XcE9b8BA)(Cellset_jG87P0AI9aZtss9ccTYBIISQ t0, NI key0) { Pagedesc_fublkgIY4LG3mT51LU2WHg* result0; NI h0; { result0 = (Pagedesc_fublkgIY4LG3mT51LU2WHg*)0; h0 = (NI)(((NI) (key0)) & t0.max); { while (1) { if (!!((t0.data[(h0)- 0] == NIM_NIL))) goto LA2; { if (!((*t0.data[(h0)- 0]).key == key0)) goto LA5; result0 = t0.data[(h0)- 0]; goto BeforeRet; } LA5: ; h0 = nexttry_GRX2KbRyW3mlDDFEU50uhwsystem(h0, t0.max); } LA2: ; } result0 = NIM_NIL; goto BeforeRet; }BeforeRet: ; return result0; } N_NIMCALL(NIM_BOOL, containsorincl_CbGEjIBKJIi7knlaDzUluA)(Cellset_jG87P0AI9aZtss9ccTYBIISQ* s0, Cell_1zcF9cV8XIAtbN8h5HRUB8g* cell0) { NIM_BOOL result0; NI u0; Pagedesc_fublkgIY4LG3mT51LU2WHg* t0; result0 = (NIM_BOOL)0; u0 = ((NI) (cell0)); t0 = cellsetget_X4WTfs0wkld8wp8XcE9b8BA((*s0), (NI)((NU32)(u0) >> (NU32)(((NI) 12)))); { if (!!((t0 == NIM_NIL))) goto LA3; u0 = (NI)((NU32)((NI)((NU32)(u0) % (NU32)(((NI) 4096)))) / (NU32)(((NI) 8))); result0 = !(((NI)((*t0).bits[((NI)((NU32)(u0) >> (NU32)(((NI) 5))))- 0] & (NI)((NU32)(((NI) 1)) << (NU32)(((NI) ((NI)(u0 & ((NI) 31))))))) == ((NI) 0))); { if (!!(result0)) goto LA7; (*t0).bits[((NI)((NU32)(u0) >> (NU32)(((NI) 5))))- 0] = (NI)((*t0).bits[((NI)((NU32)(u0) >> (NU32)(((NI) 5))))- 0] | (NI)((NU32)(((NI) 1)) << (NU32)(((NI) ((NI)(u0 & ((NI) 31))))))); } LA7: ; } goto LA1; LA3: ; { incl_m4q9b16kJJcoKe9c4ERtlpCg(s0, cell0); result0 = NIM_FALSE; } LA1: ; return result0; } N_NIMCALL(void, marks_NZr5o3Ubzrci4OmK29cHBJA)(Gcheap_1TRH1TZMaVZTnLNcIHuNFQ* gch0, Cell_1zcF9cV8XIAtbN8h5HRUB8g* c0) { incl_m4q9b16kJJcoKe9c4ERtlpCg((&(*gch0).marked), c0); forallchildren_yHFnLgI7q81iFxRlb3Iqlw(c0, ((Walkop_Wfy7gT5VQ8B3aJBxqU8D9cQ) 1)); { while (1) { Cell_1zcF9cV8XIAtbN8h5HRUB8g* d0; if (!(((NI) 0) < (*gch0).tempstack.len)) goto LA2; (*gch0).tempstack.len -= ((NI) 1); d0 = (*gch0).tempstack.d[((*gch0).tempstack.len)- 0]; { NIM_BOOL LOC5; LOC5 = (NIM_BOOL)0; LOC5 = containsorincl_CbGEjIBKJIi7knlaDzUluA((&(*gch0).marked), d0); if (!!(LOC5)) goto LA6; forallchildren_yHFnLgI7q81iFxRlb3Iqlw(d0, ((Walkop_Wfy7gT5VQ8B3aJBxqU8D9cQ) 1)); } LA6: ; } LA2: ; } } N_NIMCALL(void, dooperation_3F8QeaTyYrJJF2gjBr6b8A)(void* p0, Walkop_Wfy7gT5VQ8B3aJBxqU8D9cQ op0) { Cell_1zcF9cV8XIAtbN8h5HRUB8g* c0; { { if (!(p0 == NIM_NIL)) goto LA3; goto BeforeRet; } LA3: ; c0 = usrtocell_yB9aH5WIlwd0xkYrcdPeXrQsystem(p0); switch (op0) { case ((Walkop_Wfy7gT5VQ8B3aJBxqU8D9cQ) 2): { decref_MV4BBk6J1qu70IbBxwEn4wsystem(c0); } break; case ((Walkop_Wfy7gT5VQ8B3aJBxqU8D9cQ) 3): { add_Wcf8r6MCjrJeJ3HSYwSp0Qsystem((&gch_IcYaEuuWivYAS86vFMTS3Q.tempstack), c0); } break; case ((Walkop_Wfy7gT5VQ8B3aJBxqU8D9cQ) 0): { marks_NZr5o3Ubzrci4OmK29cHBJA((&gch_IcYaEuuWivYAS86vFMTS3Q), c0); } break; case ((Walkop_Wfy7gT5VQ8B3aJBxqU8D9cQ) 1): { add_Wcf8r6MCjrJeJ3HSYwSp0Qsystem((&gch_IcYaEuuWivYAS86vFMTS3Q.tempstack), c0); } break; } }BeforeRet: ; } N_NIMCALL(void, nimGCvisit)(void* d0, NI op0) { dooperation_3F8QeaTyYrJJF2gjBr6b8A(d0, ((Walkop_Wfy7gT5VQ8B3aJBxqU8D9cQ) (op0))); } static N_NIMCALL(void, Marker_TY_oUKtBcKRdK6usj8RWrlp6A)(void* p, NI op) { Exception* a; a = (Exception*)p; nimGCvisit((void*)(*a).parent, op); nimGCvisit((void*)(*a).message, op); nimGCvisit((void*)(*a).trace, op); } static N_NIMCALL(void, T_Q5wkpxktOdTGvlSRo9bzt9aw_4)(void) { nimGCvisit((void*)currexception_9bVPeDJlYTi9bQApZpfH8wjg, 0); } N_NIMCALL(void, nimRegisterGlobalMarker)(TY_T4eqaYlFJYZUv9aG9b1TV0bQ markerproc0) { { if (!(globalmarkerslen_hgEFy3UCOBoalBh29asu5MA <= ((NI) 7000))) goto LA3; globalmarkers_5ghwSgpo9cT9bT7YStQDJHVQ[(globalmarkerslen_hgEFy3UCOBoalBh29asu5MA)- 0] = markerproc0; globalmarkerslen_hgEFy3UCOBoalBh29asu5MA += ((NI) 1); } goto LA1; LA3: ; { printf("%s\012", ((NimStringDesc*) &T_Q5wkpxktOdTGvlSRo9bzt9aw_5)? (((NimStringDesc*) &T_Q5wkpxktOdTGvlSRo9bzt9aw_5))->data:"nil"); fflush(stdout); exit(((NI) 1)); } LA1: ; } N_NOINLINE(NI, stacksize_IV9bgfYkinlae0WZ2NZi5JA)(void) { NI result0; void* volatile stacktop0; result0 = (NI)0; stacktop0 = (void*)0; result0 = ((NI)(((NI) ((&stacktop0))) - ((NI) (gch_IcYaEuuWivYAS86vFMTS3Q.stackbottom))) > 0? ((NI)(((NI) ((&stacktop0))) - ((NI) (gch_IcYaEuuWivYAS86vFMTS3Q.stackbottom)))) : -((NI)(((NI) ((&stacktop0))) - ((NI) (gch_IcYaEuuWivYAS86vFMTS3Q.stackbottom))))); return result0; } static N_INLINE(NI, getoccupiedmem_61WxanWSOmDDV2uI7O10dQsystem)(Memregion_x81NhDv59b8ercDZ9bi85jyg* a0) { NI result0; result0 = (NI)0; result0 = (NI)((*a0).currmem - (*a0).freemem); return result0; } N_NIMCALL(NI, lowgauge_3mwQtFaBTgevFrybZdgUNw)(Avlnode_IaqjtwKhxLEpvDS9bct9blEw* n0) { NI result0; Avlnode_IaqjtwKhxLEpvDS9bct9blEw* it0; result0 = (NI)0; it0 = n0; { while (1) { if (!!(((*it0).link[(((NI) 0))- 0] == it0))) goto LA2; result0 = (*it0).key; it0 = (*it0).link[(((NI) 0))- 0]; } LA2: ; } return result0; } N_NIMCALL(NI, highgauge_3mwQtFaBTgevFrybZdgUNw_2)(Avlnode_IaqjtwKhxLEpvDS9bct9blEw* n0) { NI result0; Avlnode_IaqjtwKhxLEpvDS9bct9blEw* it0; result0 = (NI)0; result0 = ((NI) -1); it0 = n0; { while (1) { if (!!(((*it0).link[(((NI) 0))- 0] == it0))) goto LA2; result0 = (*it0).upperbound; it0 = (*it0).link[(((NI) 1))- 0]; } LA2: ; } return result0; } static N_INLINE(void, prepareforinteriorpointerchecking_Zqr3EQAAcehIfp3uSECEuQsystem)(Memregion_x81NhDv59b8ercDZ9bi85jyg* a0) { (*a0).minlargeobj = lowgauge_3mwQtFaBTgevFrybZdgUNw((*a0).root); (*a0).maxlargeobj = highgauge_3mwQtFaBTgevFrybZdgUNw_2((*a0).root); } N_NIMCALL(Avlnode_IaqjtwKhxLEpvDS9bct9blEw*, inrange_Bc4Ua6HOMCIDGx9b15HSY4g)(Avlnode_IaqjtwKhxLEpvDS9bct9blEw* root0, NI key0) { Avlnode_IaqjtwKhxLEpvDS9bct9blEw* result0; Avlnode_IaqjtwKhxLEpvDS9bct9blEw* it0; { result0 = (Avlnode_IaqjtwKhxLEpvDS9bct9blEw*)0; it0 = root0; { while (1) { if (!!(((*it0).link[(((NI) 0))- 0] == it0))) goto LA2; { NIM_BOOL LOC5; LOC5 = (NIM_BOOL)0; LOC5 = ((NU32)((*it0).key) <= (NU32)(key0)); if (!(LOC5)) goto LA6; LOC5 = ((NU32)(key0) < (NU32)((*it0).upperbound)); LA6: ; if (!LOC5) goto LA7; result0 = it0; goto BeforeRet; } LA7: ; it0 = (*it0).link[(((NU32)((*it0).key) < (NU32)(key0)))- 0]; } LA2: ; } }BeforeRet: ; return result0; } N_NIMCALL(void*, interiorallocatedptr_N7XNyRgfMLnCjS9bVeVc3bA)(Memregion_x81NhDv59b8ercDZ9bi85jyg* a0, void* p0) { void* result0; result0 = (void*)0; { NIM_BOOL LOC3; Basechunk_Sdq7WpT6qAH858F5ZEdG3w* c_yIh9aRWzB09aLbWrpqTaJLaw; LOC3 = (NIM_BOOL)0; LOC3 = isaccessible_5nqar3kL9acJcissrFLDdkwsystem(a0, p0); if (!LOC3) goto LA4; c_yIh9aRWzB09aLbWrpqTaJLaw = pageaddr_4uti7hTxTUDxUPqFMgMvHAsystem(p0); { NIM_BOOL LOC8; LOC8 = (NIM_BOOL)0; LOC8 = chunkunused_xxNWShoyEPMUVN7FvfpDjw_2system(c_yIh9aRWzB09aLbWrpqTaJLaw); if (!!(LOC8)) goto LA9; { NIM_BOOL LOC13; Smallchunk_tXn60W2f8h3jgAYdEmy5NQ* c0; NI offset0; LOC13 = (NIM_BOOL)0; LOC13 = issmallchunk_xxNWShoyEPMUVN7FvfpDjwsystem(c_yIh9aRWzB09aLbWrpqTaJLaw); if (!LOC13) goto LA14; c0 = ((Smallchunk_tXn60W2f8h3jgAYdEmy5NQ*) (c_yIh9aRWzB09aLbWrpqTaJLaw)); offset0 = (NI)((NU32)(((NI) ((NI)(((NI) (p0)) & ((NI) 4095))))) - (NU32)((NI)(((NI)sizeof(Smallchunk_tXn60W2f8h3jgAYdEmy5NQ)) - ((NI) 8)))); { Freecell_u6M5LHprqzkn9axr04yg9bGQ* d0; if (!((NU32)(offset0) < (NU32)((*c0).acc))) goto LA18; d0 = ((Freecell_u6M5LHprqzkn9axr04yg9bGQ*) ((NI)((NU32)((NI)((NU32)(((NI) ((&(*c0).data)))) + (NU32)(offset0))) - (NU32)((NI)((NU32)(offset0) % (NU32)((*c0).Sup.size)))))); { if (!((NU32)(((NI) 1)) < (NU32)((*d0).zerofield))) goto LA22; result0 = ((void*) (d0)); } LA22: ; } LA18: ; } goto LA11; LA14: ; { Bigchunk_Rv9c70Uhp2TytkX7eH78qEg* c0; NF* d0; c0 = ((Bigchunk_Rv9c70Uhp2TytkX7eH78qEg*) (c_yIh9aRWzB09aLbWrpqTaJLaw)); d0 = (&(*c0).data); { NIM_BOOL LOC27; LOC27 = (NIM_BOOL)0; LOC27 = (((void*) (d0)) <= p0); if (!(LOC27)) goto LA28; LOC27 = ((NU32)(((NI) 1)) < (NU32)((*((Freecell_u6M5LHprqzkn9axr04yg9bGQ*) (d0))).zerofield)); LA28: ; if (!LOC27) goto LA29; result0 = ((void*) (d0)); } LA29: ; } LA11: ; } LA9: ; } goto LA1; LA4: ; { NI q0; q0 = ((NI) (p0)); { NIM_BOOL LOC34; Avlnode_IaqjtwKhxLEpvDS9bct9blEw* avlnode0; LOC34 = (NIM_BOOL)0; LOC34 = ((NU32)((*a0).minlargeobj) <= (NU32)(q0)); if (!(LOC34)) goto LA35; LOC34 = ((NU32)(q0) <= (NU32)((*a0).maxlargeobj)); LA35: ; if (!LOC34) goto LA36; avlnode0 = inrange_Bc4Ua6HOMCIDGx9b15HSY4g((*a0).root, q0); { void* k0; Bigchunk_Rv9c70Uhp2TytkX7eH78qEg* c0; Basechunk_Sdq7WpT6qAH858F5ZEdG3w* LOC42; if (!!((avlnode0 == NIM_NIL))) goto LA40; k0 = ((void*) ((*avlnode0).key)); LOC42 = (Basechunk_Sdq7WpT6qAH858F5ZEdG3w*)0; LOC42 = pageaddr_4uti7hTxTUDxUPqFMgMvHAsystem(k0); c0 = ((Bigchunk_Rv9c70Uhp2TytkX7eH78qEg*) (LOC42)); { if (!((NU32)(((NI) 1)) < (NU32)((*((Freecell_u6M5LHprqzkn9axr04yg9bGQ*) (k0))).zerofield))) goto LA45; result0 = k0; } LA45: ; } LA40: ; } LA36: ; } LA1: ; return result0; } static N_INLINE(void, gcmark_JLiT51Zk6OLnaexGSTHHEQsystem)(Gcheap_1TRH1TZMaVZTnLNcIHuNFQ* gch0, void* p0) { Cell_1zcF9cV8XIAtbN8h5HRUB8g* cell0; NI c0; cell0 = usrtocell_yB9aH5WIlwd0xkYrcdPeXrQsystem(p0); c0 = ((NI) (cell0)); { Cell_1zcF9cV8XIAtbN8h5HRUB8g* objstart0; void* LOC5; if (!((NU32)(((NI) 4096)) < (NU32)(c0))) goto LA3; LOC5 = (void*)0; LOC5 = interiorallocatedptr_N7XNyRgfMLnCjS9bVeVc3bA((&(*gch0).region), ((void*) (cell0))); objstart0 = ((Cell_1zcF9cV8XIAtbN8h5HRUB8g*) (LOC5)); { if (!!((objstart0 == NIM_NIL))) goto LA8; (*objstart0).refcount = (NI)((NU32)((*objstart0).refcount) + (NU32)(((NI) 8))); add_Wcf8r6MCjrJeJ3HSYwSp0Qsystem((&(*gch0).decstack), objstart0); } LA8: ; } LA3: ; } N_CDECL(void, markstackandregisters_LdwvBL9bC9c0lik7K9bau9bX0Q)(Gcheap_1TRH1TZMaVZTnLNcIHuNFQ* gch0) { jmp_buf registers0; { int LOC3; NI max0; NI sp0; LOC3 = (int)0; LOC3 = setjmp(registers0); if (!(LOC3 == ((NI32) 0))) goto LA4; max0 = ((NI) ((*gch0).stackbottom)); sp0 = ((NI) ((®isters0))); sp0 = (NI)(sp0 & ((NI) -4)); { while (1) { if (!((NU32)(sp0) < (NU32)((NI)(max0 - ((NI) 32))))) goto LA7; gcmark_JLiT51Zk6OLnaexGSTHHEQsystem(gch0, ((void**) (sp0))[(((NI) 0))- 0]); gcmark_JLiT51Zk6OLnaexGSTHHEQsystem(gch0, ((void**) (sp0))[(((NI) 1))- 0]); gcmark_JLiT51Zk6OLnaexGSTHHEQsystem(gch0, ((void**) (sp0))[(((NI) 2))- 0]); gcmark_JLiT51Zk6OLnaexGSTHHEQsystem(gch0, ((void**) (sp0))[(((NI) 3))- 0]); gcmark_JLiT51Zk6OLnaexGSTHHEQsystem(gch0, ((void**) (sp0))[(((NI) 4))- 0]); gcmark_JLiT51Zk6OLnaexGSTHHEQsystem(gch0, ((void**) (sp0))[(((NI) 5))- 0]); gcmark_JLiT51Zk6OLnaexGSTHHEQsystem(gch0, ((void**) (sp0))[(((NI) 6))- 0]); gcmark_JLiT51Zk6OLnaexGSTHHEQsystem(gch0, ((void**) (sp0))[(((NI) 7))- 0]); sp0 = (NI)((NU32)(sp0) + (NU32)(((NI) 32))); } LA7: ; } { while (1) { if (!((NU32)(sp0) <= (NU32)(max0))) goto LA9; gcmark_JLiT51Zk6OLnaexGSTHHEQsystem(gch0, (*((void**) (sp0)))); sp0 = (NI)((NU32)(sp0) + (NU32)(((NI) 4))); } LA9: ; } } LA4: ; } N_NIMCALL(void, preparedealloc_0Ao1u9cpV0dTuUB5G9cEQ8eQ)(Cell_1zcF9cV8XIAtbN8h5HRUB8g* cell0) { { void* LOC5; if (!!(((*(*cell0).typ).finalizer == NIM_NIL))) goto LA3; gch_IcYaEuuWivYAS86vFMTS3Q.recgclock += ((NI) 1); LOC5 = (void*)0; LOC5 = celltousr_vA0UG8JLZvpzP1Xf3vkPgwsystem(cell0); ((Finalizer) ((*(*cell0).typ).finalizer))(LOC5); gch_IcYaEuuWivYAS86vFMTS3Q.recgclock -= ((NI) 1); } LA3: ; } N_NIMCALL(NIM_BOOL, collectzct_evVbQ9bNF7LYMhoG9aWXu9bKw)(Gcheap_1TRH1TZMaVZTnLNcIHuNFQ* gch0) { NIM_BOOL result0; NI* L0; result0 = (NIM_BOOL)0; L0 = (&(*gch0).zct.len); { while (1) { Cell_1zcF9cV8XIAtbN8h5HRUB8g* c0; if (!(((NI) 0) < (*L0))) goto LA2; c0 = (*gch0).zct.d[(((NI) 0))- 0]; (*c0).refcount = (NI)((*c0).refcount & ((NI) -5)); (*gch0).zct.d[(((NI) 0))- 0] = (*gch0).zct.d[((NI)((*L0) - ((NI) 1)))- 0]; (*L0) -= ((NI) 1); { if (!((NU32)((*c0).refcount) < (NU32)(((NI) 8)))) goto LA5; preparedealloc_0Ao1u9cpV0dTuUB5G9cEQ8eQ(c0); forallchildren_yHFnLgI7q81iFxRlb3Iqlw(c0, ((Walkop_Wfy7gT5VQ8B3aJBxqU8D9cQ) 2)); rawdealloc_DA62HrGC5sdfCED505KyyQ((&(*gch0).region), ((void*) (c0))); } LA5: ; } LA2: ; } result0 = NIM_TRUE; return result0; } N_NIMCALL(void, deinit_WHgd5C59bkXWDz3vnAxfzXQ_3)(Cellset_jG87P0AI9aZtss9ccTYBIISQ* s0) { Pagedesc_fublkgIY4LG3mT51LU2WHg* it0; it0 = (*s0).head; { while (1) { Pagedesc_fublkgIY4LG3mT51LU2WHg* n0; if (!!((it0 == NIM_NIL))) goto LA2; n0 = (*it0).next; dealloc_RCjNtRnHdRYntrcE7YtwWw(((void*) (it0))); it0 = n0; } LA2: ; } (*s0).head = NIM_NIL; dealloc_RCjNtRnHdRYntrcE7YtwWw(((void*) ((*s0).data))); (*s0).data = NIM_NIL; (*s0).counter = ((NI) 0); } N_NIMCALL(void, cellsetreset_WHgd5C59bkXWDz3vnAxfzXQ_2)(Cellset_jG87P0AI9aZtss9ccTYBIISQ* s0) { deinit_WHgd5C59bkXWDz3vnAxfzXQ_3(s0); init_WHgd5C59bkXWDz3vnAxfzXQ(s0); } N_NIMCALL(void, markglobals_zoTIuavlrCHyw3B8MBaLJA_4)(Gcheap_1TRH1TZMaVZTnLNcIHuNFQ* gch0) { Cell_1zcF9cV8XIAtbN8h5HRUB8g** d0; { NI i_AoHIDgIUAQh9bnansIyGGVQ; NI HEX3Atmp_o9ag5NKzzy9cQKXFg6Ej9cTBg; NI res_9c3fyYTfO2QwDrZCY0WpYWQ; i_AoHIDgIUAQh9bnansIyGGVQ = (NI)0; HEX3Atmp_o9ag5NKzzy9cQKXFg6Ej9cTBg = (NI)0; HEX3Atmp_o9ag5NKzzy9cQKXFg6Ej9cTBg = (globalmarkerslen_hgEFy3UCOBoalBh29asu5MA - 1); res_9c3fyYTfO2QwDrZCY0WpYWQ = ((NI) 0); { while (1) { if (!(res_9c3fyYTfO2QwDrZCY0WpYWQ <= HEX3Atmp_o9ag5NKzzy9cQKXFg6Ej9cTBg)) goto LA3; i_AoHIDgIUAQh9bnansIyGGVQ = res_9c3fyYTfO2QwDrZCY0WpYWQ; globalmarkers_5ghwSgpo9cT9bT7YStQDJHVQ[(i_AoHIDgIUAQh9bnansIyGGVQ)- 0](); res_9c3fyYTfO2QwDrZCY0WpYWQ += ((NI) 1); } LA3: ; } } d0 = (*gch0).additionalroots.d; { NI i_AoHIDgIUAQh9bnansIyGGVQ_2; NI HEX3Atmp_o9ag5NKzzy9cQKXFg6Ej9cTBg_2; NI res_9c3fyYTfO2QwDrZCY0WpYWQ_2; i_AoHIDgIUAQh9bnansIyGGVQ_2 = (NI)0; HEX3Atmp_o9ag5NKzzy9cQKXFg6Ej9cTBg_2 = (NI)0; HEX3Atmp_o9ag5NKzzy9cQKXFg6Ej9cTBg_2 = ((*gch0).additionalroots.len - 1); res_9c3fyYTfO2QwDrZCY0WpYWQ_2 = ((NI) 0); { while (1) { if (!(res_9c3fyYTfO2QwDrZCY0WpYWQ_2 <= HEX3Atmp_o9ag5NKzzy9cQKXFg6Ej9cTBg_2)) goto LA6; i_AoHIDgIUAQh9bnansIyGGVQ_2 = res_9c3fyYTfO2QwDrZCY0WpYWQ_2; marks_NZr5o3Ubzrci4OmK29cHBJA(gch0, d0[(i_AoHIDgIUAQh9bnansIyGGVQ_2)- 0]); res_9c3fyYTfO2QwDrZCY0WpYWQ_2 += ((NI) 1); } LA6: ; } } } static N_INLINE(NIM_BOOL, iscell_CkuKXXC4hAqaVj8vwjANDAsystem)(void* p0) { NIM_BOOL result0; result0 = (NIM_BOOL)0; result0 = ((NU32)(((NI) 1)) < (NU32)((*((Freecell_u6M5LHprqzkn9axr04yg9bGQ*) (p0))).zerofield)); return result0; } N_NIMCALL(NIM_BOOL, contains_9c4TZ2Zl3sU4TUeK9bR8E9ciw)(Cellset_jG87P0AI9aZtss9ccTYBIISQ s0, Cell_1zcF9cV8XIAtbN8h5HRUB8g* cell0) { NIM_BOOL result0; NI u0; Pagedesc_fublkgIY4LG3mT51LU2WHg* t0; result0 = (NIM_BOOL)0; u0 = ((NI) (cell0)); t0 = cellsetget_X4WTfs0wkld8wp8XcE9b8BA(s0, (NI)((NU32)(u0) >> (NU32)(((NI) 12)))); { if (!!((t0 == NIM_NIL))) goto LA3; u0 = (NI)((NU32)((NI)((NU32)(u0) % (NU32)(((NI) 4096)))) / (NU32)(((NI) 8))); result0 = !(((NI)((*t0).bits[((NI)((NU32)(u0) >> (NU32)(((NI) 5))))- 0] & (NI)((NU32)(((NI) 1)) << (NU32)(((NI) ((NI)(u0 & ((NI) 31))))))) == ((NI) 0))); } goto LA1; LA3: ; { result0 = NIM_FALSE; } LA1: ; return result0; } N_NIMCALL(void, freecycliccell_NZr5o3Ubzrci4OmK29cHBJA_2)(Gcheap_1TRH1TZMaVZTnLNcIHuNFQ* gch0, Cell_1zcF9cV8XIAtbN8h5HRUB8g* c0) { preparedealloc_0Ao1u9cpV0dTuUB5G9cEQ8eQ(c0); rawdealloc_DA62HrGC5sdfCED505KyyQ((&(*gch0).region), ((void*) (c0))); } N_NIMCALL(void, sweep_zoTIuavlrCHyw3B8MBaLJA_5)(Gcheap_1TRH1TZMaVZTnLNcIHuNFQ* gch0) { { void* x_Fli4EYuRClKyF9aCRaMMudg; x_Fli4EYuRClKyF9aCRaMMudg = (void*)0; (*gch0).region.locked = NIM_TRUE; { NI s_1Y9aKtFZmdmj17yg9arcbSqA; Intset_EZObFrE3NC9bIb3YMkY9crZA HEX3Atmp_mlXAAbxM9b1u9beV53q6CMzQ; s_1Y9aKtFZmdmj17yg9arcbSqA = (NI)0; memset((void*)(&HEX3Atmp_mlXAAbxM9b1u9beV53q6CMzQ), 0, sizeof(HEX3Atmp_mlXAAbxM9b1u9beV53q6CMzQ)); HEX3Atmp_mlXAAbxM9b1u9beV53q6CMzQ = (*gch0).region.chunkstarts; { NI h_QLyAkXbxGYNZKd1Ck9bPP7w; NI res_eyrxao58VEx9b5JB6UAOBFA; h_QLyAkXbxGYNZKd1Ck9bPP7w = (NI)0; res_eyrxao58VEx9b5JB6UAOBFA = ((NI) 0); { while (1) { Trunk_W0r8S0Y3UGke6T9bIUWnnuw* r_9a32VcH5sesHHXC9bwz5Nh0w; if (!(res_eyrxao58VEx9b5JB6UAOBFA <= ((NI) 255))) goto LA5; h_QLyAkXbxGYNZKd1Ck9bPP7w = ((NI) (res_eyrxao58VEx9b5JB6UAOBFA)); r_9a32VcH5sesHHXC9bwz5Nh0w = HEX3Atmp_mlXAAbxM9b1u9beV53q6CMzQ.data[(h_QLyAkXbxGYNZKd1Ck9bPP7w)- 0]; { while (1) { NI i_FLrFOsLu5leUfFoACchGxA; if (!!((r_9a32VcH5sesHHXC9bwz5Nh0w == NIM_NIL))) goto LA7; i_FLrFOsLu5leUfFoACchGxA = ((NI) 0); { while (1) { NI w_ibXjzXOz1myjpSVQLK6sOw; NI j_HkxQe3re4CqNnu9asCVaimQ; if (!(i_FLrFOsLu5leUfFoACchGxA <= ((NI) 15))) goto LA9; w_ibXjzXOz1myjpSVQLK6sOw = (*r_9a32VcH5sesHHXC9bwz5Nh0w).bits[(i_FLrFOsLu5leUfFoACchGxA)- 0]; j_HkxQe3re4CqNnu9asCVaimQ = ((NI) 0); { while (1) { if (!!((w_ibXjzXOz1myjpSVQLK6sOw == ((NI) 0)))) goto LA11; { if (!!((((NI) ((NI)(w_ibXjzXOz1myjpSVQLK6sOw & ((NI) 1)))) == ((NI) 0)))) goto LA14; s_1Y9aKtFZmdmj17yg9arcbSqA = (NI)((NI)((NU32)((*r_9a32VcH5sesHHXC9bwz5Nh0w).key) << (NU32)(((NI) 9))) | (NI)((NU32)((NI)((NU32)(i_FLrFOsLu5leUfFoACchGxA) << (NU32)(((NI) 5)))) + (NU32)(j_HkxQe3re4CqNnu9asCVaimQ))); { NIM_BOOL LOC18; Basechunk_Sdq7WpT6qAH858F5ZEdG3w* c_XV9aqvD0bSEkMeGo9bx7FRDA; LOC18 = (NIM_BOOL)0; LOC18 = contains_tGsWrN4DY41H9btt3FhjrNA((&(*gch0).region.chunkstarts), s_1Y9aKtFZmdmj17yg9arcbSqA); if (!LOC18) goto LA19; c_XV9aqvD0bSEkMeGo9bx7FRDA = ((Basechunk_Sdq7WpT6qAH858F5ZEdG3w*) ((NI)((NU32)(s_1Y9aKtFZmdmj17yg9arcbSqA) << (NU32)(((NI) 12))))); { NIM_BOOL LOC23; LOC23 = (NIM_BOOL)0; LOC23 = chunkunused_xxNWShoyEPMUVN7FvfpDjw_2system(c_XV9aqvD0bSEkMeGo9bx7FRDA); if (!!(LOC23)) goto LA24; { NIM_BOOL LOC28; Smallchunk_tXn60W2f8h3jgAYdEmy5NQ* c_XV9aqvD0bSEkMeGo9bx7FRDA_2; NI size_hcqhHhc4g2fO9cnhuD7tOeQ; NI a_3gxhb5SKJHpRJiXNtI4DXQ; NI limit_7OBPbBxuQ43t9ctiUzskAsg; LOC28 = (NIM_BOOL)0; LOC28 = issmallchunk_xxNWShoyEPMUVN7FvfpDjwsystem(c_XV9aqvD0bSEkMeGo9bx7FRDA); if (!LOC28) goto LA29; c_XV9aqvD0bSEkMeGo9bx7FRDA_2 = ((Smallchunk_tXn60W2f8h3jgAYdEmy5NQ*) (c_XV9aqvD0bSEkMeGo9bx7FRDA)); size_hcqhHhc4g2fO9cnhuD7tOeQ = (*c_XV9aqvD0bSEkMeGo9bx7FRDA_2).Sup.size; a_3gxhb5SKJHpRJiXNtI4DXQ = ((NI) ((&(*c_XV9aqvD0bSEkMeGo9bx7FRDA_2).data))); limit_7OBPbBxuQ43t9ctiUzskAsg = (NI)(a_3gxhb5SKJHpRJiXNtI4DXQ + (*c_XV9aqvD0bSEkMeGo9bx7FRDA_2).acc); { while (1) { if (!((NU32)(a_3gxhb5SKJHpRJiXNtI4DXQ) < (NU32)(limit_7OBPbBxuQ43t9ctiUzskAsg))) goto LA32; x_Fli4EYuRClKyF9aCRaMMudg = ((void*) (a_3gxhb5SKJHpRJiXNtI4DXQ)); { NIM_BOOL LOC35; Cell_1zcF9cV8XIAtbN8h5HRUB8g* c0; LOC35 = (NIM_BOOL)0; LOC35 = iscell_CkuKXXC4hAqaVj8vwjANDAsystem(x_Fli4EYuRClKyF9aCRaMMudg); if (!LOC35) goto LA36; c0 = ((Cell_1zcF9cV8XIAtbN8h5HRUB8g*) (x_Fli4EYuRClKyF9aCRaMMudg)); { NIM_BOOL LOC40; LOC40 = (NIM_BOOL)0; LOC40 = contains_9c4TZ2Zl3sU4TUeK9bR8E9ciw((*gch0).marked, c0); if (!!(LOC40)) goto LA41; freecycliccell_NZr5o3Ubzrci4OmK29cHBJA_2(gch0, c0); } LA41: ; } LA36: ; a_3gxhb5SKJHpRJiXNtI4DXQ = (NI)((NU32)(a_3gxhb5SKJHpRJiXNtI4DXQ) + (NU32)(size_hcqhHhc4g2fO9cnhuD7tOeQ)); } LA32: ; } } goto LA26; LA29: ; { Bigchunk_Rv9c70Uhp2TytkX7eH78qEg* c_XV9aqvD0bSEkMeGo9bx7FRDA_3; c_XV9aqvD0bSEkMeGo9bx7FRDA_3 = ((Bigchunk_Rv9c70Uhp2TytkX7eH78qEg*) (c_XV9aqvD0bSEkMeGo9bx7FRDA)); x_Fli4EYuRClKyF9aCRaMMudg = ((void*) ((&(*c_XV9aqvD0bSEkMeGo9bx7FRDA_3).data))); { NIM_BOOL LOC46; Cell_1zcF9cV8XIAtbN8h5HRUB8g* c_XV9aqvD0bSEkMeGo9bx7FRDA_4; LOC46 = (NIM_BOOL)0; LOC46 = iscell_CkuKXXC4hAqaVj8vwjANDAsystem(x_Fli4EYuRClKyF9aCRaMMudg); if (!LOC46) goto LA47; c_XV9aqvD0bSEkMeGo9bx7FRDA_4 = ((Cell_1zcF9cV8XIAtbN8h5HRUB8g*) (x_Fli4EYuRClKyF9aCRaMMudg)); { NIM_BOOL LOC51; LOC51 = (NIM_BOOL)0; LOC51 = contains_9c4TZ2Zl3sU4TUeK9bR8E9ciw((*gch0).marked, c_XV9aqvD0bSEkMeGo9bx7FRDA_4); if (!!(LOC51)) goto LA52; freecycliccell_NZr5o3Ubzrci4OmK29cHBJA_2(gch0, c_XV9aqvD0bSEkMeGo9bx7FRDA_4); } LA52: ; } LA47: ; } LA26: ; } LA24: ; } LA19: ; } LA14: ; j_HkxQe3re4CqNnu9asCVaimQ += ((NI) 1); w_ibXjzXOz1myjpSVQLK6sOw = (NI)((NU32)(w_ibXjzXOz1myjpSVQLK6sOw) >> (NU32)(((NI) 1))); } LA11: ; } i_FLrFOsLu5leUfFoACchGxA += ((NI) 1); } LA9: ; } r_9a32VcH5sesHHXC9bwz5Nh0w = (*r_9a32VcH5sesHHXC9bwz5Nh0w).next; } LA7: ; } res_eyrxao58VEx9b5JB6UAOBFA += ((NI) 1); } LA5: ; } } } (*gch0).region.locked = NIM_FALSE; } } N_NIMCALL(void, collectcycles_zoTIuavlrCHyw3B8MBaLJA_3)(Gcheap_1TRH1TZMaVZTnLNcIHuNFQ* gch0) { Cell_1zcF9cV8XIAtbN8h5HRUB8g** d0; { while (1) { NIM_BOOL LOC3; if (!(((NI) 0) < (*gch0).zct.len)) goto LA2; LOC3 = (NIM_BOOL)0; LOC3 = collectzct_evVbQ9bNF7LYMhoG9aWXu9bKw(gch0); } LA2: ; } cellsetreset_WHgd5C59bkXWDz3vnAxfzXQ_2((&(*gch0).marked)); d0 = (*gch0).decstack.d; { NI i_Kj2M28fwj9aqgfIzEH0YAgw; NI HEX3Atmp_kt9ch9c6ul2Ea9b5bnz9cyN9clQ; NI res_KIvI4VoKAGac9blsI9aFDXaA; i_Kj2M28fwj9aqgfIzEH0YAgw = (NI)0; HEX3Atmp_kt9ch9c6ul2Ea9b5bnz9cyN9clQ = (NI)0; HEX3Atmp_kt9ch9c6ul2Ea9b5bnz9cyN9clQ = (NI)((*gch0).decstack.len - ((NI) 1)); res_KIvI4VoKAGac9blsI9aFDXaA = ((NI) 0); { while (1) { if (!(res_KIvI4VoKAGac9blsI9aFDXaA <= HEX3Atmp_kt9ch9c6ul2Ea9b5bnz9cyN9clQ)) goto LA6; i_Kj2M28fwj9aqgfIzEH0YAgw = res_KIvI4VoKAGac9blsI9aFDXaA; marks_NZr5o3Ubzrci4OmK29cHBJA(gch0, d0[(i_Kj2M28fwj9aqgfIzEH0YAgw)- 0]); res_KIvI4VoKAGac9blsI9aFDXaA += ((NI) 1); } LA6: ; } } markglobals_zoTIuavlrCHyw3B8MBaLJA_4(gch0); sweep_zoTIuavlrCHyw3B8MBaLJA_5(gch0); } N_NIMCALL(NI, gettotalmem_9bFvoxSITMVCg7RY8KIar1Q_2)(void) { NI result0; { result0 = (NI)0; result0 = gch_IcYaEuuWivYAS86vFMTS3Q.region.currmem; goto BeforeRet; }BeforeRet: ; return result0; } N_NIMCALL(NI, getfreemem_9bFvoxSITMVCg7RY8KIar1Q_3)(void) { NI result0; result0 = (NI)0; result0 = gch_IcYaEuuWivYAS86vFMTS3Q.region.freemem; return result0; } N_NIMCALL(NI, getoccupiedmem_9bFvoxSITMVCg7RY8KIar1Q)(void) { NI result0; NI LOC1; NI LOC2; { result0 = (NI)0; LOC1 = (NI)0; LOC1 = gettotalmem_9bFvoxSITMVCg7RY8KIar1Q_2(); LOC2 = (NI)0; LOC2 = getfreemem_9bFvoxSITMVCg7RY8KIar1Q_3(); result0 = (NI)(LOC1 - LOC2); goto BeforeRet; }BeforeRet: ; return result0; } N_NIMCALL(void, unmarkstackandregisters_zoTIuavlrCHyw3B8MBaLJA_6)(Gcheap_1TRH1TZMaVZTnLNcIHuNFQ* gch0) { Cell_1zcF9cV8XIAtbN8h5HRUB8g** d0; d0 = (*gch0).decstack.d; { NI i_tUcesQCSPfKg0Pbj3qVTQQ; NI HEX3Atmp_DV9b0yy1QL9az9bJU0JAkknBw; NI res_m0ZTDXpSQxoh4brkKaPoWQ; i_tUcesQCSPfKg0Pbj3qVTQQ = (NI)0; HEX3Atmp_DV9b0yy1QL9az9bJU0JAkknBw = (NI)0; HEX3Atmp_DV9b0yy1QL9az9bJU0JAkknBw = (NI)((*gch0).decstack.len - ((NI) 1)); res_m0ZTDXpSQxoh4brkKaPoWQ = ((NI) 0); { while (1) { if (!(res_m0ZTDXpSQxoh4brkKaPoWQ <= HEX3Atmp_DV9b0yy1QL9az9bJU0JAkknBw)) goto LA3; i_tUcesQCSPfKg0Pbj3qVTQQ = res_m0ZTDXpSQxoh4brkKaPoWQ; decref_MV4BBk6J1qu70IbBxwEn4wsystem(d0[(i_tUcesQCSPfKg0Pbj3qVTQQ)- 0]); res_m0ZTDXpSQxoh4brkKaPoWQ += ((NI) 1); } LA3: ; } } (*gch0).decstack.len = ((NI) 0); } N_NIMCALL(void, collectctbody_zoTIuavlrCHyw3B8MBaLJA_2)(Gcheap_1TRH1TZMaVZTnLNcIHuNFQ* gch0) { NI LOC1; LOC1 = (NI)0; LOC1 = stacksize_IV9bgfYkinlae0WZ2NZi5JA(); (*gch0).stat.maxstacksize = (((*gch0).stat.maxstacksize >= LOC1) ? (*gch0).stat.maxstacksize : LOC1); prepareforinteriorpointerchecking_Zqr3EQAAcehIfp3uSECEuQsystem((&(*gch0).region)); markstackandregisters_LdwvBL9bC9c0lik7K9bau9bX0Q(gch0); (*gch0).stat.maxstackcells = (((*gch0).stat.maxstackcells >= (*gch0).decstack.len) ? (*gch0).stat.maxstackcells : (*gch0).decstack.len); (*gch0).stat.stackscans += ((NI) 1); { NIM_BOOL LOC4; LOC4 = (NIM_BOOL)0; LOC4 = collectzct_evVbQ9bNF7LYMhoG9aWXu9bKw(gch0); if (!LOC4) goto LA5; { NIM_BOOL LOC9; NI LOC10; NI LOC14; LOC9 = (NIM_BOOL)0; LOC10 = (NI)0; LOC10 = getoccupiedmem_61WxanWSOmDDV2uI7O10dQsystem((&(*gch0).region)); LOC9 = ((*gch0).cyclethreshold <= LOC10); if (LOC9) goto LA11; LOC9 = NIM_FALSE; LA11: ; if (!LOC9) goto LA12; collectcycles_zoTIuavlrCHyw3B8MBaLJA_3(gch0); (*gch0).stat.cyclecollections += ((NI) 1); LOC14 = (NI)0; LOC14 = getoccupiedmem_9bFvoxSITMVCg7RY8KIar1Q(); (*gch0).cyclethreshold = ((((NI) 4194304) >= (NI)(LOC14 * ((NI) 2))) ? ((NI) 4194304) : (NI)(LOC14 * ((NI) 2))); (*gch0).stat.maxthreshold = (((*gch0).stat.maxthreshold >= (*gch0).cyclethreshold) ? (*gch0).stat.maxthreshold : (*gch0).cyclethreshold); } LA12: ; } LA5: ; unmarkstackandregisters_zoTIuavlrCHyw3B8MBaLJA_6(gch0); } N_NIMCALL(void, collectct_zoTIuavlrCHyw3B8MBaLJA)(Gcheap_1TRH1TZMaVZTnLNcIHuNFQ* gch0) { NI stackmarkcosts0; NI LOC1; LOC1 = (NI)0; LOC1 = stacksize_IV9bgfYkinlae0WZ2NZi5JA(); stackmarkcosts0 = (((NI)(LOC1 / ((NI) 64)) >= ((NI) 500)) ? (NI)(LOC1 / ((NI) 64)) : ((NI) 500)); { NIM_BOOL LOC4; NIM_BOOL LOC5; NIM_BOOL LOC6; NIM_BOOL LOC8; NI LOC10; LOC4 = (NIM_BOOL)0; LOC5 = (NIM_BOOL)0; LOC6 = (NIM_BOOL)0; LOC6 = (stackmarkcosts0 <= (*gch0).zct.len); if (LOC6) goto LA7; LOC8 = (NIM_BOOL)0; LOC8 = NIM_TRUE; if (!(LOC8)) goto LA9; LOC10 = (NI)0; LOC10 = getoccupiedmem_61WxanWSOmDDV2uI7O10dQsystem((&(*gch0).region)); LOC8 = ((*gch0).cyclethreshold <= LOC10); LA9: ; LOC6 = LOC8; LA7: ; LOC5 = LOC6; if (LOC5) goto LA11; LOC5 = NIM_FALSE; LA11: ; LOC4 = LOC5; if (!(LOC4)) goto LA12; LOC4 = ((*gch0).recgclock == ((NI) 0)); LA12: ; if (!LOC4) goto LA13; collectctbody_zoTIuavlrCHyw3B8MBaLJA_2(gch0); } LA13: ; } static N_INLINE(void, addnewobjtozct_Ga5iPZj9bPFJIiW7GQdxs7gsystem)(Cell_1zcF9cV8XIAtbN8h5HRUB8g* res0, Gcheap_1TRH1TZMaVZTnLNcIHuNFQ* gch0) { NI L0; Cell_1zcF9cV8XIAtbN8h5HRUB8g** d0; { L0 = (*gch0).zct.len; d0 = (*gch0).zct.d; { Cell_1zcF9cV8XIAtbN8h5HRUB8g* c0; if (!(((NI) 8) < L0)) goto LA3; c0 = (Cell_1zcF9cV8XIAtbN8h5HRUB8g*)0; c0 = d0[((NI)(L0 - ((NI) 1)))- 0]; { if (!((NU32)(((NI) 8)) <= (NU32)((*c0).refcount))) goto LA7; (*c0).refcount = (NI)((*c0).refcount & ((NI) -5)); d0[((NI)(L0 - ((NI) 1)))- 0] = res0; goto BeforeRet; } LA7: ; c0 = d0[((NI)(L0 - ((NI) 2)))- 0]; { if (!((NU32)(((NI) 8)) <= (NU32)((*c0).refcount))) goto LA11; (*c0).refcount = (NI)((*c0).refcount & ((NI) -5)); d0[((NI)(L0 - ((NI) 2)))- 0] = res0; goto BeforeRet; } LA11: ; c0 = d0[((NI)(L0 - ((NI) 3)))- 0]; { if (!((NU32)(((NI) 8)) <= (NU32)((*c0).refcount))) goto LA15; (*c0).refcount = (NI)((*c0).refcount & ((NI) -5)); d0[((NI)(L0 - ((NI) 3)))- 0] = res0; goto BeforeRet; } LA15: ; c0 = d0[((NI)(L0 - ((NI) 4)))- 0]; { if (!((NU32)(((NI) 8)) <= (NU32)((*c0).refcount))) goto LA19; (*c0).refcount = (NI)((*c0).refcount & ((NI) -5)); d0[((NI)(L0 - ((NI) 4)))- 0] = res0; goto BeforeRet; } LA19: ; c0 = d0[((NI)(L0 - ((NI) 5)))- 0]; { if (!((NU32)(((NI) 8)) <= (NU32)((*c0).refcount))) goto LA23; (*c0).refcount = (NI)((*c0).refcount & ((NI) -5)); d0[((NI)(L0 - ((NI) 5)))- 0] = res0; goto BeforeRet; } LA23: ; c0 = d0[((NI)(L0 - ((NI) 6)))- 0]; { if (!((NU32)(((NI) 8)) <= (NU32)((*c0).refcount))) goto LA27; (*c0).refcount = (NI)((*c0).refcount & ((NI) -5)); d0[((NI)(L0 - ((NI) 6)))- 0] = res0; goto BeforeRet; } LA27: ; c0 = d0[((NI)(L0 - ((NI) 7)))- 0]; { if (!((NU32)(((NI) 8)) <= (NU32)((*c0).refcount))) goto LA31; (*c0).refcount = (NI)((*c0).refcount & ((NI) -5)); d0[((NI)(L0 - ((NI) 7)))- 0] = res0; goto BeforeRet; } LA31: ; c0 = d0[((NI)(L0 - ((NI) 8)))- 0]; { if (!((NU32)(((NI) 8)) <= (NU32)((*c0).refcount))) goto LA35; (*c0).refcount = (NI)((*c0).refcount & ((NI) -5)); d0[((NI)(L0 - ((NI) 8)))- 0] = res0; goto BeforeRet; } LA35: ; add_Wcf8r6MCjrJeJ3HSYwSp0Qsystem((&(*gch0).zct), res0); } goto LA1; LA3: ; { d0[(L0)- 0] = res0; (*gch0).zct.len += ((NI) 1); } LA1: ; }BeforeRet: ; } N_NIMCALL(void*, rawnewobj_QBPo5VW2O56Eeh8hPbQ7Pg)(TNimType* typ0, NI size0, Gcheap_1TRH1TZMaVZTnLNcIHuNFQ* gch0) { void* result0; Cell_1zcF9cV8XIAtbN8h5HRUB8g* res0; void* LOC1; result0 = (void*)0; collectct_zoTIuavlrCHyw3B8MBaLJA(gch0); LOC1 = (void*)0; LOC1 = rawalloc_yn9c8RLaS8vgVBeMBfmkdUg((&(*gch0).region), (NI)(size0 + ((NI)sizeof(Cell_1zcF9cV8XIAtbN8h5HRUB8g)))); res0 = ((Cell_1zcF9cV8XIAtbN8h5HRUB8g*) (LOC1)); (*res0).typ = typ0; (*res0).refcount = ((NI) 4); addnewobjtozct_Ga5iPZj9bPFJIiW7GQdxs7gsystem(res0, gch0); result0 = celltousr_vA0UG8JLZvpzP1Xf3vkPgwsystem(res0); return result0; } N_NIMCALL(void*, newObjNoInit)(TNimType* typ0, NI size0) { void* result0; result0 = (void*)0; result0 = rawnewobj_QBPo5VW2O56Eeh8hPbQ7Pg(typ0, size0, (&gch_IcYaEuuWivYAS86vFMTS3Q)); return result0; } N_NIMCALL(NimStringDesc*, rawNewStringNoInit)(NI space0) { NimStringDesc* result0; NI s0; void* LOC5; result0 = (NimStringDesc*)0; s0 = space0; { if (!(s0 < ((NI) 7))) goto LA3; s0 = ((NI) 7); } LA3: ; LOC5 = (void*)0; LOC5 = newObjNoInit((&strdesc_D0UzA4zsDu5tgpJQ9a9clXPg), (NI)((NI)(((NI)sizeof(TGenericSeq)) + s0) + ((NI) 1))); result0 = ((NimStringDesc*) (LOC5)); (*result0).Sup.reserved = s0; return result0; } N_NIMCALL(NimStringDesc*, toNimStr)(NCSTRING str0, NI len0) { NimStringDesc* result0; result0 = (NimStringDesc*)0; result0 = rawNewStringNoInit(len0); (*result0).Sup.len = len0; copymem_fPlwH3r9agN9aEHB6yCPMh0wsystem(((void*) ((*result0).data)), ((void*) (str0)), ((NI) ((NI)(len0 + ((NI) 1))))); return result0; } N_NIMCALL(NimStringDesc*, cstrToNimstr)(NCSTRING str0) { NimStringDesc* result0; result0 = (NimStringDesc*)0; { if (!(((void*) (str0)) == NIM_NIL)) goto LA3; result0 = NIM_NIL; } goto LA1; LA3: ; { result0 = toNimStr(str0, (str0 ? strlen(str0) : 0)); } LA1: ; return result0; } N_NIMCALL(void, write_ADGLlEJAOtGNWWur8rrJfg)(FILE* f0, NCSTRING c0) { int LOC1; LOC1 = (int)0; LOC1 = fputs(c0, f0); } N_NIMCALL(void, writetostderr_7HRVfGfZT2rSmBdcLxl8TA)(NCSTRING msg0) { write_ADGLlEJAOtGNWWur8rrJfg(stdout, msg0); } N_NIMCALL(void, showerrormessage_rsUJ87b89bH0GlWKYL9c8wUQ)(NCSTRING data0) { { NimStringDesc* LOC5; if (!!((errormessagewriter_ZXnv0JyrWe3HTd07wpSr7A == NIM_NIL))) goto LA3; LOC5 = (NimStringDesc*)0; LOC5 = cstrToNimstr(data0); errormessagewriter_ZXnv0JyrWe3HTd07wpSr7A(LOC5); } goto LA1; LA3: ; { writetostderr_7HRVfGfZT2rSmBdcLxl8TA(data0); } LA1: ; } N_NOCONV(void, signalHandler)(int sign0) { NCSTRING msg0; msg0 = (NCSTRING)0; { if (!(sign0 == ((int) 2))) goto LA3; msg0 = "SIGINT: Interrupted by Ctrl-C.\012"; } goto LA1; LA3: ; { if (!(sign0 == ((int) 11))) goto LA6; msg0 = "SIGSEGV: Illegal storage access. (Attempt to read from nil?)\012"; } goto LA1; LA6: ; { if (!(sign0 == ((int) 6))) goto LA9; msg0 = "SIGABRT: Abnormal termination.\012"; } goto LA1; LA9: ; { if (!(sign0 == ((int) 8))) goto LA12; msg0 = "SIGFPE: Arithmetic error.\012"; } goto LA1; LA12: ; { if (!(sign0 == ((int) 4))) goto LA15; msg0 = "SIGILL: Illegal operation.\012"; } goto LA1; LA15: ; { if (!(sign0 == ((int) 11))) goto LA18; msg0 = "SIGBUS: Illegal storage access. (Attempt to read from nil?)\012"; } goto LA1; LA18: ; { { { if (!(sign0 == ((int) 13))) goto LA24; msg0 = "SIGPIPE: Pipe closed.\012"; goto LA21; } LA24: ; msg0 = "unknown signal\012"; } LA21: ; } LA1: ; showerrormessage_rsUJ87b89bH0GlWKYL9c8wUQ(msg0); exit(((NI) 1)); } N_NIMCALL(void, registersignalhandler_njssp69aa7hvxte9bJ8uuDcg_2)(void) { TY_lfH2drpqP9aSEAAjWgrYv8Q LOC1; TY_lfH2drpqP9aSEAAjWgrYv8Q LOC2; TY_lfH2drpqP9aSEAAjWgrYv8Q LOC3; TY_lfH2drpqP9aSEAAjWgrYv8Q LOC4; TY_lfH2drpqP9aSEAAjWgrYv8Q LOC5; TY_lfH2drpqP9aSEAAjWgrYv8Q LOC6; TY_lfH2drpqP9aSEAAjWgrYv8Q LOC7; LOC1 = (TY_lfH2drpqP9aSEAAjWgrYv8Q)0; LOC1 = signal(((int) 2), signalHandler); LOC2 = (TY_lfH2drpqP9aSEAAjWgrYv8Q)0; LOC2 = signal(((int) 11), signalHandler); LOC3 = (TY_lfH2drpqP9aSEAAjWgrYv8Q)0; LOC3 = signal(((int) 6), signalHandler); LOC4 = (TY_lfH2drpqP9aSEAAjWgrYv8Q)0; LOC4 = signal(((int) 8), signalHandler); LOC5 = (TY_lfH2drpqP9aSEAAjWgrYv8Q)0; LOC5 = signal(((int) 4), signalHandler); LOC6 = (TY_lfH2drpqP9aSEAAjWgrYv8Q)0; LOC6 = signal(((int) 11), signalHandler); LOC7 = (TY_lfH2drpqP9aSEAAjWgrYv8Q)0; LOC7 = signal(((int) 13), signalHandler); } N_NIMCALL(NI, getRefcount)(void* p0) { NI result0; Cell_1zcF9cV8XIAtbN8h5HRUB8g* LOC1; result0 = (NI)0; LOC1 = (Cell_1zcF9cV8XIAtbN8h5HRUB8g*)0; LOC1 = usrtocell_yB9aH5WIlwd0xkYrcdPeXrQsystem(p0); result0 = (NI)((NU32)((*LOC1).refcount) >> (NU32)(((NI) 3))); return result0; } N_NIMCALL(void*, newObjRC1)(TNimType* typ0, NI size0) { void* result0; Cell_1zcF9cV8XIAtbN8h5HRUB8g* res0; void* LOC1; result0 = (void*)0; collectct_zoTIuavlrCHyw3B8MBaLJA((&gch_IcYaEuuWivYAS86vFMTS3Q)); LOC1 = (void*)0; LOC1 = rawalloc_yn9c8RLaS8vgVBeMBfmkdUg((&gch_IcYaEuuWivYAS86vFMTS3Q.region), (NI)(size0 + ((NI)sizeof(Cell_1zcF9cV8XIAtbN8h5HRUB8g)))); res0 = ((Cell_1zcF9cV8XIAtbN8h5HRUB8g*) (LOC1)); (*res0).typ = typ0; (*res0).refcount = ((NI) 8); result0 = celltousr_vA0UG8JLZvpzP1Xf3vkPgwsystem(res0); zeromem_7EL8Zq3xF2ujDWgp3bAEogsystem(result0, ((NI) (size0))); return result0; } N_NIMCALL(NimStringDesc*, copyStringRC1)(NimStringDesc* src0) { NimStringDesc* result0; result0 = (NimStringDesc*)0; { NI s0; void* LOC9; if (!!((src0 == NIM_NIL))) goto LA3; s0 = (*src0).Sup.len; { if (!(s0 < ((NI) 7))) goto LA7; s0 = ((NI) 7); } LA7: ; LOC9 = (void*)0; LOC9 = newObjRC1((&strdesc_D0UzA4zsDu5tgpJQ9a9clXPg), (NI)((NI)(((NI)sizeof(TGenericSeq)) + s0) + ((NI) 1))); result0 = ((NimStringDesc*) (LOC9)); (*result0).Sup.reserved = s0; (*result0).Sup.len = (*src0).Sup.len; copymem_fPlwH3r9agN9aEHB6yCPMh0wsystem(((void*) ((*result0).data)), ((void*) ((*src0).data)), ((NI) ((NI)((*src0).Sup.len + ((NI) 1))))); } LA3: ; return result0; } N_NIMCALL(void*, newObj)(TNimType* typ0, NI size0) { void* result0; result0 = (void*)0; result0 = rawnewobj_QBPo5VW2O56Eeh8hPbQ7Pg(typ0, size0, (&gch_IcYaEuuWivYAS86vFMTS3Q)); zeromem_7EL8Zq3xF2ujDWgp3bAEogsystem(result0, ((NI) (size0))); return result0; } static N_NIMCALL(void, Marker_TY_6woiEp3hwhYMr1p5tjkZvA)(void* p, NI op) { Overflowerror_I3Jtn27626sFBOls6BBQ2Q* a; a = (Overflowerror_I3Jtn27626sFBOls6BBQ2Q*)p; nimGCvisit((void*)(*a).Sup.Sup.parent, op); nimGCvisit((void*)(*a).Sup.Sup.message, op); nimGCvisit((void*)(*a).Sup.Sup.trace, op); } static N_INLINE(void, nimGCunrefNoCycle)(void* p0) { Cell_1zcF9cV8XIAtbN8h5HRUB8g* c0; c0 = usrtocell_yB9aH5WIlwd0xkYrcdPeXrQsystem(p0); { (*c0).refcount -= ((NI) 8); if (!((NU32)((*c0).refcount) < (NU32)(((NI) 8)))) goto LA3; rtladdzct_MV4BBk6J1qu70IbBxwEn4w_2system(c0); } LA3: ; } static N_INLINE(void, incref_9cAA5YuQAAC3MVbnGeV86swsystem)(Cell_1zcF9cV8XIAtbN8h5HRUB8g* c0) { (*c0).refcount = (NI)((NU32)((*c0).refcount) + (NU32)(((NI) 8))); } 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, pushCurrentException)(Exception* e0) { asgnRef((void**) (&(*e0).parent), currexception_9bVPeDJlYTi9bQApZpfH8wjg); asgnRef((void**) (&currexception_9bVPeDJlYTi9bQApZpfH8wjg), e0); } N_NOINLINE(NIM_BOOL, isobjslowpath_k9bdq9bQE075AR7scLFt5wIg)(TNimType* obj0, TNimType* subclass0, TNimType** cache0) { NIM_BOOL result0; TNimType* x0; { result0 = (NIM_BOOL)0; x0 = (*obj0).base; { while (1) { if (!!((x0 == subclass0))) goto LA2; { if (!(x0 == NIM_NIL)) goto LA5; cache0[(((NI) 0))- 0] = obj0; result0 = NIM_FALSE; goto BeforeRet; } LA5: ; x0 = (*x0).base; } LA2: ; } cache0[(((NI) 1))- 0] = obj0; result0 = NIM_TRUE; goto BeforeRet; }BeforeRet: ; return result0; } static N_INLINE(NIM_BOOL, isObjWithCache)(TNimType* obj0, TNimType* subclass0, TNimType** cache0) { NIM_BOOL result0; { result0 = (NIM_BOOL)0; { if (!(obj0 == subclass0)) goto LA3; result0 = NIM_TRUE; goto BeforeRet; } LA3: ; { if (!((*obj0).base == subclass0)) goto LA7; result0 = NIM_TRUE; goto BeforeRet; } LA7: ; { if (!(cache0[(((NI) 0))- 0] == obj0)) goto LA11; result0 = NIM_FALSE; goto BeforeRet; } LA11: ; { if (!(cache0[(((NI) 1))- 0] == obj0)) goto LA15; result0 = NIM_TRUE; goto BeforeRet; } LA15: ; result0 = isobjslowpath_k9bdq9bQE075AR7scLFt5wIg(obj0, subclass0, cache0); goto BeforeRet; }BeforeRet: ; return result0; } static N_INLINE(void, quitordebug_IZ2oOmqdsYQ7vixQGKSDcAsystem)(void) { exit(((NI) 1)); } N_NIMCALL(void, raiseexceptionaux_jP8mO9c3YubVoLarNIvGorQ)(Exception* e0) { { { if (!!((localraisehook_EIvMhANBvB9cp2Ezvt29cADg == NIM_NIL))) goto LA3; { NIM_BOOL LOC7; LOC7 = (NIM_BOOL)0; LOC7 = localraisehook_EIvMhANBvB9cp2Ezvt29cADg(e0); if (!!(LOC7)) goto LA8; goto BeforeRet; } LA8: ; } LA3: ; { if (!!((globalraisehook_JbO1ti4ULxrw54m4zNPbpA == NIM_NIL))) goto LA12; { NIM_BOOL LOC16; LOC16 = (NIM_BOOL)0; LOC16 = globalraisehook_JbO1ti4ULxrw54m4zNPbpA(e0); if (!!(LOC16)) goto LA17; goto BeforeRet; } LA17: ; } LA12: ; { if (!!((exchandler_rqLlY5bs9atDw2OXYqJEn5g == NIM_NIL))) goto LA21; { NIM_BOOL LOC25; LOC25 = (NIM_BOOL)0; LOC25 = !((*exchandler_rqLlY5bs9atDw2OXYqJEn5g).hasRaiseAction); if (LOC25) goto LA26; LOC25 = (*exchandler_rqLlY5bs9atDw2OXYqJEn5g).raiseAction.ClEnv? (*exchandler_rqLlY5bs9atDw2OXYqJEn5g).raiseAction.ClPrc(e0, (*exchandler_rqLlY5bs9atDw2OXYqJEn5g).raiseAction.ClEnv):((T_Q5wkpxktOdTGvlSRo9bzt9aw_6)((*exchandler_rqLlY5bs9atDw2OXYqJEn5g).raiseAction.ClPrc))(e0); LA26: ; if (!LOC25) goto LA27; pushCurrentException(e0); longjmp((*exchandler_rqLlY5bs9atDw2OXYqJEn5g).context, ((int) 1)); } LA27: ; } goto LA19; LA21: ; { if (!(isObjWithCache((*e0).Sup.m_type, (&NTI_NrupLB36t9bV7iFDHtrF69aw), Nim_OfCheck_CACHE8))) goto LA30; showerrormessage_rsUJ87b89bH0GlWKYL9c8wUQ((*e0).name); quitordebug_IZ2oOmqdsYQ7vixQGKSDcAsystem(); } goto LA19; LA30: ; { TY_gpc2RrLEcWgv7ONpLYNHOw buf0; NI L0; memset((void*)buf0, 0, sizeof(buf0)); L0 = ((NI) 0); { if (!((NI)(L0 + ((NI) 28)) < ((NI) 2000))) goto LA35; copymem_fPlwH3r9agN9aEHB6yCPMh0wsystem(((void*) ((&buf0[(L0)- 0]))), "Error: unhandled exception: ", ((NI) 28)); L0 += ((NI) 28); } LA35: ; { if (!!(((*e0).message == 0))) goto LA39; { if (!((NI)(L0 + ((*e0).message ? (*e0).message->Sup.len : 0)) < ((NI) 2000))) goto LA43; copymem_fPlwH3r9agN9aEHB6yCPMh0wsystem(((void*) ((&buf0[(L0)- 0]))), ((void*) ((*e0).message->data)), ((NI) (((*e0).message ? (*e0).message->Sup.len : 0)))); L0 += ((*e0).message ? (*e0).message->Sup.len : 0); } LA43: ; } LA39: ; { if (!((NI)(L0 + ((NI) 2)) < ((NI) 2000))) goto LA47; copymem_fPlwH3r9agN9aEHB6yCPMh0wsystem(((void*) ((&buf0[(L0)- 0]))), " [", ((NI) 2)); L0 += ((NI) 2); } LA47: ; { if (!((NI)(L0 + ((*e0).name ? strlen((*e0).name) : 0)) < ((NI) 2000))) goto LA51; copymem_fPlwH3r9agN9aEHB6yCPMh0wsystem(((void*) ((&buf0[(L0)- 0]))), ((void*) ((*e0).name)), ((NI) (((*e0).name ? strlen((*e0).name) : 0)))); L0 += ((*e0).name ? strlen((*e0).name) : 0); } LA51: ; { if (!((NI)(L0 + ((NI) 2)) < ((NI) 2000))) goto LA55; copymem_fPlwH3r9agN9aEHB6yCPMh0wsystem(((void*) ((&buf0[(L0)- 0]))), "]\012", ((NI) 2)); L0 += ((NI) 2); } LA55: ; showerrormessage_rsUJ87b89bH0GlWKYL9c8wUQ(((NCSTRING) (buf0))); quitordebug_IZ2oOmqdsYQ7vixQGKSDcAsystem(); } LA19: ; }BeforeRet: ; } N_NIMCALL(void, raiseException)(Exception* e0, NCSTRING ename0) { (*e0).name = ename0; raiseexceptionaux_jP8mO9c3YubVoLarNIvGorQ(e0); } static N_INLINE(void, sysfatal_cjY6dGD4PiJNY9cmtw6Ay8Qsystem)(NimStringDesc* message0) { Overflowerror_I3Jtn27626sFBOls6BBQ2Q* e0; NimStringDesc* LOC1; e0 = (Overflowerror_I3Jtn27626sFBOls6BBQ2Q*)0; e0 = (Overflowerror_I3Jtn27626sFBOls6BBQ2Q*) newObj((&NTI_6woiEp3hwhYMr1p5tjkZvA), sizeof(Overflowerror_I3Jtn27626sFBOls6BBQ2Q)); (*e0).Sup.Sup.Sup.m_type = (&NTI_I3Jtn27626sFBOls6BBQ2Q); LOC1 = (NimStringDesc*)0; LOC1 = (*e0).Sup.Sup.message; (*e0).Sup.Sup.message = copyStringRC1(message0); if (LOC1) nimGCunrefNoCycle(LOC1); raiseException((Exception*)e0, "OverflowError"); } N_NOINLINE(void, raiseOverflow)(void) { sysfatal_cjY6dGD4PiJNY9cmtw6Ay8Qsystem(((NimStringDesc*) &T_Q5wkpxktOdTGvlSRo9bzt9aw_8)); } static N_INLINE(NI, addInt)(NI a0, NI b0) { NI result0; { result0 = (NI)0; result0 = (NI)((NU32)(a0) + (NU32)(b0)); { NIM_BOOL LOC3; LOC3 = (NIM_BOOL)0; LOC3 = (((NI) 0) <= (NI)(result0 ^ a0)); if (LOC3) goto LA4; LOC3 = (((NI) 0) <= (NI)(result0 ^ b0)); LA4: ; if (!LOC3) goto LA5; goto BeforeRet; } LA5: ; raiseOverflow(); }BeforeRet: ; return result0; } N_NIMCALL(NI, mulInt)(NI a0, NI b0) { NI result0; NF resasfloat0; NF floatprod0; { result0 = (NI)0; resasfloat0 = (NF)0; floatprod0 = (NF)0; result0 = (NI)((NU32)(a0) * (NU32)(b0)); floatprod0 = ((NF)(((double) (a0))) * (NF)(((double) (b0)))); resasfloat0 = ((double) (result0)); { if (!(resasfloat0 == floatprod0)) goto LA3; goto BeforeRet; } LA3: ; { if (!(((NF)(3.2000000000000000e+01) * (NF)((((NF)(resasfloat0) - (NF)(floatprod0)) > 0? (((NF)(resasfloat0) - (NF)(floatprod0))) : -(((NF)(resasfloat0) - (NF)(floatprod0)))))) <= (floatprod0 > 0? (floatprod0) : -(floatprod0)))) goto LA7; goto BeforeRet; } LA7: ; raiseOverflow(); }BeforeRet: ; return result0; } N_NIMCALL(void*, newSeqRC1)(TNimType* typ0, NI len0) { void* result0; NI size0; NI LOC1; result0 = (void*)0; LOC1 = (NI)0; LOC1 = mulInt(len0, (*(*typ0).base).size); size0 = addInt(LOC1, ((NI) 8)); result0 = newObjRC1(typ0, size0); (*((TGenericSeq*) (result0))).len = len0; (*((TGenericSeq*) (result0))).reserved = len0; return result0; } N_NIMCALL(void*, newSeq)(TNimType* typ0, NI len0) { void* result0; NI size0; NI LOC1; result0 = (void*)0; LOC1 = (NI)0; LOC1 = mulInt(len0, (*(*typ0).base).size); size0 = addInt(LOC1, ((NI) 8)); result0 = newObj(typ0, size0); (*((TGenericSeq*) (result0))).len = len0; (*((TGenericSeq*) (result0))).reserved = len0; return result0; } N_NOINLINE(NIM_BOOL, isonstack_dJJW59cIgsBmT59aZrOM71Mg)(void* p0) { NIM_BOOL result0; void* volatile stacktop0; NI b0; NI a0; NI x0; NIM_BOOL LOC1; result0 = (NIM_BOOL)0; stacktop0 = (void*)0; stacktop0 = ((void*) ((&stacktop0))); b0 = ((NI) (gch_IcYaEuuWivYAS86vFMTS3Q.stackbottom)); a0 = ((NI) (stacktop0)); x0 = ((NI) (p0)); LOC1 = (NIM_BOOL)0; LOC1 = ((NU32)(a0) <= (NU32)(x0)); if (!(LOC1)) goto LA2; LOC1 = ((NU32)(x0) <= (NU32)(b0)); LA2: ; result0 = LOC1; return result0; } N_NIMCALL(void, unsureAsgnRef)(void** dest0, void* src0) { { NIM_BOOL LOC3; LOC3 = (NIM_BOOL)0; LOC3 = isonstack_dJJW59cIgsBmT59aZrOM71Mg(((void*) (dest0))); if (!!(LOC3)) goto LA4; { Cell_1zcF9cV8XIAtbN8h5HRUB8g* LOC10; if (!!((src0 == NIM_NIL))) goto LA8; LOC10 = (Cell_1zcF9cV8XIAtbN8h5HRUB8g*)0; LOC10 = usrtocell_yB9aH5WIlwd0xkYrcdPeXrQsystem(src0); incref_9cAA5YuQAAC3MVbnGeV86swsystem(LOC10); } LA8: ; { Cell_1zcF9cV8XIAtbN8h5HRUB8g* LOC15; if (!((NU32)(((NI) 4096)) <= (NU32)(((NI) ((*dest0)))))) goto LA13; LOC15 = (Cell_1zcF9cV8XIAtbN8h5HRUB8g*)0; LOC15 = usrtocell_yB9aH5WIlwd0xkYrcdPeXrQsystem((*dest0)); decref_MV4BBk6J1qu70IbBxwEn4wsystem(LOC15); } LA13: ; } goto LA1; LA4: ; { } LA1: ; (*dest0) = src0; } static N_NIMCALL(void, Marker_TY_yCEN9anxCD6mzBxGjuaRBdg)(void* p, NI op) { Valueerror_Gi06FkNeykJn7mrqRZYrkA* a; a = (Valueerror_Gi06FkNeykJn7mrqRZYrkA*)p; nimGCvisit((void*)(*a).Sup.parent, op); nimGCvisit((void*)(*a).Sup.message, op); nimGCvisit((void*)(*a).Sup.trace, op); } static N_INLINE(void, sysfatal_i2L89a3lg6SlU5J9amD3c3ewsystem)(NimStringDesc* message0) { Valueerror_Gi06FkNeykJn7mrqRZYrkA* e0; NimStringDesc* LOC1; e0 = (Valueerror_Gi06FkNeykJn7mrqRZYrkA*)0; e0 = (Valueerror_Gi06FkNeykJn7mrqRZYrkA*) newObj((&NTI_yCEN9anxCD6mzBxGjuaRBdg), sizeof(Valueerror_Gi06FkNeykJn7mrqRZYrkA)); (*e0).Sup.Sup.m_type = (&NTI_Gi06FkNeykJn7mrqRZYrkA); LOC1 = (NimStringDesc*)0; LOC1 = (*e0).Sup.message; (*e0).Sup.message = copyStringRC1(message0); if (LOC1) nimGCunrefNoCycle(LOC1); raiseException((Exception*)e0, "ValueError"); } N_NOINLINE(void, chckNil)(void* p0) { { if (!(p0 == NIM_NIL)) goto LA3; sysfatal_i2L89a3lg6SlU5J9amD3c3ewsystem(((NimStringDesc*) &T_Q5wkpxktOdTGvlSRo9bzt9aw_9)); } LA3: ; } N_NIMCALL(void, genericresetaux_byg9cq1Sxxop7ZDN9b4I0riw)(void* dest0, TNimNode* n0) { NI d0; d0 = ((NI) (dest0)); switch ((*n0).kind) { case ((Tnimnodekind_unfNsxrcATrufDZmpBq4HQ) 0): { } break; case ((Tnimnodekind_unfNsxrcATrufDZmpBq4HQ) 1): { genericReset(((void*) ((NI)((NU32)(d0) + (NU32)((*n0).offset)))), (*n0).typ); } break; case ((Tnimnodekind_unfNsxrcATrufDZmpBq4HQ) 2): { { NI i_d3XJOFCd9ax9cVW2YQEUiJkw; NI HEX3Atmp_B6sA0bGwW3Czaz9bYJ7Le3g; NI res_9aPatT7RGnMzJ10mzIuQvSA; i_d3XJOFCd9ax9cVW2YQEUiJkw = (NI)0; HEX3Atmp_B6sA0bGwW3Czaz9bYJ7Le3g = (NI)0; HEX3Atmp_B6sA0bGwW3Czaz9bYJ7Le3g = (NI)((*n0).len - ((NI) 1)); res_9aPatT7RGnMzJ10mzIuQvSA = ((NI) 0); { while (1) { if (!(res_9aPatT7RGnMzJ10mzIuQvSA <= HEX3Atmp_B6sA0bGwW3Czaz9bYJ7Le3g)) goto LA6; i_d3XJOFCd9ax9cVW2YQEUiJkw = res_9aPatT7RGnMzJ10mzIuQvSA; genericresetaux_byg9cq1Sxxop7ZDN9b4I0riw(dest0, (*n0).sons[(i_d3XJOFCd9ax9cVW2YQEUiJkw)- 0]); res_9aPatT7RGnMzJ10mzIuQvSA += ((NI) 1); } LA6: ; } } } break; case ((Tnimnodekind_unfNsxrcATrufDZmpBq4HQ) 3): { TNimNode* m0; m0 = selectbranch_MvIsyjoRI1g7VY9cXrLB1dQ(dest0, n0); { if (!!((m0 == NIM_NIL))) goto LA10; genericresetaux_byg9cq1Sxxop7ZDN9b4I0riw(dest0, m0); } LA10: ; zeromem_7EL8Zq3xF2ujDWgp3bAEogsystem(((void*) ((NI)((NU32)(d0) + (NU32)((*n0).offset)))), ((NI) ((*(*n0).typ).size))); } break; } } N_NIMCALL(void, genericReset)(void* dest0, TNimType* mt0) { NI d0; d0 = ((NI) (dest0)); switch ((*mt0).kind) { case ((Tnimkind_jIBKr1ejBgsfM33Kxw4j7A) 28): case ((Tnimkind_jIBKr1ejBgsfM33Kxw4j7A) 22): case ((Tnimkind_jIBKr1ejBgsfM33Kxw4j7A) 24): { unsureAsgnRef(((void**) (dest0)), NIM_NIL); } break; case ((Tnimkind_jIBKr1ejBgsfM33Kxw4j7A) 18): { genericresetaux_byg9cq1Sxxop7ZDN9b4I0riw(dest0, (*mt0).node); } break; case ((Tnimkind_jIBKr1ejBgsfM33Kxw4j7A) 17): { TNimType** pint0; genericresetaux_byg9cq1Sxxop7ZDN9b4I0riw(dest0, (*mt0).node); pint0 = ((TNimType**) (dest0)); (*pint0) = NIM_NIL; } break; case ((Tnimkind_jIBKr1ejBgsfM33Kxw4j7A) 16): case ((Tnimkind_jIBKr1ejBgsfM33Kxw4j7A) 4): { { NI i_qaFcGopYeH9cOZpINBxnz5w; NI HEX3Atmp_ORTUb9bkWXT9bMpgJ33i4w0w; NI res_wgf77gg7tWlFJCoTaIGsYg; i_qaFcGopYeH9cOZpINBxnz5w = (NI)0; HEX3Atmp_ORTUb9bkWXT9bMpgJ33i4w0w = (NI)0; HEX3Atmp_ORTUb9bkWXT9bMpgJ33i4w0w = (NI)((NI)((*mt0).size / (*(*mt0).base).size) - ((NI) 1)); res_wgf77gg7tWlFJCoTaIGsYg = ((NI) 0); { while (1) { if (!(res_wgf77gg7tWlFJCoTaIGsYg <= HEX3Atmp_ORTUb9bkWXT9bMpgJ33i4w0w)) goto LA7; i_qaFcGopYeH9cOZpINBxnz5w = res_wgf77gg7tWlFJCoTaIGsYg; genericReset(((void*) ((NI)((NU32)(d0) + (NU32)((NI)((NU32)(i_qaFcGopYeH9cOZpINBxnz5w) * (NU32)((*(*mt0).base).size)))))), (*mt0).base); res_wgf77gg7tWlFJCoTaIGsYg += ((NI) 1); } LA7: ; } } } break; default: { zeromem_7EL8Zq3xF2ujDWgp3bAEogsystem(dest0, ((NI) ((*mt0).size))); } break; } } N_NIMCALL(NimStringDesc*, copyString)(NimStringDesc* src0) { NimStringDesc* result0; result0 = (NimStringDesc*)0; { if (!!((src0 == NIM_NIL))) goto LA3; { if (!!(((NI)((*src0).Sup.reserved & ((NI) (-2147483647 -1))) == ((NI) 0)))) goto LA7; result0 = src0; } goto LA5; LA7: ; { result0 = rawNewStringNoInit((*src0).Sup.len); (*result0).Sup.len = (*src0).Sup.len; copymem_fPlwH3r9agN9aEHB6yCPMh0wsystem(((void*) ((*result0).data)), ((void*) ((*src0).data)), ((NI) ((NI)((*src0).Sup.len + ((NI) 1))))); } LA5: ; } LA3: ; return result0; } N_NIMCALL(NimStringDesc*, rawNewString)(NI space0) { NimStringDesc* result0; NI s0; void* LOC5; result0 = (NimStringDesc*)0; s0 = space0; { if (!(s0 < ((NI) 7))) goto LA3; s0 = ((NI) 7); } LA3: ; LOC5 = (void*)0; LOC5 = newObj((&strdesc_D0UzA4zsDu5tgpJQ9a9clXPg), (NI)((NI)(((NI)sizeof(TGenericSeq)) + s0) + ((NI) 1))); result0 = ((NimStringDesc*) (LOC5)); (*result0).Sup.reserved = s0; return result0; } N_NIMCALL(NimStringDesc*, copyStrLast)(NimStringDesc* s0, NI start_WPWyPKk58Cr5a6XFFviMjg, NI last0) { NimStringDesc* result0; NI start0; NI len0; result0 = (NimStringDesc*)0; start0 = ((start_WPWyPKk58Cr5a6XFFviMjg >= ((NI) 0)) ? start_WPWyPKk58Cr5a6XFFviMjg : ((NI) 0)); len0 = (NI)((NI)(((last0 <= (NI)((*s0).Sup.len - ((NI) 1))) ? last0 : (NI)((*s0).Sup.len - ((NI) 1))) - start0) + ((NI) 1)); { if (!(((NI) 0) < len0)) goto LA3; result0 = rawNewStringNoInit(len0); (*result0).Sup.len = len0; copymem_fPlwH3r9agN9aEHB6yCPMh0wsystem(((void*) ((*result0).data)), ((void*) ((&(*s0).data[(start0)- 0]))), ((NI) (len0))); (*result0).data[(len0)- 0] = 0; } goto LA1; LA3: ; { result0 = rawNewString(len0); } LA1: ; return result0; } N_NIMCALL(NimStringDesc*, copyStr)(NimStringDesc* s0, NI start0) { NimStringDesc* result0; result0 = (NimStringDesc*)0; result0 = copyStrLast(s0, start0, (NI)((*s0).Sup.len - ((NI) 1))); return result0; } static N_INLINE(NI, resize_bzF9a0JivP3Z4njqaxuLc5wsystem)(NI old0) { NI result0; result0 = (NI)0; { if (!(old0 <= ((NI) 0))) goto LA3; result0 = ((NI) 4); } goto LA1; LA3: ; { if (!(old0 < ((NI) 65536))) goto LA6; result0 = (NI)(old0 * ((NI) 2)); } goto LA1; LA6: ; { result0 = (NI)((NI)(old0 * ((NI) 3)) / ((NI) 2)); } LA1: ; return result0; } N_NIMCALL(void*, growobj_FZeyQYjWPcE9c06y1gNqZxw)(void* old0, NI newsize0, Gcheap_1TRH1TZMaVZTnLNcIHuNFQ* gch0) { void* result0; Cell_1zcF9cV8XIAtbN8h5HRUB8g* ol0; Cell_1zcF9cV8XIAtbN8h5HRUB8g* res0; void* LOC1; NI elemsize0; NI oldsize0; result0 = (void*)0; collectct_zoTIuavlrCHyw3B8MBaLJA(gch0); ol0 = usrtocell_yB9aH5WIlwd0xkYrcdPeXrQsystem(old0); LOC1 = (void*)0; LOC1 = rawalloc_yn9c8RLaS8vgVBeMBfmkdUg((&(*gch0).region), (NI)(newsize0 + ((NI)sizeof(Cell_1zcF9cV8XIAtbN8h5HRUB8g)))); res0 = ((Cell_1zcF9cV8XIAtbN8h5HRUB8g*) (LOC1)); elemsize0 = ((NI) 1); { if (!!(((*(*ol0).typ).kind == ((Tnimkind_jIBKr1ejBgsfM33Kxw4j7A) 28)))) goto LA4; elemsize0 = (*(*(*ol0).typ).base).size; } LA4: ; oldsize0 = (NI)((NI)((*((TGenericSeq*) (old0))).len * elemsize0) + ((NI) 8)); copymem_fPlwH3r9agN9aEHB6yCPMh0wsystem(((void*) (res0)), ((void*) (ol0)), ((NI) ((NI)(oldsize0 + ((NI)sizeof(Cell_1zcF9cV8XIAtbN8h5HRUB8g)))))); zeromem_7EL8Zq3xF2ujDWgp3bAEogsystem(((void*) ((NI)((NU32)((NI)((NU32)(((NI) (res0))) + (NU32)(oldsize0))) + (NU32)(((NI)sizeof(Cell_1zcF9cV8XIAtbN8h5HRUB8g)))))), ((NI) ((NI)(newsize0 - oldsize0)))); { if (!((NU32)((NI)((NU32)((*ol0).refcount) >> (NU32)(((NI) 3)))) <= (NU32)(((NI) 1)))) goto LA8; { NI j0; Cell_1zcF9cV8XIAtbN8h5HRUB8g** d0; if (!!(((NI)((*ol0).refcount & ((NI) 4)) == ((NI) 0)))) goto LA12; j0 = (NI)((*gch0).zct.len - ((NI) 1)); d0 = (*gch0).zct.d; { while (1) { if (!(((NI) 0) <= j0)) goto LA15; { if (!(d0[(j0)- 0] == ol0)) goto LA18; d0[(j0)- 0] = res0; goto LA14; } LA18: ; j0 -= ((NI) 1); } LA15: ; } LA14: ; } LA12: ; rawdealloc_DA62HrGC5sdfCED505KyyQ((&(*gch0).region), ((void*) (ol0))); } goto LA6; LA8: ; { (*res0).refcount = ((NI) 8); decref_MV4BBk6J1qu70IbBxwEn4wsystem(ol0); } LA6: ; result0 = celltousr_vA0UG8JLZvpzP1Xf3vkPgwsystem(res0); return result0; } N_NIMCALL(void*, growobj_AVYny8c0GTk28gxjmat1MA)(void* old0, NI newsize0) { void* result0; result0 = (void*)0; result0 = growobj_FZeyQYjWPcE9c06y1gNqZxw(old0, newsize0, (&gch_IcYaEuuWivYAS86vFMTS3Q)); return result0; } N_NIMCALL(NimStringDesc*, resizeString)(NimStringDesc* dest0, NI addlen0) { NimStringDesc* result0; result0 = (NimStringDesc*)0; { if (!((NI)((*dest0).Sup.len + addlen0) <= ((NI) ((NI)((*dest0).Sup.reserved & ((NI) 2147483647)))))) goto LA3; result0 = dest0; } goto LA1; LA3: ; { NI sp0; NI LOC6; void* LOC7; LOC6 = (NI)0; LOC6 = resize_bzF9a0JivP3Z4njqaxuLc5wsystem(((NI) ((NI)((*dest0).Sup.reserved & ((NI) 2147483647))))); sp0 = ((LOC6 >= (NI)((*dest0).Sup.len + addlen0)) ? LOC6 : (NI)((*dest0).Sup.len + addlen0)); LOC7 = (void*)0; LOC7 = growobj_AVYny8c0GTk28gxjmat1MA(((void*) (dest0)), (NI)((NI)(((NI)sizeof(TGenericSeq)) + sp0) + ((NI) 1))); result0 = ((NimStringDesc*) (LOC7)); (*result0).Sup.reserved = sp0; } LA1: ; return result0; } N_NIMCALL(NimStringDesc*, addChar)(NimStringDesc* s0, NIM_CHAR c0) { NimStringDesc* result0; result0 = (NimStringDesc*)0; result0 = s0; { void* LOC5; if (!(((NI) ((NI)((*result0).Sup.reserved & ((NI) 2147483647)))) <= (*result0).Sup.len)) goto LA3; (*result0).Sup.reserved = resize_bzF9a0JivP3Z4njqaxuLc5wsystem(((NI) ((NI)((*result0).Sup.reserved & ((NI) 2147483647))))); LOC5 = (void*)0; LOC5 = growobj_AVYny8c0GTk28gxjmat1MA(((void*) (result0)), (NI)((NI)(((NI)sizeof(TGenericSeq)) + (*result0).Sup.reserved) + ((NI) 1))); result0 = ((NimStringDesc*) (LOC5)); } LA3: ; (*result0).data[((*result0).Sup.len)- 0] = c0; (*result0).data[((NI)((*result0).Sup.len + ((NI) 1)))- 0] = 0; (*result0).Sup.len += ((NI) 1); return result0; } N_NIMCALL(NimStringDesc*, mnewString)(NI len0) { NimStringDesc* result0; result0 = (NimStringDesc*)0; result0 = rawNewString(len0); (*result0).Sup.len = len0; return result0; } N_NIMCALL(NimStringDesc*, nimCharToStr)(NIM_CHAR x0) { NimStringDesc* result0; result0 = (NimStringDesc*)0; result0 = mnewString(((NI) 1)); result0->data[((NI) 0)] = x0; return result0; } N_NIMCALL(TGenericSeq*, incrSeqV2)(TGenericSeq* seq0, NI elemsize0) { TGenericSeq* result0; result0 = (TGenericSeq*)0; result0 = seq0; { void* LOC5; if (!(((NI) ((NI)((*result0).reserved & ((NI) 2147483647)))) <= (*result0).len)) goto LA3; (*result0).reserved = resize_bzF9a0JivP3Z4njqaxuLc5wsystem(((NI) ((NI)((*result0).reserved & ((NI) 2147483647))))); LOC5 = (void*)0; LOC5 = growobj_AVYny8c0GTk28gxjmat1MA(((void*) (result0)), (NI)((NI)(elemsize0 * (*result0).reserved) + ((NI) 8))); result0 = ((TGenericSeq*) (LOC5)); } LA3: ; return result0; } N_NIMCALL(void, genericassignaux_ulsQvfENf9buS9atYunbm7gA)(void* dest0, void* src0, TNimNode* n0, NIM_BOOL shallow0) { NI d0; NI s0; d0 = ((NI) (dest0)); s0 = ((NI) (src0)); switch ((*n0).kind) { case ((Tnimnodekind_unfNsxrcATrufDZmpBq4HQ) 1): { genericassignaux_T3cq9aUp9bgGOBuyUSWGriTA(((void*) ((NI)((NU32)(d0) + (NU32)((*n0).offset)))), ((void*) ((NI)((NU32)(s0) + (NU32)((*n0).offset)))), (*n0).typ, shallow0); } break; case ((Tnimnodekind_unfNsxrcATrufDZmpBq4HQ) 2): { { NI i_b7RBYMpWHoyeYe0Xf0pa6A_2; NI HEX3Atmp_lBjhPeIRFLWoD5YINhpa0g_2; NI res_53oXP0vPfHtXag1OqwbU9cg_2; i_b7RBYMpWHoyeYe0Xf0pa6A_2 = (NI)0; HEX3Atmp_lBjhPeIRFLWoD5YINhpa0g_2 = (NI)0; HEX3Atmp_lBjhPeIRFLWoD5YINhpa0g_2 = (NI)((*n0).len - ((NI) 1)); res_53oXP0vPfHtXag1OqwbU9cg_2 = ((NI) 0); { while (1) { if (!(res_53oXP0vPfHtXag1OqwbU9cg_2 <= HEX3Atmp_lBjhPeIRFLWoD5YINhpa0g_2)) goto LA5; i_b7RBYMpWHoyeYe0Xf0pa6A_2 = res_53oXP0vPfHtXag1OqwbU9cg_2; genericassignaux_ulsQvfENf9buS9atYunbm7gA(dest0, src0, (*n0).sons[(i_b7RBYMpWHoyeYe0Xf0pa6A_2)- 0], shallow0); res_53oXP0vPfHtXag1OqwbU9cg_2 += ((NI) 1); } LA5: ; } } } break; case ((Tnimnodekind_unfNsxrcATrufDZmpBq4HQ) 3): { TNimNode* dd0; TNimNode* m0; dd0 = selectbranch_MvIsyjoRI1g7VY9cXrLB1dQ(dest0, n0); m0 = selectbranch_MvIsyjoRI1g7VY9cXrLB1dQ(src0, n0); { NIM_BOOL LOC9; LOC9 = (NIM_BOOL)0; LOC9 = !((m0 == dd0)); if (!(LOC9)) goto LA10; LOC9 = !((dd0 == NIM_NIL)); LA10: ; if (!LOC9) goto LA11; genericresetaux_byg9cq1Sxxop7ZDN9b4I0riw(dest0, dd0); } LA11: ; copymem_fPlwH3r9agN9aEHB6yCPMh0wsystem(((void*) ((NI)((NU32)(d0) + (NU32)((*n0).offset)))), ((void*) ((NI)((NU32)(s0) + (NU32)((*n0).offset)))), ((NI) ((*(*n0).typ).size))); { if (!!((m0 == NIM_NIL))) goto LA15; genericassignaux_ulsQvfENf9buS9atYunbm7gA(dest0, src0, m0, shallow0); } LA15: ; } break; case ((Tnimnodekind_unfNsxrcATrufDZmpBq4HQ) 0): { } break; } } N_NIMCALL(void, genericassignaux_T3cq9aUp9bgGOBuyUSWGriTA)(void* dest0, void* src0, TNimType* mt0, NIM_BOOL shallow0) { NI d0; NI s0; { d0 = ((NI) (dest0)); s0 = ((NI) (src0)); switch ((*mt0).kind) { case ((Tnimkind_jIBKr1ejBgsfM33Kxw4j7A) 28): { void** x0; void* s20; x0 = ((void**) (dest0)); s20 = (*((void**) (s0))); { NIM_BOOL LOC4; NIM_BOOL LOC5; LOC4 = (NIM_BOOL)0; LOC5 = (NIM_BOOL)0; LOC5 = (s20 == NIM_NIL); if (LOC5) goto LA6; LOC5 = shallow0; LA6: ; LOC4 = LOC5; if (LOC4) goto LA7; LOC4 = !(((NI)((*((TGenericSeq*) (s20))).reserved & ((NI) (-2147483647 -1))) == ((NI) 0))); LA7: ; if (!LOC4) goto LA8; unsureAsgnRef(x0, s20); } goto LA2; LA8: ; { NimStringDesc* LOC11; LOC11 = (NimStringDesc*)0; LOC11 = copyString(((NimStringDesc*) (s20))); unsureAsgnRef(x0, ((void*) (LOC11))); } LA2: ; } break; case ((Tnimkind_jIBKr1ejBgsfM33Kxw4j7A) 24): { void* s20; TGenericSeq* seq0; void** x0; void* LOC21; NI dst0; s20 = (*((void**) (src0))); seq0 = ((TGenericSeq*) (s20)); x0 = ((void**) (dest0)); { NIM_BOOL LOC15; NIM_BOOL LOC16; LOC15 = (NIM_BOOL)0; LOC16 = (NIM_BOOL)0; LOC16 = (s20 == NIM_NIL); if (LOC16) goto LA17; LOC16 = shallow0; LA17: ; LOC15 = LOC16; if (LOC15) goto LA18; LOC15 = !(((NI)((*seq0).reserved & ((NI) (-2147483647 -1))) == ((NI) 0))); LA18: ; if (!LOC15) goto LA19; unsureAsgnRef(x0, s20); goto BeforeRet; } LA19: ; LOC21 = (void*)0; LOC21 = newSeq(mt0, (*seq0).len); unsureAsgnRef(x0, LOC21); dst0 = ((NI) ((*((void**) (dest0))))); { NI i_b7RBYMpWHoyeYe0Xf0pa6A; NI HEX3Atmp_lBjhPeIRFLWoD5YINhpa0g; NI res_53oXP0vPfHtXag1OqwbU9cg; i_b7RBYMpWHoyeYe0Xf0pa6A = (NI)0; HEX3Atmp_lBjhPeIRFLWoD5YINhpa0g = (NI)0; HEX3Atmp_lBjhPeIRFLWoD5YINhpa0g = (NI)((*seq0).len - ((NI) 1)); res_53oXP0vPfHtXag1OqwbU9cg = ((NI) 0); { while (1) { if (!(res_53oXP0vPfHtXag1OqwbU9cg <= HEX3Atmp_lBjhPeIRFLWoD5YINhpa0g)) goto LA24; i_b7RBYMpWHoyeYe0Xf0pa6A = res_53oXP0vPfHtXag1OqwbU9cg; genericassignaux_T3cq9aUp9bgGOBuyUSWGriTA(((void*) ((NI)((NU32)((NI)((NU32)(dst0) + (NU32)((NI)((NU32)(i_b7RBYMpWHoyeYe0Xf0pa6A) * (NU32)((*(*mt0).base).size))))) + (NU32)(((NI) 8))))), ((void*) ((NI)((NU32)((NI)((NU32)(((NI) (s20))) + (NU32)((NI)((NU32)(i_b7RBYMpWHoyeYe0Xf0pa6A) * (NU32)((*(*mt0).base).size))))) + (NU32)(((NI) 8))))), (*mt0).base, shallow0); res_53oXP0vPfHtXag1OqwbU9cg += ((NI) 1); } LA24: ; } } } break; case ((Tnimkind_jIBKr1ejBgsfM33Kxw4j7A) 17): { TNimType** pint0; { if (!!(((*mt0).base == NIM_NIL))) goto LA28; genericassignaux_T3cq9aUp9bgGOBuyUSWGriTA(dest0, src0, (*mt0).base, shallow0); } LA28: ; genericassignaux_ulsQvfENf9buS9atYunbm7gA(dest0, src0, (*mt0).node, shallow0); pint0 = ((TNimType**) (dest0)); (*pint0) = mt0; } break; case ((Tnimkind_jIBKr1ejBgsfM33Kxw4j7A) 18): { genericassignaux_ulsQvfENf9buS9atYunbm7gA(dest0, src0, (*mt0).node, shallow0); } break; case ((Tnimkind_jIBKr1ejBgsfM33Kxw4j7A) 16): case ((Tnimkind_jIBKr1ejBgsfM33Kxw4j7A) 4): { { NI i_b7RBYMpWHoyeYe0Xf0pa6A_3; NI HEX3Atmp_lBjhPeIRFLWoD5YINhpa0g_3; NI res_53oXP0vPfHtXag1OqwbU9cg_3; i_b7RBYMpWHoyeYe0Xf0pa6A_3 = (NI)0; HEX3Atmp_lBjhPeIRFLWoD5YINhpa0g_3 = (NI)0; HEX3Atmp_lBjhPeIRFLWoD5YINhpa0g_3 = (NI)((NI)((*mt0).size / (*(*mt0).base).size) - ((NI) 1)); res_53oXP0vPfHtXag1OqwbU9cg_3 = ((NI) 0); { while (1) { if (!(res_53oXP0vPfHtXag1OqwbU9cg_3 <= HEX3Atmp_lBjhPeIRFLWoD5YINhpa0g_3)) goto LA34; i_b7RBYMpWHoyeYe0Xf0pa6A_3 = res_53oXP0vPfHtXag1OqwbU9cg_3; genericassignaux_T3cq9aUp9bgGOBuyUSWGriTA(((void*) ((NI)((NU32)(d0) + (NU32)((NI)((NU32)(i_b7RBYMpWHoyeYe0Xf0pa6A_3) * (NU32)((*(*mt0).base).size)))))), ((void*) ((NI)((NU32)(s0) + (NU32)((NI)((NU32)(i_b7RBYMpWHoyeYe0Xf0pa6A_3) * (NU32)((*(*mt0).base).size)))))), (*mt0).base, shallow0); res_53oXP0vPfHtXag1OqwbU9cg_3 += ((NI) 1); } LA34: ; } } } break; case ((Tnimkind_jIBKr1ejBgsfM33Kxw4j7A) 22): { unsureAsgnRef(((void**) (dest0)), (*((void**) (s0)))); } break; default: { copymem_fPlwH3r9agN9aEHB6yCPMh0wsystem(dest0, src0, ((NI) ((*mt0).size))); } break; } }BeforeRet: ; } N_NIMCALL(void, genericAssign)(void* dest0, void* src0, TNimType* mt0) { genericassignaux_T3cq9aUp9bgGOBuyUSWGriTA(dest0, src0, mt0, NIM_FALSE); } N_NIMCALL(NimStringDesc*, setLengthStr)(NimStringDesc* s0, NI newlen0) { NimStringDesc* result0; NI n0; result0 = (NimStringDesc*)0; n0 = ((newlen0 >= ((NI) 0)) ? newlen0 : ((NI) 0)); { if (!(n0 <= ((NI) ((NI)((*s0).Sup.reserved & ((NI) 2147483647)))))) goto LA3; result0 = s0; } goto LA1; LA3: ; { result0 = resizeString(s0, n0); } LA1: ; (*result0).Sup.len = n0; (*result0).data[(n0)- 0] = 0; return result0; } N_NIMCALL(void, add_IbYQ9cTcoQ89aIwM2IEYGMng)(NimStringDesc** result0, NI64 x0) { NI base0; NI i0; NI64 y0; base0 = ((*result0) ? (*result0)->Sup.len : 0); (*result0) = setLengthStr((*result0), ((NI) ((NI)(base0 + ((NI) 32))))); i0 = ((NI) 0); y0 = x0; { while (1) { NI64 d0; d0 = (NI64)(y0 / IL64(10)); (*result0)->data[(NI)(base0 + i0)] = ((NIM_CHAR) (((NI) ((NI)((((NI) ((NI64)(y0 - (NI64)(d0 * IL64(10))))) > 0? (((NI) ((NI64)(y0 - (NI64)(d0 * IL64(10)))))) : -(((NI) ((NI64)(y0 - (NI64)(d0 * IL64(10))))))) + ((NI) 48)))))); i0 += ((NI) 1); y0 = d0; { if (!(y0 == IL64(0))) goto LA5; goto LA1; } LA5: ; } } LA1: ; { if (!(x0 < IL64(0))) goto LA9; (*result0)->data[(NI)(base0 + i0)] = 45; i0 += ((NI) 1); } LA9: ; (*result0) = setLengthStr((*result0), ((NI) ((NI)(base0 + i0)))); { NI j_qnKx8FRbI9bfMKogtL77eNA; NI HEX3Atmp_4rY0hesNymbjU0qUfyjfhA; NI res_0E6r6o7EsL2WULx2c9b2Xaw; j_qnKx8FRbI9bfMKogtL77eNA = (NI)0; HEX3Atmp_4rY0hesNymbjU0qUfyjfhA = (NI)0; HEX3Atmp_4rY0hesNymbjU0qUfyjfhA = (NI)((NI)(i0 / ((NI) 2)) - ((NI) 1)); res_0E6r6o7EsL2WULx2c9b2Xaw = ((NI) 0); { while (1) { NIM_CHAR LOC14; if (!(res_0E6r6o7EsL2WULx2c9b2Xaw <= HEX3Atmp_4rY0hesNymbjU0qUfyjfhA)) goto LA13; j_qnKx8FRbI9bfMKogtL77eNA = res_0E6r6o7EsL2WULx2c9b2Xaw; LOC14 = (NIM_CHAR)0; LOC14 = (*result0)->data[(NI)(base0 + j_qnKx8FRbI9bfMKogtL77eNA)]; (*result0)->data[(NI)(base0 + j_qnKx8FRbI9bfMKogtL77eNA)] = (*result0)->data[(NI)((NI)((NI)(base0 + i0) - j_qnKx8FRbI9bfMKogtL77eNA) - ((NI) 1))]; (*result0)->data[(NI)((NI)((NI)(base0 + i0) - j_qnKx8FRbI9bfMKogtL77eNA) - ((NI) 1))] = LOC14; res_0E6r6o7EsL2WULx2c9b2Xaw += ((NI) 1); } LA13: ; } } } N_NIMCALL(NimStringDesc*, nimIntToStr)(NI x0) { NimStringDesc* result0; result0 = (NimStringDesc*)0; result0 = rawNewString(((NI) 16)); add_IbYQ9cTcoQ89aIwM2IEYGMng((&result0), ((NI64) (x0))); return result0; } N_NIMCALL(NI, writebuffer_nZ0pNe9cd9cXtoayexCiaDtA)(FILE* f0, void* buffer0, NI len0) { NI result0; int LOC1; result0 = (NI)0; LOC1 = (int)0; LOC1 = fwrite(buffer0, ((NI) 1), ((size_t) (len0)), f0); result0 = ((NI) (LOC1)); return result0; } static N_NIMCALL(void, Marker_TY_HX2M9cQhE3jaovp9aYJDdslA)(void* p, NI op) { Ioerror_9czoZw3pzPyrBmb5zTHY1OQ* a; a = (Ioerror_9czoZw3pzPyrBmb5zTHY1OQ*)p; nimGCvisit((void*)(*a).Sup.Sup.parent, op); nimGCvisit((void*)(*a).Sup.Sup.message, op); nimGCvisit((void*)(*a).Sup.Sup.trace, op); } static N_INLINE(void, sysfatal_orK8PicRB9bj8BG69bF8HQbwsystem)(NimStringDesc* message0) { Ioerror_9czoZw3pzPyrBmb5zTHY1OQ* e0; NimStringDesc* LOC1; e0 = (Ioerror_9czoZw3pzPyrBmb5zTHY1OQ*)0; e0 = (Ioerror_9czoZw3pzPyrBmb5zTHY1OQ*) newObj((&NTI_HX2M9cQhE3jaovp9aYJDdslA), sizeof(Ioerror_9czoZw3pzPyrBmb5zTHY1OQ)); (*e0).Sup.Sup.Sup.m_type = (&NTI_9czoZw3pzPyrBmb5zTHY1OQ); LOC1 = (NimStringDesc*)0; LOC1 = (*e0).Sup.Sup.message; (*e0).Sup.Sup.message = copyStringRC1(message0); if (LOC1) nimGCunrefNoCycle(LOC1); raiseException((Exception*)e0, "IOError"); } N_NOINLINE(void, raiseeio_PpfSiTIeNpMAb9a5o6SglJw)(NimStringDesc* msg0) { sysfatal_orK8PicRB9bj8BG69bF8HQbwsystem(msg0); } N_NIMCALL(void, write_c4mGyJBvK73pdM22jiweKQ)(FILE* f0, NimStringDesc* s0) { { NI LOC3; LOC3 = (NI)0; LOC3 = writebuffer_nZ0pNe9cd9cXtoayexCiaDtA(f0, ((void*) (s0->data)), ((NI) ((s0 ? s0->Sup.len : 0)))); if (!!((LOC3 == (s0 ? s0->Sup.len : 0)))) goto LA4; raiseeio_PpfSiTIeNpMAb9a5o6SglJw(((NimStringDesc*) &T_Q5wkpxktOdTGvlSRo9bzt9aw_10)); } LA4: ; } N_NIMCALL(void, flushfile_BWnr8V7RERYno9bIdPmw8Hw)(FILE* f0) { int LOC1; LOC1 = (int)0; LOC1 = fflush(f0); } N_NIMCALL(int, getfilehandle_bZ9c2yojtXoDTUpfyl8h8Rg)(FILE* f0) { int result0; result0 = (int)0; result0 = fileno(f0); return result0; } N_NIMCALL(void, close_BWnr8V7RERYno9bIdPmw8Hw_2)(FILE* f0) { int LOC1; LOC1 = (int)0; LOC1 = fclose(f0); } N_NIMCALL(NIM_BOOL, open_sEp0GH2306oGo9bqBpj5oTQ)(FILE** f0, NimStringDesc* filename0, Filemode_fVUBHvW79bXUw1j55Oo9avSQ mode0, NI bufsize0) { NIM_BOOL result0; void* p0; { result0 = (NIM_BOOL)0; p0 = fopen(filename0->data, Formatopen_129cS4U5eK4wWqE9bNeKN1Aw[(mode0)- 0]->data); { FILE* f20; struct stat res0; if (!!((p0 == NIM_NIL))) goto LA3; f20 = ((FILE*) (p0)); memset((void*)(&res0), 0, sizeof(res0)); { NIM_BOOL LOC7; int LOC8; int LOC9; LOC7 = (NIM_BOOL)0; LOC8 = (int)0; LOC8 = getfilehandle_bZ9c2yojtXoDTUpfyl8h8Rg(f20); LOC9 = (int)0; LOC9 = fstat(LOC8, (&res0)); LOC7 = (((NI32) 0) <= LOC9); if (!(LOC7)) goto LA10; LOC7 = S_ISDIR(res0.st_mode); LA10: ; if (!LOC7) goto LA11; close_BWnr8V7RERYno9bIdPmw8Hw_2(f20); result0 = NIM_FALSE; goto BeforeRet; } LA11: ; result0 = NIM_TRUE; (*f0) = ((FILE*) (p0)); { NIM_BOOL LOC15; int LOC19; LOC15 = (NIM_BOOL)0; LOC15 = (((NI) 0) < bufsize0); if (!(LOC15)) goto LA16; LOC15 = (bufsize0 <= ((NI) 2147483647)); LA16: ; if (!LOC15) goto LA17; LOC19 = (int)0; LOC19 = setvbuf((*f0), NIM_NIL, _IOFBF, ((size_t) (((int) (bufsize0))))); } goto LA13; LA17: ; { int LOC23; if (!(bufsize0 == ((NI) 0))) goto LA21; LOC23 = (int)0; LOC23 = setvbuf((*f0), NIM_NIL, _IONBF, ((NI) 0)); } goto LA13; LA21: ; LA13: ; } LA3: ; }BeforeRet: ; return result0; } N_NIMCALL(NIM_BOOL, stacktraceavailable_wACAbIVQ9chE25gS5iNqm9bw)(void) { NIM_BOOL result0; result0 = (NIM_BOOL)0; result0 = NIM_FALSE; return result0; } N_NIMCALL(void, writestacktrace_njssp69aa7hvxte9bJ8uuDcg_3)(void) { showerrormessage_rsUJ87b89bH0GlWKYL9c8wUQ("No stack traceback available\012"); } static N_NIMCALL(void, Marker_TY_1VeTzqrFu2VJ4a6cGvuoyA)(void* p, NI op) { TNimObject* a; a = (TNimObject*)p; } N_NIMCALL(void, nimGCunref)(void* p0) { Cell_1zcF9cV8XIAtbN8h5HRUB8g* cell0; NI L0; NI i0; Cell_1zcF9cV8XIAtbN8h5HRUB8g** d0; Cell_1zcF9cV8XIAtbN8h5HRUB8g* LOC7; cell0 = usrtocell_yB9aH5WIlwd0xkYrcdPeXrQsystem(p0); L0 = (NI)(gch_IcYaEuuWivYAS86vFMTS3Q.additionalroots.len - ((NI) 1)); i0 = L0; d0 = gch_IcYaEuuWivYAS86vFMTS3Q.additionalroots.d; { while (1) { if (!(((NI) 0) <= i0)) goto LA2; { if (!(d0[(i0)- 0] == cell0)) goto LA5; d0[(i0)- 0] = d0[(L0)- 0]; gch_IcYaEuuWivYAS86vFMTS3Q.additionalroots.len -= ((NI) 1); goto LA1; } LA5: ; i0 -= ((NI) 1); } LA2: ; } LA1: ; LOC7 = (Cell_1zcF9cV8XIAtbN8h5HRUB8g*)0; LOC7 = usrtocell_yB9aH5WIlwd0xkYrcdPeXrQsystem(p0); decref_MV4BBk6J1qu70IbBxwEn4wsystem(LOC7); } N_NIMCALL(TNimType*, extGetCellType)(void* c0) { TNimType* result0; Cell_1zcF9cV8XIAtbN8h5HRUB8g* LOC1; result0 = (TNimType*)0; LOC1 = (Cell_1zcF9cV8XIAtbN8h5HRUB8g*)0; LOC1 = usrtocell_yB9aH5WIlwd0xkYrcdPeXrQsystem(c0); result0 = (*LOC1).typ; return result0; } N_NIMCALL(TGenericSeq*, setLengthSeq)(TGenericSeq* seq0, NI elemsize0, NI newlen0) { TGenericSeq* result0; result0 = (TGenericSeq*)0; result0 = seq0; { NI LOC5; void* LOC6; if (!(((NI) ((NI)((*result0).reserved & ((NI) 2147483647)))) < newlen0)) goto LA3; LOC5 = (NI)0; LOC5 = resize_bzF9a0JivP3Z4njqaxuLc5wsystem(((NI) ((NI)((*result0).reserved & ((NI) 2147483647))))); (*result0).reserved = ((LOC5 >= newlen0) ? LOC5 : newlen0); LOC6 = (void*)0; LOC6 = growobj_AVYny8c0GTk28gxjmat1MA(((void*) (result0)), (NI)((NI)(elemsize0 * (*result0).reserved) + ((NI) 8))); result0 = ((TGenericSeq*) (LOC6)); } goto LA1; LA3: ; { if (!(newlen0 < (*result0).len)) goto LA8; { NI i_459awzx1aJm7CxaoNhJBBBw; NI HEX3Atmp_6aQT9bxX7vUBZ7xDglUXNyA; NI res_gyWliBWJSyIERPIv8yAoTg; i_459awzx1aJm7CxaoNhJBBBw = (NI)0; HEX3Atmp_6aQT9bxX7vUBZ7xDglUXNyA = (NI)0; HEX3Atmp_6aQT9bxX7vUBZ7xDglUXNyA = (NI)((*result0).len - ((NI) 1)); res_gyWliBWJSyIERPIv8yAoTg = newlen0; { while (1) { TNimType* LOC13; if (!(res_gyWliBWJSyIERPIv8yAoTg <= HEX3Atmp_6aQT9bxX7vUBZ7xDglUXNyA)) goto LA12; i_459awzx1aJm7CxaoNhJBBBw = res_gyWliBWJSyIERPIv8yAoTg; LOC13 = (TNimType*)0; LOC13 = extGetCellType(((void*) (result0))); forallchildrenaux_YOI1Uo54H9aas13WthjhsfA(((void*) ((NI)((NU32)((NI)((NU32)(((NI) (result0))) + (NU32)(((NI) 8)))) + (NU32)((NI)((NU32)(i_459awzx1aJm7CxaoNhJBBBw) * (NU32)(elemsize0)))))), (*LOC13).base, ((Walkop_Wfy7gT5VQ8B3aJBxqU8D9cQ) 2)); res_gyWliBWJSyIERPIv8yAoTg += ((NI) 1); } LA12: ; } } zeromem_7EL8Zq3xF2ujDWgp3bAEogsystem(((void*) ((NI)((NU32)((NI)((NU32)(((NI) (result0))) + (NU32)(((NI) 8)))) + (NU32)((NI)((NU32)(newlen0) * (NU32)(elemsize0)))))), ((NI) ((NI)((NU32)((NI)((NU32)((*result0).len) - (NU32)(newlen0))) * (NU32)(elemsize0))))); } goto LA1; LA8: ; LA1: ; (*result0).len = newlen0; return result0; } static N_INLINE(void, appendString)(NimStringDesc* dest0, NimStringDesc* src0) { copymem_fPlwH3r9agN9aEHB6yCPMh0wsystem(((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, 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 (!((NU32)((*c0).refcount) < (NU32)(((NI) 8)))) goto LA11; rtladdzct_MV4BBk6J1qu70IbBxwEn4w_2system(c0); } LA11: ; } LA7: ; (*dest0) = src0; } static N_INLINE(void, sysfatal_p4l3kdztdOPD3nsQRAEDqwsystem)(NimStringDesc* message0, NimStringDesc* arg0) { Ioerror_9czoZw3pzPyrBmb5zTHY1OQ* e0; NimStringDesc* LOC1; e0 = (Ioerror_9czoZw3pzPyrBmb5zTHY1OQ*)0; e0 = (Ioerror_9czoZw3pzPyrBmb5zTHY1OQ*) newObj((&NTI_HX2M9cQhE3jaovp9aYJDdslA), sizeof(Ioerror_9czoZw3pzPyrBmb5zTHY1OQ)); (*e0).Sup.Sup.Sup.m_type = (&NTI_9czoZw3pzPyrBmb5zTHY1OQ); LOC1 = (NimStringDesc*)0; LOC1 = rawNewString(message0->Sup.len + arg0->Sup.len + 0); appendString(LOC1, message0); appendString(LOC1, arg0); asgnRefNoCycle((void**) (&(*e0).Sup.Sup.message), LOC1); raiseException((Exception*)e0, "IOError"); } N_NIMCALL(FILE*, open_hqzpWQbdA2B8l9a6wwNoP4g)(NimStringDesc* filename0, Filemode_fVUBHvW79bXUw1j55Oo9avSQ mode0, NI bufsize0) { FILE* result0; result0 = (FILE*)0; { NIM_BOOL LOC3; LOC3 = (NIM_BOOL)0; LOC3 = open_sEp0GH2306oGo9bqBpj5oTQ(&result0, filename0, mode0, bufsize0); if (!!(LOC3)) goto LA4; sysfatal_p4l3kdztdOPD3nsQRAEDqwsystem(((NimStringDesc*) &T_Q5wkpxktOdTGvlSRo9bzt9aw_16), filename0); } LA4: ; return result0; } N_NIMCALL(NIM_BOOL, readline_sO1bQXVRA6RP9cdYJXNKeSw)(FILE* f0, NimStringDesc** line0) { NIM_BOOL result0; NI pos0; int sp0; { result0 = (NIM_BOOL)0; pos0 = ((NI) 0); sp0 = ((int) 80); { if (!((*line0) == 0)) goto LA3; unsureAsgnRef((void**) (&(*line0)), rawNewString(((NI) 80))); } goto LA1; LA3: ; { sp0 = ((int) (((NI) ((NI)((*((TGenericSeq*) ((*line0)))).reserved & ((NI) 2147483647)))))); (*line0) = setLengthStr((*line0), ((NI) (sp0))); } LA1: ; { while (1) { void* LOC8; void* m0; LOC8 = (void*)0; LOC8 = memset(((void*) ((&(*line0)->data[pos0]))), ((int) 10), ((size_t) (sp0))); { NCSTRING LOC11; LOC11 = (NCSTRING)0; LOC11 = fgets(((NCSTRING) ((&(*line0)->data[pos0]))), sp0, f0); if (!(((void*) (LOC11)) == NIM_NIL)) goto LA12; (*line0) = setLengthStr((*line0), ((NI) 0)); result0 = NIM_FALSE; goto BeforeRet; } LA12: ; m0 = memchr(((void*) ((&(*line0)->data[pos0]))), ((int) 10), ((size_t) (sp0))); { NI last0; if (!!((m0 == NIM_NIL))) goto LA16; last0 = (NI)(((NI) (m0)) - ((NI) ((&(*line0)->data[((NI) 0)])))); { NIM_BOOL LOC20; LOC20 = (NIM_BOOL)0; LOC20 = (((NI) 0) < last0); if (!(LOC20)) goto LA21; LOC20 = ((NU8)((*line0)->data[(NI)(last0 - ((NI) 1))]) == (NU8)(13)); LA21: ; if (!LOC20) goto LA22; (*line0) = setLengthStr((*line0), ((NI) ((NI)(last0 - ((NI) 1))))); result0 = NIM_TRUE; goto BeforeRet; } goto LA18; LA22: ; { NIM_BOOL LOC25; LOC25 = (NIM_BOOL)0; LOC25 = (((NI) 0) < last0); if (!(LOC25)) goto LA26; LOC25 = ((NU8)((*line0)->data[(NI)(last0 - ((NI) 1))]) == (NU8)(0)); LA26: ; if (!LOC25) goto LA27; { NIM_BOOL LOC31; LOC31 = (NIM_BOOL)0; LOC31 = (last0 < (NI)((NI)(pos0 + ((NI) (sp0))) - ((NI) 1))); if (!(LOC31)) goto LA32; LOC31 = !(((NU8)((*line0)->data[(NI)(last0 + ((NI) 1))]) == (NU8)(0))); LA32: ; if (!LOC31) goto LA33; last0 -= ((NI) 1); } LA33: ; } goto LA18; LA27: ; LA18: ; (*line0) = setLengthStr((*line0), ((NI) (last0))); result0 = NIM_TRUE; goto BeforeRet; } goto LA14; LA16: ; { sp0 -= ((NI) 1); } LA14: ; pos0 += ((NI) (sp0)); sp0 = ((int) 128); (*line0) = setLengthStr((*line0), ((NI) ((NI)(pos0 + ((NI) (sp0)))))); } } }BeforeRet: ; return result0; } static N_NIMCALL(void, Marker_TY_beOxjNaux3PfvyYBLMJh2A)(void* p, NI op) { Reraiseerror_GRbrBa7JIulgD34jGcFb8w* a; a = (Reraiseerror_GRbrBa7JIulgD34jGcFb8w*)p; nimGCvisit((void*)(*a).Sup.parent, op); nimGCvisit((void*)(*a).Sup.message, op); nimGCvisit((void*)(*a).Sup.trace, op); } static N_INLINE(void, sysfatal_gu8AGlf3JTsS25q0fXJFMAsystem)(NimStringDesc* message0) { Reraiseerror_GRbrBa7JIulgD34jGcFb8w* e0; NimStringDesc* LOC1; e0 = (Reraiseerror_GRbrBa7JIulgD34jGcFb8w*)0; e0 = (Reraiseerror_GRbrBa7JIulgD34jGcFb8w*) newObj((&NTI_beOxjNaux3PfvyYBLMJh2A), sizeof(Reraiseerror_GRbrBa7JIulgD34jGcFb8w)); (*e0).Sup.Sup.m_type = (&NTI_GRbrBa7JIulgD34jGcFb8w); LOC1 = (NimStringDesc*)0; LOC1 = (*e0).Sup.message; (*e0).Sup.message = copyStringRC1(message0); if (LOC1) nimGCunrefNoCycle(LOC1); raiseException((Exception*)e0, "ReraiseError"); } N_NIMCALL(void, reraiseException)(void) { { if (!(currexception_9bVPeDJlYTi9bQApZpfH8wjg == NIM_NIL)) goto LA3; sysfatal_gu8AGlf3JTsS25q0fXJFMAsystem(((NimStringDesc*) &T_Q5wkpxktOdTGvlSRo9bzt9aw_17)); } goto LA1; LA3: ; { raiseexceptionaux_jP8mO9c3YubVoLarNIvGorQ(currexception_9bVPeDJlYTi9bQApZpfH8wjg); } LA1: ; } N_NIMCALL(NIM_BOOL, isObj)(TNimType* obj0, TNimType* subclass0) { NIM_BOOL result0; TNimType* x0; { result0 = (NIM_BOOL)0; x0 = obj0; { if (!(x0 == subclass0)) goto LA3; result0 = NIM_TRUE; goto BeforeRet; } LA3: ; { while (1) { if (!!((x0 == subclass0))) goto LA6; { if (!(x0 == NIM_NIL)) goto LA9; result0 = NIM_FALSE; goto BeforeRet; } LA9: ; x0 = (*x0).base; } LA6: ; } result0 = NIM_TRUE; goto BeforeRet; }BeforeRet: ; return result0; } N_NIMCALL(NimStringDesc*, HEX24_k53Ge4e9cDjc7y9c5uML7sPQ)(TY_XOVT24GHXwqiEj5GCsEGCA x0) { NimStringDesc* result0; NIM_BOOL firstelement0; NimStringDesc* LOC14; result0 = (NimStringDesc*)0; result0 = copyString(((NimStringDesc*) &T_Q5wkpxktOdTGvlSRo9bzt9aw_18)); firstelement0 = NIM_TRUE; { if (!!(firstelement0)) goto LA3; result0 = resizeString(result0, 2); appendString(result0, ((NimStringDesc*) &T_Q5wkpxktOdTGvlSRo9bzt9aw_19)); } LA3: ; result0 = resizeString(result0, 8); appendString(result0, ((NimStringDesc*) &T_Q5wkpxktOdTGvlSRo9bzt9aw_20)); result0 = resizeString(result0, 2); appendString(result0, ((NimStringDesc*) &T_Q5wkpxktOdTGvlSRo9bzt9aw_21)); { if (!(x0.Field0 == 0)) goto LA7; result0 = resizeString(result0, 3); appendString(result0, ((NimStringDesc*) &T_Q5wkpxktOdTGvlSRo9bzt9aw_22)); } goto LA5; LA7: ; { result0 = resizeString(result0, x0.Field0->Sup.len + 0); appendString(result0, x0.Field0); } LA5: ; firstelement0 = NIM_FALSE; { if (!!(firstelement0)) goto LA12; result0 = resizeString(result0, 2); appendString(result0, ((NimStringDesc*) &T_Q5wkpxktOdTGvlSRo9bzt9aw_19)); } LA12: ; result0 = resizeString(result0, 4); appendString(result0, ((NimStringDesc*) &T_Q5wkpxktOdTGvlSRo9bzt9aw_23)); result0 = resizeString(result0, 2); appendString(result0, ((NimStringDesc*) &T_Q5wkpxktOdTGvlSRo9bzt9aw_21)); LOC14 = (NimStringDesc*)0; LOC14 = nimIntToStr(x0.Field1); result0 = resizeString(result0, LOC14->Sup.len + 0); appendString(result0, LOC14); firstelement0 = NIM_FALSE; result0 = resizeString(result0, 1); appendString(result0, ((NimStringDesc*) &T_Q5wkpxktOdTGvlSRo9bzt9aw_24)); return result0; } N_NIMCALL(NI, nimParseBiggestFloat)(NimStringDesc* s0, NF* number0, NI start0) { NI result0; NI i0; NF sign0; NI kdigits0; NI fdigits0; NI exponent0; NU64 integer0; NU64 fraction0; NI fracexponent0; NI expsign0; NI firstdigit0; NIM_BOOL hassign0; NI realexponent0; NIM_BOOL expnegative0; NI absexponent0; TY_PGLh8drTnaWr3s1qUUSq2Q t0; NI ti0; NI maxlen0; { result0 = (NI)0; i0 = start0; sign0 = 1.0000000000000000e+00; kdigits0 = ((NI) 0); fdigits0 = ((NI) 0); exponent0 = (NI)0; integer0 = (NU64)0; fraction0 = (NU64)0; fracexponent0 = ((NI) 0); expsign0 = ((NI) 1); firstdigit0 = ((NI) -1); hassign0 = NIM_FALSE; { NIM_BOOL LOC3; LOC3 = (NIM_BOOL)0; LOC3 = ((NU8)(s0->data[i0]) == (NU8)(43)); if (LOC3) goto LA4; LOC3 = ((NU8)(s0->data[i0]) == (NU8)(45)); LA4: ; if (!LOC3) goto LA5; hassign0 = NIM_TRUE; { if (!((NU8)(s0->data[i0]) == (NU8)(45))) goto LA9; sign0 = -1.0000000000000000e+00; } LA9: ; i0 += ((NI) 1); } LA5: ; { NIM_BOOL LOC13; LOC13 = (NIM_BOOL)0; LOC13 = ((NU8)(s0->data[i0]) == (NU8)(78)); if (LOC13) goto LA14; LOC13 = ((NU8)(s0->data[i0]) == (NU8)(110)); LA14: ; if (!LOC13) goto LA15; { NIM_BOOL LOC19; LOC19 = (NIM_BOOL)0; LOC19 = ((NU8)(s0->data[(NI)(i0 + ((NI) 1))]) == (NU8)(65)); if (LOC19) goto LA20; LOC19 = ((NU8)(s0->data[(NI)(i0 + ((NI) 1))]) == (NU8)(97)); LA20: ; if (!LOC19) goto LA21; { NIM_BOOL LOC25; LOC25 = (NIM_BOOL)0; LOC25 = ((NU8)(s0->data[(NI)(i0 + ((NI) 2))]) == (NU8)(78)); if (LOC25) goto LA26; LOC25 = ((NU8)(s0->data[(NI)(i0 + ((NI) 2))]) == (NU8)(110)); LA26: ; if (!LOC25) goto LA27; { if (!!((((NU8)(s0->data[(NI)(i0 + ((NI) 3))])) >= ((NU8)(97)) && ((NU8)(s0->data[(NI)(i0 + ((NI) 3))])) <= ((NU8)(122)) || ((NU8)(s0->data[(NI)(i0 + ((NI) 3))])) >= ((NU8)(65)) && ((NU8)(s0->data[(NI)(i0 + ((NI) 3))])) <= ((NU8)(90)) || ((NU8)(s0->data[(NI)(i0 + ((NI) 3))])) >= ((NU8)(48)) && ((NU8)(s0->data[(NI)(i0 + ((NI) 3))])) <= ((NU8)(57)) || ((NU8)(s0->data[(NI)(i0 + ((NI) 3))])) == ((NU8)(95))))) goto LA31; (*number0) = NAN; result0 = (NI)((NI)(i0 + ((NI) 3)) - start0); goto BeforeRet; } LA31: ; } LA27: ; } LA21: ; result0 = ((NI) 0); goto BeforeRet; } LA15: ; { NIM_BOOL LOC35; LOC35 = (NIM_BOOL)0; LOC35 = ((NU8)(s0->data[i0]) == (NU8)(73)); if (LOC35) goto LA36; LOC35 = ((NU8)(s0->data[i0]) == (NU8)(105)); LA36: ; if (!LOC35) goto LA37; { NIM_BOOL LOC41; LOC41 = (NIM_BOOL)0; LOC41 = ((NU8)(s0->data[(NI)(i0 + ((NI) 1))]) == (NU8)(78)); if (LOC41) goto LA42; LOC41 = ((NU8)(s0->data[(NI)(i0 + ((NI) 1))]) == (NU8)(110)); LA42: ; if (!LOC41) goto LA43; { NIM_BOOL LOC47; LOC47 = (NIM_BOOL)0; LOC47 = ((NU8)(s0->data[(NI)(i0 + ((NI) 2))]) == (NU8)(70)); if (LOC47) goto LA48; LOC47 = ((NU8)(s0->data[(NI)(i0 + ((NI) 2))]) == (NU8)(102)); LA48: ; if (!LOC47) goto LA49; { if (!!((((NU8)(s0->data[(NI)(i0 + ((NI) 3))])) >= ((NU8)(97)) && ((NU8)(s0->data[(NI)(i0 + ((NI) 3))])) <= ((NU8)(122)) || ((NU8)(s0->data[(NI)(i0 + ((NI) 3))])) >= ((NU8)(65)) && ((NU8)(s0->data[(NI)(i0 + ((NI) 3))])) <= ((NU8)(90)) || ((NU8)(s0->data[(NI)(i0 + ((NI) 3))])) >= ((NU8)(48)) && ((NU8)(s0->data[(NI)(i0 + ((NI) 3))])) <= ((NU8)(57)) || ((NU8)(s0->data[(NI)(i0 + ((NI) 3))])) == ((NU8)(95))))) goto LA53; (*number0) = ((NF)(INF) * (NF)(sign0)); result0 = (NI)((NI)(i0 + ((NI) 3)) - start0); goto BeforeRet; } LA53: ; } LA49: ; } LA43: ; result0 = ((NI) 0); goto BeforeRet; } LA37: ; { if (!(((NU8)(s0->data[i0])) >= ((NU8)(48)) && ((NU8)(s0->data[i0])) <= ((NU8)(57)))) goto LA57; firstdigit0 = ((NI) ((NI)(((NI) (((NU8)(s0->data[i0])))) - ((NI) 48)))); } LA57: ; { while (1) { if (!(((NU8)(s0->data[i0])) >= ((NU8)(48)) && ((NU8)(s0->data[i0])) <= ((NU8)(57)))) goto LA60; kdigits0 += ((NI) 1); integer0 = (NU64)((NU64)((NU64)((NU64)(integer0) * (NU64)(10ULL))) + (NU64)(((NU64) ((NI)(((NI) (((NU8)(s0->data[i0])))) - ((NI) 48)))))); i0 += ((NI) 1); { while (1) { if (!((NU8)(s0->data[i0]) == (NU8)(95))) goto LA62; i0 += ((NI) 1); } LA62: ; } } LA60: ; } { if (!((NU8)(s0->data[i0]) == (NU8)(46))) goto LA65; i0 += ((NI) 1); { if (!(kdigits0 <= ((NI) 0))) goto LA69; { while (1) { if (!((NU8)(s0->data[i0]) == (NU8)(48))) goto LA72; fracexponent0 += ((NI) 1); i0 += ((NI) 1); { while (1) { if (!((NU8)(s0->data[i0]) == (NU8)(95))) goto LA74; i0 += ((NI) 1); } LA74: ; } } LA72: ; } } LA69: ; { NIM_BOOL LOC77; LOC77 = (NIM_BOOL)0; LOC77 = (firstdigit0 == ((NI) -1)); if (!(LOC77)) goto LA78; LOC77 = (((NU8)(s0->data[i0])) >= ((NU8)(48)) && ((NU8)(s0->data[i0])) <= ((NU8)(57))); LA78: ; if (!LOC77) goto LA79; firstdigit0 = ((NI) ((NI)(((NI) (((NU8)(s0->data[i0])))) - ((NI) 48)))); } LA79: ; { while (1) { if (!(((NU8)(s0->data[i0])) >= ((NU8)(48)) && ((NU8)(s0->data[i0])) <= ((NU8)(57)))) goto LA82; fdigits0 += ((NI) 1); fracexponent0 += ((NI) 1); integer0 = (NU64)((NU64)((NU64)((NU64)(integer0) * (NU64)(10ULL))) + (NU64)(((NU64) ((NI)(((NI) (((NU8)(s0->data[i0])))) - ((NI) 48)))))); i0 += ((NI) 1); { while (1) { if (!((NU8)(s0->data[i0]) == (NU8)(95))) goto LA84; i0 += ((NI) 1); } LA84: ; } } LA82: ; } } LA65: ; { NIM_BOOL LOC87; NIM_BOOL LOC89; NIM_BOOL LOC91; LOC87 = (NIM_BOOL)0; LOC87 = ((NI)(kdigits0 + fdigits0) <= ((NI) 0)); if (!(LOC87)) goto LA88; LOC89 = (NIM_BOOL)0; LOC89 = (i0 == start0); if (LOC89) goto LA90; LOC91 = (NIM_BOOL)0; LOC91 = (i0 == (NI)(start0 + ((NI) 1))); if (!(LOC91)) goto LA92; LOC91 = hassign0; LA92: ; LOC89 = LOC91; LA90: ; LOC87 = LOC89; LA88: ; if (!LOC87) goto LA93; result0 = ((NI) 0); goto BeforeRet; } LA93: ; { if (!(((NU8)(s0->data[i0])) == ((NU8)(101)) || ((NU8)(s0->data[i0])) == ((NU8)(69)))) goto LA97; i0 += ((NI) 1); { NIM_BOOL LOC101; LOC101 = (NIM_BOOL)0; LOC101 = ((NU8)(s0->data[i0]) == (NU8)(43)); if (LOC101) goto LA102; LOC101 = ((NU8)(s0->data[i0]) == (NU8)(45)); LA102: ; if (!LOC101) goto LA103; { if (!((NU8)(s0->data[i0]) == (NU8)(45))) goto LA107; expsign0 = ((NI) -1); } LA107: ; i0 += ((NI) 1); } LA103: ; { if (!!((((NU8)(s0->data[i0])) >= ((NU8)(48)) && ((NU8)(s0->data[i0])) <= ((NU8)(57))))) goto LA111; result0 = ((NI) 0); goto BeforeRet; } LA111: ; { while (1) { if (!(((NU8)(s0->data[i0])) >= ((NU8)(48)) && ((NU8)(s0->data[i0])) <= ((NU8)(57)))) goto LA114; exponent0 = (NI)((NI)(exponent0 * ((NI) 10)) + ((NI) ((NI)(((NI) (((NU8)(s0->data[i0])))) - ((NI) 48))))); i0 += ((NI) 1); { while (1) { if (!((NU8)(s0->data[i0]) == (NU8)(95))) goto LA116; i0 += ((NI) 1); } LA116: ; } } LA114: ; } } LA97: ; realexponent0 = (NI)((NI)(expsign0 * exponent0) - fracexponent0); expnegative0 = (realexponent0 < ((NI) 0)); absexponent0 = (realexponent0 > 0? (realexponent0) : -(realexponent0)); { if (!(((NI) 999) < absexponent0)) goto LA119; { if (!expnegative0) goto LA123; (*number0) = ((NF)(0.0) * (NF)(sign0)); } goto LA121; LA123: ; { (*number0) = ((NF)(INF) * (NF)(sign0)); } LA121: ; result0 = (NI)(i0 - start0); goto BeforeRet; } LA119: ; { NIM_BOOL LOC128; NI slop0; LOC128 = (NIM_BOOL)0; LOC128 = ((NI)(kdigits0 + fdigits0) <= ((NI) 16)); if (!(LOC128)) goto LA129; LOC128 = (firstdigit0 <= ((NI) 8)); LA129: ; if (!LOC128) goto LA130; { if (!(absexponent0 <= ((NI) 22))) goto LA134; { if (!expnegative0) goto LA138; (*number0) = ((NF)(((NF)(sign0) * (NF)(((NF) (integer0))))) / (NF)(powtens_l8b44pimyaWe7sztIOF1Tw[(absexponent0)- 0])); } goto LA136; LA138: ; { (*number0) = ((NF)(((NF)(sign0) * (NF)(((NF) (integer0))))) * (NF)(powtens_l8b44pimyaWe7sztIOF1Tw[(absexponent0)- 0])); } LA136: ; result0 = (NI)(i0 - start0); goto BeforeRet; } LA134: ; slop0 = (NI)((NI)(((NI) 15) - kdigits0) - fdigits0); { NIM_BOOL LOC143; LOC143 = (NIM_BOOL)0; LOC143 = (absexponent0 <= (NI)(((NI) 22) + slop0)); if (!(LOC143)) goto LA144; LOC143 = !(expnegative0); LA144: ; if (!LOC143) goto LA145; (*number0) = ((NF)(((NF)(((NF)(sign0) * (NF)(((NF) (integer0))))) * (NF)(powtens_l8b44pimyaWe7sztIOF1Tw[(slop0)- 0]))) * (NF)(powtens_l8b44pimyaWe7sztIOF1Tw[((NI)(absexponent0 - slop0))- 0])); result0 = (NI)(i0 - start0); goto BeforeRet; } LA145: ; } LA130: ; memset((void*)t0, 0, sizeof(t0)); ti0 = ((NI) 0); maxlen0 = ((NI) 494); result0 = (NI)(i0 - start0); i0 = start0; { while (1) { if (!(((NU8)(s0->data[i0])) >= ((NU8)(48)) && ((NU8)(s0->data[i0])) <= ((NU8)(57)) || ((NU8)(s0->data[i0])) == ((NU8)(43)) || ((NU8)(s0->data[i0])) == ((NU8)(45)))) goto LA148; { if (!(ti0 < maxlen0)) goto LA151; t0[(ti0)- 0] = s0->data[i0]; ti0 += ((NI) 1); } LA151: ; i0 += ((NI) 1); { while (1) { if (!(((NU8)(s0->data[i0])) == ((NU8)(46)) || ((NU8)(s0->data[i0])) == ((NU8)(95)))) goto LA154; i0 += ((NI) 1); } LA154: ; } } LA148: ; } t0[(ti0)- 0] = 69; ti0 += ((NI) 1); { if (!expnegative0) goto LA157; t0[(ti0)- 0] = 45; } goto LA155; LA157: ; { t0[(ti0)- 0] = 43; } LA155: ; ti0 += ((NI) 1); ti0 += ((NI) 3); t0[((NI)(ti0 - ((NI) 1)))- 0] = ((NIM_CHAR) ((NI)(((NI) 48) + ((NI) ((NI)(absexponent0 % ((NI) 10))))))); absexponent0 = (NI)(absexponent0 / ((NI) 10)); t0[((NI)(ti0 - ((NI) 2)))- 0] = ((NIM_CHAR) ((NI)(((NI) 48) + ((NI) ((NI)(absexponent0 % ((NI) 10))))))); absexponent0 = (NI)(absexponent0 / ((NI) 10)); t0[((NI)(ti0 - ((NI) 3)))- 0] = ((NIM_CHAR) ((NI)(((NI) 48) + ((NI) ((NI)(absexponent0 % ((NI) 10))))))); (*number0) = strtod(((NCSTRING) (t0)), NIM_NIL); }BeforeRet: ; return result0; } static N_NIMCALL(void, Marker_TY_TmgWlPUbRr7iGD2UE1cu6A)(void* p, NI op) { Assertionerror_8FC9arcap3s5ZtfMs75krtA* a; a = (Assertionerror_8FC9arcap3s5ZtfMs75krtA*)p; nimGCvisit((void*)(*a).Sup.parent, op); nimGCvisit((void*)(*a).Sup.message, op); nimGCvisit((void*)(*a).Sup.trace, op); } static N_INLINE(void, sysfatal_mWrNPcJugise9aqN0yGByGwsystem)(NimStringDesc* message0) { Assertionerror_8FC9arcap3s5ZtfMs75krtA* e0; NimStringDesc* LOC1; e0 = (Assertionerror_8FC9arcap3s5ZtfMs75krtA*)0; e0 = (Assertionerror_8FC9arcap3s5ZtfMs75krtA*) newObj((&NTI_TmgWlPUbRr7iGD2UE1cu6A), sizeof(Assertionerror_8FC9arcap3s5ZtfMs75krtA)); (*e0).Sup.Sup.m_type = (&NTI_8FC9arcap3s5ZtfMs75krtA); LOC1 = (NimStringDesc*)0; LOC1 = (*e0).Sup.message; (*e0).Sup.message = copyStringRC1(message0); if (LOC1) nimGCunrefNoCycle(LOC1); raiseException((Exception*)e0, "AssertionError"); } N_NOINLINE(void, raiseassert_PpfSiTIeNpMAb9a5o6SglJw_2)(NimStringDesc* msg0) { sysfatal_mWrNPcJugise9aqN0yGByGwsystem(msg0); } static N_INLINE(void*, seqtoptr_WLLxNks0H5OcVBUlMtVoJgsystem)(TY_iGkpo9aKQdr3NWelKC4cnJA* x0) { void* result0; result0 = (void*)0; result0 = ((void*) (x0)); return result0; } N_NIMCALL(NIM_BOOL, HEX3DHEX3D_4vF9aSO3XAhG3fa1Zv59ahoA)(TY_a09bGTAl9ceOKTAytYdkbyKg x0, TY_a09bGTAl9ceOKTAytYdkbyKg y0) { NIM_BOOL result0; { result0 = (NIM_BOOL)0; { if (!!((x0.Field0 == y0.Field0))) goto LA3; result0 = NIM_FALSE; goto BeforeRet; } LA3: ; { if (!!((x0.Field1 == y0.Field1))) goto LA7; result0 = NIM_FALSE; goto BeforeRet; } LA7: ; result0 = NIM_TRUE; goto BeforeRet; }BeforeRet: ; return result0; } N_NIMCALL(NIM_BOOL, HEX3DHEX3D_9blrFJat6Z3Pwrl6WQ3wOyA)(TY_iGkpo9aKQdr3NWelKC4cnJA* x0, TY_iGkpo9aKQdr3NWelKC4cnJA* y0) { NIM_BOOL result0; { result0 = (NIM_BOOL)0; { void* LOC3; void* LOC4; LOC3 = (void*)0; LOC3 = seqtoptr_WLLxNks0H5OcVBUlMtVoJgsystem(x0); LOC4 = (void*)0; LOC4 = seqtoptr_WLLxNks0H5OcVBUlMtVoJgsystem(y0); if (!(LOC3 == LOC4)) goto LA5; result0 = NIM_TRUE; goto BeforeRet; } LA5: ; { NIM_BOOL LOC9; LOC9 = (NIM_BOOL)0; LOC9 = (x0 == 0); if (LOC9) goto LA10; LOC9 = (y0 == 0); LA10: ; if (!LOC9) goto LA11; result0 = NIM_FALSE; goto BeforeRet; } LA11: ; { if (!!(((x0 ? x0->Sup.len : 0) == (y0 ? y0->Sup.len : 0)))) goto LA15; result0 = NIM_FALSE; goto BeforeRet; } LA15: ; { NI i_B9aICU6ekXhYxvhMJcq2y9aA; NI HEX3Atmp_k9afZZWaIoKaA9aXOe6nGR4w; NI res_HZmM9cVoNcWoNzkdSbltuhg; i_B9aICU6ekXhYxvhMJcq2y9aA = (NI)0; HEX3Atmp_k9afZZWaIoKaA9aXOe6nGR4w = (NI)0; HEX3Atmp_k9afZZWaIoKaA9aXOe6nGR4w = (NI)((x0 ? x0->Sup.len : 0) - ((NI) 1)); res_HZmM9cVoNcWoNzkdSbltuhg = ((NI) 0); { while (1) { if (!(res_HZmM9cVoNcWoNzkdSbltuhg <= HEX3Atmp_k9afZZWaIoKaA9aXOe6nGR4w)) goto LA19; i_B9aICU6ekXhYxvhMJcq2y9aA = res_HZmM9cVoNcWoNzkdSbltuhg; { NIM_BOOL LOC22; LOC22 = (NIM_BOOL)0; LOC22 = HEX3DHEX3D_4vF9aSO3XAhG3fa1Zv59ahoA(x0->data[i_B9aICU6ekXhYxvhMJcq2y9aA], y0->data[i_B9aICU6ekXhYxvhMJcq2y9aA]); if (!!(LOC22)) goto LA23; result0 = NIM_FALSE; goto BeforeRet; } LA23: ; res_HZmM9cVoNcWoNzkdSbltuhg += ((NI) 1); } LA19: ; } } result0 = NIM_TRUE; goto BeforeRet; }BeforeRet: ; return result0; } N_NIMCALL(void, safeadd_XuI5bupZeUeWgjk44qSPBA)(TY_iGkpo9aKQdr3NWelKC4cnJA** x0, TY_a09bGTAl9ceOKTAytYdkbyKg y0) { { NIM_BOOL LOC3; TY_ns9bqkgvSZbKlHoKu0XkvnQ LOC6; LOC3 = (NIM_BOOL)0; LOC3 = HEX3DHEX3D_9blrFJat6Z3Pwrl6WQ3wOyA((*x0), NIM_NIL); if (!LOC3) goto LA4; unsureAsgnRef((void**) (&(*x0)), (TY_iGkpo9aKQdr3NWelKC4cnJA*) newSeq((&NTI_iGkpo9aKQdr3NWelKC4cnJA), 1)); memset((void*)LOC6, 0, sizeof(LOC6)); LOC6[0].Field0 = y0.Field0; LOC6[0].Field1 = y0.Field1; (*x0)->data[0].Field0 = LOC6[0].Field0; asgnRefNoCycle((void**) (&(*x0)->data[0].Field1), LOC6[0].Field1); } goto LA1; LA4: ; { (*x0) = (TY_iGkpo9aKQdr3NWelKC4cnJA*) incrSeqV2(&((*x0))->Sup, sizeof(TY_a09bGTAl9ceOKTAytYdkbyKg)); (*x0)->data[(*x0)->Sup.len].Field0 = y0.Field0; asgnRefNoCycle((void**) (&(*x0)->data[(*x0)->Sup.len].Field1), y0.Field1); ++(*x0)->Sup.len; } LA1: ; } static N_INLINE(void*, seqtoptr_V7AASvGxu8gMLloMW9ckRJgsystem)(TY_zuqP4Riz26Oi5fWgPYVEgA* x0) { void* result0; result0 = (void*)0; result0 = ((void*) (x0)); return result0; } N_NIMCALL(NIM_BOOL, HEX3DHEX3D_59b802owH8LncWkMg9cCE3ng)(TY_zuqP4Riz26Oi5fWgPYVEgA* x0, TY_zuqP4Riz26Oi5fWgPYVEgA* y0) { NIM_BOOL result0; { result0 = (NIM_BOOL)0; { void* LOC3; void* LOC4; LOC3 = (void*)0; LOC3 = seqtoptr_V7AASvGxu8gMLloMW9ckRJgsystem(x0); LOC4 = (void*)0; LOC4 = seqtoptr_V7AASvGxu8gMLloMW9ckRJgsystem(y0); if (!(LOC3 == LOC4)) goto LA5; result0 = NIM_TRUE; goto BeforeRet; } LA5: ; { NIM_BOOL LOC9; LOC9 = (NIM_BOOL)0; LOC9 = (x0 == 0); if (LOC9) goto LA10; LOC9 = (y0 == 0); LA10: ; if (!LOC9) goto LA11; result0 = NIM_FALSE; goto BeforeRet; } LA11: ; { if (!!(((x0 ? x0->Sup.len : 0) == (y0 ? y0->Sup.len : 0)))) goto LA15; result0 = NIM_FALSE; goto BeforeRet; } LA15: ; { NI i_B9aICU6ekXhYxvhMJcq2y9aA_2; NI HEX3Atmp_k9afZZWaIoKaA9aXOe6nGR4w_2; NI res_HZmM9cVoNcWoNzkdSbltuhg_2; i_B9aICU6ekXhYxvhMJcq2y9aA_2 = (NI)0; HEX3Atmp_k9afZZWaIoKaA9aXOe6nGR4w_2 = (NI)0; HEX3Atmp_k9afZZWaIoKaA9aXOe6nGR4w_2 = (NI)((x0 ? x0->Sup.len : 0) - ((NI) 1)); res_HZmM9cVoNcWoNzkdSbltuhg_2 = ((NI) 0); { while (1) { if (!(res_HZmM9cVoNcWoNzkdSbltuhg_2 <= HEX3Atmp_k9afZZWaIoKaA9aXOe6nGR4w_2)) goto LA19; i_B9aICU6ekXhYxvhMJcq2y9aA_2 = res_HZmM9cVoNcWoNzkdSbltuhg_2; { if (!!((x0->data[i_B9aICU6ekXhYxvhMJcq2y9aA_2] == y0->data[i_B9aICU6ekXhYxvhMJcq2y9aA_2]))) goto LA22; result0 = NIM_FALSE; goto BeforeRet; } LA22: ; res_HZmM9cVoNcWoNzkdSbltuhg_2 += ((NI) 1); } LA19: ; } } result0 = NIM_TRUE; goto BeforeRet; }BeforeRet: ; return result0; } N_NIMCALL(void, safeadd_VD4SAHgDoDEHV5x9bi89cbwA)(TY_zuqP4Riz26Oi5fWgPYVEgA** x0, Ttype_LTUWCZolpovw9cWE3JBWSUw* y0) { { NIM_BOOL LOC3; TY_BF9aKj6RAH9ccQDWaEKQ1HOw LOC6; LOC3 = (NIM_BOOL)0; LOC3 = HEX3DHEX3D_59b802owH8LncWkMg9cCE3ng((*x0), NIM_NIL); if (!LOC3) goto LA4; unsureAsgnRef((void**) (&(*x0)), (TY_zuqP4Riz26Oi5fWgPYVEgA*) newSeq((&NTI_zuqP4Riz26Oi5fWgPYVEgA), 1)); memset((void*)LOC6, 0, sizeof(LOC6)); LOC6[0] = y0; asgnRefNoCycle((void**) (&(*x0)->data[0]), LOC6[0]); } goto LA1; LA4: ; { (*x0) = (TY_zuqP4Riz26Oi5fWgPYVEgA*) incrSeqV2(&((*x0))->Sup, sizeof(Ttype_LTUWCZolpovw9cWE3JBWSUw*)); asgnRefNoCycle((void**) (&(*x0)->data[(*x0)->Sup.len]), y0); ++(*x0)->Sup.len; } LA1: ; } static N_INLINE(void*, seqtoptr_E0S8l8wqU9aGJ4REWeYF9aMAsystem)(TY_DXS6mEo7PVUFJkirsQ9bNQA* x0) { void* result0; result0 = (void*)0; result0 = ((void*) (x0)); return result0; } N_NIMCALL(NIM_BOOL, HEX3DHEX3D_8Lfd9cW8bn5vR0HyDvQO6Hw)(TY_DXS6mEo7PVUFJkirsQ9bNQA* x0, TY_DXS6mEo7PVUFJkirsQ9bNQA* y0) { NIM_BOOL result0; { result0 = (NIM_BOOL)0; { void* LOC3; void* LOC4; LOC3 = (void*)0; LOC3 = seqtoptr_E0S8l8wqU9aGJ4REWeYF9aMAsystem(x0); LOC4 = (void*)0; LOC4 = seqtoptr_E0S8l8wqU9aGJ4REWeYF9aMAsystem(y0); if (!(LOC3 == LOC4)) goto LA5; result0 = NIM_TRUE; goto BeforeRet; } LA5: ; { NIM_BOOL LOC9; LOC9 = (NIM_BOOL)0; LOC9 = (x0 == 0); if (LOC9) goto LA10; LOC9 = (y0 == 0); LA10: ; if (!LOC9) goto LA11; result0 = NIM_FALSE; goto BeforeRet; } LA11: ; { if (!!(((x0 ? x0->Sup.len : 0) == (y0 ? y0->Sup.len : 0)))) goto LA15; result0 = NIM_FALSE; goto BeforeRet; } LA15: ; { NI i_B9aICU6ekXhYxvhMJcq2y9aA_3; NI HEX3Atmp_k9afZZWaIoKaA9aXOe6nGR4w_3; NI res_HZmM9cVoNcWoNzkdSbltuhg_3; i_B9aICU6ekXhYxvhMJcq2y9aA_3 = (NI)0; HEX3Atmp_k9afZZWaIoKaA9aXOe6nGR4w_3 = (NI)0; HEX3Atmp_k9afZZWaIoKaA9aXOe6nGR4w_3 = (NI)((x0 ? x0->Sup.len : 0) - ((NI) 1)); res_HZmM9cVoNcWoNzkdSbltuhg_3 = ((NI) 0); { while (1) { if (!(res_HZmM9cVoNcWoNzkdSbltuhg_3 <= HEX3Atmp_k9afZZWaIoKaA9aXOe6nGR4w_3)) goto LA19; i_B9aICU6ekXhYxvhMJcq2y9aA_3 = res_HZmM9cVoNcWoNzkdSbltuhg_3; { if (!!((x0->data[i_B9aICU6ekXhYxvhMJcq2y9aA_3] == y0->data[i_B9aICU6ekXhYxvhMJcq2y9aA_3]))) goto LA22; result0 = NIM_FALSE; goto BeforeRet; } LA22: ; res_HZmM9cVoNcWoNzkdSbltuhg_3 += ((NI) 1); } LA19: ; } } result0 = NIM_TRUE; goto BeforeRet; }BeforeRet: ; return result0; } N_NIMCALL(void, safeadd_159bXvKbDCwtLAAM9au9cb2iw)(TY_DXS6mEo7PVUFJkirsQ9bNQA** x0, Tinstantiation_5LqgVn6Tq9ainQRK7TQAQxA* y0) { { NIM_BOOL LOC3; TY_M0Qdpg6QRblpTaGFq09aZ9aQ LOC6; LOC3 = (NIM_BOOL)0; LOC3 = HEX3DHEX3D_8Lfd9cW8bn5vR0HyDvQO6Hw((*x0), NIM_NIL); if (!LOC3) goto LA4; unsureAsgnRef((void**) (&(*x0)), (TY_DXS6mEo7PVUFJkirsQ9bNQA*) newSeq((&NTI_DXS6mEo7PVUFJkirsQ9bNQA), 1)); memset((void*)LOC6, 0, sizeof(LOC6)); LOC6[0] = y0; asgnRefNoCycle((void**) (&(*x0)->data[0]), LOC6[0]); } goto LA1; LA4: ; { (*x0) = (TY_DXS6mEo7PVUFJkirsQ9bNQA*) incrSeqV2(&((*x0))->Sup, sizeof(Tinstantiation_5LqgVn6Tq9ainQRK7TQAQxA*)); asgnRefNoCycle((void**) (&(*x0)->data[(*x0)->Sup.len]), y0); ++(*x0)->Sup.len; } LA1: ; } N_NIMCALL(NimStringDesc*, reprEnum)(NI e0, TNimType* typ0) { NimStringDesc* result0; TNimNode* n0; NimStringDesc* LOC19; NimStringDesc* LOC20; { result0 = (NimStringDesc*)0; n0 = (*typ0).node; { NI o0; if (!!((((*typ0).flags &(1U<<((NU)(((Tnimtypeflag_v8QUszD1sWlSIWZz7mC4bQ) 2))&7U)))!=0))) goto LA3; o0 = (NI)(e0 - (*(*n0).sons[(((NI) 0))- 0]).offset); { NIM_BOOL LOC7; LOC7 = (NIM_BOOL)0; LOC7 = (((NI) 0) <= o0); if (!(LOC7)) goto LA8; LOC7 = ((NU32)(o0) < (NU32)((*(*typ0).node).len)); LA8: ; if (!LOC7) goto LA9; result0 = cstrToNimstr((*(*n0).sons[(o0)- 0]).name); goto BeforeRet; } LA9: ; } goto LA1; LA3: ; { TNimNode** s0; s0 = (*n0).sons; { NI i_jJgchJglMdVn5ghHepHNEQ; NI HEX3Atmp_ur0lqw0mnkf2gJG9adJhuiA; NI res_qY3iGvz4sUYgqm9aIqBy2Yg; i_jJgchJglMdVn5ghHepHNEQ = (NI)0; HEX3Atmp_ur0lqw0mnkf2gJG9adJhuiA = (NI)0; HEX3Atmp_ur0lqw0mnkf2gJG9adJhuiA = (NI)((*n0).len - ((NI) 1)); res_qY3iGvz4sUYgqm9aIqBy2Yg = ((NI) 0); { while (1) { if (!(res_qY3iGvz4sUYgqm9aIqBy2Yg <= HEX3Atmp_ur0lqw0mnkf2gJG9adJhuiA)) goto LA14; i_jJgchJglMdVn5ghHepHNEQ = res_qY3iGvz4sUYgqm9aIqBy2Yg; { if (!((*s0[(i_jJgchJglMdVn5ghHepHNEQ)- 0]).offset == e0)) goto LA17; result0 = cstrToNimstr((*s0[(i_jJgchJglMdVn5ghHepHNEQ)- 0]).name); goto BeforeRet; } LA17: ; res_qY3iGvz4sUYgqm9aIqBy2Yg += ((NI) 1); } LA14: ; } } } LA1: ; LOC19 = (NimStringDesc*)0; LOC20 = (NimStringDesc*)0; LOC20 = nimIntToStr(e0); LOC19 = rawNewString(LOC20->Sup.len + 16); appendString(LOC19, LOC20); appendString(LOC19, ((NimStringDesc*) &T_Q5wkpxktOdTGvlSRo9bzt9aw_25)); result0 = LOC19; }BeforeRet: ; return result0; } N_NIMCALL(TY_ehmV9bTklH2Gt9cXHV9c0HLeQ*, HEX40_bQHHihY0PYrZkZONSF9a7Cg)(Tnode_bROa11lyF5vxEN9aYNbHmhw** a0, NI a0Len0) { TY_ehmV9bTklH2Gt9cXHV9c0HLeQ* result0; result0 = (TY_ehmV9bTklH2Gt9cXHV9c0HLeQ*)0; result0 = (TY_ehmV9bTklH2Gt9cXHV9c0HLeQ*) newSeq((&NTI_ehmV9bTklH2Gt9cXHV9c0HLeQ), ((NI) (a0Len0))); { NI i_bHIHq8p2lXTgo2f10GsQig; NI HEX3Atmp_XCD9aTGexyxKtc9cNBZiOUTQ; NI res_HBiwVZJTpFHytIclu1hF0g; i_bHIHq8p2lXTgo2f10GsQig = (NI)0; HEX3Atmp_XCD9aTGexyxKtc9cNBZiOUTQ = (NI)0; HEX3Atmp_XCD9aTGexyxKtc9cNBZiOUTQ = (NI)(a0Len0 - ((NI) 1)); res_HBiwVZJTpFHytIclu1hF0g = ((NI) 0); { while (1) { if (!(res_HBiwVZJTpFHytIclu1hF0g <= HEX3Atmp_XCD9aTGexyxKtc9cNBZiOUTQ)) goto LA3; i_bHIHq8p2lXTgo2f10GsQig = res_HBiwVZJTpFHytIclu1hF0g; asgnRefNoCycle((void**) (&result0->data[i_bHIHq8p2lXTgo2f10GsQig]), a0[i_bHIHq8p2lXTgo2f10GsQig]); res_HBiwVZJTpFHytIclu1hF0g += ((NI) 1); } LA3: ; } } return result0; } N_NIMCALL(void, objectinitaux_byg9cq1Sxxop7ZDN9b4I0riw_2)(void* dest0, TNimNode* n0) { NI d0; d0 = ((NI) (dest0)); switch ((*n0).kind) { case ((Tnimnodekind_unfNsxrcATrufDZmpBq4HQ) 0): { } break; case ((Tnimnodekind_unfNsxrcATrufDZmpBq4HQ) 1): { objectInit(((void*) ((NI)((NU32)(d0) + (NU32)((*n0).offset)))), (*n0).typ); } break; case ((Tnimnodekind_unfNsxrcATrufDZmpBq4HQ) 2): { { NI i_8WcjKDEkcaKA6zABspuKuA; NI HEX3Atmp_8IBoZbjjOz9aM6wU4zAhX4g; NI res_Ss7lpQKOdQMXoimpycBTLw; i_8WcjKDEkcaKA6zABspuKuA = (NI)0; HEX3Atmp_8IBoZbjjOz9aM6wU4zAhX4g = (NI)0; HEX3Atmp_8IBoZbjjOz9aM6wU4zAhX4g = (NI)((*n0).len - ((NI) 1)); res_Ss7lpQKOdQMXoimpycBTLw = ((NI) 0); { while (1) { if (!(res_Ss7lpQKOdQMXoimpycBTLw <= HEX3Atmp_8IBoZbjjOz9aM6wU4zAhX4g)) goto LA6; i_8WcjKDEkcaKA6zABspuKuA = res_Ss7lpQKOdQMXoimpycBTLw; objectinitaux_byg9cq1Sxxop7ZDN9b4I0riw_2(dest0, (*n0).sons[(i_8WcjKDEkcaKA6zABspuKuA)- 0]); res_Ss7lpQKOdQMXoimpycBTLw += ((NI) 1); } LA6: ; } } } break; case ((Tnimnodekind_unfNsxrcATrufDZmpBq4HQ) 3): { TNimNode* m0; m0 = selectbranch_MvIsyjoRI1g7VY9cXrLB1dQ(dest0, n0); { if (!!((m0 == NIM_NIL))) goto LA10; objectinitaux_byg9cq1Sxxop7ZDN9b4I0riw_2(dest0, m0); } LA10: ; } break; } } N_NIMCALL(void, objectInit)(void* dest0, TNimType* typ0) { NI d0; d0 = ((NI) (dest0)); switch ((*typ0).kind) { case ((Tnimkind_jIBKr1ejBgsfM33Kxw4j7A) 17): { TNimType** pint0; pint0 = ((TNimType**) (dest0)); (*pint0) = typ0; objectinitaux_byg9cq1Sxxop7ZDN9b4I0riw_2(dest0, (*typ0).node); } break; case ((Tnimkind_jIBKr1ejBgsfM33Kxw4j7A) 18): { objectinitaux_byg9cq1Sxxop7ZDN9b4I0riw_2(dest0, (*typ0).node); } break; case ((Tnimkind_jIBKr1ejBgsfM33Kxw4j7A) 16): case ((Tnimkind_jIBKr1ejBgsfM33Kxw4j7A) 4): { { NI i_M5G3yi11wUM0P6riQhdzEg; NI HEX3Atmp_29cceO9aRxbFpKYyzpmk6q0g; NI res_BnNklo9b48v0oNxUmZwpY0Q; i_M5G3yi11wUM0P6riQhdzEg = (NI)0; HEX3Atmp_29cceO9aRxbFpKYyzpmk6q0g = (NI)0; HEX3Atmp_29cceO9aRxbFpKYyzpmk6q0g = (NI)((NI)((*typ0).size / (*(*typ0).base).size) - ((NI) 1)); res_BnNklo9b48v0oNxUmZwpY0Q = ((NI) 0); { while (1) { if (!(res_BnNklo9b48v0oNxUmZwpY0Q <= HEX3Atmp_29cceO9aRxbFpKYyzpmk6q0g)) goto LA6; i_M5G3yi11wUM0P6riQhdzEg = res_BnNklo9b48v0oNxUmZwpY0Q; objectInit(((void*) ((NI)((NU32)(d0) + (NU32)((NI)(i_M5G3yi11wUM0P6riQhdzEg * (*(*typ0).base).size))))), (*typ0).base); res_BnNklo9b48v0oNxUmZwpY0Q += ((NI) 1); } LA6: ; } } } break; default: { } break; } } N_NIMCALL(NI, readbuffer_nZ0pNe9cd9cXtoayexCiaDtA_2)(FILE* f0, void* buffer0, NI len0) { NI result0; result0 = (NI)0; result0 = fread(buffer0, ((NI) 1), ((size_t) (len0)), f0); return result0; } N_NIMCALL(NI, ptrsize_FVy3yH9cNo61BYTEPuP9awLA)(void* p0) { NI result0; void* x0; Basechunk_Sdq7WpT6qAH858F5ZEdG3w* c0; result0 = (NI)0; x0 = ((void*) ((NI)((NU32)(((NI) (p0))) - (NU32)(((NI)sizeof(Freecell_u6M5LHprqzkn9axr04yg9bGQ)))))); c0 = pageaddr_4uti7hTxTUDxUPqFMgMvHAsystem(p0); result0 = (NI)((NU32)((*c0).size) - (NU32)(((NI)sizeof(Freecell_u6M5LHprqzkn9axr04yg9bGQ)))); { NIM_BOOL LOC3; LOC3 = (NIM_BOOL)0; LOC3 = issmallchunk_xxNWShoyEPMUVN7FvfpDjwsystem(c0); if (!!(LOC3)) goto LA4; result0 -= (NI)(((NI)sizeof(Bigchunk_Rv9c70Uhp2TytkX7eH78qEg)) - ((NI) 8)); } LA4: ; return result0; } N_NIMCALL(void*, realloc_O21OiSxurjvup9cA55o9ae1A)(Memregion_x81NhDv59b8ercDZ9bi85jyg* allocator0, void* p0, NI newsize0) { void* result0; result0 = (void*)0; { if (!(((NI) 0) < ((NI) (newsize0)))) goto LA3; result0 = alloc0_WDxgSWQ1mSIerfvC0kmUtg(allocator0, newsize0); { NI LOC9; if (!!((p0 == NIM_NIL))) goto LA7; LOC9 = (NI)0; LOC9 = ptrsize_FVy3yH9cNo61BYTEPuP9awLA(p0); copymem_fPlwH3r9agN9aEHB6yCPMh0wsystem(result0, p0, ((NI) (LOC9))); dealloc_jqYVOi4APb9cRx3G9a57AkRw(allocator0, p0); } LA7: ; } goto LA1; LA3: ; { if (!!((p0 == NIM_NIL))) goto LA11; dealloc_jqYVOi4APb9cRx3G9a57AkRw(allocator0, p0); } goto LA1; LA11: ; LA1: ; return result0; } N_NOCONV(void*, realloc_epWYXy7oruYtiNJhUF25Zg)(void* p0, NI newsize0) { void* result0; result0 = (void*)0; result0 = realloc_O21OiSxurjvup9cA55o9ae1A((&gch_IcYaEuuWivYAS86vFMTS3Q.region), p0, newsize0); return result0; } N_NIMCALL(NimStringDesc*, nimInt64ToStr)(NI64 x0) { NimStringDesc* result0; result0 = (NimStringDesc*)0; result0 = rawNewString(((NI) 32)); add_IbYQ9cTcoQ89aIwM2IEYGMng((&result0), x0); return result0; } N_NIMCALL(NI64, mulInt64)(NI64 a0, NI64 b0) { NI64 result0; NF resasfloat0; NF floatprod0; { result0 = (NI64)0; resasfloat0 = (NF)0; floatprod0 = (NF)0; result0 = (NI64)((NU64)(a0) * (NU64)(b0)); floatprod0 = ((double) (a0)); floatprod0 = ((NF)(floatprod0) * (NF)(((double) (b0)))); resasfloat0 = ((double) (result0)); { if (!(resasfloat0 == floatprod0)) goto LA3; goto BeforeRet; } LA3: ; { if (!(((NF)(3.2000000000000000e+01) * (NF)((((NF)(resasfloat0) - (NF)(floatprod0)) > 0? (((NF)(resasfloat0) - (NF)(floatprod0))) : -(((NF)(resasfloat0) - (NF)(floatprod0)))))) <= (floatprod0 > 0? (floatprod0) : -(floatprod0)))) goto LA7; goto BeforeRet; } LA7: ; raiseOverflow(); }BeforeRet: ; return result0; } static N_NIMCALL(void, Marker_TY_Qx9aKy4vZ9bVz9bnG9brQcRHGA)(void* p, NI op) { Oserror_3XwRQvmzCEOC4QnT706q1g* a; a = (Oserror_3XwRQvmzCEOC4QnT706q1g*)p; nimGCvisit((void*)(*a).Sup.Sup.parent, op); nimGCvisit((void*)(*a).Sup.Sup.message, op); nimGCvisit((void*)(*a).Sup.Sup.trace, op); } static N_NIMCALL(void, Marker_TY_axqhRnwd09cVJkRcojfw6mA)(void* p, NI op) { Keyerror_ifYAhUumNzWR9c9cN9amyJLtg* a; a = (Keyerror_ifYAhUumNzWR9c9cN9amyJLtg*)p; nimGCvisit((void*)(*a).Sup.Sup.parent, op); nimGCvisit((void*)(*a).Sup.Sup.message, op); nimGCvisit((void*)(*a).Sup.Sup.trace, op); } static N_NIMCALL(void, Marker_TY_z58cIdR0vOibqJ0QwYvB3Q)(void* p, NI op) { Indexerror_b0IIwghFQBADkB2c86kXQA* a; a = (Indexerror_b0IIwghFQBADkB2c86kXQA*)p; nimGCvisit((void*)(*a).Sup.parent, op); nimGCvisit((void*)(*a).Sup.message, op); nimGCvisit((void*)(*a).Sup.trace, op); } N_NIMCALL(void, add_XyS0BXa1E5ylXzhvUQlY9cg)(NimStringDesc** x0, NCSTRING y0) { NI i0; i0 = ((NI) 0); { while (1) { if (!!(((NU8)(y0[i0]) == (NU8)(0)))) goto LA2; (*x0) = addChar((*x0), y0[i0]); i0 += ((NI) 1); } LA2: ; } } N_NIMCALL(void, add_A9bDQDKw5SEqD3OvtOnC1bg)(NimStringDesc** result0, NF x0) { TY_eVNFTutn6un5gcq48fQLdg buf0; NI n0; int LOC1; NIM_BOOL hasdot0; memset((void*)buf0, 0, sizeof(buf0)); LOC1 = (int)0; LOC1 = sprintf(((NCSTRING) (buf0)), "%.16g", x0); n0 = ((NI) (LOC1)); hasdot0 = NIM_FALSE; { NI i_Dc9b3u6KOlAfbYkJrmfLS8g; NI HEX3Atmp_4rY0hesNymbjU0qUfyjfhA_2; NI res_0E6r6o7EsL2WULx2c9b2Xaw_2; i_Dc9b3u6KOlAfbYkJrmfLS8g = (NI)0; HEX3Atmp_4rY0hesNymbjU0qUfyjfhA_2 = (NI)0; HEX3Atmp_4rY0hesNymbjU0qUfyjfhA_2 = (NI)(n0 - ((NI) 1)); res_0E6r6o7EsL2WULx2c9b2Xaw_2 = ((NI) 0); { while (1) { if (!(res_0E6r6o7EsL2WULx2c9b2Xaw_2 <= HEX3Atmp_4rY0hesNymbjU0qUfyjfhA_2)) goto LA4; i_Dc9b3u6KOlAfbYkJrmfLS8g = res_0E6r6o7EsL2WULx2c9b2Xaw_2; { if (!((NU8)(buf0[(i_Dc9b3u6KOlAfbYkJrmfLS8g)- 0]) == (NU8)(44))) goto LA7; buf0[(i_Dc9b3u6KOlAfbYkJrmfLS8g)- 0] = 46; hasdot0 = NIM_TRUE; } goto LA5; LA7: ; { if (!(((NU8)(buf0[(i_Dc9b3u6KOlAfbYkJrmfLS8g)- 0])) >= ((NU8)(97)) && ((NU8)(buf0[(i_Dc9b3u6KOlAfbYkJrmfLS8g)- 0])) <= ((NU8)(122)) || ((NU8)(buf0[(i_Dc9b3u6KOlAfbYkJrmfLS8g)- 0])) >= ((NU8)(65)) && ((NU8)(buf0[(i_Dc9b3u6KOlAfbYkJrmfLS8g)- 0])) <= ((NU8)(90)) || ((NU8)(buf0[(i_Dc9b3u6KOlAfbYkJrmfLS8g)- 0])) == ((NU8)(46)))) goto LA10; hasdot0 = NIM_TRUE; } goto LA5; LA10: ; LA5: ; res_0E6r6o7EsL2WULx2c9b2Xaw_2 += ((NI) 1); } LA4: ; } } { if (!!(hasdot0)) goto LA14; buf0[(n0)- 0] = 46; buf0[((NI)(n0 + ((NI) 1)))- 0] = 48; buf0[((NI)(n0 + ((NI) 2)))- 0] = 0; } LA14: ; { if (!(((NU8)(buf0[((NI)(n0 - ((NI) 1)))- 0])) == ((NU8)(110)) || ((NU8)(buf0[((NI)(n0 - ((NI) 1)))- 0])) == ((NU8)(78)))) goto LA18; (*result0) = resizeString((*result0), 3); appendString((*result0), ((NimStringDesc*) &T_Q5wkpxktOdTGvlSRo9bzt9aw_26)); } goto LA16; LA18: ; { if (!((NU8)(buf0[((NI)(n0 - ((NI) 1)))- 0]) == (NU8)(70))) goto LA21; { if (!((NU8)(buf0[(((NI) 0))- 0]) == (NU8)(45))) goto LA25; (*result0) = resizeString((*result0), 4); appendString((*result0), ((NimStringDesc*) &T_Q5wkpxktOdTGvlSRo9bzt9aw_27)); } goto LA23; LA25: ; { (*result0) = resizeString((*result0), 3); appendString((*result0), ((NimStringDesc*) &T_Q5wkpxktOdTGvlSRo9bzt9aw_28)); } LA23: ; } goto LA16; LA21: ; { add_XyS0BXa1E5ylXzhvUQlY9cg(result0, ((NCSTRING) (buf0))); } LA16: ; } N_NIMCALL(NimStringDesc*, nimFloatToStr)(NF f0) { NimStringDesc* result0; result0 = (NimStringDesc*)0; result0 = rawNewString(((NI) 8)); add_A9bDQDKw5SEqD3OvtOnC1bg((&result0), f0); return result0; } N_NIMCALL(void, genericSeqAssign)(void* dest0, void* src_qi9cfsBnd42r9a9cpCLO10jow, TNimType* mt0) { void* src0; src0 = src_qi9cfsBnd42r9a9cpCLO10jow; genericAssign(dest0, ((void*) ((&src0))), mt0); } N_NIMCALL(NI, hashString)(NimStringDesc* s0) { NI result0; NI h0; result0 = (NI)0; h0 = ((NI) 0); { NI i_ErSimDVrtkNofGrpjPc4OA; NI HEX3Atmp_EbCxF1U49b0iqcxS4KsIkDQ; NI res_3xguRevnXnAvfTYjghyTcg; i_ErSimDVrtkNofGrpjPc4OA = (NI)0; HEX3Atmp_EbCxF1U49b0iqcxS4KsIkDQ = (NI)0; HEX3Atmp_EbCxF1U49b0iqcxS4KsIkDQ = (NI)((s0 ? s0->Sup.len : 0) - ((NI) 1)); res_3xguRevnXnAvfTYjghyTcg = ((NI) 0); { while (1) { if (!(res_3xguRevnXnAvfTYjghyTcg <= HEX3Atmp_EbCxF1U49b0iqcxS4KsIkDQ)) goto LA3; i_ErSimDVrtkNofGrpjPc4OA = res_3xguRevnXnAvfTYjghyTcg; h0 = (NI)((NU32)(h0) + (NU32)(((NI) (((NU8)(s0->data[i_ErSimDVrtkNofGrpjPc4OA])))))); h0 = (NI)((NU32)(h0) + (NU32)((NI)((NU32)(h0) << (NU32)(((NI) 10))))); h0 = (NI)(h0 ^ (NI)((NU32)(h0) >> (NU32)(((NI) 6)))); res_3xguRevnXnAvfTYjghyTcg += ((NI) 1); } LA3: ; } } h0 = (NI)((NU32)(h0) + (NU32)((NI)((NU32)(h0) << (NU32)(((NI) 3))))); h0 = (NI)(h0 ^ (NI)((NU32)(h0) >> (NU32)(((NI) 11)))); h0 = (NI)((NU32)(h0) + (NU32)((NI)((NU32)(h0) << (NU32)(((NI) 15))))); result0 = h0; return result0; } N_NIMCALL(NI, cmp_xEnKsp9cfvO7Do9cTYXo8eJw)(NimStringDesc* x0, NimStringDesc* y0) { NI result0; int LOC1; result0 = (NI)0; LOC1 = (int)0; LOC1 = strcmp(x0->data, y0->data); result0 = ((NI) (LOC1)); return result0; } static N_INLINE(void, pushSafePoint)(TSafePoint* s0) { (*s0).hasRaiseAction = NIM_FALSE; (*s0).prev = exchandler_rqLlY5bs9atDw2OXYqJEn5g; exchandler_rqLlY5bs9atDw2OXYqJEn5g = s0; } N_NIMCALL(NI, rawfilesize_jO6UN73ASx5jqerEr5FqZg)(FILE* file0) { NI result0; long oldpos0; int LOC1; int LOC2; result0 = (NI)0; oldpos0 = ftell(file0); LOC1 = (int)0; LOC1 = fseek(file0, ((NI) 0), ((int) 2)); result0 = ftell(file0); LOC2 = (int)0; LOC2 = fseek(file0, oldpos0, ((int) 0)); return result0; } N_NIMCALL(NIM_BOOL, endoffile_OpxMRqWNQzmofyVQsNQqVA)(FILE* f0) { NIM_BOOL result0; int c0; int LOC1; { result0 = (NIM_BOOL)0; c0 = fgetc(f0); LOC1 = (int)0; LOC1 = ungetc(c0, f0); result0 = (c0 < ((NI32) 0)); goto BeforeRet; }BeforeRet: ; return result0; } N_NIMCALL(NimStringDesc*, readallbuffer_QygGtYi2d8AILktDeUIkvQ)(FILE* file0) { NimStringDesc* result0; NimStringDesc* buffer0; result0 = (NimStringDesc*)0; result0 = copyString(((NimStringDesc*) &T_Q5wkpxktOdTGvlSRo9bzt9aw_31)); buffer0 = mnewString(((NI) 4000)); { while (1) { NI bytesread0; bytesread0 = readbuffer_nZ0pNe9cd9cXtoayexCiaDtA_2(file0, ((void*) ((&buffer0->data[((NI) 0)]))), ((NI) 4000)); { if (!(bytesread0 == ((NI) 4000))) goto LA5; result0 = resizeString(result0, buffer0->Sup.len + 0); appendString(result0, buffer0); } goto LA3; LA5: ; { buffer0 = setLengthStr(buffer0, ((NI) (bytesread0))); result0 = resizeString(result0, buffer0->Sup.len + 0); appendString(result0, buffer0); goto LA1; } LA3: ; } } LA1: ; return result0; } N_NIMCALL(NimStringDesc*, readallfile_nEoG9c9aoJvOPVkq2dsFRb5Q)(FILE* file0, NI len0) { NimStringDesc* result0; NI bytes0; result0 = (NimStringDesc*)0; result0 = mnewString(((NI) (len0))); bytes0 = readbuffer_nZ0pNe9cd9cXtoayexCiaDtA_2(file0, ((void*) ((&result0->data[((NI) 0)]))), ((NI) (len0))); { NIM_BOOL LOC3; LOC3 = (NIM_BOOL)0; LOC3 = endoffile_OpxMRqWNQzmofyVQsNQqVA(file0); if (!LOC3) goto LA4; { if (!(bytes0 < len0)) goto LA8; result0 = setLengthStr(result0, ((NI) (bytes0))); } LA8: ; } goto LA1; LA4: ; { int LOC11; LOC11 = (int)0; LOC11 = ferror(file0); if (!!((LOC11 == ((NI32) 0)))) goto LA12; raiseeio_PpfSiTIeNpMAb9a5o6SglJw(((NimStringDesc*) &T_Q5wkpxktOdTGvlSRo9bzt9aw_30)); } goto LA1; LA12: ; { NimStringDesc* LOC15; LOC15 = (NimStringDesc*)0; LOC15 = readallbuffer_QygGtYi2d8AILktDeUIkvQ(file0); result0 = resizeString(result0, LOC15->Sup.len + 0); appendString(result0, LOC15); } LA1: ; return result0; } N_NIMCALL(NimStringDesc*, readall_y7iEIBoIrYlvsLCqA1SrwQ)(FILE* file0) { NimStringDesc* result0; NI len0; result0 = (NimStringDesc*)0; { if (!!((file0 == stdin))) goto LA3; len0 = rawfilesize_jO6UN73ASx5jqerEr5FqZg(file0); } goto LA1; LA3: ; { len0 = ((NI) -1); } LA1: ; { if (!(((NI) 0) < len0)) goto LA8; result0 = readallfile_nEoG9c9aoJvOPVkq2dsFRb5Q(file0, len0); } goto LA6; LA8: ; { result0 = readallbuffer_QygGtYi2d8AILktDeUIkvQ(file0); } LA6: ; return result0; } static N_INLINE(void, popSafePoint)(void) { exchandler_rqLlY5bs9atDw2OXYqJEn5g = (*exchandler_rqLlY5bs9atDw2OXYqJEn5g).prev; } N_NIMCALL(NimStringDesc*, readfile_T9cm5LIRX2tKEH9aREBZ8A0w)(NimStringDesc* filename0) { NimStringDesc* volatile result0; FILE* f0; result0 = (NimStringDesc*)0; f0 = (FILE*)0; { NIM_BOOL LOC3; TSafePoint T_Q5wkpxktOdTGvlSRo9bzt9aw_29; LOC3 = (NIM_BOOL)0; LOC3 = open_sEp0GH2306oGo9bqBpj5oTQ(&f0, filename0, ((Filemode_fVUBHvW79bXUw1j55Oo9avSQ) 0), ((NI) -1)); if (!LOC3) goto LA4; pushSafePoint(&T_Q5wkpxktOdTGvlSRo9bzt9aw_29); T_Q5wkpxktOdTGvlSRo9bzt9aw_29.status = setjmp(T_Q5wkpxktOdTGvlSRo9bzt9aw_29.context); if (T_Q5wkpxktOdTGvlSRo9bzt9aw_29.status == 0) { result0 = readall_y7iEIBoIrYlvsLCqA1SrwQ(f0); popSafePoint(); } else { popSafePoint(); } { close_BWnr8V7RERYno9bIdPmw8Hw_2(f0); } if (T_Q5wkpxktOdTGvlSRo9bzt9aw_29.status != 0) reraiseException(); } goto LA1; LA4: ; { sysfatal_p4l3kdztdOPD3nsQRAEDqwsystem(((NimStringDesc*) &T_Q5wkpxktOdTGvlSRo9bzt9aw_16), filename0); } LA1: ; return result0; } N_NIMCALL(NIM_BOOL, HEX3DHEX3D_Ql5vZ51gew5fqwplIYujaw)(TY_YtcvxHNKV4YiecPE9ap1mcA x0, TY_YtcvxHNKV4YiecPE9ap1mcA y0) { NIM_BOOL result0; { result0 = (NIM_BOOL)0; { NI f_5micfAVNu3X9boE9ac9bAqsdg; NI res_HZmM9cVoNcWoNzkdSbltuhg_4; f_5micfAVNu3X9boE9ac9bAqsdg = (NI)0; res_HZmM9cVoNcWoNzkdSbltuhg_4 = ((NI) 0); { while (1) { if (!(res_HZmM9cVoNcWoNzkdSbltuhg_4 <= ((NI) 19))) goto LA3; f_5micfAVNu3X9boE9ac9bAqsdg = ((NI) (res_HZmM9cVoNcWoNzkdSbltuhg_4)); { if (!!((x0[(f_5micfAVNu3X9boE9ac9bAqsdg)- 0] == y0[(f_5micfAVNu3X9boE9ac9bAqsdg)- 0]))) goto LA6; goto BeforeRet; } LA6: ; res_HZmM9cVoNcWoNzkdSbltuhg_4 += ((NI) 1); } LA3: ; } } result0 = NIM_TRUE; }BeforeRet: ; return result0; } N_NIMCALL(void, write_OG3BP9aaTiau0tBdonibGTg)(FILE* f0, NimStringDesc** a0, NI a0Len0) { { NimStringDesc* x_qoeuUwISGfj0JrqSwYXjow; NI i_aYFke0u9ag9ahXOShYk4vfwA; x_qoeuUwISGfj0JrqSwYXjow = (NimStringDesc*)0; i_aYFke0u9ag9ahXOShYk4vfwA = ((NI) 0); { while (1) { if (!(i_aYFke0u9ag9ahXOShYk4vfwA < a0Len0)) goto LA3; x_qoeuUwISGfj0JrqSwYXjow = a0[i_aYFke0u9ag9ahXOShYk4vfwA]; write_c4mGyJBvK73pdM22jiweKQ(f0, x_qoeuUwISGfj0JrqSwYXjow); i_aYFke0u9ag9ahXOShYk4vfwA += ((NI) 1); } LA3: ; } } } N_NIMCALL(void, Gcdisablemarkandsweep_njssp69aa7hvxte9bJ8uuDcg_4)(void) { gch_IcYaEuuWivYAS86vFMTS3Q.cyclethreshold = ((NI) 2147483646); } N_NIMCALL(NimStringDesc*, readline_fPRnXwDTqtynUYGl4OixAg)(FILE* f0) { NimStringDesc* result0; result0 = (NimStringDesc*)0; result0 = rawNewString(((NI) 80)); { NIM_BOOL LOC3; LOC3 = (NIM_BOOL)0; LOC3 = readline_sO1bQXVRA6RP9cdYJXNKeSw(f0, (&result0)); if (!!(LOC3)) goto LA4; raiseeio_PpfSiTIeNpMAb9a5o6SglJw(((NimStringDesc*) &T_Q5wkpxktOdTGvlSRo9bzt9aw_32)); } LA4: ; return result0; } N_NIMCALL(void, insert_noz5YDnGdGKiDcPEZenHJA)(NimStringDesc** x0, NimStringDesc* item0, NI i0) { NI xl0; NI j0; xl0 = ((*x0) ? (*x0)->Sup.len : 0); (*x0) = setLengthStr((*x0), ((NI) ((NI)(xl0 + (item0 ? item0->Sup.len : 0))))); j0 = (NI)(xl0 - ((NI) 1)); { while (1) { if (!(((NI) (i0)) <= j0)) goto LA2; (*x0)->data[(NI)(j0 + (item0 ? item0->Sup.len : 0))] = (*x0)->data[j0]; j0 -= ((NI) 1); } LA2: ; } j0 = ((NI) 0); { while (1) { if (!(j0 < (item0 ? item0->Sup.len : 0))) goto LA4; (*x0)->data[(NI)(j0 + ((NI) (i0)))] = item0->data[j0]; j0 += ((NI) 1); } LA4: ; } } N_NIMCALL(NIM_BOOL, HEX3DHEX3D_acdBa63tG7KT1YiswWh3aw)(TY_1v9bKyksXWMsm0vNwmZ4EuQ x0, TY_1v9bKyksXWMsm0vNwmZ4EuQ y0) { NIM_BOOL result0; { result0 = (NIM_BOOL)0; { if (!!((x0.Field0 == y0.Field0))) goto LA3; result0 = NIM_FALSE; goto BeforeRet; } LA3: ; { if (!!((x0.Field1 == y0.Field1))) goto LA7; result0 = NIM_FALSE; goto BeforeRet; } LA7: ; result0 = NIM_TRUE; goto BeforeRet; }BeforeRet: ; return result0; } N_NIMCALL(void, setfilepos_YAngY19cHH2nZ9bqhMgAHz8Q)(FILE* f0, NI64 pos0, Fileseekpos_I9aQjuvWxs8BspGbxwsngWw relativeto0) { { int LOC3; LOC3 = (int)0; LOC3 = fseek(f0, ((long) (pos0)), ((int) (relativeto0))); if (!!((LOC3 == ((NI32) 0)))) goto LA4; raiseeio_PpfSiTIeNpMAb9a5o6SglJw(((NimStringDesc*) &T_Q5wkpxktOdTGvlSRo9bzt9aw_33)); } LA4: ; } N_NIMCALL(NI64, getfilepos_XePgC9ccBXCgb9bEHXZpnMqA)(FILE* f0) { NI64 result0; long LOC1; result0 = (NI64)0; LOC1 = (long)0; LOC1 = ftell(f0); result0 = ((NI64) (LOC1)); { if (!(result0 < IL64(0))) goto LA4; raiseeio_PpfSiTIeNpMAb9a5o6SglJw(((NimStringDesc*) &T_Q5wkpxktOdTGvlSRo9bzt9aw_34)); } LA4: ; return result0; } N_NIMCALL(void, writefile_c1B29b0ZdDRPHc27YaKqwaA)(NimStringDesc* filename0, NimStringDesc* content0) { FILE* f0; f0 = (FILE*)0; { NIM_BOOL LOC3; TSafePoint T_Q5wkpxktOdTGvlSRo9bzt9aw_35; LOC3 = (NIM_BOOL)0; LOC3 = open_sEp0GH2306oGo9bqBpj5oTQ(&f0, filename0, ((Filemode_fVUBHvW79bXUw1j55Oo9avSQ) 1), ((NI) -1)); if (!LOC3) goto LA4; pushSafePoint(&T_Q5wkpxktOdTGvlSRo9bzt9aw_35); T_Q5wkpxktOdTGvlSRo9bzt9aw_35.status = setjmp(T_Q5wkpxktOdTGvlSRo9bzt9aw_35.context); if (T_Q5wkpxktOdTGvlSRo9bzt9aw_35.status == 0) { write_c4mGyJBvK73pdM22jiweKQ(f0, content0); popSafePoint(); } else { popSafePoint(); } { close_BWnr8V7RERYno9bIdPmw8Hw_2(f0); } if (T_Q5wkpxktOdTGvlSRo9bzt9aw_35.status != 0) reraiseException(); } goto LA1; LA4: ; { sysfatal_p4l3kdztdOPD3nsQRAEDqwsystem(((NimStringDesc*) &T_Q5wkpxktOdTGvlSRo9bzt9aw_16), filename0); } LA1: ; } N_NIMCALL(NCSTRING*, alloccstringarray_TG6GWpa9cdnVJVGZxJaqBJg)(NimStringDesc** a0, NI a0Len0) { NCSTRING* result0; void* LOC1; NimStringDesc** x0; result0 = (NCSTRING*)0; LOC1 = (void*)0; LOC1 = alloc0_4cubgSerkjpuLcj5MXjiLw(((NI) ((NI)((NI)(a0Len0 + ((NI) 1)) * ((NI) 4))))); result0 = ((NCSTRING*) (LOC1)); x0 = ((NimStringDesc**) (a0)); { NI i_yDSXGfsZxOSIwLgroAPZMw; NI HEX3Atmp_2Qmkt3ndjswDx26X1mfaTQ; NI res_UznAuThIY3jwsImA4A9csNg; i_yDSXGfsZxOSIwLgroAPZMw = (NI)0; HEX3Atmp_2Qmkt3ndjswDx26X1mfaTQ = (NI)0; HEX3Atmp_2Qmkt3ndjswDx26X1mfaTQ = (a0Len0-1); res_UznAuThIY3jwsImA4A9csNg = ((NI) 0); { while (1) { void* LOC5; if (!(res_UznAuThIY3jwsImA4A9csNg <= HEX3Atmp_2Qmkt3ndjswDx26X1mfaTQ)) goto LA4; i_yDSXGfsZxOSIwLgroAPZMw = res_UznAuThIY3jwsImA4A9csNg; LOC5 = (void*)0; LOC5 = alloc0_4cubgSerkjpuLcj5MXjiLw(((NI) ((NI)((x0[(i_yDSXGfsZxOSIwLgroAPZMw)- 0] ? x0[(i_yDSXGfsZxOSIwLgroAPZMw)- 0]->Sup.len : 0) + ((NI) 1))))); result0[(i_yDSXGfsZxOSIwLgroAPZMw)- 0] = ((NCSTRING) (LOC5)); copymem_fPlwH3r9agN9aEHB6yCPMh0wsystem(((void*) (result0[(i_yDSXGfsZxOSIwLgroAPZMw)- 0])), ((void*) ((&x0[(i_yDSXGfsZxOSIwLgroAPZMw)- 0]->data[((NI) 0)]))), ((NI) ((x0[(i_yDSXGfsZxOSIwLgroAPZMw)- 0] ? x0[(i_yDSXGfsZxOSIwLgroAPZMw)- 0]->Sup.len : 0)))); res_UznAuThIY3jwsImA4A9csNg += ((NI) 1); } LA4: ; } } return result0; } N_NIMCALL(void, dealloccstringarray_PrKbmufafP6J0HO6K4x3tQ)(NCSTRING* a0) { NI i0; i0 = ((NI) 0); { while (1) { if (!!((((void*) (a0[(i0)- 0])) == NIM_NIL))) goto LA2; dealloc_RCjNtRnHdRYntrcE7YtwWw(((void*) (a0[(i0)- 0]))); i0 += ((NI) 1); } LA2: ; } dealloc_RCjNtRnHdRYntrcE7YtwWw(((void*) (a0))); } N_NIMCALL(NIM_BOOL, open_GRr4dBTChSldEteMxZDsuw)(FILE** f0, int filehandle0, Filemode_fVUBHvW79bXUw1j55Oo9avSQ mode0) { NIM_BOOL result0; result0 = (NIM_BOOL)0; (*f0) = fdopen(filehandle0, Formatopen_129cS4U5eK4wWqE9bNeKN1Aw[(mode0)- 0]->data); result0 = !(((*f0) == NIM_NIL)); return result0; } N_NIMCALL(void, genericShallowAssign)(void* dest0, void* src0, TNimType* mt0) { genericassignaux_T3cq9aUp9bgGOBuyUSWGriTA(dest0, src0, mt0, NIM_TRUE); } N_NIMCALL(NimStringDesc*, HEX24_rzAI8EMyNBAQwGODeohhAA)(NU64 x0) { NimStringDesc* result0; result0 = (NimStringDesc*)0; { if (!(x0 == ((NI) 0))) goto LA3; result0 = copyString(((NimStringDesc*) &T_Q5wkpxktOdTGvlSRo9bzt9aw_36)); } goto LA1; LA3: ; { TY_JpYObICIkqkM7eHG4jy19aw buf0; NI i0; NU64 n0; NI half0; memset((void*)buf0, 0, sizeof(buf0)); i0 = ((NI) 0); n0 = x0; { while (1) { NU64 nn0; if (!!((n0 == ((NI) 0)))) goto LA7; nn0 = (NU64)((NU64)(n0) / (NU64)(10ULL)); buf0[(i0)- 0] = ((NIM_CHAR) ((NU64)((NU64)((NU64)((NU64)(n0) - (NU64)((NU64)((NU64)(10ULL) * (NU64)(nn0))))) + (NU64)(((NI) 48))))); i0 += ((NI) 1); n0 = nn0; } LA7: ; } half0 = (NI)(i0 / ((NI) 2)); { NI t_tZsjx2v9cdsyTCWq4uUg49cw; NI HEX3Atmp_GRk3vxJC7Q7s45r4T9b06kQ; NI res_zwSgPMvl2Bm74uv8ASzDQg; t_tZsjx2v9cdsyTCWq4uUg49cw = (NI)0; HEX3Atmp_GRk3vxJC7Q7s45r4T9b06kQ = (NI)0; HEX3Atmp_GRk3vxJC7Q7s45r4T9b06kQ = (half0 - 1); res_zwSgPMvl2Bm74uv8ASzDQg = ((NI) 0); { while (1) { NIM_CHAR LOC11; if (!(res_zwSgPMvl2Bm74uv8ASzDQg <= HEX3Atmp_GRk3vxJC7Q7s45r4T9b06kQ)) goto LA10; t_tZsjx2v9cdsyTCWq4uUg49cw = res_zwSgPMvl2Bm74uv8ASzDQg; LOC11 = (NIM_CHAR)0; LOC11 = buf0[(t_tZsjx2v9cdsyTCWq4uUg49cw)- 0]; buf0[(t_tZsjx2v9cdsyTCWq4uUg49cw)- 0] = buf0[((NI)((NI)(i0 - t_tZsjx2v9cdsyTCWq4uUg49cw) - ((NI) 1)))- 0]; buf0[((NI)((NI)(i0 - t_tZsjx2v9cdsyTCWq4uUg49cw) - ((NI) 1)))- 0] = LOC11; res_zwSgPMvl2Bm74uv8ASzDQg += ((NI) 1); } LA10: ; } } result0 = cstrToNimstr(((NCSTRING) (buf0))); } LA1: ; return result0; } N_NIMCALL(NI, clamp_RrNgT2340KObgDMnZWSK5A)(NI x0, NI a0, NI b0) { NI result0; { result0 = (NI)0; { if (!(x0 < a0)) goto LA3; result0 = a0; goto BeforeRet; } LA3: ; { if (!(b0 < x0)) goto LA7; result0 = b0; goto BeforeRet; } LA7: ; result0 = x0; goto BeforeRet; }BeforeRet: ; return result0; } N_NIMCALL(NimStringDesc*, nimBoolToStr)(NIM_BOOL x0) { NimStringDesc* result0; { result0 = (NimStringDesc*)0; { if (!x0) goto LA3; result0 = copyString(((NimStringDesc*) &T_Q5wkpxktOdTGvlSRo9bzt9aw_37)); } goto LA1; LA3: ; { result0 = copyString(((NimStringDesc*) &T_Q5wkpxktOdTGvlSRo9bzt9aw_38)); } LA1: ; goto BeforeRet; }BeforeRet: ; return result0; } N_NIMCALL(Tinstantiation_5LqgVn6Tq9ainQRK7TQAQxA*, new_WXvut0jf9avLrZqje29bbhTQ)(void) { Tinstantiation_5LqgVn6Tq9ainQRK7TQAQxA* result0; Tinstantiation_5LqgVn6Tq9ainQRK7TQAQxA* r0; { result0 = (Tinstantiation_5LqgVn6Tq9ainQRK7TQAQxA*)0; r0 = (Tinstantiation_5LqgVn6Tq9ainQRK7TQAQxA*)0; r0 = (Tinstantiation_5LqgVn6Tq9ainQRK7TQAQxA*) newObj((&NTI_Y32tFilzS9adEEksgrCsOzQ), sizeof(Tinstantiation_5LqgVn6Tq9ainQRK7TQAQxA)); result0 = r0; goto BeforeRet; }BeforeRet: ; return result0; } static N_INLINE(void*, seqtoptr_UBfBryAYqlhRuB3xDBSdewsystem)(TY_ehmV9bTklH2Gt9cXHV9c0HLeQ* x0) { void* result0; result0 = (void*)0; result0 = ((void*) (x0)); return result0; } N_NIMCALL(NIM_BOOL, HEX3DHEX3D_Lrpi2N0XDlmkUBCjTBEG7Q)(TY_ehmV9bTklH2Gt9cXHV9c0HLeQ* x0, TY_ehmV9bTklH2Gt9cXHV9c0HLeQ* y0) { NIM_BOOL result0; { result0 = (NIM_BOOL)0; { void* LOC3; void* LOC4; LOC3 = (void*)0; LOC3 = seqtoptr_UBfBryAYqlhRuB3xDBSdewsystem(x0); LOC4 = (void*)0; LOC4 = seqtoptr_UBfBryAYqlhRuB3xDBSdewsystem(y0); if (!(LOC3 == LOC4)) goto LA5; result0 = NIM_TRUE; goto BeforeRet; } LA5: ; { NIM_BOOL LOC9; LOC9 = (NIM_BOOL)0; LOC9 = (x0 == 0); if (LOC9) goto LA10; LOC9 = (y0 == 0); LA10: ; if (!LOC9) goto LA11; result0 = NIM_FALSE; goto BeforeRet; } LA11: ; { if (!!(((x0 ? x0->Sup.len : 0) == (y0 ? y0->Sup.len : 0)))) goto LA15; result0 = NIM_FALSE; goto BeforeRet; } LA15: ; { NI i_B9aICU6ekXhYxvhMJcq2y9aA_4; NI HEX3Atmp_k9afZZWaIoKaA9aXOe6nGR4w_4; NI res_HZmM9cVoNcWoNzkdSbltuhg_5; i_B9aICU6ekXhYxvhMJcq2y9aA_4 = (NI)0; HEX3Atmp_k9afZZWaIoKaA9aXOe6nGR4w_4 = (NI)0; HEX3Atmp_k9afZZWaIoKaA9aXOe6nGR4w_4 = (NI)((x0 ? x0->Sup.len : 0) - ((NI) 1)); res_HZmM9cVoNcWoNzkdSbltuhg_5 = ((NI) 0); { while (1) { if (!(res_HZmM9cVoNcWoNzkdSbltuhg_5 <= HEX3Atmp_k9afZZWaIoKaA9aXOe6nGR4w_4)) goto LA19; i_B9aICU6ekXhYxvhMJcq2y9aA_4 = res_HZmM9cVoNcWoNzkdSbltuhg_5; { if (!!((x0->data[i_B9aICU6ekXhYxvhMJcq2y9aA_4] == y0->data[i_B9aICU6ekXhYxvhMJcq2y9aA_4]))) goto LA22; result0 = NIM_FALSE; goto BeforeRet; } LA22: ; res_HZmM9cVoNcWoNzkdSbltuhg_5 += ((NI) 1); } LA19: ; } } result0 = NIM_TRUE; goto BeforeRet; }BeforeRet: ; return result0; } N_NIMCALL(TY_ehmV9bTklH2Gt9cXHV9c0HLeQ*, HEX5BHEX5D_Gp1eO9bAFjBxVwyUqF7LQ9cg)(TY_ehmV9bTklH2Gt9cXHV9c0HLeQ* s0, Slice_qL3WGViqT0p5sVr4YFHsLg x0) { TY_ehmV9bTklH2Gt9cXHV9c0HLeQ* result0; NI a0; NI L0; result0 = (TY_ehmV9bTklH2Gt9cXHV9c0HLeQ*)0; a0 = x0.a; L0 = (NI)((NI)(x0.b - a0) + ((NI) 1)); result0 = (TY_ehmV9bTklH2Gt9cXHV9c0HLeQ*) newSeq((&NTI_ehmV9bTklH2Gt9cXHV9c0HLeQ), ((NI) (L0))); { NI i_r0nP3JeRiG4qZUm3rddH0A; NI HEX3Atmp_NiCiRqC9beDv631RV3tOtvA; NI res_cjYC55b83oUtxwUxTD4RYQ; i_r0nP3JeRiG4qZUm3rddH0A = (NI)0; HEX3Atmp_NiCiRqC9beDv631RV3tOtvA = (NI)0; HEX3Atmp_NiCiRqC9beDv631RV3tOtvA = (L0 - 1); res_cjYC55b83oUtxwUxTD4RYQ = ((NI) 0); { while (1) { if (!(res_cjYC55b83oUtxwUxTD4RYQ <= HEX3Atmp_NiCiRqC9beDv631RV3tOtvA)) goto LA3; i_r0nP3JeRiG4qZUm3rddH0A = res_cjYC55b83oUtxwUxTD4RYQ; asgnRefNoCycle((void**) (&result0->data[i_r0nP3JeRiG4qZUm3rddH0A]), s0->data[(NI)(i_r0nP3JeRiG4qZUm3rddH0A + a0)]); res_cjYC55b83oUtxwUxTD4RYQ += ((NI) 1); } LA3: ; } } return result0; } N_NIMCALL(void, HEX5BHEX5DHEX3D_ZpqxXkl8BcDfI2hEjJx9baQ)(TY_ehmV9bTklH2Gt9cXHV9c0HLeQ** s0, Slice_qL3WGViqT0p5sVr4YFHsLg x0, Tnode_bROa11lyF5vxEN9aYNbHmhw** b0, NI b0Len0) { NI a0; NI L0; a0 = x0.a; L0 = (NI)((NI)(x0.b - a0) + ((NI) 1)); { if (!(L0 == b0Len0)) goto LA3; { NI i_5OmXFV16c2mMk9bUO5sEygw; NI HEX3Atmp_R6DUbQSKV3nj8fvr2P79aNg; NI res_xshNP9b5l6I9bmKuCLg9cK22A; i_5OmXFV16c2mMk9bUO5sEygw = (NI)0; HEX3Atmp_R6DUbQSKV3nj8fvr2P79aNg = (NI)0; HEX3Atmp_R6DUbQSKV3nj8fvr2P79aNg = (L0 - 1); res_xshNP9b5l6I9bmKuCLg9cK22A = ((NI) 0); { while (1) { if (!(res_xshNP9b5l6I9bmKuCLg9cK22A <= HEX3Atmp_R6DUbQSKV3nj8fvr2P79aNg)) goto LA7; i_5OmXFV16c2mMk9bUO5sEygw = res_xshNP9b5l6I9bmKuCLg9cK22A; asgnRefNoCycle((void**) (&(*s0)->data[(NI)(i_5OmXFV16c2mMk9bUO5sEygw + a0)]), b0[i_5OmXFV16c2mMk9bUO5sEygw]); res_xshNP9b5l6I9bmKuCLg9cK22A += ((NI) 1); } LA7: ; } } } goto LA1; LA3: ; { NI slen_WQtxFAa8dVz5k5aZr9biaZQ; NI shift_wGMwnw9alD6nSTFdI6sNrGQ; NI newlen_sKB9cIzqhO09beGhDIt29bUKg; slen_WQtxFAa8dVz5k5aZr9biaZQ = ((*s0) ? (*s0)->Sup.len : 0); shift_wGMwnw9alD6nSTFdI6sNrGQ = (NI)(b0Len0 - L0); newlen_sKB9cIzqhO09beGhDIt29bUKg = (NI)(slen_WQtxFAa8dVz5k5aZr9biaZQ + shift_wGMwnw9alD6nSTFdI6sNrGQ); { if (!(((NI) 0) < shift_wGMwnw9alD6nSTFdI6sNrGQ)) goto LA11; (*s0) = (TY_ehmV9bTklH2Gt9cXHV9c0HLeQ*) setLengthSeq(&((*s0))->Sup, sizeof(Tnode_bROa11lyF5vxEN9aYNbHmhw*), ((NI) (newlen_sKB9cIzqhO09beGhDIt29bUKg))); { NI i_5OmXFV16c2mMk9bUO5sEygw_2; NI HEX3Atmp_R6DUbQSKV3nj8fvr2P79aNg_2; NI HEX3Atmp_R6DUbQSKV3nj8fvr2P79aNg_3; NI res_xshNP9b5l6I9bmKuCLg9cK22A_2; i_5OmXFV16c2mMk9bUO5sEygw_2 = (NI)0; HEX3Atmp_R6DUbQSKV3nj8fvr2P79aNg_2 = (NI)0; HEX3Atmp_R6DUbQSKV3nj8fvr2P79aNg_3 = (NI)0; HEX3Atmp_R6DUbQSKV3nj8fvr2P79aNg_2 = (NI)(newlen_sKB9cIzqhO09beGhDIt29bUKg - ((NI) 1)); HEX3Atmp_R6DUbQSKV3nj8fvr2P79aNg_3 = (NI)((NI)(a0 + shift_wGMwnw9alD6nSTFdI6sNrGQ) + ((NI) 1)); res_xshNP9b5l6I9bmKuCLg9cK22A_2 = HEX3Atmp_R6DUbQSKV3nj8fvr2P79aNg_2; { while (1) { if (!(HEX3Atmp_R6DUbQSKV3nj8fvr2P79aNg_3 <= res_xshNP9b5l6I9bmKuCLg9cK22A_2)) goto LA15; i_5OmXFV16c2mMk9bUO5sEygw_2 = res_xshNP9b5l6I9bmKuCLg9cK22A_2; asgnRefNoCycle((void**) (&(*s0)->data[i_5OmXFV16c2mMk9bUO5sEygw_2]), (*s0)->data[(NI)(i_5OmXFV16c2mMk9bUO5sEygw_2 - shift_wGMwnw9alD6nSTFdI6sNrGQ)]); res_xshNP9b5l6I9bmKuCLg9cK22A_2 -= ((NI) 1); } LA15: ; } } } goto LA9; LA11: ; { { NI i_5OmXFV16c2mMk9bUO5sEygw_3; NI HEX3Atmp_R6DUbQSKV3nj8fvr2P79aNg_4; NI HEX3Atmp_R6DUbQSKV3nj8fvr2P79aNg_5; NI res_xshNP9b5l6I9bmKuCLg9cK22A_3; i_5OmXFV16c2mMk9bUO5sEygw_3 = (NI)0; HEX3Atmp_R6DUbQSKV3nj8fvr2P79aNg_4 = (NI)0; HEX3Atmp_R6DUbQSKV3nj8fvr2P79aNg_5 = (NI)0; HEX3Atmp_R6DUbQSKV3nj8fvr2P79aNg_4 = (NI)(a0 + b0Len0); HEX3Atmp_R6DUbQSKV3nj8fvr2P79aNg_5 = (NI)((NI)(((*s0) ? (*s0)->Sup.len : 0) - ((NI) 1)) + shift_wGMwnw9alD6nSTFdI6sNrGQ); res_xshNP9b5l6I9bmKuCLg9cK22A_3 = HEX3Atmp_R6DUbQSKV3nj8fvr2P79aNg_4; { while (1) { if (!(res_xshNP9b5l6I9bmKuCLg9cK22A_3 <= HEX3Atmp_R6DUbQSKV3nj8fvr2P79aNg_5)) goto LA19; i_5OmXFV16c2mMk9bUO5sEygw_3 = res_xshNP9b5l6I9bmKuCLg9cK22A_3; asgnRefNoCycle((void**) (&(*s0)->data[i_5OmXFV16c2mMk9bUO5sEygw_3]), (*s0)->data[(NI)(i_5OmXFV16c2mMk9bUO5sEygw_3 - shift_wGMwnw9alD6nSTFdI6sNrGQ)]); res_xshNP9b5l6I9bmKuCLg9cK22A_3 += ((NI) 1); } LA19: ; } } (*s0) = (TY_ehmV9bTklH2Gt9cXHV9c0HLeQ*) setLengthSeq(&((*s0))->Sup, sizeof(Tnode_bROa11lyF5vxEN9aYNbHmhw*), ((NI) (newlen_sKB9cIzqhO09beGhDIt29bUKg))); } LA9: ; { NI i_5OmXFV16c2mMk9bUO5sEygw_4; NI HEX3Atmp_R6DUbQSKV3nj8fvr2P79aNg_6; NI res_xshNP9b5l6I9bmKuCLg9cK22A_4; i_5OmXFV16c2mMk9bUO5sEygw_4 = (NI)0; HEX3Atmp_R6DUbQSKV3nj8fvr2P79aNg_6 = (NI)0; HEX3Atmp_R6DUbQSKV3nj8fvr2P79aNg_6 = (b0Len0 - 1); res_xshNP9b5l6I9bmKuCLg9cK22A_4 = ((NI) 0); { while (1) { if (!(res_xshNP9b5l6I9bmKuCLg9cK22A_4 <= HEX3Atmp_R6DUbQSKV3nj8fvr2P79aNg_6)) goto LA22; i_5OmXFV16c2mMk9bUO5sEygw_4 = res_xshNP9b5l6I9bmKuCLg9cK22A_4; asgnRefNoCycle((void**) (&(*s0)->data[(NI)(i_5OmXFV16c2mMk9bUO5sEygw_4 + a0)]), b0[i_5OmXFV16c2mMk9bUO5sEygw_4]); res_xshNP9b5l6I9bmKuCLg9cK22A_4 += ((NI) 1); } LA22: ; } } } LA1: ; } static N_INLINE(void*, seqtoptr_5LSLp9bLEbGkcuZoyatgBhQsystem)(TY_xITzrU1RhJLKwBlRCAbn9bA* x0) { void* result0; result0 = (void*)0; result0 = ((void*) (x0)); return result0; } N_NIMCALL(NIM_BOOL, HEX3DHEX3D_WL2jrWYjqeu1iJ3niRta5w)(TY_uZlRb8w5pa9b16Yfjq9cGRXQ x0, TY_uZlRb8w5pa9b16Yfjq9cGRXQ y0) { NIM_BOOL result0; { result0 = (NIM_BOOL)0; { if (!!((x0.Field0 == y0.Field0))) goto LA3; result0 = NIM_FALSE; goto BeforeRet; } LA3: ; { if (!!((x0.Field1 == y0.Field1))) goto LA7; result0 = NIM_FALSE; goto BeforeRet; } LA7: ; result0 = NIM_TRUE; goto BeforeRet; }BeforeRet: ; return result0; } N_NIMCALL(NIM_BOOL, HEX3DHEX3D_3iaa3QVHZI9bDjRnXEL1LQQ)(TY_xITzrU1RhJLKwBlRCAbn9bA* x0, TY_xITzrU1RhJLKwBlRCAbn9bA* y0) { NIM_BOOL result0; { result0 = (NIM_BOOL)0; { void* LOC3; void* LOC4; LOC3 = (void*)0; LOC3 = seqtoptr_5LSLp9bLEbGkcuZoyatgBhQsystem(x0); LOC4 = (void*)0; LOC4 = seqtoptr_5LSLp9bLEbGkcuZoyatgBhQsystem(y0); if (!(LOC3 == LOC4)) goto LA5; result0 = NIM_TRUE; goto BeforeRet; } LA5: ; { NIM_BOOL LOC9; LOC9 = (NIM_BOOL)0; LOC9 = (x0 == 0); if (LOC9) goto LA10; LOC9 = (y0 == 0); LA10: ; if (!LOC9) goto LA11; result0 = NIM_FALSE; goto BeforeRet; } LA11: ; { if (!!(((x0 ? x0->Sup.len : 0) == (y0 ? y0->Sup.len : 0)))) goto LA15; result0 = NIM_FALSE; goto BeforeRet; } LA15: ; { NI i_B9aICU6ekXhYxvhMJcq2y9aA_5; NI HEX3Atmp_k9afZZWaIoKaA9aXOe6nGR4w_5; NI res_HZmM9cVoNcWoNzkdSbltuhg_6; i_B9aICU6ekXhYxvhMJcq2y9aA_5 = (NI)0; HEX3Atmp_k9afZZWaIoKaA9aXOe6nGR4w_5 = (NI)0; HEX3Atmp_k9afZZWaIoKaA9aXOe6nGR4w_5 = (NI)((x0 ? x0->Sup.len : 0) - ((NI) 1)); res_HZmM9cVoNcWoNzkdSbltuhg_6 = ((NI) 0); { while (1) { if (!(res_HZmM9cVoNcWoNzkdSbltuhg_6 <= HEX3Atmp_k9afZZWaIoKaA9aXOe6nGR4w_5)) goto LA19; i_B9aICU6ekXhYxvhMJcq2y9aA_5 = res_HZmM9cVoNcWoNzkdSbltuhg_6; { NIM_BOOL LOC22; LOC22 = (NIM_BOOL)0; LOC22 = HEX3DHEX3D_WL2jrWYjqeu1iJ3niRta5w(x0->data[i_B9aICU6ekXhYxvhMJcq2y9aA_5], y0->data[i_B9aICU6ekXhYxvhMJcq2y9aA_5]); if (!!(LOC22)) goto LA23; result0 = NIM_FALSE; goto BeforeRet; } LA23: ; res_HZmM9cVoNcWoNzkdSbltuhg_6 += ((NI) 1); } LA19: ; } } result0 = NIM_TRUE; goto BeforeRet; }BeforeRet: ; return result0; } static N_INLINE(void*, seqtoptr_P9cvIFF9bpRb4kxDjjhjfgYgsystem)(TY_xITzrU1RhJLKwBlRCAbn9bA* x0) { void* result0; result0 = (void*)0; result0 = ((void*) (x0)); return result0; } N_NIMCALL(NIM_BOOL, HEX3DHEX3D_PtDo4JMF3tDx4sqhk0oigw)(TY_uZlRb8w5pa9b16Yfjq9cGRXQ x0, TY_uZlRb8w5pa9b16Yfjq9cGRXQ y0) { NIM_BOOL result0; { result0 = (NIM_BOOL)0; { if (!!((x0.Field0 == y0.Field0))) goto LA3; result0 = NIM_FALSE; goto BeforeRet; } LA3: ; { if (!!((x0.Field1 == y0.Field1))) goto LA7; result0 = NIM_FALSE; goto BeforeRet; } LA7: ; result0 = NIM_TRUE; goto BeforeRet; }BeforeRet: ; return result0; } N_NIMCALL(NIM_BOOL, HEX3DHEX3D_A8XZmS2kUPRhG84nvOg1Nw)(TY_xITzrU1RhJLKwBlRCAbn9bA* x0, TY_xITzrU1RhJLKwBlRCAbn9bA* y0) { NIM_BOOL result0; { result0 = (NIM_BOOL)0; { void* LOC3; void* LOC4; LOC3 = (void*)0; LOC3 = seqtoptr_P9cvIFF9bpRb4kxDjjhjfgYgsystem(x0); LOC4 = (void*)0; LOC4 = seqtoptr_P9cvIFF9bpRb4kxDjjhjfgYgsystem(y0); if (!(LOC3 == LOC4)) goto LA5; result0 = NIM_TRUE; goto BeforeRet; } LA5: ; { NIM_BOOL LOC9; LOC9 = (NIM_BOOL)0; LOC9 = (x0 == 0); if (LOC9) goto LA10; LOC9 = (y0 == 0); LA10: ; if (!LOC9) goto LA11; result0 = NIM_FALSE; goto BeforeRet; } LA11: ; { if (!!(((x0 ? x0->Sup.len : 0) == (y0 ? y0->Sup.len : 0)))) goto LA15; result0 = NIM_FALSE; goto BeforeRet; } LA15: ; { NI i_B9aICU6ekXhYxvhMJcq2y9aA_6; NI HEX3Atmp_k9afZZWaIoKaA9aXOe6nGR4w_6; NI res_HZmM9cVoNcWoNzkdSbltuhg_7; i_B9aICU6ekXhYxvhMJcq2y9aA_6 = (NI)0; HEX3Atmp_k9afZZWaIoKaA9aXOe6nGR4w_6 = (NI)0; HEX3Atmp_k9afZZWaIoKaA9aXOe6nGR4w_6 = (NI)((x0 ? x0->Sup.len : 0) - ((NI) 1)); res_HZmM9cVoNcWoNzkdSbltuhg_7 = ((NI) 0); { while (1) { if (!(res_HZmM9cVoNcWoNzkdSbltuhg_7 <= HEX3Atmp_k9afZZWaIoKaA9aXOe6nGR4w_6)) goto LA19; i_B9aICU6ekXhYxvhMJcq2y9aA_6 = res_HZmM9cVoNcWoNzkdSbltuhg_7; { NIM_BOOL LOC22; LOC22 = (NIM_BOOL)0; LOC22 = HEX3DHEX3D_PtDo4JMF3tDx4sqhk0oigw(x0->data[i_B9aICU6ekXhYxvhMJcq2y9aA_6], y0->data[i_B9aICU6ekXhYxvhMJcq2y9aA_6]); if (!!(LOC22)) goto LA23; result0 = NIM_FALSE; goto BeforeRet; } LA23: ; res_HZmM9cVoNcWoNzkdSbltuhg_7 += ((NI) 1); } LA19: ; } } result0 = NIM_TRUE; goto BeforeRet; }BeforeRet: ; return result0; } N_NIMCALL(void, safeadd_tcVXv8mF8bwxGJHbyFs27g)(TY_xITzrU1RhJLKwBlRCAbn9bA** x0, TY_uZlRb8w5pa9b16Yfjq9cGRXQ y0) { { NIM_BOOL LOC3; TY_Kqu0Nh2uqdLKL0BvOlH1Ag LOC6; LOC3 = (NIM_BOOL)0; LOC3 = HEX3DHEX3D_A8XZmS2kUPRhG84nvOg1Nw((*x0), NIM_NIL); if (!LOC3) goto LA4; unsureAsgnRef((void**) (&(*x0)), (TY_xITzrU1RhJLKwBlRCAbn9bA*) newSeq((&NTI_xITzrU1RhJLKwBlRCAbn9bA), 1)); memset((void*)LOC6, 0, sizeof(LOC6)); LOC6[0].Field0 = y0.Field0; LOC6[0].Field1 = y0.Field1; asgnRefNoCycle((void**) (&(*x0)->data[0].Field0), LOC6[0].Field0); (*x0)->data[0].Field1 = LOC6[0].Field1; } goto LA1; LA4: ; { (*x0) = (TY_xITzrU1RhJLKwBlRCAbn9bA*) incrSeqV2(&((*x0))->Sup, sizeof(TY_uZlRb8w5pa9b16Yfjq9cGRXQ)); asgnRefNoCycle((void**) (&(*x0)->data[(*x0)->Sup.len].Field0), y0.Field0); (*x0)->data[(*x0)->Sup.len].Field1 = y0.Field1; ++(*x0)->Sup.len; } LA1: ; } N_NIMCALL(void, insert_sdPxAA6tJBXORWiLIJmHnQ)(TY_ehmV9bTklH2Gt9cXHV9c0HLeQ** x0, Tnode_bROa11lyF5vxEN9aYNbHmhw* item0, NI i0) { NI xl_AZAEewYI9b9cButBslzynnUg; NI j_mVHPsxlh9aNioIg9amGdmYcQ; xl_AZAEewYI9b9cButBslzynnUg = ((*x0) ? (*x0)->Sup.len : 0); (*x0) = (TY_ehmV9bTklH2Gt9cXHV9c0HLeQ*) setLengthSeq(&((*x0))->Sup, sizeof(Tnode_bROa11lyF5vxEN9aYNbHmhw*), ((NI) ((NI)(xl_AZAEewYI9b9cButBslzynnUg + ((NI) 1))))); j_mVHPsxlh9aNioIg9amGdmYcQ = (NI)(xl_AZAEewYI9b9cButBslzynnUg - ((NI) 1)); { while (1) { if (!(((NI) (i0)) <= j_mVHPsxlh9aNioIg9amGdmYcQ)) goto LA2; asgnRefNoCycle((void**) (&(*x0)->data[(NI)(j_mVHPsxlh9aNioIg9amGdmYcQ + ((NI) 1))]), (*x0)->data[j_mVHPsxlh9aNioIg9amGdmYcQ]); j_mVHPsxlh9aNioIg9amGdmYcQ -= ((NI) 1); } LA2: ; } asgnRefNoCycle((void**) (&(*x0)->data[i0]), item0); } N_NIMCALL(void, delete_CLZdKKlcUPYhcUpOnWP7ag)(TY_ehmV9bTklH2Gt9cXHV9c0HLeQ** x0, NI i0) { NI xl_UHRmtEc1qLRONQ1ro52DAA; xl_UHRmtEc1qLRONQ1ro52DAA = ((*x0) ? (*x0)->Sup.len : 0); { NI j_dU5rntLHaj38nvgWp7FOrw; NI HEX3Atmp_3M9cWLUCrj9a1jgpJKF7rw9cA; NI res_sHQkWNMzb6yCrcvulKop8Q; j_dU5rntLHaj38nvgWp7FOrw = (NI)0; HEX3Atmp_3M9cWLUCrj9a1jgpJKF7rw9cA = (NI)0; HEX3Atmp_3M9cWLUCrj9a1jgpJKF7rw9cA = (NI)(xl_UHRmtEc1qLRONQ1ro52DAA - ((NI) 2)); res_sHQkWNMzb6yCrcvulKop8Q = ((NI) (i0)); { while (1) { if (!(res_sHQkWNMzb6yCrcvulKop8Q <= HEX3Atmp_3M9cWLUCrj9a1jgpJKF7rw9cA)) goto LA3; j_dU5rntLHaj38nvgWp7FOrw = res_sHQkWNMzb6yCrcvulKop8Q; asgnRefNoCycle((void**) (&(*x0)->data[j_dU5rntLHaj38nvgWp7FOrw]), (*x0)->data[(NI)(j_dU5rntLHaj38nvgWp7FOrw + ((NI) 1))]); res_sHQkWNMzb6yCrcvulKop8Q += ((NI) 1); } LA3: ; } } (*x0) = (TY_ehmV9bTklH2Gt9cXHV9c0HLeQ*) setLengthSeq(&((*x0))->Sup, sizeof(Tnode_bROa11lyF5vxEN9aYNbHmhw*), ((NI) ((NI)(xl_UHRmtEc1qLRONQ1ro52DAA - ((NI) 1))))); } N_NIMCALL(TY_ehmV9bTklH2Gt9cXHV9c0HLeQ*, newseq_kRt1ZLhQ6puUVenSqCOflw)(NI len0) { TY_ehmV9bTklH2Gt9cXHV9c0HLeQ* result0; result0 = (TY_ehmV9bTklH2Gt9cXHV9c0HLeQ*)0; result0 = (TY_ehmV9bTklH2Gt9cXHV9c0HLeQ*) newSeq((&NTI_ehmV9bTklH2Gt9cXHV9c0HLeQ), len0); return result0; } static N_INLINE(void*, seqtoptr_3GXdYap6cQyJyX7ox0bY8wsystem)(TY_oLpBKXzW3hF9aCVMo5EymfQ* x0) { void* result0; result0 = (void*)0; result0 = ((void*) (x0)); return result0; } N_NIMCALL(NIM_BOOL, HEX3DHEX3D_fL0tq3d6JfMw9bvY7G6spBQ)(TY_oLpBKXzW3hF9aCVMo5EymfQ* x0, TY_oLpBKXzW3hF9aCVMo5EymfQ* y0) { NIM_BOOL result0; { result0 = (NIM_BOOL)0; { void* LOC3; void* LOC4; LOC3 = (void*)0; LOC3 = seqtoptr_3GXdYap6cQyJyX7ox0bY8wsystem(x0); LOC4 = (void*)0; LOC4 = seqtoptr_3GXdYap6cQyJyX7ox0bY8wsystem(y0); if (!(LOC3 == LOC4)) goto LA5; result0 = NIM_TRUE; goto BeforeRet; } LA5: ; { NIM_BOOL LOC9; LOC9 = (NIM_BOOL)0; LOC9 = (x0 == 0); if (LOC9) goto LA10; LOC9 = (y0 == 0); LA10: ; if (!LOC9) goto LA11; result0 = NIM_FALSE; goto BeforeRet; } LA11: ; { if (!!(((x0 ? x0->Sup.len : 0) == (y0 ? y0->Sup.len : 0)))) goto LA15; result0 = NIM_FALSE; goto BeforeRet; } LA15: ; { NI i_B9aICU6ekXhYxvhMJcq2y9aA_7; NI HEX3Atmp_k9afZZWaIoKaA9aXOe6nGR4w_7; NI res_HZmM9cVoNcWoNzkdSbltuhg_8; i_B9aICU6ekXhYxvhMJcq2y9aA_7 = (NI)0; HEX3Atmp_k9afZZWaIoKaA9aXOe6nGR4w_7 = (NI)0; HEX3Atmp_k9afZZWaIoKaA9aXOe6nGR4w_7 = (NI)((x0 ? x0->Sup.len : 0) - ((NI) 1)); res_HZmM9cVoNcWoNzkdSbltuhg_8 = ((NI) 0); { while (1) { if (!(res_HZmM9cVoNcWoNzkdSbltuhg_8 <= HEX3Atmp_k9afZZWaIoKaA9aXOe6nGR4w_7)) goto LA19; i_B9aICU6ekXhYxvhMJcq2y9aA_7 = res_HZmM9cVoNcWoNzkdSbltuhg_8; { NIM_BOOL LOC22; LOC22 = (NIM_BOOL)0; LOC22 = HEX3DHEX3D_Ujpjfumo30l2ielPaquw0Q(x0->data[i_B9aICU6ekXhYxvhMJcq2y9aA_7], y0->data[i_B9aICU6ekXhYxvhMJcq2y9aA_7]); if (!!(LOC22)) goto LA23; result0 = NIM_FALSE; goto BeforeRet; } LA23: ; res_HZmM9cVoNcWoNzkdSbltuhg_8 += ((NI) 1); } LA19: ; } } result0 = NIM_TRUE; goto BeforeRet; }BeforeRet: ; return result0; } static N_INLINE(NIM_BOOL, equalmem_DCrUjdaMvFDHaR1hs7sQGwropes)(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_DCrUjdaMvFDHaR1hs7sQGwropes(((void*) ((*a0).data)), ((void*) ((*b0).data)), ((NI) ((*a0).Sup.len))); LA12: ; result0 = LOC11; goto BeforeRet; }BeforeRet: ; return result0; } N_NIMCALL(NIM_BOOL, HEX3DHEX3D_fsWIAWPnaoNtepsWNV0Ldw)(Indexentry_G9ccBDFWfr9aYnLgXTNGDHDg x0, Indexentry_G9ccBDFWfr9aYnLgXTNGDHDg y0) { NIM_BOOL result0; { result0 = (NIM_BOOL)0; { if (!!(eqStrings(x0.keyword, y0.keyword))) goto LA3; result0 = NIM_FALSE; goto BeforeRet; } LA3: ; { if (!!(eqStrings(x0.link, y0.link))) goto LA7; result0 = NIM_FALSE; goto BeforeRet; } LA7: ; { if (!!(eqStrings(x0.linktitle, y0.linktitle))) goto LA11; result0 = NIM_FALSE; goto BeforeRet; } LA11: ; { if (!!(eqStrings(x0.linkdesc, y0.linkdesc))) goto LA15; result0 = NIM_FALSE; goto BeforeRet; } LA15: ; result0 = NIM_TRUE; goto BeforeRet; }BeforeRet: ; return result0; } static N_INLINE(void, Gcdisable_neD9cJp4S9clvdaq5qqNFZAQrodread)(void) { gch_IcYaEuuWivYAS86vFMTS3Q.recgclock += ((NI) 1); } static N_INLINE(void, Gcenable_neD9cJp4S9clvdaq5qqNFZAQ_2rodread)(void) { { if (!(((NI) 0) < gch_IcYaEuuWivYAS86vFMTS3Q.recgclock)) goto LA3; gch_IcYaEuuWivYAS86vFMTS3Q.recgclock -= ((NI) 1); } LA3: ; } N_NIMCALL(NimStringDesc*, Gcgetstatistics_J4pluHK783lhY9aB0aYTnzg)(void) { NimStringDesc* result0; NimStringDesc* LOC1; NI LOC2; NimStringDesc* LOC3; NI LOC4; NimStringDesc* LOC5; NimStringDesc* LOC6; NimStringDesc* LOC7; NimStringDesc* LOC8; NimStringDesc* LOC9; NimStringDesc* LOC10; NimStringDesc* LOC11; NimStringDesc* LOC12; NimStringDesc* LOC13; NimStringDesc* LOC14; result0 = (NimStringDesc*)0; Gcdisable_neD9cJp4S9clvdaq5qqNFZAQrodread(); LOC1 = (NimStringDesc*)0; LOC2 = (NI)0; LOC2 = gettotalmem_9bFvoxSITMVCg7RY8KIar1Q_2(); LOC3 = (NimStringDesc*)0; LOC3 = nimIntToStr(LOC2); LOC4 = (NI)0; LOC4 = getoccupiedmem_9bFvoxSITMVCg7RY8KIar1Q(); LOC5 = (NimStringDesc*)0; LOC5 = nimIntToStr(LOC4); LOC6 = (NimStringDesc*)0; LOC6 = nimIntToStr(gch_IcYaEuuWivYAS86vFMTS3Q.stat.stackscans); LOC7 = (NimStringDesc*)0; LOC7 = nimIntToStr(gch_IcYaEuuWivYAS86vFMTS3Q.stat.maxstackcells); LOC8 = (NimStringDesc*)0; LOC8 = nimIntToStr(gch_IcYaEuuWivYAS86vFMTS3Q.stat.cyclecollections); LOC9 = (NimStringDesc*)0; LOC9 = nimIntToStr(gch_IcYaEuuWivYAS86vFMTS3Q.stat.maxthreshold); LOC10 = (NimStringDesc*)0; LOC10 = nimIntToStr(gch_IcYaEuuWivYAS86vFMTS3Q.zct.cap); LOC11 = (NimStringDesc*)0; LOC11 = nimIntToStr(gch_IcYaEuuWivYAS86vFMTS3Q.stat.cycletablesize); LOC12 = (NimStringDesc*)0; LOC12 = nimInt64ToStr((NI64)(gch_IcYaEuuWivYAS86vFMTS3Q.stat.maxpause / IL64(1000000))); LOC1 = rawNewString(LOC3->Sup.len + LOC5->Sup.len + LOC6->Sup.len + LOC7->Sup.len + LOC8->Sup.len + LOC9->Sup.len + LOC10->Sup.len + LOC11->Sup.len + LOC12->Sup.len + 202); appendString(LOC1, ((NimStringDesc*) &T_Q5wkpxktOdTGvlSRo9bzt9aw_39)); appendString(LOC1, LOC3); appendString(LOC1, ((NimStringDesc*) &T_Q5wkpxktOdTGvlSRo9bzt9aw_40)); appendString(LOC1, LOC5); appendString(LOC1, ((NimStringDesc*) &T_Q5wkpxktOdTGvlSRo9bzt9aw_41)); appendString(LOC1, LOC6); appendString(LOC1, ((NimStringDesc*) &T_Q5wkpxktOdTGvlSRo9bzt9aw_42)); appendString(LOC1, LOC7); appendString(LOC1, ((NimStringDesc*) &T_Q5wkpxktOdTGvlSRo9bzt9aw_43)); appendString(LOC1, LOC8); appendString(LOC1, ((NimStringDesc*) &T_Q5wkpxktOdTGvlSRo9bzt9aw_44)); appendString(LOC1, LOC9); appendString(LOC1, ((NimStringDesc*) &T_Q5wkpxktOdTGvlSRo9bzt9aw_45)); appendString(LOC1, LOC10); appendString(LOC1, ((NimStringDesc*) &T_Q5wkpxktOdTGvlSRo9bzt9aw_46)); appendString(LOC1, LOC11); appendString(LOC1, ((NimStringDesc*) &T_Q5wkpxktOdTGvlSRo9bzt9aw_47)); appendString(LOC1, LOC12); appendString(LOC1, ((NimStringDesc*) &T_Q5wkpxktOdTGvlSRo9bzt9aw_48)); result0 = LOC1; LOC13 = (NimStringDesc*)0; LOC14 = (NimStringDesc*)0; LOC14 = nimIntToStr(gch_IcYaEuuWivYAS86vFMTS3Q.stat.maxstacksize); LOC13 = rawNewString(result0->Sup.len + LOC14->Sup.len + 22); appendString(LOC13, result0); appendString(LOC13, ((NimStringDesc*) &T_Q5wkpxktOdTGvlSRo9bzt9aw_49)); appendString(LOC13, LOC14); appendString(LOC13, ((NimStringDesc*) &T_Q5wkpxktOdTGvlSRo9bzt9aw_48)); result0 = LOC13; Gcenable_neD9cJp4S9clvdaq5qqNFZAQ_2rodread(); return result0; } NIM_EXTERNC N_NOINLINE(void, systemInit000)(void) { TNimType LOC1; nimRegisterGlobalMarker(T_Q5wkpxktOdTGvlSRo9bzt9aw_4); nimvm_IAxmsqnME4Jmed24hOgrFQ = NIM_FALSE; memset((void*)(&LOC1), 0, sizeof(LOC1)); LOC1.size = ((NI) 4); LOC1.kind = ((Tnimkind_jIBKr1ejBgsfM33Kxw4j7A) 28); LOC1.flags = 2; strdesc_D0UzA4zsDu5tgpJQ9a9clXPg = LOC1; initallocator_neD9cJp4S9clvdaq5qqNFZAQsystem(); initStackBottom(); initgc_njssp69aa7hvxte9bJ8uuDcg(); registersignalhandler_njssp69aa7hvxte9bJ8uuDcg_2(); } NIM_EXTERNC N_NOINLINE(void, systemDatInit000)(void) { static TNimNode* T_Q5wkpxktOdTGvlSRo9bzt9aw_3[4]; static TNimNode T_Q5wkpxktOdTGvlSRo9bzt9aw_0[20]; NTI_13RNkKqUOX1TtorOUlKtqA.size = sizeof(TNimObject); NTI_13RNkKqUOX1TtorOUlKtqA.kind = 17; NTI_13RNkKqUOX1TtorOUlKtqA.base = 0; NTI_13RNkKqUOX1TtorOUlKtqA.flags = 1; T_Q5wkpxktOdTGvlSRo9bzt9aw_0[0].len = 0; T_Q5wkpxktOdTGvlSRo9bzt9aw_0[0].kind = 2; NTI_13RNkKqUOX1TtorOUlKtqA.node = &T_Q5wkpxktOdTGvlSRo9bzt9aw_0[0]; NTI_bAvOj2UcojKN87yAQLs0aw.size = sizeof(Exception); NTI_bAvOj2UcojKN87yAQLs0aw.kind = 17; NTI_bAvOj2UcojKN87yAQLs0aw.base = (&NTI_13RNkKqUOX1TtorOUlKtqA); T_Q5wkpxktOdTGvlSRo9bzt9aw_3[0] = &T_Q5wkpxktOdTGvlSRo9bzt9aw_0[2]; T_Q5wkpxktOdTGvlSRo9bzt9aw_0[2].kind = 1; T_Q5wkpxktOdTGvlSRo9bzt9aw_0[2].offset = offsetof(Exception, parent); T_Q5wkpxktOdTGvlSRo9bzt9aw_0[2].typ = (&NTI_oUKtBcKRdK6usj8RWrlp6A); T_Q5wkpxktOdTGvlSRo9bzt9aw_0[2].name = "parent"; T_Q5wkpxktOdTGvlSRo9bzt9aw_3[1] = &T_Q5wkpxktOdTGvlSRo9bzt9aw_0[3]; NTI_S9agCYBinaYZnGWcjTdxclg.size = sizeof(NCSTRING); NTI_S9agCYBinaYZnGWcjTdxclg.kind = 29; NTI_S9agCYBinaYZnGWcjTdxclg.base = 0; NTI_S9agCYBinaYZnGWcjTdxclg.flags = 3; T_Q5wkpxktOdTGvlSRo9bzt9aw_0[3].kind = 1; T_Q5wkpxktOdTGvlSRo9bzt9aw_0[3].offset = offsetof(Exception, name); T_Q5wkpxktOdTGvlSRo9bzt9aw_0[3].typ = (&NTI_S9agCYBinaYZnGWcjTdxclg); T_Q5wkpxktOdTGvlSRo9bzt9aw_0[3].name = "name"; T_Q5wkpxktOdTGvlSRo9bzt9aw_3[2] = &T_Q5wkpxktOdTGvlSRo9bzt9aw_0[4]; NTI_77mFvmsOLKik79ci2hXkHEg.size = sizeof(NimStringDesc*); NTI_77mFvmsOLKik79ci2hXkHEg.kind = 28; NTI_77mFvmsOLKik79ci2hXkHEg.base = 0; NTI_77mFvmsOLKik79ci2hXkHEg.flags = 2; T_Q5wkpxktOdTGvlSRo9bzt9aw_0[4].kind = 1; T_Q5wkpxktOdTGvlSRo9bzt9aw_0[4].offset = offsetof(Exception, message); T_Q5wkpxktOdTGvlSRo9bzt9aw_0[4].typ = (&NTI_77mFvmsOLKik79ci2hXkHEg); T_Q5wkpxktOdTGvlSRo9bzt9aw_0[4].name = "msg"; T_Q5wkpxktOdTGvlSRo9bzt9aw_3[3] = &T_Q5wkpxktOdTGvlSRo9bzt9aw_0[5]; T_Q5wkpxktOdTGvlSRo9bzt9aw_0[5].kind = 1; T_Q5wkpxktOdTGvlSRo9bzt9aw_0[5].offset = offsetof(Exception, trace); T_Q5wkpxktOdTGvlSRo9bzt9aw_0[5].typ = (&NTI_77mFvmsOLKik79ci2hXkHEg); T_Q5wkpxktOdTGvlSRo9bzt9aw_0[5].name = "trace"; T_Q5wkpxktOdTGvlSRo9bzt9aw_0[1].len = 4; T_Q5wkpxktOdTGvlSRo9bzt9aw_0[1].kind = 2; T_Q5wkpxktOdTGvlSRo9bzt9aw_0[1].sons = &T_Q5wkpxktOdTGvlSRo9bzt9aw_3[0]; NTI_bAvOj2UcojKN87yAQLs0aw.node = &T_Q5wkpxktOdTGvlSRo9bzt9aw_0[1]; NTI_oUKtBcKRdK6usj8RWrlp6A.size = sizeof(Exception*); NTI_oUKtBcKRdK6usj8RWrlp6A.kind = 22; NTI_oUKtBcKRdK6usj8RWrlp6A.base = (&NTI_bAvOj2UcojKN87yAQLs0aw); NTI_oUKtBcKRdK6usj8RWrlp6A.marker = Marker_TY_oUKtBcKRdK6usj8RWrlp6A; NTI_rR5Bzr1D5krxoo1NcNyeMA.size = sizeof(NI); NTI_rR5Bzr1D5krxoo1NcNyeMA.kind = 31; NTI_rR5Bzr1D5krxoo1NcNyeMA.base = 0; NTI_rR5Bzr1D5krxoo1NcNyeMA.flags = 3; NTI_QcJsjWXxMFpjHfkCIK5ExA.size = sizeof(Arithmeticerror_QcJsjWXxMFpjHfkCIK5ExA); NTI_QcJsjWXxMFpjHfkCIK5ExA.kind = 17; NTI_QcJsjWXxMFpjHfkCIK5ExA.base = (&NTI_bAvOj2UcojKN87yAQLs0aw); T_Q5wkpxktOdTGvlSRo9bzt9aw_0[6].len = 0; T_Q5wkpxktOdTGvlSRo9bzt9aw_0[6].kind = 2; NTI_QcJsjWXxMFpjHfkCIK5ExA.node = &T_Q5wkpxktOdTGvlSRo9bzt9aw_0[6]; NTI_I3Jtn27626sFBOls6BBQ2Q.size = sizeof(Overflowerror_I3Jtn27626sFBOls6BBQ2Q); NTI_I3Jtn27626sFBOls6BBQ2Q.kind = 17; NTI_I3Jtn27626sFBOls6BBQ2Q.base = (&NTI_QcJsjWXxMFpjHfkCIK5ExA); T_Q5wkpxktOdTGvlSRo9bzt9aw_0[7].len = 0; T_Q5wkpxktOdTGvlSRo9bzt9aw_0[7].kind = 2; NTI_I3Jtn27626sFBOls6BBQ2Q.node = &T_Q5wkpxktOdTGvlSRo9bzt9aw_0[7]; NTI_6woiEp3hwhYMr1p5tjkZvA.size = sizeof(Overflowerror_I3Jtn27626sFBOls6BBQ2Q*); NTI_6woiEp3hwhYMr1p5tjkZvA.kind = 22; NTI_6woiEp3hwhYMr1p5tjkZvA.base = (&NTI_I3Jtn27626sFBOls6BBQ2Q); NTI_6woiEp3hwhYMr1p5tjkZvA.marker = Marker_TY_6woiEp3hwhYMr1p5tjkZvA; NTI_Fjf9b9b2IlzRO2tspHxG3tgg.size = sizeof(Systemerror_Fjf9b9b2IlzRO2tspHxG3tgg); NTI_Fjf9b9b2IlzRO2tspHxG3tgg.kind = 17; NTI_Fjf9b9b2IlzRO2tspHxG3tgg.base = (&NTI_bAvOj2UcojKN87yAQLs0aw); T_Q5wkpxktOdTGvlSRo9bzt9aw_0[8].len = 0; T_Q5wkpxktOdTGvlSRo9bzt9aw_0[8].kind = 2; NTI_Fjf9b9b2IlzRO2tspHxG3tgg.node = &T_Q5wkpxktOdTGvlSRo9bzt9aw_0[8]; NTI_NrupLB36t9bV7iFDHtrF69aw.size = sizeof(Outofmemerror_NrupLB36t9bV7iFDHtrF69aw); NTI_NrupLB36t9bV7iFDHtrF69aw.kind = 17; NTI_NrupLB36t9bV7iFDHtrF69aw.base = (&NTI_Fjf9b9b2IlzRO2tspHxG3tgg); T_Q5wkpxktOdTGvlSRo9bzt9aw_0[9].len = 0; T_Q5wkpxktOdTGvlSRo9bzt9aw_0[9].kind = 2; NTI_NrupLB36t9bV7iFDHtrF69aw.node = &T_Q5wkpxktOdTGvlSRo9bzt9aw_0[9]; NTI_sVg18TP9cLifHyygRe9cro9aA.size = sizeof(NI32); NTI_sVg18TP9cLifHyygRe9cro9aA.kind = 34; NTI_sVg18TP9cLifHyygRe9cro9aA.base = 0; NTI_sVg18TP9cLifHyygRe9cro9aA.flags = 3; NTI_Gi06FkNeykJn7mrqRZYrkA.size = sizeof(Valueerror_Gi06FkNeykJn7mrqRZYrkA); NTI_Gi06FkNeykJn7mrqRZYrkA.kind = 17; NTI_Gi06FkNeykJn7mrqRZYrkA.base = (&NTI_bAvOj2UcojKN87yAQLs0aw); T_Q5wkpxktOdTGvlSRo9bzt9aw_0[10].len = 0; T_Q5wkpxktOdTGvlSRo9bzt9aw_0[10].kind = 2; NTI_Gi06FkNeykJn7mrqRZYrkA.node = &T_Q5wkpxktOdTGvlSRo9bzt9aw_0[10]; NTI_yCEN9anxCD6mzBxGjuaRBdg.size = sizeof(Valueerror_Gi06FkNeykJn7mrqRZYrkA*); NTI_yCEN9anxCD6mzBxGjuaRBdg.kind = 22; NTI_yCEN9anxCD6mzBxGjuaRBdg.base = (&NTI_Gi06FkNeykJn7mrqRZYrkA); NTI_yCEN9anxCD6mzBxGjuaRBdg.marker = Marker_TY_yCEN9anxCD6mzBxGjuaRBdg; NTI_kDPg4wXyR8DDyA0MeEjIsw.size = sizeof(NI16); NTI_kDPg4wXyR8DDyA0MeEjIsw.kind = 33; NTI_kDPg4wXyR8DDyA0MeEjIsw.base = 0; NTI_kDPg4wXyR8DDyA0MeEjIsw.flags = 3; NTI_9czoZw3pzPyrBmb5zTHY1OQ.size = sizeof(Ioerror_9czoZw3pzPyrBmb5zTHY1OQ); NTI_9czoZw3pzPyrBmb5zTHY1OQ.kind = 17; NTI_9czoZw3pzPyrBmb5zTHY1OQ.base = (&NTI_Fjf9b9b2IlzRO2tspHxG3tgg); T_Q5wkpxktOdTGvlSRo9bzt9aw_0[11].len = 0; T_Q5wkpxktOdTGvlSRo9bzt9aw_0[11].kind = 2; NTI_9czoZw3pzPyrBmb5zTHY1OQ.node = &T_Q5wkpxktOdTGvlSRo9bzt9aw_0[11]; NTI_HX2M9cQhE3jaovp9aYJDdslA.size = sizeof(Ioerror_9czoZw3pzPyrBmb5zTHY1OQ*); NTI_HX2M9cQhE3jaovp9aYJDdslA.kind = 22; NTI_HX2M9cQhE3jaovp9aYJDdslA.base = (&NTI_9czoZw3pzPyrBmb5zTHY1OQ); NTI_HX2M9cQhE3jaovp9aYJDdslA.marker = Marker_TY_HX2M9cQhE3jaovp9aYJDdslA; NTI_VaVACK0bpYmqIQ0mKcHfQQ.size = sizeof(NIM_BOOL); NTI_VaVACK0bpYmqIQ0mKcHfQQ.kind = 1; NTI_VaVACK0bpYmqIQ0mKcHfQQ.base = 0; NTI_VaVACK0bpYmqIQ0mKcHfQQ.flags = 3; NTI_Aav8dQoMlCFnZRxA0IhTHQ.size = sizeof(NI64); NTI_Aav8dQoMlCFnZRxA0IhTHQ.kind = 35; NTI_Aav8dQoMlCFnZRxA0IhTHQ.base = 0; NTI_Aav8dQoMlCFnZRxA0IhTHQ.flags = 3; NTI_w9bl9a1ul9ctRJWiMl9cNnIMvg.size = sizeof(NF); NTI_w9bl9a1ul9ctRJWiMl9cNnIMvg.kind = 36; NTI_w9bl9a1ul9ctRJWiMl9cNnIMvg.base = 0; NTI_w9bl9a1ul9ctRJWiMl9cNnIMvg.flags = 3; NTI_1VeTzqrFu2VJ4a6cGvuoyA.size = sizeof(TNimObject*); NTI_1VeTzqrFu2VJ4a6cGvuoyA.kind = 22; NTI_1VeTzqrFu2VJ4a6cGvuoyA.base = (&NTI_13RNkKqUOX1TtorOUlKtqA); NTI_1VeTzqrFu2VJ4a6cGvuoyA.marker = Marker_TY_1VeTzqrFu2VJ4a6cGvuoyA; NTI_nlCscttRCss70IBTyuBqnA.size = sizeof(int); NTI_nlCscttRCss70IBTyuBqnA.kind = 34; NTI_nlCscttRCss70IBTyuBqnA.base = 0; NTI_nlCscttRCss70IBTyuBqnA.flags = 3; NTI_k3HXouOuhqAKq0dx450lXQ.size = sizeof(NU8); NTI_k3HXouOuhqAKq0dx450lXQ.kind = 41; NTI_k3HXouOuhqAKq0dx450lXQ.base = 0; NTI_k3HXouOuhqAKq0dx450lXQ.flags = 3; NTI_JrFyJbYm9b5I4hJ9cWDqvfYA.size = sizeof(NU32); NTI_JrFyJbYm9b5I4hJ9cWDqvfYA.kind = 43; NTI_JrFyJbYm9b5I4hJ9cWDqvfYA.base = 0; NTI_JrFyJbYm9b5I4hJ9cWDqvfYA.flags = 3; NTI_GRbrBa7JIulgD34jGcFb8w.size = sizeof(Reraiseerror_GRbrBa7JIulgD34jGcFb8w); NTI_GRbrBa7JIulgD34jGcFb8w.kind = 17; NTI_GRbrBa7JIulgD34jGcFb8w.base = (&NTI_bAvOj2UcojKN87yAQLs0aw); T_Q5wkpxktOdTGvlSRo9bzt9aw_0[12].len = 0; T_Q5wkpxktOdTGvlSRo9bzt9aw_0[12].kind = 2; NTI_GRbrBa7JIulgD34jGcFb8w.node = &T_Q5wkpxktOdTGvlSRo9bzt9aw_0[12]; NTI_beOxjNaux3PfvyYBLMJh2A.size = sizeof(Reraiseerror_GRbrBa7JIulgD34jGcFb8w*); NTI_beOxjNaux3PfvyYBLMJh2A.kind = 22; NTI_beOxjNaux3PfvyYBLMJh2A.base = (&NTI_GRbrBa7JIulgD34jGcFb8w); NTI_beOxjNaux3PfvyYBLMJh2A.marker = Marker_TY_beOxjNaux3PfvyYBLMJh2A; NTI_8FC9arcap3s5ZtfMs75krtA.size = sizeof(Assertionerror_8FC9arcap3s5ZtfMs75krtA); NTI_8FC9arcap3s5ZtfMs75krtA.kind = 17; NTI_8FC9arcap3s5ZtfMs75krtA.base = (&NTI_bAvOj2UcojKN87yAQLs0aw); T_Q5wkpxktOdTGvlSRo9bzt9aw_0[13].len = 0; T_Q5wkpxktOdTGvlSRo9bzt9aw_0[13].kind = 2; NTI_8FC9arcap3s5ZtfMs75krtA.node = &T_Q5wkpxktOdTGvlSRo9bzt9aw_0[13]; NTI_TmgWlPUbRr7iGD2UE1cu6A.size = sizeof(Assertionerror_8FC9arcap3s5ZtfMs75krtA*); NTI_TmgWlPUbRr7iGD2UE1cu6A.kind = 22; NTI_TmgWlPUbRr7iGD2UE1cu6A.base = (&NTI_8FC9arcap3s5ZtfMs75krtA); NTI_TmgWlPUbRr7iGD2UE1cu6A.marker = Marker_TY_TmgWlPUbRr7iGD2UE1cu6A; NTI_9bz2muykEFR6eMHxLnfcjxA.size = sizeof(void*); NTI_9bz2muykEFR6eMHxLnfcjxA.kind = 18; NTI_9bz2muykEFR6eMHxLnfcjxA.base = 0; NTI_9bz2muykEFR6eMHxLnfcjxA.flags = 3; T_Q5wkpxktOdTGvlSRo9bzt9aw_0[14].len = 0; T_Q5wkpxktOdTGvlSRo9bzt9aw_0[14].kind = 2; NTI_9bz2muykEFR6eMHxLnfcjxA.node = &T_Q5wkpxktOdTGvlSRo9bzt9aw_0[14]; NTI_7BHnQsEj49a9c6QtudqWTo1w.size = sizeof(FILE*); NTI_7BHnQsEj49a9c6QtudqWTo1w.kind = 21; NTI_7BHnQsEj49a9c6QtudqWTo1w.base = (&NTI_9bz2muykEFR6eMHxLnfcjxA); NTI_7BHnQsEj49a9c6QtudqWTo1w.flags = 3; NTI_chXunH2dwinSkhpA6JnsXw.size = sizeof(NI8); NTI_chXunH2dwinSkhpA6JnsXw.kind = 32; NTI_chXunH2dwinSkhpA6JnsXw.base = 0; NTI_chXunH2dwinSkhpA6JnsXw.flags = 3; NTI_wFuRaV3kWqFxI9b4hUjDJYA.size = sizeof(Rangeerror_wFuRaV3kWqFxI9b4hUjDJYA); NTI_wFuRaV3kWqFxI9b4hUjDJYA.kind = 17; NTI_wFuRaV3kWqFxI9b4hUjDJYA.base = (&NTI_bAvOj2UcojKN87yAQLs0aw); T_Q5wkpxktOdTGvlSRo9bzt9aw_0[15].len = 0; T_Q5wkpxktOdTGvlSRo9bzt9aw_0[15].kind = 2; NTI_wFuRaV3kWqFxI9b4hUjDJYA.node = &T_Q5wkpxktOdTGvlSRo9bzt9aw_0[15]; NTI_3XwRQvmzCEOC4QnT706q1g.size = sizeof(Oserror_3XwRQvmzCEOC4QnT706q1g); NTI_3XwRQvmzCEOC4QnT706q1g.kind = 17; NTI_3XwRQvmzCEOC4QnT706q1g.base = (&NTI_Fjf9b9b2IlzRO2tspHxG3tgg); T_Q5wkpxktOdTGvlSRo9bzt9aw_0[16].kind = 1; T_Q5wkpxktOdTGvlSRo9bzt9aw_0[16].offset = offsetof(Oserror_3XwRQvmzCEOC4QnT706q1g, errorcode); T_Q5wkpxktOdTGvlSRo9bzt9aw_0[16].typ = (&NTI_sVg18TP9cLifHyygRe9cro9aA); T_Q5wkpxktOdTGvlSRo9bzt9aw_0[16].name = "errorCode"; NTI_3XwRQvmzCEOC4QnT706q1g.node = &T_Q5wkpxktOdTGvlSRo9bzt9aw_0[16]; NTI_Qx9aKy4vZ9bVz9bnG9brQcRHGA.size = sizeof(Oserror_3XwRQvmzCEOC4QnT706q1g*); NTI_Qx9aKy4vZ9bVz9bnG9brQcRHGA.kind = 22; NTI_Qx9aKy4vZ9bVz9bnG9brQcRHGA.base = (&NTI_3XwRQvmzCEOC4QnT706q1g); NTI_Qx9aKy4vZ9bVz9bnG9brQcRHGA.marker = Marker_TY_Qx9aKy4vZ9bVz9bnG9brQcRHGA; NTI_ifYAhUumNzWR9c9cN9amyJLtg.size = sizeof(Keyerror_ifYAhUumNzWR9c9cN9amyJLtg); NTI_ifYAhUumNzWR9c9cN9amyJLtg.kind = 17; NTI_ifYAhUumNzWR9c9cN9amyJLtg.base = (&NTI_Gi06FkNeykJn7mrqRZYrkA); T_Q5wkpxktOdTGvlSRo9bzt9aw_0[17].len = 0; T_Q5wkpxktOdTGvlSRo9bzt9aw_0[17].kind = 2; NTI_ifYAhUumNzWR9c9cN9amyJLtg.node = &T_Q5wkpxktOdTGvlSRo9bzt9aw_0[17]; NTI_axqhRnwd09cVJkRcojfw6mA.size = sizeof(Keyerror_ifYAhUumNzWR9c9cN9amyJLtg*); NTI_axqhRnwd09cVJkRcojfw6mA.kind = 22; NTI_axqhRnwd09cVJkRcojfw6mA.base = (&NTI_ifYAhUumNzWR9c9cN9amyJLtg); NTI_axqhRnwd09cVJkRcojfw6mA.marker = Marker_TY_axqhRnwd09cVJkRcojfw6mA; NTI_b0IIwghFQBADkB2c86kXQA.size = sizeof(Indexerror_b0IIwghFQBADkB2c86kXQA); NTI_b0IIwghFQBADkB2c86kXQA.kind = 17; NTI_b0IIwghFQBADkB2c86kXQA.base = (&NTI_bAvOj2UcojKN87yAQLs0aw); T_Q5wkpxktOdTGvlSRo9bzt9aw_0[18].len = 0; T_Q5wkpxktOdTGvlSRo9bzt9aw_0[18].kind = 2; NTI_b0IIwghFQBADkB2c86kXQA.node = &T_Q5wkpxktOdTGvlSRo9bzt9aw_0[18]; NTI_z58cIdR0vOibqJ0QwYvB3Q.size = sizeof(Indexerror_b0IIwghFQBADkB2c86kXQA*); NTI_z58cIdR0vOibqJ0QwYvB3Q.kind = 22; NTI_z58cIdR0vOibqJ0QwYvB3Q.base = (&NTI_b0IIwghFQBADkB2c86kXQA); NTI_z58cIdR0vOibqJ0QwYvB3Q.marker = Marker_TY_z58cIdR0vOibqJ0QwYvB3Q; NTI_13aFwjKaWlqhwUBjDHvkIw.size = sizeof(NI); NTI_13aFwjKaWlqhwUBjDHvkIw.kind = 31; NTI_13aFwjKaWlqhwUBjDHvkIw.base = 0; NTI_13aFwjKaWlqhwUBjDHvkIw.flags = 3; NTI_nmiMWKVIe46vacnhAFrQvw.size = sizeof(NIM_CHAR); NTI_nmiMWKVIe46vacnhAFrQvw.kind = 2; NTI_nmiMWKVIe46vacnhAFrQvw.base = 0; NTI_nmiMWKVIe46vacnhAFrQvw.flags = 3; NTI_UtShRB9b1wZO9cvpdowm9cefA.size = sizeof(int); NTI_UtShRB9b1wZO9cvpdowm9cefA.kind = 34; NTI_UtShRB9b1wZO9cvpdowm9cefA.base = 0; NTI_UtShRB9b1wZO9cvpdowm9cefA.flags = 3; NTI_xHTZrq9aYs6boc9bCba0JbpQ.size = sizeof(NI); NTI_xHTZrq9aYs6boc9bCba0JbpQ.kind = 31; NTI_xHTZrq9aYs6boc9bCba0JbpQ.base = 0; NTI_xHTZrq9aYs6boc9bCba0JbpQ.flags = 3; NTI_Uk8TiHqxGdO37NabyvfS5g.size = sizeof(NI); NTI_Uk8TiHqxGdO37NabyvfS5g.kind = 31; NTI_Uk8TiHqxGdO37NabyvfS5g.base = 0; NTI_Uk8TiHqxGdO37NabyvfS5g.flags = 3; NTI_LBgXxpmYOpS8xroRZgNvbg.size = sizeof(NI); NTI_LBgXxpmYOpS8xroRZgNvbg.kind = 31; NTI_LBgXxpmYOpS8xroRZgNvbg.base = 0; NTI_LBgXxpmYOpS8xroRZgNvbg.flags = 3; NTI_Gz6vwaK0PZQIDIwfuvKsOg.size = sizeof(NI); NTI_Gz6vwaK0PZQIDIwfuvKsOg.kind = 31; NTI_Gz6vwaK0PZQIDIwfuvKsOg.base = 0; NTI_Gz6vwaK0PZQIDIwfuvKsOg.flags = 3; NTI_DcZ5N67dL3rBj9bxGtx09bFg.size = sizeof(NI); NTI_DcZ5N67dL3rBj9bxGtx09bFg.kind = 31; NTI_DcZ5N67dL3rBj9bxGtx09bFg.base = 0; NTI_DcZ5N67dL3rBj9bxGtx09bFg.flags = 3; NTI_g9buja9c9aeh0rkDpqsXOJF9bA.size = sizeof(NI); NTI_g9buja9c9aeh0rkDpqsXOJF9bA.kind = 31; NTI_g9buja9c9aeh0rkDpqsXOJF9bA.base = 0; NTI_g9buja9c9aeh0rkDpqsXOJF9bA.flags = 3; NTI_p6OJ2WGp1zYZkMyhPlJPZA.size = sizeof(Divbyzeroerror_p6OJ2WGp1zYZkMyhPlJPZA); NTI_p6OJ2WGp1zYZkMyhPlJPZA.kind = 17; NTI_p6OJ2WGp1zYZkMyhPlJPZA.base = (&NTI_QcJsjWXxMFpjHfkCIK5ExA); T_Q5wkpxktOdTGvlSRo9bzt9aw_0[19].len = 0; T_Q5wkpxktOdTGvlSRo9bzt9aw_0[19].kind = 2; NTI_p6OJ2WGp1zYZkMyhPlJPZA.node = &T_Q5wkpxktOdTGvlSRo9bzt9aw_0[19]; NTI_u50F0puw9b9c6p256tX4eJLQ.size = sizeof(NI); NTI_u50F0puw9b9c6p256tX4eJLQ.kind = 31; NTI_u50F0puw9b9c6p256tX4eJLQ.base = 0; NTI_u50F0puw9b9c6p256tX4eJLQ.flags = 3; }