1 /* Generated by Nim Compiler v1.6.2 */
2 #define NIM_INTBITS 64
3 
4 #include "nimbase.h"
5 #include <string.h>
6 #undef LANGUAGE_C
7 #undef MIPSEB
8 #undef MIPSEL
9 #undef PPC
10 #undef R3000
11 #undef R4000
12 #undef i386
13 #undef linux
14 #undef mips
15 #undef near
16 #undef far
17 #undef powerpc
18 #undef unix
19 #define nimfr_(x, y)
20 #define nimln_(x, y)
21 typedef struct tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw;
22 typedef struct tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ;
23 typedef struct tyObject_Table__Ea0e9azliYta9cYyn0d49ah0w tyObject_Table__Ea0e9azliYta9cYyn0d49ah0w;
24 typedef struct tySequence__E8pi9b5QNahsURYzXMjh3qw tySequence__E8pi9b5QNahsURYzXMjh3qw;
25 typedef struct tyTuple__47w2DboNEPf69aPgubZdd7Q tyTuple__47w2DboNEPf69aPgubZdd7Q;
26 typedef struct tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w;
27 typedef struct RootObj RootObj;
28 typedef struct TNimType TNimType;
29 typedef struct TNimNode TNimNode;
30 typedef struct tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q;
31 typedef struct tySequence__YdLNCDKYeipzJx3I8Xw82Q tySequence__YdLNCDKYeipzJx3I8Xw82Q;
32 typedef struct tySequence__PJMRIt5QxCm6bRaVyQ5CGA tySequence__PJMRIt5QxCm6bRaVyQ5CGA;
33 typedef struct tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw;
34 typedef struct tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A;
35 typedef struct tyObject_PProccolonObjectType___VFEBuxrDHC6kHPzc1TWaRQ tyObject_PProccolonObjectType___VFEBuxrDHC6kHPzc1TWaRQ;
36 typedef struct tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q;
37 typedef struct tySequence__YWbgnI9b9a4j9aDYnupShIg3A tySequence__YWbgnI9b9a4j9aDYnupShIg3A;
38 typedef struct NimStringDesc NimStringDesc;
39 typedef struct TGenericSeq TGenericSeq;
40 typedef struct tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw;
41 typedef struct tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw;
42 typedef struct tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ;
43 typedef struct tyObject_Profiler__X5SfC6PDEhDFna4qLF0vtg tyObject_Profiler__X5SfC6PDEhDFna4qLF0vtg;
44 typedef struct tyObject_TStackFrame__DYXeymOyKb0OnIuD1ihEpQ tyObject_TStackFrame__DYXeymOyKb0OnIuD1ihEpQ;
45 typedef struct tySequence__Q9atPKk5Xsv6h4rje4WzNLQ tySequence__Q9atPKk5Xsv6h4rje4WzNLQ;
46 typedef struct tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w;
47 typedef struct tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g;
48 typedef struct tyObject_TType__facALICuu8zUj0hjvbTLFg tyObject_TType__facALICuu8zUj0hjvbTLFg;
49 typedef struct tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA;
50 typedef struct tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA;
51 typedef struct tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA;
52 typedef struct tyObject_TLib__NBMxlJ6g3utqUlplqTTHkA tyObject_TLib__NBMxlJ6g3utqUlplqTTHkA;
53 typedef struct tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g;
54 typedef struct tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w;
55 typedef struct tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ;
56 typedef struct tyObject_GcStack__7fytPA5bBsob6See21YMRA tyObject_GcStack__7fytPA5bBsob6See21YMRA;
57 typedef struct tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg;
58 typedef struct tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ;
59 typedef struct tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg;
60 typedef struct tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw;
61 typedef struct tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA;
62 typedef struct tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw;
63 typedef struct tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw;
64 typedef struct tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg;
65 typedef struct tyTuple__ujsjpB2O9cjj3uDHsXbnSzg tyTuple__ujsjpB2O9cjj3uDHsXbnSzg;
66 typedef struct tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg;
67 typedef struct tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ;
68 typedef struct tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg;
69 typedef struct tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ;
70 typedef struct tyTuple__kN8up2W6YKc5YA9avn5mV5w tyTuple__kN8up2W6YKc5YA9avn5mV5w;
71 typedef struct tySequence__JokFGfUW6i9b6aeU7xu6xBw tySequence__JokFGfUW6i9b6aeU7xu6xBw;
72 typedef struct tySequence__C1Ql3I9bU3HGPJdRd2y9cbVg tySequence__C1Ql3I9bU3HGPJdRd2y9cbVg;
73 typedef struct tyTuple__SlmU1Ju0WFHUWkihyHMVYg tyTuple__SlmU1Ju0WFHUWkihyHMVYg;
74 typedef struct tySequence__4mZLwkxT8rbt9bf3wXrXYNQ tySequence__4mZLwkxT8rbt9bf3wXrXYNQ;
75 typedef struct tySequence__rQHmYk1HzcwNxKBymIFHpA tySequence__rQHmYk1HzcwNxKBymIFHpA;
76 typedef struct tySequence__XMM60DtBsc6xYsIpNANkrA tySequence__XMM60DtBsc6xYsIpNANkrA;
77 typedef struct tyObject_Table__ZqXrnX212T9bCb4lhpQ9bFBw tyObject_Table__ZqXrnX212T9bCb4lhpQ9bFBw;
78 typedef struct tySequence__ChDZ6dokJ9aj9cg3KBoCU5vg tySequence__ChDZ6dokJ9aj9cg3KBoCU5vg;
79 typedef struct tyObject_Table__UVZI5J9aS51B4B0eYPpW1Rg tyObject_Table__UVZI5J9aS51B4B0eYPpW1Rg;
80 typedef struct tySequence__mWRMiYLthG9coLjkbElCxkw tySequence__mWRMiYLthG9coLjkbElCxkw;
81 typedef struct tyObject_Table__iowAVDkco3qpbEH0z8OmkQ tyObject_Table__iowAVDkco3qpbEH0z8OmkQ;
82 typedef struct tySequence__bTDCDwD2P7TodzbAefLcSw tySequence__bTDCDwD2P7TodzbAefLcSw;
83 typedef struct tyObject_Table__KUYGGgSxi8wBr0SXET9bi3w tyObject_Table__KUYGGgSxi8wBr0SXET9bi3w;
84 typedef struct tySequence__3MPVXAHA08SszBrU4ffqEg tySequence__3MPVXAHA08SszBrU4ffqEg;
85 typedef struct tyObject_Table__KcymdZjUsmGSK8BxmvoJgw tyObject_Table__KcymdZjUsmGSK8BxmvoJgw;
86 typedef struct tySequence__YCf5zJHm4JI06qpmKwPUWg tySequence__YCf5zJHm4JI06qpmKwPUWg;
87 typedef struct tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA;
88 typedef struct tySequence__7lEisrXlQEzwtUKW5pzRCw tySequence__7lEisrXlQEzwtUKW5pzRCw;
89 typedef struct tyObject_PackedConfig__McwvRupqDAJbGrinIDFZJQ tyObject_PackedConfig__McwvRupqDAJbGrinIDFZJQ;
90 typedef struct tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA;
91 typedef struct tySequence__eHqUwlHGGaPw0TDPDeL79cQ tySequence__eHqUwlHGGaPw0TDPDeL79cQ;
92 typedef struct tyObject_Table__hd3qB0wXU9bWPJR7fjShhbA tyObject_Table__hd3qB0wXU9bWPJR7fjShhbA;
93 typedef struct tySequence__61s9cbAniKuBrdHwBhMDfQg tySequence__61s9cbAniKuBrdHwBhMDfQg;
94 typedef struct tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA;
95 typedef struct tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA;
96 typedef struct tySequence__Bre9bNyuQOg1EJKitjSzn8w tySequence__Bre9bNyuQOg1EJKitjSzn8w;
97 typedef struct tyObject_Table__fdKWDDO1P17zvuQPReVgRA tyObject_Table__fdKWDDO1P17zvuQPReVgRA;
98 typedef struct tySequence__fdmz6VkIf1ewwrssKYqRFg tySequence__fdmz6VkIf1ewwrssKYqRFg;
99 typedef struct tyObject_Table__e2Ciu0s1q49aVQ7ULXy7l9bQ tyObject_Table__e2Ciu0s1q49aVQ7ULXy7l9bQ;
100 typedef struct tySequence__kxu4GK0onha2t9bo86mdVAg tySequence__kxu4GK0onha2t9bo86mdVAg;
101 typedef struct tySequence__48JTohSgTy339bRxHzUD8KA tySequence__48JTohSgTy339bRxHzUD8KA;
102 typedef struct tySequence__s9byh6WFJ16lPMcmqdaMTHA tySequence__s9byh6WFJ16lPMcmqdaMTHA;
103 typedef struct tyObject_Table__Ue6w4c82v7gc7t2qntTbAw tyObject_Table__Ue6w4c82v7gc7t2qntTbAw;
104 typedef struct tySequence__1U9bG8RcAedEeYkQLZjVFKA tySequence__1U9bG8RcAedEeYkQLZjVFKA;
105 typedef struct tyObject_Table__G1v8c16HePOldLeucwe05Q tyObject_Table__G1v8c16HePOldLeucwe05Q;
106 typedef struct tySequence__fIB1rTQ55aFonoft9a9bmljQ tySequence__fIB1rTQ55aFonoft9a9bmljQ;
107 typedef struct tyObject_Table__0Y2brGGKD9bV6GJLXT9aUDgA tyObject_Table__0Y2brGGKD9bV6GJLXT9aUDgA;
108 typedef struct tySequence__23SMqauuRsbDANhthj9bWlA tySequence__23SMqauuRsbDANhthj9bWlA;
109 typedef struct tyObject_Table__NttoEzoiq5CiphZe81oadg tyObject_Table__NttoEzoiq5CiphZe81oadg;
110 typedef struct tySequence__squ9b9bUH4OLHf6cEMrt6hVA tySequence__squ9b9bUH4OLHf6cEMrt6hVA;
111 typedef struct tyObject_Table__nagDFX4QHx0s6Fvma9blmSg tyObject_Table__nagDFX4QHx0s6Fvma9blmSg;
112 typedef struct tySequence__pHNq3oXj9av2sEUdqaqeZjw tySequence__pHNq3oXj9av2sEUdqaqeZjw;
113 typedef struct tySequence__MAQKEADohlpnXTModtugbQ tySequence__MAQKEADohlpnXTModtugbQ;
114 typedef struct tyObject_Operators__EbMP71azE1HSvYAQoCH9cXA tyObject_Operators__EbMP71azE1HSvYAQoCH9cXA;
115 typedef struct tyObject_Target__9abOl5DLX8suLujOaHSvGzw tyObject_Target__9abOl5DLX8suLujOaHSvGzw;
116 typedef struct tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg;
117 typedef struct tyObject_MsgConfig__kV7r8HWT0SqOYW2k2ukC6A tyObject_MsgConfig__kV7r8HWT0SqOYW2k2ukC6A;
118 typedef struct tySequence__tNFrR3kRuS1FSwuiLGoSSA tySequence__tNFrR3kRuS1FSwuiLGoSSA;
119 typedef struct tySequence__Zi9cGbCWofbtABoHJ5RbLNQ tySequence__Zi9cGbCWofbtABoHJ5RbLNQ;
120 typedef struct tyObject_HashSet__CD8Dpv0WGmASelVaNSo6zg tyObject_HashSet__CD8Dpv0WGmASelVaNSo6zg;
121 typedef struct tySequence__4eRCaZmrYLLw2k30GPTiMw tySequence__4eRCaZmrYLLw2k30GPTiMw;
122 typedef struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ tySequence__sM4lkSb7zS6F7OVMvW9cffQ;
123 typedef struct tySequence__pK3qSsBZwdXd6qyUMkd5Jw tySequence__pK3qSsBZwdXd6qyUMkd5Jw;
124 typedef struct tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ;
125 typedef struct tyObject_ProfileDatacolonObjectType___rPBBfFL4X0b9cQ6rfMNPXig tyObject_ProfileDatacolonObjectType___rPBBfFL4X0b9cQ6rfMNPXig;
126 typedef struct tyObject_Int128__9a9axPfb75jdWY25AamJewkA tyObject_Int128__9a9axPfb75jdWY25AamJewkA;
127 typedef struct tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA;
128 typedef struct tyTuple__C1iPjdrPjiQaUrcFhIp9aGw tyTuple__C1iPjdrPjiQaUrcFhIp9aGw;
129 typedef struct tyObject_Env_vmgendotnim_genConv___tSX9a6VppB8gTJYBP9aDt4MA tyObject_Env_vmgendotnim_genConv___tSX9a6VppB8gTJYBP9aDt4MA;
130 typedef struct tySequence__qwqHTkRvwhrRyENtudHQ7g tySequence__qwqHTkRvwhrRyENtudHQ7g;
131 typedef struct tyObject_TBlock__2tJGcW69ahqq39a9bVJC1sqGQ tyObject_TBlock__2tJGcW69ahqq39a9bVJC1sqGQ;
132 typedef struct tyTuple__4707W0MdkBgzyuDClNdLBQ tyTuple__4707W0MdkBgzyuDClNdLBQ;
133 typedef struct tyObject_Iface__uvkV248cZcsEQKaQm7C9aEA tyObject_Iface__uvkV248cZcsEQKaQm7C9aEA;
134 typedef struct tySequence__vv5mGmK03BCr5e3LTZA5Hw tySequence__vv5mGmK03BCr5e3LTZA5Hw;
135 typedef struct tyObject_LoadedModule__14iJKkvOiWT62KF2D8f9c5w tyObject_LoadedModule__14iJKkvOiWT62KF2D8f9c5w;
136 typedef struct tyObject_PackedModule__ZSxNoR2V6oK5xosmtvhjNQ tyObject_PackedModule__ZSxNoR2V6oK5xosmtvhjNQ;
137 typedef struct tySequence__PXIzfWocnrafGz5p3CP5LA tySequence__PXIzfWocnrafGz5p3CP5LA;
138 typedef struct tySequence__9bAGqSvkAaFL9bWjsEPslrFA tySequence__9bAGqSvkAaFL9bWjsEPslrFA;
139 typedef struct tyObject_PackedTree__8otSrA7MENGYESDkEP7nnw tyObject_PackedTree__8otSrA7MENGYESDkEP7nnw;
140 typedef struct tySequence__29bS0n2QNyO1R7e0qMMOvLA tySequence__29bS0n2QNyO1R7e0qMMOvLA;
141 typedef struct tySequence__b89aLriiJnVTD186H6zNIgg tySequence__b89aLriiJnVTD186H6zNIgg;
142 typedef struct tySequence__REuPuHuSlOkZ0Q5oqzDrQg tySequence__REuPuHuSlOkZ0Q5oqzDrQg;
143 typedef struct tySequence__I9aQmO9asXXWJ58UI9c8BCSzA tySequence__I9aQmO9asXXWJ58UI9c8BCSzA;
144 typedef struct tySequence__NyaOkf8ZwxP6rkRF5TOkew tySequence__NyaOkf8ZwxP6rkRF5TOkew;
145 typedef struct tySequence__L9bOt8CaTEmIjgtuZvp6syg tySequence__L9bOt8CaTEmIjgtuZvp6syg;
146 typedef struct tySequence__im8UB2GsZvUaQ4a1wKGWhQ tySequence__im8UB2GsZvUaQ4a1wKGWhQ;
147 typedef struct tySequence__xxnXDLpoqBo8zJzP9b1073g tySequence__xxnXDLpoqBo8zJzP9b1073g;
148 typedef struct tySequence__DfmUmNgVGnYaiV1I6227tw tySequence__DfmUmNgVGnYaiV1I6227tw;
149 typedef struct tySequence__t8Uv4lEJ4lkuECvP9c6JMhA tySequence__t8Uv4lEJ4lkuECvP9c6JMhA;
150 typedef struct tyObject_BiTable__SMd2CpsYscvX1veKoGcqmg tyObject_BiTable__SMd2CpsYscvX1veKoGcqmg;
151 typedef struct tyObject_BiTable__DyMEQOe8VsqcG49bIhU69bBQ tyObject_BiTable__DyMEQOe8VsqcG49bIhU69bBQ;
152 typedef struct tySequence__IHUFRsFxZNv7YydiUO2esQ tySequence__IHUFRsFxZNv7YydiUO2esQ;
153 typedef struct tyObject_Table__CE4eiu6FavV1vmUiTXQ70g tyObject_Table__CE4eiu6FavV1vmUiTXQ70g;
154 typedef struct tySequence__9bT7o0CflHuiE4VhmtqBPCw tySequence__9bT7o0CflHuiE4VhmtqBPCw;
155 typedef struct tyObject_PackedEncoder__B9cE9a0GbvqWW9aHf4N7RAaIw tyObject_PackedEncoder__B9cE9a0GbvqWW9aHf4N7RAaIw;
156 typedef struct tyObject_Table__TRm6MPqklA8EYBmBMY117Q tyObject_Table__TRm6MPqklA8EYBmBMY117Q;
157 typedef struct tySequence__9cnx3zXnWzeclW8Ko4oUgAQ tySequence__9cnx3zXnWzeclW8Ko4oUgAQ;
158 typedef struct tyTuple__l7R9cf53SDCcRmz9aWTyEKqQ tyTuple__l7R9cf53SDCcRmz9aWTyEKqQ;
159 typedef struct tySequence__O5RcspOP32YJ4YtU5ppxxA tySequence__O5RcspOP32YJ4YtU5ppxxA;
160 typedef struct tyObject_LazyType__Q19c34D32PKyTKlx6R6yODg tyObject_LazyType__Q19c34D32PKyTKlx6R6yODg;
161 typedef struct tyObject_FullId__pfGm9bmVgXcP2kl6OfHhZgQ tyObject_FullId__pfGm9bmVgXcP2kl6OfHhZgQ;
162 typedef struct tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ;
163 typedef struct tyTuple__o67sDX0wYbEuhI9cJYAbDtg tyTuple__o67sDX0wYbEuhI9cJYAbDtg;
164 typedef struct tySequence__Or1y9bNpmj8PM8AcK9c9cg7RA tySequence__Or1y9bNpmj8PM8AcK9c9cg7RA;
165 typedef struct tyObject_LazyInstantiation__rlce0Sj8mBfLfm69c2yVTZg tyObject_LazyInstantiation__rlce0Sj8mBfLfm69c2yVTZg;
166 typedef struct tySequence__ipEvhpHAmm8ZCn9bZAOdNYA tySequence__ipEvhpHAmm8ZCn9bZAOdNYA;
167 typedef struct tyObject_TInstantiation__5LqgVn6Tq9ainQRK7TQAQxA tyObject_TInstantiation__5LqgVn6Tq9ainQRK7TQAQxA;
168 typedef struct tyTuple__9aNnDWBFMF44sfFinBpMT4Q tyTuple__9aNnDWBFMF44sfFinBpMT4Q;
169 typedef struct tyTuple__dT8l9anHpNRgQSBAI9ctQ2wg tyTuple__dT8l9anHpNRgQSBAI9ctQ2wg;
170 typedef struct tySequence__159bHWBGAOOs6U7OZ9cQlO0g tySequence__159bHWBGAOOs6U7OZ9cQlO0g;
171 typedef struct tyTuple__VrD6plbUKJjYKM0lCr3hGQ tyTuple__VrD6plbUKJjYKM0lCr3hGQ;
172 typedef struct tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA;
173 typedef struct tyTuple__1ZbjBgxAbnye0IFMZ6w4OA tyTuple__1ZbjBgxAbnye0IFMZ6w4OA;
174 typedef struct tyTuple__xYhUhS7X82rKTqbT9bRfCnw tyTuple__xYhUhS7X82rKTqbT9bRfCnw;
175 typedef struct tyTuple__rplX06U9bjhu9asm5pWdgqsA tyTuple__rplX06U9bjhu9asm5pWdgqsA;
176 typedef struct tyTuple__1mtQ8sCEE7DbfIuQciv9b5Q tyTuple__1mtQ8sCEE7DbfIuQciv9b5Q;
177 typedef struct tyTuple__xDU9bZmv1ZbZkJDaATBekIQ tyTuple__xDU9bZmv1ZbZkJDaATBekIQ;
178 typedef struct tyTuple__a9bBCAQ2tegdUQVlHYxdJ2A tyTuple__a9bBCAQ2tegdUQVlHYxdJ2A;
179 typedef struct tyTuple__3i6hlQmqrn6m7tuVN8FHjQ tyTuple__3i6hlQmqrn6m7tuVN8FHjQ;
180 typedef struct tyTuple__OJFzEczluV8Jmo9bRpBfkzw tyTuple__OJFzEczluV8Jmo9bRpBfkzw;
181 typedef struct tyTuple__2SGm9aGCXuo7XSQ9bqD29axXw tyTuple__2SGm9aGCXuo7XSQ9bqD29axXw;
182 typedef struct tyTuple__F3gkSrMB1qp2Tvf9bixVXwg tyTuple__F3gkSrMB1qp2Tvf9bixVXwg;
183 typedef struct tyTuple__wcNatyuf8WOqAhGLhSvgiw tyTuple__wcNatyuf8WOqAhGLhSvgiw;
184 typedef struct tyObject_BTree__VZdzO0Tlflp7WMN4gS8oPg tyObject_BTree__VZdzO0Tlflp7WMN4gS8oPg;
185 typedef struct tyObject_NodecolonObjectType___dNELmBSmY7nthjhZupWO6g tyObject_NodecolonObjectType___dNELmBSmY7nthjhZupWO6g;
186 typedef struct tyTuple__4o9cW9aUwdGqgZI9bSHHYnbaQ tyTuple__4o9cW9aUwdGqgZI9bSHHYnbaQ;
187 typedef struct tyTuple__z822nu9bFF1AlQnLrHjdwpA tyTuple__z822nu9bFF1AlQnLrHjdwpA;
188 typedef struct tyObject_TFileInfo__GE3hAakXKOEpch4ap3zXAw tyObject_TFileInfo__GE3hAakXKOEpch4ap3zXAw;
189 typedef struct tyTuple__QeWl6B6ffS4pU6WWrtcrDw tyTuple__QeWl6B6ffS4pU6WWrtcrDw;
190 typedef struct tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg;
191 typedef struct tyObject_TFullReg__GJRDbRqzZnSsmt2gZMzKBA tyObject_TFullReg__GJRDbRqzZnSsmt2gZMzKBA;
192 typedef struct tyTuple__0q9cmhneJEKnQERTpXXdz6Q tyTuple__0q9cmhneJEKnQERTpXXdz6Q;
193 typedef struct tyObject_PackedNode__7lDGAZiNp4zbO65GEpoKow tyObject_PackedNode__7lDGAZiNp4zbO65GEpoKow;
194 typedef struct tyObject_PackedLineInfo__Q9bbXLBurHo2r5TyF6UBshg tyObject_PackedLineInfo__Q9bbXLBurHo2r5TyF6UBshg;
195 typedef struct tyTuple__Izx9aRSX9a0diDXD84jOS9aMQ tyTuple__Izx9aRSX9a0diDXD84jOS9aMQ;
196 typedef struct tyTuple__Q7r9caOmeWqQGZCIBHhGRUA tyTuple__Q7r9caOmeWqQGZCIBHhGRUA;
197 typedef struct tyTuple__7Wlwbz8zSe7Udyf7mmsd9cg tyTuple__7Wlwbz8zSe7Udyf7mmsd9cg;
198 typedef struct tyTuple__XyJ8LOAZzVVXSsmt09b8uWw tyTuple__XyJ8LOAZzVVXSsmt09b8uWw;
199 typedef struct tyObject_PackedInstantiation__39cWRURu69agjI9c1ohiUmxiA tyObject_PackedInstantiation__39cWRURu69agjI9c1ohiUmxiA;
200 typedef struct tySequence__vC9cvg0R8tfBaOXXi3sfMzw tySequence__vC9cvg0R8tfBaOXXi3sfMzw;
201 typedef struct tyTuple__9aoobCDZB4x41HJSOmh0mwA tyTuple__9aoobCDZB4x41HJSOmh0mwA;
202 typedef struct tyTuple__g0Q6Qx15nK53ce9aLo7YyrA tyTuple__g0Q6Qx15nK53ce9aLo7YyrA;
203 typedef struct tyObject_PackedSym__XjVn21MwvH8ij6CfopYZWw tyObject_PackedSym__XjVn21MwvH8ij6CfopYZWw;
204 typedef struct tyObject_PackedLib__oa01YzfeXO9bbIDH9cIki4Hw tyObject_PackedLib__oa01YzfeXO9bbIDH9cIki4Hw;
205 typedef struct tyObject_PackedType__IhXsK7mrwumUBtEqbZ2BqA tyObject_PackedType__IhXsK7mrwumUBtEqbZ2BqA;
206 typedef struct tyTuple__8x6vq4Dc9aLvKX9actMeR9avQ tyTuple__8x6vq4Dc9aLvKX9actMeR9avQ;
207 typedef struct tyTuple__UvldbCB6B9ayi9bGYW7vJNLA tyTuple__UvldbCB6B9ayi9bGYW7vJNLA;
208 struct tyObject_Table__Ea0e9azliYta9cYyn0d49ah0w {
209 tySequence__E8pi9b5QNahsURYzXMjh3qw* data;
210 NI counter;
211 };
212 struct tyTuple__47w2DboNEPf69aPgubZdd7Q {
213 NI Field0;
214 NI Field1;
215 NI Field2;
216 };
217 typedef NU8 tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A;
218 typedef NU8 tySet_tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ;
219 typedef N_NIMCALL_PTR(void, tyProc__ojoeKfW4VYIm36I9cpDTQIg) (void* p, NI op);
220 typedef N_NIMCALL_PTR(void*, tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ) (void* p);
221 struct TNimType {
222 NI size;
223 NI align;
224 tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A kind;
225 tySet_tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ flags;
226 TNimType* base;
227 TNimNode* node;
228 void* finalizer;
229 tyProc__ojoeKfW4VYIm36I9cpDTQIg marker;
230 tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ deepcopy;
231 };
232 struct RootObj {
233 TNimType* m_type;
234 };
235 struct tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w {
236   RootObj Sup;
237 tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen;
238 };
239 typedef NU8 tyEnum_TEvalMode__UbrbHUpo4hYFr1DbYzJgRQ;
240 typedef NU8 tySet_tyEnum_TSandboxFlag__JyPEhkAmDAldmLHNNrLR0A;
241 struct tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q {
242 NU16 line;
243 NI16 col;
244 NI32 fileIndex;
245 };
246 struct TGenericSeq {
247 NI len;
248 NI reserved;
249 };
250 struct NimStringDesc {
251   TGenericSeq Sup;
252 NIM_CHAR data[SEQ_DECL_SIZE];
253 };
254 struct tyObject_Profiler__X5SfC6PDEhDFna4qLF0vtg {
255 NF tEnter;
256 tyObject_TStackFrame__DYXeymOyKb0OnIuD1ihEpQ* tos;
257 };
258 struct tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw {
259   tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w Sup;
260 tySequence__YdLNCDKYeipzJx3I8Xw82Q* code;
261 tySequence__PJMRIt5QxCm6bRaVyQ5CGA* debug;
262 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* globals;
263 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* constants;
264 tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A* types;
265 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* currentExceptionA;
266 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* currentExceptionB;
267 NI exceptionInstr;
268 tyObject_PProccolonObjectType___VFEBuxrDHC6kHPzc1TWaRQ* prc;
269 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* module;
270 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* callsite;
271 tyEnum_TEvalMode__UbrbHUpo4hYFr1DbYzJgRQ mode;
272 tySet_tyEnum_TSandboxFlag__JyPEhkAmDAldmLHNNrLR0A features;
273 NIM_BOOL traceActive;
274 NI loopIterations;
275 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q comesFromHeuristic;
276 tySequence__YWbgnI9b9a4j9aDYnupShIg3A* callbacks;
277 NimStringDesc* errorFlag;
278 tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw* cache;
279 tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* config;
280 tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph;
281 NI oldErrorCount;
282 tyObject_Profiler__X5SfC6PDEhDFna4qLF0vtg profiler;
283 NI* templInstCounter;
284 tySequence__Q9atPKk5Xsv6h4rje4WzNLQ* vmstateDiff;
285 tyObject_Table__Ea0e9azliYta9cYyn0d49ah0w procToCodePos;
286 };
287 struct tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g {
288 NI32 module;
289 NI32 item;
290 };
291 struct tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w {
292   RootObj Sup;
293 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g itemId;
294 };
295 typedef NU8 tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw;
296 typedef NU16 tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg;
297 typedef NU64 tySet_tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw;
298 typedef NU32 tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg;
299 typedef NU8 tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg;
300 typedef NU8 tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw;
301 typedef NU16 tySet_tyEnum_TLocFlag__o2bqJgR4ceIupnUSpxiudA;
302 struct tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA {
303 tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg k;
304 tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw storage;
305 tySet_tyEnum_TLocFlag__o2bqJgR4ceIupnUSpxiudA flags;
306 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* lode;
307 tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* r;
308 };
309 struct tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ {
310   tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w Sup;
311 tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw kind;
312 union{
313 struct {tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* gcUnsafetyReason;
314 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* transformedBody;
315 } _kind_1;
316 struct {tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* guard;
317 NI bitsize;
318 NI alignment;
319 } _kind_2;
320 };
321 tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg magic;
322 tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
323 tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* name;
324 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info;
325 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner;
326 tySet_tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw flags;
327 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ast;
328 tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg options;
329 NI position;
330 NI offset;
331 tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA loc;
332 tyObject_TLib__NBMxlJ6g3utqUlplqTTHkA* annex;
333 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* constraint;
334 };
335 typedef NU8 tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ;
336 typedef NU8 tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ;
337 struct TNimNode {
338 tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ kind;
339 NI offset;
340 TNimType* typ;
341 NCSTRING name;
342 NI len;
343 TNimNode** sons;
344 };
345 struct tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g {
346 NI refcount;
347 TNimType* typ;
348 };
349 struct tyObject_GcStack__7fytPA5bBsob6See21YMRA {
350 void* bottom;
351 };
352 struct tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w {
353 NI len;
354 NI cap;
355 tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g** d;
356 };
357 typedef tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ* tyArray__SPr7N6UKfuF549bNPiUvSRw[256];
358 typedef NU32 tyArray__BHbOSqU1t9b3Gt7K2c6fQig[24];
359 typedef tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* tyArray__N1u1nqOgmuJN9cSZrnMHgOQ[32];
360 typedef tyArray__N1u1nqOgmuJN9cSZrnMHgOQ tyArray__B6durA4ZCi1xjJvRtyYxMg[24];
361 typedef tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw* tyArray__lh2A89ahMmYg9bCmpVaplLbA[256];
362 struct tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA {
363 tyArray__lh2A89ahMmYg9bCmpVaplLbA data;
364 };
365 typedef tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* tyArray__0aOLqZchNi8nWtMTi8ND8w[2];
366 struct tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw {
367 tyArray__0aOLqZchNi8nWtMTi8ND8w link;
368 NI key;
369 NI upperBound;
370 NI level;
371 };
372 struct tyTuple__ujsjpB2O9cjj3uDHsXbnSzg {
373 tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* Field0;
374 NI Field1;
375 };
376 typedef tyTuple__ujsjpB2O9cjj3uDHsXbnSzg tyArray__LzOv2eCDGiceMKQstCLmhw[30];
377 struct tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg {
378 NI len;
379 tyArray__LzOv2eCDGiceMKQstCLmhw chunks;
380 tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg* next;
381 };
382 struct tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg {
383 NI minLargeObj;
384 NI maxLargeObj;
385 tyArray__SPr7N6UKfuF549bNPiUvSRw freeSmallChunks;
386 NU32 flBitmap;
387 tyArray__BHbOSqU1t9b3Gt7K2c6fQig slBitmap;
388 tyArray__B6durA4ZCi1xjJvRtyYxMg matrix;
389 tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw* llmem;
390 NI currMem;
391 NI maxMem;
392 NI freeMem;
393 NI occ;
394 NI lastSize;
395 tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA chunkStarts;
396 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* root;
397 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* deleted;
398 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* last;
399 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* freeAvlNodes;
400 NIM_BOOL locked;
401 NIM_BOOL blockChunkSizeIncrease;
402 NI nextChunkSize;
403 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw bottomData;
404 tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg heapLinks;
405 };
406 struct tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg {
407 NI stackScans;
408 NI cycleCollections;
409 NI maxThreshold;
410 NI maxStackSize;
411 NI maxStackCells;
412 NI cycleTableSize;
413 NI64 maxPause;
414 };
415 struct tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ {
416 NI counter;
417 NI max;
418 tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg* head;
419 tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg** data;
420 };
421 struct tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ {
422 tyObject_GcStack__7fytPA5bBsob6See21YMRA stack;
423 NI cycleThreshold;
424 NI zctThreshold;
425 tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w zct;
426 tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w decStack;
427 tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w tempStack;
428 NI recGcLock;
429 tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg region;
430 tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg stat;
431 tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ marked;
432 tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w additionalRoots;
433 NI gcThreadId;
434 };
435 typedef NU8 tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw;
436 typedef NU32 tySet_tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg;
437 typedef NU8 tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw;
438 struct tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw {
439 tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
440 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info;
441 tySet_tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg flags;
442 tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind;
443 union{
444 struct {NI64 intVal;
445 } _kind_1;
446 struct {NF floatVal;
447 } _kind_2;
448 struct {NimStringDesc* strVal;
449 } _kind_3;
450 struct {tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym;
451 } _kind_4;
452 struct {tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* ident;
453 } _kind_5;
454 struct {tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ* sons;
455 } _kind_6;
456 };
457 };
458 typedef NU8 tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w;
459 typedef NU8 tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw;
460 struct tyTuple__kN8up2W6YKc5YA9avn5mV5w {
461 NimStringDesc* Field0;
462 NI Field1;
463 NI Field2;
464 };
465 struct tyObject_PProccolonObjectType___VFEBuxrDHC6kHPzc1TWaRQ {
466 tySequence__JokFGfUW6i9b6aeU7xu6xBw* blocks;
467 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym;
468 tySequence__C1Ql3I9bU3HGPJdRd2y9cbVg* regInfo;
469 };
470 typedef NU8 tyEnum_TSlotKind__QOyrDzzey9cf6gDtSRPuZMQ;
471 struct tyTuple__SlmU1Ju0WFHUWkihyHMVYg {
472 NIM_BOOL Field0;
473 tyEnum_TSlotKind__QOyrDzzey9cf6gDtSRPuZMQ Field1;
474 };
475 typedef NU8 tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag;
476 typedef NU8 tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA;
477 typedef NU64 tySet_tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw;
478 struct tyObject_TType__facALICuu8zUj0hjvbTLFg {
479   tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w Sup;
480 tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kind;
481 tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA callConv;
482 tySet_tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw flags;
483 tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A* sons;
484 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n;
485 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner;
486 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym;
487 NI64 size;
488 NI16 align;
489 NI16 paddingAtEnd;
490 NI16 lockLevel;
491 tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA loc;
492 tyObject_TType__facALICuu8zUj0hjvbTLFg* typeInst;
493 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g uniqueId;
494 };
495 typedef NU8 tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw;
496 typedef NU8 tySet_tyEnum_TGenFlag__dpr9bkeHD0U9bDk615O0L1FQ;
497 typedef NU16 tySet_tyEnum_TRenderFlag__wrPgUo1ExBlHvFnXN2nSHw;
498 struct tyObject_Table__ZqXrnX212T9bCb4lhpQ9bFBw {
499 tySequence__ChDZ6dokJ9aj9cg3KBoCU5vg* data;
500 NI counter;
501 };
502 struct tyObject_Table__UVZI5J9aS51B4B0eYPpW1Rg {
503 tySequence__mWRMiYLthG9coLjkbElCxkw* data;
504 NI counter;
505 };
506 struct tyObject_Table__iowAVDkco3qpbEH0z8OmkQ {
507 tySequence__bTDCDwD2P7TodzbAefLcSw* data;
508 NI counter;
509 };
510 typedef tyObject_Table__iowAVDkco3qpbEH0z8OmkQ tyArray__pxY9cgs6r9cBvGwlO8XZ9ccbQ[5];
511 struct tyObject_Table__KUYGGgSxi8wBr0SXET9bi3w {
512 tySequence__3MPVXAHA08SszBrU4ffqEg* data;
513 NI counter;
514 };
515 struct tyObject_Table__KcymdZjUsmGSK8BxmvoJgw {
516 tySequence__YCf5zJHm4JI06qpmKwPUWg* data;
517 NI counter;
518 };
519 struct tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA {
520 tySequence__7lEisrXlQEzwtUKW5pzRCw* data;
521 NI counter;
522 };
523 typedef NU8 tyEnum_TBackend__4OBsgZ9cscH2JLUE5Wcz01g;
524 typedef NU8 tyEnum_TGCMode__tkz389aDYNd8ykeZszCuBSw;
525 typedef NU8 tyEnum_TSystemCC__1eWBJUonHMOnlBwsOvpFmA;
526 typedef NU64 tySet_tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw;
527 struct tyObject_PackedConfig__McwvRupqDAJbGrinIDFZJQ {
528 tyEnum_TBackend__4OBsgZ9cscH2JLUE5Wcz01g backend;
529 tyEnum_TGCMode__tkz389aDYNd8ykeZszCuBSw selectedGC;
530 tyEnum_TSystemCC__1eWBJUonHMOnlBwsOvpFmA cCompiler;
531 tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg options;
532 tySet_tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw globalOptions;
533 };
534 struct tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA {
535 NI counter;
536 tySequence__eHqUwlHGGaPw0TDPDeL79cQ* data;
537 };
538 struct tyObject_Table__hd3qB0wXU9bWPJR7fjShhbA {
539 tySequence__61s9cbAniKuBrdHwBhMDfQg* data;
540 NI counter;
541 };
542 typedef NI tyArray__emiAJ8okywrJw7ZHLzlXbQ[34];
543 struct tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA {
544 NI elems;
545 NI counter;
546 NI max;
547 tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA* head;
548 tySequence__Bre9bNyuQOg1EJKitjSzn8w* data;
549 tyArray__emiAJ8okywrJw7ZHLzlXbQ a;
550 };
551 struct tyObject_Table__fdKWDDO1P17zvuQPReVgRA {
552 tySequence__fdmz6VkIf1ewwrssKYqRFg* data;
553 NI counter;
554 };
555 struct tyObject_Table__e2Ciu0s1q49aVQ7ULXy7l9bQ {
556 tySequence__kxu4GK0onha2t9bo86mdVAg* data;
557 NI counter;
558 };
559 typedef struct {
560 N_NIMCALL_PTR(NIM_BOOL, ClP_0) (void* ClE_0);
561 void* ClE_0;
562 } tyProc__In3g79a0qTcRmbTbJp9ba9ctg;
563 typedef tyObject_TType__facALICuu8zUj0hjvbTLFg* tyArray__9bjuenwQUcqO3lbmS2wX7uA[65];
564 struct tyObject_Table__Ue6w4c82v7gc7t2qntTbAw {
565 tySequence__1U9bG8RcAedEeYkQLZjVFKA* data;
566 NI counter;
567 };
568 struct tyObject_Table__G1v8c16HePOldLeucwe05Q {
569 tySequence__fIB1rTQ55aFonoft9a9bmljQ* data;
570 NI counter;
571 };
572 typedef N_NIMCALL_PTR(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, tyProc__VHDwJFdIqpwtpUGuxiXUwg) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* m, NI32 fileIdx);
573 typedef N_NIMCALL_PTR(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, tyProc__mjUN9alLJ31lnSKkUsuyWMw) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* m, NI32 fileIdx);
574 struct tyObject_Table__0Y2brGGKD9bV6GJLXT9aUDgA {
575 tySequence__23SMqauuRsbDANhthj9bWlA* data;
576 NI counter;
577 };
578 struct tyObject_Table__NttoEzoiq5CiphZe81oadg {
579 tySequence__squ9b9bUH4OLHf6cEMrt6hVA* data;
580 NI counter;
581 };
582 struct tyObject_Table__nagDFX4QHx0s6Fvma9blmSg {
583 tySequence__pHNq3oXj9av2sEUdqaqeZjw* data;
584 NI counter;
585 };
586 typedef N_NIMCALL_PTR(void, tyProc__TjycsqkDBjsxd4da6KYTng) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
587 typedef N_NIMCALL_PTR(void, tyProc__Mrj9cEgtPER9bAXMDB9cTXrfQ) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* body);
588 typedef N_NIMCALL_PTR(NIM_BOOL, tyProc__J7Jq15ZScfKLqcLx8sEz9cA) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TType__facALICuu8zUj0hjvbTLFg* formal, tyObject_TType__facALICuu8zUj0hjvbTLFg* actual);
589 struct tyObject_Operators__EbMP71azE1HSvYAQoCH9cXA {
590 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opNot;
591 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opContains;
592 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opLe;
593 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opLt;
594 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opAnd;
595 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opOr;
596 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opIsNil;
597 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opEq;
598 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opAdd;
599 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opSub;
600 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opMul;
601 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opDiv;
602 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opLen;
603 };
604 struct tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ {
605 tySequence__4mZLwkxT8rbt9bf3wXrXYNQ* ifaces;
606 tySequence__rQHmYk1HzcwNxKBymIFHpA* packed_0;
607 tySequence__XMM60DtBsc6xYsIpNANkrA* encoders;
608 tyObject_Table__ZqXrnX212T9bCb4lhpQ9bFBw typeInstCache;
609 tyObject_Table__UVZI5J9aS51B4B0eYPpW1Rg procInstCache;
610 tyArray__pxY9cgs6r9cBvGwlO8XZ9ccbQ attachedOps;
611 tyObject_Table__KUYGGgSxi8wBr0SXET9bi3w methodsPerType;
612 tyObject_Table__KcymdZjUsmGSK8BxmvoJgw enumToStringProcs;
613 tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA emittedTypeInfo;
614 tyObject_PackedConfig__McwvRupqDAJbGrinIDFZJQ startupPackedConfig;
615 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA packageSyms;
616 tyObject_Table__hd3qB0wXU9bWPJR7fjShhbA modulesPerPackage;
617 tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA deps;
618 tyObject_Table__fdKWDDO1P17zvuQPReVgRA importDeps;
619 NIM_BOOL suggestMode;
620 NIM_BOOL invalidTransitiveClosure;
621 tyObject_Table__e2Ciu0s1q49aVQ7ULXy7l9bQ inclToMod;
622 tySequence__48JTohSgTy339bRxHzUD8KA* importStack;
623 RootObj* backend;
624 tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* config;
625 tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw* cache;
626 RootObj* vm;
627 tyProc__In3g79a0qTcRmbTbJp9ba9ctg doStopCompile;
628 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* usageSym;
629 tySequence__eHqUwlHGGaPw0TDPDeL79cQ* owners;
630 tySequence__s9byh6WFJ16lPMcmqdaMTHA* methods;
631 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* systemModule;
632 tyArray__9bjuenwQUcqO3lbmS2wX7uA sysTypes;
633 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA compilerprocs;
634 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA exposed;
635 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA packageTypes;
636 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* emptyNode;
637 tyObject_Table__Ue6w4c82v7gc7t2qntTbAw canonTypes;
638 tyObject_Table__G1v8c16HePOldLeucwe05Q symBodyHashes;
639 tyProc__VHDwJFdIqpwtpUGuxiXUwg importModuleCallback;
640 tyProc__mjUN9alLJ31lnSKkUsuyWMw includeFileCallback;
641 tyObject_Table__0Y2brGGKD9bV6GJLXT9aUDgA cacheSeqs;
642 tyObject_Table__NttoEzoiq5CiphZe81oadg cacheCounters;
643 tyObject_Table__nagDFX4QHx0s6Fvma9blmSg cacheTables;
644 tySequence__MAQKEADohlpnXTModtugbQ* passes;
645 tyProc__TjycsqkDBjsxd4da6KYTng onDefinition;
646 tyProc__TjycsqkDBjsxd4da6KYTng onDefinitionResolveForward;
647 tyProc__TjycsqkDBjsxd4da6KYTng onUsage;
648 tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ* globalDestructors;
649 tyProc__Mrj9cEgtPER9bAXMDB9cTXrfQ strongSemCheck;
650 tyProc__J7Jq15ZScfKLqcLx8sEz9cA compatibleProps;
651 tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen;
652 tyObject_Operators__EbMP71azE1HSvYAQoCH9cXA operators;
653 };
654 typedef NU8 tyEnum_TSystemCPU__XYDt7D1G3qcClFyZy1Ky9ag;
655 typedef NU8 tyEnum_TSystemOS__s7Mlr1t66SUqP6BKJMXLaQ;
656 struct tyObject_Target__9abOl5DLX8suLujOaHSvGzw {
657 tyEnum_TSystemCPU__XYDt7D1G3qcClFyZy1Ky9ag targetCPU;
658 tyEnum_TSystemCPU__XYDt7D1G3qcClFyZy1Ky9ag hostCPU;
659 tyEnum_TSystemOS__s7Mlr1t66SUqP6BKJMXLaQ targetOS;
660 tyEnum_TSystemOS__s7Mlr1t66SUqP6BKJMXLaQ hostOS;
661 NI intSize;
662 NI floatSize;
663 NI ptrSize;
664 NimStringDesc* tnl;
665 };
666 typedef NU8 tySet_tyEnum_TErrorOutput__fBf8Teueoz9aAkO5cXaxrpA;
667 struct tyObject_MsgConfig__kV7r8HWT0SqOYW2k2ukC6A {
668 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q trackPos;
669 NIM_BOOL trackPosAttached;
670 tySet_tyEnum_TErrorOutput__fBf8Teueoz9aAkO5cXaxrpA errorOutputs;
671 tySequence__tNFrR3kRuS1FSwuiLGoSSA* msgContext;
672 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q lastError;
673 tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA filenameToIndexTbl;
674 tySequence__Zi9cGbCWofbtABoHJ5RbLNQ* fileInfos;
675 NI32 systemFileIdx;
676 };
677 typedef NU8 tyEnum_FilenameOption__eL86bAtPxXWHj24F5gOMFQ;
678 typedef NU8 tyEnum_Command__0zjcIQ623TIRGPdtjLwTFA;
679 typedef NU8 tyEnum_ExceptionSystem__1mkAogyaDAT7g9cQjzsgKLQ;
680 typedef NU8 tyEnum_SymbolFilesOption__gBES9bqm1ru9ape8SeMRAFgQ;
681 struct tyObject_HashSet__CD8Dpv0WGmASelVaNSo6zg {
682 tySequence__4eRCaZmrYLLw2k30GPTiMw* data;
683 NI counter;
684 };
685 typedef NU32 tySet_tyEnum_Feature__01UoAKYz1MxZiuG1X2VhNQ;
686 typedef NU8 tySet_tyEnum_LegacyFeature__hGCD9aOrxPvpXn4Ne6W6OVA;
687 typedef NU8 tyEnum_IdeCmd__1Ced39bl5eePmZ1PKMPXigQ;
688 typedef NU8 tySet_tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug[11];
689 typedef NU8 tySet_tyEnum_StdOrrKind__6cbmyTzDPaZU9afMe4mz3Ug;
690 typedef struct {
691 N_NIMCALL_PTR(void, ClP_0) (tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ* result, void* ClE_0);
692 void* ClE_0;
693 } tyProc__YD0MR9bJ2x4beJkZdnjXN9cA;
694 typedef struct {
695 N_NIMCALL_PTR(void, ClP_0) (NimStringDesc* output, void* ClE_0);
696 void* ClE_0;
697 } tyProc__k2HFjxisIgDALbEUFojxaQ;
698 typedef NU8 tyEnum_Severity__x5BWBPGAbIH9clm5pmNp5DA;
699 typedef struct {
700 N_NIMCALL_PTR(void, ClP_0) (tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* config, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, NimStringDesc* msg, tyEnum_Severity__x5BWBPGAbIH9clm5pmNp5DA severity, void* ClE_0);
701 void* ClE_0;
702 } tyProc__oL9coyIA2VDTGdUcur9aL9bew;
703 struct tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw {
704 tyEnum_TBackend__4OBsgZ9cscH2JLUE5Wcz01g backend;
705 tyObject_Target__9abOl5DLX8suLujOaHSvGzw target;
706 NI linesCompiled;
707 tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg options;
708 tySet_tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw globalOptions;
709 tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* macrosToExpand;
710 tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* arcToExpand;
711 tyObject_MsgConfig__kV7r8HWT0SqOYW2k2ukC6A m;
712 tyEnum_FilenameOption__eL86bAtPxXWHj24F5gOMFQ filenameOption;
713 NimStringDesc* unitSep;
714 NI evalTemplateCounter;
715 NI evalMacroCounter;
716 NI8 exitcode;
717 tyEnum_Command__0zjcIQ623TIRGPdtjLwTFA cmd;
718 NimStringDesc* cmdInput;
719 NIM_BOOL projectIsCmd;
720 NIM_BOOL implicitCmd;
721 tyEnum_TGCMode__tkz389aDYNd8ykeZszCuBSw selectedGC;
722 tyEnum_ExceptionSystem__1mkAogyaDAT7g9cQjzsgKLQ exc;
723 NIM_BOOL hintProcessingDots;
724 NI verbosity;
725 NI numberOfProcessors;
726 NF lastCmdTime;
727 tyEnum_SymbolFilesOption__gBES9bqm1ru9ape8SeMRAFgQ symbolFiles;
728 NI spellSuggestMax;
729 tyObject_HashSet__CD8Dpv0WGmASelVaNSo6zg cppDefines;
730 NimStringDesc* headerFile;
731 tySet_tyEnum_Feature__01UoAKYz1MxZiuG1X2VhNQ features;
732 tySet_tyEnum_LegacyFeature__hGCD9aOrxPvpXn4Ne6W6OVA legacyFeatures;
733 NimStringDesc* arguments;
734 tyEnum_IdeCmd__1Ced39bl5eePmZ1PKMPXigQ ideCmd;
735 NIM_BOOL oldNewlines;
736 tyEnum_TSystemCC__1eWBJUonHMOnlBwsOvpFmA cCompiler;
737 tySet_tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug modifiedyNotes;
738 tySet_tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug cmdlineNotes;
739 tySet_tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug foreignPackageNotes;
740 tySet_tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug notes;
741 tySet_tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug warningAsErrors;
742 tySet_tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug mainPackageNotes;
743 NI mainPackageId;
744 NI errorCounter;
745 NI hintCounter;
746 NI warnCounter;
747 NI errorMax;
748 NI maxLoopIterationsVM;
749 NIM_BOOL isVmTrace;
750 tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* configVars;
751 tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* symbols;
752 tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* packageCache;
753 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* nimblePaths;
754 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* searchPaths;
755 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* lazyPaths;
756 NimStringDesc* outFile;
757 NimStringDesc* outDir;
758 NimStringDesc* jsonBuildFile;
759 NimStringDesc* prefixDir;
760 NimStringDesc* libpath;
761 NimStringDesc* nimcacheDir;
762 tyTuple__47w2DboNEPf69aPgubZdd7Q nimStdlibVersion;
763 tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* dllOverrides;
764 tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* moduleOverrides;
765 tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* cfileSpecificOptions;
766 NimStringDesc* projectName;
767 NimStringDesc* projectPath;
768 NimStringDesc* projectFull;
769 NIM_BOOL projectIsStdin;
770 tySet_tyEnum_StdOrrKind__6cbmyTzDPaZU9afMe4mz3Ug lastMsgWasDot;
771 NI32 projectMainIdx;
772 NI32 projectMainIdx2;
773 NimStringDesc* command;
774 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* commandArgs;
775 NimStringDesc* commandLine;
776 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* extraCmds;
777 NIM_BOOL keepComments;
778 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* implicitImports;
779 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* implicitIncludes;
780 NimStringDesc* docSeeSrcUrl;
781 NimStringDesc* docRoot;
782 NimStringDesc* docCmd;
783 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* configFiles;
784 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* cIncludes;
785 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* cLibs;
786 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* cLinkedLibs;
787 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* externalToLink;
788 NimStringDesc* linkOptionsCmd;
789 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* compileOptionsCmd;
790 NimStringDesc* linkOptions;
791 NimStringDesc* compileOptions;
792 NimStringDesc* cCompilerPath;
793 tySequence__pK3qSsBZwdXd6qyUMkd5Jw* toCompile;
794 tyProc__YD0MR9bJ2x4beJkZdnjXN9cA suggestionResultHook;
795 NI suggestVersion;
796 NI suggestMaxResults;
797 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q lastLineInfo;
798 tyProc__k2HFjxisIgDALbEUFojxaQ writelnHook;
799 tyProc__oL9coyIA2VDTGdUcur9aL9bew structuredErrorHook;
800 NimStringDesc* cppCustomNamespace;
801 NimStringDesc* nimMainPrefix;
802 tyObject_ProfileDatacolonObjectType___rPBBfFL4X0b9cQ6rfMNPXig* vmProfileData;
803 };
804 struct tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA {
805 NI id;
806 NimStringDesc* s;
807 tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* next;
808 NI h;
809 };
810 typedef NU8 tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag[9];
811 typedef NU32 tyArray__FleBT9cC2nxhgiXmSYYnEKA[4];
812 struct tyObject_Int128__9a9axPfb75jdWY25AamJewkA {
813 tyArray__FleBT9cC2nxhgiXmSYYnEKA udata;
814 };
815 typedef NU8 tyEnum_TGenFlag__dpr9bkeHD0U9bDk615O0L1FQ;
816 typedef struct {
817 N_NIMCALL_PTR(void, ClP_0) (tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* args, void* ClE_0);
818 void* ClE_0;
819 } tyProc__5QC9cKfPJmKuW0XbCTd8ylA;
820 struct tyTuple__C1iPjdrPjiQaUrcFhIp9aGw {
821 NimStringDesc* Field0;
822 tyProc__5QC9cKfPJmKuW0XbCTd8ylA Field1;
823 };
824 typedef NU8 tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg;
825 typedef NU8 tySet_tyEnum_TTypeCmpFlag__72pgRXSg7774cr9aCWVPORw;
826 struct tyObject_Env_vmgendotnim_genConv___tSX9a6VppB8gTJYBP9aDt4MA {
827   RootObj Sup;
828 NI colonstate_;
829 tyObject_TType__facALICuu8zUj0hjvbTLFg* t21;
830 tyObject_TType__facALICuu8zUj0hjvbTLFg* targ22;
831 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n3;
832 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* arg4;
833 };
834 typedef N_CLOSURE_PTR(NIM_BOOL, TM__24XApAWKNvaMkcyklm8bNA_54) (void);
835 typedef NimStringDesc* tyArray__nHXaesL0DJZHyVS07ARPRA[1];
836 struct tyObject_TBlock__2tJGcW69ahqq39a9bVJC1sqGQ {
837 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* label;
838 tySequence__qwqHTkRvwhrRyENtudHQ7g* fixups;
839 };
840 typedef NU8 tyEnum_TSandboxFlag__JyPEhkAmDAldmLHNNrLR0A;
841 struct tyTuple__4707W0MdkBgzyuDClNdLBQ {
842 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* Field0;
843 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* Field1;
844 };
845 struct tyObject_Iface__uvkV248cZcsEQKaQm7C9aEA {
846 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* module;
847 tySequence__vv5mGmK03BCr5e3LTZA5Hw* converters;
848 tySequence__vv5mGmK03BCr5e3LTZA5Hw* patterns;
849 tySequence__vv5mGmK03BCr5e3LTZA5Hw* pureEnums;
850 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA interf;
851 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA interfHidden;
852 tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* uniqueName;
853 };
854 typedef NU8 tyEnum_ModuleStatus__MgSLMPwZ4GVYYz7Kn9bmm6Q;
855 struct tyObject_PackedTree__8otSrA7MENGYESDkEP7nnw {
856 tySequence__29bS0n2QNyO1R7e0qMMOvLA* nodes;
857 };
858 typedef NU8 tySet_tyEnum_ModuleBackendFlag__fgnyOEZ7Q9aYVj8O59afcT4g;
859 struct tyObject_BiTable__SMd2CpsYscvX1veKoGcqmg {
860 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* vals;
861 tySequence__9bAGqSvkAaFL9bWjsEPslrFA* keys;
862 };
863 struct tyObject_BiTable__DyMEQOe8VsqcG49bIhU69bBQ {
864 tySequence__IHUFRsFxZNv7YydiUO2esQ* vals;
865 tySequence__9bAGqSvkAaFL9bWjsEPslrFA* keys;
866 };
867 struct tyObject_PackedModule__ZSxNoR2V6oK5xosmtvhjNQ {
868 NimStringDesc* definedSymbols;
869 tySet_tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw moduleFlags;
870 tySequence__PXIzfWocnrafGz5p3CP5LA* includes;
871 tySequence__9bAGqSvkAaFL9bWjsEPslrFA* imports;
872 tyObject_PackedTree__8otSrA7MENGYESDkEP7nnw toReplay;
873 tyObject_PackedTree__8otSrA7MENGYESDkEP7nnw topLevel;
874 tyObject_PackedTree__8otSrA7MENGYESDkEP7nnw bodies;
875 tySequence__b89aLriiJnVTD186H6zNIgg* exports;
876 tySequence__b89aLriiJnVTD186H6zNIgg* hidden;
877 tySequence__REuPuHuSlOkZ0Q5oqzDrQg* reexports;
878 tySequence__b89aLriiJnVTD186H6zNIgg* compilerProcs;
879 tySequence__48JTohSgTy339bRxHzUD8KA* converters;
880 tySequence__48JTohSgTy339bRxHzUD8KA* methods;
881 tySequence__48JTohSgTy339bRxHzUD8KA* trmacros;
882 tySequence__48JTohSgTy339bRxHzUD8KA* pureEnums;
883 tySequence__I9aQmO9asXXWJ58UI9c8BCSzA* macroUsages;
884 tySequence__NyaOkf8ZwxP6rkRF5TOkew* typeInstCache;
885 tySequence__L9bOt8CaTEmIjgtuZvp6syg* procInstCache;
886 tySequence__im8UB2GsZvUaQ4a1wKGWhQ* attachedOps;
887 tySequence__xxnXDLpoqBo8zJzP9b1073g* methodsPerType;
888 tySequence__NyaOkf8ZwxP6rkRF5TOkew* enumToStringProcs;
889 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* emittedTypeInfo;
890 tySet_tyEnum_ModuleBackendFlag__fgnyOEZ7Q9aYVj8O59afcT4g backendFlags;
891 tySequence__DfmUmNgVGnYaiV1I6227tw* syms;
892 tySequence__t8Uv4lEJ4lkuECvP9c6JMhA* types;
893 tyObject_BiTable__SMd2CpsYscvX1veKoGcqmg strings;
894 tyObject_BiTable__DyMEQOe8VsqcG49bIhU69bBQ numbers;
895 tyObject_PackedConfig__McwvRupqDAJbGrinIDFZJQ cfg;
896 };
897 struct tyObject_Table__CE4eiu6FavV1vmUiTXQ70g {
898 tySequence__9bT7o0CflHuiE4VhmtqBPCw* data;
899 NI counter;
900 };
901 struct tyObject_LoadedModule__14iJKkvOiWT62KF2D8f9c5w {
902 tyEnum_ModuleStatus__MgSLMPwZ4GVYYz7Kn9bmm6Q status;
903 NIM_BOOL symsInit;
904 NIM_BOOL typesInit;
905 NIM_BOOL loadedButAliveSetChanged;
906 tyObject_PackedModule__ZSxNoR2V6oK5xosmtvhjNQ fromDisk;
907 tySequence__eHqUwlHGGaPw0TDPDeL79cQ* syms;
908 tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A* types;
909 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* module;
910 tyObject_Table__CE4eiu6FavV1vmUiTXQ70g iface;
911 tyObject_Table__CE4eiu6FavV1vmUiTXQ70g ifaceHidden;
912 };
913 struct tyObject_Table__TRm6MPqklA8EYBmBMY117Q {
914 tySequence__9cnx3zXnWzeclW8Ko4oUgAQ* data;
915 NI counter;
916 };
917 struct tyObject_PackedEncoder__B9cE9a0GbvqWW9aHf4N7RAaIw {
918 NI32 thisModule;
919 NI32 lastFile;
920 NU32 lastLit;
921 tyObject_Table__TRm6MPqklA8EYBmBMY117Q filenames;
922 tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A* pendingTypes;
923 tySequence__eHqUwlHGGaPw0TDPDeL79cQ* pendingSyms;
924 tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA typeMarker;
925 tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA symMarker;
926 tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* config;
927 };
928 struct tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ {
929 NU32 module;
930 NI32 item;
931 };
932 struct tyObject_FullId__pfGm9bmVgXcP2kl6OfHhZgQ {
933 NI module;
934 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ packed_0;
935 };
936 struct tyObject_LazyType__Q19c34D32PKyTKlx6R6yODg {
937 tyObject_FullId__pfGm9bmVgXcP2kl6OfHhZgQ id;
938 tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
939 };
940 struct tyTuple__l7R9cf53SDCcRmz9aWTyEKqQ {
941 NI Field0;
942 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g Field1;
943 tySequence__O5RcspOP32YJ4YtU5ppxxA* Field2;
944 };
945 struct tyObject_LazyInstantiation__rlce0Sj8mBfLfm69c2yVTZg {
946 NI module;
947 tyObject_FullId__pfGm9bmVgXcP2kl6OfHhZgQ sym;
948 tySequence__ipEvhpHAmm8ZCn9bZAOdNYA* concreteTypes;
949 tyObject_TInstantiation__5LqgVn6Tq9ainQRK7TQAQxA* inst;
950 };
951 struct tyTuple__o67sDX0wYbEuhI9cJYAbDtg {
952 NI Field0;
953 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g Field1;
954 tySequence__Or1y9bNpmj8PM8AcK9c9cg7RA* Field2;
955 };
956 struct tyTuple__9aNnDWBFMF44sfFinBpMT4Q {
957 NI Field0;
958 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g Field1;
959 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* Field2;
960 };
961 struct tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA {
962 tyObject_FullId__pfGm9bmVgXcP2kl6OfHhZgQ id;
963 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym;
964 };
965 struct tyTuple__VrD6plbUKJjYKM0lCr3hGQ {
966 NI Field0;
967 tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA Field1;
968 };
969 struct tyTuple__dT8l9anHpNRgQSBAI9ctQ2wg {
970 NI Field0;
971 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g Field1;
972 tySequence__159bHWBGAOOs6U7OZ9cQlO0g* Field2;
973 };
974 struct tyTuple__1ZbjBgxAbnye0IFMZ6w4OA {
975 NI Field0;
976 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g Field1;
977 tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA Field2;
978 };
979 struct tyTuple__xYhUhS7X82rKTqbT9bRfCnw {
980 NI Field0;
981 NimStringDesc* Field1;
982 NI32 Field2;
983 };
984 struct tyTuple__rplX06U9bjhu9asm5pWdgqsA {
985 NI Field0;
986 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g Field1;
987 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA Field2;
988 };
989 struct tyTuple__1mtQ8sCEE7DbfIuQciv9b5Q {
990 NI Field0;
991 NI32 Field1;
992 tySequence__48JTohSgTy339bRxHzUD8KA* Field2;
993 };
994 struct tyTuple__xDU9bZmv1ZbZkJDaATBekIQ {
995 NI Field0;
996 NI32 Field1;
997 NI32 Field2;
998 };
999 struct tyTuple__a9bBCAQ2tegdUQVlHYxdJ2A {
1000 tySequence__eHqUwlHGGaPw0TDPDeL79cQ* Field0;
1001 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* Field1;
1002 };
1003 typedef NU8 tyArray__qtqsWM5aXmcpMIVmvq3kAA[16];
1004 struct tyTuple__3i6hlQmqrn6m7tuVN8FHjQ {
1005 NI Field0;
1006 tyArray__qtqsWM5aXmcpMIVmvq3kAA Field1;
1007 tyObject_TType__facALICuu8zUj0hjvbTLFg* Field2;
1008 };
1009 struct tyTuple__OJFzEczluV8Jmo9bRpBfkzw {
1010 NI Field0;
1011 NI Field1;
1012 tyArray__qtqsWM5aXmcpMIVmvq3kAA Field2;
1013 };
1014 struct tyTuple__2SGm9aGCXuo7XSQ9bqD29axXw {
1015 NI Field0;
1016 NimStringDesc* Field1;
1017 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* Field2;
1018 };
1019 struct tyTuple__F3gkSrMB1qp2Tvf9bixVXwg {
1020 NI Field0;
1021 NimStringDesc* Field1;
1022 NI64 Field2;
1023 };
1024 struct tyObject_BTree__VZdzO0Tlflp7WMN4gS8oPg {
1025 tyObject_NodecolonObjectType___dNELmBSmY7nthjhZupWO6g* root;
1026 NI entries;
1027 };
1028 struct tyTuple__wcNatyuf8WOqAhGLhSvgiw {
1029 NI Field0;
1030 NimStringDesc* Field1;
1031 tyObject_BTree__VZdzO0Tlflp7WMN4gS8oPg Field2;
1032 };
1033 typedef N_NIMCALL_PTR(tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w*, tyProc__jkSFMhvPZ1AdGcvT2dK9a2w) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* module, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen);
1034 typedef N_NIMCALL_PTR(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, tyProc__A7Sdoem70tRxSEmKrf9cmyg) (tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* topLevelStmt);
1035 typedef N_NIMCALL_PTR(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, tyProc__EAEKmBUgKFg29agoUGtzDEQ) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1036 struct tyTuple__4o9cW9aUwdGqgZI9bSHHYnbaQ {
1037 tyProc__jkSFMhvPZ1AdGcvT2dK9a2w Field0;
1038 tyProc__A7Sdoem70tRxSEmKrf9cmyg Field1;
1039 tyProc__EAEKmBUgKFg29agoUGtzDEQ Field2;
1040 NIM_BOOL Field3;
1041 };
1042 struct tyTuple__z822nu9bFF1AlQnLrHjdwpA {
1043 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q Field0;
1044 NimStringDesc* Field1;
1045 };
1046 struct tyObject_TFileInfo__GE3hAakXKOEpch4ap3zXAw {
1047 NimStringDesc* fullPath;
1048 NimStringDesc* projPath;
1049 NimStringDesc* shortName;
1050 tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* quotedName;
1051 tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* quotedFullName;
1052 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* lines;
1053 NimStringDesc* dirtyFile;
1054 NimStringDesc* hash;
1055 NIM_BOOL dirty;
1056 };
1057 struct tyTuple__QeWl6B6ffS4pU6WWrtcrDw {
1058 NI Field0;
1059 NimStringDesc* Field1;
1060 };
1061 typedef NU8 tySet_tyEnum_CfileFlag__Vl9c9ayddDuXiWtnWTsEYGsA;
1062 struct tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg {
1063 NimStringDesc* nimname;
1064 NimStringDesc* cname;
1065 NimStringDesc* obj;
1066 tySet_tyEnum_CfileFlag__Vl9c9ayddDuXiWtnWTsEYGsA flags;
1067 NimStringDesc* customArgs;
1068 };
1069 struct tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA {
1070 NI ra;
1071 NI rb;
1072 NI rc;
1073 tyObject_TFullReg__GJRDbRqzZnSsmt2gZMzKBA* slots;
1074 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* currentException;
1075 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q currentLineInfo;
1076 };
1077 struct tyTuple__0q9cmhneJEKnQERTpXXdz6Q {
1078 NU32 Field0;
1079 NimStringDesc* Field1;
1080 };
1081 struct tyObject_PackedLineInfo__Q9bbXLBurHo2r5TyF6UBshg {
1082 NU16 line;
1083 NI16 col;
1084 NU32 file;
1085 };
1086 struct tyObject_PackedNode__7lDGAZiNp4zbO65GEpoKow {
1087 tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind;
1088 tySet_tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg flags;
1089 NI32 operand;
1090 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ typeId_0;
1091 tyObject_PackedLineInfo__Q9bbXLBurHo2r5TyF6UBshg info;
1092 };
1093 struct tyTuple__Izx9aRSX9a0diDXD84jOS9aMQ {
1094 NU32 Field0;
1095 NI32 Field1;
1096 };
1097 struct tyTuple__Q7r9caOmeWqQGZCIBHhGRUA {
1098 NU32 Field0;
1099 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field1;
1100 };
1101 struct tyTuple__7Wlwbz8zSe7Udyf7mmsd9cg {
1102 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field0;
1103 tyObject_PackedLineInfo__Q9bbXLBurHo2r5TyF6UBshg Field1;
1104 };
1105 struct tyTuple__XyJ8LOAZzVVXSsmt09b8uWw {
1106 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field0;
1107 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field1;
1108 };
1109 struct tyObject_PackedInstantiation__39cWRURu69agjI9c1ohiUmxiA {
1110 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ key;
1111 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ sym;
1112 tySequence__vC9cvg0R8tfBaOXXi3sfMzw* concreteTypes;
1113 };
1114 typedef NU8 tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg;
1115 struct tyTuple__9aoobCDZB4x41HJSOmh0mwA {
1116 tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg Field0;
1117 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field1;
1118 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field2;
1119 };
1120 struct tyTuple__g0Q6Qx15nK53ce9aLo7YyrA {
1121 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field0;
1122 NI Field1;
1123 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field2;
1124 };
1125 typedef NU8 tyEnum_TLibKind__9b8v60kso59bBaw9cp8B9a9apKQ;
1126 struct tyObject_PackedLib__oa01YzfeXO9bbIDH9cIki4Hw {
1127 tyEnum_TLibKind__9b8v60kso59bBaw9cp8B9a9apKQ kind;
1128 NIM_BOOL generated;
1129 NIM_BOOL isOverriden;
1130 NU32 name;
1131 NI32 path;
1132 };
1133 struct tyObject_PackedSym__XjVn21MwvH8ij6CfopYZWw {
1134 tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw kind;
1135 NU32 name;
1136 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ typ;
1137 tySet_tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw flags;
1138 tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg magic;
1139 tyObject_PackedLineInfo__Q9bbXLBurHo2r5TyF6UBshg info;
1140 NI32 ast;
1141 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ owner;
1142 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ guard;
1143 NI bitsize;
1144 NI alignment;
1145 tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg options;
1146 NI position;
1147 NI offset;
1148 NU32 externalName;
1149 tySet_tyEnum_TLocFlag__o2bqJgR4ceIupnUSpxiudA locFlags;
1150 tyObject_PackedLib__oa01YzfeXO9bbIDH9cIki4Hw annex;
1151 NI32 constraint;
1152 };
1153 struct tyObject_PackedType__IhXsK7mrwumUBtEqbZ2BqA {
1154 tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kind;
1155 tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA callConv;
1156 tySet_tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw flags;
1157 tySequence__vC9cvg0R8tfBaOXXi3sfMzw* types;
1158 NI32 n;
1159 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ sym;
1160 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ owner;
1161 NI64 size;
1162 NI16 align;
1163 NI16 paddingAtEnd;
1164 NI16 lockLevel;
1165 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ typeInst;
1166 NI32 nonUniqueId;
1167 };
1168 struct tyTuple__8x6vq4Dc9aLvKX9actMeR9avQ {
1169 NI Field0;
1170 tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* Field1;
1171 tySequence__vC9cvg0R8tfBaOXXi3sfMzw* Field2;
1172 };
1173 struct tyTuple__UvldbCB6B9ayi9bGYW7vJNLA {
1174 NI Field0;
1175 NI32 Field1;
1176 NU32 Field2;
1177 };
1178 struct tySequence__YdLNCDKYeipzJx3I8Xw82Q {
1179   TGenericSeq Sup;
1180   NU64 data[SEQ_DECL_SIZE];
1181 };
1182 struct tySequence__PJMRIt5QxCm6bRaVyQ5CGA {
1183   TGenericSeq Sup;
1184   tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q data[SEQ_DECL_SIZE];
1185 };
1186 struct tySequence__C1Ql3I9bU3HGPJdRd2y9cbVg {
1187   TGenericSeq Sup;
1188   tyTuple__SlmU1Ju0WFHUWkihyHMVYg data[SEQ_DECL_SIZE];
1189 };
1190 struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ {
1191   TGenericSeq Sup;
1192   NimStringDesc* data[SEQ_DECL_SIZE];
1193 };
1194 struct tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A {
1195   TGenericSeq Sup;
1196   tyObject_TType__facALICuu8zUj0hjvbTLFg* data[SEQ_DECL_SIZE];
1197 };
1198 struct tySequence__qwqHTkRvwhrRyENtudHQ7g {
1199   TGenericSeq Sup;
1200   NI data[SEQ_DECL_SIZE];
1201 };
1202 struct tySequence__JokFGfUW6i9b6aeU7xu6xBw {
1203   TGenericSeq Sup;
1204   tyObject_TBlock__2tJGcW69ahqq39a9bVJC1sqGQ data[SEQ_DECL_SIZE];
1205 };
1206 struct tySequence__E8pi9b5QNahsURYzXMjh3qw {
1207   TGenericSeq Sup;
1208   tyTuple__47w2DboNEPf69aPgubZdd7Q data[SEQ_DECL_SIZE];
1209 };
1210 struct tySequence__YWbgnI9b9a4j9aDYnupShIg3A {
1211   TGenericSeq Sup;
1212   tyTuple__C1iPjdrPjiQaUrcFhIp9aGw data[SEQ_DECL_SIZE];
1213 };
1214 struct tySequence__Q9atPKk5Xsv6h4rje4WzNLQ {
1215   TGenericSeq Sup;
1216   tyTuple__4707W0MdkBgzyuDClNdLBQ data[SEQ_DECL_SIZE];
1217 };
1218 struct tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ {
1219   TGenericSeq Sup;
1220   tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* data[SEQ_DECL_SIZE];
1221 };
1222 struct tySequence__4mZLwkxT8rbt9bf3wXrXYNQ {
1223   TGenericSeq Sup;
1224   tyObject_Iface__uvkV248cZcsEQKaQm7C9aEA data[SEQ_DECL_SIZE];
1225 };
1226 struct tySequence__rQHmYk1HzcwNxKBymIFHpA {
1227   TGenericSeq Sup;
1228   tyObject_LoadedModule__14iJKkvOiWT62KF2D8f9c5w data[SEQ_DECL_SIZE];
1229 };
1230 struct tySequence__XMM60DtBsc6xYsIpNANkrA {
1231   TGenericSeq Sup;
1232   tyObject_PackedEncoder__B9cE9a0GbvqWW9aHf4N7RAaIw data[SEQ_DECL_SIZE];
1233 };
1234 struct tySequence__O5RcspOP32YJ4YtU5ppxxA {
1235   TGenericSeq Sup;
1236   tyObject_LazyType__Q19c34D32PKyTKlx6R6yODg data[SEQ_DECL_SIZE];
1237 };
1238 struct tySequence__ChDZ6dokJ9aj9cg3KBoCU5vg {
1239   TGenericSeq Sup;
1240   tyTuple__l7R9cf53SDCcRmz9aWTyEKqQ data[SEQ_DECL_SIZE];
1241 };
1242 struct tySequence__Or1y9bNpmj8PM8AcK9c9cg7RA {
1243   TGenericSeq Sup;
1244   tyObject_LazyInstantiation__rlce0Sj8mBfLfm69c2yVTZg data[SEQ_DECL_SIZE];
1245 };
1246 struct tySequence__mWRMiYLthG9coLjkbElCxkw {
1247   TGenericSeq Sup;
1248   tyTuple__o67sDX0wYbEuhI9cJYAbDtg data[SEQ_DECL_SIZE];
1249 };
1250 struct tySequence__bTDCDwD2P7TodzbAefLcSw {
1251   TGenericSeq Sup;
1252   tyTuple__9aNnDWBFMF44sfFinBpMT4Q data[SEQ_DECL_SIZE];
1253 };
1254 struct tySequence__159bHWBGAOOs6U7OZ9cQlO0g {
1255   TGenericSeq Sup;
1256   tyTuple__VrD6plbUKJjYKM0lCr3hGQ data[SEQ_DECL_SIZE];
1257 };
1258 struct tySequence__3MPVXAHA08SszBrU4ffqEg {
1259   TGenericSeq Sup;
1260   tyTuple__dT8l9anHpNRgQSBAI9ctQ2wg data[SEQ_DECL_SIZE];
1261 };
1262 struct tySequence__YCf5zJHm4JI06qpmKwPUWg {
1263   TGenericSeq Sup;
1264   tyTuple__1ZbjBgxAbnye0IFMZ6w4OA data[SEQ_DECL_SIZE];
1265 };
1266 struct tySequence__7lEisrXlQEzwtUKW5pzRCw {
1267   TGenericSeq Sup;
1268   tyTuple__xYhUhS7X82rKTqbT9bRfCnw data[SEQ_DECL_SIZE];
1269 };
1270 struct tySequence__eHqUwlHGGaPw0TDPDeL79cQ {
1271   TGenericSeq Sup;
1272   tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* data[SEQ_DECL_SIZE];
1273 };
1274 struct tySequence__61s9cbAniKuBrdHwBhMDfQg {
1275   TGenericSeq Sup;
1276   tyTuple__rplX06U9bjhu9asm5pWdgqsA data[SEQ_DECL_SIZE];
1277 };
1278 struct tySequence__Bre9bNyuQOg1EJKitjSzn8w {
1279   TGenericSeq Sup;
1280   tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA* data[SEQ_DECL_SIZE];
1281 };
1282 struct tySequence__48JTohSgTy339bRxHzUD8KA {
1283   TGenericSeq Sup;
1284   NI32 data[SEQ_DECL_SIZE];
1285 };
1286 struct tySequence__fdmz6VkIf1ewwrssKYqRFg {
1287   TGenericSeq Sup;
1288   tyTuple__1mtQ8sCEE7DbfIuQciv9b5Q data[SEQ_DECL_SIZE];
1289 };
1290 struct tySequence__kxu4GK0onha2t9bo86mdVAg {
1291   TGenericSeq Sup;
1292   tyTuple__xDU9bZmv1ZbZkJDaATBekIQ data[SEQ_DECL_SIZE];
1293 };
1294 struct tySequence__s9byh6WFJ16lPMcmqdaMTHA {
1295   TGenericSeq Sup;
1296   tyTuple__a9bBCAQ2tegdUQVlHYxdJ2A data[SEQ_DECL_SIZE];
1297 };
1298 struct tySequence__1U9bG8RcAedEeYkQLZjVFKA {
1299   TGenericSeq Sup;
1300   tyTuple__3i6hlQmqrn6m7tuVN8FHjQ data[SEQ_DECL_SIZE];
1301 };
1302 struct tySequence__fIB1rTQ55aFonoft9a9bmljQ {
1303   TGenericSeq Sup;
1304   tyTuple__OJFzEczluV8Jmo9bRpBfkzw data[SEQ_DECL_SIZE];
1305 };
1306 struct tySequence__23SMqauuRsbDANhthj9bWlA {
1307   TGenericSeq Sup;
1308   tyTuple__2SGm9aGCXuo7XSQ9bqD29axXw data[SEQ_DECL_SIZE];
1309 };
1310 struct tySequence__squ9b9bUH4OLHf6cEMrt6hVA {
1311   TGenericSeq Sup;
1312   tyTuple__F3gkSrMB1qp2Tvf9bixVXwg data[SEQ_DECL_SIZE];
1313 };
1314 struct tySequence__pHNq3oXj9av2sEUdqaqeZjw {
1315   TGenericSeq Sup;
1316   tyTuple__wcNatyuf8WOqAhGLhSvgiw data[SEQ_DECL_SIZE];
1317 };
1318 struct tySequence__MAQKEADohlpnXTModtugbQ {
1319   TGenericSeq Sup;
1320   tyTuple__4o9cW9aUwdGqgZI9bSHHYnbaQ data[SEQ_DECL_SIZE];
1321 };
1322 struct tySequence__tNFrR3kRuS1FSwuiLGoSSA {
1323   TGenericSeq Sup;
1324   tyTuple__z822nu9bFF1AlQnLrHjdwpA data[SEQ_DECL_SIZE];
1325 };
1326 struct tySequence__Zi9cGbCWofbtABoHJ5RbLNQ {
1327   TGenericSeq Sup;
1328   tyObject_TFileInfo__GE3hAakXKOEpch4ap3zXAw data[SEQ_DECL_SIZE];
1329 };
1330 struct tySequence__4eRCaZmrYLLw2k30GPTiMw {
1331   TGenericSeq Sup;
1332   tyTuple__QeWl6B6ffS4pU6WWrtcrDw data[SEQ_DECL_SIZE];
1333 };
1334 struct tySequence__pK3qSsBZwdXd6qyUMkd5Jw {
1335   TGenericSeq Sup;
1336   tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg data[SEQ_DECL_SIZE];
1337 };
1338 struct tySequence__vv5mGmK03BCr5e3LTZA5Hw {
1339   TGenericSeq Sup;
1340   tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA data[SEQ_DECL_SIZE];
1341 };
1342 struct tySequence__PXIzfWocnrafGz5p3CP5LA {
1343   TGenericSeq Sup;
1344   tyTuple__0q9cmhneJEKnQERTpXXdz6Q data[SEQ_DECL_SIZE];
1345 };
1346 struct tySequence__9bAGqSvkAaFL9bWjsEPslrFA {
1347   TGenericSeq Sup;
1348   NU32 data[SEQ_DECL_SIZE];
1349 };
1350 struct tySequence__29bS0n2QNyO1R7e0qMMOvLA {
1351   TGenericSeq Sup;
1352   tyObject_PackedNode__7lDGAZiNp4zbO65GEpoKow data[SEQ_DECL_SIZE];
1353 };
1354 struct tySequence__b89aLriiJnVTD186H6zNIgg {
1355   TGenericSeq Sup;
1356   tyTuple__Izx9aRSX9a0diDXD84jOS9aMQ data[SEQ_DECL_SIZE];
1357 };
1358 struct tySequence__REuPuHuSlOkZ0Q5oqzDrQg {
1359   TGenericSeq Sup;
1360   tyTuple__Q7r9caOmeWqQGZCIBHhGRUA data[SEQ_DECL_SIZE];
1361 };
1362 struct tySequence__I9aQmO9asXXWJ58UI9c8BCSzA {
1363   TGenericSeq Sup;
1364   tyTuple__7Wlwbz8zSe7Udyf7mmsd9cg data[SEQ_DECL_SIZE];
1365 };
1366 struct tySequence__NyaOkf8ZwxP6rkRF5TOkew {
1367   TGenericSeq Sup;
1368   tyTuple__XyJ8LOAZzVVXSsmt09b8uWw data[SEQ_DECL_SIZE];
1369 };
1370 struct tySequence__L9bOt8CaTEmIjgtuZvp6syg {
1371   TGenericSeq Sup;
1372   tyObject_PackedInstantiation__39cWRURu69agjI9c1ohiUmxiA data[SEQ_DECL_SIZE];
1373 };
1374 struct tySequence__im8UB2GsZvUaQ4a1wKGWhQ {
1375   TGenericSeq Sup;
1376   tyTuple__9aoobCDZB4x41HJSOmh0mwA data[SEQ_DECL_SIZE];
1377 };
1378 struct tySequence__xxnXDLpoqBo8zJzP9b1073g {
1379   TGenericSeq Sup;
1380   tyTuple__g0Q6Qx15nK53ce9aLo7YyrA data[SEQ_DECL_SIZE];
1381 };
1382 struct tySequence__DfmUmNgVGnYaiV1I6227tw {
1383   TGenericSeq Sup;
1384   tyObject_PackedSym__XjVn21MwvH8ij6CfopYZWw data[SEQ_DECL_SIZE];
1385 };
1386 struct tySequence__t8Uv4lEJ4lkuECvP9c6JMhA {
1387   TGenericSeq Sup;
1388   tyObject_PackedType__IhXsK7mrwumUBtEqbZ2BqA data[SEQ_DECL_SIZE];
1389 };
1390 struct tySequence__IHUFRsFxZNv7YydiUO2esQ {
1391   TGenericSeq Sup;
1392   NI64 data[SEQ_DECL_SIZE];
1393 };
1394 struct tySequence__vC9cvg0R8tfBaOXXi3sfMzw {
1395   TGenericSeq Sup;
1396   tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ data[SEQ_DECL_SIZE];
1397 };
1398 struct tySequence__9bT7o0CflHuiE4VhmtqBPCw {
1399   TGenericSeq Sup;
1400   tyTuple__8x6vq4Dc9aLvKX9actMeR9avQ data[SEQ_DECL_SIZE];
1401 };
1402 struct tySequence__9cnx3zXnWzeclW8Ko4oUgAQ {
1403   TGenericSeq Sup;
1404   tyTuple__UvldbCB6B9ayi9bGYW7vJNLA data[SEQ_DECL_SIZE];
1405 };
1406 struct tySequence__ipEvhpHAmm8ZCn9bZAOdNYA {
1407   TGenericSeq Sup;
1408   tyObject_FullId__pfGm9bmVgXcP2kl6OfHhZgQ data[SEQ_DECL_SIZE];
1409 };
1410 N_LIB_PRIVATE N_NIMCALL(NI, getOrDefault__vmgen_3597)(tyObject_Table__Ea0e9azliYta9cYyn0d49ah0w t, NI key);
1411 static N_INLINE(NI, rawGet__sigmatch_5618)(tyObject_Table__Ea0e9azliYta9cYyn0d49ah0w t, NI key, NI* hc);
1412 static N_INLINE(NI, hash__pureZhashes_128)(NI x);
1413 static N_INLINE(NI, hashWangYi1__pureZhashes_136)(NU64 x);
1414 static N_INLINE(NU64, hiXorLo__pureZhashes_79)(NU64 a, NU64 b);
1415 static N_INLINE(NIM_BOOL, isFilled__pureZcollectionsZtables_31)(NI hcode);
1416 static N_INLINE(NI, nextTry__pureZcollectionsZtables_34)(NI h, NI maxHash);
1417 N_LIB_PRIVATE N_NIMCALL(TGenericSeq*, setLengthSeqV2)(TGenericSeq* s, TNimType* typ, NI newLen);
1418 static N_INLINE(void, asgnRef)(void** dest, void* src);
1419 static N_INLINE(void, incRef__system_5309)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
1420 static N_INLINE(NI, pluspercent___system_696)(NI x, NI y);
1421 static N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*, usrToCell__system_5271)(void* usr);
1422 static N_INLINE(NI, minuspercent___system_716)(NI x, NI y);
1423 static N_INLINE(void, decRef__system_5316)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
1424 static N_INLINE(NIM_BOOL, ltpercent___system_1005)(NI x, NI y);
1425 static N_INLINE(void, rtlAddZCT__system_5314)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
1426 N_LIB_PRIVATE N_NOINLINE(void, addZCT__system_5265)(tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w* s, tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
1427 N_LIB_PRIVATE N_NIMCALL(void, X5BX5Deq___importer_2284)(tyObject_Table__Ea0e9azliYta9cYyn0d49ah0w* t, NI key, NI val);
1428 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, transformBody__transf_16)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* prc, NIM_BOOL cache);
1429 static N_INLINE(NIM_BOOL, isCompileTimeProc__ast_4683)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
1430 N_LIB_PRIVATE N_NIMCALL(NI, xjmp__vmgen_398)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opc, NI a);
1431 N_LIB_PRIVATE N_NIMCALL(void, gABx__vmgen_375)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opc, NI a, NI bx);
1432 N_LIB_PRIVATE N_NIMCALL(TGenericSeq*, incrSeqV3)(TGenericSeq* s, TNimType* typ);
1433 N_LIB_PRIVATE N_NOINLINE(void, liMessage__msgs_1118)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w msg, NimStringDesc* arg, tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw eh, tyTuple__kN8up2W6YKc5YA9avn5mV5w info2, NIM_BOOL isRaw);
1434 N_LIB_PRIVATE N_NOINLINE(void*, newObj)(TNimType* typ, NI size);
1435 static N_INLINE(void, nimGCunrefRC1)(void* p);
1436 N_LIB_PRIVATE N_NIMCALL(void, genParams__vmgen_3318)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* params);
1437 static N_INLINE(NI, len__ast_3198)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1438 static N_INLINE(NIM_BOOL, isGenericRoutineStrict__ast_4639)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
1439 static N_INLINE(NIM_BOOL, isGenericRoutine__ast_4627)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1440 static N_INLINE(NIM_BOOL, isGenericParams__ast_4616)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1441 N_LIB_PRIVATE N_NIMCALL(void, genGenericParams__vmgen_3361)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* gp);
1442 N_LIB_PRIVATE N_NIMCALL(void, gen__vmgen_707)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TGenFlag__dpr9bkeHD0U9bDk615O0L1FQ flags);
1443 N_LIB_PRIVATE N_NIMCALL(void, gen__vmgen_687)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest, tySet_tyEnum_TGenFlag__dpr9bkeHD0U9bDk615O0L1FQ flags);
1444 N_LIB_PRIVATE N_NIMCALL(void, checkCanEval__vmgen_2268)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1445 static N_INLINE(NIM_BOOL, importcCondVar__vmgen_2257)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
1446 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isOwnedBy__vmgen_2234)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* a, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* b);
1447 N_LIB_PRIVATE N_NOINLINE(void, cannotEval__vmgen_2231)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1448 static N_INLINE(void, appendString)(NimStringDesc* dest, NimStringDesc* src);
1449 static N_INLINE(void, copyMem__system_1727)(void* dest, void* source, NI size);
1450 static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size);
1451 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, renderTree__renderer_46)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TRenderFlag__wrPgUo1ExBlHvFnXN2nSHw renderFlags);
1452 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, rawNewString)(NI space);
1453 N_LIB_PRIVATE N_NIMCALL(void, genRdVar__vmgen_2453)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest, tySet_tyEnum_TGenFlag__dpr9bkeHD0U9bDk615O0L1FQ flags);
1454 static N_INLINE(NIM_BOOL, importcCond__vmgen_2412)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
1455 static N_INLINE(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, getBody__modulegraphs_11241)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
1456 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, loadProcBody__icZic_8390)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* config, tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw* cache, tySequence__rQHmYk1HzcwNxKBymIFHpA** g, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
1457 N_LIB_PRIVATE N_NIMCALL(void, importcSym__vmgen_2428)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
1458 N_LIB_PRIVATE N_NIMCALL(void, genGlobalInit__vmgen_2436)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
1459 N_LIB_PRIVATE N_NIMCALL(void, add__ast_4797)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* father, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* son);
1460 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, getNullValue__vmgen_2432)(tyObject_TType__facALICuu8zUj0hjvbTLFg* typ, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf);
1461 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, skipTypes__ast_3735)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kinds);
1462 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newNodeIT__ast_3378)(tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ);
1463 N_LIB_PRIVATE N_NIMCALL(void, getNullValueAux__vmgen_2711)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* obj, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, NI* currPosition);
1464 static N_INLINE(NI, len__ast_4002)(tyObject_TType__facALICuu8zUj0hjvbTLFg* n);
1465 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, lastSon__ast_4832)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1466 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newNodeI__ast_3356)(tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
1467 N_LIB_PRIVATE N_NIMCALL(void, failedAssertImpl__systemZassertions_56)(NimStringDesc* msg);
1468 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar___renderer_2106)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1469 N_LIB_PRIVATE N_NIMCALL(NI, toInt__int495056_170)(tyObject_Int128__9a9axPfb75jdWY25AamJewkA arg);
1470 N_LIB_PRIVATE N_NIMCALL(tyObject_Int128__9a9axPfb75jdWY25AamJewkA, lengthOrd__types_1661)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
1471 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, elemType__types_263)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
1472 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, reprEnum)(NI e, TNimType* typ);
1473 N_LIB_PRIVATE N_NIMCALL(NI, getTemp__vmgen_541)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* cc, tyObject_TType__facALICuu8zUj0hjvbTLFg* tt);
1474 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, skipTypesOrNil__ast_4185)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kinds);
1475 N_LIB_PRIVATE N_NIMCALL(tyEnum_TSlotKind__QOyrDzzey9cf6gDtSRPuZMQ, getSlotKind__vmgen_451)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
1476 N_LIB_PRIVATE N_NIMCALL(NI, getFreeRegister__vmgen_479)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* cc, tyEnum_TSlotKind__QOyrDzzey9cf6gDtSRPuZMQ k, NI start);
1477 N_LIB_PRIVATE N_NIMCALL(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q, bestEffort__vmgen_468)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c);
1478 static N_INLINE(void, nimZeroMem)(void* p, NI size);
1479 static N_INLINE(void, nimSetMem__systemZmemory_7)(void* a, int v, NI size);
1480 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, astdef__ast_3483)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
1481 N_LIB_PRIVATE N_NIMCALL(NI, genx__vmgen_712)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TGenFlag__dpr9bkeHD0U9bDk615O0L1FQ flags);
1482 N_LIB_PRIVATE N_NIMCALL(void, genAdditionalCopy__vmgen_2307)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opc, NI dest, NI idx, NI value);
1483 N_LIB_PRIVATE N_NIMCALL(void, gABC__vmgen_312)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* ctx, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opc, NI a, NI b, NI c);
1484 N_LIB_PRIVATE N_NIMCALL(tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ, whichAsgnOpc__vmgen_1846)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NIM_BOOL requiresCopy);
1485 N_LIB_PRIVATE N_NIMCALL(void, freeTemp__vmgen_550)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, NI r);
1486 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, fitsRegister__vmgen_1814)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
1487 N_LIB_PRIVATE N_NIMCALL(void, setSlot__vmgen_2224)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* v);
1488 static N_INLINE(NimStringDesc*, toFileLineCol__msgs_615)(tyTuple__kN8up2W6YKc5YA9avn5mV5w info);
1489 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, resizeString)(NimStringDesc* dest, NI addlen);
1490 static N_INLINE(void, addInt__stdZprivateZdigitsutils_189)(NimStringDesc** result, NI x);
1491 N_LIB_PRIVATE N_NIMCALL(void, addInt__stdZprivateZdigitsutils_167)(NimStringDesc** result, NI64 x);
1492 N_LIB_PRIVATE N_NIMCALL(void, internalErrorImpl__msgs_1431)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, NimStringDesc* errMsg, tyTuple__kN8up2W6YKc5YA9avn5mV5w info2);
1493 N_LIB_PRIVATE N_NIMCALL(void, genAsgn__vmgen_2215)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, NI dest, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ri, NIM_BOOL requiresCopy);
1494 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, procIsCallback__vmgen_3104)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
1495 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, matches__vmgen_3058)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, NimStringDesc* x);
1496 N_LIB_PRIVATE N_NIMCALL(tySequence__sM4lkSb7zS6F7OVMvW9cffQ*, nsuSplitChar)(NimStringDesc* s, NIM_CHAR sep, NI maxsplit);
1497 N_LIB_PRIVATE N_NIMCALL(NI, nsuCmpIgnoreStyle)(NimStringDesc* a, NimStringDesc* b);
1498 static N_INLINE(NimStringDesc*, X5BX5D___vmgen_3076)(NimStringDesc** s, NI sLen_0, NI i);
1499 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, copyString)(NimStringDesc* src);
1500 static N_INLINE(NIM_BOOL, eqStrings)(NimStringDesc* a, NimStringDesc* b);
1501 static N_INLINE(NIM_BOOL, equalMem__system_1735)(void* a, void* b, NI size);
1502 static N_INLINE(int, nimCmpMem)(void* a, void* b, NI size);
1503 N_LIB_PRIVATE N_NIMCALL(void, genLit__vmgen_1199)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest);
1504 N_LIB_PRIVATE N_NIMCALL(NI, genLiteral__vmgen_1013)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1505 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, sameConstant__vmgen_969)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b);
1506 N_LIB_PRIVATE N_NIMCALL(NI, rawGenLiteral__vmgen_950)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1507 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, canonValue__vmgen_947)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1508 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newIntNode__ast_3723)(tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind, NI64 intVal);
1509 N_LIB_PRIVATE N_NIMCALL(void, genTypeLit__vmgen_2407)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, NI* dest);
1510 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newNode__ast_3332)(tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind);
1511 N_LIB_PRIVATE N_NIMCALL(void, genMagic__vmgen_1858)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest, tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg m);
1512 N_LIB_PRIVATE N_NIMCALL(void, genAndOr__vmgen_937)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opc, NI* dest);
1513 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isTemp__vmgen_929)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, NI dest);
1514 N_LIB_PRIVATE N_NIMCALL(void, gen__vmgen_692)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI dest, tySet_tyEnum_TGenFlag__dpr9bkeHD0U9bDk615O0L1FQ flags);
1515 N_LIB_PRIVATE N_NIMCALL(void, patch__vmgen_434)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, NI p);
1516 N_LIB_PRIVATE N_NIMCALL(void, genAddSubInt__vmgen_1588)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest, tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opc);
1517 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isInt8Lit__vmgen_1558)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1518 N_LIB_PRIVATE N_NIMCALL(void, gABI__vmgen_347)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opc, NI a, NI b, NI64 imm);
1519 N_LIB_PRIVATE N_NIMCALL(void, genBinaryABC__vmgen_1405)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest, tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opc);
1520 N_LIB_PRIVATE N_NIMCALL(void, genNarrow__vmgen_1427)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI dest);
1521 N_LIB_PRIVATE N_NIMCALL(NI64, getSize__types_3336)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ);
1522 static N_INLINE(void, unused__vmgen_1026)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI x);
1523 N_LIB_PRIVATE N_NIMCALL(void, genAsgnPatch__vmgen_1321)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* le, NI value);
1524 N_LIB_PRIVATE N_NIMCALL(NI, genIndex__vmgen_1305)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TType__facALICuu8zUj0hjvbTLFg* arr);
1525 N_LIB_PRIVATE N_NIMCALL(tyObject_Int128__9a9axPfb75jdWY25AamJewkA, firstOrd__types_1353)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
1526 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, eqeq___int495056_313)(tyObject_Int128__9a9axPfb75jdWY25AamJewkA a, tyObject_Int128__9a9axPfb75jdWY25AamJewkA b);
1527 N_LIB_PRIVATE N_NIMCALL(void, genCheckedObjAccessAux__vmgen_1316)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest, tySet_tyEnum_TGenFlag__dpr9bkeHD0U9bDk615O0L1FQ flags);
1528 N_LIB_PRIVATE N_NIMCALL(NI, genField__vmgen_1288)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1529 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, getSysType__magicsys_60)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kind);
1530 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, genFieldDefect__astmsgs_61)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, NimStringDesc* field, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* disc);
1531 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newStrNode__ast_3817)(NimStringDesc* strVal, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
1532 N_LIB_PRIVATE N_NIMCALL(void, genCall__vmgen_1204)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest);
1533 static N_INLINE(NIM_BOOL, isEmptyType__ast_4779)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
1534 N_LIB_PRIVATE N_NIMCALL(NI, getTempRange__vmgen_559)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* cc, NI n, tyEnum_TSlotKind__QOyrDzzey9cf6gDtSRPuZMQ kind);
1535 N_LIB_PRIVATE N_NIMCALL(NI, genType__vmgen_1088)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ);
1536 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, sameType__types_1824)(tyObject_TType__facALICuu8zUj0hjvbTLFg* a, tyObject_TType__facALICuu8zUj0hjvbTLFg* b, tySet_tyEnum_TTypeCmpFlag__72pgRXSg7774cr9aCWVPORw flags);
1537 N_LIB_PRIVATE N_NIMCALL(void, freeTempRange__vmgen_626)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, NI start, NI n);
1538 N_LIB_PRIVATE N_NIMCALL(void, genNew__vmgen_1350)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1539 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, needsAsgnPatch__vmgen_1269)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1540 N_LIB_PRIVATE N_NIMCALL(void, genNewSeq__vmgen_1364)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1541 N_LIB_PRIVATE N_NIMCALL(void, genNewSeqOfCap__vmgen_1379)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest);
1542 N_LIB_PRIVATE N_NIMCALL(void, genUnaryABC__vmgen_1390)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest, tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opc);
1543 N_LIB_PRIVATE N_NIMCALL(void, genUnaryABI__vmgen_1397)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest, tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opc, NI64 imm);
1544 N_LIB_PRIVATE N_NIMCALL(void, genSetType__vmgen_1481)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI dest);
1545 N_LIB_PRIVATE N_NIMCALL(void, genCard__vmgen_1621)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest);
1546 N_LIB_PRIVATE N_NIMCALL(void, genBinaryABCnarrow__vmgen_1471)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest, tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opc);
1547 N_LIB_PRIVATE N_NIMCALL(void, genNarrowU__vmgen_1453)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI dest);
1548 N_LIB_PRIVATE N_NIMCALL(void, genBinaryABCnarrowU__vmgen_1476)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest, tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opc);
1549 N_LIB_PRIVATE N_NIMCALL(void, genConv__vmgen_1602)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* arg, NI* dest, tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opc);
1550 N_LIB_PRIVATE N_NIMCALL(void, nimGCvisit)(void* d, NI op);
1551 static N_NIMCALL(void, Marker_tyRef__b6fqZ1oVWC4DbYpw7amjAw)(void* p, NI op);
1552 N_LIB_PRIVATE N_CLOSURE(NIM_BOOL, implicitConv__vmgen_1610)(void* ClE_0);
1553 N_LIB_PRIVATE N_NIMCALL(void, genBinarySet__vmgen_1494)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest, tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opc);
1554 N_LIB_PRIVATE N_NIMCALL(void, genVarargsABC__vmgen_1533)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest, tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opc);
1555 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, lowerSwap__lowerings_246)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner);
1556 N_LIB_PRIVATE N_NIMCALL(tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ, ldNullOpcode__vmgen_1836)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
1557 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, skipConv__types_3597)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1558 N_LIB_PRIVATE N_NIMCALL(void, genBinaryStmtVar__vmgen_1513)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opc);
1559 N_LIB_PRIVATE N_NIMCALL(void, genBinaryABCD__vmgen_1414)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest, tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opc);
1560 N_LIB_PRIVATE N_NIMCALL(void, genVoidABC__vmgen_1749)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI dest, tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opcode);
1561 N_LIB_PRIVATE N_NIMCALL(void, genBinaryStmt__vmgen_1505)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opc);
1562 N_LIB_PRIVATE N_NIMCALL(void, genBindSym__vmgen_1760)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest);
1563 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nsuFormatOpenArray)(NimStringDesc* formatstr, NimStringDesc** a, NI aLen_0);
1564 N_LIB_PRIVATE N_NIMCALL(void, genMarshalLoad__vmgen_2071)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest);
1565 N_LIB_PRIVATE N_NIMCALL(void, genMarshalStore__vmgen_2077)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest);
1566 static N_INLINE(void, clearDest__vmgen_718)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest);
1567 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isInt16Lit__vmgen_1573)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1568 N_LIB_PRIVATE N_NIMCALL(void, genAsgn__vmgen_2329)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* le, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ri, NIM_BOOL requiresCopy);
1569 N_LIB_PRIVATE N_NIMCALL(void, preventFalseAlias__vmgen_2315)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opc, NI dest, NI idx, NI value);
1570 N_LIB_PRIVATE N_NIMCALL(void, genObjAccess__vmgen_2569)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest, tySet_tyEnum_TGenFlag__dpr9bkeHD0U9bDk615O0L1FQ flags);
1571 N_LIB_PRIVATE N_NIMCALL(void, genCheckedObjAccess__vmgen_2646)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest, tySet_tyEnum_TGenFlag__dpr9bkeHD0U9bDk615O0L1FQ flags);
1572 N_LIB_PRIVATE N_NIMCALL(void, genArrAccess__vmgen_2682)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest, tySet_tyEnum_TGenFlag__dpr9bkeHD0U9bDk615O0L1FQ flags);
1573 N_LIB_PRIVATE N_NIMCALL(void, genArrAccessOpcode__vmgen_2541)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest, tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opc, tySet_tyEnum_TGenFlag__dpr9bkeHD0U9bDk615O0L1FQ flags);
1574 N_LIB_PRIVATE N_NIMCALL(void, genDeref__vmgen_2181)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest, tySet_tyEnum_TGenFlag__dpr9bkeHD0U9bDk615O0L1FQ flags);
1575 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, unneededIndirection__vmgen_2084)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1576 N_LIB_PRIVATE N_NIMCALL(void, genAddr__vmgen_2138)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest, tySet_tyEnum_TGenFlag__dpr9bkeHD0U9bDk615O0L1FQ flags);
1577 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, canElimAddr__vmgen_2095)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1578 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, copyNode__ast_4336)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* src);
1579 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isGlobal__vmgen_1254)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1580 N_LIB_PRIVATE N_NIMCALL(void, genIf__vmgen_883)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest);
1581 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isNotOpr__vmgen_729)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1582 N_LIB_PRIVATE N_NIMCALL(void, genCase__vmgen_1030)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest);
1583 N_LIB_PRIVATE N_NIMCALL(void, genWhile__vmgen_761)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1584 N_LIB_PRIVATE N_NIMCALL(NI, genLabel__vmgen_416)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c);
1585 N_LIB_PRIVATE N_NIMCALL(void, genericSeqAssign)(void* dest, void* src, TNimType* mt);
1586 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isTrue__vmgen_746)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1587 N_LIB_PRIVATE N_NIMCALL(void, jmpBack__vmgen_422)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI p);
1588 N_LIB_PRIVATE N_NIMCALL(void, popBlock__vmgen_639)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, NI oldLen);
1589 N_LIB_PRIVATE N_NIMCALL(void, genBlock__vmgen_799)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest);
1590 N_LIB_PRIVATE N_NIMCALL(void, genReturn__vmgen_1190)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1591 N_LIB_PRIVATE N_NIMCALL(void, genRaise__vmgen_1185)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1592 N_LIB_PRIVATE N_NIMCALL(void, genBreak__vmgen_831)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1593 N_LIB_PRIVATE N_NIMCALL(void, genTry__vmgen_1110)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest);
1594 static N_INLINE(NI, safeLen__ast_3191)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1595 N_LIB_PRIVATE N_NIMCALL(void, genVarSection__vmgen_2831)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1596 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, lowerTupleUnpacking__lowerings_116)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner);
1597 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, getOwner__vmgen_2251)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c);
1598 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newSymNode__ast_3716)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym);
1599 N_LIB_PRIVATE N_NIMCALL(void, genArrayConstr__vmgen_2947)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest);
1600 N_LIB_PRIVATE N_NIMCALL(void, genSetConstr__vmgen_2971)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest);
1601 N_LIB_PRIVATE N_NIMCALL(void, genObjConstr__vmgen_2985)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest);
1602 N_LIB_PRIVATE N_NIMCALL(void, genTupleConstr__vmgen_3027)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest);
1603 N_LIB_PRIVATE N_NIMCALL(void, genCastIntFloat__vmgen_1628)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest);
1604 static N_INLINE(NIM_BOOL, isCompileTimeOnly__types_3528)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
1605 N_LIB_PRIVATE N_NIMCALL(void, optimizeJumps__vmgen_3387)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, NI start);
1606 N_LIB_PRIVATE N_NIMCALL(void, finalJumpTarget__vmgen_3340)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, NI pc, NI diff);
1607 N_LIB_PRIVATE N_NIMCALL(void, removeLastEof__vmgen_3268)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c);
1608 extern TNimType NTIseqLtinstrT__YdLNCDKYeipzJx3I8Xw82Q_;
1609 extern TNimType NTIseqLtlineinfoT__PJMRIt5QxCm6bRaVyQ5CGA_;
1610 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_2, "VM: immediate value does not fit into regBx", 43);
1611 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_4, "/home/runner/work/nightlies/nightlies/nim/compiler/vmgen.nim", 60);
1612 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__24XApAWKNvaMkcyklm8bNA_3 = {((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_4),
1613 ((NI) 164),
1614 ((NI) 14)}
1615 ;
1616 extern TNimType NTIpproc__FM7mzTFsA8pyUhXVKKO6Gw_;
1617 extern TNimType NTIseqLtupleLinuse58bool_kind58tslotkindTT__C1Ql3I9bU3HGPJdRd2y9cbVg_;
1618 static NIM_CONST tyTuple__SlmU1Ju0WFHUWkihyHMVYg TM__24XApAWKNvaMkcyklm8bNA_5 = {NIM_TRUE,
1619 ((tyEnum_TSlotKind__QOyrDzzey9cf6gDtSRPuZMQ) 2)}
1620 ;
1621 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_6, "cannot evaluate at compile time: ", 33);
1622 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__24XApAWKNvaMkcyklm8bNA_7 = {((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_4),
1623 ((NI) 1477),
1624 ((NI) 13)}
1625 ;
1626 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_8, "cannot \'importc\' variable at compile time; ", 43);
1627 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__24XApAWKNvaMkcyklm8bNA_9 = {((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_4),
1628 ((NI) 1616),
1629 ((NI) 14)}
1630 ;
1631 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__24XApAWKNvaMkcyklm8bNA_10 = {
1632 0x10, 0xa8, 0x10, 0x00, 0x00, 0x60, 0x80, 0x10,
1633 0x00}
1634 ;
1635 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__24XApAWKNvaMkcyklm8bNA_11 = {
1636 0x10, 0x09, 0xe0, 0x00, 0x00, 0xe0, 0x80, 0x00,
1637 0x00}
1638 ;
1639 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_12, "vmgen.nim(1811, 14) `obj.sym.position == currPosition` ", 55);
1640 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_13, "cannot create null element for: ", 32);
1641 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__24XApAWKNvaMkcyklm8bNA_14 = {((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_4),
1642 ((NI) 1813),
1643 ((NI) 19)}
1644 ;
1645 extern TNimType NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_;
1646 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__24XApAWKNvaMkcyklm8bNA_15 = {((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_4),
1647 ((NI) 1856),
1648 ((NI) 15)}
1649 ;
1650 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__24XApAWKNvaMkcyklm8bNA_16 = {
1651 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10,
1652 0x00}
1653 ;
1654 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__24XApAWKNvaMkcyklm8bNA_17 = {
1655 0x10, 0xa8, 0x10, 0x00, 0x00, 0x60, 0x80, 0x00,
1656 0x00}
1657 ;
1658 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_18, "VM problem: too many registers required", 39);
1659 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__24XApAWKNvaMkcyklm8bNA_19 = {((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_4),
1660 ((NI) 229),
1661 ((NI) 15)}
1662 ;
1663 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__24XApAWKNvaMkcyklm8bNA_20 = {
1664 0x10, 0xa8, 0x00, 0x00, 0x00, 0x60, 0x80, 0x10,
1665 0x00}
1666 ;
1667 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_21, "(", 1);
1668 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_22, ", ", 2);
1669 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_23, ")", 1);
1670 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__24XApAWKNvaMkcyklm8bNA_24 = {((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_4),
1671 ((NI) 1671),
1672 ((NI) 22)}
1673 ;
1674 extern NIM_CONST tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q unknownLineInfo__lineinfos_280;
1675 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_25, "Closure iterators are not supported by VM!", 42);
1676 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__24XApAWKNvaMkcyklm8bNA_26 = {((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_4),
1677 ((NI) 2023),
1678 ((NI) 19)}
1679 ;
1680 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_27, "*", 1);
1681 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_28, "vmgen.nim(2005, 16) `s.offset == -1` ", 37);
1682 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__24XApAWKNvaMkcyklm8bNA_29 = {((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_4),
1683 ((NI) 452),
1684 ((NI) 17)}
1685 ;
1686 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_30, "cannot generate code for: ", 26);
1687 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__24XApAWKNvaMkcyklm8bNA_31 = {((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_4),
1688 ((NI) 2046),
1689 ((NI) 19)}
1690 ;
1691 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__24XApAWKNvaMkcyklm8bNA_32 = {((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_4),
1692 ((NI) 2048),
1693 ((NI) 17)}
1694 ;
1695 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__24XApAWKNvaMkcyklm8bNA_33 = {((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_4),
1696 ((NI) 186),
1697 ((NI) 16)}
1698 ;
1699 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_34, "VM: immediate value does not fit into an int8", 45);
1700 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__24XApAWKNvaMkcyklm8bNA_35 = {((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_4),
1701 ((NI) 147),
1702 ((NI) 14)}
1703 ;
1704 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__24XApAWKNvaMkcyklm8bNA_36 = {
1705 0x10, 0xa8, 0x80, 0x00, 0x00, 0xe0, 0x80, 0x00,
1706 0x00}
1707 ;
1708 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_37, "not unused", 10);
1709 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__24XApAWKNvaMkcyklm8bNA_38 = {((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_4),
1710 ((NI) 487),
1711 ((NI) 15)}
1712 ;
1713 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__24XApAWKNvaMkcyklm8bNA_39 = {
1714 0x10, 0xa9, 0x90, 0x00, 0x00, 0x60, 0x80, 0x00,
1715 0x00}
1716 ;
1717 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__24XApAWKNvaMkcyklm8bNA_40 = {
1718 0x10, 0xa9, 0x00, 0x00, 0x00, 0x60, 0x80, 0x00,
1719 0x00}
1720 ;
1721 extern NIM_CONST tyObject_Int128__9a9axPfb75jdWY25AamJewkA Zero__int495056_7;
1722 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__24XApAWKNvaMkcyklm8bNA_41 = {((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_4),
1723 ((NI) 1720),
1724 ((NI) 17)}
1725 ;
1726 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__24XApAWKNvaMkcyklm8bNA_42 = {((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_4),
1727 ((NI) 1732),
1728 ((NI) 17)}
1729 ;
1730 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_43, "no field symbol", 15);
1731 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__24XApAWKNvaMkcyklm8bNA_44 = {((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_4),
1732 ((NI) 626),
1733 ((NI) 15)}
1734 ;
1735 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_45, "too large offset! cannot generate code for: ", 44);
1736 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__24XApAWKNvaMkcyklm8bNA_46 = {((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_4),
1737 ((NI) 629),
1738 ((NI) 15)}
1739 ;
1740 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__24XApAWKNvaMkcyklm8bNA_47 = {((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_4),
1741 ((NI) 269),
1742 ((NI) 15)}
1743 ;
1744 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__24XApAWKNvaMkcyklm8bNA_48 = {((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_4),
1745 ((NI) 609),
1746 ((NI) 21)}
1747 ;
1748 extern TNimType NTIttypeseq__9aZVGG5Gtti9cC9bqRpXCtA3A_;
1749 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__24XApAWKNvaMkcyklm8bNA_49 = {((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_4),
1750 ((NI) 533),
1751 ((NI) 16)}
1752 ;
1753 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_50, "vmgen.nim(1062, 20) `false` ", 28);
1754 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__24XApAWKNvaMkcyklm8bNA_51 = {
1755 0x10, 0xa8, 0x00, 0x00, 0x00, 0x60, 0x80, 0x00,
1756 0x00}
1757 ;
1758 extern TNimType NTIrootobj__ytyiCJqK439aF9cIibuRVpAg_;
1759 N_LIB_PRIVATE TNimType NTIobject__tSX9a6VppB8gTJYBP9aDt4MA_;
1760 extern TNimType NTIint__xHTZrq9aYs6boc9bCba0JbpQ_;
1761 extern TNimType NTIptype__qt2Wh0elFEz5fH0l7yusLw_;
1762 extern TNimType NTIpnode__fKfcLzXYiz5jNu3NH3Tv8Q_;
1763 N_LIB_PRIVATE TNimType NTIrefobject__b6fqZ1oVWC4DbYpw7amjAw_;
1764 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__24XApAWKNvaMkcyklm8bNA_53 = {
1765 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1766 0x00}
1767 ;
1768 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__24XApAWKNvaMkcyklm8bNA_55 = {
1769 0x10, 0xa9, 0xe0, 0x00, 0x00, 0xe0, 0x80, 0x00,
1770 0x00}
1771 ;
1772 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_56, "getType", 7);
1773 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_57, "typeKind", 8);
1774 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_58, "getTypeInst", 11);
1775 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_59, "getSize", 7);
1776 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_60, "getAlign", 8);
1777 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_61, "invalid bindSym usage", 21);
1778 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__24XApAWKNvaMkcyklm8bNA_62 = {((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_4),
1779 ((NI) 962),
1780 ((NI) 16)}
1781 ;
1782 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_63, "getFile", 7);
1783 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_64, "getLine", 7);
1784 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_65, "getColumn", 9);
1785 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_66, "copyLineInfo", 12);
1786 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__24XApAWKNvaMkcyklm8bNA_67 = {((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_4),
1787 ((NI) 1323),
1788 ((NI) 21)}
1789 ;
1790 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__24XApAWKNvaMkcyklm8bNA_68 = {((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_4),
1791 ((NI) 1326),
1792 ((NI) 25)}
1793 ;
1794 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_69, "expandToAst requires 1 argument", 31);
1795 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__24XApAWKNvaMkcyklm8bNA_70 = {((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_4),
1796 ((NI) 1349),
1797 ((NI) 17)}
1798 ;
1799 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_71, "expandToAst requires a call expression", 38);
1800 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__24XApAWKNvaMkcyklm8bNA_72 = {((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_4),
1801 ((NI) 1359),
1802 ((NI) 17)}
1803 ;
1804 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_73, "\'$1\' requires \'.importc\' types to be \'.completeStruct\'", 54);
1805 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_75, "sizeof", 6);
1806 static NIM_CONST tyArray__nHXaesL0DJZHyVS07ARPRA TM__24XApAWKNvaMkcyklm8bNA_74 = {((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_75)}
1807 ;
1808 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__24XApAWKNvaMkcyklm8bNA_76 = {((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_4),
1809 ((NI) 1361),
1810 ((NI) 15)}
1811 ;
1812 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_78, "alignof", 7);
1813 static NIM_CONST tyArray__nHXaesL0DJZHyVS07ARPRA TM__24XApAWKNvaMkcyklm8bNA_77 = {((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_78)}
1814 ;
1815 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__24XApAWKNvaMkcyklm8bNA_79 = {((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_4),
1816 ((NI) 1363),
1817 ((NI) 15)}
1818 ;
1819 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_81, "offsetof", 8);
1820 static NIM_CONST tyArray__nHXaesL0DJZHyVS07ARPRA TM__24XApAWKNvaMkcyklm8bNA_80 = {((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_81)}
1821 ;
1822 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__24XApAWKNvaMkcyklm8bNA_82 = {((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_4),
1823 ((NI) 1365),
1824 ((NI) 15)}
1825 ;
1826 extern TNimType NTItmagic__shZhZOdbVC5nnFvcXQAImg_;
1827 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__24XApAWKNvaMkcyklm8bNA_83 = {((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_4),
1828 ((NI) 1384),
1829 ((NI) 15)}
1830 ;
1831 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_84, "cannot call method ", 19);
1832 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_85, " at compile time", 16);
1833 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__24XApAWKNvaMkcyklm8bNA_86 = {((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_4),
1834 ((NI) 2055),
1835 ((NI) 18)}
1836 ;
1837 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_87, "stdlib.marshal.to", 17);
1838 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_88, "stdlib.marshal.$$", 17);
1839 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__24XApAWKNvaMkcyklm8bNA_89 = {
1840 0x10, 0xa8, 0x90, 0x00, 0x00, 0x60, 0x80, 0x00,
1841 0x00}
1842 ;
1843 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__24XApAWKNvaMkcyklm8bNA_90 = {((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_4),
1844 ((NI) 1580),
1845 ((NI) 21)}
1846 ;
1847 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__24XApAWKNvaMkcyklm8bNA_91 = {
1848 0x00, 0x00, 0x80, 0x00, 0x00, 0x80, 0x00, 0x10,
1849 0x00}
1850 ;
1851 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__24XApAWKNvaMkcyklm8bNA_92 = {((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_4),
1852 ((NI) 1766),
1853 ((NI) 17)}
1854 ;
1855 extern TNimType NTIseqLtpositionT__qwqHTkRvwhrRyENtudHQ7g_;
1856 static NIM_CONST struct {
1857   TGenericSeq Sup;
1858   NI data[0];
1859 } TM__24XApAWKNvaMkcyklm8bNA_94 = {{0, 0 | NIM_STRLIT_FLAG}};
1860 static NIM_CONST tyObject_TBlock__2tJGcW69ahqq39a9bVJC1sqGQ TM__24XApAWKNvaMkcyklm8bNA_93 = {((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL), ((tySequence__qwqHTkRvwhrRyENtudHQ7g*)&TM__24XApAWKNvaMkcyklm8bNA_94)}
1861 ;
1862 extern TNimType NTIseqLtblockT__JokFGfUW6i9b6aeU7xu6xBw_;
1863 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__24XApAWKNvaMkcyklm8bNA_95 = {((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_4),
1864 ((NI) 178),
1865 ((NI) 16)}
1866 ;
1867 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_96, "VM problem: cannot find \'break\' target", 38);
1868 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__24XApAWKNvaMkcyklm8bNA_97 = {((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_4),
1869 ((NI) 382),
1870 ((NI) 15)}
1871 ;
1872 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__24XApAWKNvaMkcyklm8bNA_98 = {
1873 0x10, 0xa8, 0xe0, 0x00, 0x00, 0xe0, 0x80, 0x00,
1874 0x00}
1875 ;
1876 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_99, "invalid object constructor", 26);
1877 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__24XApAWKNvaMkcyklm8bNA_100 = {((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_4),
1878 ((NI) 1968),
1879 ((NI) 17)}
1880 ;
1881 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__24XApAWKNvaMkcyklm8bNA_101 = {
1882 0x00, 0x00, 0x00, 0x80, 0x0f, 0x00, 0x00, 0x00,
1883 0x00}
1884 ;
1885 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__24XApAWKNvaMkcyklm8bNA_102 = {
1886 0x04, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00,
1887 0x00}
1888 ;
1889 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__24XApAWKNvaMkcyklm8bNA_103 = {
1890 0x10, 0xa9, 0x10, 0x00, 0x00, 0x60, 0x80, 0x00,
1891 0x00}
1892 ;
1893 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_104, "VM does not support \'cast\' from ", 32);
1894 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_105, " to ", 4);
1895 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__24XApAWKNvaMkcyklm8bNA_106 = {((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_4),
1896 ((NI) 938),
1897 ((NI) 15)}
1898 ;
1899 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_107, "cannot generate VM code for ", 28);
1900 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__24XApAWKNvaMkcyklm8bNA_108 = {((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_4),
1901 ((NI) 2166),
1902 ((NI) 17)}
1903 ;
1904 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__24XApAWKNvaMkcyklm8bNA_109 = {((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_4),
1905 ((NI) 2207),
1906 ((NI) 16)}
1907 ;
1908 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_110, "VM problem: dest register is not set", 36);
1909 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__24XApAWKNvaMkcyklm8bNA_111 = {((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_4),
1910 ((NI) 2192),
1911 ((NI) 17)}
1912 ;
1913 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_112, "VM problem: dest register is set", 32);
1914 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__24XApAWKNvaMkcyklm8bNA_113 = {((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_4),
1915 ((NI) 2183),
1916 ((NI) 15)}
1917 ;
1918 extern tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ gch__system_5218;
N_INLINE(NU64,hiXorLo__pureZhashes_79)1919 static N_INLINE(NU64, hiXorLo__pureZhashes_79)(NU64 a, NU64 b) {
1920 	NU64 result;
1921 	result = (NU64)0;
1922 	__uint128_t r = a; r *= b; result = (r >> 64) ^ r;
1923 	return result;
1924 }
N_INLINE(NI,hashWangYi1__pureZhashes_136)1925 static N_INLINE(NI, hashWangYi1__pureZhashes_136)(NU64 x) {
1926 	NI result;
1927 	NU64 T1_;
1928 	NU64 T2_;
1929 	result = (NI)0;
1930 	T1_ = (NU64)0;
1931 	T1_ = hiXorLo__pureZhashes_79(11562461410679940143ULL, (NU64)(x ^ 16646288086500911323ULL));
1932 	T2_ = (NU64)0;
1933 	T2_ = hiXorLo__pureZhashes_79(T1_, 16952864883938283885ULL);
1934 	result = ((NI) (T2_));
1935 	return result;
1936 }
N_INLINE(NI,hash__pureZhashes_128)1937 static N_INLINE(NI, hash__pureZhashes_128)(NI x) {
1938 	NI result;
1939 	result = (NI)0;
1940 	result = hashWangYi1__pureZhashes_136(((NU64) (x)));
1941 	return result;
1942 }
N_INLINE(NIM_BOOL,isFilled__pureZcollectionsZtables_31)1943 static N_INLINE(NIM_BOOL, isFilled__pureZcollectionsZtables_31)(NI hcode) {
1944 	NIM_BOOL result;
1945 	result = (NIM_BOOL)0;
1946 	result = !((hcode == ((NI) 0)));
1947 	return result;
1948 }
N_INLINE(NI,nextTry__pureZcollectionsZtables_34)1949 static N_INLINE(NI, nextTry__pureZcollectionsZtables_34)(NI h, NI maxHash) {
1950 	NI result;
1951 	result = (NI)0;
1952 	result = (NI)((NI)(h + ((NI) 1)) & maxHash);
1953 	return result;
1954 }
N_INLINE(NI,rawGet__sigmatch_5618)1955 static N_INLINE(NI, rawGet__sigmatch_5618)(tyObject_Table__Ea0e9azliYta9cYyn0d49ah0w t, NI key, NI* hc) {
1956 	NI result;
1957 	NI h;
1958 	NI T10_;
1959 {	result = (NI)0;
1960 	(*hc) = hash__pureZhashes_128(key);
1961 	{
1962 		if (!((*hc) == ((NI) 0))) goto LA3_;
1963 		(*hc) = ((NI) 314159265);
1964 	}
1965 	LA3_: ;
1966 	{
1967 		NI T7_;
1968 		T7_ = (t.data ? t.data->Sup.len : 0);
1969 		if (!(T7_ == ((NI) 0))) goto LA8_;
1970 		result = ((NI) -1);
1971 		goto BeforeRet_;
1972 	}
1973 	LA8_: ;
1974 	T10_ = ((t.data ? t.data->Sup.len : 0)-1);
1975 	h = (NI)((*hc) & T10_);
1976 	{
1977 		while (1) {
1978 			NIM_BOOL T13_;
1979 			NI T20_;
1980 			T13_ = (NIM_BOOL)0;
1981 			T13_ = isFilled__pureZcollectionsZtables_31(t.data->data[h].Field0);
1982 			if (!T13_) goto LA12;
1983 			{
1984 				NIM_BOOL T16_;
1985 				T16_ = (NIM_BOOL)0;
1986 				T16_ = (t.data->data[h].Field0 == (*hc));
1987 				if (!(T16_)) goto LA17_;
1988 				T16_ = (t.data->data[h].Field1 == key);
1989 				LA17_: ;
1990 				if (!T16_) goto LA18_;
1991 				result = h;
1992 				goto BeforeRet_;
1993 			}
1994 			LA18_: ;
1995 			T20_ = ((t.data ? t.data->Sup.len : 0)-1);
1996 			h = nextTry__pureZcollectionsZtables_34(h, T20_);
1997 		} LA12: ;
1998 	}
1999 	result = (NI)(((NI) -1) - h);
2000 	}BeforeRet_: ;
2001 	return result;
2002 }
N_NIMCALL(NI,getOrDefault__vmgen_3597)2003 N_LIB_PRIVATE N_NIMCALL(NI, getOrDefault__vmgen_3597)(tyObject_Table__Ea0e9azliYta9cYyn0d49ah0w t, NI key) {
2004 	NI result;
2005 	NI hcX60gensym637_;
2006 	NI indexX60gensym637_;
2007 	result = (NI)0;
2008 	hcX60gensym637_ = (NI)0;
2009 	indexX60gensym637_ = rawGet__sigmatch_5618(t, key, (&hcX60gensym637_));
2010 	{
2011 		if (!(((NI) 0) <= indexX60gensym637_)) goto LA3_;
2012 		result = t.data->data[indexX60gensym637_].Field2;
2013 	}
2014 	LA3_: ;
2015 	return result;
2016 }
N_INLINE(NI,pluspercent___system_696)2017 static N_INLINE(NI, pluspercent___system_696)(NI x, NI y) {
2018 	NI result;
2019 	result = (NI)0;
2020 	result = ((NI) ((NU)((NU64)(((NU) (x))) + (NU64)(((NU) (y))))));
2021 	return result;
2022 }
N_INLINE(void,incRef__system_5309)2023 static N_INLINE(void, incRef__system_5309)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
2024 	(*c).refcount = pluspercent___system_696((*c).refcount, ((NI) 8));
2025 }
N_INLINE(NI,minuspercent___system_716)2026 static N_INLINE(NI, minuspercent___system_716)(NI x, NI y) {
2027 	NI result;
2028 	result = (NI)0;
2029 	result = ((NI) ((NU)((NU64)(((NU) (x))) - (NU64)(((NU) (y))))));
2030 	return result;
2031 }
N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g *,usrToCell__system_5271)2032 static N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*, usrToCell__system_5271)(void* usr) {
2033 	tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* result;
2034 	NI T1_;
2035 	result = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
2036 	T1_ = (NI)0;
2037 	T1_ = minuspercent___system_716(((NI) (ptrdiff_t) (usr)), ((NI) 16));
2038 	result = ((tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*) (T1_));
2039 	return result;
2040 }
N_INLINE(NIM_BOOL,ltpercent___system_1005)2041 static N_INLINE(NIM_BOOL, ltpercent___system_1005)(NI x, NI y) {
2042 	NIM_BOOL result;
2043 	result = (NIM_BOOL)0;
2044 	result = ((NU64)(((NU) (x))) < (NU64)(((NU) (y))));
2045 	return result;
2046 }
N_INLINE(void,rtlAddZCT__system_5314)2047 static N_INLINE(void, rtlAddZCT__system_5314)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
2048 	addZCT__system_5265((&gch__system_5218.zct), c);
2049 }
N_INLINE(void,decRef__system_5316)2050 static N_INLINE(void, decRef__system_5316)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
2051 	(*c).refcount = minuspercent___system_716((*c).refcount, ((NI) 8));
2052 	{
2053 		NIM_BOOL T3_;
2054 		T3_ = (NIM_BOOL)0;
2055 		T3_ = ltpercent___system_1005((*c).refcount, ((NI) 8));
2056 		if (!T3_) goto LA4_;
2057 		rtlAddZCT__system_5314(c);
2058 	}
2059 	LA4_: ;
2060 }
N_INLINE(void,asgnRef)2061 static N_INLINE(void, asgnRef)(void** dest, void* src) {
2062 	{
2063 		tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T5_;
2064 		if (!!((src == NIM_NIL))) goto LA3_;
2065 		T5_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
2066 		T5_ = usrToCell__system_5271(src);
2067 		incRef__system_5309(T5_);
2068 	}
2069 	LA3_: ;
2070 	{
2071 		tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T10_;
2072 		if (!!(((*dest) == NIM_NIL))) goto LA8_;
2073 		T10_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
2074 		T10_ = usrToCell__system_5271((*dest));
2075 		decRef__system_5316(T10_);
2076 	}
2077 	LA8_: ;
2078 	(*dest) = src;
2079 }
N_INLINE(NIM_BOOL,isCompileTimeProc__ast_4683)2080 static N_INLINE(NIM_BOOL, isCompileTimeProc__ast_4683)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s) {
2081 	NIM_BOOL result;
2082 	NIM_BOOL T1_;
2083 	NIM_BOOL T3_;
2084 	result = (NIM_BOOL)0;
2085 	T1_ = (NIM_BOOL)0;
2086 	T1_ = ((*s).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 17));
2087 	if (T1_) goto LA2_;
2088 	T3_ = (NIM_BOOL)0;
2089 	T3_ = ((12288 &((NU32)1<<((NU)((*s).kind)&31U)))!=0);
2090 	if (!(T3_)) goto LA4_;
2091 	T3_ = (((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 28))&63U)))!=0);
2092 	LA4_: ;
2093 	T1_ = T3_;
2094 	LA2_: ;
2095 	result = T1_;
2096 	return result;
2097 }
N_NIMCALL(void,gABx__vmgen_375)2098 N_LIB_PRIVATE N_NIMCALL(void, gABx__vmgen_375)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opc, NI a, NI bx) {
2099 	{
2100 		NIM_BOOL T3_;
2101 		NU64 ins;
2102 		NI T7_;
2103 		NI T8_;
2104 		T3_ = (NIM_BOOL)0;
2105 		T3_ = (((NI) -8388608) <= bx);
2106 		if (!(T3_)) goto LA4_;
2107 		T3_ = (bx <= ((NI) 8388607));
2108 		LA4_: ;
2109 		if (!T3_) goto LA5_;
2110 		ins = (NU64)((NU64)(((NU64) (opc)) | (NU64)((NU64)(((NU64) (a))) << (NU64)(8ULL))) | (NU64)((NU64)(((NU64) ((NI)(bx + ((NI) 8388608))))) << (NU64)(24ULL)));
2111 		asgnRef((void**) (&(*c).code), (tySequence__YdLNCDKYeipzJx3I8Xw82Q*) incrSeqV3((TGenericSeq*)((*c).code), (&NTIseqLtinstrT__YdLNCDKYeipzJx3I8Xw82Q_)));
2112 		T7_ = (*c).code->Sup.len++;
2113 		(*c).code->data[T7_] = ins;
2114 		asgnRef((void**) (&(*c).debug), (tySequence__PJMRIt5QxCm6bRaVyQ5CGA*) incrSeqV3((TGenericSeq*)((*c).debug), (&NTIseqLtlineinfoT__PJMRIt5QxCm6bRaVyQ5CGA_)));
2115 		T8_ = (*c).debug->Sup.len++;
2116 		(*c).debug->data[T8_] = (*n).info;
2117 	}
2118 	goto LA1_;
2119 	LA5_: ;
2120 	{
2121 		liMessage__msgs_1118((*c).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_2), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__24XApAWKNvaMkcyklm8bNA_3, NIM_FALSE);
2122 	}
2123 	LA1_: ;
2124 }
N_NIMCALL(NI,xjmp__vmgen_398)2125 N_LIB_PRIVATE N_NIMCALL(NI, xjmp__vmgen_398)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opc, NI a) {
2126 	NI result;
2127 	NI T1_;
2128 	result = (NI)0;
2129 	T1_ = ((*c).code ? (*c).code->Sup.len : 0);
2130 	result = T1_;
2131 	gABx__vmgen_375(c, n, opc, a, ((NI) 0));
2132 	return result;
2133 }
N_INLINE(void,nimGCunrefRC1)2134 static N_INLINE(void, nimGCunrefRC1)(void* p) {
2135 	tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T1_;
2136 	T1_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
2137 	T1_ = usrToCell__system_5271(p);
2138 	decRef__system_5316(T1_);
2139 }
N_INLINE(NI,len__ast_3198)2140 static N_INLINE(NI, len__ast_3198)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
2141 	NI result;
2142 	NI T1_;
2143 	result = (NI)0;
2144 	T1_ = ((*n)._kind_6.sons ? (*n)._kind_6.sons->Sup.len : 0);
2145 	result = T1_;
2146 	return result;
2147 }
N_NIMCALL(void,genParams__vmgen_3318)2148 N_LIB_PRIVATE N_NIMCALL(void, genParams__vmgen_3318)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* params) {
2149 	NI T1_;
2150 	NIM_BOOL colontmp_;
2151 	tyEnum_TSlotKind__QOyrDzzey9cf6gDtSRPuZMQ colontmp__2;
2152 	T1_ = (NI)0;
2153 	T1_ = len__ast_3198(params);
2154 	asgnRef((void**) (&(*(*c).prc).regInfo), (tySequence__C1Ql3I9bU3HGPJdRd2y9cbVg*) setLengthSeqV2(&((*(*c).prc).regInfo)->Sup, (&NTIseqLtupleLinuse58bool_kind58tslotkindTT__C1Ql3I9bU3HGPJdRd2y9cbVg_), ((NI) (((T1_ >= ((NI) 1)) ? T1_ : ((NI) 1))))));
2155 	colontmp_ = NIM_TRUE;
2156 	colontmp__2 = ((tyEnum_TSlotKind__QOyrDzzey9cf6gDtSRPuZMQ) 1);
2157 	(*(*c).prc).regInfo->data[((NI) 0)].Field0 = colontmp_;
2158 	(*(*c).prc).regInfo->data[((NI) 0)].Field1 = colontmp__2;
2159 	{
2160 		NI i;
2161 		NI colontmp__3;
2162 		NI i_2;
2163 		i = (NI)0;
2164 		colontmp__3 = (NI)0;
2165 		colontmp__3 = len__ast_3198(params);
2166 		i_2 = ((NI) 1);
2167 		{
2168 			while (1) {
2169 				NIM_BOOL colontmp__4;
2170 				tyEnum_TSlotKind__QOyrDzzey9cf6gDtSRPuZMQ colontmp__5;
2171 				if (!(i_2 < colontmp__3)) goto LA4;
2172 				i = i_2;
2173 				colontmp__4 = NIM_TRUE;
2174 				colontmp__5 = ((tyEnum_TSlotKind__QOyrDzzey9cf6gDtSRPuZMQ) 2);
2175 				(*(*c).prc).regInfo->data[i].Field0 = colontmp__4;
2176 				(*(*c).prc).regInfo->data[i].Field1 = colontmp__5;
2177 				i_2 += ((NI) 1);
2178 			} LA4: ;
2179 		}
2180 	}
2181 }
N_INLINE(NIM_BOOL,isGenericParams__ast_4616)2182 static N_INLINE(NIM_BOOL, isGenericParams__ast_4616)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
2183 	NIM_BOOL result;
2184 	NIM_BOOL T1_;
2185 	result = (NIM_BOOL)0;
2186 	T1_ = (NIM_BOOL)0;
2187 	T1_ = !((n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
2188 	if (!(T1_)) goto LA2_;
2189 	T1_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 75));
2190 	LA2_: ;
2191 	result = T1_;
2192 	return result;
2193 }
N_INLINE(NIM_BOOL,isGenericRoutine__ast_4627)2194 static N_INLINE(NIM_BOOL, isGenericRoutine__ast_4627)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
2195 	NIM_BOOL result;
2196 	NIM_BOOL T1_;
2197 	NIM_BOOL T2_;
2198 	result = (NIM_BOOL)0;
2199 	T1_ = (NIM_BOOL)0;
2200 	T2_ = (NIM_BOOL)0;
2201 	T2_ = !((n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
2202 	if (!(T2_)) goto LA3_;
2203 	T2_ = ((*n).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 51) && (*n).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 52) || (*n).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 79) && (*n).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 84) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 159));
2204 	LA3_: ;
2205 	T1_ = T2_;
2206 	if (!(T1_)) goto LA4_;
2207 	T1_ = isGenericParams__ast_4616((*n)._kind_6.sons->data[((NI) 2)]);
2208 	LA4_: ;
2209 	result = T1_;
2210 	return result;
2211 }
N_INLINE(NIM_BOOL,isGenericRoutineStrict__ast_4639)2212 static N_INLINE(NIM_BOOL, isGenericRoutineStrict__ast_4639)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s) {
2213 	NIM_BOOL result;
2214 	NIM_BOOL T1_;
2215 	result = (NIM_BOOL)0;
2216 	T1_ = (NIM_BOOL)0;
2217 	T1_ = ((520192 &((NU32)1<<((NU)((*s).kind)&31U)))!=0);
2218 	if (!(T1_)) goto LA2_;
2219 	T1_ = isGenericRoutine__ast_4627((*s).ast);
2220 	LA2_: ;
2221 	result = T1_;
2222 	return result;
2223 }
N_NIMCALL(void,genGenericParams__vmgen_3361)2224 N_LIB_PRIVATE N_NIMCALL(void, genGenericParams__vmgen_3361)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* gp) {
2225 	NI base;
2226 	NI T1_;
2227 	NI T2_;
2228 	T1_ = ((*(*c).prc).regInfo ? (*(*c).prc).regInfo->Sup.len : 0);
2229 	base = T1_;
2230 	T2_ = (NI)0;
2231 	T2_ = len__ast_3198(gp);
2232 	asgnRef((void**) (&(*(*c).prc).regInfo), (tySequence__C1Ql3I9bU3HGPJdRd2y9cbVg*) setLengthSeqV2(&((*(*c).prc).regInfo)->Sup, (&NTIseqLtupleLinuse58bool_kind58tslotkindTT__C1Ql3I9bU3HGPJdRd2y9cbVg_), ((NI) ((NI)(base + T2_)))));
2233 	{
2234 		NI i;
2235 		NI colontmp_;
2236 		NI i_2;
2237 		i = (NI)0;
2238 		colontmp_ = (NI)0;
2239 		colontmp_ = len__ast_3198(gp);
2240 		i_2 = ((NI) 0);
2241 		{
2242 			while (1) {
2243 				tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* param;
2244 				NIM_BOOL colontmp__2;
2245 				tyEnum_TSlotKind__QOyrDzzey9cf6gDtSRPuZMQ colontmp__3;
2246 				if (!(i_2 < colontmp_)) goto LA5;
2247 				i = i_2;
2248 				param = (*(*gp)._kind_6.sons->data[i])._kind_4.sym;
2249 				(*param).position = (NI)(base + i);
2250 				colontmp__2 = NIM_TRUE;
2251 				colontmp__3 = ((tyEnum_TSlotKind__QOyrDzzey9cf6gDtSRPuZMQ) 2);
2252 				(*(*c).prc).regInfo->data[(NI)(base + i)].Field0 = colontmp__2;
2253 				(*(*c).prc).regInfo->data[(NI)(base + i)].Field1 = colontmp__3;
2254 				i_2 += ((NI) 1);
2255 			} LA5: ;
2256 		}
2257 	}
2258 }
N_INLINE(NIM_BOOL,importcCondVar__vmgen_2257)2259 static N_INLINE(NIM_BOOL, importcCondVar__vmgen_2257)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s) {
2260 	NIM_BOOL result;
2261 {	result = (NIM_BOOL)0;
2262 	{
2263 		if (!(((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 6))&63U)))!=0)) goto LA3_;
2264 		result = ((1792 &((NU32)1<<((NU)((*s).kind)&31U)))!=0);
2265 		goto BeforeRet_;
2266 	}
2267 	LA3_: ;
2268 	}BeforeRet_: ;
2269 	return result;
2270 }
N_NIMCALL(NIM_BOOL,isOwnedBy__vmgen_2234)2271 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isOwnedBy__vmgen_2234)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* a, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* b) {
2272 	NIM_BOOL result;
2273 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* a_2;
2274 {	result = (NIM_BOOL)0;
2275 	a_2 = (*a).owner;
2276 	{
2277 		while (1) {
2278 			NIM_BOOL T3_;
2279 			T3_ = (NIM_BOOL)0;
2280 			T3_ = !((a_2 == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
2281 			if (!(T3_)) goto LA4_;
2282 			T3_ = !(((*a_2).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 6)));
2283 			LA4_: ;
2284 			if (!T3_) goto LA2;
2285 			{
2286 				if (!(a_2 == b)) goto LA7_;
2287 				result = NIM_TRUE;
2288 				goto BeforeRet_;
2289 			}
2290 			LA7_: ;
2291 			a_2 = (*a_2).owner;
2292 		} LA2: ;
2293 	}
2294 	}BeforeRet_: ;
2295 	return result;
2296 }
N_INLINE(void,nimCopyMem)2297 static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size) {
2298 	void* T1_;
2299 	T1_ = (void*)0;
2300 	T1_ = memcpy(dest, source, ((size_t) (size)));
2301 }
N_INLINE(void,copyMem__system_1727)2302 static N_INLINE(void, copyMem__system_1727)(void* dest, void* source, NI size) {
2303 	nimCopyMem(dest, source, size);
2304 }
N_INLINE(void,appendString)2305 static N_INLINE(void, appendString)(NimStringDesc* dest, NimStringDesc* src) {
2306 	{
2307 		if (!!((src == ((NimStringDesc*) NIM_NIL)))) goto LA3_;
2308 		copyMem__system_1727(((void*) ((&(*dest).data[(*dest).Sup.len]))), ((void*) ((*src).data)), ((NI) ((NI)((*src).Sup.len + ((NI) 1)))));
2309 		(*dest).Sup.len += (*src).Sup.len;
2310 	}
2311 	LA3_: ;
2312 }
N_NOINLINE(void,cannotEval__vmgen_2231)2313 N_LIB_PRIVATE N_NOINLINE(void, cannotEval__vmgen_2231)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
2314 	NimStringDesc* T1_;
2315 	NimStringDesc* T2_;
2316 	T1_ = NIM_NIL;
2317 	T2_ = NIM_NIL;
2318 	T2_ = renderTree__renderer_46(n, 0);
2319 	T1_ = rawNewString((T2_ ? T2_->Sup.len : 0) + 33);
2320 appendString(T1_, ((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_6));
2321 appendString(T1_, T2_);
2322 	liMessage__msgs_1118((*c).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T1_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 2), TM__24XApAWKNvaMkcyklm8bNA_7, NIM_FALSE);
2323 }
N_NIMCALL(void,checkCanEval__vmgen_2268)2324 N_LIB_PRIVATE N_NIMCALL(void, checkCanEval__vmgen_2268)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
2325 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
2326 {	s = (*n)._kind_4.sym;
2327 	{
2328 		if (!((268435464 & ~ (*s).flags)==0)) goto LA3_;
2329 		goto BeforeRet_;
2330 	}
2331 	LA3_: ;
2332 	{
2333 		NIM_BOOL T7_;
2334 		T7_ = (NIM_BOOL)0;
2335 		T7_ = importcCondVar__vmgen_2257(s);
2336 		if (!T7_) goto LA8_;
2337 		goto BeforeRet_;
2338 	}
2339 	LA8_: ;
2340 	{
2341 		NIM_BOOL T12_;
2342 		NIM_BOOL T13_;
2343 		NIM_BOOL T14_;
2344 		NIM_BOOL T16_;
2345 		T12_ = (NIM_BOOL)0;
2346 		T13_ = (NIM_BOOL)0;
2347 		T14_ = (NIM_BOOL)0;
2348 		T14_ = ((2856 &((NU32)1<<((NU)((*s).kind)&31U)))!=0);
2349 		if (!(T14_)) goto LA15_;
2350 		T16_ = (NIM_BOOL)0;
2351 		T16_ = isOwnedBy__vmgen_2234(s, (*(*c).prc).sym);
2352 		T14_ = !(T16_);
2353 		LA15_: ;
2354 		T13_ = T14_;
2355 		if (!(T13_)) goto LA17_;
2356 		T13_ = !(((*s).owner == (*c).module));
2357 		LA17_: ;
2358 		T12_ = T13_;
2359 		if (!(T12_)) goto LA18_;
2360 		T12_ = !(((*c).mode == ((tyEnum_TEvalMode__UbrbHUpo4hYFr1DbYzJgRQ) 0)));
2361 		LA18_: ;
2362 		if (!T12_) goto LA19_;
2363 		{
2364 			NIM_BOOL T23_;
2365 			T23_ = (NIM_BOOL)0;
2366 			T23_ = (((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 37))&63U)))!=0);
2367 			if (!(T23_)) goto LA24_;
2368 			T23_ = ((*(*c).prc).sym == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
2369 			LA24_: ;
2370 			if (!T23_) goto LA25_;
2371 		}
2372 		goto LA21_;
2373 		LA25_: ;
2374 		{
2375 			cannotEval__vmgen_2231(c, n);
2376 		}
2377 		LA21_: ;
2378 	}
2379 	goto LA10_;
2380 	LA19_: ;
2381 	{
2382 		NIM_BOOL T29_;
2383 		T29_ = (NIM_BOOL)0;
2384 		T29_ = ((126976 &((NU32)1<<((NU)((*s).kind)&31U)))!=0);
2385 		if (!(T29_)) goto LA30_;
2386 		T29_ = (((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 4))&63U)))!=0);
2387 		LA30_: ;
2388 		if (!T29_) goto LA31_;
2389 		cannotEval__vmgen_2231(c, n);
2390 	}
2391 	goto LA10_;
2392 	LA31_: ;
2393 	LA10_: ;
2394 	}BeforeRet_: ;
2395 }
N_INLINE(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,getBody__modulegraphs_11241)2396 static N_INLINE(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, getBody__modulegraphs_11241)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s) {
2397 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
2398 	result = NIM_NIL;
2399 	result = (*(*s).ast)._kind_6.sons->data[((NI) 6)];
2400 	{
2401 		NIM_BOOL T3_;
2402 		T3_ = (NIM_BOOL)0;
2403 		T3_ = (result == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
2404 		if (!(T3_)) goto LA4_;
2405 		T3_ = ((28 &((NU8)1<<((NU)((*(*g).config).symbolFiles)&7U)))!=0);
2406 		LA4_: ;
2407 		if (!T3_) goto LA5_;
2408 		result = loadProcBody__icZic_8390((*g).config, (*g).cache, (&(*g).packed_0), s);
2409 		asgnRef((void**) (&(*(*s).ast)._kind_6.sons->data[((NI) 6)]), result);
2410 	}
2411 	LA5_: ;
2412 	return result;
2413 }
N_INLINE(NIM_BOOL,importcCond__vmgen_2412)2414 static N_INLINE(NIM_BOOL, importcCond__vmgen_2412)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s) {
2415 	NIM_BOOL result;
2416 {	result = (NIM_BOOL)0;
2417 	{
2418 		if (!(((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 6))&63U)))!=0)) goto LA3_;
2419 		{
2420 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T9_;
2421 			if (!((520192 &((NU32)1<<((NU)((*s).kind)&31U)))!=0)) goto LA7_;
2422 			T9_ = NIM_NIL;
2423 			T9_ = getBody__modulegraphs_11241((*c).graph, s);
2424 			result = ((*T9_).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1));
2425 			goto BeforeRet_;
2426 		}
2427 		LA7_: ;
2428 	}
2429 	LA3_: ;
2430 	}BeforeRet_: ;
2431 	return result;
2432 }
N_NIMCALL(void,importcSym__vmgen_2428)2433 N_LIB_PRIVATE N_NIMCALL(void, importcSym__vmgen_2428)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s) {
2434 	NimStringDesc* T1_;
2435 	T1_ = NIM_NIL;
2436 	T1_ = rawNewString(((*(*s).name).s ? (*(*s).name).s->Sup.len : 0) + 43);
2437 appendString(T1_, ((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_8));
2438 appendString(T1_, (*(*s).name).s);
2439 	liMessage__msgs_1118((*c).config, info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T1_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__24XApAWKNvaMkcyklm8bNA_9, NIM_FALSE);
2440 }
N_INLINE(NI,len__ast_4002)2441 static N_INLINE(NI, len__ast_4002)(tyObject_TType__facALICuu8zUj0hjvbTLFg* n) {
2442 	NI result;
2443 	NI T1_;
2444 	result = (NI)0;
2445 	T1_ = ((*n).sons ? (*n).sons->Sup.len : 0);
2446 	result = T1_;
2447 	return result;
2448 }
N_NIMCALL(void,getNullValueAux__vmgen_2711)2449 N_LIB_PRIVATE N_NIMCALL(void, getNullValueAux__vmgen_2711)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* obj, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, NI* currPosition) {
2450 	{
2451 		NIM_BOOL T3_;
2452 		NIM_BOOL T4_;
2453 		NI T6_;
2454 		tyObject_TType__facALICuu8zUj0hjvbTLFg* b;
2455 		T3_ = (NIM_BOOL)0;
2456 		T4_ = (NIM_BOOL)0;
2457 		T4_ = !((t == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
2458 		if (!(T4_)) goto LA5_;
2459 		T6_ = (NI)0;
2460 		T6_ = len__ast_4002(t);
2461 		T4_ = (((NI) 0) < T6_);
2462 		LA5_: ;
2463 		T3_ = T4_;
2464 		if (!(T3_)) goto LA7_;
2465 		T3_ = !(((*t).sons->data[((NI) 0)] == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
2466 		LA7_: ;
2467 		if (!T3_) goto LA8_;
2468 		b = skipTypes__ast_3735((*t).sons->data[((NI) 0)], TM__24XApAWKNvaMkcyklm8bNA_11);
2469 		getNullValueAux__vmgen_2711(b, (*b).n, result, conf, currPosition);
2470 	}
2471 	LA8_: ;
2472 	switch ((*obj).kind) {
2473 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 138):
2474 	{
2475 		{
2476 			NI i;
2477 			NI colontmp_;
2478 			NI i_2;
2479 			i = (NI)0;
2480 			colontmp_ = (NI)0;
2481 			colontmp_ = len__ast_3198(obj);
2482 			i_2 = ((NI) 0);
2483 			{
2484 				while (1) {
2485 					if (!(i_2 < colontmp_)) goto LA13;
2486 					i = i_2;
2487 					getNullValueAux__vmgen_2711(((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL), (*obj)._kind_6.sons->data[i], result, conf, currPosition);
2488 					i_2 += ((NI) 1);
2489 				} LA13: ;
2490 			}
2491 		}
2492 	}
2493 	break;
2494 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 139):
2495 	{
2496 		getNullValueAux__vmgen_2711(((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL), (*obj)._kind_6.sons->data[((NI) 0)], result, conf, currPosition);
2497 		{
2498 			NI i_3;
2499 			NI colontmp__2;
2500 			NI i_4;
2501 			i_3 = (NI)0;
2502 			colontmp__2 = (NI)0;
2503 			colontmp__2 = len__ast_3198(obj);
2504 			i_4 = ((NI) 1);
2505 			{
2506 				while (1) {
2507 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T18_;
2508 					if (!(i_4 < colontmp__2)) goto LA17;
2509 					i_3 = i_4;
2510 					T18_ = NIM_NIL;
2511 					T18_ = lastSon__ast_4832((*obj)._kind_6.sons->data[i_3]);
2512 					getNullValueAux__vmgen_2711(((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL), T18_, result, conf, currPosition);
2513 					i_4 += ((NI) 1);
2514 				} LA17: ;
2515 			}
2516 		}
2517 	}
2518 	break;
2519 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
2520 	{
2521 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* field;
2522 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T20_;
2523 		field = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 34), (*result).info);
2524 		add__ast_4797(field, obj);
2525 		T20_ = NIM_NIL;
2526 		T20_ = getNullValue__vmgen_2432((*(*obj)._kind_4.sym).typ, (*result).info, conf);
2527 		add__ast_4797(field, T20_);
2528 		add__ast_4797(result, field);
2529 		{
2530 			if (!!(((*(*obj)._kind_4.sym).position == (*currPosition)))) goto LA23_;
2531 			failedAssertImpl__systemZassertions_56(((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_12));
2532 		}
2533 		LA23_: ;
2534 		(*currPosition) += ((NI) 1);
2535 	}
2536 	break;
2537 	default:
2538 	{
2539 		NimStringDesc* T26_;
2540 		NimStringDesc* T27_;
2541 		T26_ = NIM_NIL;
2542 		T27_ = NIM_NIL;
2543 		T27_ = dollar___renderer_2106(obj);
2544 		T26_ = rawNewString((T27_ ? T27_->Sup.len : 0) + 32);
2545 appendString(T26_, ((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_13));
2546 appendString(T26_, T27_);
2547 		liMessage__msgs_1118(conf, (*result).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T26_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 2), TM__24XApAWKNvaMkcyklm8bNA_14, NIM_FALSE);
2548 	}
2549 	break;
2550 	}
2551 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,getNullValue__vmgen_2432)2552 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, getNullValue__vmgen_2432)(tyObject_TType__facALICuu8zUj0hjvbTLFg* typ, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf) {
2553 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
2554 	tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
2555 	result = NIM_NIL;
2556 	t = skipTypes__ast_3735(typ, TM__24XApAWKNvaMkcyklm8bNA_10);
2557 	switch ((*t).kind) {
2558 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 1):
2559 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 14):
2560 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 2):
2561 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 35):
2562 	{
2563 		result = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6), info, t);
2564 	}
2565 	break;
2566 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 40) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 44):
2567 	{
2568 		result = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 11), info, t);
2569 	}
2570 	break;
2571 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 36) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 39):
2572 	{
2573 		result = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 16), info, t);
2574 	}
2575 	break;
2576 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 29):
2577 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 28):
2578 	{
2579 		result = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 20), info, t);
2580 		asgnRef((void**) (&(*result)._kind_3.strVal), ((NimStringDesc*) NIM_NIL));
2581 	}
2582 	break;
2583 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23):
2584 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47):
2585 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 26):
2586 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21):
2587 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 6):
2588 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 7):
2589 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8):
2590 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22):
2591 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 5):
2592 	{
2593 		result = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23), info, t);
2594 	}
2595 	break;
2596 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25):
2597 	{
2598 		{
2599 			if (!!(((*t).callConv == ((tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA) 9)))) goto LA9_;
2600 			result = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23), info, t);
2601 		}
2602 		goto LA7_;
2603 		LA9_: ;
2604 		{
2605 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T12_;
2606 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T13_;
2607 			result = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 160), info, t);
2608 			T12_ = NIM_NIL;
2609 			T12_ = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23), info, t);
2610 			add__ast_4797(result, T12_);
2611 			T13_ = NIM_NIL;
2612 			T13_ = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23), info, t);
2613 			add__ast_4797(result, T13_);
2614 		}
2615 		LA7_: ;
2616 	}
2617 	break;
2618 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17):
2619 	{
2620 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T15_;
2621 		NI currPosition;
2622 		result = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 38), info, t);
2623 		T15_ = NIM_NIL;
2624 		T15_ = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1), info, t);
2625 		add__ast_4797(result, T15_);
2626 		currPosition = ((NI) 0);
2627 		getNullValueAux__vmgen_2711(t, (*t).n, result, conf, (&currPosition));
2628 	}
2629 	break;
2630 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 16):
2631 	{
2632 		result = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 41), info, t);
2633 		{
2634 			NI i;
2635 			NI colontmp_;
2636 			tyObject_Int128__9a9axPfb75jdWY25AamJewkA T18_;
2637 			NI i_2;
2638 			i = (NI)0;
2639 			colontmp_ = (NI)0;
2640 			T18_ = lengthOrd__types_1661(conf, t);
2641 			colontmp_ = toInt__int495056_170(T18_);
2642 			i_2 = ((NI) 0);
2643 			{
2644 				while (1) {
2645 					tyObject_TType__facALICuu8zUj0hjvbTLFg* T21_;
2646 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T22_;
2647 					if (!(i_2 < colontmp_)) goto LA20;
2648 					i = i_2;
2649 					T21_ = NIM_NIL;
2650 					T21_ = elemType__types_263(t);
2651 					T22_ = NIM_NIL;
2652 					T22_ = getNullValue__vmgen_2432(T21_, info, conf);
2653 					add__ast_4797(result, T22_);
2654 					i_2 += ((NI) 1);
2655 				} LA20: ;
2656 			}
2657 		}
2658 	}
2659 	break;
2660 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18):
2661 	{
2662 		result = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 160), info, t);
2663 		{
2664 			NI i_3;
2665 			NI colontmp__2;
2666 			NI i_4;
2667 			i_3 = (NI)0;
2668 			colontmp__2 = (NI)0;
2669 			colontmp__2 = len__ast_4002(t);
2670 			i_4 = ((NI) 0);
2671 			{
2672 				while (1) {
2673 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T27_;
2674 					if (!(i_4 < colontmp__2)) goto LA26;
2675 					i_3 = i_4;
2676 					T27_ = NIM_NIL;
2677 					T27_ = getNullValue__vmgen_2432((*t).sons->data[i_3], info, conf);
2678 					add__ast_4797(result, T27_);
2679 					i_4 += ((NI) 1);
2680 				} LA26: ;
2681 			}
2682 		}
2683 	}
2684 	break;
2685 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 19):
2686 	{
2687 		result = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 39), info, t);
2688 	}
2689 	break;
2690 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 24):
2691 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 27):
2692 	{
2693 		result = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 41), info, t);
2694 	}
2695 	break;
2696 	default:
2697 	{
2698 		NimStringDesc* T31_;
2699 		T31_ = NIM_NIL;
2700 		T31_ = rawNewString((reprEnum((NI)(*t).kind, (&NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_)) ? reprEnum((NI)(*t).kind, (&NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_))->Sup.len : 0) + 32);
2701 appendString(T31_, ((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_13));
2702 appendString(T31_, reprEnum((NI)(*t).kind, (&NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_)));
2703 		liMessage__msgs_1118(conf, info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T31_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 2), TM__24XApAWKNvaMkcyklm8bNA_15, NIM_FALSE);
2704 		result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1), info);
2705 	}
2706 	break;
2707 	}
2708 	return result;
2709 }
N_NIMCALL(tyEnum_TSlotKind__QOyrDzzey9cf6gDtSRPuZMQ,getSlotKind__vmgen_451)2710 N_LIB_PRIVATE N_NIMCALL(tyEnum_TSlotKind__QOyrDzzey9cf6gDtSRPuZMQ, getSlotKind__vmgen_451)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
2711 	tyEnum_TSlotKind__QOyrDzzey9cf6gDtSRPuZMQ result;
2712 	tyObject_TType__facALICuu8zUj0hjvbTLFg* T1_;
2713 	result = (tyEnum_TSlotKind__QOyrDzzey9cf6gDtSRPuZMQ)0;
2714 	T1_ = NIM_NIL;
2715 	T1_ = skipTypes__ast_3735(t, TM__24XApAWKNvaMkcyklm8bNA_17);
2716 	switch ((*T1_).kind) {
2717 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 1):
2718 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 2):
2719 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 14):
2720 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 15):
2721 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 35):
2722 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 40) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 44):
2723 	{
2724 		result = ((tyEnum_TSlotKind__QOyrDzzey9cf6gDtSRPuZMQ) 4);
2725 	}
2726 	break;
2727 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 28):
2728 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 29):
2729 	{
2730 		result = ((tyEnum_TSlotKind__QOyrDzzey9cf6gDtSRPuZMQ) 6);
2731 	}
2732 	break;
2733 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 36) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 39):
2734 	{
2735 		result = ((tyEnum_TSlotKind__QOyrDzzey9cf6gDtSRPuZMQ) 5);
2736 	}
2737 	break;
2738 	default:
2739 	{
2740 		result = ((tyEnum_TSlotKind__QOyrDzzey9cf6gDtSRPuZMQ) 7);
2741 	}
2742 	break;
2743 	}
2744 	return result;
2745 }
N_INLINE(void,nimSetMem__systemZmemory_7)2746 static N_INLINE(void, nimSetMem__systemZmemory_7)(void* a, int v, NI size) {
2747 	void* T1_;
2748 	T1_ = (void*)0;
2749 	T1_ = memset(a, v, ((size_t) (size)));
2750 }
N_INLINE(void,nimZeroMem)2751 static N_INLINE(void, nimZeroMem)(void* p, NI size) {
2752 	nimSetMem__systemZmemory_7(p, ((int) 0), size);
2753 }
N_NIMCALL(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q,bestEffort__vmgen_468)2754 N_LIB_PRIVATE N_NIMCALL(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q, bestEffort__vmgen_468)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c) {
2755 	tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q result;
2756 	nimZeroMem((void*)(&result), sizeof(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q));
2757 	{
2758 		NIM_BOOL T3_;
2759 		T3_ = (NIM_BOOL)0;
2760 		T3_ = !(((*c).prc == ((tyObject_PProccolonObjectType___VFEBuxrDHC6kHPzc1TWaRQ*) NIM_NIL)));
2761 		if (!(T3_)) goto LA4_;
2762 		T3_ = !(((*(*c).prc).sym == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
2763 		LA4_: ;
2764 		if (!T3_) goto LA5_;
2765 		result = (*(*(*c).prc).sym).info;
2766 	}
2767 	goto LA1_;
2768 	LA5_: ;
2769 	{
2770 		result = (*(*c).module).info;
2771 	}
2772 	LA1_: ;
2773 	return result;
2774 }
N_NIMCALL(NI,getFreeRegister__vmgen_479)2775 N_LIB_PRIVATE N_NIMCALL(NI, getFreeRegister__vmgen_479)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* cc, tyEnum_TSlotKind__QOyrDzzey9cf6gDtSRPuZMQ k, NI start) {
2776 	NI result;
2777 	tyObject_PProccolonObjectType___VFEBuxrDHC6kHPzc1TWaRQ* c;
2778 	NI T30_;
2779 	NIM_BOOL colontmp__5;
2780 	tyEnum_TSlotKind__QOyrDzzey9cf6gDtSRPuZMQ colontmp__6;
2781 {	result = (NI)0;
2782 	c = (*cc).prc;
2783 	{
2784 		NI i;
2785 		NI colontmp_;
2786 		NI T2_;
2787 		NI res;
2788 		i = (NI)0;
2789 		colontmp_ = (NI)0;
2790 		T2_ = ((*c).regInfo ? (*c).regInfo->Sup.len : 0);
2791 		colontmp_ = (NI)(T2_ - ((NI) 1));
2792 		res = start;
2793 		{
2794 			while (1) {
2795 				if (!(res <= colontmp_)) goto LA4;
2796 				i = res;
2797 				{
2798 					NIM_BOOL T7_;
2799 					T7_ = (NIM_BOOL)0;
2800 					T7_ = ((*c).regInfo->data[i].Field1 == k);
2801 					if (!(T7_)) goto LA8_;
2802 					T7_ = !((*c).regInfo->data[i].Field0);
2803 					LA8_: ;
2804 					if (!T7_) goto LA9_;
2805 					(*c).regInfo->data[i].Field0 = NIM_TRUE;
2806 					result = ((NI) (i));
2807 					goto BeforeRet_;
2808 				}
2809 				LA9_: ;
2810 				res += ((NI) 1);
2811 			} LA4: ;
2812 		}
2813 	}
2814 	{
2815 		NI T13_;
2816 		T13_ = ((*c).regInfo ? (*c).regInfo->Sup.len : 0);
2817 		if (!(((NI) 65535) <= T13_)) goto LA14_;
2818 		{
2819 			NI i_2;
2820 			NI colontmp__2;
2821 			NI T17_;
2822 			NI res_2;
2823 			i_2 = (NI)0;
2824 			colontmp__2 = (NI)0;
2825 			T17_ = ((*c).regInfo ? (*c).regInfo->Sup.len : 0);
2826 			colontmp__2 = (NI)(T17_ - ((NI) 1));
2827 			res_2 = start;
2828 			{
2829 				while (1) {
2830 					if (!(res_2 <= colontmp__2)) goto LA19;
2831 					i_2 = res_2;
2832 					{
2833 						NIM_BOOL colontmp__3;
2834 						tyEnum_TSlotKind__QOyrDzzey9cf6gDtSRPuZMQ colontmp__4;
2835 						if (!!((*c).regInfo->data[i_2].Field0)) goto LA22_;
2836 						colontmp__3 = NIM_TRUE;
2837 						colontmp__4 = k;
2838 						(*c).regInfo->data[i_2].Field0 = colontmp__3;
2839 						(*c).regInfo->data[i_2].Field1 = colontmp__4;
2840 						result = ((NI) (i_2));
2841 						goto BeforeRet_;
2842 					}
2843 					LA22_: ;
2844 					res_2 += ((NI) 1);
2845 				} LA19: ;
2846 			}
2847 		}
2848 	}
2849 	LA14_: ;
2850 	{
2851 		NI T26_;
2852 		tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q T29_;
2853 		T26_ = ((*c).regInfo ? (*c).regInfo->Sup.len : 0);
2854 		if (!(((NI) 65535) <= T26_)) goto LA27_;
2855 		T29_ = bestEffort__vmgen_468(cc);
2856 		liMessage__msgs_1118((*cc).config, T29_, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_18), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 2), TM__24XApAWKNvaMkcyklm8bNA_19, NIM_FALSE);
2857 	}
2858 	LA27_: ;
2859 	T30_ = ((*c).regInfo ? (*c).regInfo->Sup.len : 0);
2860 	result = ((NI) (((T30_ >= start) ? T30_ : start)));
2861 	asgnRef((void**) (&(*c).regInfo), (tySequence__C1Ql3I9bU3HGPJdRd2y9cbVg*) setLengthSeqV2(&((*c).regInfo)->Sup, (&NTIseqLtupleLinuse58bool_kind58tslotkindTT__C1Ql3I9bU3HGPJdRd2y9cbVg_), ((NI) ((NI)(((NI) (result)) + ((NI) 1))))));
2862 	colontmp__5 = NIM_TRUE;
2863 	colontmp__6 = k;
2864 	(*c).regInfo->data[result].Field0 = colontmp__5;
2865 	(*c).regInfo->data[result].Field1 = colontmp__6;
2866 	}BeforeRet_: ;
2867 	return result;
2868 }
N_NIMCALL(NI,getTemp__vmgen_541)2869 N_LIB_PRIVATE N_NIMCALL(NI, getTemp__vmgen_541)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* cc, tyObject_TType__facALICuu8zUj0hjvbTLFg* tt) {
2870 	NI result;
2871 	tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
2872 	tyEnum_TSlotKind__QOyrDzzey9cf6gDtSRPuZMQ k;
2873 	result = (NI)0;
2874 	typ = skipTypesOrNil__ast_4185(tt, TM__24XApAWKNvaMkcyklm8bNA_16);
2875 	{
2876 		if (!(typ == 0)) goto LA3_;
2877 		k = ((tyEnum_TSlotKind__QOyrDzzey9cf6gDtSRPuZMQ) 7);
2878 	}
2879 	goto LA1_;
2880 	LA3_: ;
2881 	{
2882 		k = getSlotKind__vmgen_451(typ);
2883 	}
2884 	LA1_: ;
2885 	result = getFreeRegister__vmgen_479(cc, k, ((NI) 0));
2886 	return result;
2887 }
N_NIMCALL(NI,genx__vmgen_712)2888 N_LIB_PRIVATE N_NIMCALL(NI, genx__vmgen_712)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TGenFlag__dpr9bkeHD0U9bDk615O0L1FQ flags) {
2889 	NI result;
2890 	NI tmp;
2891 	result = (NI)0;
2892 	tmp = ((NI) -1);
2893 	gen__vmgen_687(c, n, (&tmp), flags);
2894 	{
2895 		if (!(((NI) 0) <= ((NI) (tmp)))) goto LA3_;
2896 		result = ((NI) (tmp));
2897 	}
2898 	LA3_: ;
2899 	return result;
2900 }
N_NIMCALL(void,gABC__vmgen_312)2901 N_LIB_PRIVATE N_NIMCALL(void, gABC__vmgen_312)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* ctx, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opc, NI a, NI b, NI c) {
2902 	NU64 ins;
2903 	NI T1_;
2904 	NI T2_;
2905 	ins = (NU64)((NU64)((NU64)(((NU64) (opc)) | (NU64)((NU64)(((NU64) (a))) << (NU64)(8ULL))) | (NU64)((NU64)(((NU64) (b))) << (NU64)(24ULL))) | (NU64)((NU64)(((NU64) (c))) << (NU64)(40ULL)));
2906 	asgnRef((void**) (&(*ctx).code), (tySequence__YdLNCDKYeipzJx3I8Xw82Q*) incrSeqV3((TGenericSeq*)((*ctx).code), (&NTIseqLtinstrT__YdLNCDKYeipzJx3I8Xw82Q_)));
2907 	T1_ = (*ctx).code->Sup.len++;
2908 	(*ctx).code->data[T1_] = ins;
2909 	asgnRef((void**) (&(*ctx).debug), (tySequence__PJMRIt5QxCm6bRaVyQ5CGA*) incrSeqV3((TGenericSeq*)((*ctx).debug), (&NTIseqLtlineinfoT__PJMRIt5QxCm6bRaVyQ5CGA_)));
2910 	T2_ = (*ctx).debug->Sup.len++;
2911 	(*ctx).debug->data[T2_] = (*n).info;
2912 }
N_NIMCALL(tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ,whichAsgnOpc__vmgen_1846)2913 N_LIB_PRIVATE N_NIMCALL(tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ, whichAsgnOpc__vmgen_1846)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NIM_BOOL requiresCopy) {
2914 	tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ result;
2915 	tyObject_TType__facALICuu8zUj0hjvbTLFg* T1_;
2916 	result = (tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ)0;
2917 	T1_ = NIM_NIL;
2918 	T1_ = skipTypes__ast_3735((*n).typ, TM__24XApAWKNvaMkcyklm8bNA_17);
2919 	switch ((*T1_).kind) {
2920 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 1):
2921 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 2):
2922 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 14):
2923 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 15):
2924 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 35):
2925 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 40) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 44):
2926 	{
2927 		result = ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 4);
2928 	}
2929 	break;
2930 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 36) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 39):
2931 	{
2932 		result = ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 5);
2933 	}
2934 	break;
2935 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22):
2936 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 5):
2937 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23):
2938 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47):
2939 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21):
2940 	{
2941 		result = ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 6);
2942 	}
2943 	break;
2944 	default:
2945 	{
2946 		{
2947 			if (!requiresCopy) goto LA8_;
2948 			result = ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 7);
2949 		}
2950 		goto LA6_;
2951 		LA8_: ;
2952 		{
2953 			result = ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 14);
2954 		}
2955 		LA6_: ;
2956 	}
2957 	break;
2958 	}
2959 	return result;
2960 }
N_NIMCALL(void,freeTemp__vmgen_550)2961 N_LIB_PRIVATE N_NIMCALL(void, freeTemp__vmgen_550)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, NI r) {
2962 	tyObject_PProccolonObjectType___VFEBuxrDHC6kHPzc1TWaRQ* c_2;
2963 	c_2 = (*c).prc;
2964 	{
2965 		if (!((248 &((NU16)1<<((NU)((*c_2).regInfo->data[r].Field1)&15U)))!=0)) goto LA3_;
2966 		(*c_2).regInfo->data[r].Field0 = NIM_FALSE;
2967 	}
2968 	LA3_: ;
2969 }
N_NIMCALL(void,genAdditionalCopy__vmgen_2307)2970 N_LIB_PRIVATE N_NIMCALL(void, genAdditionalCopy__vmgen_2307)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opc, NI dest, NI idx, NI value) {
2971 	NI cc;
2972 	tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ T1_;
2973 	cc = getTemp__vmgen_541(c, (*n).typ);
2974 	T1_ = (tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ)0;
2975 	T1_ = whichAsgnOpc__vmgen_1846(n, NIM_TRUE);
2976 	gABC__vmgen_312(c, n, T1_, cc, value, ((NI) 0));
2977 	gABC__vmgen_312(c, n, opc, dest, idx, cc);
2978 	freeTemp__vmgen_550(c, cc);
2979 }
N_NIMCALL(void,genGlobalInit__vmgen_2436)2980 N_LIB_PRIVATE N_NIMCALL(void, genGlobalInit__vmgen_2436)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s) {
2981 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T1_;
2982 	NI dest;
2983 	T1_ = NIM_NIL;
2984 	T1_ = getNullValue__vmgen_2432((*s).typ, (*n).info, (*c).config);
2985 	add__ast_4797((*c).globals, T1_);
2986 	(*s).position = len__ast_3198((*c).globals);
2987 	dest = getTemp__vmgen_541(c, (*s).typ);
2988 	gABx__vmgen_375(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 176), dest, (*s).position);
2989 	{
2990 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T4_;
2991 		NI tmp;
2992 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T7_;
2993 		T4_ = NIM_NIL;
2994 		T4_ = astdef__ast_3483(s);
2995 		if (!!((T4_ == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA5_;
2996 		T7_ = NIM_NIL;
2997 		T7_ = astdef__ast_3483(s);
2998 		tmp = genx__vmgen_712(c, T7_, 0);
2999 		genAdditionalCopy__vmgen_2307(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 25), dest, ((NI) 0), tmp);
3000 		freeTemp__vmgen_550(c, dest);
3001 		freeTemp__vmgen_550(c, tmp);
3002 	}
3003 	LA5_: ;
3004 }
N_NIMCALL(NIM_BOOL,fitsRegister__vmgen_1814)3005 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, fitsRegister__vmgen_1814)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
3006 	NIM_BOOL result;
3007 	tyObject_TType__facALICuu8zUj0hjvbTLFg* T1_;
3008 	result = (NIM_BOOL)0;
3009 	T1_ = NIM_NIL;
3010 	T1_ = skipTypes__ast_3735(t, TM__24XApAWKNvaMkcyklm8bNA_20);
3011 	result = ((*T1_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 20) || (*T1_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 14) || (*T1_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 1) || (*T1_).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31) && (*T1_).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 44) || (*T1_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 2));
3012 	return result;
3013 }
N_NIMCALL(void,setSlot__vmgen_2224)3014 N_LIB_PRIVATE N_NIMCALL(void, setSlot__vmgen_2224)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* v) {
3015 	{
3016 		tyEnum_TSlotKind__QOyrDzzey9cf6gDtSRPuZMQ T5_;
3017 		NI T11_;
3018 		if (!((*v).position == ((NI) 0))) goto LA3_;
3019 		T5_ = (tyEnum_TSlotKind__QOyrDzzey9cf6gDtSRPuZMQ)0;
3020 		{
3021 			if (!((*v).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 9))) goto LA8_;
3022 			T5_ = ((tyEnum_TSlotKind__QOyrDzzey9cf6gDtSRPuZMQ) 2);
3023 		}
3024 		goto LA6_;
3025 		LA8_: ;
3026 		{
3027 			T5_ = ((tyEnum_TSlotKind__QOyrDzzey9cf6gDtSRPuZMQ) 1);
3028 		}
3029 		LA6_: ;
3030 		T11_ = (NI)0;
3031 		T11_ = getFreeRegister__vmgen_479(c, T5_, ((NI) 1));
3032 		(*v).position = ((NI) (T11_));
3033 	}
3034 	LA3_: ;
3035 }
N_INLINE(void,addInt__stdZprivateZdigitsutils_189)3036 static N_INLINE(void, addInt__stdZprivateZdigitsutils_189)(NimStringDesc** result, NI x) {
3037 	addInt__stdZprivateZdigitsutils_167(result, ((NI64) (x)));
3038 }
N_INLINE(NimStringDesc *,toFileLineCol__msgs_615)3039 static N_INLINE(NimStringDesc*, toFileLineCol__msgs_615)(tyTuple__kN8up2W6YKc5YA9avn5mV5w info) {
3040 	NimStringDesc* result;
3041 	result = NIM_NIL;
3042 	result = resizeString(result, (info.Field0 ? info.Field0->Sup.len : 0) + 0);
3043 appendString(result, info.Field0);
3044 	{
3045 		if (!(((NI) 0) < info.Field1)) goto LA3_;
3046 		result = resizeString(result, 1);
3047 appendString(result, ((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_21));
3048 		addInt__stdZprivateZdigitsutils_189((&result), info.Field1);
3049 		{
3050 			if (!(((NI) 0) < (NI)(info.Field2 + ((NI) 1)))) goto LA7_;
3051 			result = resizeString(result, 2);
3052 appendString(result, ((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_22));
3053 			addInt__stdZprivateZdigitsutils_189((&result), (NI)(info.Field2 + ((NI) 1)));
3054 		}
3055 		LA7_: ;
3056 		result = resizeString(result, 1);
3057 appendString(result, ((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_23));
3058 	}
3059 	LA3_: ;
3060 	return result;
3061 }
N_NIMCALL(void,genAsgn__vmgen_2215)3062 N_LIB_PRIVATE N_NIMCALL(void, genAsgn__vmgen_2215)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, NI dest, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ri, NIM_BOOL requiresCopy) {
3063 	NI tmp;
3064 	tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ T1_;
3065 	tmp = genx__vmgen_712(c, ri, 0);
3066 	T1_ = (tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ)0;
3067 	T1_ = whichAsgnOpc__vmgen_1846(ri, requiresCopy);
3068 	gABC__vmgen_312(c, ri, T1_, ((NI) (dest)), tmp, ((NI) 0));
3069 	freeTemp__vmgen_550(c, tmp);
3070 }
N_NIMCALL(void,genRdVar__vmgen_2453)3071 N_LIB_PRIVATE N_NIMCALL(void, genRdVar__vmgen_2453)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest, tySet_tyEnum_TGenFlag__dpr9bkeHD0U9bDk615O0L1FQ flags) {
3072 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
3073 	s = (*n)._kind_4.sym;
3074 	{
3075 		NIM_BOOL T3_;
3076 		NIM_BOOL isImportcVar;
3077 		T3_ = (NIM_BOOL)0;
3078 		T3_ = (((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 3))&63U)))!=0);
3079 		if (!(T3_)) goto LA4_;
3080 		T3_ = !(((*s).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 21)));
3081 		LA4_: ;
3082 		if (!T3_) goto LA5_;
3083 		isImportcVar = importcCondVar__vmgen_2257(s);
3084 		{
3085 			NIM_BOOL T9_;
3086 			NIM_BOOL T10_;
3087 			T9_ = (NIM_BOOL)0;
3088 			T10_ = (NIM_BOOL)0;
3089 			T10_ = (((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 28))&63U)))!=0);
3090 			if (T10_) goto LA11_;
3091 			T10_ = ((*c).mode == ((tyEnum_TEvalMode__UbrbHUpo4hYFr1DbYzJgRQ) 0));
3092 			LA11_: ;
3093 			T9_ = T10_;
3094 			if (T9_) goto LA12_;
3095 			T9_ = isImportcVar;
3096 			LA12_: ;
3097 			if (!T9_) goto LA13_;
3098 		}
3099 		goto LA7_;
3100 		LA13_: ;
3101 		{
3102 			if (!((*s).position == ((NI) 0))) goto LA16_;
3103 			cannotEval__vmgen_2231(c, n);
3104 		}
3105 		goto LA7_;
3106 		LA16_: ;
3107 		LA7_: ;
3108 		{
3109 			if (!((*s).position == ((NI) 0))) goto LA20_;
3110 			{
3111 				NIM_BOOL T24_;
3112 				T24_ = (NIM_BOOL)0;
3113 				T24_ = importcCond__vmgen_2412(c, s);
3114 				if (T24_) goto LA25_;
3115 				T24_ = isImportcVar;
3116 				LA25_: ;
3117 				if (!T24_) goto LA26_;
3118 				importcSym__vmgen_2428(c, (*n).info, s);
3119 			}
3120 			goto LA22_;
3121 			LA26_: ;
3122 			{
3123 				genGlobalInit__vmgen_2436(c, n, s);
3124 			}
3125 			LA22_: ;
3126 		}
3127 		LA20_: ;
3128 		{
3129 			NI T33_;
3130 			if (!(((NI) ((*dest))) < ((NI) 0))) goto LA31_;
3131 			T33_ = (NI)0;
3132 			T33_ = getTemp__vmgen_541(c, (*n).typ);
3133 			(*dest) = ((NI) (T33_));
3134 		}
3135 		LA31_: ;
3136 		{
3137 			if (!((flags &((NU8)1<<((NU)(((tyEnum_TGenFlag__dpr9bkeHD0U9bDk615O0L1FQ) 1))&7U)))!=0)) goto LA36_;
3138 			{
3139 				if (!isImportcVar) goto LA40_;
3140 				gABx__vmgen_375(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 179), ((NI) ((*dest))), (*s).position);
3141 			}
3142 			goto LA38_;
3143 			LA40_: ;
3144 			{
3145 				gABx__vmgen_375(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 177), ((NI) ((*dest))), (*s).position);
3146 			}
3147 			LA38_: ;
3148 		}
3149 		goto LA34_;
3150 		LA36_: ;
3151 		{
3152 			if (!isImportcVar) goto LA44_;
3153 			gABx__vmgen_375(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 178), ((NI) ((*dest))), (*s).position);
3154 		}
3155 		goto LA34_;
3156 		LA44_: ;
3157 		{
3158 			NIM_BOOL T47_;
3159 			NI cc;
3160 			T47_ = (NIM_BOOL)0;
3161 			T47_ = fitsRegister__vmgen_1814((*s).typ);
3162 			if (!(T47_)) goto LA48_;
3163 			T47_ = !(((flags &((NU8)1<<((NU)(((tyEnum_TGenFlag__dpr9bkeHD0U9bDk615O0L1FQ) 0))&7U)))!=0));
3164 			LA48_: ;
3165 			if (!T47_) goto LA49_;
3166 			cc = getTemp__vmgen_541(c, (*n).typ);
3167 			gABx__vmgen_375(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 176), cc, (*s).position);
3168 			gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 15), ((NI) ((*dest))), cc, ((NI) 0));
3169 			freeTemp__vmgen_550(c, cc);
3170 		}
3171 		goto LA34_;
3172 		LA49_: ;
3173 		{
3174 			gABx__vmgen_375(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 176), ((NI) ((*dest))), (*s).position);
3175 		}
3176 		LA34_: ;
3177 	}
3178 	goto LA1_;
3179 	LA5_: ;
3180 	{
3181 		{
3182 			NIM_BOOL T55_;
3183 			T55_ = (NIM_BOOL)0;
3184 			T55_ = ((*s).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 21));
3185 			if (!(T55_)) goto LA56_;
3186 			T55_ = ((*c).mode == ((tyEnum_TEvalMode__UbrbHUpo4hYFr1DbYzJgRQ) 0));
3187 			LA56_: ;
3188 			if (!T55_) goto LA57_;
3189 			setSlot__vmgen_2224(c, s);
3190 		}
3191 		LA57_: ;
3192 		{
3193 			NIM_BOOL T61_;
3194 			NIM_BOOL T63_;
3195 			T61_ = (NIM_BOOL)0;
3196 			T61_ = (((NI) 0) < (*s).position);
3197 			if (T61_) goto LA62_;
3198 			T63_ = (NIM_BOOL)0;
3199 			T63_ = ((*s).position == ((NI) 0));
3200 			if (!(T63_)) goto LA64_;
3201 			T63_ = ((2056 &((NU32)1<<((NU)((*s).kind)&31U)))!=0);
3202 			LA64_: ;
3203 			T61_ = T63_;
3204 			LA62_: ;
3205 			if (!T61_) goto LA65_;
3206 			{
3207 				if (!(((NI) ((*dest))) < ((NI) 0))) goto LA69_;
3208 				(*dest) = ((NI) ((NI)((*s).position + ((*s).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3)))));
3209 				{
3210 					NimStringDesc* argX60gensym442_;
3211 					if (!!(((*(*c).prc).regInfo->data[(*dest)].Field1 < ((tyEnum_TSlotKind__QOyrDzzey9cf6gDtSRPuZMQ) 3)))) goto LA73_;
3212 					argX60gensym442_ = toFileLineCol__msgs_615(TM__24XApAWKNvaMkcyklm8bNA_24);
3213 					internalErrorImpl__msgs_1431((*c).config, unknownLineInfo__lineinfos_280, argX60gensym442_, TM__24XApAWKNvaMkcyklm8bNA_24);
3214 				}
3215 				LA73_: ;
3216 			}
3217 			goto LA67_;
3218 			LA69_: ;
3219 			{
3220 				NIM_BOOL requiresCopy;
3221 				NIM_BOOL T76_;
3222 				T76_ = (NIM_BOOL)0;
3223 				T76_ = (((tyEnum_TSlotKind__QOyrDzzey9cf6gDtSRPuZMQ) 3) <= (*(*c).prc).regInfo->data[(*dest)].Field1);
3224 				if (!(T76_)) goto LA77_;
3225 				T76_ = !(((flags &((NU8)1<<((NU)(((tyEnum_TGenFlag__dpr9bkeHD0U9bDk615O0L1FQ) 2))&7U)))!=0));
3226 				LA77_: ;
3227 				requiresCopy = T76_;
3228 				genAsgn__vmgen_2215(c, (*dest), n, requiresCopy);
3229 			}
3230 			LA67_: ;
3231 		}
3232 		goto LA59_;
3233 		LA65_: ;
3234 		{
3235 			cannotEval__vmgen_2231(c, n);
3236 		}
3237 		LA59_: ;
3238 	}
3239 	LA1_: ;
3240 }
N_INLINE(NimStringDesc *,X5BX5D___vmgen_3076)3241 static N_INLINE(NimStringDesc*, X5BX5D___vmgen_3076)(NimStringDesc** s, NI sLen_0, NI i) {
3242 	NimStringDesc* result;
3243 	result = NIM_NIL;
3244 	result = copyString(s[(NI)(sLen_0 - i)]);
3245 	return result;
3246 }
N_INLINE(int,nimCmpMem)3247 static N_INLINE(int, nimCmpMem)(void* a, void* b, NI size) {
3248 	int result;
3249 	result = (int)0;
3250 	result = memcmp(a, b, ((size_t) (size)));
3251 	return result;
3252 }
N_INLINE(NIM_BOOL,equalMem__system_1735)3253 static N_INLINE(NIM_BOOL, equalMem__system_1735)(void* a, void* b, NI size) {
3254 	NIM_BOOL result;
3255 	int T1_;
3256 	result = (NIM_BOOL)0;
3257 	T1_ = (int)0;
3258 	T1_ = nimCmpMem(a, b, size);
3259 	result = (T1_ == ((NI32) 0));
3260 	return result;
3261 }
N_INLINE(NIM_BOOL,eqStrings)3262 static N_INLINE(NIM_BOOL, eqStrings)(NimStringDesc* a, NimStringDesc* b) {
3263 	NIM_BOOL result;
3264 	NI alen;
3265 	NI blen;
3266 {	result = (NIM_BOOL)0;
3267 	alen = (a ? a->Sup.len : 0);
3268 	blen = (b ? b->Sup.len : 0);
3269 	{
3270 		if (!(alen == blen)) goto LA3_;
3271 		{
3272 			if (!(alen == ((NI) 0))) goto LA7_;
3273 			result = NIM_TRUE;
3274 			goto BeforeRet_;
3275 		}
3276 		LA7_: ;
3277 		result = equalMem__system_1735(((void*) ((&a->data[((NI) 0)]))), ((void*) ((&b->data[((NI) 0)]))), ((NI) (alen)));
3278 		goto BeforeRet_;
3279 	}
3280 	LA3_: ;
3281 	}BeforeRet_: ;
3282 	return result;
3283 }
N_NIMCALL(NIM_BOOL,matches__vmgen_3058)3284 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, matches__vmgen_3058)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, NimStringDesc* x) {
3285 	NIM_BOOL result;
3286 	tySequence__sM4lkSb7zS6F7OVMvW9cffQ* y;
3287 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s_2;
3288 {	result = (NIM_BOOL)0;
3289 	y = nsuSplitChar(x, 46, ((NI) -1));
3290 	s_2 = s;
3291 	{
3292 		NI i;
3293 		NI colontmp_;
3294 		NI T2_;
3295 		NI res;
3296 		i = (NI)0;
3297 		colontmp_ = (NI)0;
3298 		T2_ = (y ? y->Sup.len : 0);
3299 		colontmp_ = T2_;
3300 		res = ((NI) 1);
3301 		{
3302 			while (1) {
3303 				if (!(res <= colontmp_)) goto LA4;
3304 				i = res;
3305 				{
3306 					NIM_BOOL T7_;
3307 					NIM_BOOL T9_;
3308 					NimStringDesc* T10_;
3309 					NI T11_;
3310 					NimStringDesc* T13_;
3311 					T7_ = (NIM_BOOL)0;
3312 					T7_ = (s_2 == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
3313 					if (T7_) goto LA8_;
3314 					T9_ = (NIM_BOOL)0;
3315 					T10_ = NIM_NIL;
3316 					T10_ = X5BX5D___vmgen_3076(y->data, (y ? y->Sup.len : 0), i);
3317 					T11_ = (NI)0;
3318 					T11_ = nsuCmpIgnoreStyle(T10_, (*(*s_2).name).s);
3319 					T9_ = !((T11_ == ((NI) 0)));
3320 					if (!(T9_)) goto LA12_;
3321 					T13_ = NIM_NIL;
3322 					T13_ = X5BX5D___vmgen_3076(y->data, (y ? y->Sup.len : 0), i);
3323 					T9_ = !(eqStrings(T13_, ((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_27)));
3324 					LA12_: ;
3325 					T7_ = T9_;
3326 					LA8_: ;
3327 					if (!T7_) goto LA14_;
3328 					result = NIM_FALSE;
3329 					goto BeforeRet_;
3330 				}
3331 				LA14_: ;
3332 				{
3333 					if (!(((*s_2).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 2))&63U)))!=0)) goto LA18_;
3334 					s_2 = (*(*s_2).owner).owner;
3335 				}
3336 				goto LA16_;
3337 				LA18_: ;
3338 				{
3339 					s_2 = (*s_2).owner;
3340 				}
3341 				LA16_: ;
3342 				{
3343 					while (1) {
3344 						NIM_BOOL T23_;
3345 						NIM_BOOL T24_;
3346 						T23_ = (NIM_BOOL)0;
3347 						T24_ = (NIM_BOOL)0;
3348 						T24_ = !((s_2 == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
3349 						if (!(T24_)) goto LA25_;
3350 						T24_ = ((*s_2).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 24));
3351 						LA25_: ;
3352 						T23_ = T24_;
3353 						if (!(T23_)) goto LA26_;
3354 						T23_ = !(((*s_2).owner == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
3355 						LA26_: ;
3356 						if (!T23_) goto LA22;
3357 						s_2 = (*s_2).owner;
3358 					} LA22: ;
3359 				}
3360 				res += ((NI) 1);
3361 			} LA4: ;
3362 		}
3363 	}
3364 	result = NIM_TRUE;
3365 	}BeforeRet_: ;
3366 	return result;
3367 }
N_NIMCALL(NIM_BOOL,procIsCallback__vmgen_3104)3368 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, procIsCallback__vmgen_3104)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s) {
3369 	NIM_BOOL result;
3370 	NI i;
3371 {	result = (NIM_BOOL)0;
3372 	{
3373 		if (!((*s).offset < ((NI) -1))) goto LA3_;
3374 		result = NIM_TRUE;
3375 		goto BeforeRet_;
3376 	}
3377 	LA3_: ;
3378 	i = ((NI) -2);
3379 	{
3380 		NimStringDesc** key;
3381 		tyProc__5QC9cKfPJmKuW0XbCTd8ylA* value;
3382 		NI i_2;
3383 		NI L;
3384 		NI T6_;
3385 		key = (NimStringDesc**)0;
3386 		value = (tyProc__5QC9cKfPJmKuW0XbCTd8ylA*)0;
3387 		i_2 = ((NI) 0);
3388 		T6_ = ((*c).callbacks ? (*c).callbacks->Sup.len : 0);
3389 		L = T6_;
3390 		{
3391 			while (1) {
3392 				if (!(i_2 < L)) goto LA8;
3393 				key = (&(*c).callbacks->data[i_2].Field0);
3394 				value = (&(*c).callbacks->data[i_2].Field1);
3395 				{
3396 					NIM_BOOL T11_;
3397 					T11_ = (NIM_BOOL)0;
3398 					T11_ = matches__vmgen_3058(s, (*key));
3399 					if (!T11_) goto LA12_;
3400 					{
3401 						if (!!(((*s).offset == ((NI) -1)))) goto LA16_;
3402 						failedAssertImpl__systemZassertions_56(((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_28));
3403 					}
3404 					LA16_: ;
3405 					(*s).offset = i;
3406 					result = NIM_TRUE;
3407 					goto BeforeRet_;
3408 				}
3409 				LA12_: ;
3410 				i -= ((NI) 1);
3411 				i_2 += ((NI) 1);
3412 			} LA8: ;
3413 		}
3414 	}
3415 	}BeforeRet_: ;
3416 	return result;
3417 }
N_NIMCALL(NIM_BOOL,sameConstant__vmgen_969)3418 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, sameConstant__vmgen_969)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b) {
3419 	NIM_BOOL result;
3420 {	result = (NIM_BOOL)0;
3421 	result = NIM_FALSE;
3422 	{
3423 		if (!(a == b)) goto LA3_;
3424 		result = NIM_TRUE;
3425 	}
3426 	goto LA1_;
3427 	LA3_: ;
3428 	{
3429 		NIM_BOOL T6_;
3430 		NIM_BOOL T7_;
3431 		T6_ = (NIM_BOOL)0;
3432 		T7_ = (NIM_BOOL)0;
3433 		T7_ = !((a == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
3434 		if (!(T7_)) goto LA8_;
3435 		T7_ = !((b == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
3436 		LA8_: ;
3437 		T6_ = T7_;
3438 		if (!(T6_)) goto LA9_;
3439 		T6_ = ((*a).kind == (*b).kind);
3440 		LA9_: ;
3441 		if (!T6_) goto LA10_;
3442 		switch ((*a).kind) {
3443 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
3444 		{
3445 			result = ((*a)._kind_4.sym == (*b)._kind_4.sym);
3446 		}
3447 		break;
3448 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2):
3449 		{
3450 			result = ((*(*a)._kind_5.ident).id == (*(*b)._kind_5.ident).id);
3451 		}
3452 		break;
3453 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 5) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 15):
3454 		{
3455 			result = ((*a)._kind_1.intVal == (*b)._kind_1.intVal);
3456 		}
3457 		break;
3458 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 16) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 18):
3459 		{
3460 			union { NF source; NU64 dest; } LOC16;
3461 			union { NF source; NU64 dest; } LOC17;
3462 			LOC16.source = (*a)._kind_2.floatVal;
3463 			LOC17.source = (*b)._kind_2.floatVal;
3464 			result = (LOC16.dest == LOC17.dest);
3465 		}
3466 		break;
3467 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 20) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 22):
3468 		{
3469 			result = eqStrings((*a)._kind_3.strVal, (*b)._kind_3.strVal);
3470 		}
3471 		break;
3472 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 4):
3473 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23):
3474 		{
3475 			result = ((*a).typ == (*b).typ);
3476 		}
3477 		break;
3478 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1):
3479 		{
3480 			result = NIM_TRUE;
3481 		}
3482 		break;
3483 		default:
3484 		{
3485 			{
3486 				NI T24_;
3487 				NI T25_;
3488 				T24_ = (NI)0;
3489 				T24_ = len__ast_3198(a);
3490 				T25_ = (NI)0;
3491 				T25_ = len__ast_3198(b);
3492 				if (!(T24_ == T25_)) goto LA26_;
3493 				{
3494 					NI i;
3495 					NI colontmp_;
3496 					NI i_2;
3497 					i = (NI)0;
3498 					colontmp_ = (NI)0;
3499 					colontmp_ = len__ast_3198(a);
3500 					i_2 = ((NI) 0);
3501 					{
3502 						while (1) {
3503 							if (!(i_2 < colontmp_)) goto LA30;
3504 							i = i_2;
3505 							{
3506 								NIM_BOOL T33_;
3507 								T33_ = (NIM_BOOL)0;
3508 								T33_ = sameConstant__vmgen_969((*a)._kind_6.sons->data[i], (*b)._kind_6.sons->data[i]);
3509 								if (!!(T33_)) goto LA34_;
3510 								goto BeforeRet_;
3511 							}
3512 							LA34_: ;
3513 							i_2 += ((NI) 1);
3514 						} LA30: ;
3515 					}
3516 				}
3517 				result = NIM_TRUE;
3518 			}
3519 			LA26_: ;
3520 		}
3521 		break;
3522 		}
3523 	}
3524 	goto LA1_;
3525 	LA10_: ;
3526 	LA1_: ;
3527 	}BeforeRet_: ;
3528 	return result;
3529 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,canonValue__vmgen_947)3530 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, canonValue__vmgen_947)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
3531 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
3532 	result = NIM_NIL;
3533 	result = n;
3534 	return result;
3535 }
N_NIMCALL(NI,rawGenLiteral__vmgen_950)3536 N_LIB_PRIVATE N_NIMCALL(NI, rawGenLiteral__vmgen_950)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
3537 	NI result;
3538 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T1_;
3539 	result = (NI)0;
3540 	result = len__ast_3198((*c).constants);
3541 	(*n).flags |= ((NU32)1)<<((((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 4)) & 31);
3542 	T1_ = NIM_NIL;
3543 	T1_ = canonValue__vmgen_947(n);
3544 	add__ast_4797((*c).constants, T1_);
3545 	{
3546 		NimStringDesc* argX60gensym109_;
3547 		if (!!((result < ((NI) 8388607)))) goto LA4_;
3548 		argX60gensym109_ = toFileLineCol__msgs_615(TM__24XApAWKNvaMkcyklm8bNA_29);
3549 		internalErrorImpl__msgs_1431((*c).config, unknownLineInfo__lineinfos_280, argX60gensym109_, TM__24XApAWKNvaMkcyklm8bNA_29);
3550 	}
3551 	LA4_: ;
3552 	return result;
3553 }
N_NIMCALL(NI,genLiteral__vmgen_1013)3554 N_LIB_PRIVATE N_NIMCALL(NI, genLiteral__vmgen_1013)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
3555 	NI result;
3556 {	result = (NI)0;
3557 	{
3558 		NI i;
3559 		NI colontmp_;
3560 		NI i_2;
3561 		i = (NI)0;
3562 		colontmp_ = (NI)0;
3563 		colontmp_ = len__ast_3198((*c).constants);
3564 		i_2 = ((NI) 0);
3565 		{
3566 			while (1) {
3567 				if (!(i_2 < colontmp_)) goto LA3;
3568 				i = i_2;
3569 				{
3570 					NIM_BOOL T6_;
3571 					T6_ = (NIM_BOOL)0;
3572 					T6_ = sameConstant__vmgen_969((*(*c).constants)._kind_6.sons->data[i], n);
3573 					if (!T6_) goto LA7_;
3574 					result = i;
3575 					goto BeforeRet_;
3576 				}
3577 				LA7_: ;
3578 				i_2 += ((NI) 1);
3579 			} LA3: ;
3580 		}
3581 	}
3582 	result = rawGenLiteral__vmgen_950(c, n);
3583 	}BeforeRet_: ;
3584 	return result;
3585 }
N_NIMCALL(void,genLit__vmgen_1199)3586 N_LIB_PRIVATE N_NIMCALL(void, genLit__vmgen_1199)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest) {
3587 	NI lit;
3588 	{
3589 		NI T5_;
3590 		if (!(((NI) ((*dest))) < ((NI) 0))) goto LA3_;
3591 		T5_ = (NI)0;
3592 		T5_ = getTemp__vmgen_541(c, (*n).typ);
3593 		(*dest) = ((NI) (T5_));
3594 	}
3595 	LA3_: ;
3596 	lit = genLiteral__vmgen_1013(c, n);
3597 	gABx__vmgen_375(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 174), ((NI) ((*dest))), lit);
3598 }
N_NIMCALL(void,genTypeLit__vmgen_2407)3599 N_LIB_PRIVATE N_NIMCALL(void, genTypeLit__vmgen_2407)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, NI* dest) {
3600 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n;
3601 	n = newNode__ast_3332(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 4));
3602 	asgnRef((void**) (&(*n).typ), t);
3603 	genLit__vmgen_1199(c, n, dest);
3604 }
N_NIMCALL(NIM_BOOL,isTemp__vmgen_929)3605 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isTemp__vmgen_929)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, NI dest) {
3606 	NIM_BOOL result;
3607 	NIM_BOOL T1_;
3608 	result = (NIM_BOOL)0;
3609 	T1_ = (NIM_BOOL)0;
3610 	T1_ = (((NI) 0) <= ((NI) (dest)));
3611 	if (!(T1_)) goto LA2_;
3612 	T1_ = (((tyEnum_TSlotKind__QOyrDzzey9cf6gDtSRPuZMQ) 3) <= (*(*c).prc).regInfo->data[dest].Field1);
3613 	LA2_: ;
3614 	result = T1_;
3615 	return result;
3616 }
N_NIMCALL(void,gen__vmgen_692)3617 N_LIB_PRIVATE N_NIMCALL(void, gen__vmgen_692)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI dest, tySet_tyEnum_TGenFlag__dpr9bkeHD0U9bDk615O0L1FQ flags) {
3618 	NI d;
3619 	d = ((NI) (dest));
3620 	gen__vmgen_687(c, n, (&d), flags);
3621 }
N_NIMCALL(void,patch__vmgen_434)3622 N_LIB_PRIVATE N_NIMCALL(void, patch__vmgen_434)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, NI p) {
3623 	NI p_2;
3624 	NI diff;
3625 	NI T1_;
3626 	NU64 oldInstr;
3627 	p_2 = p;
3628 	T1_ = ((*c).code ? (*c).code->Sup.len : 0);
3629 	diff = (NI)(T1_ - p_2);
3630 	{
3631 		NIM_BOOL T4_;
3632 		NimStringDesc* argX60gensym51_;
3633 		T4_ = (NIM_BOOL)0;
3634 		T4_ = (((NI) -8388607) < diff);
3635 		if (!(T4_)) goto LA5_;
3636 		T4_ = (diff < ((NI) 8388607));
3637 		LA5_: ;
3638 		if (!!(T4_)) goto LA6_;
3639 		argX60gensym51_ = toFileLineCol__msgs_615(TM__24XApAWKNvaMkcyklm8bNA_33);
3640 		internalErrorImpl__msgs_1431((*c).config, unknownLineInfo__lineinfos_280, argX60gensym51_, TM__24XApAWKNvaMkcyklm8bNA_33);
3641 	}
3642 	LA6_: ;
3643 	oldInstr = (*c).code->data[p_2];
3644 	(*c).code->data[p_2] = (NU64)((NU64)(oldInstr & 16777215ULL) | (NU64)((NU64)(((NU64) ((NI)(diff + ((NI) 8388608))))) << (NU64)(24ULL)));
3645 }
N_NIMCALL(void,genAndOr__vmgen_937)3646 N_LIB_PRIVATE N_NIMCALL(void, genAndOr__vmgen_937)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opc, NI* dest) {
3647 	NIM_BOOL copyBack;
3648 	NIM_BOOL T1_;
3649 	NIM_BOOL T3_;
3650 	NI tmp;
3651 	NI lab1;
3652 	T1_ = (NIM_BOOL)0;
3653 	T1_ = (((NI) ((*dest))) < ((NI) 0));
3654 	if (T1_) goto LA2_;
3655 	T3_ = (NIM_BOOL)0;
3656 	T3_ = isTemp__vmgen_929(c, (*dest));
3657 	T1_ = !(T3_);
3658 	LA2_: ;
3659 	copyBack = T1_;
3660 	{
3661 		if (!copyBack) goto LA6_;
3662 		tmp = getTemp__vmgen_541(c, (*n).typ);
3663 	}
3664 	goto LA4_;
3665 	LA6_: ;
3666 	{
3667 		tmp = ((NI) ((*dest)));
3668 	}
3669 	LA4_: ;
3670 	gen__vmgen_692(c, (*n)._kind_6.sons->data[((NI) 1)], tmp, 0);
3671 	lab1 = xjmp__vmgen_398(c, n, opc, tmp);
3672 	gen__vmgen_692(c, (*n)._kind_6.sons->data[((NI) 2)], tmp, 0);
3673 	patch__vmgen_434(c, lab1);
3674 	{
3675 		if (!(((NI) ((*dest))) < ((NI) 0))) goto LA11_;
3676 		(*dest) = ((NI) (tmp));
3677 	}
3678 	goto LA9_;
3679 	LA11_: ;
3680 	{
3681 		if (!copyBack) goto LA14_;
3682 		gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 4), ((NI) ((*dest))), tmp, ((NI) 0));
3683 		freeTemp__vmgen_550(c, tmp);
3684 	}
3685 	goto LA9_;
3686 	LA14_: ;
3687 	LA9_: ;
3688 }
N_NIMCALL(NIM_BOOL,isInt8Lit__vmgen_1558)3689 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isInt8Lit__vmgen_1558)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
3690 	NIM_BOOL result;
3691 	result = (NIM_BOOL)0;
3692 	{
3693 		NIM_BOOL T5_;
3694 		if (!((*n).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 5) && (*n).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 15))) goto LA3_;
3695 		T5_ = (NIM_BOOL)0;
3696 		T5_ = (IL64(-128) <= (*n)._kind_1.intVal);
3697 		if (!(T5_)) goto LA6_;
3698 		T5_ = ((*n)._kind_1.intVal <= IL64(127));
3699 		LA6_: ;
3700 		result = T5_;
3701 	}
3702 	LA3_: ;
3703 	return result;
3704 }
N_NIMCALL(void,gABI__vmgen_347)3705 N_LIB_PRIVATE N_NIMCALL(void, gABI__vmgen_347)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opc, NI a, NI b, NI64 imm) {
3706 	{
3707 		NIM_BOOL T3_;
3708 		NU64 ins;
3709 		NI T7_;
3710 		NI T8_;
3711 		T3_ = (NIM_BOOL)0;
3712 		T3_ = (IL64(-128) <= imm);
3713 		if (!(T3_)) goto LA4_;
3714 		T3_ = (imm <= IL64(127));
3715 		LA4_: ;
3716 		if (!T3_) goto LA5_;
3717 		ins = (NU64)((NU64)((NU64)(((NU64) (opc)) | (NU64)((NU64)(((NU64) (a))) << (NU64)(8ULL))) | (NU64)((NU64)(((NU64) (b))) << (NU64)(24ULL))) | (NU64)((NU64)(((NU64) ((NI64)(imm + IL64(128))))) << (NU64)(40ULL)));
3718 		asgnRef((void**) (&(*c).code), (tySequence__YdLNCDKYeipzJx3I8Xw82Q*) incrSeqV3((TGenericSeq*)((*c).code), (&NTIseqLtinstrT__YdLNCDKYeipzJx3I8Xw82Q_)));
3719 		T7_ = (*c).code->Sup.len++;
3720 		(*c).code->data[T7_] = ins;
3721 		asgnRef((void**) (&(*c).debug), (tySequence__PJMRIt5QxCm6bRaVyQ5CGA*) incrSeqV3((TGenericSeq*)((*c).debug), (&NTIseqLtlineinfoT__PJMRIt5QxCm6bRaVyQ5CGA_)));
3722 		T8_ = (*c).debug->Sup.len++;
3723 		(*c).debug->data[T8_] = (*n).info;
3724 	}
3725 	goto LA1_;
3726 	LA5_: ;
3727 	{
3728 		liMessage__msgs_1118((*c).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_34), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__24XApAWKNvaMkcyklm8bNA_35, NIM_FALSE);
3729 	}
3730 	LA1_: ;
3731 }
N_NIMCALL(void,genBinaryABC__vmgen_1405)3732 N_LIB_PRIVATE N_NIMCALL(void, genBinaryABC__vmgen_1405)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest, tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opc) {
3733 	NI tmp;
3734 	NI tmp2;
3735 	tmp = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 1)], 0);
3736 	tmp2 = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 2)], 0);
3737 	{
3738 		NI T5_;
3739 		if (!(((NI) ((*dest))) < ((NI) 0))) goto LA3_;
3740 		T5_ = (NI)0;
3741 		T5_ = getTemp__vmgen_541(c, (*n).typ);
3742 		(*dest) = ((NI) (T5_));
3743 	}
3744 	LA3_: ;
3745 	gABC__vmgen_312(c, n, opc, ((NI) ((*dest))), tmp, tmp2);
3746 	freeTemp__vmgen_550(c, tmp);
3747 	freeTemp__vmgen_550(c, tmp2);
3748 }
N_NIMCALL(void,genNarrow__vmgen_1427)3749 N_LIB_PRIVATE N_NIMCALL(void, genNarrow__vmgen_1427)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI dest) {
3750 	tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
3751 	NI64 size;
3752 	t = skipTypes__ast_3735((*n).typ, TM__24XApAWKNvaMkcyklm8bNA_36);
3753 	size = getSize__types_3336((*c).config, t);
3754 	{
3755 		NIM_BOOL T3_;
3756 		NIM_BOOL T5_;
3757 		T3_ = (NIM_BOOL)0;
3758 		T3_ = ((*t).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 41) && (*t).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 43));
3759 		if (T3_) goto LA4_;
3760 		T5_ = (NIM_BOOL)0;
3761 		T5_ = ((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 40));
3762 		if (!(T5_)) goto LA6_;
3763 		T5_ = (size < IL64(8));
3764 		LA6_: ;
3765 		T3_ = T5_;
3766 		LA4_: ;
3767 		if (!T3_) goto LA7_;
3768 		gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 98), ((NI) (dest)), ((NI) ((NI64)(size * IL64(8)))), ((NI) 0));
3769 	}
3770 	goto LA1_;
3771 	LA7_: ;
3772 	{
3773 		NIM_BOOL T10_;
3774 		NIM_BOOL T12_;
3775 		T10_ = (NIM_BOOL)0;
3776 		T10_ = ((*t).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 32) && (*t).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 34));
3777 		if (T10_) goto LA11_;
3778 		T12_ = (NIM_BOOL)0;
3779 		T12_ = ((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31));
3780 		if (!(T12_)) goto LA13_;
3781 		T12_ = (size < IL64(8));
3782 		LA13_: ;
3783 		T10_ = T12_;
3784 		LA11_: ;
3785 		if (!T10_) goto LA14_;
3786 		gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 97), ((NI) (dest)), ((NI) ((NI64)(size * IL64(8)))), ((NI) 0));
3787 	}
3788 	goto LA1_;
3789 	LA14_: ;
3790 	LA1_: ;
3791 }
N_NIMCALL(void,genAddSubInt__vmgen_1588)3792 N_LIB_PRIVATE N_NIMCALL(void, genAddSubInt__vmgen_1588)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest, tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opc) {
3793 	{
3794 		NIM_BOOL T3_;
3795 		NI tmp;
3796 		T3_ = (NIM_BOOL)0;
3797 		T3_ = isInt8Lit__vmgen_1558((*n)._kind_6.sons->data[((NI) 2)]);
3798 		if (!T3_) goto LA4_;
3799 		tmp = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 1)], 0);
3800 		{
3801 			NI T10_;
3802 			if (!(((NI) ((*dest))) < ((NI) 0))) goto LA8_;
3803 			T10_ = (NI)0;
3804 			T10_ = getTemp__vmgen_541(c, (*n).typ);
3805 			(*dest) = ((NI) (T10_));
3806 		}
3807 		LA8_: ;
3808 		gABI__vmgen_347(c, n, (tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ)(opc + ((NI) 1)), ((NI) ((*dest))), tmp, (*(*n)._kind_6.sons->data[((NI) 2)])._kind_1.intVal);
3809 		freeTemp__vmgen_550(c, tmp);
3810 	}
3811 	goto LA1_;
3812 	LA4_: ;
3813 	{
3814 		genBinaryABC__vmgen_1405(c, n, dest, opc);
3815 	}
3816 	LA1_: ;
3817 	genNarrow__vmgen_1427(c, n, (*dest));
3818 }
N_INLINE(void,unused__vmgen_1026)3819 static N_INLINE(void, unused__vmgen_1026)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI x) {
3820 	{
3821 		if (!(((NI) 0) <= ((NI) (x)))) goto LA3_;
3822 		liMessage__msgs_1118((*c).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_37), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 2), TM__24XApAWKNvaMkcyklm8bNA_38, NIM_FALSE);
3823 	}
3824 	LA3_: ;
3825 }
N_NIMCALL(NI,genIndex__vmgen_1305)3826 N_LIB_PRIVATE N_NIMCALL(NI, genIndex__vmgen_1305)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TType__facALICuu8zUj0hjvbTLFg* arr) {
3827 	NI result;
3828 	result = (NI)0;
3829 	{
3830 		NIM_BOOL T3_;
3831 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T4_;
3832 		tyObject_Int128__9a9axPfb75jdWY25AamJewkA x;
3833 		NIM_BOOL T6_;
3834 		NI tmp;
3835 		NI T9_;
3836 		T3_ = (NIM_BOOL)0;
3837 		T4_ = NIM_NIL;
3838 		T4_ = skipTypes__ast_3735(arr, TM__24XApAWKNvaMkcyklm8bNA_40);
3839 		T3_ = ((*T4_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 16));
3840 		if (!(T3_)) goto LA5_;
3841 		x = firstOrd__types_1353((*c).config, arr);
3842 		T6_ = (NIM_BOOL)0;
3843 		T6_ = eqeq___int495056_313(x, Zero__int495056_7);
3844 		T3_ = !(T6_);
3845 		LA5_: ;
3846 		if (!T3_) goto LA7_;
3847 		tmp = genx__vmgen_712(c, n, 0);
3848 		freeTemp__vmgen_550(c, tmp);
3849 		result = getTemp__vmgen_541(c, (*n).typ);
3850 		T9_ = (NI)0;
3851 		T9_ = toInt__int495056_170(x);
3852 		gABI__vmgen_347(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 32), result, tmp, ((NI64) (T9_)));
3853 	}
3854 	goto LA1_;
3855 	LA7_: ;
3856 	{
3857 		result = genx__vmgen_712(c, n, 0);
3858 	}
3859 	LA1_: ;
3860 	return result;
3861 }
N_NIMCALL(NI,genField__vmgen_1288)3862 N_LIB_PRIVATE N_NIMCALL(NI, genField__vmgen_1288)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
3863 	NI result;
3864 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
3865 	result = (NI)0;
3866 	{
3867 		NIM_BOOL T3_;
3868 		T3_ = (NIM_BOOL)0;
3869 		T3_ = !(((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3)));
3870 		if (T3_) goto LA4_;
3871 		T3_ = !(((*(*n)._kind_4.sym).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 19)));
3872 		LA4_: ;
3873 		if (!T3_) goto LA5_;
3874 		liMessage__msgs_1118((*c).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_43), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 2), TM__24XApAWKNvaMkcyklm8bNA_44, NIM_FALSE);
3875 	}
3876 	LA5_: ;
3877 	s = (*n)._kind_4.sym;
3878 	{
3879 		NimStringDesc* T11_;
3880 		if (!(((NI) 65535) < (*s).position)) goto LA9_;
3881 		T11_ = NIM_NIL;
3882 		T11_ = rawNewString(((*(*s).name).s ? (*(*s).name).s->Sup.len : 0) + 44);
3883 appendString(T11_, ((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_45));
3884 appendString(T11_, (*(*s).name).s);
3885 		liMessage__msgs_1118((*c).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T11_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 2), TM__24XApAWKNvaMkcyklm8bNA_46, NIM_FALSE);
3886 	}
3887 	LA9_: ;
3888 	result = ((NI) ((*s).position));
3889 	return result;
3890 }
N_NIMCALL(void,genCheckedObjAccessAux__vmgen_1316)3891 N_LIB_PRIVATE N_NIMCALL(void, genCheckedObjAccessAux__vmgen_1316)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest, tySet_tyEnum_TGenFlag__dpr9bkeHD0U9bDk615O0L1FQ flags) {
3892 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* accessExpr;
3893 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* checkExpr;
3894 	NIM_BOOL negCheck;
3895 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* disc;
3896 	NI discVal;
3897 	NI T14_;
3898 	NI setLit;
3899 	NI rs;
3900 	tyObject_TType__facALICuu8zUj0hjvbTLFg* T15_;
3901 	NI lab1;
3902 	tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ T16_;
3903 	tyObject_TType__facALICuu8zUj0hjvbTLFg* strType;
3904 	NI msgReg;
3905 	NI T22_;
3906 	NimStringDesc* fieldName;
3907 	NimStringDesc* msg;
3908 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* strLit;
3909 	{
3910 		NimStringDesc* argX60gensym456_;
3911 		if (!!(((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 46)))) goto LA3_;
3912 		argX60gensym456_ = toFileLineCol__msgs_615(TM__24XApAWKNvaMkcyklm8bNA_41);
3913 		internalErrorImpl__msgs_1431((*c).config, unknownLineInfo__lineinfos_280, argX60gensym456_, TM__24XApAWKNvaMkcyklm8bNA_41);
3914 	}
3915 	LA3_: ;
3916 	accessExpr = (*n)._kind_6.sons->data[((NI) 0)];
3917 	checkExpr = (*n)._kind_6.sons->data[((NI) 1)];
3918 	negCheck = ((*(*(*checkExpr)._kind_6.sons->data[((NI) 0)])._kind_4.sym).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 96));
3919 	{
3920 		NI T9_;
3921 		if (!negCheck) goto LA7_;
3922 		T9_ = (NI)0;
3923 		T9_ = len__ast_3198(checkExpr);
3924 		checkExpr = (*checkExpr)._kind_6.sons->data[(NI)(T9_ - ((NI) 1))];
3925 	}
3926 	LA7_: ;
3927 	disc = (*checkExpr)._kind_6.sons->data[((NI) 2)];
3928 	{
3929 		NimStringDesc* argX60gensym465_;
3930 		if (!!(((*(*disc)._kind_4.sym).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 19)))) goto LA12_;
3931 		argX60gensym465_ = toFileLineCol__msgs_615(TM__24XApAWKNvaMkcyklm8bNA_42);
3932 		internalErrorImpl__msgs_1431((*c).config, unknownLineInfo__lineinfos_280, argX60gensym465_, TM__24XApAWKNvaMkcyklm8bNA_42);
3933 	}
3934 	LA12_: ;
3935 	gen__vmgen_687(c, (*accessExpr)._kind_6.sons->data[((NI) 0)], dest, flags);
3936 	discVal = getTemp__vmgen_541(c, (*disc).typ);
3937 	T14_ = (NI)0;
3938 	T14_ = genField__vmgen_1288(c, disc);
3939 	gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 19), discVal, ((NI) ((*dest))), T14_);
3940 	setLit = genx__vmgen_712(c, (*checkExpr)._kind_6.sons->data[((NI) 1)], 0);
3941 	T15_ = NIM_NIL;
3942 	T15_ = getSysType__magicsys_60((*c).graph, (*n).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 1));
3943 	rs = getTemp__vmgen_541(c, T15_);
3944 	gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 84), rs, setLit, discVal);
3945 	freeTemp__vmgen_550(c, discVal);
3946 	freeTemp__vmgen_550(c, setLit);
3947 	T16_ = (tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ)0;
3948 	{
3949 		if (!negCheck) goto LA19_;
3950 		T16_ = ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 162);
3951 	}
3952 	goto LA17_;
3953 	LA19_: ;
3954 	{
3955 		T16_ = ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 161);
3956 	}
3957 	LA17_: ;
3958 	lab1 = xjmp__vmgen_398(c, n, T16_, rs);
3959 	freeTemp__vmgen_550(c, rs);
3960 	strType = getSysType__magicsys_60((*c).graph, (*n).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 28));
3961 	T22_ = (NI)0;
3962 	T22_ = getTemp__vmgen_541(c, strType);
3963 	msgReg = ((NI) (T22_));
3964 	fieldName = dollar___renderer_2106((*accessExpr)._kind_6.sons->data[((NI) 1)]);
3965 	msg = genFieldDefect__astmsgs_61((*c).config, fieldName, (*disc)._kind_4.sym);
3966 	strLit = newStrNode__ast_3817(msg, (*(*accessExpr)._kind_6.sons->data[((NI) 1)]).info);
3967 	asgnRef((void**) (&(*strLit).typ), strType);
3968 	genLit__vmgen_1199(c, strLit, (&msgReg));
3969 	gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 96), ((NI) (msgReg)), discVal, ((NI) 0));
3970 	freeTemp__vmgen_550(c, ((NI) (msgReg)));
3971 	patch__vmgen_434(c, lab1);
3972 }
N_NIMCALL(void,genAsgnPatch__vmgen_1321)3973 N_LIB_PRIVATE N_NIMCALL(void, genAsgnPatch__vmgen_1321)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* le, NI value) {
3974 	switch ((*le).kind) {
3975 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 42):
3976 	{
3977 		NI dest;
3978 		NI idx;
3979 		dest = genx__vmgen_712(c, (*le)._kind_6.sons->data[((NI) 0)], 1);
3980 		idx = genIndex__vmgen_1305(c, (*le)._kind_6.sons->data[((NI) 1)], (*(*le)._kind_6.sons->data[((NI) 0)]).typ);
3981 		gABC__vmgen_312(c, le, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 18), dest, idx, value);
3982 		freeTemp__vmgen_550(c, dest);
3983 		freeTemp__vmgen_550(c, idx);
3984 	}
3985 	break;
3986 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 46):
3987 	{
3988 		NI objR;
3989 		NI idx_2;
3990 		objR = ((NI) -1);
3991 		genCheckedObjAccessAux__vmgen_1316(c, le, (&objR), 1);
3992 		idx_2 = genField__vmgen_1288(c, (*(*le)._kind_6.sons->data[((NI) 0)])._kind_6.sons->data[((NI) 1)]);
3993 		gABC__vmgen_312(c, (*le)._kind_6.sons->data[((NI) 0)], ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 21), ((NI) (objR)), idx_2, value);
3994 		freeTemp__vmgen_550(c, ((NI) (objR)));
3995 	}
3996 	break;
3997 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 45):
3998 	{
3999 		NI dest_2;
4000 		NI idx_3;
4001 		dest_2 = genx__vmgen_712(c, (*le)._kind_6.sons->data[((NI) 0)], 1);
4002 		idx_3 = genField__vmgen_1288(c, (*le)._kind_6.sons->data[((NI) 1)]);
4003 		gABC__vmgen_312(c, le, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 21), dest_2, idx_3, value);
4004 		freeTemp__vmgen_550(c, dest_2);
4005 	}
4006 	break;
4007 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 47):
4008 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 65):
4009 	{
4010 		NI dest_3;
4011 		dest_3 = genx__vmgen_712(c, (*le)._kind_6.sons->data[((NI) 0)], 1);
4012 		gABC__vmgen_312(c, le, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 25), dest_3, ((NI) 0), value);
4013 		freeTemp__vmgen_550(c, dest_3);
4014 	}
4015 	break;
4016 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
4017 	{
4018 		{
4019 			NIM_BOOL T8_;
4020 			NI dest_4;
4021 			T8_ = (NIM_BOOL)0;
4022 			T8_ = (((*(*le)._kind_4.sym).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 3))&63U)))!=0);
4023 			if (!(T8_)) goto LA9_;
4024 			T8_ = !(((*(*le)._kind_4.sym).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 21)));
4025 			LA9_: ;
4026 			if (!T8_) goto LA10_;
4027 			dest_4 = genx__vmgen_712(c, le, 2);
4028 			gABC__vmgen_312(c, le, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 25), dest_4, ((NI) 0), value);
4029 			freeTemp__vmgen_550(c, dest_4);
4030 		}
4031 		LA10_: ;
4032 	}
4033 	break;
4034 	default:
4035 	{
4036 	}
4037 	break;
4038 	}
4039 }
N_INLINE(NIM_BOOL,isEmptyType__ast_4779)4040 static N_INLINE(NIM_BOOL, isEmptyType__ast_4779)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
4041 	NIM_BOOL result;
4042 	NIM_BOOL T1_;
4043 	result = (NIM_BOOL)0;
4044 	T1_ = (NIM_BOOL)0;
4045 	T1_ = (t == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
4046 	if (T1_) goto LA2_;
4047 	T1_ = ((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 63) || (*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 7));
4048 	LA2_: ;
4049 	result = T1_;
4050 	return result;
4051 }
N_NIMCALL(NI,getTempRange__vmgen_559)4052 N_LIB_PRIVATE N_NIMCALL(NI, getTempRange__vmgen_559)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* cc, NI n, tyEnum_TSlotKind__QOyrDzzey9cf6gDtSRPuZMQ kind) {
4053 	NI result;
4054 	tyObject_PProccolonObjectType___VFEBuxrDHC6kHPzc1TWaRQ* c;
4055 	NI T34_;
4056 	NI T35_;
4057 {	result = (NI)0;
4058 	c = (*cc).prc;
4059 	{
4060 		NIM_BOOL T3_;
4061 		NI T4_;
4062 		NI T6_;
4063 		T3_ = (NIM_BOOL)0;
4064 		T4_ = ((*c).regInfo ? (*c).regInfo->Sup.len : 0);
4065 		T3_ = (((NI) 40) <= T4_);
4066 		if (T3_) goto LA5_;
4067 		T6_ = ((*c).regInfo ? (*c).regInfo->Sup.len : 0);
4068 		T3_ = (((NI) 65535) <= (NI)(T6_ + n));
4069 		LA5_: ;
4070 		if (!T3_) goto LA7_;
4071 		{
4072 			NI i;
4073 			NI colontmp_;
4074 			NI T10_;
4075 			NI res;
4076 			i = (NI)0;
4077 			colontmp_ = (NI)0;
4078 			T10_ = ((*c).regInfo ? (*c).regInfo->Sup.len : 0);
4079 			colontmp_ = (NI)(T10_ - n);
4080 			res = ((NI) 0);
4081 			{
4082 				while (1) {
4083 					if (!(res <= colontmp_)) goto LA12;
4084 					i = res;
4085 					{
4086 						if (!!((*c).regInfo->data[i].Field0)) goto LA15_;
4087 						{
4088 							{
4089 								NI j;
4090 								NI colontmp__2;
4091 								NI colontmp__3;
4092 								NI res_2;
4093 								j = (NI)0;
4094 								colontmp__2 = (NI)0;
4095 								colontmp__3 = (NI)0;
4096 								colontmp__2 = (NI)(i + ((NI) 1));
4097 								colontmp__3 = (NI)((NI)(i + n) - ((NI) 1));
4098 								res_2 = colontmp__2;
4099 								{
4100 									while (1) {
4101 										if (!(res_2 <= colontmp__3)) goto LA20;
4102 										j = res_2;
4103 										{
4104 											if (!(*c).regInfo->data[j].Field0) goto LA23_;
4105 											goto LA17;
4106 										}
4107 										LA23_: ;
4108 										res_2 += ((NI) 1);
4109 									} LA20: ;
4110 								}
4111 							}
4112 							result = ((NI) (i));
4113 							{
4114 								NI k;
4115 								NI colontmp__4;
4116 								NI res_3;
4117 								k = (NI)0;
4118 								colontmp__4 = (NI)0;
4119 								colontmp__4 = ((NI) ((NI)((NI)(((NI) (result)) + n) - ((NI) 1))));
4120 								res_3 = ((NI) (result));
4121 								{
4122 									while (1) {
4123 										NIM_BOOL colontmp__5;
4124 										tyEnum_TSlotKind__QOyrDzzey9cf6gDtSRPuZMQ colontmp__6;
4125 										if (!(res_3 <= ((NI) (colontmp__4)))) goto LA27;
4126 										k = ((NI) (res_3));
4127 										colontmp__5 = NIM_TRUE;
4128 										colontmp__6 = kind;
4129 										(*c).regInfo->data[k].Field0 = colontmp__5;
4130 										(*c).regInfo->data[k].Field1 = colontmp__6;
4131 										res_3 += ((NI) 1);
4132 									} LA27: ;
4133 								}
4134 							}
4135 							goto BeforeRet_;
4136 						} LA17: ;
4137 					}
4138 					LA15_: ;
4139 					res += ((NI) 1);
4140 				} LA12: ;
4141 			}
4142 		}
4143 	}
4144 	LA7_: ;
4145 	{
4146 		NI T30_;
4147 		tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q T33_;
4148 		T30_ = ((*c).regInfo ? (*c).regInfo->Sup.len : 0);
4149 		if (!(((NI) 65535) <= (NI)(T30_ + n))) goto LA31_;
4150 		T33_ = bestEffort__vmgen_468(cc);
4151 		liMessage__msgs_1118((*cc).config, T33_, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_18), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 2), TM__24XApAWKNvaMkcyklm8bNA_47, NIM_FALSE);
4152 	}
4153 	LA31_: ;
4154 	T34_ = ((*c).regInfo ? (*c).regInfo->Sup.len : 0);
4155 	result = ((NI) (T34_));
4156 	T35_ = ((*c).regInfo ? (*c).regInfo->Sup.len : 0);
4157 	asgnRef((void**) (&(*c).regInfo), (tySequence__C1Ql3I9bU3HGPJdRd2y9cbVg*) setLengthSeqV2(&((*c).regInfo)->Sup, (&NTIseqLtupleLinuse58bool_kind58tslotkindTT__C1Ql3I9bU3HGPJdRd2y9cbVg_), ((NI) ((NI)(T35_ + n)))));
4158 	{
4159 		NI k_2;
4160 		NI colontmp__7;
4161 		NI res_4;
4162 		k_2 = (NI)0;
4163 		colontmp__7 = (NI)0;
4164 		colontmp__7 = ((NI) ((NI)((NI)(((NI) (result)) + n) - ((NI) 1))));
4165 		res_4 = ((NI) (result));
4166 		{
4167 			while (1) {
4168 				NIM_BOOL colontmp__8;
4169 				tyEnum_TSlotKind__QOyrDzzey9cf6gDtSRPuZMQ colontmp__9;
4170 				if (!(res_4 <= ((NI) (colontmp__7)))) goto LA38;
4171 				k_2 = ((NI) (res_4));
4172 				colontmp__8 = NIM_TRUE;
4173 				colontmp__9 = kind;
4174 				(*c).regInfo->data[k_2].Field0 = colontmp__8;
4175 				(*c).regInfo->data[k_2].Field1 = colontmp__9;
4176 				res_4 += ((NI) 1);
4177 			} LA38: ;
4178 		}
4179 	}
4180 	}BeforeRet_: ;
4181 	return result;
4182 }
N_NIMCALL(NI,genType__vmgen_1088)4183 N_LIB_PRIVATE N_NIMCALL(NI, genType__vmgen_1088)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ) {
4184 	NI result;
4185 	NI T10_;
4186 	NI T11_;
4187 {	result = (NI)0;
4188 	{
4189 		NI i;
4190 		tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
4191 		NI i_2;
4192 		NI L;
4193 		NI T2_;
4194 		i = (NI)0;
4195 		t = NIM_NIL;
4196 		i_2 = ((NI) 0);
4197 		T2_ = ((*c).types ? (*c).types->Sup.len : 0);
4198 		L = T2_;
4199 		{
4200 			while (1) {
4201 				if (!(i_2 < L)) goto LA4;
4202 				i = i_2;
4203 				t = (*c).types->data[i_2];
4204 				{
4205 					NIM_BOOL T7_;
4206 					T7_ = (NIM_BOOL)0;
4207 					T7_ = sameType__types_1824(t, typ, 0);
4208 					if (!T7_) goto LA8_;
4209 					result = i;
4210 					goto BeforeRet_;
4211 				}
4212 				LA8_: ;
4213 				i_2 += ((NI) 1);
4214 			} LA4: ;
4215 		}
4216 	}
4217 	T10_ = ((*c).types ? (*c).types->Sup.len : 0);
4218 	result = T10_;
4219 	asgnRef((void**) (&(*c).types), (tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A*) incrSeqV3((TGenericSeq*)((*c).types), (&NTIttypeseq__9aZVGG5Gtti9cC9bqRpXCtA3A_)));
4220 	T11_ = (*c).types->Sup.len++;
4221 	asgnRef((void**) (&(*c).types->data[T11_]), typ);
4222 	{
4223 		NimStringDesc* argX60gensym128_;
4224 		if (!!((result <= ((NI) 8388607)))) goto LA14_;
4225 		argX60gensym128_ = toFileLineCol__msgs_615(TM__24XApAWKNvaMkcyklm8bNA_49);
4226 		internalErrorImpl__msgs_1431((*c).config, unknownLineInfo__lineinfos_280, argX60gensym128_, TM__24XApAWKNvaMkcyklm8bNA_49);
4227 	}
4228 	LA14_: ;
4229 	}BeforeRet_: ;
4230 	return result;
4231 }
N_NIMCALL(void,freeTempRange__vmgen_626)4232 N_LIB_PRIVATE N_NIMCALL(void, freeTempRange__vmgen_626)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, NI start, NI n) {
4233 	{
4234 		NI i;
4235 		NI colontmp_;
4236 		NI res;
4237 		i = (NI)0;
4238 		colontmp_ = (NI)0;
4239 		colontmp_ = ((NI) ((NI)((NI)(((NI) (start)) + n) - ((NI) 1))));
4240 		res = ((NI) (start));
4241 		{
4242 			while (1) {
4243 				if (!(res <= ((NI) (colontmp_)))) goto LA3;
4244 				i = ((NI) (res));
4245 				freeTemp__vmgen_550(c, i);
4246 				res += ((NI) 1);
4247 			} LA3: ;
4248 		}
4249 	}
4250 }
N_NIMCALL(void,genCall__vmgen_1204)4251 N_LIB_PRIVATE N_NIMCALL(void, genCall__vmgen_1204)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest) {
4252 	NI x;
4253 	NI T16_;
4254 	tyObject_TType__facALICuu8zUj0hjvbTLFg* fntyp;
4255 	NI T37_;
4256 {	{
4257 		NIM_BOOL T3_;
4258 		NI T4_;
4259 		T3_ = (NIM_BOOL)0;
4260 		T4_ = (NI)0;
4261 		T4_ = len__ast_3198(n);
4262 		T3_ = (T4_ == ((NI) 0));
4263 		if (T3_) goto LA5_;
4264 		T3_ = ((*(*n)._kind_6.sons->data[((NI) 0)]).typ == 0);
4265 		LA5_: ;
4266 		if (!T3_) goto LA6_;
4267 		goto BeforeRet_;
4268 	}
4269 	LA6_: ;
4270 	{
4271 		NIM_BOOL T10_;
4272 		NIM_BOOL T12_;
4273 		NI T15_;
4274 		T10_ = (NIM_BOOL)0;
4275 		T10_ = (((NI) ((*dest))) < ((NI) 0));
4276 		if (!(T10_)) goto LA11_;
4277 		T12_ = (NIM_BOOL)0;
4278 		T12_ = isEmptyType__ast_4779((*n).typ);
4279 		T10_ = !(T12_);
4280 		LA11_: ;
4281 		if (!T10_) goto LA13_;
4282 		T15_ = (NI)0;
4283 		T15_ = getTemp__vmgen_541(c, (*n).typ);
4284 		(*dest) = ((NI) (T15_));
4285 	}
4286 	LA13_: ;
4287 	T16_ = (NI)0;
4288 	T16_ = len__ast_3198(n);
4289 	x = getTempRange__vmgen_559(c, T16_, ((tyEnum_TSlotKind__QOyrDzzey9cf6gDtSRPuZMQ) 3));
4290 	fntyp = skipTypes__ast_3735((*(*n)._kind_6.sons->data[((NI) 0)]).typ, TM__24XApAWKNvaMkcyklm8bNA_40);
4291 	{
4292 		NI i;
4293 		NI colontmp_;
4294 		NI i_2;
4295 		i = (NI)0;
4296 		colontmp_ = (NI)0;
4297 		colontmp_ = len__ast_3198(n);
4298 		i_2 = ((NI) 0);
4299 		{
4300 			while (1) {
4301 				NI r;
4302 				if (!(i_2 < colontmp_)) goto LA19;
4303 				i = i_2;
4304 				r = ((NI) ((NI)(((NI) (x)) + i)));
4305 				gen__vmgen_692(c, (*n)._kind_6.sons->data[i], r, 4);
4306 				{
4307 					NI T22_;
4308 					NI T29_;
4309 					T22_ = (NI)0;
4310 					T22_ = len__ast_4002(fntyp);
4311 					if (!(T22_ <= i)) goto LA23_;
4312 					{
4313 						NimStringDesc* argX60gensym147_;
4314 						if (!!((((*fntyp).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 0))&63U)))!=0))) goto LA27_;
4315 						argX60gensym147_ = toFileLineCol__msgs_615(TM__24XApAWKNvaMkcyklm8bNA_48);
4316 						internalErrorImpl__msgs_1431((*c).config, unknownLineInfo__lineinfos_280, argX60gensym147_, TM__24XApAWKNvaMkcyklm8bNA_48);
4317 					}
4318 					LA27_: ;
4319 					T29_ = (NI)0;
4320 					T29_ = genType__vmgen_1088(c, (*(*n)._kind_6.sons->data[i]).typ);
4321 					gABx__vmgen_375(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 183), r, T29_);
4322 				}
4323 				LA23_: ;
4324 				i_2 += ((NI) 1);
4325 			} LA19: ;
4326 		}
4327 	}
4328 	{
4329 		NI T34_;
4330 		if (!(((NI) ((*dest))) < ((NI) 0))) goto LA32_;
4331 		T34_ = (NI)0;
4332 		T34_ = len__ast_3198(n);
4333 		gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 154), ((NI) 0), x, ((NI) (T34_)));
4334 	}
4335 	goto LA30_;
4336 	LA32_: ;
4337 	{
4338 		NI T36_;
4339 		T36_ = (NI)0;
4340 		T36_ = len__ast_3198(n);
4341 		gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 155), ((NI) ((*dest))), x, ((NI) (T36_)));
4342 	}
4343 	LA30_: ;
4344 	T37_ = (NI)0;
4345 	T37_ = len__ast_3198(n);
4346 	freeTempRange__vmgen_626(c, x, T37_);
4347 	}BeforeRet_: ;
4348 }
N_NIMCALL(NIM_BOOL,needsAsgnPatch__vmgen_1269)4349 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, needsAsgnPatch__vmgen_1269)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
4350 	NIM_BOOL result;
4351 	NIM_BOOL T1_;
4352 	NIM_BOOL T3_;
4353 	NIM_BOOL T5_;
4354 	result = (NIM_BOOL)0;
4355 	T1_ = (NIM_BOOL)0;
4356 	T1_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 42) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 45) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 46) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 47) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 65));
4357 	if (T1_) goto LA2_;
4358 	T3_ = (NIM_BOOL)0;
4359 	T3_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
4360 	if (!(T3_)) goto LA4_;
4361 	T5_ = (NIM_BOOL)0;
4362 	T5_ = (((*(*n)._kind_4.sym).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 3))&63U)))!=0);
4363 	if (!(T5_)) goto LA6_;
4364 	T5_ = !(((*(*n)._kind_4.sym).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 21)));
4365 	LA6_: ;
4366 	T3_ = T5_;
4367 	LA4_: ;
4368 	T1_ = T3_;
4369 	LA2_: ;
4370 	result = T1_;
4371 	return result;
4372 }
N_NIMCALL(void,genNew__vmgen_1350)4373 N_LIB_PRIVATE N_NIMCALL(void, genNew__vmgen_1350)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
4374 	NI dest;
4375 	tyObject_TType__facALICuu8zUj0hjvbTLFg* T7_;
4376 	NI T8_;
4377 	{
4378 		NIM_BOOL T3_;
4379 		T3_ = (NIM_BOOL)0;
4380 		T3_ = needsAsgnPatch__vmgen_1269((*n)._kind_6.sons->data[((NI) 1)]);
4381 		if (!T3_) goto LA4_;
4382 		dest = getTemp__vmgen_541(c, (*(*n)._kind_6.sons->data[((NI) 1)]).typ);
4383 	}
4384 	goto LA1_;
4385 	LA4_: ;
4386 	{
4387 		dest = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 1)], 0);
4388 	}
4389 	LA1_: ;
4390 	T7_ = NIM_NIL;
4391 	T7_ = skipTypes__ast_3735((*(*n)._kind_6.sons->data[((NI) 1)]).typ, TM__24XApAWKNvaMkcyklm8bNA_36);
4392 	T8_ = (NI)0;
4393 	T8_ = genType__vmgen_1088(c, (*T7_).sons->data[((NI) 0)]);
4394 	gABx__vmgen_375(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 170), dest, T8_);
4395 	genAsgnPatch__vmgen_1321(c, (*n)._kind_6.sons->data[((NI) 1)], dest);
4396 	freeTemp__vmgen_550(c, dest);
4397 }
N_NIMCALL(void,genNewSeq__vmgen_1364)4398 N_LIB_PRIVATE N_NIMCALL(void, genNewSeq__vmgen_1364)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
4399 	tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
4400 	NI dest;
4401 	NI tmp;
4402 	tyObject_TType__facALICuu8zUj0hjvbTLFg* T7_;
4403 	NI T8_;
4404 	t = (*(*n)._kind_6.sons->data[((NI) 1)]).typ;
4405 	{
4406 		NIM_BOOL T3_;
4407 		T3_ = (NIM_BOOL)0;
4408 		T3_ = needsAsgnPatch__vmgen_1269((*n)._kind_6.sons->data[((NI) 1)]);
4409 		if (!T3_) goto LA4_;
4410 		dest = getTemp__vmgen_541(c, t);
4411 	}
4412 	goto LA1_;
4413 	LA4_: ;
4414 	{
4415 		dest = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 1)], 0);
4416 	}
4417 	LA1_: ;
4418 	tmp = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 2)], 0);
4419 	T7_ = NIM_NIL;
4420 	T7_ = skipTypes__ast_3735(t, TM__24XApAWKNvaMkcyklm8bNA_36);
4421 	T8_ = (NI)0;
4422 	T8_ = genType__vmgen_1088(c, T7_);
4423 	gABx__vmgen_375(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 171), dest, T8_);
4424 	gABx__vmgen_375(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 171), tmp, ((NI) 0));
4425 	freeTemp__vmgen_550(c, tmp);
4426 	genAsgnPatch__vmgen_1321(c, (*n)._kind_6.sons->data[((NI) 1)], dest);
4427 	freeTemp__vmgen_550(c, dest);
4428 }
N_NIMCALL(void,genNewSeqOfCap__vmgen_1379)4429 N_LIB_PRIVATE N_NIMCALL(void, genNewSeqOfCap__vmgen_1379)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest) {
4430 	tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
4431 	NI tmp;
4432 	NI T6_;
4433 	tyObject_TType__facALICuu8zUj0hjvbTLFg* T7_;
4434 	NI T8_;
4435 	t = (*n).typ;
4436 	{
4437 		NI T5_;
4438 		if (!(((NI) ((*dest))) < ((NI) 0))) goto LA3_;
4439 		T5_ = (NI)0;
4440 		T5_ = getTemp__vmgen_541(c, (*n).typ);
4441 		(*dest) = ((NI) (T5_));
4442 	}
4443 	LA3_: ;
4444 	tmp = getTemp__vmgen_541(c, (*(*n)._kind_6.sons->data[((NI) 1)]).typ);
4445 	T6_ = (NI)0;
4446 	T6_ = genType__vmgen_1088(c, t);
4447 	gABx__vmgen_375(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 172), ((NI) ((*dest))), T6_);
4448 	gABx__vmgen_375(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 180), tmp, ((NI) 0));
4449 	T7_ = NIM_NIL;
4450 	T7_ = skipTypes__ast_3735(t, TM__24XApAWKNvaMkcyklm8bNA_36);
4451 	T8_ = (NI)0;
4452 	T8_ = genType__vmgen_1088(c, T7_);
4453 	gABx__vmgen_375(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 171), ((NI) ((*dest))), T8_);
4454 	gABx__vmgen_375(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 171), tmp, ((NI) 0));
4455 	freeTemp__vmgen_550(c, tmp);
4456 }
N_NIMCALL(void,genUnaryABC__vmgen_1390)4457 N_LIB_PRIVATE N_NIMCALL(void, genUnaryABC__vmgen_1390)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest, tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opc) {
4458 	NI tmp;
4459 	tmp = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 1)], 0);
4460 	{
4461 		NI T5_;
4462 		if (!(((NI) ((*dest))) < ((NI) 0))) goto LA3_;
4463 		T5_ = (NI)0;
4464 		T5_ = getTemp__vmgen_541(c, (*n).typ);
4465 		(*dest) = ((NI) (T5_));
4466 	}
4467 	LA3_: ;
4468 	gABC__vmgen_312(c, n, opc, ((NI) ((*dest))), tmp, ((NI) 0));
4469 	freeTemp__vmgen_550(c, tmp);
4470 }
N_NIMCALL(void,genUnaryABI__vmgen_1397)4471 N_LIB_PRIVATE N_NIMCALL(void, genUnaryABI__vmgen_1397)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest, tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opc, NI64 imm) {
4472 	NI tmp;
4473 	tmp = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 1)], 0);
4474 	{
4475 		NI T5_;
4476 		if (!(((NI) ((*dest))) < ((NI) 0))) goto LA3_;
4477 		T5_ = (NI)0;
4478 		T5_ = getTemp__vmgen_541(c, (*n).typ);
4479 		(*dest) = ((NI) (T5_));
4480 	}
4481 	LA3_: ;
4482 	gABI__vmgen_347(c, n, opc, ((NI) ((*dest))), tmp, imm);
4483 	freeTemp__vmgen_550(c, tmp);
4484 }
N_NIMCALL(void,genSetType__vmgen_1481)4485 N_LIB_PRIVATE N_NIMCALL(void, genSetType__vmgen_1481)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI dest) {
4486 	tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
4487 	t = skipTypes__ast_3735((*n).typ, TM__24XApAWKNvaMkcyklm8bNA_51);
4488 	{
4489 		NI T5_;
4490 		if (!((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 19))) goto LA3_;
4491 		T5_ = (NI)0;
4492 		T5_ = genType__vmgen_1088(c, t);
4493 		gABx__vmgen_375(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 183), dest, T5_);
4494 	}
4495 	LA3_: ;
4496 }
N_NIMCALL(void,genCard__vmgen_1621)4497 N_LIB_PRIVATE N_NIMCALL(void, genCard__vmgen_1621)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest) {
4498 	NI tmp;
4499 	tmp = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 1)], 0);
4500 	{
4501 		NI T5_;
4502 		if (!(((NI) ((*dest))) < ((NI) 0))) goto LA3_;
4503 		T5_ = (NI)0;
4504 		T5_ = getTemp__vmgen_541(c, (*n).typ);
4505 		(*dest) = ((NI) (T5_));
4506 	}
4507 	LA3_: ;
4508 	genSetType__vmgen_1481(c, (*n)._kind_6.sons->data[((NI) 1)], tmp);
4509 	gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 39), ((NI) ((*dest))), tmp, ((NI) 0));
4510 	freeTemp__vmgen_550(c, tmp);
4511 }
N_NIMCALL(void,genBinaryABCnarrow__vmgen_1471)4512 N_LIB_PRIVATE N_NIMCALL(void, genBinaryABCnarrow__vmgen_1471)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest, tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opc) {
4513 	genBinaryABC__vmgen_1405(c, n, dest, opc);
4514 	genNarrow__vmgen_1427(c, n, (*dest));
4515 }
N_NIMCALL(void,genNarrowU__vmgen_1453)4516 N_LIB_PRIVATE N_NIMCALL(void, genNarrowU__vmgen_1453)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI dest) {
4517 	tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
4518 	NI64 size;
4519 	t = skipTypes__ast_3735((*n).typ, TM__24XApAWKNvaMkcyklm8bNA_36);
4520 	size = getSize__types_3336((*c).config, t);
4521 	{
4522 		NIM_BOOL T3_;
4523 		NIM_BOOL T5_;
4524 		T3_ = (NIM_BOOL)0;
4525 		T3_ = ((*t).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 41) && (*t).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 43) || (*t).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 32) && (*t).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 34));
4526 		if (T3_) goto LA4_;
4527 		T5_ = (NIM_BOOL)0;
4528 		T5_ = ((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 40) || (*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31));
4529 		if (!(T5_)) goto LA6_;
4530 		T5_ = (size < IL64(8));
4531 		LA6_: ;
4532 		T3_ = T5_;
4533 		LA4_: ;
4534 		if (!T3_) goto LA7_;
4535 		gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 98), ((NI) (dest)), ((NI) ((NI64)(size * IL64(8)))), ((NI) 0));
4536 	}
4537 	LA7_: ;
4538 }
N_NIMCALL(void,genBinaryABCnarrowU__vmgen_1476)4539 N_LIB_PRIVATE N_NIMCALL(void, genBinaryABCnarrowU__vmgen_1476)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest, tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opc) {
4540 	genBinaryABC__vmgen_1405(c, n, dest, opc);
4541 	genNarrowU__vmgen_1453(c, n, (*dest));
4542 }
N_NIMCALL(void,Marker_tyRef__b6fqZ1oVWC4DbYpw7amjAw)4543 static N_NIMCALL(void, Marker_tyRef__b6fqZ1oVWC4DbYpw7amjAw)(void* p, NI op) {
4544 	tyObject_Env_vmgendotnim_genConv___tSX9a6VppB8gTJYBP9aDt4MA* a;
4545 	a = (tyObject_Env_vmgendotnim_genConv___tSX9a6VppB8gTJYBP9aDt4MA*)p;
4546 	nimGCvisit((void*)(*a).t21, op);
4547 	nimGCvisit((void*)(*a).targ22, op);
4548 	nimGCvisit((void*)(*a).n3, op);
4549 	nimGCvisit((void*)(*a).arg4, op);
4550 }
N_CLOSURE(NIM_BOOL,implicitConv__vmgen_1610)4551 N_LIB_PRIVATE N_CLOSURE(NIM_BOOL, implicitConv__vmgen_1610)(void* ClE_0) {
4552 	NIM_BOOL result;
4553 	tyObject_Env_vmgendotnim_genConv___tSX9a6VppB8gTJYBP9aDt4MA* colonenvP_;
4554 {	result = (NIM_BOOL)0;
4555 	colonenvP_ = (tyObject_Env_vmgendotnim_genConv___tSX9a6VppB8gTJYBP9aDt4MA*) ClE_0;
4556 	{
4557 		NIM_BOOL T3_;
4558 		T3_ = (NIM_BOOL)0;
4559 		T3_ = sameType__types_1824((*colonenvP_).t21, (*colonenvP_).targ22, 0);
4560 		if (!T3_) goto LA4_;
4561 		result = NIM_TRUE;
4562 		goto BeforeRet_;
4563 	}
4564 	LA4_: ;
4565 	{
4566 		NIM_BOOL T8_;
4567 		T8_ = (NIM_BOOL)0;
4568 		T8_ = ((*(*(*colonenvP_).n3).typ).kind == (*(*(*colonenvP_).arg4).typ).kind);
4569 		if (!(T8_)) goto LA9_;
4570 		T8_ = ((*(*(*colonenvP_).arg4).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25));
4571 		LA9_: ;
4572 		if (!T8_) goto LA10_;
4573 		result = NIM_TRUE;
4574 		goto BeforeRet_;
4575 	}
4576 	LA10_: ;
4577 	}BeforeRet_: ;
4578 	return result;
4579 }
N_NIMCALL(void,genConv__vmgen_1602)4580 N_LIB_PRIVATE N_NIMCALL(void, genConv__vmgen_1602)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* arg, NI* dest, tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opc) {
4581 	tyObject_Env_vmgendotnim_genConv___tSX9a6VppB8gTJYBP9aDt4MA* colonenv_;
4582 	NI tmp;
4583 	tyObject_TType__facALICuu8zUj0hjvbTLFg* T12_;
4584 	NI T13_;
4585 	tyObject_TType__facALICuu8zUj0hjvbTLFg* T14_;
4586 	NI T15_;
4587 {	colonenv_ = NIM_NIL;
4588 	colonenv_ = (tyObject_Env_vmgendotnim_genConv___tSX9a6VppB8gTJYBP9aDt4MA*) newObj((&NTIrefobject__b6fqZ1oVWC4DbYpw7amjAw_), sizeof(tyObject_Env_vmgendotnim_genConv___tSX9a6VppB8gTJYBP9aDt4MA));
4589 	(*colonenv_).Sup.m_type = (&NTIobject__tSX9a6VppB8gTJYBP9aDt4MA_);
4590 	asgnRef((void**) (&(*colonenv_).n3), n);
4591 	asgnRef((void**) (&(*colonenv_).arg4), arg);
4592 	asgnRef((void**) (&(*colonenv_).t21), skipTypes__ast_3735((*(*colonenv_).n3).typ, TM__24XApAWKNvaMkcyklm8bNA_53));
4593 	asgnRef((void**) (&(*colonenv_).targ22), skipTypes__ast_3735((*(*colonenv_).arg4).typ, TM__24XApAWKNvaMkcyklm8bNA_53));
4594 	{
4595 		tyProc__In3g79a0qTcRmbTbJp9ba9ctg T3_;
4596 		NIM_BOOL T4_;
4597 		nimZeroMem((void*)(&T3_), sizeof(tyProc__In3g79a0qTcRmbTbJp9ba9ctg));
4598 		T3_.ClP_0 = implicitConv__vmgen_1610; T3_.ClE_0 = colonenv_;
4599 		T4_ = (NIM_BOOL)0;
4600 		T4_ = T3_.ClE_0? T3_.ClP_0(T3_.ClE_0):((TM__24XApAWKNvaMkcyklm8bNA_54)(T3_.ClP_0))();
4601 		if (!T4_) goto LA5_;
4602 		gen__vmgen_687(c, (*colonenv_).arg4, dest, 0);
4603 		goto BeforeRet_;
4604 	}
4605 	LA5_: ;
4606 	tmp = genx__vmgen_712(c, (*colonenv_).arg4, 0);
4607 	{
4608 		NI T11_;
4609 		if (!(((NI) ((*dest))) < ((NI) 0))) goto LA9_;
4610 		T11_ = (NI)0;
4611 		T11_ = getTemp__vmgen_541(c, (*(*colonenv_).n3).typ);
4612 		(*dest) = ((NI) (T11_));
4613 	}
4614 	LA9_: ;
4615 	gABC__vmgen_312(c, (*colonenv_).n3, opc, ((NI) ((*dest))), tmp, ((NI) 0));
4616 	T12_ = NIM_NIL;
4617 	T12_ = skipTypes__ast_3735((*(*colonenv_).n3).typ, TM__24XApAWKNvaMkcyklm8bNA_16);
4618 	T13_ = (NI)0;
4619 	T13_ = genType__vmgen_1088(c, T12_);
4620 	gABx__vmgen_375(c, (*colonenv_).n3, opc, ((NI) 0), T13_);
4621 	T14_ = NIM_NIL;
4622 	T14_ = skipTypes__ast_3735((*(*colonenv_).arg4).typ, TM__24XApAWKNvaMkcyklm8bNA_16);
4623 	T15_ = (NI)0;
4624 	T15_ = genType__vmgen_1088(c, T14_);
4625 	gABx__vmgen_375(c, (*colonenv_).n3, opc, ((NI) 0), T15_);
4626 	freeTemp__vmgen_550(c, tmp);
4627 	}BeforeRet_: ;
4628 }
N_NIMCALL(void,genBinarySet__vmgen_1494)4629 N_LIB_PRIVATE N_NIMCALL(void, genBinarySet__vmgen_1494)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest, tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opc) {
4630 	NI tmp;
4631 	NI tmp2;
4632 	tmp = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 1)], 0);
4633 	tmp2 = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 2)], 0);
4634 	{
4635 		NI T5_;
4636 		if (!(((NI) ((*dest))) < ((NI) 0))) goto LA3_;
4637 		T5_ = (NI)0;
4638 		T5_ = getTemp__vmgen_541(c, (*n).typ);
4639 		(*dest) = ((NI) (T5_));
4640 	}
4641 	LA3_: ;
4642 	genSetType__vmgen_1481(c, (*n)._kind_6.sons->data[((NI) 1)], tmp);
4643 	genSetType__vmgen_1481(c, (*n)._kind_6.sons->data[((NI) 2)], tmp2);
4644 	gABC__vmgen_312(c, n, opc, ((NI) ((*dest))), tmp, tmp2);
4645 	freeTemp__vmgen_550(c, tmp);
4646 	freeTemp__vmgen_550(c, tmp2);
4647 }
N_NIMCALL(void,genVarargsABC__vmgen_1533)4648 N_LIB_PRIVATE N_NIMCALL(void, genVarargsABC__vmgen_1533)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest, tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opc) {
4649 	NI x;
4650 	NI T6_;
4651 	NI T10_;
4652 	NI T11_;
4653 	{
4654 		NI T5_;
4655 		if (!(((NI) ((*dest))) < ((NI) 0))) goto LA3_;
4656 		T5_ = (NI)0;
4657 		T5_ = getTemp__vmgen_541(c, (*n).typ);
4658 		(*dest) = ((NI) (T5_));
4659 	}
4660 	LA3_: ;
4661 	T6_ = (NI)0;
4662 	T6_ = len__ast_3198(n);
4663 	x = getTempRange__vmgen_559(c, (NI)(T6_ - ((NI) 1)), ((tyEnum_TSlotKind__QOyrDzzey9cf6gDtSRPuZMQ) 6));
4664 	{
4665 		NI i;
4666 		NI colontmp_;
4667 		NI i_2;
4668 		i = (NI)0;
4669 		colontmp_ = (NI)0;
4670 		colontmp_ = len__ast_3198(n);
4671 		i_2 = ((NI) 1);
4672 		{
4673 			while (1) {
4674 				NI r;
4675 				if (!(i_2 < colontmp_)) goto LA9;
4676 				i = i_2;
4677 				r = ((NI) ((NI)((NI)(((NI) (x)) + i) - ((NI) 1))));
4678 				gen__vmgen_692(c, (*n)._kind_6.sons->data[i], r, 0);
4679 				i_2 += ((NI) 1);
4680 			} LA9: ;
4681 		}
4682 	}
4683 	T10_ = (NI)0;
4684 	T10_ = len__ast_3198(n);
4685 	gABC__vmgen_312(c, n, opc, ((NI) ((*dest))), x, ((NI) ((NI)(T10_ - ((NI) 1)))));
4686 	T11_ = (NI)0;
4687 	T11_ = len__ast_3198(n);
4688 	freeTempRange__vmgen_626(c, x, (NI)(T11_ - ((NI) 1)));
4689 }
N_NIMCALL(tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ,ldNullOpcode__vmgen_1836)4690 N_LIB_PRIVATE N_NIMCALL(tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ, ldNullOpcode__vmgen_1836)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
4691 	tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ result;
4692 	result = (tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ)0;
4693 	{
4694 		NIM_BOOL T3_;
4695 		T3_ = (NIM_BOOL)0;
4696 		T3_ = fitsRegister__vmgen_1814(t);
4697 		if (!T3_) goto LA4_;
4698 		result = ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 173);
4699 	}
4700 	goto LA1_;
4701 	LA4_: ;
4702 	{
4703 		result = ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 172);
4704 	}
4705 	LA1_: ;
4706 	return result;
4707 }
N_NIMCALL(void,genBinaryStmtVar__vmgen_1513)4708 N_LIB_PRIVATE N_NIMCALL(void, genBinaryStmtVar__vmgen_1513)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opc) {
4709 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x;
4710 	NI dest;
4711 	NI tmp;
4712 	x = (*n)._kind_6.sons->data[((NI) 1)];
4713 	{
4714 		if (!((*x).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 63) || (*x).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 64))) goto LA3_;
4715 		x = (*x)._kind_6.sons->data[((NI) 0)];
4716 	}
4717 	LA3_: ;
4718 	dest = genx__vmgen_712(c, x, 0);
4719 	tmp = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 2)], 0);
4720 	gABC__vmgen_312(c, n, opc, dest, tmp, ((NI) 0));
4721 	freeTemp__vmgen_550(c, tmp);
4722 	freeTemp__vmgen_550(c, dest);
4723 }
N_NIMCALL(void,genBinaryABCD__vmgen_1414)4724 N_LIB_PRIVATE N_NIMCALL(void, genBinaryABCD__vmgen_1414)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest, tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opc) {
4725 	NI tmp;
4726 	NI tmp2;
4727 	NI tmp3;
4728 	tmp = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 1)], 0);
4729 	tmp2 = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 2)], 0);
4730 	tmp3 = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 3)], 0);
4731 	{
4732 		NI T5_;
4733 		if (!(((NI) ((*dest))) < ((NI) 0))) goto LA3_;
4734 		T5_ = (NI)0;
4735 		T5_ = getTemp__vmgen_541(c, (*n).typ);
4736 		(*dest) = ((NI) (T5_));
4737 	}
4738 	LA3_: ;
4739 	gABC__vmgen_312(c, n, opc, ((NI) ((*dest))), tmp, tmp2);
4740 	gABC__vmgen_312(c, n, opc, tmp3, ((NI) 0), ((NI) 0));
4741 	freeTemp__vmgen_550(c, tmp);
4742 	freeTemp__vmgen_550(c, tmp2);
4743 	freeTemp__vmgen_550(c, tmp3);
4744 }
N_NIMCALL(void,genVoidABC__vmgen_1749)4745 N_LIB_PRIVATE N_NIMCALL(void, genVoidABC__vmgen_1749)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI dest, tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opcode) {
4746 	NI tmp1;
4747 	NI tmp2;
4748 	NI tmp3;
4749 	unused__vmgen_1026(c, n, dest);
4750 	tmp1 = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 1)], 0);
4751 	tmp2 = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 2)], 0);
4752 	tmp3 = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 3)], 0);
4753 	gABC__vmgen_312(c, n, opcode, tmp1, tmp2, tmp3);
4754 	freeTemp__vmgen_550(c, tmp1);
4755 	freeTemp__vmgen_550(c, tmp2);
4756 	freeTemp__vmgen_550(c, tmp3);
4757 }
N_NIMCALL(void,genBinaryStmt__vmgen_1505)4758 N_LIB_PRIVATE N_NIMCALL(void, genBinaryStmt__vmgen_1505)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opc) {
4759 	NI dest;
4760 	NI tmp;
4761 	dest = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 1)], 0);
4762 	tmp = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 2)], 0);
4763 	gABC__vmgen_312(c, n, opc, dest, tmp, ((NI) 0));
4764 	freeTemp__vmgen_550(c, tmp);
4765 	freeTemp__vmgen_550(c, dest);
4766 }
N_NIMCALL(void,genBindSym__vmgen_1760)4767 N_LIB_PRIVATE N_NIMCALL(void, genBindSym__vmgen_1760)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest) {
4768 	{
4769 		NI T3_;
4770 		T3_ = (NI)0;
4771 		T3_ = len__ast_3198(n);
4772 		if (!(T3_ == ((NI) 2))) goto LA4_;
4773 		{
4774 			NI idx;
4775 			if (!((*(*n)._kind_6.sons->data[((NI) 1)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 56) || (*(*n)._kind_6.sons->data[((NI) 1)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 57) || (*(*n)._kind_6.sons->data[((NI) 1)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA8_;
4776 			idx = genLiteral__vmgen_1013(c, (*n)._kind_6.sons->data[((NI) 1)]);
4777 			{
4778 				NI T14_;
4779 				if (!(((NI) ((*dest))) < ((NI) 0))) goto LA12_;
4780 				T14_ = (NI)0;
4781 				T14_ = getTemp__vmgen_541(c, (*n).typ);
4782 				(*dest) = ((NI) (T14_));
4783 			}
4784 			LA12_: ;
4785 			gABx__vmgen_375(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 181), ((NI) ((*dest))), idx);
4786 		}
4787 		goto LA6_;
4788 		LA8_: ;
4789 		{
4790 			liMessage__msgs_1118((*c).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_61), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__24XApAWKNvaMkcyklm8bNA_62, NIM_FALSE);
4791 		}
4792 		LA6_: ;
4793 	}
4794 	goto LA1_;
4795 	LA4_: ;
4796 	{
4797 		NI x;
4798 		NI T22_;
4799 		NI tmp0;
4800 		NI tmp1;
4801 		NI T27_;
4802 		NI T28_;
4803 		NI tmp2;
4804 		NI T29_;
4805 		NI T30_;
4806 		NI T31_;
4807 		NI T32_;
4808 		{
4809 			NI T21_;
4810 			if (!(((NI) ((*dest))) < ((NI) 0))) goto LA19_;
4811 			T21_ = (NI)0;
4812 			T21_ = getTemp__vmgen_541(c, (*n).typ);
4813 			(*dest) = ((NI) (T21_));
4814 		}
4815 		LA19_: ;
4816 		T22_ = (NI)0;
4817 		T22_ = len__ast_3198(n);
4818 		x = getTempRange__vmgen_559(c, T22_, ((tyEnum_TSlotKind__QOyrDzzey9cf6gDtSRPuZMQ) 3));
4819 		tmp0 = ((NI) (x));
4820 		genLit__vmgen_1199(c, (*n)._kind_6.sons->data[((NI) 0)], (&tmp0));
4821 		{
4822 			NI i;
4823 			NI colontmp_;
4824 			NI T24_;
4825 			NI i_2;
4826 			i = (NI)0;
4827 			colontmp_ = (NI)0;
4828 			T24_ = (NI)0;
4829 			T24_ = len__ast_3198(n);
4830 			colontmp_ = (NI)(T24_ - ((NI) 2));
4831 			i_2 = ((NI) 1);
4832 			{
4833 				while (1) {
4834 					NI r;
4835 					if (!(i_2 < colontmp_)) goto LA26;
4836 					i = i_2;
4837 					r = ((NI) ((NI)(((NI) (x)) + i)));
4838 					gen__vmgen_692(c, (*n)._kind_6.sons->data[i], r, 0);
4839 					i_2 += ((NI) 1);
4840 				} LA26: ;
4841 			}
4842 		}
4843 		T27_ = (NI)0;
4844 		T27_ = len__ast_3198(n);
4845 		tmp1 = ((NI) ((NI)((NI)(((NI) (x)) + T27_) - ((NI) 2))));
4846 		T28_ = (NI)0;
4847 		T28_ = len__ast_3198(n);
4848 		genLit__vmgen_1199(c, (*n)._kind_6.sons->data[(NI)(T28_ - ((NI) 2))], (&tmp1));
4849 		T29_ = (NI)0;
4850 		T29_ = len__ast_3198(n);
4851 		tmp2 = ((NI) ((NI)((NI)(((NI) (x)) + T29_) - ((NI) 1))));
4852 		T30_ = (NI)0;
4853 		T30_ = len__ast_3198(n);
4854 		genLit__vmgen_1199(c, (*n)._kind_6.sons->data[(NI)(T30_ - ((NI) 1))], (&tmp2));
4855 		T31_ = (NI)0;
4856 		T31_ = len__ast_3198(n);
4857 		gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 182), ((NI) ((*dest))), x, ((NI) (T31_)));
4858 		T32_ = (NI)0;
4859 		T32_ = len__ast_3198(n);
4860 		freeTempRange__vmgen_626(c, x, T32_);
4861 	}
4862 	LA1_: ;
4863 }
N_NIMCALL(void,genMagic__vmgen_1858)4864 N_LIB_PRIVATE N_NIMCALL(void, genMagic__vmgen_1858)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest, tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg m) {
4865 	switch (m) {
4866 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 109):
4867 	{
4868 		genAndOr__vmgen_937(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 162), dest);
4869 	}
4870 	break;
4871 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 110):
4872 	{
4873 		genAndOr__vmgen_937(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 161), dest);
4874 	}
4875 	break;
4876 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 52):
4877 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 47):
4878 	{
4879 		genAddSubInt__vmgen_1588(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 31));
4880 	}
4881 	break;
4882 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 51):
4883 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 46):
4884 	{
4885 		genAddSubInt__vmgen_1588(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 29));
4886 	}
4887 	break;
4888 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 29):
4889 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 30):
4890 	{
4891 		NIM_BOOL isUnsigned;
4892 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T6_;
4893 		tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opc;
4894 		NI d;
4895 		unused__vmgen_1026(c, n, (*dest));
4896 		T6_ = NIM_NIL;
4897 		T6_ = skipTypes__ast_3735((*(*n)._kind_6.sons->data[((NI) 1)]).typ, TM__24XApAWKNvaMkcyklm8bNA_39);
4898 		isUnsigned = ((*T6_).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 40) && (*T6_).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 44));
4899 		{
4900 			if (!!(isUnsigned)) goto LA9_;
4901 			{
4902 				if (!(m == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 29))) goto LA13_;
4903 				opc = ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 29);
4904 			}
4905 			goto LA11_;
4906 			LA13_: ;
4907 			{
4908 				opc = ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 31);
4909 			}
4910 			LA11_: ;
4911 		}
4912 		goto LA7_;
4913 		LA9_: ;
4914 		{
4915 			{
4916 				if (!(m == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 29))) goto LA19_;
4917 				opc = ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 53);
4918 			}
4919 			goto LA17_;
4920 			LA19_: ;
4921 			{
4922 				opc = ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 54);
4923 			}
4924 			LA17_: ;
4925 		}
4926 		LA7_: ;
4927 		d = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 1)], 0);
4928 		{
4929 			NIM_BOOL T24_;
4930 			T24_ = (NIM_BOOL)0;
4931 			T24_ = isInt8Lit__vmgen_1558((*n)._kind_6.sons->data[((NI) 2)]);
4932 			if (!(T24_)) goto LA25_;
4933 			T24_ = !(isUnsigned);
4934 			LA25_: ;
4935 			if (!T24_) goto LA26_;
4936 			gABI__vmgen_347(c, n, (tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ)(opc + ((NI) 1)), d, d, (*(*n)._kind_6.sons->data[((NI) 2)])._kind_1.intVal);
4937 		}
4938 		goto LA22_;
4939 		LA26_: ;
4940 		{
4941 			NI tmp;
4942 			tmp = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 2)], 0);
4943 			gABC__vmgen_312(c, n, opc, d, d, tmp);
4944 			freeTemp__vmgen_550(c, tmp);
4945 		}
4946 		LA22_: ;
4947 		genNarrow__vmgen_1427(c, (*n)._kind_6.sons->data[((NI) 1)], ((NI) (d)));
4948 		genAsgnPatch__vmgen_1321(c, (*n)._kind_6.sons->data[((NI) 1)], d);
4949 		freeTemp__vmgen_550(c, d);
4950 	}
4951 	break;
4952 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 31):
4953 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 43):
4954 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 144):
4955 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 153):
4956 	{
4957 		gen__vmgen_687(c, (*n)._kind_6.sons->data[((NI) 1)], dest, 0);
4958 	}
4959 	break;
4960 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 155):
4961 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 154):
4962 	{
4963 		genCall__vmgen_1204(c, n, dest);
4964 	}
4965 	break;
4966 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 32):
4967 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 33):
4968 	{
4969 		unused__vmgen_1026(c, n, (*dest));
4970 		genNew__vmgen_1350(c, n);
4971 	}
4972 	break;
4973 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 34):
4974 	{
4975 		unused__vmgen_1026(c, n, (*dest));
4976 		genNewSeq__vmgen_1364(c, n);
4977 	}
4978 	break;
4979 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 35):
4980 	{
4981 		genNewSeqOfCap__vmgen_1379(c, n, dest);
4982 	}
4983 	break;
4984 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 145):
4985 	{
4986 		genUnaryABC__vmgen_1390(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 160));
4987 	}
4988 	break;
4989 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 146):
4990 	{
4991 		NI T36_;
4992 		NI tmp_2;
4993 		T36_ = (NI)0;
4994 		T36_ = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 1)], 0);
4995 		freeTemp__vmgen_550(c, T36_);
4996 		tmp_2 = getTemp__vmgen_541(c, (*(*n)._kind_6.sons->data[((NI) 1)]).typ);
4997 		gABx__vmgen_375(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 180), tmp_2, ((NI) 0));
4998 		{
4999 			NI T41_;
5000 			if (!(((NI) ((*dest))) < ((NI) 0))) goto LA39_;
5001 			T41_ = (NI)0;
5002 			T41_ = getTemp__vmgen_541(c, (*n).typ);
5003 			(*dest) = ((NI) (T41_));
5004 		}
5005 		LA39_: ;
5006 		gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 160), ((NI) ((*dest))), tmp_2, ((NI) 0));
5007 		freeTemp__vmgen_550(c, tmp_2);
5008 	}
5009 	break;
5010 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 36):
5011 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 38):
5012 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 39):
5013 	{
5014 		genUnaryABI__vmgen_1397(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 33), IL64(0));
5015 	}
5016 	break;
5017 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 37):
5018 	{
5019 		switch ((*(*(*n)._kind_6.sons->data[((NI) 1)]).typ).kind) {
5020 		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 28):
5021 		{
5022 			genUnaryABI__vmgen_1397(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 34), IL64(0));
5023 		}
5024 		break;
5025 		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 29):
5026 		{
5027 			genUnaryABI__vmgen_1397(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 35), IL64(0));
5028 		}
5029 		break;
5030 		default:
5031 		{
5032 			{
5033 				NimStringDesc* T51_;
5034 				if (!NIM_TRUE) goto LA49_;
5035 				T51_ = NIM_NIL;
5036 				T51_ = rawNewString((reprEnum((NI)(*(*(*n)._kind_6.sons->data[((NI) 1)]).typ).kind, (&NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_)) ? reprEnum((NI)(*(*(*n)._kind_6.sons->data[((NI) 1)]).typ).kind, (&NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_))->Sup.len : 0) + 28);
5037 appendString(T51_, ((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_50));
5038 appendString(T51_, reprEnum((NI)(*(*(*n)._kind_6.sons->data[((NI) 1)]).typ).kind, (&NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_)));
5039 				failedAssertImpl__systemZassertions_56(T51_);
5040 			}
5041 			LA49_: ;
5042 		}
5043 		break;
5044 		}
5045 	}
5046 	break;
5047 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 40):
5048 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 41):
5049 	{
5050 		NI d_2;
5051 		NI tmp_3;
5052 		tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ T53_;
5053 		unused__vmgen_1026(c, n, (*dest));
5054 		d_2 = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 1)], 0);
5055 		tmp_3 = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 2)], 0);
5056 		genSetType__vmgen_1481(c, (*n)._kind_6.sons->data[((NI) 1)], d_2);
5057 		T53_ = (tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ)0;
5058 		{
5059 			if (!(m == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 40))) goto LA56_;
5060 			T53_ = ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 36);
5061 		}
5062 		goto LA54_;
5063 		LA56_: ;
5064 		{
5065 			T53_ = ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 38);
5066 		}
5067 		LA54_: ;
5068 		gABC__vmgen_312(c, n, T53_, d_2, tmp_3, ((NI) 0));
5069 		freeTemp__vmgen_550(c, d_2);
5070 		freeTemp__vmgen_550(c, tmp_3);
5071 	}
5072 	break;
5073 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 42):
5074 	{
5075 		genCard__vmgen_1621(c, n, dest);
5076 	}
5077 	break;
5078 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 48):
5079 	{
5080 		genBinaryABCnarrow__vmgen_1471(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 40));
5081 	}
5082 	break;
5083 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 49):
5084 	{
5085 		genBinaryABCnarrow__vmgen_1471(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 41));
5086 	}
5087 	break;
5088 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 50):
5089 	{
5090 		genBinaryABCnarrow__vmgen_1471(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 42));
5091 	}
5092 	break;
5093 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 53):
5094 	{
5095 		genBinaryABC__vmgen_1405(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 43));
5096 	}
5097 	break;
5098 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 54):
5099 	{
5100 		genBinaryABC__vmgen_1405(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 44));
5101 	}
5102 	break;
5103 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 55):
5104 	{
5105 		genBinaryABC__vmgen_1405(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 45));
5106 	}
5107 	break;
5108 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 56):
5109 	{
5110 		genBinaryABC__vmgen_1405(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 46));
5111 	}
5112 	break;
5113 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 57):
5114 	{
5115 		NI tmp_4;
5116 		NI tmp2;
5117 		tmp_4 = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 1)], 0);
5118 		genNarrowU__vmgen_1453(c, n, ((NI) (tmp_4)));
5119 		tmp2 = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 2)], 0);
5120 		{
5121 			NI T72_;
5122 			if (!(((NI) ((*dest))) < ((NI) 0))) goto LA70_;
5123 			T72_ = (NI)0;
5124 			T72_ = getTemp__vmgen_541(c, (*n).typ);
5125 			(*dest) = ((NI) (T72_));
5126 		}
5127 		LA70_: ;
5128 		gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 47), ((NI) ((*dest))), tmp_4, tmp2);
5129 		freeTemp__vmgen_550(c, tmp_4);
5130 		freeTemp__vmgen_550(c, tmp2);
5131 	}
5132 	break;
5133 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 58):
5134 	{
5135 		tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
5136 		NI64 size;
5137 		genBinaryABC__vmgen_1405(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 48));
5138 		t = skipTypes__ast_3735((*n).typ, TM__24XApAWKNvaMkcyklm8bNA_36);
5139 		size = getSize__types_3336((*c).config, t);
5140 		{
5141 			NIM_BOOL T76_;
5142 			NIM_BOOL T78_;
5143 			T76_ = (NIM_BOOL)0;
5144 			T76_ = ((*t).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 41) && (*t).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 43));
5145 			if (T76_) goto LA77_;
5146 			T78_ = (NIM_BOOL)0;
5147 			T78_ = ((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 40));
5148 			if (!(T78_)) goto LA79_;
5149 			T78_ = (size < IL64(8));
5150 			LA79_: ;
5151 			T76_ = T78_;
5152 			LA77_: ;
5153 			if (!T76_) goto LA80_;
5154 			gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 98), ((NI) ((*dest))), ((NI) ((NI64)(size * IL64(8)))), ((NI) 0));
5155 		}
5156 		goto LA74_;
5157 		LA80_: ;
5158 		{
5159 			NIM_BOOL T83_;
5160 			NIM_BOOL T85_;
5161 			T83_ = (NIM_BOOL)0;
5162 			T83_ = ((*t).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 32) && (*t).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 34));
5163 			if (T83_) goto LA84_;
5164 			T85_ = (NIM_BOOL)0;
5165 			T85_ = ((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31));
5166 			if (!(T85_)) goto LA86_;
5167 			T85_ = (size < IL64(8));
5168 			LA86_: ;
5169 			T83_ = T85_;
5170 			LA84_: ;
5171 			if (!T83_) goto LA87_;
5172 			gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 99), ((NI) ((*dest))), ((NI) ((NI64)(size * IL64(8)))), ((NI) 0));
5173 		}
5174 		goto LA74_;
5175 		LA87_: ;
5176 		LA74_: ;
5177 	}
5178 	break;
5179 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 59):
5180 	{
5181 		genBinaryABC__vmgen_1405(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 49));
5182 	}
5183 	break;
5184 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 60):
5185 	{
5186 		genBinaryABC__vmgen_1405(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 50));
5187 	}
5188 	break;
5189 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 61):
5190 	{
5191 		genBinaryABC__vmgen_1405(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 51));
5192 	}
5193 	break;
5194 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 62):
5195 	{
5196 		genBinaryABC__vmgen_1405(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 52));
5197 	}
5198 	break;
5199 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 65):
5200 	{
5201 		genBinaryABCnarrowU__vmgen_1476(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 53));
5202 	}
5203 	break;
5204 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 66):
5205 	{
5206 		genBinaryABCnarrowU__vmgen_1476(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 54));
5207 	}
5208 	break;
5209 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 67):
5210 	{
5211 		genBinaryABCnarrowU__vmgen_1476(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 55));
5212 	}
5213 	break;
5214 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 68):
5215 	{
5216 		genBinaryABCnarrowU__vmgen_1476(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 56));
5217 	}
5218 	break;
5219 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 69):
5220 	{
5221 		genBinaryABCnarrowU__vmgen_1476(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 57));
5222 	}
5223 	break;
5224 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 70):
5225 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 84):
5226 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 78):
5227 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 81):
5228 	{
5229 		genBinaryABC__vmgen_1405(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 58));
5230 	}
5231 	break;
5232 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 71):
5233 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 79):
5234 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 82):
5235 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 85):
5236 	{
5237 		genBinaryABC__vmgen_1405(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 59));
5238 	}
5239 	break;
5240 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 72):
5241 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 80):
5242 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 83):
5243 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 86):
5244 	{
5245 		genBinaryABC__vmgen_1405(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 60));
5246 	}
5247 	break;
5248 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 73):
5249 	{
5250 		genBinaryABC__vmgen_1405(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 61));
5251 	}
5252 	break;
5253 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 74):
5254 	{
5255 		genBinaryABC__vmgen_1405(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 62));
5256 	}
5257 	break;
5258 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 75):
5259 	{
5260 		genBinaryABC__vmgen_1405(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 63));
5261 	}
5262 	break;
5263 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 88):
5264 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 76):
5265 	{
5266 		genBinaryABC__vmgen_1405(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 64));
5267 	}
5268 	break;
5269 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 89):
5270 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 77):
5271 	{
5272 		genBinaryABC__vmgen_1405(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 65));
5273 	}
5274 	break;
5275 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 92):
5276 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 87):
5277 	{
5278 		genBinaryABC__vmgen_1405(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 66));
5279 	}
5280 	break;
5281 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 90):
5282 	{
5283 		genBinaryABC__vmgen_1405(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 69));
5284 	}
5285 	break;
5286 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 96):
5287 	{
5288 		genUnaryABC__vmgen_1390(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 70));
5289 	}
5290 	break;
5291 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 93):
5292 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 94):
5293 	{
5294 		genUnaryABC__vmgen_1390(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 71));
5295 		genNarrow__vmgen_1427(c, n, (*dest));
5296 	}
5297 	break;
5298 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 100):
5299 	{
5300 		genUnaryABC__vmgen_1390(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 72));
5301 	}
5302 	break;
5303 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 97):
5304 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 99):
5305 	{
5306 		gen__vmgen_687(c, (*n)._kind_6.sons->data[((NI) 1)], dest, 0);
5307 	}
5308 	break;
5309 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 98):
5310 	{
5311 		tyObject_TType__facALICuu8zUj0hjvbTLFg* t_2;
5312 		NI64 size_2;
5313 		genUnaryABC__vmgen_1390(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 73));
5314 		t_2 = skipTypes__ast_3735((*n).typ, TM__24XApAWKNvaMkcyklm8bNA_36);
5315 		size_2 = getSize__types_3336((*c).config, t_2);
5316 		{
5317 			NIM_BOOL T115_;
5318 			NIM_BOOL T117_;
5319 			T115_ = (NIM_BOOL)0;
5320 			T115_ = ((*t_2).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 41) && (*t_2).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 43));
5321 			if (T115_) goto LA116_;
5322 			T117_ = (NIM_BOOL)0;
5323 			T117_ = ((*t_2).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 40));
5324 			if (!(T117_)) goto LA118_;
5325 			T117_ = (size_2 < IL64(8));
5326 			LA118_: ;
5327 			T115_ = T117_;
5328 			LA116_: ;
5329 			if (!T115_) goto LA119_;
5330 			gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 98), ((NI) ((*dest))), ((NI) ((NI64)(size_2 * IL64(8)))), ((NI) 0));
5331 		}
5332 		LA119_: ;
5333 	}
5334 	break;
5335 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 101):
5336 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 102):
5337 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 103):
5338 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 104):
5339 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 105):
5340 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 106):
5341 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 107):
5342 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 108):
5343 	{
5344 		genConv__vmgen_1602(c, n, (*n)._kind_6.sons->data[((NI) 1)], dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 93));
5345 	}
5346 	break;
5347 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 116):
5348 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 91):
5349 	{
5350 		genBinaryABC__vmgen_1405(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 74));
5351 	}
5352 	break;
5353 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 117):
5354 	{
5355 		genBinaryABC__vmgen_1405(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 75));
5356 	}
5357 	break;
5358 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 118):
5359 	{
5360 		genBinaryABC__vmgen_1405(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 76));
5361 	}
5362 	break;
5363 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 119):
5364 	{
5365 		genBinarySet__vmgen_1494(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 77));
5366 	}
5367 	break;
5368 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 120):
5369 	{
5370 		genBinarySet__vmgen_1494(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 78));
5371 	}
5372 	break;
5373 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 121):
5374 	{
5375 		genBinarySet__vmgen_1494(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 79));
5376 	}
5377 	break;
5378 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 122):
5379 	{
5380 		genBinarySet__vmgen_1494(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 80));
5381 	}
5382 	break;
5383 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 123):
5384 	{
5385 		genBinarySet__vmgen_1494(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 81));
5386 	}
5387 	break;
5388 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 124):
5389 	{
5390 		genBinarySet__vmgen_1494(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 82));
5391 	}
5392 	break;
5393 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 125):
5394 	{
5395 		genVarargsABC__vmgen_1533(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 83));
5396 	}
5397 	break;
5398 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 134):
5399 	{
5400 		genBinarySet__vmgen_1494(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 84));
5401 	}
5402 	break;
5403 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 135):
5404 	{
5405 		genUnaryABC__vmgen_1390(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 85));
5406 	}
5407 	break;
5408 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 136):
5409 	{
5410 		NI tmp_5;
5411 		unused__vmgen_1026(c, n, (*dest));
5412 		tmp_5 = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 1)], 0);
5413 		gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 95), tmp_5, ((NI) 0), ((NI) 0));
5414 		freeTemp__vmgen_550(c, tmp_5);
5415 	}
5416 	break;
5417 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 137):
5418 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 138):
5419 	{
5420 		NI d_3;
5421 		NI tmp_6;
5422 		tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ T136_;
5423 		unused__vmgen_1026(c, n, (*dest));
5424 		d_3 = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 1)], 0);
5425 		tmp_6 = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 2)], 0);
5426 		T136_ = (tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ)0;
5427 		{
5428 			if (!(m == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 137))) goto LA139_;
5429 			T136_ = ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 86);
5430 		}
5431 		goto LA137_;
5432 		LA139_: ;
5433 		{
5434 			T136_ = ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 87);
5435 		}
5436 		LA137_: ;
5437 		gABC__vmgen_312(c, n, T136_, d_3, tmp_6, ((NI) 0));
5438 		genAsgnPatch__vmgen_1321(c, (*n)._kind_6.sons->data[((NI) 1)], d_3);
5439 		freeTemp__vmgen_550(c, tmp_6);
5440 		freeTemp__vmgen_550(c, d_3);
5441 	}
5442 	break;
5443 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 142):
5444 	{
5445 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T143_;
5446 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T151_;
5447 		unused__vmgen_1026(c, n, (*dest));
5448 		T143_ = NIM_NIL;
5449 		{
5450 			NIM_BOOL T146_;
5451 			T146_ = (NIM_BOOL)0;
5452 			T146_ = ((*c).prc == ((tyObject_PProccolonObjectType___VFEBuxrDHC6kHPzc1TWaRQ*) NIM_NIL));
5453 			if (T146_) goto LA147_;
5454 			T146_ = ((*(*c).prc).sym == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
5455 			LA147_: ;
5456 			if (!T146_) goto LA148_;
5457 			T143_ = (*c).module;
5458 		}
5459 		goto LA144_;
5460 		LA148_: ;
5461 		{
5462 			T143_ = (*(*c).prc).sym;
5463 		}
5464 		LA144_: ;
5465 		T151_ = NIM_NIL;
5466 		T151_ = lowerSwap__lowerings_246((*c).graph, n, (*c).Sup.idgen, T143_);
5467 		gen__vmgen_707(c, T151_, 0);
5468 	}
5469 	break;
5470 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 143):
5471 	{
5472 		genUnaryABC__vmgen_1390(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 88));
5473 	}
5474 	break;
5475 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 147):
5476 	{
5477 		NI d2;
5478 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* d2AsNode;
5479 		NI tmp1;
5480 		NI tmp3;
5481 		{
5482 			NI T158_;
5483 			if (!(((NI) ((*dest))) < ((NI) 0))) goto LA156_;
5484 			T158_ = (NI)0;
5485 			T158_ = getTemp__vmgen_541(c, (*n).typ);
5486 			(*dest) = ((NI) (T158_));
5487 		}
5488 		LA156_: ;
5489 		d2 = (NI)0;
5490 		d2AsNode = (*(*n)._kind_6.sons->data[((NI) 2)])._kind_6.sons->data[((NI) 0)];
5491 		{
5492 			NIM_BOOL T161_;
5493 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T164_;
5494 			T161_ = (NIM_BOOL)0;
5495 			T161_ = needsAsgnPatch__vmgen_1269(d2AsNode);
5496 			if (!T161_) goto LA162_;
5497 			T164_ = NIM_NIL;
5498 			T164_ = getSysType__magicsys_60((*c).graph, (*n).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 36));
5499 			d2 = getTemp__vmgen_541(c, T164_);
5500 		}
5501 		goto LA159_;
5502 		LA162_: ;
5503 		{
5504 			d2 = genx__vmgen_712(c, d2AsNode, 0);
5505 		}
5506 		LA159_: ;
5507 		tmp1 = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 1)], 0);
5508 		tmp3 = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 3)], 0);
5509 		gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 92), ((NI) ((*dest))), tmp1, d2);
5510 		gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 92), tmp3, ((NI) 0), ((NI) 0));
5511 		freeTemp__vmgen_550(c, tmp1);
5512 		freeTemp__vmgen_550(c, tmp3);
5513 		genAsgnPatch__vmgen_1321(c, d2AsNode, d2);
5514 		freeTemp__vmgen_550(c, d2);
5515 	}
5516 	break;
5517 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 158):
5518 	{
5519 		NI d_4;
5520 		NI T167_;
5521 		unused__vmgen_1026(c, n, (*dest));
5522 		d_4 = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 1)], 0);
5523 		T167_ = (NI)0;
5524 		T167_ = genType__vmgen_1088(c, (*(*n)._kind_6.sons->data[((NI) 1)]).typ);
5525 		gABx__vmgen_375(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 172), d_4, T167_);
5526 		gABx__vmgen_375(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 15), d_4, ((NI) (d_4)));
5527 		genAsgnPatch__vmgen_1321(c, (*n)._kind_6.sons->data[((NI) 1)], d_4);
5528 	}
5529 	break;
5530 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 152):
5531 	{
5532 		tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ T174_;
5533 		NI T175_;
5534 		{
5535 			NI T173_;
5536 			if (!(((NI) ((*dest))) < ((NI) 0))) goto LA171_;
5537 			T173_ = (NI)0;
5538 			T173_ = getTemp__vmgen_541(c, (*n).typ);
5539 			(*dest) = ((NI) (T173_));
5540 		}
5541 		LA171_: ;
5542 		T174_ = (tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ)0;
5543 		T174_ = ldNullOpcode__vmgen_1836((*n).typ);
5544 		T175_ = (NI)0;
5545 		T175_ = genType__vmgen_1088(c, (*n).typ);
5546 		gABx__vmgen_375(c, n, T174_, ((NI) ((*dest))), T175_);
5547 	}
5548 	break;
5549 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 15):
5550 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 14):
5551 	{
5552 		NI tmp_7;
5553 		NI idx;
5554 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T182_;
5555 		tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
5556 		NI T187_;
5557 		tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ T188_;
5558 		{
5559 			NI T181_;
5560 			if (!(((NI) ((*dest))) < ((NI) 0))) goto LA179_;
5561 			T181_ = (NI)0;
5562 			T181_ = getTemp__vmgen_541(c, (*n).typ);
5563 			(*dest) = ((NI) (T181_));
5564 		}
5565 		LA179_: ;
5566 		tmp_7 = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 1)], 0);
5567 		T182_ = NIM_NIL;
5568 		T182_ = getSysType__magicsys_60((*c).graph, (*n).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31));
5569 		idx = getTemp__vmgen_541(c, T182_);
5570 		typ = (*(*n)._kind_6.sons->data[((NI) 2)]).typ;
5571 		{
5572 			if (!(m == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 15))) goto LA185_;
5573 			typ = skipTypes__ast_3735(typ, TM__24XApAWKNvaMkcyklm8bNA_55);
5574 		}
5575 		LA185_: ;
5576 		T187_ = (NI)0;
5577 		T187_ = genType__vmgen_1088(c, typ);
5578 		gABx__vmgen_375(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 180), idx, T187_);
5579 		T188_ = (tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ)0;
5580 		{
5581 			if (!(m == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 15))) goto LA191_;
5582 			T188_ = ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 89);
5583 		}
5584 		goto LA189_;
5585 		LA191_: ;
5586 		{
5587 			T188_ = ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 90);
5588 		}
5589 		LA189_: ;
5590 		gABC__vmgen_312(c, n, T188_, ((NI) ((*dest))), tmp_7, idx);
5591 		freeTemp__vmgen_550(c, tmp_7);
5592 		freeTemp__vmgen_550(c, idx);
5593 	}
5594 	break;
5595 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 9):
5596 	{
5597 		NI tmp_8;
5598 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T200_;
5599 		{
5600 			NI T199_;
5601 			if (!(((NI) ((*dest))) < ((NI) 0))) goto LA197_;
5602 			T199_ = (NI)0;
5603 			T199_ = getTemp__vmgen_541(c, (*n).typ);
5604 			(*dest) = ((NI) (T199_));
5605 		}
5606 		LA197_: ;
5607 		tmp_8 = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 1)], 0);
5608 		T200_ = NIM_NIL;
5609 		T200_ = skipTypes__ast_3735((*(*n)._kind_6.sons->data[((NI) 1)]).typ, TM__24XApAWKNvaMkcyklm8bNA_36);
5610 		switch ((*T200_).kind) {
5611 		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 28):
5612 		{
5613 			gABI__vmgen_347(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 34), ((NI) ((*dest))), tmp_8, IL64(1));
5614 		}
5615 		break;
5616 		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 29):
5617 		{
5618 			gABI__vmgen_347(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 35), ((NI) ((*dest))), tmp_8, IL64(1));
5619 		}
5620 		break;
5621 		default:
5622 		{
5623 			gABI__vmgen_347(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 33), ((NI) ((*dest))), tmp_8, IL64(1));
5624 		}
5625 		break;
5626 		}
5627 		freeTemp__vmgen_550(c, tmp_8);
5628 	}
5629 	break;
5630 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 20):
5631 	{
5632 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n_2;
5633 		unused__vmgen_1026(c, n, (*dest));
5634 		n_2 = skipConv__types_3597((*n)._kind_6.sons->data[((NI) 1)]);
5635 		{
5636 			NI x;
5637 			NI T209_;
5638 			NI T213_;
5639 			NI T214_;
5640 			if (!((*n_2).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 41))) goto LA207_;
5641 			T209_ = (NI)0;
5642 			T209_ = len__ast_3198(n_2);
5643 			x = getTempRange__vmgen_559(c, T209_, ((tyEnum_TSlotKind__QOyrDzzey9cf6gDtSRPuZMQ) 3));
5644 			{
5645 				NI i;
5646 				NI colontmp_;
5647 				NI i_2;
5648 				i = (NI)0;
5649 				colontmp_ = (NI)0;
5650 				colontmp_ = len__ast_3198(n_2);
5651 				i_2 = ((NI) 0);
5652 				{
5653 					while (1) {
5654 						NI r;
5655 						if (!(i_2 < colontmp_)) goto LA212;
5656 						i = i_2;
5657 						r = ((NI) ((NI)(((NI) (x)) + i)));
5658 						gen__vmgen_692(c, (*n_2)._kind_6.sons->data[i], r, 0);
5659 						i_2 += ((NI) 1);
5660 					} LA212: ;
5661 				}
5662 			}
5663 			T213_ = (NI)0;
5664 			T213_ = len__ast_3198(n_2);
5665 			gABC__vmgen_312(c, n_2, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 153), x, ((NI) (T213_)), ((NI) 0));
5666 			T214_ = (NI)0;
5667 			T214_ = len__ast_3198(n_2);
5668 			freeTempRange__vmgen_626(c, x, T214_);
5669 		}
5670 		LA207_: ;
5671 	}
5672 	break;
5673 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 131):
5674 	{
5675 		unused__vmgen_1026(c, n, (*dest));
5676 		genBinaryStmtVar__vmgen_1513(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 100));
5677 	}
5678 	break;
5679 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 132):
5680 	{
5681 		unused__vmgen_1026(c, n, (*dest));
5682 		genBinaryStmtVar__vmgen_1513(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 101));
5683 	}
5684 	break;
5685 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 133):
5686 	{
5687 		unused__vmgen_1026(c, n, (*dest));
5688 		genBinaryStmtVar__vmgen_1513(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 102));
5689 	}
5690 	break;
5691 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 25):
5692 	{
5693 		genUnaryABC__vmgen_1390(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 141));
5694 	}
5695 	break;
5696 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 26):
5697 	{
5698 		genUnaryABC__vmgen_1390(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 142));
5699 	}
5700 	break;
5701 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 13):
5702 	{
5703 		NI tmp_9;
5704 		NI T226_;
5705 		tmp_9 = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 1)], 0);
5706 		{
5707 			NI T225_;
5708 			if (!(((NI) ((*dest))) < ((NI) 0))) goto LA223_;
5709 			T225_ = (NI)0;
5710 			T225_ = getTemp__vmgen_541(c, (*n).typ);
5711 			(*dest) = ((NI) (T225_));
5712 		}
5713 		LA223_: ;
5714 		T226_ = (NI)0;
5715 		T226_ = genType__vmgen_1088(c, (*(*n)._kind_6.sons->data[((NI) 1)]).typ);
5716 		gABx__vmgen_375(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 183), tmp_9, T226_);
5717 		gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 184), ((NI) ((*dest))), tmp_9, ((NI) 0));
5718 		freeTemp__vmgen_550(c, tmp_9);
5719 	}
5720 	break;
5721 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 22):
5722 	{
5723 		genUnaryABC__vmgen_1390(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 139));
5724 	}
5725 	break;
5726 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 23):
5727 	{
5728 		genBinaryABCD__vmgen_1414(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 140));
5729 	}
5730 	break;
5731 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 212):
5732 	{
5733 		genUnaryABI__vmgen_1397(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 33), IL64(16));
5734 	}
5735 	break;
5736 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 255):
5737 	{
5738 		genUnaryABC__vmgen_1390(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 151));
5739 	}
5740 	break;
5741 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 272):
5742 	{
5743 		genUnaryABC__vmgen_1390(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 152));
5744 	}
5745 	break;
5746 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 270):
5747 	{
5748 		genUnaryABC__vmgen_1390(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 187));
5749 	}
5750 	break;
5751 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 273):
5752 	{
5753 		genBinaryABC__vmgen_1405(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 188));
5754 	}
5755 	break;
5756 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 213):
5757 	{
5758 		genBinaryABC__vmgen_1405(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 157));
5759 	}
5760 	break;
5761 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 214):
5762 	{
5763 		genVoidABC__vmgen_1749(c, n, (*dest), ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 158));
5764 	}
5765 	break;
5766 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 217):
5767 	{
5768 		genVoidABC__vmgen_1749(c, n, (*dest), ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 125));
5769 	}
5770 	break;
5771 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 215):
5772 	{
5773 		genBinaryABC__vmgen_1405(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 104));
5774 	}
5775 	break;
5776 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 216):
5777 	{
5778 		genBinaryABC__vmgen_1405(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 105));
5779 	}
5780 	break;
5781 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 218):
5782 	{
5783 		genUnaryABC__vmgen_1390(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 106));
5784 	}
5785 	break;
5786 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 219):
5787 	{
5788 		genUnaryABC__vmgen_1390(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 107));
5789 	}
5790 	break;
5791 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 220):
5792 	{
5793 		genUnaryABC__vmgen_1390(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 127));
5794 	}
5795 	break;
5796 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 221):
5797 	{
5798 		genBinaryABC__vmgen_1405(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 128));
5799 	}
5800 	break;
5801 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 222):
5802 	{
5803 		genBinaryABC__vmgen_1405(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 129));
5804 	}
5805 	break;
5806 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 223):
5807 	{
5808 		genBinaryABC__vmgen_1405(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 130));
5809 	}
5810 	break;
5811 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 224):
5812 	{
5813 		genUnaryABC__vmgen_1390(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 131));
5814 	}
5815 	break;
5816 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 225):
5817 	{
5818 		genBinaryABC__vmgen_1405(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 132));
5819 	}
5820 	break;
5821 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 226):
5822 	{
5823 		genVoidABC__vmgen_1749(c, n, (*dest), ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 133));
5824 	}
5825 	break;
5826 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 227):
5827 	{
5828 		genUnaryABC__vmgen_1390(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 134));
5829 	}
5830 	break;
5831 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 228):
5832 	{
5833 		genBinaryABC__vmgen_1405(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 135));
5834 	}
5835 	break;
5836 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 229):
5837 	{
5838 		genBinaryABC__vmgen_1405(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 136));
5839 	}
5840 	break;
5841 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 230):
5842 	{
5843 		genBinaryABC__vmgen_1405(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 137));
5844 	}
5845 	break;
5846 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 231):
5847 	{
5848 		genUnaryABC__vmgen_1390(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 108));
5849 	}
5850 	break;
5851 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 232):
5852 	{
5853 		genUnaryABC__vmgen_1390(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 109));
5854 	}
5855 	break;
5856 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 233):
5857 	{
5858 		genUnaryABC__vmgen_1390(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 110));
5859 	}
5860 	break;
5861 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 234):
5862 	{
5863 		genUnaryABC__vmgen_1390(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 111));
5864 	}
5865 	break;
5866 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 235):
5867 	{
5868 		NI tmp_10;
5869 		NI rc;
5870 		tmp_10 = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 1)], 0);
5871 		{
5872 			NI T261_;
5873 			if (!(((NI) ((*dest))) < ((NI) 0))) goto LA259_;
5874 			T261_ = (NI)0;
5875 			T261_ = getTemp__vmgen_541(c, (*n).typ);
5876 			(*dest) = ((NI) (T261_));
5877 		}
5878 		LA259_: ;
5879 		if (eqStrings((*(*(*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym).name).s, ((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_56))) goto LA262_;
5880 		if (eqStrings((*(*(*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym).name).s, ((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_57))) goto LA263_;
5881 		if (eqStrings((*(*(*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym).name).s, ((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_58))) goto LA264_;
5882 		goto LA265_;
5883 		LA262_: ;
5884 		{
5885 			rc = ((NI) 0);
5886 		}
5887 		goto LA266_;
5888 		LA263_: ;
5889 		{
5890 			rc = ((NI) 1);
5891 		}
5892 		goto LA266_;
5893 		LA264_: ;
5894 		{
5895 			rc = ((NI) 2);
5896 		}
5897 		goto LA266_;
5898 		LA265_: ;
5899 		{
5900 			rc = ((NI) 3);
5901 		}
5902 		LA266_: ;
5903 		gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 112), ((NI) ((*dest))), tmp_10, ((NI) (rc)));
5904 		freeTemp__vmgen_550(c, tmp_10);
5905 	}
5906 	break;
5907 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 249):
5908 	{
5909 		NI imm;
5910 		if (eqStrings((*(*(*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym).name).s, ((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_59))) goto LA272_;
5911 		if (eqStrings((*(*(*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym).name).s, ((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_60))) goto LA273_;
5912 		goto LA274_;
5913 		LA272_: ;
5914 		{
5915 			imm = ((NI) 0);
5916 		}
5917 		goto LA275_;
5918 		LA273_: ;
5919 		{
5920 			imm = ((NI) 1);
5921 		}
5922 		goto LA275_;
5923 		LA274_: ;
5924 		{
5925 			imm = ((NI) 2);
5926 		}
5927 		LA275_: ;
5928 		genUnaryABI__vmgen_1397(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 115), ((NI64) (imm)));
5929 	}
5930 	break;
5931 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 236):
5932 	{
5933 		genUnaryABC__vmgen_1390(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 113));
5934 	}
5935 	break;
5936 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 248):
5937 	{
5938 		genUnaryABC__vmgen_1390(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 114));
5939 	}
5940 	break;
5941 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 237):
5942 	{
5943 		unused__vmgen_1026(c, n, (*dest));
5944 		genBinaryStmt__vmgen_1505(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 116));
5945 	}
5946 	break;
5947 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 238):
5948 	{
5949 		unused__vmgen_1026(c, n, (*dest));
5950 		genBinaryStmt__vmgen_1505(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 117));
5951 	}
5952 	break;
5953 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 239):
5954 	{
5955 		unused__vmgen_1026(c, n, (*dest));
5956 		genBinaryStmt__vmgen_1505(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 118));
5957 	}
5958 	break;
5959 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 240):
5960 	{
5961 		unused__vmgen_1026(c, n, (*dest));
5962 		genBinaryStmt__vmgen_1505(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 119));
5963 	}
5964 	break;
5965 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 241):
5966 	{
5967 		unused__vmgen_1026(c, n, (*dest));
5968 		genBinaryStmt__vmgen_1505(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 120));
5969 	}
5970 	break;
5971 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 242):
5972 	{
5973 		unused__vmgen_1026(c, n, (*dest));
5974 		genBinaryStmt__vmgen_1505(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 121));
5975 	}
5976 	break;
5977 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 244):
5978 	{
5979 		genBinaryABC__vmgen_1405(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 122));
5980 	}
5981 	break;
5982 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 245):
5983 	{
5984 		genUnaryABC__vmgen_1390(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 123));
5985 	}
5986 	break;
5987 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 246):
5988 	{
5989 		genUnaryABC__vmgen_1390(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 124));
5990 	}
5991 	break;
5992 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 250):
5993 	{
5994 		genBindSym__vmgen_1760(c, n, dest);
5995 	}
5996 	break;
5997 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 247):
5998 	{
5999 		genUnaryABC__vmgen_1390(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 150));
6000 	}
6001 	break;
6002 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 252):
6003 	{
6004 		genBinaryABC__vmgen_1405(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 149));
6005 	}
6006 	break;
6007 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 253):
6008 	{
6009 		genBinaryABC__vmgen_1405(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 67));
6010 	}
6011 	break;
6012 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 254):
6013 	{
6014 		genBinaryABC__vmgen_1405(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 68));
6015 	}
6016 	break;
6017 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 243):
6018 	{
6019 		if (eqStrings((*(*(*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym).name).s, ((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_63))) goto LA296_;
6020 		if (eqStrings((*(*(*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym).name).s, ((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_64))) goto LA297_;
6021 		if (eqStrings((*(*(*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym).name).s, ((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_65))) goto LA298_;
6022 		if (eqStrings((*(*(*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym).name).s, ((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_66))) goto LA299_;
6023 		goto LA300_;
6024 		LA296_: ;
6025 		{
6026 			genUnaryABI__vmgen_1397(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 147), IL64(0));
6027 		}
6028 		goto LA301_;
6029 		LA297_: ;
6030 		{
6031 			genUnaryABI__vmgen_1397(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 147), IL64(1));
6032 		}
6033 		goto LA301_;
6034 		LA298_: ;
6035 		{
6036 			genUnaryABI__vmgen_1397(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 147), IL64(2));
6037 		}
6038 		goto LA301_;
6039 		LA299_: ;
6040 		{
6041 			{
6042 				NI T308_;
6043 				NimStringDesc* argX60gensym324_;
6044 				T308_ = (NI)0;
6045 				T308_ = len__ast_3198(n);
6046 				if (!!((T308_ == ((NI) 3)))) goto LA309_;
6047 				argX60gensym324_ = toFileLineCol__msgs_615(TM__24XApAWKNvaMkcyklm8bNA_67);
6048 				internalErrorImpl__msgs_1431((*c).config, unknownLineInfo__lineinfos_280, argX60gensym324_, TM__24XApAWKNvaMkcyklm8bNA_67);
6049 			}
6050 			LA309_: ;
6051 			unused__vmgen_1026(c, n, (*dest));
6052 			genBinaryStmt__vmgen_1505(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 148));
6053 		}
6054 		goto LA301_;
6055 		LA300_: ;
6056 		{
6057 			{
6058 				NimStringDesc* argX60gensym326_;
6059 				if (!NIM_TRUE) goto LA314_;
6060 				argX60gensym326_ = toFileLineCol__msgs_615(TM__24XApAWKNvaMkcyklm8bNA_68);
6061 				internalErrorImpl__msgs_1431((*c).config, unknownLineInfo__lineinfos_280, argX60gensym326_, TM__24XApAWKNvaMkcyklm8bNA_68);
6062 			}
6063 			LA314_: ;
6064 		}
6065 		LA301_: ;
6066 	}
6067 	break;
6068 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 257):
6069 	{
6070 		unused__vmgen_1026(c, n, (*dest));
6071 		genBinaryStmt__vmgen_1505(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 146));
6072 	}
6073 	break;
6074 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 258):
6075 	{
6076 		unused__vmgen_1026(c, n, (*dest));
6077 		genBinaryStmt__vmgen_1505(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 145));
6078 	}
6079 	break;
6080 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 259):
6081 	{
6082 		{
6083 			NI T321_;
6084 			T321_ = (NI)0;
6085 			T321_ = len__ast_3198(n);
6086 			if (!(T321_ <= ((NI) 1))) goto LA322_;
6087 			gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 143), ((NI) ((*dest))), ((NI) 0), ((NI) 0));
6088 		}
6089 		goto LA319_;
6090 		LA322_: ;
6091 		{
6092 			unused__vmgen_1026(c, n, (*dest));
6093 			genBinaryStmt__vmgen_1505(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 144));
6094 		}
6095 		LA319_: ;
6096 	}
6097 	break;
6098 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 251):
6099 	{
6100 		{
6101 			NI T330_;
6102 			if (!(((NI) ((*dest))) < ((NI) 0))) goto LA328_;
6103 			T330_ = (NI)0;
6104 			T330_ = getTemp__vmgen_541(c, (*n).typ);
6105 			(*dest) = ((NI) (T330_));
6106 		}
6107 		LA328_: ;
6108 		gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 159), ((NI) ((*dest))), ((NI) 0), ((NI) 0));
6109 	}
6110 	break;
6111 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 256):
6112 	{
6113 		genBinaryABC__vmgen_1405(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 126));
6114 	}
6115 	break;
6116 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 63):
6117 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 64):
6118 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 95):
6119 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 127):
6120 	{
6121 		genCall__vmgen_1204(c, n, dest);
6122 	}
6123 	break;
6124 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 27):
6125 	{
6126 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* arg;
6127 		{
6128 			NI T336_;
6129 			T336_ = (NI)0;
6130 			T336_ = len__ast_3198(n);
6131 			if (!!((T336_ == ((NI) 2)))) goto LA337_;
6132 			liMessage__msgs_1118((*c).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_69), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 2), TM__24XApAWKNvaMkcyklm8bNA_70, NIM_FALSE);
6133 		}
6134 		LA337_: ;
6135 		arg = (*n)._kind_6.sons->data[((NI) 1)];
6136 		{
6137 			if (!((*arg).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27) || (*arg).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 29) || (*arg).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 30) || (*arg).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 31) || (*arg).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 26) || (*arg).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 28) || (*arg).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 32))) goto LA341_;
6138 			{
6139 				NI T347_;
6140 				if (!(((NI) ((*dest))) < ((NI) 0))) goto LA345_;
6141 				T347_ = (NI)0;
6142 				T347_ = getTemp__vmgen_541(c, (*n).typ);
6143 				(*dest) = ((NI) (T347_));
6144 			}
6145 			LA345_: ;
6146 			genCall__vmgen_1204(c, arg, dest);
6147 		}
6148 		goto LA339_;
6149 		LA341_: ;
6150 		{
6151 			liMessage__msgs_1118((*c).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_71), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 2), TM__24XApAWKNvaMkcyklm8bNA_72, NIM_FALSE);
6152 		}
6153 		LA339_: ;
6154 	}
6155 	break;
6156 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 10):
6157 	{
6158 		NimStringDesc* T350_;
6159 		T350_ = NIM_NIL;
6160 		T350_ = nsuFormatOpenArray(((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_73), TM__24XApAWKNvaMkcyklm8bNA_74, 1);
6161 		liMessage__msgs_1118((*c).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T350_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 2), TM__24XApAWKNvaMkcyklm8bNA_76, NIM_FALSE);
6162 	}
6163 	break;
6164 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 11):
6165 	{
6166 		NimStringDesc* T352_;
6167 		T352_ = NIM_NIL;
6168 		T352_ = nsuFormatOpenArray(((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_73), TM__24XApAWKNvaMkcyklm8bNA_77, 1);
6169 		liMessage__msgs_1118((*c).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T352_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 2), TM__24XApAWKNvaMkcyklm8bNA_79, NIM_FALSE);
6170 	}
6171 	break;
6172 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 12):
6173 	{
6174 		NimStringDesc* T354_;
6175 		T354_ = NIM_NIL;
6176 		T354_ = nsuFormatOpenArray(((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_73), TM__24XApAWKNvaMkcyklm8bNA_80, 1);
6177 		liMessage__msgs_1118((*c).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T354_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 2), TM__24XApAWKNvaMkcyklm8bNA_82, NIM_FALSE);
6178 	}
6179 	break;
6180 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 267):
6181 	{
6182 	}
6183 	break;
6184 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 150):
6185 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 151):
6186 	{
6187 	}
6188 	break;
6189 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 148):
6190 	{
6191 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* arg_2;
6192 		NI a;
6193 		tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ T363_;
6194 		arg_2 = (*n)._kind_6.sons->data[((NI) 1)];
6195 		a = genx__vmgen_712(c, arg_2, 0);
6196 		{
6197 			NI T362_;
6198 			if (!(((NI) ((*dest))) < ((NI) 0))) goto LA360_;
6199 			T362_ = (NI)0;
6200 			T362_ = getTemp__vmgen_541(c, (*arg_2).typ);
6201 			(*dest) = ((NI) (T362_));
6202 		}
6203 		LA360_: ;
6204 		T363_ = (tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ)0;
6205 		T363_ = whichAsgnOpc__vmgen_1846(arg_2, NIM_FALSE);
6206 		gABC__vmgen_312(c, arg_2, T363_, ((NI) ((*dest))), a, ((NI) 0));
6207 		freeTemp__vmgen_550(c, a);
6208 	}
6209 	break;
6210 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 274):
6211 	{
6212 		genUnaryABC__vmgen_1390(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 138));
6213 	}
6214 	break;
6215 	default:
6216 	{
6217 		NimStringDesc* T366_;
6218 		T366_ = NIM_NIL;
6219 		T366_ = rawNewString((reprEnum((NI)m, (&NTItmagic__shZhZOdbVC5nnFvcXQAImg_)) ? reprEnum((NI)m, (&NTItmagic__shZhZOdbVC5nnFvcXQAImg_))->Sup.len : 0) + 26);
6220 appendString(T366_, ((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_30));
6221 appendString(T366_, reprEnum((NI)m, (&NTItmagic__shZhZOdbVC5nnFvcXQAImg_)));
6222 		liMessage__msgs_1118((*c).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T366_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 2), TM__24XApAWKNvaMkcyklm8bNA_83, NIM_FALSE);
6223 	}
6224 	break;
6225 	}
6226 }
N_NIMCALL(void,genMarshalLoad__vmgen_2071)6227 N_LIB_PRIVATE N_NIMCALL(void, genMarshalLoad__vmgen_2071)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest) {
6228 	NI tmp;
6229 	NI T6_;
6230 	{
6231 		NI T5_;
6232 		if (!(((NI) ((*dest))) < ((NI) 0))) goto LA3_;
6233 		T5_ = (NI)0;
6234 		T5_ = getTemp__vmgen_541(c, (*n).typ);
6235 		(*dest) = ((NI) (T5_));
6236 	}
6237 	LA3_: ;
6238 	tmp = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 1)], 0);
6239 	gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 185), ((NI) ((*dest))), tmp, ((NI) 0));
6240 	T6_ = (NI)0;
6241 	T6_ = genType__vmgen_1088(c, (*n).typ);
6242 	gABx__vmgen_375(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 185), ((NI) 0), T6_);
6243 	freeTemp__vmgen_550(c, tmp);
6244 }
N_NIMCALL(void,genMarshalStore__vmgen_2077)6245 N_LIB_PRIVATE N_NIMCALL(void, genMarshalStore__vmgen_2077)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest) {
6246 	NI tmp;
6247 	NI T6_;
6248 	{
6249 		NI T5_;
6250 		if (!(((NI) ((*dest))) < ((NI) 0))) goto LA3_;
6251 		T5_ = (NI)0;
6252 		T5_ = getTemp__vmgen_541(c, (*n).typ);
6253 		(*dest) = ((NI) (T5_));
6254 	}
6255 	LA3_: ;
6256 	tmp = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 1)], 0);
6257 	gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 186), ((NI) ((*dest))), tmp, ((NI) 0));
6258 	T6_ = (NI)0;
6259 	T6_ = genType__vmgen_1088(c, (*(*n)._kind_6.sons->data[((NI) 1)]).typ);
6260 	gABx__vmgen_375(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 186), ((NI) 0), T6_);
6261 	freeTemp__vmgen_550(c, tmp);
6262 }
N_INLINE(void,clearDest__vmgen_718)6263 static N_INLINE(void, clearDest__vmgen_718)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest) {
6264 	{
6265 		NIM_BOOL T3_;
6266 		NIM_BOOL T5_;
6267 		T3_ = (NIM_BOOL)0;
6268 		T3_ = (((NI) 0) <= ((NI) ((*dest))));
6269 		if (!(T3_)) goto LA4_;
6270 		T5_ = (NIM_BOOL)0;
6271 		T5_ = ((*n).typ == 0);
6272 		if (T5_) goto LA6_;
6273 		T5_ = ((*(*n).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 63));
6274 		LA6_: ;
6275 		T3_ = T5_;
6276 		LA4_: ;
6277 		if (!T3_) goto LA7_;
6278 		freeTemp__vmgen_550(c, ((NI) ((*dest))));
6279 		(*dest) = ((NI) -1);
6280 	}
6281 	LA7_: ;
6282 }
N_NIMCALL(NIM_BOOL,isInt16Lit__vmgen_1573)6283 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isInt16Lit__vmgen_1573)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
6284 	NIM_BOOL result;
6285 	result = (NIM_BOOL)0;
6286 	{
6287 		NIM_BOOL T5_;
6288 		if (!((*n).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 5) && (*n).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 15))) goto LA3_;
6289 		T5_ = (NIM_BOOL)0;
6290 		T5_ = (IL64(-32768) <= (*n)._kind_1.intVal);
6291 		if (!(T5_)) goto LA6_;
6292 		T5_ = ((*n)._kind_1.intVal <= IL64(32767));
6293 		LA6_: ;
6294 		result = T5_;
6295 	}
6296 	LA3_: ;
6297 	return result;
6298 }
N_NIMCALL(void,preventFalseAlias__vmgen_2315)6299 N_LIB_PRIVATE N_NIMCALL(void, preventFalseAlias__vmgen_2315)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opc, NI dest, NI idx, NI value) {
6300 	{
6301 		NIM_BOOL T3_;
6302 		NIM_BOOL T4_;
6303 		NIM_BOOL T6_;
6304 		T3_ = (NIM_BOOL)0;
6305 		T4_ = (NIM_BOOL)0;
6306 		T4_ = isTemp__vmgen_929(c, ((NI) (dest)));
6307 		T3_ = !(T4_);
6308 		if (!(T3_)) goto LA5_;
6309 		T6_ = (NIM_BOOL)0;
6310 		T6_ = fitsRegister__vmgen_1814((*n).typ);
6311 		T3_ = !(T6_);
6312 		LA5_: ;
6313 		if (!T3_) goto LA7_;
6314 		genAdditionalCopy__vmgen_2307(c, n, opc, dest, idx, value);
6315 	}
6316 	goto LA1_;
6317 	LA7_: ;
6318 	{
6319 		gABC__vmgen_312(c, n, opc, dest, idx, value);
6320 	}
6321 	LA1_: ;
6322 }
N_NIMCALL(void,genAsgn__vmgen_2329)6323 N_LIB_PRIVATE N_NIMCALL(void, genAsgn__vmgen_2329)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* le, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ri, NIM_BOOL requiresCopy) {
6324 	switch ((*le).kind) {
6325 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 42):
6326 	{
6327 		NI dest;
6328 		NI idx;
6329 		NI tmp;
6330 		dest = genx__vmgen_712(c, (*le)._kind_6.sons->data[((NI) 0)], 1);
6331 		idx = genIndex__vmgen_1305(c, (*le)._kind_6.sons->data[((NI) 1)], (*(*le)._kind_6.sons->data[((NI) 0)]).typ);
6332 		tmp = genx__vmgen_712(c, ri, 0);
6333 		{
6334 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T4_;
6335 			T4_ = NIM_NIL;
6336 			T4_ = skipTypes__ast_3735((*(*le)._kind_6.sons->data[((NI) 0)]).typ, TM__24XApAWKNvaMkcyklm8bNA_89);
6337 			if (!((*T4_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 28) || (*T4_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 29))) goto LA5_;
6338 			preventFalseAlias__vmgen_2315(c, le, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 26), dest, idx, tmp);
6339 		}
6340 		goto LA2_;
6341 		LA5_: ;
6342 		{
6343 			preventFalseAlias__vmgen_2315(c, le, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 18), dest, idx, tmp);
6344 		}
6345 		LA2_: ;
6346 		freeTemp__vmgen_550(c, tmp);
6347 		freeTemp__vmgen_550(c, idx);
6348 		freeTemp__vmgen_550(c, dest);
6349 	}
6350 	break;
6351 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 46):
6352 	{
6353 		NI objR;
6354 		NI idx_2;
6355 		NI tmp_2;
6356 		objR = ((NI) -1);
6357 		genCheckedObjAccessAux__vmgen_1316(c, le, (&objR), 1);
6358 		idx_2 = genField__vmgen_1288(c, (*(*le)._kind_6.sons->data[((NI) 0)])._kind_6.sons->data[((NI) 1)]);
6359 		tmp_2 = genx__vmgen_712(c, ri, 0);
6360 		preventFalseAlias__vmgen_2315(c, (*le)._kind_6.sons->data[((NI) 0)], ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 21), ((NI) (objR)), idx_2, tmp_2);
6361 		freeTemp__vmgen_550(c, tmp_2);
6362 		freeTemp__vmgen_550(c, ((NI) (objR)));
6363 	}
6364 	break;
6365 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 45):
6366 	{
6367 		NI dest_2;
6368 		NI idx_3;
6369 		NI tmp_3;
6370 		dest_2 = genx__vmgen_712(c, (*le)._kind_6.sons->data[((NI) 0)], 1);
6371 		idx_3 = genField__vmgen_1288(c, (*le)._kind_6.sons->data[((NI) 1)]);
6372 		tmp_3 = genx__vmgen_712(c, ri, 0);
6373 		preventFalseAlias__vmgen_2315(c, le, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 21), dest_2, idx_3, tmp_3);
6374 		freeTemp__vmgen_550(c, tmp_3);
6375 		freeTemp__vmgen_550(c, dest_2);
6376 	}
6377 	break;
6378 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 47):
6379 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 65):
6380 	{
6381 		NI dest_3;
6382 		NI tmp_4;
6383 		dest_3 = genx__vmgen_712(c, (*le)._kind_6.sons->data[((NI) 0)], 1);
6384 		tmp_4 = genx__vmgen_712(c, ri, 0);
6385 		preventFalseAlias__vmgen_2315(c, le, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 25), dest_3, ((NI) 0), tmp_4);
6386 		freeTemp__vmgen_550(c, dest_3);
6387 		freeTemp__vmgen_550(c, tmp_4);
6388 	}
6389 	break;
6390 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
6391 	{
6392 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
6393 		s = (*le)._kind_4.sym;
6394 		checkCanEval__vmgen_2268(c, le);
6395 		{
6396 			NIM_BOOL T14_;
6397 			NI tmp_5;
6398 			NI val;
6399 			T14_ = (NIM_BOOL)0;
6400 			T14_ = (((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 3))&63U)))!=0);
6401 			if (!(T14_)) goto LA15_;
6402 			T14_ = !(((*s).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 21)));
6403 			LA15_: ;
6404 			if (!T14_) goto LA16_;
6405 			tmp_5 = getTemp__vmgen_541(c, (*le).typ);
6406 			gen__vmgen_692(c, le, tmp_5, 2);
6407 			val = genx__vmgen_712(c, ri, 0);
6408 			preventFalseAlias__vmgen_2315(c, le, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 25), tmp_5, ((NI) 0), val);
6409 			freeTemp__vmgen_550(c, val);
6410 			freeTemp__vmgen_550(c, tmp_5);
6411 		}
6412 		goto LA12_;
6413 		LA16_: ;
6414 		{
6415 			NI dest_4;
6416 			{
6417 				if (!((*s).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 21))) goto LA21_;
6418 				setSlot__vmgen_2224(c, s);
6419 			}
6420 			LA21_: ;
6421 			{
6422 				NIM_BOOL T25_;
6423 				NIM_BOOL T27_;
6424 				NimStringDesc* argX60gensym417_;
6425 				T25_ = (NIM_BOOL)0;
6426 				T25_ = (((NI) 0) < (*s).position);
6427 				if (T25_) goto LA26_;
6428 				T27_ = (NIM_BOOL)0;
6429 				T27_ = ((*s).position == ((NI) 0));
6430 				if (!(T27_)) goto LA28_;
6431 				T27_ = ((2056 &((NU32)1<<((NU)((*s).kind)&31U)))!=0);
6432 				LA28_: ;
6433 				T25_ = T27_;
6434 				LA26_: ;
6435 				if (!!(T25_)) goto LA29_;
6436 				argX60gensym417_ = toFileLineCol__msgs_615(TM__24XApAWKNvaMkcyklm8bNA_90);
6437 				internalErrorImpl__msgs_1431((*c).config, unknownLineInfo__lineinfos_280, argX60gensym417_, TM__24XApAWKNvaMkcyklm8bNA_90);
6438 			}
6439 			LA29_: ;
6440 			dest_4 = ((NI) ((NI)((*s).position + ((*s).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3)))));
6441 			{
6442 				NIM_BOOL T33_;
6443 				NIM_BOOL T34_;
6444 				NIM_BOOL T35_;
6445 				NIM_BOOL T37_;
6446 				NI cc;
6447 				tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ T41_;
6448 				T33_ = (NIM_BOOL)0;
6449 				T34_ = (NIM_BOOL)0;
6450 				T35_ = (NIM_BOOL)0;
6451 				T35_ = isTemp__vmgen_929(c, ((NI) (dest_4)));
6452 				T34_ = !(T35_);
6453 				if (!(T34_)) goto LA36_;
6454 				T37_ = (NIM_BOOL)0;
6455 				T37_ = fitsRegister__vmgen_1814((*le).typ);
6456 				T34_ = !(T37_);
6457 				LA36_: ;
6458 				T33_ = T34_;
6459 				if (!(T33_)) goto LA38_;
6460 				T33_ = ((2312 &((NU32)1<<((NU)((*s).kind)&31U)))!=0);
6461 				LA38_: ;
6462 				if (!T33_) goto LA39_;
6463 				cc = getTemp__vmgen_541(c, (*le).typ);
6464 				gen__vmgen_692(c, ri, cc, 0);
6465 				T41_ = (tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ)0;
6466 				T41_ = whichAsgnOpc__vmgen_1846(le, NIM_TRUE);
6467 				gABC__vmgen_312(c, le, T41_, dest_4, cc, ((NI) 0));
6468 				freeTemp__vmgen_550(c, cc);
6469 			}
6470 			goto LA31_;
6471 			LA39_: ;
6472 			{
6473 				gen__vmgen_692(c, ri, dest_4, 0);
6474 			}
6475 			LA31_: ;
6476 		}
6477 		LA12_: ;
6478 	}
6479 	break;
6480 	default:
6481 	{
6482 		NI dest_5;
6483 		dest_5 = genx__vmgen_712(c, le, 2);
6484 		genAsgn__vmgen_2215(c, ((NI) (dest_5)), ri, requiresCopy);
6485 		freeTemp__vmgen_550(c, dest_5);
6486 	}
6487 	break;
6488 	}
6489 }
N_NIMCALL(void,genObjAccess__vmgen_2569)6490 N_LIB_PRIVATE N_NIMCALL(void, genObjAccess__vmgen_2569)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest, tySet_tyEnum_TGenFlag__dpr9bkeHD0U9bDk615O0L1FQ flags) {
6491 	NI a;
6492 	NI b;
6493 	a = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 0)], flags);
6494 	b = genField__vmgen_1288(c, (*n)._kind_6.sons->data[((NI) 1)]);
6495 	{
6496 		NI T5_;
6497 		if (!(((NI) ((*dest))) < ((NI) 0))) goto LA3_;
6498 		T5_ = (NI)0;
6499 		T5_ = getTemp__vmgen_541(c, (*n).typ);
6500 		(*dest) = ((NI) (T5_));
6501 	}
6502 	LA3_: ;
6503 	{
6504 		if (!!(((2 & flags) == 0))) goto LA8_;
6505 		gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 20), ((NI) ((*dest))), a, b);
6506 	}
6507 	goto LA6_;
6508 	LA8_: ;
6509 	{
6510 		NIM_BOOL T11_;
6511 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T13_;
6512 		NI cc;
6513 		T11_ = (NIM_BOOL)0;
6514 		T11_ = ((3 & flags) == 0);
6515 		if (!(T11_)) goto LA12_;
6516 		T13_ = NIM_NIL;
6517 		T13_ = skipTypes__ast_3735((*n).typ, TM__24XApAWKNvaMkcyklm8bNA_91);
6518 		T11_ = fitsRegister__vmgen_1814(T13_);
6519 		LA12_: ;
6520 		if (!T11_) goto LA14_;
6521 		cc = getTemp__vmgen_541(c, (*n).typ);
6522 		gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 19), cc, a, b);
6523 		gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 15), ((NI) ((*dest))), cc, ((NI) 0));
6524 		freeTemp__vmgen_550(c, cc);
6525 	}
6526 	goto LA6_;
6527 	LA14_: ;
6528 	{
6529 		gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 19), ((NI) ((*dest))), a, b);
6530 	}
6531 	LA6_: ;
6532 	freeTemp__vmgen_550(c, a);
6533 }
N_NIMCALL(void,genCheckedObjAccess__vmgen_2646)6534 N_LIB_PRIVATE N_NIMCALL(void, genCheckedObjAccess__vmgen_2646)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest, tySet_tyEnum_TGenFlag__dpr9bkeHD0U9bDk615O0L1FQ flags) {
6535 	NI objR;
6536 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* accessExpr;
6537 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* field;
6538 	NI fieldPos;
6539 	objR = ((NI) -1);
6540 	genCheckedObjAccessAux__vmgen_1316(c, n, (&objR), flags);
6541 	accessExpr = (*n)._kind_6.sons->data[((NI) 0)];
6542 	field = (*accessExpr)._kind_6.sons->data[((NI) 1)];
6543 	{
6544 		NimStringDesc* argX60gensym473_;
6545 		if (!!(((*(*field)._kind_4.sym).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 19)))) goto LA3_;
6546 		argX60gensym473_ = toFileLineCol__msgs_615(TM__24XApAWKNvaMkcyklm8bNA_92);
6547 		internalErrorImpl__msgs_1431((*c).config, unknownLineInfo__lineinfos_280, argX60gensym473_, TM__24XApAWKNvaMkcyklm8bNA_92);
6548 	}
6549 	LA3_: ;
6550 	{
6551 		NI T9_;
6552 		if (!(((NI) ((*dest))) < ((NI) 0))) goto LA7_;
6553 		T9_ = (NI)0;
6554 		T9_ = getTemp__vmgen_541(c, (*n).typ);
6555 		(*dest) = ((NI) (T9_));
6556 	}
6557 	LA7_: ;
6558 	fieldPos = genField__vmgen_1288(c, field);
6559 	{
6560 		if (!!(((2 & flags) == 0))) goto LA12_;
6561 		gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 20), ((NI) ((*dest))), ((NI) (objR)), fieldPos);
6562 	}
6563 	goto LA10_;
6564 	LA12_: ;
6565 	{
6566 		NIM_BOOL T15_;
6567 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T17_;
6568 		NI cc;
6569 		T15_ = (NIM_BOOL)0;
6570 		T15_ = ((3 & flags) == 0);
6571 		if (!(T15_)) goto LA16_;
6572 		T17_ = NIM_NIL;
6573 		T17_ = skipTypes__ast_3735((*n).typ, TM__24XApAWKNvaMkcyklm8bNA_91);
6574 		T15_ = fitsRegister__vmgen_1814(T17_);
6575 		LA16_: ;
6576 		if (!T15_) goto LA18_;
6577 		cc = getTemp__vmgen_541(c, (*accessExpr).typ);
6578 		gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 19), cc, ((NI) (objR)), fieldPos);
6579 		gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 15), ((NI) ((*dest))), cc, ((NI) 0));
6580 		freeTemp__vmgen_550(c, cc);
6581 	}
6582 	goto LA10_;
6583 	LA18_: ;
6584 	{
6585 		gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 19), ((NI) ((*dest))), ((NI) (objR)), fieldPos);
6586 	}
6587 	LA10_: ;
6588 	freeTemp__vmgen_550(c, ((NI) (objR)));
6589 }
N_NIMCALL(void,genArrAccessOpcode__vmgen_2541)6590 N_LIB_PRIVATE N_NIMCALL(void, genArrAccessOpcode__vmgen_2541)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest, tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opc, tySet_tyEnum_TGenFlag__dpr9bkeHD0U9bDk615O0L1FQ flags) {
6591 	NI a;
6592 	NI b;
6593 	a = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 0)], flags);
6594 	b = genIndex__vmgen_1305(c, (*n)._kind_6.sons->data[((NI) 1)], (*(*n)._kind_6.sons->data[((NI) 0)]).typ);
6595 	{
6596 		NI T5_;
6597 		if (!(((NI) ((*dest))) < ((NI) 0))) goto LA3_;
6598 		T5_ = (NI)0;
6599 		T5_ = getTemp__vmgen_541(c, (*n).typ);
6600 		(*dest) = ((NI) (T5_));
6601 	}
6602 	LA3_: ;
6603 	{
6604 		NIM_BOOL T8_;
6605 		T8_ = (NIM_BOOL)0;
6606 		T8_ = (opc == ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 17) || opc == ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 28));
6607 		if (!(T8_)) goto LA9_;
6608 		T8_ = ((flags &((NU8)1<<((NU)(((tyEnum_TGenFlag__dpr9bkeHD0U9bDk615O0L1FQ) 1))&7U)))!=0);
6609 		LA9_: ;
6610 		if (!T8_) goto LA10_;
6611 		gABC__vmgen_312(c, n, opc, ((NI) ((*dest))), a, b);
6612 	}
6613 	goto LA6_;
6614 	LA10_: ;
6615 	{
6616 		NIM_BOOL T13_;
6617 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T15_;
6618 		NI cc;
6619 		T13_ = (NIM_BOOL)0;
6620 		T13_ = ((3 & flags) == 0);
6621 		if (!(T13_)) goto LA14_;
6622 		T15_ = NIM_NIL;
6623 		T15_ = skipTypes__ast_3735((*n).typ, TM__24XApAWKNvaMkcyklm8bNA_91);
6624 		T13_ = fitsRegister__vmgen_1814(T15_);
6625 		LA14_: ;
6626 		if (!T13_) goto LA16_;
6627 		cc = getTemp__vmgen_541(c, (*n).typ);
6628 		gABC__vmgen_312(c, n, opc, cc, a, b);
6629 		gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 15), ((NI) ((*dest))), cc, ((NI) 0));
6630 		freeTemp__vmgen_550(c, cc);
6631 	}
6632 	goto LA6_;
6633 	LA16_: ;
6634 	{
6635 		gABC__vmgen_312(c, n, opc, ((NI) ((*dest))), a, b);
6636 	}
6637 	LA6_: ;
6638 	freeTemp__vmgen_550(c, a);
6639 	freeTemp__vmgen_550(c, b);
6640 }
N_NIMCALL(void,genArrAccess__vmgen_2682)6641 N_LIB_PRIVATE N_NIMCALL(void, genArrAccess__vmgen_2682)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest, tySet_tyEnum_TGenFlag__dpr9bkeHD0U9bDk615O0L1FQ flags) {
6642 	tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag arrayType;
6643 	tyObject_TType__facALICuu8zUj0hjvbTLFg* T1_;
6644 	T1_ = NIM_NIL;
6645 	T1_ = skipTypes__ast_3735((*(*n)._kind_6.sons->data[((NI) 0)]).typ, TM__24XApAWKNvaMkcyklm8bNA_89);
6646 	arrayType = (*T1_).kind;
6647 	{
6648 		tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opc;
6649 		if (!(arrayType == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 28) || arrayType == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 29))) goto LA4_;
6650 		{
6651 			if (!((flags &((NU8)1<<((NU)(((tyEnum_TGenFlag__dpr9bkeHD0U9bDk615O0L1FQ) 1))&7U)))!=0)) goto LA8_;
6652 			opc = ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 28);
6653 		}
6654 		goto LA6_;
6655 		LA8_: ;
6656 		{
6657 			opc = ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 27);
6658 		}
6659 		LA6_: ;
6660 		genArrAccessOpcode__vmgen_2541(c, n, dest, opc, flags);
6661 	}
6662 	goto LA2_;
6663 	LA4_: ;
6664 	{
6665 		if (!(arrayType == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8))) goto LA12_;
6666 		genTypeLit__vmgen_2407(c, (*n).typ, dest);
6667 	}
6668 	goto LA2_;
6669 	LA12_: ;
6670 	{
6671 		tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opc_2;
6672 		{
6673 			if (!((flags &((NU8)1<<((NU)(((tyEnum_TGenFlag__dpr9bkeHD0U9bDk615O0L1FQ) 1))&7U)))!=0)) goto LA17_;
6674 			opc_2 = ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 17);
6675 		}
6676 		goto LA15_;
6677 		LA17_: ;
6678 		{
6679 			opc_2 = ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 16);
6680 		}
6681 		LA15_: ;
6682 		genArrAccessOpcode__vmgen_2541(c, n, dest, opc_2, flags);
6683 	}
6684 	LA2_: ;
6685 }
N_NIMCALL(NIM_BOOL,unneededIndirection__vmgen_2084)6686 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, unneededIndirection__vmgen_2084)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
6687 	NIM_BOOL result;
6688 	tyObject_TType__facALICuu8zUj0hjvbTLFg* T1_;
6689 	result = (NIM_BOOL)0;
6690 	T1_ = NIM_NIL;
6691 	T1_ = skipTypes__ast_3735((*n).typ, TM__24XApAWKNvaMkcyklm8bNA_51);
6692 	result = ((*T1_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22));
6693 	return result;
6694 }
N_NIMCALL(void,genDeref__vmgen_2181)6695 N_LIB_PRIVATE N_NIMCALL(void, genDeref__vmgen_2181)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest, tySet_tyEnum_TGenFlag__dpr9bkeHD0U9bDk615O0L1FQ flags) {
6696 	{
6697 		NIM_BOOL T3_;
6698 		T3_ = (NIM_BOOL)0;
6699 		T3_ = unneededIndirection__vmgen_2084((*n)._kind_6.sons->data[((NI) 0)]);
6700 		if (!T3_) goto LA4_;
6701 		gen__vmgen_687(c, (*n)._kind_6.sons->data[((NI) 0)], dest, flags);
6702 		{
6703 			NIM_BOOL T8_;
6704 			T8_ = (NIM_BOOL)0;
6705 			T8_ = ((3 & flags) == 0);
6706 			if (!(T8_)) goto LA9_;
6707 			T8_ = fitsRegister__vmgen_1814((*n).typ);
6708 			LA9_: ;
6709 			if (!T8_) goto LA10_;
6710 			gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 15), ((NI) ((*dest))), ((NI) ((*dest))), ((NI) 0));
6711 		}
6712 		LA10_: ;
6713 	}
6714 	goto LA1_;
6715 	LA4_: ;
6716 	{
6717 		NI tmp;
6718 		tmp = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 0)], flags);
6719 		{
6720 			NI T17_;
6721 			if (!(((NI) ((*dest))) < ((NI) 0))) goto LA15_;
6722 			T17_ = (NI)0;
6723 			T17_ = getTemp__vmgen_541(c, (*n).typ);
6724 			(*dest) = ((NI) (T17_));
6725 		}
6726 		LA15_: ;
6727 		gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 24), ((NI) ((*dest))), tmp, ((NI) 0));
6728 		{
6729 			NIM_BOOL T20_;
6730 			T20_ = (NIM_BOOL)0;
6731 			T20_ = ((3 & flags) == 0);
6732 			if (!(T20_)) goto LA21_;
6733 			T20_ = fitsRegister__vmgen_1814((*n).typ);
6734 			LA21_: ;
6735 			if (!T20_) goto LA22_;
6736 			gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 15), ((NI) ((*dest))), ((NI) ((*dest))), ((NI) 0));
6737 		}
6738 		LA22_: ;
6739 		freeTemp__vmgen_550(c, tmp);
6740 	}
6741 	LA1_: ;
6742 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,canElimAddr__vmgen_2095)6743 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, canElimAddr__vmgen_2095)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
6744 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
6745 {	result = NIM_NIL;
6746 	{
6747 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T3_;
6748 		T3_ = NIM_NIL;
6749 		T3_ = skipTypes__ast_3735((*(*n)._kind_6.sons->data[((NI) 0)]).typ, TM__24XApAWKNvaMkcyklm8bNA_40);
6750 		if (!((*T3_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17) || (*T3_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18) || (*T3_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 16))) goto LA4_;
6751 		result = (*n)._kind_6.sons->data[((NI) 0)];
6752 		goto BeforeRet_;
6753 	}
6754 	LA4_: ;
6755 	switch ((*(*n)._kind_6.sons->data[((NI) 0)]).kind) {
6756 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 67):
6757 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 66):
6758 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 70):
6759 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 68):
6760 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 69):
6761 	{
6762 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* m;
6763 		m = (*(*n)._kind_6.sons->data[((NI) 0)])._kind_6.sons->data[((NI) 0)];
6764 		{
6765 			if (!((*m).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 47) || (*m).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 65))) goto LA9_;
6766 			result = copyNode__ast_4336((*n)._kind_6.sons->data[((NI) 0)]);
6767 			add__ast_4797(result, (*m)._kind_6.sons->data[((NI) 0)]);
6768 		}
6769 		LA9_: ;
6770 	}
6771 	break;
6772 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 58):
6773 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 59):
6774 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 60):
6775 	{
6776 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* m_2;
6777 		m_2 = (*(*n)._kind_6.sons->data[((NI) 0)])._kind_6.sons->data[((NI) 1)];
6778 		{
6779 			if (!((*m_2).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 47) || (*m_2).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 65))) goto LA14_;
6780 			result = copyNode__ast_4336((*n)._kind_6.sons->data[((NI) 0)]);
6781 			add__ast_4797(result, (*m_2)._kind_6.sons->data[((NI) 0)]);
6782 		}
6783 		LA14_: ;
6784 	}
6785 	break;
6786 	default:
6787 	{
6788 		{
6789 			if (!((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 47) || (*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 65))) goto LA19_;
6790 			result = (*(*n)._kind_6.sons->data[((NI) 0)])._kind_6.sons->data[((NI) 0)];
6791 		}
6792 		LA19_: ;
6793 	}
6794 	break;
6795 	}
6796 	}BeforeRet_: ;
6797 	return result;
6798 }
N_NIMCALL(NIM_BOOL,isGlobal__vmgen_1254)6799 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isGlobal__vmgen_1254)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
6800 	NIM_BOOL result;
6801 	NIM_BOOL T1_;
6802 	NIM_BOOL T3_;
6803 	result = (NIM_BOOL)0;
6804 	T1_ = (NIM_BOOL)0;
6805 	T1_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
6806 	if (!(T1_)) goto LA2_;
6807 	T3_ = (NIM_BOOL)0;
6808 	T3_ = (((*(*n)._kind_4.sym).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 3))&63U)))!=0);
6809 	if (!(T3_)) goto LA4_;
6810 	T3_ = !(((*(*n)._kind_4.sym).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 21)));
6811 	LA4_: ;
6812 	T1_ = T3_;
6813 	LA2_: ;
6814 	result = T1_;
6815 	return result;
6816 }
N_NIMCALL(void,genAddr__vmgen_2138)6817 N_LIB_PRIVATE N_NIMCALL(void, genAddr__vmgen_2138)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest, tySet_tyEnum_TGenFlag__dpr9bkeHD0U9bDk615O0L1FQ flags) {
6818 	tySet_tyEnum_TGenFlag__dpr9bkeHD0U9bDk615O0L1FQ newflags;
6819 {	{
6820 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* m;
6821 		m = canElimAddr__vmgen_2095(n);
6822 		if (!!((m == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA3_;
6823 		gen__vmgen_687(c, m, dest, flags);
6824 		goto BeforeRet_;
6825 	}
6826 	LA3_: ;
6827 	newflags = ((flags & ~ 1) | 2);
6828 	{
6829 		NIM_BOOL T7_;
6830 		T7_ = (NIM_BOOL)0;
6831 		T7_ = isGlobal__vmgen_1254((*n)._kind_6.sons->data[((NI) 0)]);
6832 		if (T7_) goto LA8_;
6833 		T7_ = ((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 45) || (*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 46) || (*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 42));
6834 		LA8_: ;
6835 		if (!T7_) goto LA9_;
6836 		gen__vmgen_687(c, (*n)._kind_6.sons->data[((NI) 0)], dest, newflags);
6837 	}
6838 	goto LA5_;
6839 	LA9_: ;
6840 	{
6841 		NI tmp;
6842 		tmp = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 0)], newflags);
6843 		{
6844 			NI T16_;
6845 			if (!(((NI) ((*dest))) < ((NI) 0))) goto LA14_;
6846 			T16_ = (NI)0;
6847 			T16_ = getTemp__vmgen_541(c, (*n).typ);
6848 			(*dest) = ((NI) (T16_));
6849 		}
6850 		LA14_: ;
6851 		{
6852 			if (!(((tyEnum_TSlotKind__QOyrDzzey9cf6gDtSRPuZMQ) 3) <= (*(*c).prc).regInfo->data[tmp].Field1)) goto LA19_;
6853 			gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 23), ((NI) ((*dest))), tmp, ((NI) 0));
6854 			(*(*c).prc).regInfo->data[tmp].Field1 = ((tyEnum_TSlotKind__QOyrDzzey9cf6gDtSRPuZMQ) 8);
6855 		}
6856 		goto LA17_;
6857 		LA19_: ;
6858 		{
6859 			gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 22), ((NI) ((*dest))), tmp, ((NI) 0));
6860 		}
6861 		LA17_: ;
6862 		freeTemp__vmgen_550(c, tmp);
6863 	}
6864 	LA5_: ;
6865 	}BeforeRet_: ;
6866 }
N_NIMCALL(NIM_BOOL,isNotOpr__vmgen_729)6867 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isNotOpr__vmgen_729)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
6868 	NIM_BOOL result;
6869 	NIM_BOOL T1_;
6870 	NIM_BOOL T2_;
6871 	result = (NIM_BOOL)0;
6872 	T1_ = (NIM_BOOL)0;
6873 	T2_ = (NIM_BOOL)0;
6874 	T2_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 29) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 30) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 31) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 26) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 28) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 32));
6875 	if (!(T2_)) goto LA3_;
6876 	T2_ = ((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
6877 	LA3_: ;
6878 	T1_ = T2_;
6879 	if (!(T1_)) goto LA4_;
6880 	T1_ = ((*(*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 96));
6881 	LA4_: ;
6882 	result = T1_;
6883 	return result;
6884 }
N_NIMCALL(void,genIf__vmgen_883)6885 N_LIB_PRIVATE N_NIMCALL(void, genIf__vmgen_883)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest) {
6886 	tySequence__qwqHTkRvwhrRyENtudHQ7g* endings;
6887 	{
6888 		NIM_BOOL T3_;
6889 		NIM_BOOL T5_;
6890 		NI T8_;
6891 		T3_ = (NIM_BOOL)0;
6892 		T3_ = (((NI) ((*dest))) < ((NI) 0));
6893 		if (!(T3_)) goto LA4_;
6894 		T5_ = (NIM_BOOL)0;
6895 		T5_ = isEmptyType__ast_4779((*n).typ);
6896 		T3_ = !(T5_);
6897 		LA4_: ;
6898 		if (!T3_) goto LA6_;
6899 		T8_ = (NI)0;
6900 		T8_ = getTemp__vmgen_541(c, (*n).typ);
6901 		(*dest) = ((NI) (T8_));
6902 	}
6903 	LA6_: ;
6904 	endings = NIM_NIL;
6905 	{
6906 		NI i;
6907 		NI colontmp_;
6908 		NI i_2;
6909 		i = (NI)0;
6910 		colontmp_ = (NI)0;
6911 		colontmp_ = len__ast_3198(n);
6912 		i_2 = ((NI) 0);
6913 		{
6914 			while (1) {
6915 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* it;
6916 				if (!(i_2 < colontmp_)) goto LA11;
6917 				i = i_2;
6918 				it = (*n)._kind_6.sons->data[i];
6919 				{
6920 					NI T14_;
6921 					NI tmp;
6922 					NI elsePos;
6923 					T14_ = (NI)0;
6924 					T14_ = len__ast_3198(it);
6925 					if (!(T14_ == ((NI) 2))) goto LA15_;
6926 					tmp = getTemp__vmgen_541(c, (*(*it)._kind_6.sons->data[((NI) 0)]).typ);
6927 					elsePos = (NI)0;
6928 					{
6929 						NIM_BOOL T19_;
6930 						T19_ = (NIM_BOOL)0;
6931 						T19_ = isNotOpr__vmgen_729((*it)._kind_6.sons->data[((NI) 0)]);
6932 						if (!T19_) goto LA20_;
6933 						gen__vmgen_692(c, (*(*it)._kind_6.sons->data[((NI) 0)])._kind_6.sons->data[((NI) 1)], tmp, 0);
6934 						elsePos = xjmp__vmgen_398(c, (*(*it)._kind_6.sons->data[((NI) 0)])._kind_6.sons->data[((NI) 1)], ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 161), tmp);
6935 					}
6936 					goto LA17_;
6937 					LA20_: ;
6938 					{
6939 						gen__vmgen_692(c, (*it)._kind_6.sons->data[((NI) 0)], tmp, 0);
6940 						elsePos = xjmp__vmgen_398(c, (*it)._kind_6.sons->data[((NI) 0)], ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 162), tmp);
6941 					}
6942 					LA17_: ;
6943 					freeTemp__vmgen_550(c, tmp);
6944 					clearDest__vmgen_718(c, n, dest);
6945 					gen__vmgen_687(c, (*it)._kind_6.sons->data[((NI) 1)], dest, 0);
6946 					{
6947 						NI T25_;
6948 						NI T28_;
6949 						NI T29_;
6950 						T25_ = (NI)0;
6951 						T25_ = len__ast_3198(n);
6952 						if (!(i < (NI)(T25_ - ((NI) 1)))) goto LA26_;
6953 						T28_ = (NI)0;
6954 						T28_ = xjmp__vmgen_398(c, (*it)._kind_6.sons->data[((NI) 1)], ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 163), ((NI) 0));
6955 						endings = (tySequence__qwqHTkRvwhrRyENtudHQ7g*) incrSeqV3((TGenericSeq*)(endings), (&NTIseqLtpositionT__qwqHTkRvwhrRyENtudHQ7g_));
6956 						T29_ = endings->Sup.len++;
6957 						endings->data[T29_] = T28_;
6958 					}
6959 					LA26_: ;
6960 					patch__vmgen_434(c, elsePos);
6961 				}
6962 				goto LA12_;
6963 				LA15_: ;
6964 				{
6965 					clearDest__vmgen_718(c, n, dest);
6966 					gen__vmgen_687(c, (*it)._kind_6.sons->data[((NI) 0)], dest, 0);
6967 				}
6968 				LA12_: ;
6969 				i_2 += ((NI) 1);
6970 			} LA11: ;
6971 		}
6972 	}
6973 	{
6974 		NI* endPos;
6975 		NI i_3;
6976 		NI L;
6977 		NI T32_;
6978 		endPos = (NI*)0;
6979 		i_3 = ((NI) 0);
6980 		T32_ = (endings ? endings->Sup.len : 0);
6981 		L = T32_;
6982 		{
6983 			while (1) {
6984 				if (!(i_3 < L)) goto LA34;
6985 				endPos = (&endings->data[i_3]);
6986 				patch__vmgen_434(c, (*endPos));
6987 				i_3 += ((NI) 1);
6988 			} LA34: ;
6989 		}
6990 	}
6991 	clearDest__vmgen_718(c, n, dest);
6992 }
N_NIMCALL(void,genCase__vmgen_1030)6993 N_LIB_PRIVATE N_NIMCALL(void, genCase__vmgen_1030)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest) {
6994 	tySequence__qwqHTkRvwhrRyENtudHQ7g* endings;
6995 	NI tmp;
6996 	{
6997 		NIM_BOOL T3_;
6998 		T3_ = (NIM_BOOL)0;
6999 		T3_ = isEmptyType__ast_4779((*n).typ);
7000 		if (!!(T3_)) goto LA4_;
7001 		{
7002 			NI T10_;
7003 			if (!(((NI) ((*dest))) < ((NI) 0))) goto LA8_;
7004 			T10_ = (NI)0;
7005 			T10_ = getTemp__vmgen_541(c, (*n).typ);
7006 			(*dest) = ((NI) (T10_));
7007 		}
7008 		LA8_: ;
7009 	}
7010 	goto LA1_;
7011 	LA4_: ;
7012 	{
7013 		unused__vmgen_1026(c, n, (*dest));
7014 	}
7015 	LA1_: ;
7016 	endings = NIM_NIL;
7017 	tmp = getTemp__vmgen_541(c, (*(*n)._kind_6.sons->data[((NI) 0)]).typ);
7018 	gen__vmgen_692(c, (*n)._kind_6.sons->data[((NI) 0)], tmp, 0);
7019 	{
7020 		NI i;
7021 		NI colontmp_;
7022 		NI i_2;
7023 		i = (NI)0;
7024 		colontmp_ = (NI)0;
7025 		colontmp_ = len__ast_3198(n);
7026 		i_2 = ((NI) 1);
7027 		{
7028 			while (1) {
7029 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* it;
7030 				if (!(i_2 < colontmp_)) goto LA14;
7031 				i = i_2;
7032 				it = (*n)._kind_6.sons->data[i];
7033 				{
7034 					NI T17_;
7035 					T17_ = (NI)0;
7036 					T17_ = len__ast_3198(it);
7037 					if (!(T17_ == ((NI) 1))) goto LA18_;
7038 					{
7039 						NIM_BOOL T22_;
7040 						T22_ = (NIM_BOOL)0;
7041 						T22_ = !(((*(*it)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23)));
7042 						if (T22_) goto LA23_;
7043 						T22_ = !(((*(*it)._kind_6.sons->data[((NI) 0)]).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
7044 						LA23_: ;
7045 						if (!T22_) goto LA24_;
7046 						gen__vmgen_687(c, (*it)._kind_6.sons->data[((NI) 0)], dest, 0);
7047 					}
7048 					LA24_: ;
7049 				}
7050 				goto LA15_;
7051 				LA18_: ;
7052 				{
7053 					NI b;
7054 					NI elsePos;
7055 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T27_;
7056 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T28_;
7057 					b = rawGenLiteral__vmgen_950(c, it);
7058 					gABx__vmgen_375(c, it, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 165), tmp, b);
7059 					T27_ = NIM_NIL;
7060 					T27_ = lastSon__ast_4832(it);
7061 					elsePos = xjmp__vmgen_398(c, T27_, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 162), tmp);
7062 					T28_ = NIM_NIL;
7063 					T28_ = lastSon__ast_4832(it);
7064 					gen__vmgen_687(c, T28_, dest, 0);
7065 					{
7066 						NI T31_;
7067 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T34_;
7068 						NI T35_;
7069 						NI T36_;
7070 						T31_ = (NI)0;
7071 						T31_ = len__ast_3198(n);
7072 						if (!(i < (NI)(T31_ - ((NI) 1)))) goto LA32_;
7073 						T34_ = NIM_NIL;
7074 						T34_ = lastSon__ast_4832(it);
7075 						T35_ = (NI)0;
7076 						T35_ = xjmp__vmgen_398(c, T34_, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 163), ((NI) 0));
7077 						endings = (tySequence__qwqHTkRvwhrRyENtudHQ7g*) incrSeqV3((TGenericSeq*)(endings), (&NTIseqLtpositionT__qwqHTkRvwhrRyENtudHQ7g_));
7078 						T36_ = endings->Sup.len++;
7079 						endings->data[T36_] = T35_;
7080 					}
7081 					LA32_: ;
7082 					patch__vmgen_434(c, elsePos);
7083 				}
7084 				LA15_: ;
7085 				clearDest__vmgen_718(c, n, dest);
7086 				i_2 += ((NI) 1);
7087 			} LA14: ;
7088 		}
7089 	}
7090 	freeTemp__vmgen_550(c, tmp);
7091 	{
7092 		NI* endPos;
7093 		NI i_3;
7094 		NI L;
7095 		NI T38_;
7096 		endPos = (NI*)0;
7097 		i_3 = ((NI) 0);
7098 		T38_ = (endings ? endings->Sup.len : 0);
7099 		L = T38_;
7100 		{
7101 			while (1) {
7102 				if (!(i_3 < L)) goto LA40;
7103 				endPos = (&endings->data[i_3]);
7104 				patch__vmgen_434(c, (*endPos));
7105 				i_3 += ((NI) 1);
7106 			} LA40: ;
7107 		}
7108 	}
7109 }
N_NIMCALL(NI,genLabel__vmgen_416)7110 N_LIB_PRIVATE N_NIMCALL(NI, genLabel__vmgen_416)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c) {
7111 	NI result;
7112 	NI T1_;
7113 	result = (NI)0;
7114 	T1_ = ((*c).code ? (*c).code->Sup.len : 0);
7115 	result = T1_;
7116 	return result;
7117 }
N_NIMCALL(NIM_BOOL,isTrue__vmgen_746)7118 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isTrue__vmgen_746)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
7119 	NIM_BOOL result;
7120 	NIM_BOOL T1_;
7121 	NIM_BOOL T2_;
7122 	NIM_BOOL T3_;
7123 	NIM_BOOL T7_;
7124 	result = (NIM_BOOL)0;
7125 	T1_ = (NIM_BOOL)0;
7126 	T2_ = (NIM_BOOL)0;
7127 	T3_ = (NIM_BOOL)0;
7128 	T3_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
7129 	if (!(T3_)) goto LA4_;
7130 	T3_ = ((*(*n)._kind_4.sym).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 20));
7131 	LA4_: ;
7132 	T2_ = T3_;
7133 	if (!(T2_)) goto LA5_;
7134 	T2_ = !(((*(*n)._kind_4.sym).position == ((NI) 0)));
7135 	LA5_: ;
7136 	T1_ = T2_;
7137 	if (T1_) goto LA6_;
7138 	T7_ = (NIM_BOOL)0;
7139 	T7_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6));
7140 	if (!(T7_)) goto LA8_;
7141 	T7_ = !(((*n)._kind_1.intVal == IL64(0)));
7142 	LA8_: ;
7143 	T1_ = T7_;
7144 	LA6_: ;
7145 	result = T1_;
7146 	return result;
7147 }
N_NIMCALL(void,jmpBack__vmgen_422)7148 N_LIB_PRIVATE N_NIMCALL(void, jmpBack__vmgen_422)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI p) {
7149 	NI dist;
7150 	NI T1_;
7151 	T1_ = ((*c).code ? (*c).code->Sup.len : 0);
7152 	dist = (NI)(p - T1_);
7153 	{
7154 		NIM_BOOL T4_;
7155 		NimStringDesc* argX60gensym49_;
7156 		T4_ = (NIM_BOOL)0;
7157 		T4_ = (((NI) -8388607) < dist);
7158 		if (!(T4_)) goto LA5_;
7159 		T4_ = (dist < ((NI) 8388607));
7160 		LA5_: ;
7161 		if (!!(T4_)) goto LA6_;
7162 		argX60gensym49_ = toFileLineCol__msgs_615(TM__24XApAWKNvaMkcyklm8bNA_95);
7163 		internalErrorImpl__msgs_1431((*c).config, unknownLineInfo__lineinfos_280, argX60gensym49_, TM__24XApAWKNvaMkcyklm8bNA_95);
7164 	}
7165 	LA6_: ;
7166 	gABx__vmgen_375(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 164), ((NI) 0), dist);
7167 }
N_NIMCALL(void,popBlock__vmgen_639)7168 N_LIB_PRIVATE N_NIMCALL(void, popBlock__vmgen_639)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, NI oldLen) {
7169 	{
7170 		NI* f;
7171 		tySequence__qwqHTkRvwhrRyENtudHQ7g* colontmp_;
7172 		NI i;
7173 		NI L;
7174 		NI T2_;
7175 		f = (NI*)0;
7176 		colontmp_ = NIM_NIL;
7177 		colontmp_ = (*(*c).prc).blocks->data[oldLen].fixups;
7178 		i = ((NI) 0);
7179 		T2_ = (colontmp_ ? colontmp_->Sup.len : 0);
7180 		L = T2_;
7181 		{
7182 			while (1) {
7183 				if (!(i < L)) goto LA4;
7184 				f = (&colontmp_->data[i]);
7185 				patch__vmgen_434(c, (*f));
7186 				i += ((NI) 1);
7187 			} LA4: ;
7188 		}
7189 	}
7190 	asgnRef((void**) (&(*(*c).prc).blocks), (tySequence__JokFGfUW6i9b6aeU7xu6xBw*) setLengthSeqV2(&((*(*c).prc).blocks)->Sup, (&NTIseqLtblockT__JokFGfUW6i9b6aeU7xu6xBw_), ((NI) (oldLen))));
7191 }
N_NIMCALL(void,genWhile__vmgen_761)7192 N_LIB_PRIVATE N_NIMCALL(void, genWhile__vmgen_761)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
7193 	NI lab1;
7194 	NI oldLen;
7195 	NI T1_;
7196 	NI T2_;
7197 	lab1 = genLabel__vmgen_416(c);
7198 	T1_ = ((*(*c).prc).blocks ? (*(*c).prc).blocks->Sup.len : 0);
7199 	oldLen = T1_;
7200 	asgnRef((void**) (&(*(*c).prc).blocks), (tySequence__JokFGfUW6i9b6aeU7xu6xBw*) incrSeqV3((TGenericSeq*)((*(*c).prc).blocks), (&NTIseqLtblockT__JokFGfUW6i9b6aeU7xu6xBw_)));
7201 	T2_ = (*(*c).prc).blocks->Sup.len++;
7202 	asgnRef((void**) (&(*(*c).prc).blocks->data[T2_].label), TM__24XApAWKNvaMkcyklm8bNA_93.label);
7203 	genericSeqAssign((&(*(*c).prc).blocks->data[T2_].fixups), TM__24XApAWKNvaMkcyklm8bNA_93.fixups, (&NTIseqLtpositionT__qwqHTkRvwhrRyENtudHQ7g_));
7204 	{
7205 		NIM_BOOL T5_;
7206 		T5_ = (NIM_BOOL)0;
7207 		T5_ = isTrue__vmgen_746((*n)._kind_6.sons->data[((NI) 0)]);
7208 		if (!T5_) goto LA6_;
7209 		gen__vmgen_707(c, (*n)._kind_6.sons->data[((NI) 1)], 0);
7210 		jmpBack__vmgen_422(c, n, lab1);
7211 	}
7212 	goto LA3_;
7213 	LA6_: ;
7214 	{
7215 		NIM_BOOL T9_;
7216 		NI tmp;
7217 		NI lab2;
7218 		T9_ = (NIM_BOOL)0;
7219 		T9_ = isNotOpr__vmgen_729((*n)._kind_6.sons->data[((NI) 0)]);
7220 		if (!T9_) goto LA10_;
7221 		tmp = genx__vmgen_712(c, (*(*n)._kind_6.sons->data[((NI) 0)])._kind_6.sons->data[((NI) 1)], 0);
7222 		lab2 = xjmp__vmgen_398(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 161), tmp);
7223 		freeTemp__vmgen_550(c, tmp);
7224 		gen__vmgen_707(c, (*n)._kind_6.sons->data[((NI) 1)], 0);
7225 		jmpBack__vmgen_422(c, n, lab1);
7226 		patch__vmgen_434(c, lab2);
7227 	}
7228 	goto LA3_;
7229 	LA10_: ;
7230 	{
7231 		NI tmp_2;
7232 		NI lab2_2;
7233 		tmp_2 = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 0)], 0);
7234 		lab2_2 = xjmp__vmgen_398(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 162), tmp_2);
7235 		freeTemp__vmgen_550(c, tmp_2);
7236 		gen__vmgen_707(c, (*n)._kind_6.sons->data[((NI) 1)], 0);
7237 		jmpBack__vmgen_422(c, n, lab1);
7238 		patch__vmgen_434(c, lab2_2);
7239 	}
7240 	LA3_: ;
7241 	popBlock__vmgen_639(c, oldLen);
7242 }
N_NIMCALL(void,genBlock__vmgen_799)7243 N_LIB_PRIVATE N_NIMCALL(void, genBlock__vmgen_799)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest) {
7244 	NI oldRegisterCount;
7245 	NI T1_;
7246 	NI oldLen;
7247 	NI T2_;
7248 	tyObject_TBlock__2tJGcW69ahqq39a9bVJC1sqGQ T3_;
7249 	NI T4_;
7250 	T1_ = ((*(*c).prc).regInfo ? (*(*c).prc).regInfo->Sup.len : 0);
7251 	oldRegisterCount = T1_;
7252 	T2_ = ((*(*c).prc).blocks ? (*(*c).prc).blocks->Sup.len : 0);
7253 	oldLen = T2_;
7254 	nimZeroMem((void*)(&T3_), sizeof(tyObject_TBlock__2tJGcW69ahqq39a9bVJC1sqGQ));
7255 	nimZeroMem((void*)(&T3_), sizeof(tyObject_TBlock__2tJGcW69ahqq39a9bVJC1sqGQ));
7256 	T3_.label = (*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym;
7257 	T3_.fixups = NIM_NIL;
7258 	asgnRef((void**) (&(*(*c).prc).blocks), (tySequence__JokFGfUW6i9b6aeU7xu6xBw*) incrSeqV3((TGenericSeq*)((*(*c).prc).blocks), (&NTIseqLtblockT__JokFGfUW6i9b6aeU7xu6xBw_)));
7259 	T4_ = (*(*c).prc).blocks->Sup.len++;
7260 	asgnRef((void**) (&(*(*c).prc).blocks->data[T4_].label), T3_.label);
7261 	genericSeqAssign((&(*(*c).prc).blocks->data[T4_].fixups), T3_.fixups, (&NTIseqLtpositionT__qwqHTkRvwhrRyENtudHQ7g_));
7262 	gen__vmgen_687(c, (*n)._kind_6.sons->data[((NI) 1)], dest, 0);
7263 	popBlock__vmgen_639(c, oldLen);
7264 	{
7265 		NI i;
7266 		NI colontmp_;
7267 		NI T6_;
7268 		NI i_2;
7269 		i = (NI)0;
7270 		colontmp_ = (NI)0;
7271 		T6_ = ((*(*c).prc).regInfo ? (*(*c).prc).regInfo->Sup.len : 0);
7272 		colontmp_ = T6_;
7273 		i_2 = oldRegisterCount;
7274 		{
7275 			while (1) {
7276 				if (!(i_2 < colontmp_)) goto LA8;
7277 				i = i_2;
7278 				{
7279 					NIM_BOOL colontmp__2;
7280 					tyEnum_TSlotKind__QOyrDzzey9cf6gDtSRPuZMQ colontmp__3;
7281 					if (!!((i == ((NI) ((*dest)))))) goto LA11_;
7282 					colontmp__2 = NIM_FALSE;
7283 					colontmp__3 = ((tyEnum_TSlotKind__QOyrDzzey9cf6gDtSRPuZMQ) 0);
7284 					(*(*c).prc).regInfo->data[i].Field0 = colontmp__2;
7285 					(*(*c).prc).regInfo->data[i].Field1 = colontmp__3;
7286 				}
7287 				LA11_: ;
7288 				i_2 += ((NI) 1);
7289 			} LA8: ;
7290 		}
7291 	}
7292 	clearDest__vmgen_718(c, n, dest);
7293 }
N_NIMCALL(void,genReturn__vmgen_1190)7294 N_LIB_PRIVATE N_NIMCALL(void, genReturn__vmgen_1190)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
7295 	{
7296 		if (!!(((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA3_;
7297 		gen__vmgen_707(c, (*n)._kind_6.sons->data[((NI) 0)], 0);
7298 	}
7299 	LA3_: ;
7300 	gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 1), ((NI) 0), ((NI) 0), ((NI) 0));
7301 }
N_NIMCALL(void,genRaise__vmgen_1185)7302 N_LIB_PRIVATE N_NIMCALL(void, genRaise__vmgen_1185)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
7303 	NI dest;
7304 	dest = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 0)], 0);
7305 	gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 156), dest, ((NI) 0), ((NI) 0));
7306 	freeTemp__vmgen_550(c, dest);
7307 }
N_NIMCALL(void,genBreak__vmgen_831)7308 N_LIB_PRIVATE N_NIMCALL(void, genBreak__vmgen_831)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
7309 	NI lab1;
7310 {	lab1 = xjmp__vmgen_398(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 163), ((NI) 0));
7311 	{
7312 		if (!((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA3_;
7313 		{
7314 			NI i;
7315 			NI colontmp_;
7316 			NI T6_;
7317 			NI res;
7318 			i = (NI)0;
7319 			colontmp_ = (NI)0;
7320 			T6_ = ((*(*c).prc).blocks ? (*(*c).prc).blocks->Sup.len : 0);
7321 			colontmp_ = (NI)(T6_ - ((NI) 1));
7322 			res = colontmp_;
7323 			{
7324 				while (1) {
7325 					if (!(((NI) 0) <= res)) goto LA8;
7326 					i = res;
7327 					{
7328 						NI T13_;
7329 						if (!((*(*c).prc).blocks->data[i].label == (*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym)) goto LA11_;
7330 						asgnRef((void**) (&(*(*c).prc).blocks->data[i].fixups), (tySequence__qwqHTkRvwhrRyENtudHQ7g*) incrSeqV3((TGenericSeq*)((*(*c).prc).blocks->data[i].fixups), (&NTIseqLtpositionT__qwqHTkRvwhrRyENtudHQ7g_)));
7331 						T13_ = (*(*c).prc).blocks->data[i].fixups->Sup.len++;
7332 						(*(*c).prc).blocks->data[i].fixups->data[T13_] = lab1;
7333 						goto BeforeRet_;
7334 					}
7335 					LA11_: ;
7336 					res -= ((NI) 1);
7337 				} LA8: ;
7338 			}
7339 		}
7340 		liMessage__msgs_1118((*c).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_96), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 2), TM__24XApAWKNvaMkcyklm8bNA_97, NIM_FALSE);
7341 	}
7342 	goto LA1_;
7343 	LA3_: ;
7344 	{
7345 		NI T15_;
7346 		NI T16_;
7347 		T15_ = (((*(*c).prc).blocks ? (*(*c).prc).blocks->Sup.len : 0)-1);
7348 		asgnRef((void**) (&(*(*c).prc).blocks->data[T15_].fixups), (tySequence__qwqHTkRvwhrRyENtudHQ7g*) incrSeqV3((TGenericSeq*)((*(*c).prc).blocks->data[T15_].fixups), (&NTIseqLtpositionT__qwqHTkRvwhrRyENtudHQ7g_)));
7349 		T16_ = (*(*c).prc).blocks->data[T15_].fixups->Sup.len++;
7350 		(*(*c).prc).blocks->data[T15_].fixups->data[T16_] = lab1;
7351 	}
7352 	LA1_: ;
7353 	}BeforeRet_: ;
7354 }
N_NIMCALL(void,genTry__vmgen_1110)7355 N_LIB_PRIVATE N_NIMCALL(void, genTry__vmgen_1110)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest) {
7356 	tySequence__qwqHTkRvwhrRyENtudHQ7g* endings;
7357 	NI ehPos;
7358 	NI jumpToFinally;
7359 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* fin;
7360 	{
7361 		NIM_BOOL T3_;
7362 		NIM_BOOL T5_;
7363 		NI T8_;
7364 		T3_ = (NIM_BOOL)0;
7365 		T3_ = (((NI) ((*dest))) < ((NI) 0));
7366 		if (!(T3_)) goto LA4_;
7367 		T5_ = (NIM_BOOL)0;
7368 		T5_ = isEmptyType__ast_4779((*n).typ);
7369 		T3_ = !(T5_);
7370 		LA4_: ;
7371 		if (!T3_) goto LA6_;
7372 		T8_ = (NI)0;
7373 		T8_ = getTemp__vmgen_541(c, (*n).typ);
7374 		(*dest) = ((NI) (T8_));
7375 	}
7376 	LA6_: ;
7377 	endings = NIM_NIL;
7378 	ehPos = xjmp__vmgen_398(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 166), ((NI) 0));
7379 	gen__vmgen_687(c, (*n)._kind_6.sons->data[((NI) 0)], dest, 0);
7380 	clearDest__vmgen_718(c, n, dest);
7381 	jumpToFinally = xjmp__vmgen_398(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 163), ((NI) 0));
7382 	patch__vmgen_434(c, ehPos);
7383 	{
7384 		NI i;
7385 		NI colontmp_;
7386 		NI i_2;
7387 		i = (NI)0;
7388 		colontmp_ = (NI)0;
7389 		colontmp_ = len__ast_3198(n);
7390 		i_2 = ((NI) 1);
7391 		{
7392 			while (1) {
7393 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* it;
7394 				if (!(i_2 < colontmp_)) goto LA11;
7395 				i = i_2;
7396 				it = (*n)._kind_6.sons->data[i];
7397 				{
7398 					NI endExcept;
7399 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T26_;
7400 					if (!!(((*it).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 107)))) goto LA14_;
7401 					endExcept = xjmp__vmgen_398(c, it, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 167), ((NI) 0));
7402 					{
7403 						NI j;
7404 						NI colontmp__2;
7405 						NI T17_;
7406 						NI i_3;
7407 						j = (NI)0;
7408 						colontmp__2 = (NI)0;
7409 						T17_ = (NI)0;
7410 						T17_ = len__ast_3198(it);
7411 						colontmp__2 = (NI)(T17_ - ((NI) 1));
7412 						i_3 = ((NI) 0);
7413 						{
7414 							while (1) {
7415 								tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
7416 								NI T20_;
7417 								if (!(i_3 < colontmp__2)) goto LA19;
7418 								j = i_3;
7419 								typ = skipTypes__ast_3735((*(*it)._kind_6.sons->data[j]).typ, TM__24XApAWKNvaMkcyklm8bNA_98);
7420 								T20_ = (NI)0;
7421 								T20_ = genType__vmgen_1088(c, typ);
7422 								gABx__vmgen_375(c, it, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 167), ((NI) 0), T20_);
7423 								i_3 += ((NI) 1);
7424 							} LA19: ;
7425 						}
7426 					}
7427 					{
7428 						NI T23_;
7429 						T23_ = (NI)0;
7430 						T23_ = len__ast_3198(it);
7431 						if (!(T23_ == ((NI) 1))) goto LA24_;
7432 						gABx__vmgen_375(c, it, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 167), ((NI) 0), ((NI) 0));
7433 					}
7434 					LA24_: ;
7435 					T26_ = NIM_NIL;
7436 					T26_ = lastSon__ast_4832(it);
7437 					gen__vmgen_687(c, T26_, dest, 0);
7438 					clearDest__vmgen_718(c, n, dest);
7439 					{
7440 						NI T29_;
7441 						NI T32_;
7442 						NI T33_;
7443 						T29_ = (NI)0;
7444 						T29_ = len__ast_3198(n);
7445 						if (!(i < T29_)) goto LA30_;
7446 						T32_ = (NI)0;
7447 						T32_ = xjmp__vmgen_398(c, it, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 163), ((NI) 0));
7448 						endings = (tySequence__qwqHTkRvwhrRyENtudHQ7g*) incrSeqV3((TGenericSeq*)(endings), (&NTIseqLtpositionT__qwqHTkRvwhrRyENtudHQ7g_));
7449 						T33_ = endings->Sup.len++;
7450 						endings->data[T33_] = T32_;
7451 					}
7452 					LA30_: ;
7453 					patch__vmgen_434(c, endExcept);
7454 				}
7455 				LA14_: ;
7456 				i_2 += ((NI) 1);
7457 			} LA11: ;
7458 		}
7459 	}
7460 	fin = lastSon__ast_4832(n);
7461 	patch__vmgen_434(c, jumpToFinally);
7462 	gABx__vmgen_375(c, fin, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 168), ((NI) 0), ((NI) 0));
7463 	{
7464 		NI* endPos;
7465 		NI i_4;
7466 		NI L;
7467 		NI T35_;
7468 		endPos = (NI*)0;
7469 		i_4 = ((NI) 0);
7470 		T35_ = (endings ? endings->Sup.len : 0);
7471 		L = T35_;
7472 		{
7473 			while (1) {
7474 				if (!(i_4 < L)) goto LA37;
7475 				endPos = (&endings->data[i_4]);
7476 				patch__vmgen_434(c, (*endPos));
7477 				i_4 += ((NI) 1);
7478 			} LA37: ;
7479 		}
7480 	}
7481 	{
7482 		if (!((*fin).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 107))) goto LA40_;
7483 		gen__vmgen_707(c, (*fin)._kind_6.sons->data[((NI) 0)], 0);
7484 		clearDest__vmgen_718(c, n, dest);
7485 	}
7486 	LA40_: ;
7487 	gABx__vmgen_375(c, fin, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 169), ((NI) 0), ((NI) 0));
7488 }
N_INLINE(NI,safeLen__ast_3191)7489 static N_INLINE(NI, safeLen__ast_3191)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
7490 	NI result;
7491 	result = (NI)0;
7492 	{
7493 		if (!((*n).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 0) && (*n).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23))) goto LA3_;
7494 		result = ((NI) 0);
7495 	}
7496 	goto LA1_;
7497 	LA3_: ;
7498 	{
7499 		result = len__ast_3198(n);
7500 	}
7501 	LA1_: ;
7502 	return result;
7503 }
N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ *,getOwner__vmgen_2251)7504 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, getOwner__vmgen_2251)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c) {
7505 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* result;
7506 	result = NIM_NIL;
7507 	result = (*(*c).prc).sym;
7508 	{
7509 		if (!(result == 0)) goto LA3_;
7510 		result = (*c).module;
7511 	}
7512 	LA3_: ;
7513 	return result;
7514 }
N_NIMCALL(void,genVarSection__vmgen_2831)7515 N_LIB_PRIVATE N_NIMCALL(void, genVarSection__vmgen_2831)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
7516 	{
7517 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a;
7518 		a = NIM_NIL;
7519 		{
7520 			NI i;
7521 			NI colontmp_;
7522 			NI i_2;
7523 			i = (NI)0;
7524 			colontmp_ = (NI)0;
7525 			colontmp_ = safeLen__ast_3191(n);
7526 			i_2 = ((NI) 0);
7527 			{
7528 				while (1) {
7529 					if (!(i_2 < colontmp_)) goto LA4;
7530 					i = i_2;
7531 					a = (*n)._kind_6.sons->data[i];
7532 					{
7533 						{
7534 							if (!((*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 125))) goto LA8_;
7535 							goto LA5;
7536 						}
7537 						LA8_: ;
7538 						{
7539 							tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T28_;
7540 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T29_;
7541 							if (!((*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 36))) goto LA12_;
7542 							{
7543 								NI i_3;
7544 								NI colontmp__2;
7545 								NI T15_;
7546 								NI i_4;
7547 								i_3 = (NI)0;
7548 								colontmp__2 = (NI)0;
7549 								T15_ = (NI)0;
7550 								T15_ = len__ast_3198(a);
7551 								colontmp__2 = (NI)(T15_ - ((NI) 2));
7552 								i_4 = ((NI) 0);
7553 								{
7554 									while (1) {
7555 										if (!(i_4 < colontmp__2)) goto LA17;
7556 										i_3 = i_4;
7557 										{
7558 											if (!((*(*a)._kind_6.sons->data[i_3]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA20_;
7559 											{
7560 												NIM_BOOL T24_;
7561 												T24_ = (NIM_BOOL)0;
7562 												T24_ = (((*(*(*a)._kind_6.sons->data[i_3])._kind_4.sym).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 3))&63U)))!=0);
7563 												if (!(T24_)) goto LA25_;
7564 												T24_ = !(((*(*(*a)._kind_6.sons->data[i_3])._kind_4.sym).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 21)));
7565 												LA25_: ;
7566 												if (!!(T24_)) goto LA26_;
7567 												setSlot__vmgen_2224(c, (*(*a)._kind_6.sons->data[i_3])._kind_4.sym);
7568 											}
7569 											LA26_: ;
7570 											checkCanEval__vmgen_2268(c, (*a)._kind_6.sons->data[i_3]);
7571 										}
7572 										LA20_: ;
7573 										i_4 += ((NI) 1);
7574 									} LA17: ;
7575 								}
7576 							}
7577 							T28_ = NIM_NIL;
7578 							T28_ = getOwner__vmgen_2251(c);
7579 							T29_ = NIM_NIL;
7580 							T29_ = lowerTupleUnpacking__lowerings_116((*c).graph, a, (*c).Sup.idgen, T28_);
7581 							gen__vmgen_707(c, T29_, 0);
7582 						}
7583 						goto LA10_;
7584 						LA12_: ;
7585 						{
7586 							tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
7587 							if (!((*(*a)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA31_;
7588 							s = (*(*a)._kind_6.sons->data[((NI) 0)])._kind_4.sym;
7589 							checkCanEval__vmgen_2268(c, (*a)._kind_6.sons->data[((NI) 0)]);
7590 							{
7591 								NIM_BOOL T35_;
7592 								T35_ = (NIM_BOOL)0;
7593 								T35_ = (((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 3))&63U)))!=0);
7594 								if (!(T35_)) goto LA36_;
7595 								T35_ = !(((*s).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 21)));
7596 								LA36_: ;
7597 								if (!T35_) goto LA37_;
7598 								{
7599 									if (!((*s).position == ((NI) 0))) goto LA41_;
7600 									{
7601 										NIM_BOOL T45_;
7602 										T45_ = (NIM_BOOL)0;
7603 										T45_ = importcCond__vmgen_2412(c, s);
7604 										if (!T45_) goto LA46_;
7605 										importcSym__vmgen_2428(c, (*a).info, s);
7606 									}
7607 									goto LA43_;
7608 									LA46_: ;
7609 									{
7610 										tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* sa;
7611 										sa = getNullValue__vmgen_2432((*s).typ, (*a).info, (*c).config);
7612 										add__ast_4797((*c).globals, sa);
7613 										(*s).position = len__ast_3198((*c).globals);
7614 									}
7615 									LA43_: ;
7616 								}
7617 								LA41_: ;
7618 								{
7619 									NI tmp;
7620 									NI val;
7621 									if (!!(((*(*a)._kind_6.sons->data[((NI) 2)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA51_;
7622 									tmp = genx__vmgen_712(c, (*a)._kind_6.sons->data[((NI) 0)], 2);
7623 									val = genx__vmgen_712(c, (*a)._kind_6.sons->data[((NI) 2)], 0);
7624 									genAdditionalCopy__vmgen_2307(c, (*a)._kind_6.sons->data[((NI) 2)], ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 25), tmp, ((NI) 0), val);
7625 									freeTemp__vmgen_550(c, val);
7626 									freeTemp__vmgen_550(c, tmp);
7627 								}
7628 								LA51_: ;
7629 							}
7630 							goto LA33_;
7631 							LA37_: ;
7632 							{
7633 								setSlot__vmgen_2224(c, s);
7634 								{
7635 									tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ T58_;
7636 									NI T59_;
7637 									if (!((*(*a)._kind_6.sons->data[((NI) 2)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1))) goto LA56_;
7638 									T58_ = (tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ)0;
7639 									T58_ = ldNullOpcode__vmgen_1836((*s).typ);
7640 									T59_ = (NI)0;
7641 									T59_ = genType__vmgen_1088(c, (*s).typ);
7642 									gABx__vmgen_375(c, a, T58_, ((NI) ((*s).position)), T59_);
7643 								}
7644 								goto LA54_;
7645 								LA56_: ;
7646 								{
7647 									tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* le;
7648 									{
7649 										NIM_BOOL T63_;
7650 										tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ T66_;
7651 										NI T67_;
7652 										T63_ = (NIM_BOOL)0;
7653 										T63_ = fitsRegister__vmgen_1814((*s).typ);
7654 										if (!!(T63_)) goto LA64_;
7655 										T66_ = (tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ)0;
7656 										T66_ = ldNullOpcode__vmgen_1836((*s).typ);
7657 										T67_ = (NI)0;
7658 										T67_ = genType__vmgen_1088(c, (*s).typ);
7659 										gABx__vmgen_375(c, a, T66_, ((NI) ((*s).position)), T67_);
7660 									}
7661 									LA64_: ;
7662 									le = (*a)._kind_6.sons->data[((NI) 0)];
7663 									{
7664 										NIM_BOOL T70_;
7665 										NIM_BOOL T71_;
7666 										NI cc;
7667 										tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ T75_;
7668 										T70_ = (NIM_BOOL)0;
7669 										T71_ = (NIM_BOOL)0;
7670 										T71_ = fitsRegister__vmgen_1814((*le).typ);
7671 										T70_ = !(T71_);
7672 										if (!(T70_)) goto LA72_;
7673 										T70_ = ((2312 &((NU32)1<<((NU)((*s).kind)&31U)))!=0);
7674 										LA72_: ;
7675 										if (!T70_) goto LA73_;
7676 										cc = getTemp__vmgen_541(c, (*le).typ);
7677 										gen__vmgen_692(c, (*a)._kind_6.sons->data[((NI) 2)], cc, 0);
7678 										T75_ = (tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ)0;
7679 										T75_ = whichAsgnOpc__vmgen_1846(le, NIM_TRUE);
7680 										gABC__vmgen_312(c, le, T75_, ((NI) ((*s).position)), cc, ((NI) 0));
7681 										freeTemp__vmgen_550(c, cc);
7682 									}
7683 									goto LA68_;
7684 									LA73_: ;
7685 									{
7686 										gen__vmgen_692(c, (*a)._kind_6.sons->data[((NI) 2)], ((NI) ((*s).position)), 0);
7687 									}
7688 									LA68_: ;
7689 								}
7690 								LA54_: ;
7691 							}
7692 							LA33_: ;
7693 						}
7694 						goto LA10_;
7695 						LA31_: ;
7696 						{
7697 							{
7698 								NI tmp_2;
7699 								tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ T82_;
7700 								NI T83_;
7701 								if (!((*(*a)._kind_6.sons->data[((NI) 2)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1))) goto LA80_;
7702 								tmp_2 = genx__vmgen_712(c, (*a)._kind_6.sons->data[((NI) 0)], 0);
7703 								T82_ = (tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ)0;
7704 								T82_ = ldNullOpcode__vmgen_1836((*(*a)._kind_6.sons->data[((NI) 0)]).typ);
7705 								T83_ = (NI)0;
7706 								T83_ = genType__vmgen_1088(c, (*(*a)._kind_6.sons->data[((NI) 0)]).typ);
7707 								gABx__vmgen_375(c, a, T82_, tmp_2, T83_);
7708 								freeTemp__vmgen_550(c, tmp_2);
7709 							}
7710 							goto LA78_;
7711 							LA80_: ;
7712 							{
7713 								genAsgn__vmgen_2329(c, (*a)._kind_6.sons->data[((NI) 0)], (*a)._kind_6.sons->data[((NI) 2)], NIM_TRUE);
7714 							}
7715 							LA78_: ;
7716 						}
7717 						LA10_: ;
7718 					} LA5: ;
7719 					i_2 += ((NI) 1);
7720 				} LA4: ;
7721 			}
7722 		}
7723 	}
7724 }
N_NIMCALL(void,genArrayConstr__vmgen_2947)7725 N_LIB_PRIVATE N_NIMCALL(void, genArrayConstr__vmgen_2947)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest) {
7726 	NI T6_;
7727 	tyObject_TType__facALICuu8zUj0hjvbTLFg* intType;
7728 	tyObject_TType__facALICuu8zUj0hjvbTLFg* seqType;
7729 	{
7730 		NI T5_;
7731 		if (!(((NI) ((*dest))) < ((NI) 0))) goto LA3_;
7732 		T5_ = (NI)0;
7733 		T5_ = getTemp__vmgen_541(c, (*n).typ);
7734 		(*dest) = ((NI) (T5_));
7735 	}
7736 	LA3_: ;
7737 	T6_ = (NI)0;
7738 	T6_ = genType__vmgen_1088(c, (*n).typ);
7739 	gABx__vmgen_375(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 172), ((NI) ((*dest))), T6_);
7740 	intType = getSysType__magicsys_60((*c).graph, (*n).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31));
7741 	seqType = skipTypes__ast_3735((*n).typ, TM__24XApAWKNvaMkcyklm8bNA_36);
7742 	{
7743 		NI tmp;
7744 		NI T11_;
7745 		NI T12_;
7746 		if (!((*seqType).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 24))) goto LA9_;
7747 		tmp = getTemp__vmgen_541(c, intType);
7748 		T11_ = (NI)0;
7749 		T11_ = len__ast_3198(n);
7750 		gABx__vmgen_375(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 180), tmp, T11_);
7751 		T12_ = (NI)0;
7752 		T12_ = genType__vmgen_1088(c, seqType);
7753 		gABx__vmgen_375(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 171), ((NI) ((*dest))), T12_);
7754 		gABx__vmgen_375(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 171), tmp, ((NI) 0));
7755 		freeTemp__vmgen_550(c, tmp);
7756 	}
7757 	LA9_: ;
7758 	{
7759 		NI T15_;
7760 		NI tmp_2;
7761 		NI T18_;
7762 		T15_ = (NI)0;
7763 		T15_ = len__ast_3198(n);
7764 		if (!(((NI) 0) < T15_)) goto LA16_;
7765 		tmp_2 = getTemp__vmgen_541(c, intType);
7766 		T18_ = (NI)0;
7767 		T18_ = genType__vmgen_1088(c, intType);
7768 		gABx__vmgen_375(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 173), tmp_2, T18_);
7769 		{
7770 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x;
7771 			x = NIM_NIL;
7772 			{
7773 				NI i;
7774 				NI colontmp_;
7775 				NI i_2;
7776 				i = (NI)0;
7777 				colontmp_ = (NI)0;
7778 				colontmp_ = safeLen__ast_3191(n);
7779 				i_2 = ((NI) 0);
7780 				{
7781 					while (1) {
7782 						NI a;
7783 						if (!(i_2 < colontmp_)) goto LA22;
7784 						i = i_2;
7785 						x = (*n)._kind_6.sons->data[i];
7786 						a = genx__vmgen_712(c, x, 0);
7787 						preventFalseAlias__vmgen_2315(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 18), ((NI) ((*dest))), tmp_2, a);
7788 						gABI__vmgen_347(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 30), tmp_2, tmp_2, IL64(1));
7789 						freeTemp__vmgen_550(c, a);
7790 						i_2 += ((NI) 1);
7791 					} LA22: ;
7792 				}
7793 			}
7794 		}
7795 		freeTemp__vmgen_550(c, tmp_2);
7796 	}
7797 	LA16_: ;
7798 }
N_NIMCALL(void,genSetConstr__vmgen_2971)7799 N_LIB_PRIVATE N_NIMCALL(void, genSetConstr__vmgen_2971)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest) {
7800 	NI T6_;
7801 	{
7802 		NI T5_;
7803 		if (!(((NI) ((*dest))) < ((NI) 0))) goto LA3_;
7804 		T5_ = (NI)0;
7805 		T5_ = getTemp__vmgen_541(c, (*n).typ);
7806 		(*dest) = ((NI) (T5_));
7807 	}
7808 	LA3_: ;
7809 	T6_ = (NI)0;
7810 	T6_ = genType__vmgen_1088(c, (*n).typ);
7811 	gABx__vmgen_375(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 172), ((NI) ((*dest))), T6_);
7812 	{
7813 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x;
7814 		x = NIM_NIL;
7815 		{
7816 			NI i;
7817 			NI colontmp_;
7818 			NI i_2;
7819 			i = (NI)0;
7820 			colontmp_ = (NI)0;
7821 			colontmp_ = safeLen__ast_3191(n);
7822 			i_2 = ((NI) 0);
7823 			{
7824 				while (1) {
7825 					if (!(i_2 < colontmp_)) goto LA10;
7826 					i = i_2;
7827 					x = (*n)._kind_6.sons->data[i];
7828 					{
7829 						NI a;
7830 						NI b;
7831 						if (!((*x).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 44))) goto LA13_;
7832 						a = genx__vmgen_712(c, (*x)._kind_6.sons->data[((NI) 0)], 0);
7833 						b = genx__vmgen_712(c, (*x)._kind_6.sons->data[((NI) 1)], 0);
7834 						gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 37), ((NI) ((*dest))), a, b);
7835 						freeTemp__vmgen_550(c, b);
7836 						freeTemp__vmgen_550(c, a);
7837 					}
7838 					goto LA11_;
7839 					LA13_: ;
7840 					{
7841 						NI a_2;
7842 						a_2 = genx__vmgen_712(c, x, 0);
7843 						gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 36), ((NI) ((*dest))), a_2, ((NI) 0));
7844 						freeTemp__vmgen_550(c, a_2);
7845 					}
7846 					LA11_: ;
7847 					i_2 += ((NI) 1);
7848 				} LA10: ;
7849 			}
7850 		}
7851 	}
7852 }
N_NIMCALL(void,genObjConstr__vmgen_2985)7853 N_LIB_PRIVATE N_NIMCALL(void, genObjConstr__vmgen_2985)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest) {
7854 	tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
7855 	{
7856 		NI T5_;
7857 		if (!(((NI) ((*dest))) < ((NI) 0))) goto LA3_;
7858 		T5_ = (NI)0;
7859 		T5_ = getTemp__vmgen_541(c, (*n).typ);
7860 		(*dest) = ((NI) (T5_));
7861 	}
7862 	LA3_: ;
7863 	t = skipTypes__ast_3735((*n).typ, TM__24XApAWKNvaMkcyklm8bNA_17);
7864 	{
7865 		NI T10_;
7866 		if (!((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22))) goto LA8_;
7867 		T10_ = (NI)0;
7868 		T10_ = genType__vmgen_1088(c, (*t).sons->data[((NI) 0)]);
7869 		gABx__vmgen_375(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 170), ((NI) ((*dest))), T10_);
7870 	}
7871 	goto LA6_;
7872 	LA8_: ;
7873 	{
7874 		NI T12_;
7875 		T12_ = (NI)0;
7876 		T12_ = genType__vmgen_1088(c, (*n).typ);
7877 		gABx__vmgen_375(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 172), ((NI) ((*dest))), T12_);
7878 	}
7879 	LA6_: ;
7880 	{
7881 		NI i;
7882 		NI colontmp_;
7883 		NI i_2;
7884 		i = (NI)0;
7885 		colontmp_ = (NI)0;
7886 		colontmp_ = len__ast_3198(n);
7887 		i_2 = ((NI) 1);
7888 		{
7889 			while (1) {
7890 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* it;
7891 				if (!(i_2 < colontmp_)) goto LA15;
7892 				i = i_2;
7893 				it = (*n)._kind_6.sons->data[i];
7894 				{
7895 					NIM_BOOL T18_;
7896 					NI idx;
7897 					NI tmp;
7898 					T18_ = (NIM_BOOL)0;
7899 					T18_ = ((*it).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 34));
7900 					if (!(T18_)) goto LA19_;
7901 					T18_ = ((*(*it)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
7902 					LA19_: ;
7903 					if (!T18_) goto LA20_;
7904 					idx = genField__vmgen_1288(c, (*it)._kind_6.sons->data[((NI) 0)]);
7905 					tmp = genx__vmgen_712(c, (*it)._kind_6.sons->data[((NI) 1)], 0);
7906 					preventFalseAlias__vmgen_2315(c, (*it)._kind_6.sons->data[((NI) 1)], ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 21), ((NI) ((*dest))), idx, tmp);
7907 					freeTemp__vmgen_550(c, tmp);
7908 				}
7909 				goto LA16_;
7910 				LA20_: ;
7911 				{
7912 					liMessage__msgs_1118((*c).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_99), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 2), TM__24XApAWKNvaMkcyklm8bNA_100, NIM_FALSE);
7913 				}
7914 				LA16_: ;
7915 				i_2 += ((NI) 1);
7916 			} LA15: ;
7917 		}
7918 	}
7919 }
N_NIMCALL(void,genTupleConstr__vmgen_3027)7920 N_LIB_PRIVATE N_NIMCALL(void, genTupleConstr__vmgen_3027)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest) {
7921 	{
7922 		NI T5_;
7923 		if (!(((NI) ((*dest))) < ((NI) 0))) goto LA3_;
7924 		T5_ = (NI)0;
7925 		T5_ = getTemp__vmgen_541(c, (*n).typ);
7926 		(*dest) = ((NI) (T5_));
7927 	}
7928 	LA3_: ;
7929 	{
7930 		NI T10_;
7931 		if (!!(((*(*n).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8)))) goto LA8_;
7932 		T10_ = (NI)0;
7933 		T10_ = genType__vmgen_1088(c, (*n).typ);
7934 		gABx__vmgen_375(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 172), ((NI) ((*dest))), T10_);
7935 		{
7936 			NI i;
7937 			NI colontmp_;
7938 			NI i_2;
7939 			i = (NI)0;
7940 			colontmp_ = (NI)0;
7941 			colontmp_ = len__ast_3198(n);
7942 			i_2 = ((NI) 0);
7943 			{
7944 				while (1) {
7945 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* it;
7946 					if (!(i_2 < colontmp_)) goto LA13;
7947 					i = i_2;
7948 					it = (*n)._kind_6.sons->data[i];
7949 					{
7950 						NI idx;
7951 						NI tmp;
7952 						if (!((*it).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 34))) goto LA16_;
7953 						idx = genField__vmgen_1288(c, (*it)._kind_6.sons->data[((NI) 0)]);
7954 						tmp = genx__vmgen_712(c, (*it)._kind_6.sons->data[((NI) 1)], 0);
7955 						preventFalseAlias__vmgen_2315(c, (*it)._kind_6.sons->data[((NI) 1)], ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 21), ((NI) ((*dest))), idx, tmp);
7956 						freeTemp__vmgen_550(c, tmp);
7957 					}
7958 					goto LA14_;
7959 					LA16_: ;
7960 					{
7961 						NI tmp_2;
7962 						tmp_2 = genx__vmgen_712(c, it, 0);
7963 						preventFalseAlias__vmgen_2315(c, it, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 21), ((NI) ((*dest))), ((NI) (i)), tmp_2);
7964 						freeTemp__vmgen_550(c, tmp_2);
7965 					}
7966 					LA14_: ;
7967 					i_2 += ((NI) 1);
7968 				} LA13: ;
7969 			}
7970 		}
7971 	}
7972 	LA8_: ;
7973 }
N_NIMCALL(void,genCastIntFloat__vmgen_1628)7974 N_LIB_PRIVATE N_NIMCALL(void, genCastIntFloat__vmgen_1628)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest) {
7975 	tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag signedIntegers;
7976 	tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag unsignedIntegers;
7977 	tyObject_TType__facALICuu8zUj0hjvbTLFg* src;
7978 	tyObject_TType__facALICuu8zUj0hjvbTLFg* dst;
7979 	NI64 srcSize;
7980 	NI64 dstSize;
7981 	nimZeroMem((void*)signedIntegers, sizeof(tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag));
7982 	nimCopyMem((void*)signedIntegers, (NIM_CONST void*)TM__24XApAWKNvaMkcyklm8bNA_101, 9);
7983 	nimZeroMem((void*)unsignedIntegers, sizeof(tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag));
7984 	nimCopyMem((void*)unsignedIntegers, (NIM_CONST void*)TM__24XApAWKNvaMkcyklm8bNA_102, 9);
7985 	src = skipTypes__ast_3735((*(*n)._kind_6.sons->data[((NI) 1)]).typ, TM__24XApAWKNvaMkcyklm8bNA_103);
7986 	dst = skipTypes__ast_3735((*(*n)._kind_6.sons->data[((NI) 0)]).typ, TM__24XApAWKNvaMkcyklm8bNA_103);
7987 	srcSize = getSize__types_3336((*c).config, src);
7988 	dstSize = getSize__types_3336((*c).config, dst);
7989 	{
7990 		NIM_BOOL T3_;
7991 		NI tmp;
7992 		T3_ = (NIM_BOOL)0;
7993 		T3_ = ((*src).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31) && (*src).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 35) || (*src).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 40) && (*src).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 44) || (*src).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 2));
7994 		if (!(T3_)) goto LA4_;
7995 		T3_ = ((*dst).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31) && (*dst).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 35) || (*dst).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 40) && (*dst).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 44) || (*dst).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 2));
7996 		LA4_: ;
7997 		if (!T3_) goto LA5_;
7998 		tmp = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 1)], 0);
7999 		{
8000 			NI T11_;
8001 			if (!(((NI) ((*dest))) < ((NI) 0))) goto LA9_;
8002 			T11_ = (NI)0;
8003 			T11_ = getTemp__vmgen_541(c, (*(*n)._kind_6.sons->data[((NI) 0)]).typ);
8004 			(*dest) = ((NI) (T11_));
8005 		}
8006 		LA9_: ;
8007 		gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 4), ((NI) ((*dest))), tmp, ((NI) 0));
8008 		{
8009 			if (!!((dstSize == IL64(8)))) goto LA14_;
8010 			{
8011 				if (!((signedIntegers[(NU)((*dst).kind)>>3] &(1U<<((NU)((*dst).kind)&7U)))!=0)) goto LA18_;
8012 				{
8013 					if (!(dstSize <= srcSize)) goto LA22_;
8014 					gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 99), ((NI) ((*dest))), ((NI) ((NI64)(dstSize * IL64(8)))), ((NI) 0));
8015 				}
8016 				LA22_: ;
8017 			}
8018 			goto LA16_;
8019 			LA18_: ;
8020 			{
8021 				if (!((unsignedIntegers[(NU)((*dst).kind)>>3] &(1U<<((NU)((*dst).kind)&7U)))!=0)) goto LA25_;
8022 				{
8023 					NIM_BOOL T29_;
8024 					T29_ = (NIM_BOOL)0;
8025 					T29_ = ((signedIntegers[(NU)((*src).kind)>>3] &(1U<<((NU)((*src).kind)&7U)))!=0);
8026 					if (T29_) goto LA30_;
8027 					T29_ = (dstSize < srcSize);
8028 					LA30_: ;
8029 					if (!T29_) goto LA31_;
8030 					gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 98), ((NI) ((*dest))), ((NI) ((NI64)(dstSize * IL64(8)))), ((NI) 0));
8031 				}
8032 				LA31_: ;
8033 			}
8034 			goto LA16_;
8035 			LA25_: ;
8036 			LA16_: ;
8037 		}
8038 		LA14_: ;
8039 		freeTemp__vmgen_550(c, tmp);
8040 	}
8041 	goto LA1_;
8042 	LA5_: ;
8043 	{
8044 		NIM_BOOL T34_;
8045 		NIM_BOOL T35_;
8046 		NI tmp_2;
8047 		T34_ = (NIM_BOOL)0;
8048 		T35_ = (NIM_BOOL)0;
8049 		T35_ = (srcSize == dstSize);
8050 		if (!(T35_)) goto LA36_;
8051 		T35_ = ((*src).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31) && (*src).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 35) || (*src).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 40) && (*src).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 44) || (*src).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 2));
8052 		LA36_: ;
8053 		T34_ = T35_;
8054 		if (!(T34_)) goto LA37_;
8055 		T34_ = ((*dst).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 36) || (*dst).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 37) || (*dst).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 38));
8056 		LA37_: ;
8057 		if (!T34_) goto LA38_;
8058 		tmp_2 = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 1)], 0);
8059 		{
8060 			NI T44_;
8061 			if (!(((NI) ((*dest))) < ((NI) 0))) goto LA42_;
8062 			T44_ = (NI)0;
8063 			T44_ = getTemp__vmgen_541(c, (*(*n)._kind_6.sons->data[((NI) 0)]).typ);
8064 			(*dest) = ((NI) (T44_));
8065 		}
8066 		LA42_: ;
8067 		{
8068 			if (!((*dst).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 37))) goto LA47_;
8069 			gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 8), ((NI) ((*dest))), tmp_2, ((NI) 0));
8070 		}
8071 		goto LA45_;
8072 		LA47_: ;
8073 		{
8074 			gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 9), ((NI) ((*dest))), tmp_2, ((NI) 0));
8075 		}
8076 		LA45_: ;
8077 		freeTemp__vmgen_550(c, tmp_2);
8078 	}
8079 	goto LA1_;
8080 	LA38_: ;
8081 	{
8082 		NIM_BOOL T51_;
8083 		NIM_BOOL T52_;
8084 		NI tmp_3;
8085 		T51_ = (NIM_BOOL)0;
8086 		T52_ = (NIM_BOOL)0;
8087 		T52_ = (srcSize == dstSize);
8088 		if (!(T52_)) goto LA53_;
8089 		T52_ = ((*src).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 36) || (*src).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 37) || (*src).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 38));
8090 		LA53_: ;
8091 		T51_ = T52_;
8092 		if (!(T51_)) goto LA54_;
8093 		T51_ = ((*dst).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31) && (*dst).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 35) || (*dst).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 40) && (*dst).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 44) || (*dst).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 2));
8094 		LA54_: ;
8095 		if (!T51_) goto LA55_;
8096 		tmp_3 = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 1)], 0);
8097 		{
8098 			NI T61_;
8099 			if (!(((NI) ((*dest))) < ((NI) 0))) goto LA59_;
8100 			T61_ = (NI)0;
8101 			T61_ = getTemp__vmgen_541(c, (*(*n)._kind_6.sons->data[((NI) 0)]).typ);
8102 			(*dest) = ((NI) (T61_));
8103 		}
8104 		LA59_: ;
8105 		{
8106 			if (!((*src).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 37))) goto LA64_;
8107 			gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 10), ((NI) ((*dest))), tmp_3, ((NI) 0));
8108 			{
8109 				if (!((unsignedIntegers[(NU)((*dst).kind)>>3] &(1U<<((NU)((*dst).kind)&7U)))!=0)) goto LA68_;
8110 				gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 98), ((NI) ((*dest))), ((NI) 32), ((NI) 0));
8111 			}
8112 			LA68_: ;
8113 		}
8114 		goto LA62_;
8115 		LA64_: ;
8116 		{
8117 			gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 11), ((NI) ((*dest))), tmp_3, ((NI) 0));
8118 		}
8119 		LA62_: ;
8120 		freeTemp__vmgen_550(c, tmp_3);
8121 	}
8122 	goto LA1_;
8123 	LA55_: ;
8124 	{
8125 		NIM_BOOL T72_;
8126 		NI tmp_4;
8127 		NI64 imm;
8128 		NI T81_;
8129 		T72_ = (NIM_BOOL)0;
8130 		T72_ = ((*src).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21) && (*src).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22) || (*src).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 26));
8131 		if (!(T72_)) goto LA73_;
8132 		T72_ = ((*dst).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31));
8133 		LA73_: ;
8134 		if (!T72_) goto LA74_;
8135 		tmp_4 = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 1)], 0);
8136 		{
8137 			NI T80_;
8138 			if (!(((NI) ((*dest))) < ((NI) 0))) goto LA78_;
8139 			T80_ = (NI)0;
8140 			T80_ = getTemp__vmgen_541(c, (*(*n)._kind_6.sons->data[((NI) 0)]).typ);
8141 			(*dest) = ((NI) (T80_));
8142 		}
8143 		LA78_: ;
8144 		T81_ = (NI)0;
8145 		{
8146 			if (!((*src).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 26) || (*src).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21))) goto LA84_;
8147 			T81_ = ((NI) 1);
8148 		}
8149 		goto LA82_;
8150 		LA84_: ;
8151 		{
8152 			T81_ = ((NI) 2);
8153 		}
8154 		LA82_: ;
8155 		imm = ((NI64) (T81_));
8156 		gABI__vmgen_347(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 12), ((NI) ((*dest))), tmp_4, imm);
8157 		freeTemp__vmgen_550(c, tmp_4);
8158 	}
8159 	goto LA1_;
8160 	LA74_: ;
8161 	{
8162 		NIM_BOOL T88_;
8163 		NI tmp_5;
8164 		NI T97_;
8165 		T88_ = (NIM_BOOL)0;
8166 		T88_ = ((*src).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21) || (*src).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 26) || (*src).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31));
8167 		if (!(T88_)) goto LA89_;
8168 		T88_ = ((*dst).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 26) || (*dst).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21));
8169 		LA89_: ;
8170 		if (!T88_) goto LA90_;
8171 		tmp_5 = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 1)], 0);
8172 		{
8173 			NI T96_;
8174 			if (!(((NI) ((*dest))) < ((NI) 0))) goto LA94_;
8175 			T96_ = (NI)0;
8176 			T96_ = getTemp__vmgen_541(c, (*(*n)._kind_6.sons->data[((NI) 0)]).typ);
8177 			(*dest) = ((NI) (T96_));
8178 		}
8179 		LA94_: ;
8180 		T97_ = (NI)0;
8181 		T97_ = genType__vmgen_1088(c, dst);
8182 		gABx__vmgen_375(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 183), ((NI) ((*dest))), T97_);
8183 		gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 13), ((NI) ((*dest))), tmp_5, ((NI) 0));
8184 		freeTemp__vmgen_550(c, tmp_5);
8185 	}
8186 	goto LA1_;
8187 	LA90_: ;
8188 	{
8189 		NIM_BOOL T99_;
8190 		T99_ = (NIM_BOOL)0;
8191 		T99_ = ((*src).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 5));
8192 		if (!(T99_)) goto LA100_;
8193 		T99_ = ((*dst).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 26) || (*dst).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 29) || (*dst).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22) || (*dst).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21) || (*dst).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25) || (*dst).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 50));
8194 		LA100_: ;
8195 		if (!T99_) goto LA101_;
8196 		{
8197 			NI T107_;
8198 			if (!(((NI) ((*dest))) < ((NI) 0))) goto LA105_;
8199 			T107_ = (NI)0;
8200 			T107_ = getTemp__vmgen_541(c, (*(*n)._kind_6.sons->data[((NI) 0)]).typ);
8201 			(*dest) = ((NI) (T107_));
8202 		}
8203 		LA105_: ;
8204 		genLit__vmgen_1199(c, (*n)._kind_6.sons->data[((NI) 1)], dest);
8205 	}
8206 	goto LA1_;
8207 	LA101_: ;
8208 	{
8209 		NimStringDesc* T109_;
8210 		T109_ = NIM_NIL;
8211 		T109_ = rawNewString((reprEnum((NI)(*src).kind, (&NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_)) ? reprEnum((NI)(*src).kind, (&NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_))->Sup.len : 0) + (reprEnum((NI)(*dst).kind, (&NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_)) ? reprEnum((NI)(*dst).kind, (&NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_))->Sup.len : 0) + 36);
8212 appendString(T109_, ((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_104));
8213 appendString(T109_, reprEnum((NI)(*src).kind, (&NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_)));
8214 appendString(T109_, ((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_105));
8215 appendString(T109_, reprEnum((NI)(*dst).kind, (&NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_)));
8216 		liMessage__msgs_1118((*c).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T109_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 2), TM__24XApAWKNvaMkcyklm8bNA_106, NIM_FALSE);
8217 	}
8218 	LA1_: ;
8219 }
N_INLINE(NIM_BOOL,isCompileTimeOnly__types_3528)8220 static N_INLINE(NIM_BOOL, isCompileTimeOnly__types_3528)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
8221 	NIM_BOOL result;
8222 	result = (NIM_BOOL)0;
8223 	result = ((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8) || (*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60));
8224 	return result;
8225 }
N_NIMCALL(void,gen__vmgen_687)8226 N_LIB_PRIVATE N_NIMCALL(void, gen__vmgen_687)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest, tySet_tyEnum_TGenFlag__dpr9bkeHD0U9bDk615O0L1FQ flags) {
8227 	switch ((*n).kind) {
8228 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
8229 	{
8230 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
8231 		s = (*n)._kind_4.sym;
8232 		checkCanEval__vmgen_2268(c, n);
8233 		switch ((*s).kind) {
8234 		case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 8):
8235 		case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 21):
8236 		case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 5):
8237 		case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 9):
8238 		case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3):
8239 		case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 11):
8240 		{
8241 			genRdVar__vmgen_2453(c, n, dest, flags);
8242 		}
8243 		break;
8244 		case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 12):
8245 		case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 13):
8246 		case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 16):
8247 		case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 17):
8248 		case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 18):
8249 		case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 14):
8250 		case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 15):
8251 		{
8252 			{
8253 				NIM_BOOL T6_;
8254 				T6_ = (NIM_BOOL)0;
8255 				T6_ = ((*s).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 15));
8256 				if (!(T6_)) goto LA7_;
8257 				T6_ = ((*(*s).typ).callConv == ((tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA) 9));
8258 				LA7_: ;
8259 				if (!T6_) goto LA8_;
8260 				liMessage__msgs_1118((*c).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_25), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 2), TM__24XApAWKNvaMkcyklm8bNA_26, NIM_FALSE);
8261 			}
8262 			LA8_: ;
8263 			{
8264 				NIM_BOOL T12_;
8265 				T12_ = (NIM_BOOL)0;
8266 				T12_ = procIsCallback__vmgen_3104(c, s);
8267 				if (!T12_) goto LA13_;
8268 			}
8269 			goto LA10_;
8270 			LA13_: ;
8271 			{
8272 				NIM_BOOL T16_;
8273 				T16_ = (NIM_BOOL)0;
8274 				T16_ = importcCond__vmgen_2412(c, s);
8275 				if (!T16_) goto LA17_;
8276 				importcSym__vmgen_2428(c, (*n).info, s);
8277 			}
8278 			goto LA10_;
8279 			LA17_: ;
8280 			LA10_: ;
8281 			genLit__vmgen_1199(c, n, dest);
8282 		}
8283 		break;
8284 		case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 10):
8285 		{
8286 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* constVal;
8287 			{
8288 				if (!!(((*s).ast == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA22_;
8289 				constVal = (*s).ast;
8290 			}
8291 			goto LA20_;
8292 			LA22_: ;
8293 			{
8294 				constVal = (*(*s).typ).n;
8295 			}
8296 			LA20_: ;
8297 			gen__vmgen_687(c, constVal, dest, 0);
8298 		}
8299 		break;
8300 		case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 20):
8301 		{
8302 			{
8303 				NI T30_;
8304 				if (!(((NI) ((*dest))) < ((NI) 0))) goto LA28_;
8305 				T30_ = (NI)0;
8306 				T30_ = getTemp__vmgen_541(c, (*n).typ);
8307 				(*dest) = ((NI) (T30_));
8308 			}
8309 			LA28_: ;
8310 			{
8311 				NIM_BOOL T33_;
8312 				T33_ = (NIM_BOOL)0;
8313 				T33_ = (((NI) -32768) <= (*s).position);
8314 				if (!(T33_)) goto LA34_;
8315 				T33_ = ((*s).position <= ((NI) 32767));
8316 				LA34_: ;
8317 				if (!T33_) goto LA35_;
8318 				gABx__vmgen_375(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 180), ((NI) ((*dest))), (*s).position);
8319 			}
8320 			goto LA31_;
8321 			LA35_: ;
8322 			{
8323 				NI lit;
8324 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T38_;
8325 				T38_ = NIM_NIL;
8326 				T38_ = newIntNode__ast_3723(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6), ((NI64) ((*s).position)));
8327 				lit = genLiteral__vmgen_1013(c, T38_);
8328 				gABx__vmgen_375(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 174), ((NI) ((*dest))), lit);
8329 			}
8330 			LA31_: ;
8331 		}
8332 		break;
8333 		case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 7):
8334 		{
8335 			genTypeLit__vmgen_2407(c, (*s).typ, dest);
8336 		}
8337 		break;
8338 		case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 4):
8339 		{
8340 			{
8341 				NIM_BOOL T43_;
8342 				T43_ = (NIM_BOOL)0;
8343 				T43_ = !(((*(*c).prc).sym == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
8344 				if (!(T43_)) goto LA44_;
8345 				T43_ = ((*(*(*c).prc).sym).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 17));
8346 				LA44_: ;
8347 				if (!T43_) goto LA45_;
8348 				genRdVar__vmgen_2453(c, n, dest, flags);
8349 			}
8350 			goto LA41_;
8351 			LA45_: ;
8352 			{
8353 				NimStringDesc* T48_;
8354 				T48_ = NIM_NIL;
8355 				T48_ = rawNewString(((*(*s).name).s ? (*(*s).name).s->Sup.len : 0) + 26);
8356 appendString(T48_, ((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_30));
8357 appendString(T48_, (*(*s).name).s);
8358 				liMessage__msgs_1118((*c).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T48_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 2), TM__24XApAWKNvaMkcyklm8bNA_31, NIM_FALSE);
8359 			}
8360 			LA41_: ;
8361 		}
8362 		break;
8363 		default:
8364 		{
8365 			NimStringDesc* T50_;
8366 			T50_ = NIM_NIL;
8367 			T50_ = rawNewString(((*(*s).name).s ? (*(*s).name).s->Sup.len : 0) + 26);
8368 appendString(T50_, ((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_30));
8369 appendString(T50_, (*(*s).name).s);
8370 			liMessage__msgs_1118((*c).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T50_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 2), TM__24XApAWKNvaMkcyklm8bNA_32, NIM_FALSE);
8371 		}
8372 		break;
8373 		}
8374 	}
8375 	break;
8376 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 26) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 32):
8377 	{
8378 		{
8379 			tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s_2;
8380 			if (!((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA54_;
8381 			s_2 = (*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym;
8382 			{
8383 				if (!!(((*s_2).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 0)))) goto LA58_;
8384 				genMagic__vmgen_1858(c, n, dest, (*s_2).magic);
8385 			}
8386 			goto LA56_;
8387 			LA58_: ;
8388 			{
8389 				NimStringDesc* T63_;
8390 				if (!((*s_2).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 14))) goto LA61_;
8391 				T63_ = NIM_NIL;
8392 				T63_ = rawNewString(((*(*s_2).name).s ? (*(*s_2).name).s->Sup.len : 0) + 35);
8393 appendString(T63_, ((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_84));
8394 appendString(T63_, (*(*s_2).name).s);
8395 appendString(T63_, ((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_85));
8396 				liMessage__msgs_1118((*c).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T63_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__24XApAWKNvaMkcyklm8bNA_86, NIM_FALSE);
8397 			}
8398 			goto LA56_;
8399 			LA61_: ;
8400 			{
8401 				NIM_BOOL T65_;
8402 				T65_ = (NIM_BOOL)0;
8403 				T65_ = matches__vmgen_3058(s_2, ((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_87));
8404 				if (!T65_) goto LA66_;
8405 				genMarshalLoad__vmgen_2071(c, n, dest);
8406 			}
8407 			goto LA56_;
8408 			LA66_: ;
8409 			{
8410 				NIM_BOOL T69_;
8411 				T69_ = (NIM_BOOL)0;
8412 				T69_ = matches__vmgen_3058(s_2, ((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_88));
8413 				if (!T69_) goto LA70_;
8414 				genMarshalStore__vmgen_2077(c, n, dest);
8415 			}
8416 			goto LA56_;
8417 			LA70_: ;
8418 			{
8419 				genCall__vmgen_1204(c, n, dest);
8420 				clearDest__vmgen_718(c, n, dest);
8421 			}
8422 			LA56_: ;
8423 		}
8424 		goto LA52_;
8425 		LA54_: ;
8426 		{
8427 			genCall__vmgen_1204(c, n, dest);
8428 			clearDest__vmgen_718(c, n, dest);
8429 		}
8430 		LA52_: ;
8431 	}
8432 	break;
8433 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 5) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 10):
8434 	{
8435 		{
8436 			NIM_BOOL T77_;
8437 			T77_ = (NIM_BOOL)0;
8438 			T77_ = isInt16Lit__vmgen_1573(n);
8439 			if (!T77_) goto LA78_;
8440 			{
8441 				NI T84_;
8442 				if (!(((NI) ((*dest))) < ((NI) 0))) goto LA82_;
8443 				T84_ = (NI)0;
8444 				T84_ = getTemp__vmgen_541(c, (*n).typ);
8445 				(*dest) = ((NI) (T84_));
8446 			}
8447 			LA82_: ;
8448 			gABx__vmgen_375(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 180), ((NI) ((*dest))), ((NI) ((*n)._kind_1.intVal)));
8449 		}
8450 		goto LA75_;
8451 		LA78_: ;
8452 		{
8453 			genLit__vmgen_1199(c, n, dest);
8454 		}
8455 		LA75_: ;
8456 	}
8457 	break;
8458 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 11) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 22):
8459 	{
8460 		genLit__vmgen_1199(c, n, dest);
8461 	}
8462 	break;
8463 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23):
8464 	{
8465 		{
8466 			NIM_BOOL T90_;
8467 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T93_;
8468 			T90_ = (NIM_BOOL)0;
8469 			T90_ = isEmptyType__ast_4779((*n).typ);
8470 			if (!!(T90_)) goto LA91_;
8471 			T93_ = NIM_NIL;
8472 			T93_ = getNullValue__vmgen_2432((*n).typ, (*n).info, (*c).config);
8473 			genLit__vmgen_1199(c, T93_, dest);
8474 		}
8475 		goto LA88_;
8476 		LA91_: ;
8477 		{
8478 			unused__vmgen_1026(c, n, (*dest));
8479 		}
8480 		LA88_: ;
8481 	}
8482 	break;
8483 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 73):
8484 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 74):
8485 	{
8486 		unused__vmgen_1026(c, n, (*dest));
8487 		genAsgn__vmgen_2329(c, (*n)._kind_6.sons->data[((NI) 0)], (*n)._kind_6.sons->data[((NI) 1)], ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 73)));
8488 	}
8489 	break;
8490 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 45):
8491 	{
8492 		genObjAccess__vmgen_2569(c, n, dest, flags);
8493 	}
8494 	break;
8495 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 46):
8496 	{
8497 		genCheckedObjAccess__vmgen_2646(c, n, dest, flags);
8498 	}
8499 	break;
8500 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 42):
8501 	{
8502 		genArrAccess__vmgen_2682(c, n, dest, flags);
8503 	}
8504 	break;
8505 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 47):
8506 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 65):
8507 	{
8508 		genDeref__vmgen_2181(c, n, dest, flags);
8509 	}
8510 	break;
8511 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 63):
8512 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 64):
8513 	{
8514 		genAddr__vmgen_2138(c, n, dest, flags);
8515 	}
8516 	break;
8517 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 92):
8518 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 48):
8519 	{
8520 		genIf__vmgen_883(c, n, dest);
8521 	}
8522 	break;
8523 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 93):
8524 	{
8525 		gen__vmgen_687(c, (*(*n)._kind_6.sons->data[((NI) 0)])._kind_6.sons->data[((NI) 1)], dest, 0);
8526 	}
8527 	break;
8528 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 97):
8529 	{
8530 		genCase__vmgen_1030(c, n, dest);
8531 	}
8532 	break;
8533 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 96):
8534 	{
8535 		unused__vmgen_1026(c, n, (*dest));
8536 		genWhile__vmgen_761(c, n);
8537 	}
8538 	break;
8539 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 127):
8540 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 112):
8541 	{
8542 		genBlock__vmgen_799(c, n, dest);
8543 	}
8544 	break;
8545 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 109):
8546 	{
8547 		genReturn__vmgen_1190(c, n);
8548 	}
8549 	break;
8550 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 108):
8551 	{
8552 		genRaise__vmgen_1185(c, n);
8553 	}
8554 	break;
8555 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 110):
8556 	{
8557 		genBreak__vmgen_831(c, n);
8558 	}
8559 	break;
8560 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 106):
8561 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 154):
8562 	{
8563 		genTry__vmgen_1110(c, n, dest);
8564 	}
8565 	break;
8566 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115):
8567 	{
8568 		{
8569 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x;
8570 			x = NIM_NIL;
8571 			{
8572 				NI i;
8573 				NI colontmp_;
8574 				NI i_2;
8575 				i = (NI)0;
8576 				colontmp_ = (NI)0;
8577 				colontmp_ = safeLen__ast_3191(n);
8578 				i_2 = ((NI) 0);
8579 				{
8580 					while (1) {
8581 						if (!(i_2 < colontmp_)) goto LA114;
8582 						i = i_2;
8583 						x = (*n)._kind_6.sons->data[i];
8584 						gen__vmgen_707(c, x, 0);
8585 						i_2 += ((NI) 1);
8586 					} LA114: ;
8587 				}
8588 			}
8589 		}
8590 	}
8591 	break;
8592 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126):
8593 	{
8594 		NI T120_;
8595 		{
8596 			NI i_3;
8597 			NI colontmp__2;
8598 			NI T117_;
8599 			NI i_4;
8600 			i_3 = (NI)0;
8601 			colontmp__2 = (NI)0;
8602 			T117_ = (NI)0;
8603 			T117_ = len__ast_3198(n);
8604 			colontmp__2 = (NI)(T117_ - ((NI) 1));
8605 			i_4 = ((NI) 0);
8606 			{
8607 				while (1) {
8608 					if (!(i_4 < colontmp__2)) goto LA119;
8609 					i_3 = i_4;
8610 					gen__vmgen_707(c, (*n)._kind_6.sons->data[i_3], 0);
8611 					i_4 += ((NI) 1);
8612 				} LA119: ;
8613 			}
8614 		}
8615 		T120_ = (NI)0;
8616 		T120_ = len__ast_3198(n);
8617 		gen__vmgen_687(c, (*n)._kind_6.sons->data[(NI)(T120_ - ((NI) 1))], dest, flags);
8618 	}
8619 	break;
8620 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 91):
8621 	{
8622 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T122_;
8623 		T122_ = NIM_NIL;
8624 		T122_ = lastSon__ast_4832(n);
8625 		gen__vmgen_687(c, T122_, dest, flags);
8626 	}
8627 	break;
8628 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 114):
8629 	{
8630 		unused__vmgen_1026(c, n, (*dest));
8631 		gen__vmgen_707(c, (*n)._kind_6.sons->data[((NI) 0)], 0);
8632 	}
8633 	break;
8634 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 58):
8635 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 59):
8636 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 60):
8637 	{
8638 		genConv__vmgen_1602(c, n, (*n)._kind_6.sons->data[((NI) 1)], dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 93));
8639 	}
8640 	break;
8641 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 66):
8642 	{
8643 		genConv__vmgen_1602(c, n, (*n)._kind_6.sons->data[((NI) 0)], dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 93));
8644 	}
8645 	break;
8646 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 67):
8647 	{
8648 		genConv__vmgen_1602(c, n, (*n)._kind_6.sons->data[((NI) 0)], dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 93));
8649 	}
8650 	break;
8651 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 99):
8652 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 100):
8653 	{
8654 		unused__vmgen_1026(c, n, (*dest));
8655 		genVarSection__vmgen_2831(c, n);
8656 	}
8657 	break;
8658 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 79) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 81):
8659 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 82):
8660 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 84):
8661 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 159):
8662 	{
8663 		unused__vmgen_1026(c, n, (*dest));
8664 	}
8665 	break;
8666 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 51) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 52):
8667 	{
8668 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T130_;
8669 		T130_ = NIM_NIL;
8670 		T130_ = newSymNode__ast_3716((*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym);
8671 		genLit__vmgen_1199(c, T130_, dest);
8672 	}
8673 	break;
8674 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 68):
8675 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 69):
8676 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 70):
8677 	{
8678 		NI tmp0;
8679 		NI tmp1;
8680 		NI tmp2;
8681 		tmp0 = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 0)], 0);
8682 		tmp1 = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 1)], 0);
8683 		tmp2 = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 2)], 0);
8684 		gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 103), tmp0, tmp1, tmp2);
8685 		freeTemp__vmgen_550(c, tmp1);
8686 		freeTemp__vmgen_550(c, tmp2);
8687 		{
8688 			tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ T136_;
8689 			if (!(((NI) 0) <= ((NI) ((*dest))))) goto LA134_;
8690 			T136_ = (tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ)0;
8691 			T136_ = whichAsgnOpc__vmgen_1846(n, NIM_TRUE);
8692 			gABC__vmgen_312(c, n, T136_, ((NI) ((*dest))), tmp0, ((NI) 0));
8693 			freeTemp__vmgen_550(c, tmp0);
8694 		}
8695 		goto LA132_;
8696 		LA134_: ;
8697 		{
8698 			(*dest) = ((NI) (tmp0));
8699 		}
8700 		LA132_: ;
8701 	}
8702 	break;
8703 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1):
8704 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 125):
8705 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 98):
8706 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 101):
8707 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 90):
8708 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 83):
8709 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 121):
8710 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 116):
8711 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 120):
8712 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 118):
8713 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 123):
8714 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 122):
8715 	{
8716 		unused__vmgen_1026(c, n, (*dest));
8717 	}
8718 	break;
8719 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 71):
8720 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 72):
8721 	{
8722 		gen__vmgen_687(c, (*n)._kind_6.sons->data[((NI) 0)], dest, 0);
8723 	}
8724 	break;
8725 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 41):
8726 	{
8727 		genArrayConstr__vmgen_2947(c, n, dest);
8728 	}
8729 	break;
8730 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 39):
8731 	{
8732 		genSetConstr__vmgen_2971(c, n, dest);
8733 	}
8734 	break;
8735 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 38):
8736 	{
8737 		genObjConstr__vmgen_2985(c, n, dest);
8738 	}
8739 	break;
8740 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 37):
8741 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 155):
8742 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 160):
8743 	{
8744 		genTupleConstr__vmgen_3027(c, n, dest);
8745 	}
8746 	break;
8747 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 61):
8748 	{
8749 		{
8750 			if (!(((*c).features &((NU8)1<<((NU)(((tyEnum_TSandboxFlag__JyPEhkAmDAldmLHNNrLR0A) 0))&7U)))!=0)) goto LA147_;
8751 			genConv__vmgen_1602(c, n, (*n)._kind_6.sons->data[((NI) 1)], dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 94));
8752 		}
8753 		goto LA145_;
8754 		LA147_: ;
8755 		{
8756 			genCastIntFloat__vmgen_1628(c, n, dest);
8757 		}
8758 		LA145_: ;
8759 	}
8760 	break;
8761 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 132):
8762 	{
8763 		genTypeLit__vmgen_2407(c, (*n).typ, dest);
8764 	}
8765 	break;
8766 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 24):
8767 	{
8768 	}
8769 	break;
8770 	default:
8771 	{
8772 		{
8773 			NIM_BOOL T155_;
8774 			T155_ = (NIM_BOOL)0;
8775 			T155_ = !(((*n).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
8776 			if (!(T155_)) goto LA156_;
8777 			T155_ = isCompileTimeOnly__types_3528((*n).typ);
8778 			LA156_: ;
8779 			if (!T155_) goto LA157_;
8780 			genTypeLit__vmgen_2407(c, (*n).typ, dest);
8781 		}
8782 		goto LA153_;
8783 		LA157_: ;
8784 		{
8785 			NimStringDesc* T160_;
8786 			NimStringDesc* T161_;
8787 			T160_ = NIM_NIL;
8788 			T161_ = NIM_NIL;
8789 			T161_ = dollar___renderer_2106(n);
8790 			T160_ = rawNewString((T161_ ? T161_->Sup.len : 0) + 28);
8791 appendString(T160_, ((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_107));
8792 appendString(T160_, T161_);
8793 			liMessage__msgs_1118((*c).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T160_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 2), TM__24XApAWKNvaMkcyklm8bNA_108, NIM_FALSE);
8794 		}
8795 		LA153_: ;
8796 	}
8797 	break;
8798 	}
8799 }
N_NIMCALL(void,gen__vmgen_707)8800 N_LIB_PRIVATE N_NIMCALL(void, gen__vmgen_707)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TGenFlag__dpr9bkeHD0U9bDk615O0L1FQ flags) {
8801 	NI tmp;
8802 	tmp = ((NI) -1);
8803 	gen__vmgen_687(c, n, (&tmp), flags);
8804 	{
8805 		if (!(((NI) 0) <= ((NI) (tmp)))) goto LA3_;
8806 		freeTemp__vmgen_550(c, ((NI) (tmp)));
8807 	}
8808 	LA3_: ;
8809 }
N_NIMCALL(void,finalJumpTarget__vmgen_3340)8810 N_LIB_PRIVATE N_NIMCALL(void, finalJumpTarget__vmgen_3340)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, NI pc, NI diff) {
8811 	NU64 oldInstr;
8812 	{
8813 		NIM_BOOL T3_;
8814 		NimStringDesc* argX60gensym608_;
8815 		T3_ = (NIM_BOOL)0;
8816 		T3_ = (((NI) -8388607) < diff);
8817 		if (!(T3_)) goto LA4_;
8818 		T3_ = (diff < ((NI) 8388607));
8819 		LA4_: ;
8820 		if (!!(T3_)) goto LA5_;
8821 		argX60gensym608_ = toFileLineCol__msgs_615(TM__24XApAWKNvaMkcyklm8bNA_109);
8822 		internalErrorImpl__msgs_1431((*c).config, unknownLineInfo__lineinfos_280, argX60gensym608_, TM__24XApAWKNvaMkcyklm8bNA_109);
8823 	}
8824 	LA5_: ;
8825 	oldInstr = (*c).code->data[pc];
8826 	(*c).code->data[pc] = (NU64)((NU64)(oldInstr & 16777215ULL) | (NU64)((NU64)(((NU64) ((NI)(diff + ((NI) 8388608))))) << (NU64)(24ULL)));
8827 }
N_NIMCALL(void,optimizeJumps__vmgen_3387)8828 N_LIB_PRIVATE N_NIMCALL(void, optimizeJumps__vmgen_3387)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, NI start) {
8829 	{
8830 		NI i;
8831 		NI colontmp_;
8832 		NI T2_;
8833 		NI i_2;
8834 		i = (NI)0;
8835 		colontmp_ = (NI)0;
8836 		T2_ = ((*c).code ? (*c).code->Sup.len : 0);
8837 		colontmp_ = T2_;
8838 		i_2 = start;
8839 		{
8840 			while (1) {
8841 				tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opc;
8842 				if (!(i_2 < colontmp_)) goto LA4;
8843 				i = i_2;
8844 				opc = ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) ((NU64)((NU64)((NU64)((*c).code->data[i]) >> (NU64)(0ULL)) & 255ULL)));
8845 				switch (opc) {
8846 				case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 161):
8847 				case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 162):
8848 				{
8849 					NI reg;
8850 					NI d;
8851 					reg = ((NI) ((NU64)((NU64)((NU64)((*c).code->data[i]) >> (NU64)(8ULL)) & 65535ULL)));
8852 					d = (NI)(i + (NI)(((NI) ((NU64)((NU64)((NU64)((*c).code->data[i]) >> (NU64)(24ULL)) & 16777215ULL))) - ((NI) 8388608)));
8853 					{
8854 						NI iters;
8855 						NI res;
8856 						iters = (NI)0;
8857 						res = ((NI) 10);
8858 						{
8859 							while (1) {
8860 								if (!(((NI) 0) <= res)) goto LA8;
8861 								iters = res;
8862 								switch (((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) ((NU64)((NU64)((NU64)((*c).code->data[d]) >> (NU64)(0ULL)) & 255ULL)))) {
8863 								case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 163):
8864 								{
8865 									d += (NI)(((NI) ((NU64)((NU64)((NU64)((*c).code->data[d]) >> (NU64)(24ULL)) & 16777215ULL))) - ((NI) 8388608));
8866 								}
8867 								break;
8868 								case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 161):
8869 								case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 162):
8870 								{
8871 									{
8872 										if (!!((((NI) (((NI) ((NU64)((NU64)((NU64)((*c).code->data[d]) >> (NU64)(8ULL)) & 65535ULL))))) == ((NI) (reg))))) goto LA13_;
8873 										goto LA6;
8874 									}
8875 									LA13_: ;
8876 									{
8877 										if (!(((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) ((NU64)((NU64)((NU64)((*c).code->data[d]) >> (NU64)(0ULL)) & 255ULL))) == opc)) goto LA17_;
8878 										d += (NI)(((NI) ((NU64)((NU64)((NU64)((*c).code->data[d]) >> (NU64)(24ULL)) & 16777215ULL))) - ((NI) 8388608));
8879 									}
8880 									goto LA15_;
8881 									LA17_: ;
8882 									{
8883 										d += ((NI) 1);
8884 									}
8885 									LA15_: ;
8886 								}
8887 								break;
8888 								default:
8889 								{
8890 									goto LA6;
8891 								}
8892 								break;
8893 								}
8894 								res -= ((NI) 1);
8895 							} LA8: ;
8896 						}
8897 					} LA6: ;
8898 					{
8899 						if (!!((d == (NI)(i + (NI)(((NI) ((NU64)((NU64)((NU64)((*c).code->data[i]) >> (NU64)(24ULL)) & 16777215ULL))) - ((NI) 8388608)))))) goto LA23_;
8900 						finalJumpTarget__vmgen_3340(c, i, (NI)(d - i));
8901 					}
8902 					LA23_: ;
8903 				}
8904 				break;
8905 				case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 163):
8906 				case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 164):
8907 				{
8908 					NI d_2;
8909 					NI iters_2;
8910 					d_2 = (NI)(i + (NI)(((NI) ((NU64)((NU64)((NU64)((*c).code->data[i]) >> (NU64)(24ULL)) & 16777215ULL))) - ((NI) 8388608)));
8911 					iters_2 = ((NI) 10);
8912 					{
8913 						while (1) {
8914 							NIM_BOOL T28_;
8915 							T28_ = (NIM_BOOL)0;
8916 							T28_ = (((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) ((NU64)((NU64)((NU64)((*c).code->data[d_2]) >> (NU64)(0ULL)) & 255ULL))) == ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 163));
8917 							if (!(T28_)) goto LA29_;
8918 							T28_ = (((NI) 0) < iters_2);
8919 							LA29_: ;
8920 							if (!T28_) goto LA27;
8921 							d_2 += (NI)(((NI) ((NU64)((NU64)((NU64)((*c).code->data[d_2]) >> (NU64)(24ULL)) & 16777215ULL))) - ((NI) 8388608));
8922 							iters_2 -= ((NI) 1);
8923 						} LA27: ;
8924 					}
8925 					{
8926 						if (!(((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) ((NU64)((NU64)((NU64)((*c).code->data[d_2]) >> (NU64)(0ULL)) & 255ULL))) == ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 1))) goto LA32_;
8927 						(*c).code->data[i] = (*c).code->data[d_2];
8928 					}
8929 					goto LA30_;
8930 					LA32_: ;
8931 					{
8932 						if (!!((d_2 == (NI)(i + (NI)(((NI) ((NU64)((NU64)((NU64)((*c).code->data[i]) >> (NU64)(24ULL)) & 16777215ULL))) - ((NI) 8388608)))))) goto LA35_;
8933 						finalJumpTarget__vmgen_3340(c, i, (NI)(d_2 - i));
8934 					}
8935 					goto LA30_;
8936 					LA35_: ;
8937 					LA30_: ;
8938 				}
8939 				break;
8940 				default:
8941 				{
8942 				}
8943 				break;
8944 				}
8945 				i_2 += ((NI) 1);
8946 			} LA4: ;
8947 		}
8948 	}
8949 }
N_NIMCALL(NI,genProc__vmgen_3055)8950 N_LIB_PRIVATE N_NIMCALL(NI, genProc__vmgen_3055)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s) {
8951 	NI result;
8952 	NI pos;
8953 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym636_;
8954 	NIM_BOOL wasNotGenProcBefore;
8955 	NIM_BOOL noRegistersAllocated;
8956 	result = (NI)0;
8957 	xX60gensym636_ = s;
8958 	pos = getOrDefault__vmgen_3597((*c).procToCodePos, (NI)((NI)((NU64)(((NI) ((*xX60gensym636_).Sup.itemId.module))) << (NU64)(((NI) 24))) + ((NI) ((*xX60gensym636_).Sup.itemId.item))));
8959 	wasNotGenProcBefore = (pos == ((NI) 0));
8960 	noRegistersAllocated = ((*s).offset == ((NI) -1));
8961 	{
8962 		NIM_BOOL T3_;
8963 		NI last;
8964 		NI T7_;
8965 		NU64 eofInstr;
8966 		NI T14_;
8967 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym641_;
8968 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* body;
8969 		NIM_BOOL T15_;
8970 		NI procStart;
8971 		tyObject_PProccolonObjectType___VFEBuxrDHC6kHPzc1TWaRQ* p;
8972 		tyObject_PProccolonObjectType___VFEBuxrDHC6kHPzc1TWaRQ* T16_;
8973 		tyObject_PProccolonObjectType___VFEBuxrDHC6kHPzc1TWaRQ* oldPrc;
8974 		NI T28_;
8975 		T3_ = (NIM_BOOL)0;
8976 		T3_ = wasNotGenProcBefore;
8977 		if (T3_) goto LA4_;
8978 		T3_ = noRegistersAllocated;
8979 		LA4_: ;
8980 		if (!T3_) goto LA5_;
8981 		T7_ = ((*c).code ? (*c).code->Sup.len : 0);
8982 		last = (NI)(T7_ - ((NI) 1));
8983 		eofInstr = (NU64)0;
8984 		{
8985 			NIM_BOOL T10_;
8986 			T10_ = (NIM_BOOL)0;
8987 			T10_ = (((NI) 0) <= last);
8988 			if (!(T10_)) goto LA11_;
8989 			T10_ = (((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) ((NU64)((NU64)((NU64)((*c).code->data[last]) >> (NU64)(0ULL)) & 255ULL))) == ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 0));
8990 			LA11_: ;
8991 			if (!T10_) goto LA12_;
8992 			eofInstr = (*c).code->data[last];
8993 			asgnRef((void**) (&(*c).code), (tySequence__YdLNCDKYeipzJx3I8Xw82Q*) setLengthSeqV2(&((*c).code)->Sup, (&NTIseqLtinstrT__YdLNCDKYeipzJx3I8Xw82Q_), ((NI) (last))));
8994 			asgnRef((void**) (&(*c).debug), (tySequence__PJMRIt5QxCm6bRaVyQ5CGA*) setLengthSeqV2(&((*c).debug)->Sup, (&NTIseqLtlineinfoT__PJMRIt5QxCm6bRaVyQ5CGA_), ((NI) (last))));
8995 		}
8996 		LA12_: ;
8997 		T14_ = ((*c).code ? (*c).code->Sup.len : 0);
8998 		result = (NI)(T14_ + ((NI) 1));
8999 		xX60gensym641_ = s;
9000 		X5BX5Deq___importer_2284((&(*c).procToCodePos), (NI)((NI)((NU64)(((NI) ((*xX60gensym641_).Sup.itemId.module))) << (NU64)(((NI) 24))) + ((NI) ((*xX60gensym641_).Sup.itemId.item))), result);
9001 		T15_ = (NIM_BOOL)0;
9002 		T15_ = isCompileTimeProc__ast_4683(s);
9003 		body = transformBody__transf_16((*c).graph, (*c).Sup.idgen, s, !(T15_));
9004 		procStart = xjmp__vmgen_398(c, body, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 163), ((NI) 0));
9005 		T16_ = NIM_NIL;
9006 		T16_ = (tyObject_PProccolonObjectType___VFEBuxrDHC6kHPzc1TWaRQ*) newObj((&NTIpproc__FM7mzTFsA8pyUhXVKKO6Gw_), sizeof(tyObject_PProccolonObjectType___VFEBuxrDHC6kHPzc1TWaRQ));
9007 		if ((*T16_).blocks) { nimGCunrefRC1((*T16_).blocks); (*T16_).blocks = NIM_NIL; }
9008 		asgnRef((void**) (&(*T16_).sym), s);
9009 		p = T16_;
9010 		oldPrc = (*c).prc;
9011 		asgnRef((void**) (&(*c).prc), p);
9012 		genParams__vmgen_3318(c, (*(*s).typ).n);
9013 		{
9014 			NIM_BOOL T19_;
9015 			T19_ = (NIM_BOOL)0;
9016 			T19_ = ((*s).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 17));
9017 			if (!(T19_)) goto LA20_;
9018 			T19_ = isGenericRoutineStrict__ast_4639(s);
9019 			LA20_: ;
9020 			if (!T19_) goto LA21_;
9021 			genGenericParams__vmgen_3361(c, (*(*s).ast)._kind_6.sons->data[((NI) 2)]);
9022 		}
9023 		LA21_: ;
9024 		{
9025 			NI T27_;
9026 			if (!(((*(*s).typ).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 12))&63U)))!=0)) goto LA25_;
9027 			asgnRef((void**) (&(*(*c).prc).regInfo), (tySequence__C1Ql3I9bU3HGPJdRd2y9cbVg*) incrSeqV3((TGenericSeq*)((*(*c).prc).regInfo), (&NTIseqLtupleLinuse58bool_kind58tslotkindTT__C1Ql3I9bU3HGPJdRd2y9cbVg_)));
9028 			T27_ = (*(*c).prc).regInfo->Sup.len++;
9029 			(*(*c).prc).regInfo->data[T27_] = TM__24XApAWKNvaMkcyklm8bNA_5;
9030 		}
9031 		LA25_: ;
9032 		gen__vmgen_707(c, body, 0);
9033 		gABC__vmgen_312(c, body, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 1), ((NI) 0), ((NI) 0), ((NI) 0));
9034 		patch__vmgen_434(c, procStart);
9035 		gABC__vmgen_312(c, body, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 0), ((NI) ((NU64)((NU64)((NU64)(eofInstr) >> (NU64)(8ULL)) & 65535ULL))), ((NI) 0), ((NI) 0));
9036 		optimizeJumps__vmgen_3387(c, result);
9037 		T28_ = ((*(*c).prc).regInfo ? (*(*c).prc).regInfo->Sup.len : 0);
9038 		(*s).offset = T28_;
9039 		asgnRef((void**) (&(*c).prc), oldPrc);
9040 	}
9041 	goto LA1_;
9042 	LA5_: ;
9043 	{
9044 		asgnRef((void**) (&(*(*c).prc).regInfo), (tySequence__C1Ql3I9bU3HGPJdRd2y9cbVg*) setLengthSeqV2(&((*(*c).prc).regInfo)->Sup, (&NTIseqLtupleLinuse58bool_kind58tslotkindTT__C1Ql3I9bU3HGPJdRd2y9cbVg_), ((NI) ((*s).offset))));
9045 		result = pos;
9046 	}
9047 	LA1_: ;
9048 	return result;
9049 }
N_NIMCALL(void,removeLastEof__vmgen_3268)9050 N_LIB_PRIVATE N_NIMCALL(void, removeLastEof__vmgen_3268)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c) {
9051 	NI last;
9052 	NI T1_;
9053 	T1_ = ((*c).code ? (*c).code->Sup.len : 0);
9054 	last = (NI)(T1_ - ((NI) 1));
9055 	{
9056 		NIM_BOOL T4_;
9057 		T4_ = (NIM_BOOL)0;
9058 		T4_ = (((NI) 0) <= last);
9059 		if (!(T4_)) goto LA5_;
9060 		T4_ = (((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) ((NU64)((NU64)((NU64)((*c).code->data[last]) >> (NU64)(0ULL)) & 255ULL))) == ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 0));
9061 		LA5_: ;
9062 		if (!T4_) goto LA6_;
9063 		asgnRef((void**) (&(*c).code), (tySequence__YdLNCDKYeipzJx3I8Xw82Q*) setLengthSeqV2(&((*c).code)->Sup, (&NTIseqLtinstrT__YdLNCDKYeipzJx3I8Xw82Q_), ((NI) (last))));
9064 		asgnRef((void**) (&(*c).debug), (tySequence__PJMRIt5QxCm6bRaVyQ5CGA*) setLengthSeqV2(&((*c).debug)->Sup, (&NTIseqLtlineinfoT__PJMRIt5QxCm6bRaVyQ5CGA_), ((NI) (last))));
9065 	}
9066 	LA6_: ;
9067 }
N_NIMCALL(NI,genExpr__vmgen_3309)9068 N_LIB_PRIVATE N_NIMCALL(NI, genExpr__vmgen_3309)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NIM_BOOL requiresValue) {
9069 	NI result;
9070 	NI T1_;
9071 	NI d;
9072 	result = (NI)0;
9073 	removeLastEof__vmgen_3268(c);
9074 	T1_ = ((*c).code ? (*c).code->Sup.len : 0);
9075 	result = T1_;
9076 	d = ((NI) -1);
9077 	gen__vmgen_687(c, n, (&d), 0);
9078 	{
9079 		if (!(((NI) (d)) < ((NI) 0))) goto LA4_;
9080 		{
9081 			if (!requiresValue) goto LA8_;
9082 			liMessage__msgs_1118((*c).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_110), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 2), TM__24XApAWKNvaMkcyklm8bNA_111, NIM_FALSE);
9083 		}
9084 		LA8_: ;
9085 		d = ((NI) 0);
9086 	}
9087 	LA4_: ;
9088 	gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 0), ((NI) (d)), ((NI) 0), ((NI) 0));
9089 	return result;
9090 }
N_NIMCALL(NI,genStmt__vmgen_3301)9091 N_LIB_PRIVATE N_NIMCALL(NI, genStmt__vmgen_3301)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
9092 	NI result;
9093 	NI T1_;
9094 	NI d;
9095 	result = (NI)0;
9096 	removeLastEof__vmgen_3268(c);
9097 	T1_ = ((*c).code ? (*c).code->Sup.len : 0);
9098 	result = T1_;
9099 	d = ((NI) -1);
9100 	gen__vmgen_687(c, n, (&d), 0);
9101 	gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 0), ((NI) 0), ((NI) 0), ((NI) 0));
9102 	{
9103 		if (!(((NI) 0) <= ((NI) (d)))) goto LA4_;
9104 		liMessage__msgs_1118((*c).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_112), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 2), TM__24XApAWKNvaMkcyklm8bNA_113, NIM_FALSE);
9105 	}
9106 	LA4_: ;
9107 	return result;
9108 }
N_NIMCALL(void,compiler_vmgenDatInit000)9109 N_LIB_PRIVATE N_NIMCALL(void, compiler_vmgenDatInit000)(void) {
9110 static TNimNode* TM__24XApAWKNvaMkcyklm8bNA_52_5[5];
9111 static TNimNode TM__24XApAWKNvaMkcyklm8bNA_0[6];
9112 NTIobject__tSX9a6VppB8gTJYBP9aDt4MA_.size = sizeof(tyObject_Env_vmgendotnim_genConv___tSX9a6VppB8gTJYBP9aDt4MA);
9113 NTIobject__tSX9a6VppB8gTJYBP9aDt4MA_.align = NIM_ALIGNOF(tyObject_Env_vmgendotnim_genConv___tSX9a6VppB8gTJYBP9aDt4MA);
9114 NTIobject__tSX9a6VppB8gTJYBP9aDt4MA_.kind = 17;
9115 NTIobject__tSX9a6VppB8gTJYBP9aDt4MA_.base = (&NTIrootobj__ytyiCJqK439aF9cIibuRVpAg_);
9116 TM__24XApAWKNvaMkcyklm8bNA_52_5[0] = &TM__24XApAWKNvaMkcyklm8bNA_0[1];
9117 TM__24XApAWKNvaMkcyklm8bNA_0[1].kind = 1;
9118 TM__24XApAWKNvaMkcyklm8bNA_0[1].offset = offsetof(tyObject_Env_vmgendotnim_genConv___tSX9a6VppB8gTJYBP9aDt4MA, colonstate_);
9119 TM__24XApAWKNvaMkcyklm8bNA_0[1].typ = (&NTIint__xHTZrq9aYs6boc9bCba0JbpQ_);
9120 TM__24XApAWKNvaMkcyklm8bNA_0[1].name = ":state";
9121 TM__24XApAWKNvaMkcyklm8bNA_52_5[1] = &TM__24XApAWKNvaMkcyklm8bNA_0[2];
9122 TM__24XApAWKNvaMkcyklm8bNA_0[2].kind = 1;
9123 TM__24XApAWKNvaMkcyklm8bNA_0[2].offset = offsetof(tyObject_Env_vmgendotnim_genConv___tSX9a6VppB8gTJYBP9aDt4MA, t21);
9124 TM__24XApAWKNvaMkcyklm8bNA_0[2].typ = (&NTIptype__qt2Wh0elFEz5fH0l7yusLw_);
9125 TM__24XApAWKNvaMkcyklm8bNA_0[2].name = "t21";
9126 TM__24XApAWKNvaMkcyklm8bNA_52_5[2] = &TM__24XApAWKNvaMkcyklm8bNA_0[3];
9127 TM__24XApAWKNvaMkcyklm8bNA_0[3].kind = 1;
9128 TM__24XApAWKNvaMkcyklm8bNA_0[3].offset = offsetof(tyObject_Env_vmgendotnim_genConv___tSX9a6VppB8gTJYBP9aDt4MA, targ22);
9129 TM__24XApAWKNvaMkcyklm8bNA_0[3].typ = (&NTIptype__qt2Wh0elFEz5fH0l7yusLw_);
9130 TM__24XApAWKNvaMkcyklm8bNA_0[3].name = "targ22";
9131 TM__24XApAWKNvaMkcyklm8bNA_52_5[3] = &TM__24XApAWKNvaMkcyklm8bNA_0[4];
9132 TM__24XApAWKNvaMkcyklm8bNA_0[4].kind = 1;
9133 TM__24XApAWKNvaMkcyklm8bNA_0[4].offset = offsetof(tyObject_Env_vmgendotnim_genConv___tSX9a6VppB8gTJYBP9aDt4MA, n3);
9134 TM__24XApAWKNvaMkcyklm8bNA_0[4].typ = (&NTIpnode__fKfcLzXYiz5jNu3NH3Tv8Q_);
9135 TM__24XApAWKNvaMkcyklm8bNA_0[4].name = "n3";
9136 TM__24XApAWKNvaMkcyklm8bNA_52_5[4] = &TM__24XApAWKNvaMkcyklm8bNA_0[5];
9137 TM__24XApAWKNvaMkcyklm8bNA_0[5].kind = 1;
9138 TM__24XApAWKNvaMkcyklm8bNA_0[5].offset = offsetof(tyObject_Env_vmgendotnim_genConv___tSX9a6VppB8gTJYBP9aDt4MA, arg4);
9139 TM__24XApAWKNvaMkcyklm8bNA_0[5].typ = (&NTIpnode__fKfcLzXYiz5jNu3NH3Tv8Q_);
9140 TM__24XApAWKNvaMkcyklm8bNA_0[5].name = "arg4";
9141 TM__24XApAWKNvaMkcyklm8bNA_0[0].len = 5; TM__24XApAWKNvaMkcyklm8bNA_0[0].kind = 2; TM__24XApAWKNvaMkcyklm8bNA_0[0].sons = &TM__24XApAWKNvaMkcyklm8bNA_52_5[0];
9142 NTIobject__tSX9a6VppB8gTJYBP9aDt4MA_.node = &TM__24XApAWKNvaMkcyklm8bNA_0[0];
9143 NTIrefobject__b6fqZ1oVWC4DbYpw7amjAw_.size = sizeof(tyObject_Env_vmgendotnim_genConv___tSX9a6VppB8gTJYBP9aDt4MA*);
9144 NTIrefobject__b6fqZ1oVWC4DbYpw7amjAw_.align = NIM_ALIGNOF(tyObject_Env_vmgendotnim_genConv___tSX9a6VppB8gTJYBP9aDt4MA*);
9145 NTIrefobject__b6fqZ1oVWC4DbYpw7amjAw_.kind = 22;
9146 NTIrefobject__b6fqZ1oVWC4DbYpw7amjAw_.base = (&NTIobject__tSX9a6VppB8gTJYBP9aDt4MA_);
9147 NTIrefobject__b6fqZ1oVWC4DbYpw7amjAw_.marker = Marker_tyRef__b6fqZ1oVWC4DbYpw7amjAw;
9148 }
9149 
9150