1 /* Generated by Nim Compiler v1.6.2 */
2 #define NIM_INTBITS 64
3 #define NIM_EmulateOverflowChecks
4 
5 #include "nimbase.h"
6 #include <string.h>
7 #undef LANGUAGE_C
8 #undef MIPSEB
9 #undef MIPSEL
10 #undef PPC
11 #undef R3000
12 #undef R4000
13 #undef i386
14 #undef linux
15 #undef mips
16 #undef near
17 #undef far
18 #undef powerpc
19 #undef unix
20 #define nimfr_(x, y)
21 #define nimln_(x, y)
22 typedef struct tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw;
23 typedef struct tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ;
24 typedef struct tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q;
25 typedef struct tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ;
26 typedef struct tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w;
27 typedef struct RootObj RootObj;
28 typedef struct TNimType TNimType;
29 typedef struct TNimNode TNimNode;
30 typedef struct tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g;
31 typedef struct tyObject_TType__facALICuu8zUj0hjvbTLFg tyObject_TType__facALICuu8zUj0hjvbTLFg;
32 typedef struct tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA;
33 typedef struct tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q;
34 typedef struct tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA;
35 typedef struct tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA;
36 typedef struct tyObject_TLib__NBMxlJ6g3utqUlplqTTHkA tyObject_TLib__NBMxlJ6g3utqUlplqTTHkA;
37 typedef struct tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A;
38 typedef struct NimStringDesc NimStringDesc;
39 typedef struct TGenericSeq TGenericSeq;
40 typedef struct tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ;
41 typedef struct tyObject_Con__mVYRtnERc9advo79cBQUudxg tyObject_Con__mVYRtnERc9advo79cBQUudxg;
42 typedef struct tySequence__hj4BvueOlKB8Z1Qw2ZU4nQ tySequence__hj4BvueOlKB8Z1Qw2ZU4nQ;
43 typedef struct tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA;
44 typedef struct tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA;
45 typedef struct tySequence__Bre9bNyuQOg1EJKitjSzn8w tySequence__Bre9bNyuQOg1EJKitjSzn8w;
46 typedef struct tyObject_Instr__Iclb1njvAJfjjEpCLzUzZg tyObject_Instr__Iclb1njvAJfjjEpCLzUzZg;
47 typedef struct tySequence__4mZLwkxT8rbt9bf3wXrXYNQ tySequence__4mZLwkxT8rbt9bf3wXrXYNQ;
48 typedef struct tySequence__rQHmYk1HzcwNxKBymIFHpA tySequence__rQHmYk1HzcwNxKBymIFHpA;
49 typedef struct tySequence__XMM60DtBsc6xYsIpNANkrA tySequence__XMM60DtBsc6xYsIpNANkrA;
50 typedef struct tyObject_Table__ZqXrnX212T9bCb4lhpQ9bFBw tyObject_Table__ZqXrnX212T9bCb4lhpQ9bFBw;
51 typedef struct tySequence__ChDZ6dokJ9aj9cg3KBoCU5vg tySequence__ChDZ6dokJ9aj9cg3KBoCU5vg;
52 typedef struct tyObject_Table__UVZI5J9aS51B4B0eYPpW1Rg tyObject_Table__UVZI5J9aS51B4B0eYPpW1Rg;
53 typedef struct tySequence__mWRMiYLthG9coLjkbElCxkw tySequence__mWRMiYLthG9coLjkbElCxkw;
54 typedef struct tyObject_Table__iowAVDkco3qpbEH0z8OmkQ tyObject_Table__iowAVDkco3qpbEH0z8OmkQ;
55 typedef struct tySequence__bTDCDwD2P7TodzbAefLcSw tySequence__bTDCDwD2P7TodzbAefLcSw;
56 typedef struct tyObject_Table__KUYGGgSxi8wBr0SXET9bi3w tyObject_Table__KUYGGgSxi8wBr0SXET9bi3w;
57 typedef struct tySequence__3MPVXAHA08SszBrU4ffqEg tySequence__3MPVXAHA08SszBrU4ffqEg;
58 typedef struct tyObject_Table__KcymdZjUsmGSK8BxmvoJgw tyObject_Table__KcymdZjUsmGSK8BxmvoJgw;
59 typedef struct tySequence__YCf5zJHm4JI06qpmKwPUWg tySequence__YCf5zJHm4JI06qpmKwPUWg;
60 typedef struct tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA;
61 typedef struct tySequence__7lEisrXlQEzwtUKW5pzRCw tySequence__7lEisrXlQEzwtUKW5pzRCw;
62 typedef struct tyObject_PackedConfig__McwvRupqDAJbGrinIDFZJQ tyObject_PackedConfig__McwvRupqDAJbGrinIDFZJQ;
63 typedef struct tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA;
64 typedef struct tySequence__eHqUwlHGGaPw0TDPDeL79cQ tySequence__eHqUwlHGGaPw0TDPDeL79cQ;
65 typedef struct tyObject_Table__hd3qB0wXU9bWPJR7fjShhbA tyObject_Table__hd3qB0wXU9bWPJR7fjShhbA;
66 typedef struct tySequence__61s9cbAniKuBrdHwBhMDfQg tySequence__61s9cbAniKuBrdHwBhMDfQg;
67 typedef struct tyObject_Table__fdKWDDO1P17zvuQPReVgRA tyObject_Table__fdKWDDO1P17zvuQPReVgRA;
68 typedef struct tySequence__fdmz6VkIf1ewwrssKYqRFg tySequence__fdmz6VkIf1ewwrssKYqRFg;
69 typedef struct tyObject_Table__e2Ciu0s1q49aVQ7ULXy7l9bQ tyObject_Table__e2Ciu0s1q49aVQ7ULXy7l9bQ;
70 typedef struct tySequence__kxu4GK0onha2t9bo86mdVAg tySequence__kxu4GK0onha2t9bo86mdVAg;
71 typedef struct tySequence__48JTohSgTy339bRxHzUD8KA tySequence__48JTohSgTy339bRxHzUD8KA;
72 typedef struct tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw;
73 typedef struct tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw;
74 typedef struct tySequence__s9byh6WFJ16lPMcmqdaMTHA tySequence__s9byh6WFJ16lPMcmqdaMTHA;
75 typedef struct tyObject_Table__Ue6w4c82v7gc7t2qntTbAw tyObject_Table__Ue6w4c82v7gc7t2qntTbAw;
76 typedef struct tySequence__1U9bG8RcAedEeYkQLZjVFKA tySequence__1U9bG8RcAedEeYkQLZjVFKA;
77 typedef struct tyObject_Table__G1v8c16HePOldLeucwe05Q tyObject_Table__G1v8c16HePOldLeucwe05Q;
78 typedef struct tySequence__fIB1rTQ55aFonoft9a9bmljQ tySequence__fIB1rTQ55aFonoft9a9bmljQ;
79 typedef struct tyObject_Table__0Y2brGGKD9bV6GJLXT9aUDgA tyObject_Table__0Y2brGGKD9bV6GJLXT9aUDgA;
80 typedef struct tySequence__23SMqauuRsbDANhthj9bWlA tySequence__23SMqauuRsbDANhthj9bWlA;
81 typedef struct tyObject_Table__NttoEzoiq5CiphZe81oadg tyObject_Table__NttoEzoiq5CiphZe81oadg;
82 typedef struct tySequence__squ9b9bUH4OLHf6cEMrt6hVA tySequence__squ9b9bUH4OLHf6cEMrt6hVA;
83 typedef struct tyObject_Table__nagDFX4QHx0s6Fvma9blmSg tyObject_Table__nagDFX4QHx0s6Fvma9blmSg;
84 typedef struct tySequence__pHNq3oXj9av2sEUdqaqeZjw tySequence__pHNq3oXj9av2sEUdqaqeZjw;
85 typedef struct tySequence__MAQKEADohlpnXTModtugbQ tySequence__MAQKEADohlpnXTModtugbQ;
86 typedef struct tyObject_Operators__EbMP71azE1HSvYAQoCH9cXA tyObject_Operators__EbMP71azE1HSvYAQoCH9cXA;
87 typedef struct tyObject_Target__9abOl5DLX8suLujOaHSvGzw tyObject_Target__9abOl5DLX8suLujOaHSvGzw;
88 typedef struct tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg;
89 typedef struct tyObject_MsgConfig__kV7r8HWT0SqOYW2k2ukC6A tyObject_MsgConfig__kV7r8HWT0SqOYW2k2ukC6A;
90 typedef struct tySequence__tNFrR3kRuS1FSwuiLGoSSA tySequence__tNFrR3kRuS1FSwuiLGoSSA;
91 typedef struct tySequence__Zi9cGbCWofbtABoHJ5RbLNQ tySequence__Zi9cGbCWofbtABoHJ5RbLNQ;
92 typedef struct tyObject_HashSet__CD8Dpv0WGmASelVaNSo6zg tyObject_HashSet__CD8Dpv0WGmASelVaNSo6zg;
93 typedef struct tySequence__4eRCaZmrYLLw2k30GPTiMw tySequence__4eRCaZmrYLLw2k30GPTiMw;
94 typedef struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ tySequence__sM4lkSb7zS6F7OVMvW9cffQ;
95 typedef struct tyTuple__47w2DboNEPf69aPgubZdd7Q tyTuple__47w2DboNEPf69aPgubZdd7Q;
96 typedef struct tySequence__pK3qSsBZwdXd6qyUMkd5Jw tySequence__pK3qSsBZwdXd6qyUMkd5Jw;
97 typedef struct tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ;
98 typedef struct tyObject_ProfileDatacolonObjectType___rPBBfFL4X0b9cQ6rfMNPXig tyObject_ProfileDatacolonObjectType___rPBBfFL4X0b9cQ6rfMNPXig;
99 typedef struct tyObject_Table__OHR9afGwwhoEoDZjFE9cgF0g tyObject_Table__OHR9afGwwhoEoDZjFE9cgF0g;
100 typedef struct tySequence__sh9b9afdJBB3bJbViXY7yNAg tySequence__sh9b9afdJBB3bJbViXY7yNAg;
101 typedef struct tyTuple__YXXBMUJBtW9corlxevWVfYQ tyTuple__YXXBMUJBtW9corlxevWVfYQ;
102 typedef struct tyTuple__EFqgCXJ4d8PgqOdFJmldsQ tyTuple__EFqgCXJ4d8PgqOdFJmldsQ;
103 typedef struct tySequence__mFtVDW3p7w6wfPPNodKzsA tySequence__mFtVDW3p7w6wfPPNodKzsA;
104 typedef struct tyObject_StatecolonObjectType___G9bbCRpuemWPWC66CPVRKyw tyObject_StatecolonObjectType___G9bbCRpuemWPWC66CPVRKyw;
105 typedef struct tyObject_HashSet__YByQS2i9cOlUupxNMscAMwQ tyObject_HashSet__YByQS2i9cOlUupxNMscAMwQ;
106 typedef struct tySequence__Y6pVop4P8VSwSorRqc2aQA tySequence__Y6pVop4P8VSwSorRqc2aQA;
107 typedef struct tyTuple__TeyVVRby9bj1JQeNMm9aeI2w tyTuple__TeyVVRby9bj1JQeNMm9aeI2w;
108 typedef struct tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g;
109 typedef struct tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w;
110 typedef struct tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ;
111 typedef struct tyObject_GcStack__7fytPA5bBsob6See21YMRA tyObject_GcStack__7fytPA5bBsob6See21YMRA;
112 typedef struct tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg;
113 typedef struct tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ;
114 typedef struct tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg;
115 typedef struct tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw;
116 typedef struct tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA;
117 typedef struct tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw;
118 typedef struct tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw;
119 typedef struct tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg;
120 typedef struct tyTuple__ujsjpB2O9cjj3uDHsXbnSzg tyTuple__ujsjpB2O9cjj3uDHsXbnSzg;
121 typedef struct tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg;
122 typedef struct tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ;
123 typedef struct tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg;
124 typedef struct tyObject_KeyError__t7nhKLvXTQS9cS8ByJU9bIag tyObject_KeyError__t7nhKLvXTQS9cS8ByJU9bIag;
125 typedef struct tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw;
126 typedef struct tyObject_CatchableError__qrLSDoe2oBoAqNtJ9badtnA tyObject_CatchableError__qrLSDoe2oBoAqNtJ9badtnA;
127 typedef struct Exception Exception;
128 typedef struct tySequence__uB9b75OUPRENsBAu4AnoePA tySequence__uB9b75OUPRENsBAu4AnoePA;
129 typedef struct tyObject_Table__8b8GbeV6waqgbRlb9aUvYNQ tyObject_Table__8b8GbeV6waqgbRlb9aUvYNQ;
130 typedef struct tySequence__JGK6WZYU2JHWLoPdKRO4AQ tySequence__JGK6WZYU2JHWLoPdKRO4AQ;
131 typedef struct tySequence__qwqHTkRvwhrRyENtudHQ7g tySequence__qwqHTkRvwhrRyENtudHQ7g;
132 typedef struct tyTuple__jCPpzNasrXtz9cFJFxT1NHQ tyTuple__jCPpzNasrXtz9cFJFxT1NHQ;
133 typedef struct tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ;
134 typedef struct tyTuple__kN8up2W6YKc5YA9avn5mV5w tyTuple__kN8up2W6YKc5YA9avn5mV5w;
135 typedef struct tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA;
136 typedef struct tyObject_Iface__uvkV248cZcsEQKaQm7C9aEA tyObject_Iface__uvkV248cZcsEQKaQm7C9aEA;
137 typedef struct tySequence__vv5mGmK03BCr5e3LTZA5Hw tySequence__vv5mGmK03BCr5e3LTZA5Hw;
138 typedef struct tyObject_LoadedModule__14iJKkvOiWT62KF2D8f9c5w tyObject_LoadedModule__14iJKkvOiWT62KF2D8f9c5w;
139 typedef struct tyObject_PackedModule__ZSxNoR2V6oK5xosmtvhjNQ tyObject_PackedModule__ZSxNoR2V6oK5xosmtvhjNQ;
140 typedef struct tySequence__PXIzfWocnrafGz5p3CP5LA tySequence__PXIzfWocnrafGz5p3CP5LA;
141 typedef struct tySequence__9bAGqSvkAaFL9bWjsEPslrFA tySequence__9bAGqSvkAaFL9bWjsEPslrFA;
142 typedef struct tyObject_PackedTree__8otSrA7MENGYESDkEP7nnw tyObject_PackedTree__8otSrA7MENGYESDkEP7nnw;
143 typedef struct tySequence__29bS0n2QNyO1R7e0qMMOvLA tySequence__29bS0n2QNyO1R7e0qMMOvLA;
144 typedef struct tySequence__b89aLriiJnVTD186H6zNIgg tySequence__b89aLriiJnVTD186H6zNIgg;
145 typedef struct tySequence__REuPuHuSlOkZ0Q5oqzDrQg tySequence__REuPuHuSlOkZ0Q5oqzDrQg;
146 typedef struct tySequence__I9aQmO9asXXWJ58UI9c8BCSzA tySequence__I9aQmO9asXXWJ58UI9c8BCSzA;
147 typedef struct tySequence__NyaOkf8ZwxP6rkRF5TOkew tySequence__NyaOkf8ZwxP6rkRF5TOkew;
148 typedef struct tySequence__L9bOt8CaTEmIjgtuZvp6syg tySequence__L9bOt8CaTEmIjgtuZvp6syg;
149 typedef struct tySequence__im8UB2GsZvUaQ4a1wKGWhQ tySequence__im8UB2GsZvUaQ4a1wKGWhQ;
150 typedef struct tySequence__xxnXDLpoqBo8zJzP9b1073g tySequence__xxnXDLpoqBo8zJzP9b1073g;
151 typedef struct tySequence__DfmUmNgVGnYaiV1I6227tw tySequence__DfmUmNgVGnYaiV1I6227tw;
152 typedef struct tySequence__t8Uv4lEJ4lkuECvP9c6JMhA tySequence__t8Uv4lEJ4lkuECvP9c6JMhA;
153 typedef struct tyObject_BiTable__SMd2CpsYscvX1veKoGcqmg tyObject_BiTable__SMd2CpsYscvX1veKoGcqmg;
154 typedef struct tyObject_BiTable__DyMEQOe8VsqcG49bIhU69bBQ tyObject_BiTable__DyMEQOe8VsqcG49bIhU69bBQ;
155 typedef struct tySequence__IHUFRsFxZNv7YydiUO2esQ tySequence__IHUFRsFxZNv7YydiUO2esQ;
156 typedef struct tyObject_Table__CE4eiu6FavV1vmUiTXQ70g tyObject_Table__CE4eiu6FavV1vmUiTXQ70g;
157 typedef struct tySequence__9bT7o0CflHuiE4VhmtqBPCw tySequence__9bT7o0CflHuiE4VhmtqBPCw;
158 typedef struct tyObject_PackedEncoder__B9cE9a0GbvqWW9aHf4N7RAaIw tyObject_PackedEncoder__B9cE9a0GbvqWW9aHf4N7RAaIw;
159 typedef struct tyObject_Table__TRm6MPqklA8EYBmBMY117Q tyObject_Table__TRm6MPqklA8EYBmBMY117Q;
160 typedef struct tySequence__9cnx3zXnWzeclW8Ko4oUgAQ tySequence__9cnx3zXnWzeclW8Ko4oUgAQ;
161 typedef struct tyTuple__l7R9cf53SDCcRmz9aWTyEKqQ tyTuple__l7R9cf53SDCcRmz9aWTyEKqQ;
162 typedef struct tySequence__O5RcspOP32YJ4YtU5ppxxA tySequence__O5RcspOP32YJ4YtU5ppxxA;
163 typedef struct tyObject_LazyType__Q19c34D32PKyTKlx6R6yODg tyObject_LazyType__Q19c34D32PKyTKlx6R6yODg;
164 typedef struct tyObject_FullId__pfGm9bmVgXcP2kl6OfHhZgQ tyObject_FullId__pfGm9bmVgXcP2kl6OfHhZgQ;
165 typedef struct tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ;
166 typedef struct tyTuple__o67sDX0wYbEuhI9cJYAbDtg tyTuple__o67sDX0wYbEuhI9cJYAbDtg;
167 typedef struct tySequence__Or1y9bNpmj8PM8AcK9c9cg7RA tySequence__Or1y9bNpmj8PM8AcK9c9cg7RA;
168 typedef struct tyObject_LazyInstantiation__rlce0Sj8mBfLfm69c2yVTZg tyObject_LazyInstantiation__rlce0Sj8mBfLfm69c2yVTZg;
169 typedef struct tySequence__ipEvhpHAmm8ZCn9bZAOdNYA tySequence__ipEvhpHAmm8ZCn9bZAOdNYA;
170 typedef struct tyObject_TInstantiation__5LqgVn6Tq9ainQRK7TQAQxA tyObject_TInstantiation__5LqgVn6Tq9ainQRK7TQAQxA;
171 typedef struct tyTuple__9aNnDWBFMF44sfFinBpMT4Q tyTuple__9aNnDWBFMF44sfFinBpMT4Q;
172 typedef struct tyTuple__dT8l9anHpNRgQSBAI9ctQ2wg tyTuple__dT8l9anHpNRgQSBAI9ctQ2wg;
173 typedef struct tySequence__159bHWBGAOOs6U7OZ9cQlO0g tySequence__159bHWBGAOOs6U7OZ9cQlO0g;
174 typedef struct tyTuple__VrD6plbUKJjYKM0lCr3hGQ tyTuple__VrD6plbUKJjYKM0lCr3hGQ;
175 typedef struct tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA;
176 typedef struct tyTuple__1ZbjBgxAbnye0IFMZ6w4OA tyTuple__1ZbjBgxAbnye0IFMZ6w4OA;
177 typedef struct tyTuple__xYhUhS7X82rKTqbT9bRfCnw tyTuple__xYhUhS7X82rKTqbT9bRfCnw;
178 typedef struct tyTuple__rplX06U9bjhu9asm5pWdgqsA tyTuple__rplX06U9bjhu9asm5pWdgqsA;
179 typedef struct tyTuple__1mtQ8sCEE7DbfIuQciv9b5Q tyTuple__1mtQ8sCEE7DbfIuQciv9b5Q;
180 typedef struct tyTuple__xDU9bZmv1ZbZkJDaATBekIQ tyTuple__xDU9bZmv1ZbZkJDaATBekIQ;
181 typedef struct tyTuple__a9bBCAQ2tegdUQVlHYxdJ2A tyTuple__a9bBCAQ2tegdUQVlHYxdJ2A;
182 typedef struct tyTuple__3i6hlQmqrn6m7tuVN8FHjQ tyTuple__3i6hlQmqrn6m7tuVN8FHjQ;
183 typedef struct tyTuple__OJFzEczluV8Jmo9bRpBfkzw tyTuple__OJFzEczluV8Jmo9bRpBfkzw;
184 typedef struct tyTuple__2SGm9aGCXuo7XSQ9bqD29axXw tyTuple__2SGm9aGCXuo7XSQ9bqD29axXw;
185 typedef struct tyTuple__F3gkSrMB1qp2Tvf9bixVXwg tyTuple__F3gkSrMB1qp2Tvf9bixVXwg;
186 typedef struct tyTuple__wcNatyuf8WOqAhGLhSvgiw tyTuple__wcNatyuf8WOqAhGLhSvgiw;
187 typedef struct tyObject_BTree__VZdzO0Tlflp7WMN4gS8oPg tyObject_BTree__VZdzO0Tlflp7WMN4gS8oPg;
188 typedef struct tyObject_NodecolonObjectType___dNELmBSmY7nthjhZupWO6g tyObject_NodecolonObjectType___dNELmBSmY7nthjhZupWO6g;
189 typedef struct tyTuple__4o9cW9aUwdGqgZI9bSHHYnbaQ tyTuple__4o9cW9aUwdGqgZI9bSHHYnbaQ;
190 typedef struct tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w;
191 typedef struct tyTuple__z822nu9bFF1AlQnLrHjdwpA tyTuple__z822nu9bFF1AlQnLrHjdwpA;
192 typedef struct tyObject_TFileInfo__GE3hAakXKOEpch4ap3zXAw tyObject_TFileInfo__GE3hAakXKOEpch4ap3zXAw;
193 typedef struct tyTuple__QeWl6B6ffS4pU6WWrtcrDw tyTuple__QeWl6B6ffS4pU6WWrtcrDw;
194 typedef struct tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg;
195 typedef struct tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA;
196 typedef struct tyTuple__0q9cmhneJEKnQERTpXXdz6Q tyTuple__0q9cmhneJEKnQERTpXXdz6Q;
197 typedef struct tyObject_PackedNode__7lDGAZiNp4zbO65GEpoKow tyObject_PackedNode__7lDGAZiNp4zbO65GEpoKow;
198 typedef struct tyObject_PackedLineInfo__Q9bbXLBurHo2r5TyF6UBshg tyObject_PackedLineInfo__Q9bbXLBurHo2r5TyF6UBshg;
199 typedef struct tyTuple__Izx9aRSX9a0diDXD84jOS9aMQ tyTuple__Izx9aRSX9a0diDXD84jOS9aMQ;
200 typedef struct tyTuple__Q7r9caOmeWqQGZCIBHhGRUA tyTuple__Q7r9caOmeWqQGZCIBHhGRUA;
201 typedef struct tyTuple__7Wlwbz8zSe7Udyf7mmsd9cg tyTuple__7Wlwbz8zSe7Udyf7mmsd9cg;
202 typedef struct tyTuple__XyJ8LOAZzVVXSsmt09b8uWw tyTuple__XyJ8LOAZzVVXSsmt09b8uWw;
203 typedef struct tyObject_PackedInstantiation__39cWRURu69agjI9c1ohiUmxiA tyObject_PackedInstantiation__39cWRURu69agjI9c1ohiUmxiA;
204 typedef struct tySequence__vC9cvg0R8tfBaOXXi3sfMzw tySequence__vC9cvg0R8tfBaOXXi3sfMzw;
205 typedef struct tyTuple__9aoobCDZB4x41HJSOmh0mwA tyTuple__9aoobCDZB4x41HJSOmh0mwA;
206 typedef struct tyTuple__g0Q6Qx15nK53ce9aLo7YyrA tyTuple__g0Q6Qx15nK53ce9aLo7YyrA;
207 typedef struct tyObject_PackedSym__XjVn21MwvH8ij6CfopYZWw tyObject_PackedSym__XjVn21MwvH8ij6CfopYZWw;
208 typedef struct tyObject_PackedLib__oa01YzfeXO9bbIDH9cIki4Hw tyObject_PackedLib__oa01YzfeXO9bbIDH9cIki4Hw;
209 typedef struct tyObject_PackedType__IhXsK7mrwumUBtEqbZ2BqA tyObject_PackedType__IhXsK7mrwumUBtEqbZ2BqA;
210 typedef struct tyTuple__8x6vq4Dc9aLvKX9actMeR9avQ tyTuple__8x6vq4Dc9aLvKX9actMeR9avQ;
211 typedef struct tyTuple__UvldbCB6B9ayi9bGYW7vJNLA tyTuple__UvldbCB6B9ayi9bGYW7vJNLA;
212 typedef NU8 tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A;
213 typedef NU8 tySet_tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ;
214 typedef N_NIMCALL_PTR(void, tyProc__ojoeKfW4VYIm36I9cpDTQIg) (void* p, NI op);
215 typedef N_NIMCALL_PTR(void*, tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ) (void* p);
216 struct TNimType {
217 NI size;
218 NI align;
219 tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A kind;
220 tySet_tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ flags;
221 TNimType* base;
222 TNimNode* node;
223 void* finalizer;
224 tyProc__ojoeKfW4VYIm36I9cpDTQIg marker;
225 tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ deepcopy;
226 };
227 struct RootObj {
228 TNimType* m_type;
229 };
230 struct tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g {
231 NI32 module;
232 NI32 item;
233 };
234 struct tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w {
235   RootObj Sup;
236 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g itemId;
237 };
238 typedef NU8 tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw;
239 typedef NU16 tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg;
240 struct tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q {
241 NU16 line;
242 NI16 col;
243 NI32 fileIndex;
244 };
245 typedef NU64 tySet_tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw;
246 typedef NU32 tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg;
247 typedef NU8 tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg;
248 typedef NU8 tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw;
249 typedef NU16 tySet_tyEnum_TLocFlag__o2bqJgR4ceIupnUSpxiudA;
250 struct tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA {
251 tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg k;
252 tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw storage;
253 tySet_tyEnum_TLocFlag__o2bqJgR4ceIupnUSpxiudA flags;
254 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* lode;
255 tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* r;
256 };
257 struct tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ {
258   tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w Sup;
259 tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw kind;
260 union{
261 struct {tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* gcUnsafetyReason;
262 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* transformedBody;
263 } _kind_1;
264 struct {tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* guard;
265 NI bitsize;
266 NI alignment;
267 } _kind_2;
268 };
269 tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg magic;
270 tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
271 tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* name;
272 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info;
273 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner;
274 tySet_tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw flags;
275 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ast;
276 tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg options;
277 NI position;
278 NI offset;
279 tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA loc;
280 tyObject_TLib__NBMxlJ6g3utqUlplqTTHkA* annex;
281 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* constraint;
282 };
283 typedef NU8 tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw;
284 typedef NU8 tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag;
285 typedef NU8 tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA;
286 typedef NU64 tySet_tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw;
287 struct tyObject_TType__facALICuu8zUj0hjvbTLFg {
288   tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w Sup;
289 tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kind;
290 tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA callConv;
291 tySet_tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw flags;
292 tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A* sons;
293 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n;
294 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner;
295 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym;
296 NI64 size;
297 NI16 align;
298 NI16 paddingAtEnd;
299 NI16 lockLevel;
300 tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA loc;
301 tyObject_TType__facALICuu8zUj0hjvbTLFg* typeInst;
302 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g uniqueId;
303 };
304 typedef NU8 tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw;
305 typedef NU32 tySet_tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg;
306 typedef NU8 tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw;
307 struct TGenericSeq {
308 NI len;
309 NI reserved;
310 };
311 struct NimStringDesc {
312   TGenericSeq Sup;
313 NIM_CHAR data[SEQ_DECL_SIZE];
314 };
315 struct tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw {
316 tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
317 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info;
318 tySet_tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg flags;
319 tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind;
320 union{
321 struct {NI64 intVal;
322 } _kind_1;
323 struct {NF floatVal;
324 } _kind_2;
325 struct {NimStringDesc* strVal;
326 } _kind_3;
327 struct {tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym;
328 } _kind_4;
329 struct {tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* ident;
330 } _kind_5;
331 struct {tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ* sons;
332 } _kind_6;
333 };
334 };
335 typedef NI tyArray__emiAJ8okywrJw7ZHLzlXbQ[34];
336 struct tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA {
337 NI elems;
338 NI counter;
339 NI max;
340 tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA* head;
341 tySequence__Bre9bNyuQOg1EJKitjSzn8w* data;
342 tyArray__emiAJ8okywrJw7ZHLzlXbQ a;
343 };
344 struct tyObject_Con__mVYRtnERc9advo79cBQUudxg {
345 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner;
346 tySequence__hj4BvueOlKB8Z1Qw2ZU4nQ* g;
347 tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph;
348 NI inLoop;
349 NI inSpawn;
350 NI inLoopCond;
351 tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA uninit;
352 NIM_BOOL uninitComputed;
353 tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen;
354 };
355 typedef NU8 tyEnum_InstrKind__kmjEwko0gQNypI4MTa9chwQ;
356 struct tyObject_Instr__Iclb1njvAJfjjEpCLzUzZg {
357 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n;
358 tyEnum_InstrKind__kmjEwko0gQNypI4MTa9chwQ kind;
359 union{
360 NI dest;
361 };
362 };
363 struct tyObject_Table__ZqXrnX212T9bCb4lhpQ9bFBw {
364 tySequence__ChDZ6dokJ9aj9cg3KBoCU5vg* data;
365 NI counter;
366 };
367 struct tyObject_Table__UVZI5J9aS51B4B0eYPpW1Rg {
368 tySequence__mWRMiYLthG9coLjkbElCxkw* data;
369 NI counter;
370 };
371 struct tyObject_Table__iowAVDkco3qpbEH0z8OmkQ {
372 tySequence__bTDCDwD2P7TodzbAefLcSw* data;
373 NI counter;
374 };
375 typedef tyObject_Table__iowAVDkco3qpbEH0z8OmkQ tyArray__pxY9cgs6r9cBvGwlO8XZ9ccbQ[5];
376 struct tyObject_Table__KUYGGgSxi8wBr0SXET9bi3w {
377 tySequence__3MPVXAHA08SszBrU4ffqEg* data;
378 NI counter;
379 };
380 struct tyObject_Table__KcymdZjUsmGSK8BxmvoJgw {
381 tySequence__YCf5zJHm4JI06qpmKwPUWg* data;
382 NI counter;
383 };
384 struct tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA {
385 tySequence__7lEisrXlQEzwtUKW5pzRCw* data;
386 NI counter;
387 };
388 typedef NU8 tyEnum_TBackend__4OBsgZ9cscH2JLUE5Wcz01g;
389 typedef NU8 tyEnum_TGCMode__tkz389aDYNd8ykeZszCuBSw;
390 typedef NU8 tyEnum_TSystemCC__1eWBJUonHMOnlBwsOvpFmA;
391 typedef NU64 tySet_tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw;
392 struct tyObject_PackedConfig__McwvRupqDAJbGrinIDFZJQ {
393 tyEnum_TBackend__4OBsgZ9cscH2JLUE5Wcz01g backend;
394 tyEnum_TGCMode__tkz389aDYNd8ykeZszCuBSw selectedGC;
395 tyEnum_TSystemCC__1eWBJUonHMOnlBwsOvpFmA cCompiler;
396 tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg options;
397 tySet_tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw globalOptions;
398 };
399 struct tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA {
400 NI counter;
401 tySequence__eHqUwlHGGaPw0TDPDeL79cQ* data;
402 };
403 struct tyObject_Table__hd3qB0wXU9bWPJR7fjShhbA {
404 tySequence__61s9cbAniKuBrdHwBhMDfQg* data;
405 NI counter;
406 };
407 struct tyObject_Table__fdKWDDO1P17zvuQPReVgRA {
408 tySequence__fdmz6VkIf1ewwrssKYqRFg* data;
409 NI counter;
410 };
411 struct tyObject_Table__e2Ciu0s1q49aVQ7ULXy7l9bQ {
412 tySequence__kxu4GK0onha2t9bo86mdVAg* data;
413 NI counter;
414 };
415 typedef struct {
416 N_NIMCALL_PTR(NIM_BOOL, ClP_0) (void* ClE_0);
417 void* ClE_0;
418 } tyProc__In3g79a0qTcRmbTbJp9ba9ctg;
419 typedef tyObject_TType__facALICuu8zUj0hjvbTLFg* tyArray__9bjuenwQUcqO3lbmS2wX7uA[65];
420 struct tyObject_Table__Ue6w4c82v7gc7t2qntTbAw {
421 tySequence__1U9bG8RcAedEeYkQLZjVFKA* data;
422 NI counter;
423 };
424 struct tyObject_Table__G1v8c16HePOldLeucwe05Q {
425 tySequence__fIB1rTQ55aFonoft9a9bmljQ* data;
426 NI counter;
427 };
428 typedef N_NIMCALL_PTR(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, tyProc__VHDwJFdIqpwtpUGuxiXUwg) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* m, NI32 fileIdx);
429 typedef N_NIMCALL_PTR(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, tyProc__mjUN9alLJ31lnSKkUsuyWMw) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* m, NI32 fileIdx);
430 struct tyObject_Table__0Y2brGGKD9bV6GJLXT9aUDgA {
431 tySequence__23SMqauuRsbDANhthj9bWlA* data;
432 NI counter;
433 };
434 struct tyObject_Table__NttoEzoiq5CiphZe81oadg {
435 tySequence__squ9b9bUH4OLHf6cEMrt6hVA* data;
436 NI counter;
437 };
438 struct tyObject_Table__nagDFX4QHx0s6Fvma9blmSg {
439 tySequence__pHNq3oXj9av2sEUdqaqeZjw* data;
440 NI counter;
441 };
442 typedef N_NIMCALL_PTR(void, tyProc__TjycsqkDBjsxd4da6KYTng) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
443 typedef N_NIMCALL_PTR(void, tyProc__Mrj9cEgtPER9bAXMDB9cTXrfQ) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* body);
444 typedef N_NIMCALL_PTR(NIM_BOOL, tyProc__J7Jq15ZScfKLqcLx8sEz9cA) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TType__facALICuu8zUj0hjvbTLFg* formal, tyObject_TType__facALICuu8zUj0hjvbTLFg* actual);
445 struct tyObject_Operators__EbMP71azE1HSvYAQoCH9cXA {
446 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opNot;
447 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opContains;
448 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opLe;
449 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opLt;
450 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opAnd;
451 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opOr;
452 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opIsNil;
453 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opEq;
454 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opAdd;
455 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opSub;
456 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opMul;
457 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opDiv;
458 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opLen;
459 };
460 struct tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ {
461 tySequence__4mZLwkxT8rbt9bf3wXrXYNQ* ifaces;
462 tySequence__rQHmYk1HzcwNxKBymIFHpA* packed_0;
463 tySequence__XMM60DtBsc6xYsIpNANkrA* encoders;
464 tyObject_Table__ZqXrnX212T9bCb4lhpQ9bFBw typeInstCache;
465 tyObject_Table__UVZI5J9aS51B4B0eYPpW1Rg procInstCache;
466 tyArray__pxY9cgs6r9cBvGwlO8XZ9ccbQ attachedOps;
467 tyObject_Table__KUYGGgSxi8wBr0SXET9bi3w methodsPerType;
468 tyObject_Table__KcymdZjUsmGSK8BxmvoJgw enumToStringProcs;
469 tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA emittedTypeInfo;
470 tyObject_PackedConfig__McwvRupqDAJbGrinIDFZJQ startupPackedConfig;
471 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA packageSyms;
472 tyObject_Table__hd3qB0wXU9bWPJR7fjShhbA modulesPerPackage;
473 tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA deps;
474 tyObject_Table__fdKWDDO1P17zvuQPReVgRA importDeps;
475 NIM_BOOL suggestMode;
476 NIM_BOOL invalidTransitiveClosure;
477 tyObject_Table__e2Ciu0s1q49aVQ7ULXy7l9bQ inclToMod;
478 tySequence__48JTohSgTy339bRxHzUD8KA* importStack;
479 RootObj* backend;
480 tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* config;
481 tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw* cache;
482 RootObj* vm;
483 tyProc__In3g79a0qTcRmbTbJp9ba9ctg doStopCompile;
484 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* usageSym;
485 tySequence__eHqUwlHGGaPw0TDPDeL79cQ* owners;
486 tySequence__s9byh6WFJ16lPMcmqdaMTHA* methods;
487 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* systemModule;
488 tyArray__9bjuenwQUcqO3lbmS2wX7uA sysTypes;
489 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA compilerprocs;
490 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA exposed;
491 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA packageTypes;
492 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* emptyNode;
493 tyObject_Table__Ue6w4c82v7gc7t2qntTbAw canonTypes;
494 tyObject_Table__G1v8c16HePOldLeucwe05Q symBodyHashes;
495 tyProc__VHDwJFdIqpwtpUGuxiXUwg importModuleCallback;
496 tyProc__mjUN9alLJ31lnSKkUsuyWMw includeFileCallback;
497 tyObject_Table__0Y2brGGKD9bV6GJLXT9aUDgA cacheSeqs;
498 tyObject_Table__NttoEzoiq5CiphZe81oadg cacheCounters;
499 tyObject_Table__nagDFX4QHx0s6Fvma9blmSg cacheTables;
500 tySequence__MAQKEADohlpnXTModtugbQ* passes;
501 tyProc__TjycsqkDBjsxd4da6KYTng onDefinition;
502 tyProc__TjycsqkDBjsxd4da6KYTng onDefinitionResolveForward;
503 tyProc__TjycsqkDBjsxd4da6KYTng onUsage;
504 tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ* globalDestructors;
505 tyProc__Mrj9cEgtPER9bAXMDB9cTXrfQ strongSemCheck;
506 tyProc__J7Jq15ZScfKLqcLx8sEz9cA compatibleProps;
507 tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen;
508 tyObject_Operators__EbMP71azE1HSvYAQoCH9cXA operators;
509 };
510 typedef NU8 tyEnum_TSystemCPU__XYDt7D1G3qcClFyZy1Ky9ag;
511 typedef NU8 tyEnum_TSystemOS__s7Mlr1t66SUqP6BKJMXLaQ;
512 struct tyObject_Target__9abOl5DLX8suLujOaHSvGzw {
513 tyEnum_TSystemCPU__XYDt7D1G3qcClFyZy1Ky9ag targetCPU;
514 tyEnum_TSystemCPU__XYDt7D1G3qcClFyZy1Ky9ag hostCPU;
515 tyEnum_TSystemOS__s7Mlr1t66SUqP6BKJMXLaQ targetOS;
516 tyEnum_TSystemOS__s7Mlr1t66SUqP6BKJMXLaQ hostOS;
517 NI intSize;
518 NI floatSize;
519 NI ptrSize;
520 NimStringDesc* tnl;
521 };
522 typedef NU8 tySet_tyEnum_TErrorOutput__fBf8Teueoz9aAkO5cXaxrpA;
523 struct tyObject_MsgConfig__kV7r8HWT0SqOYW2k2ukC6A {
524 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q trackPos;
525 NIM_BOOL trackPosAttached;
526 tySet_tyEnum_TErrorOutput__fBf8Teueoz9aAkO5cXaxrpA errorOutputs;
527 tySequence__tNFrR3kRuS1FSwuiLGoSSA* msgContext;
528 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q lastError;
529 tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA filenameToIndexTbl;
530 tySequence__Zi9cGbCWofbtABoHJ5RbLNQ* fileInfos;
531 NI32 systemFileIdx;
532 };
533 typedef NU8 tyEnum_FilenameOption__eL86bAtPxXWHj24F5gOMFQ;
534 typedef NU8 tyEnum_Command__0zjcIQ623TIRGPdtjLwTFA;
535 typedef NU8 tyEnum_ExceptionSystem__1mkAogyaDAT7g9cQjzsgKLQ;
536 typedef NU8 tyEnum_SymbolFilesOption__gBES9bqm1ru9ape8SeMRAFgQ;
537 struct tyObject_HashSet__CD8Dpv0WGmASelVaNSo6zg {
538 tySequence__4eRCaZmrYLLw2k30GPTiMw* data;
539 NI counter;
540 };
541 typedef NU32 tySet_tyEnum_Feature__01UoAKYz1MxZiuG1X2VhNQ;
542 typedef NU8 tySet_tyEnum_LegacyFeature__hGCD9aOrxPvpXn4Ne6W6OVA;
543 typedef NU8 tyEnum_IdeCmd__1Ced39bl5eePmZ1PKMPXigQ;
544 typedef NU8 tySet_tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug[11];
545 struct tyTuple__47w2DboNEPf69aPgubZdd7Q {
546 NI Field0;
547 NI Field1;
548 NI Field2;
549 };
550 typedef NU8 tySet_tyEnum_StdOrrKind__6cbmyTzDPaZU9afMe4mz3Ug;
551 typedef struct {
552 N_NIMCALL_PTR(void, ClP_0) (tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ* result, void* ClE_0);
553 void* ClE_0;
554 } tyProc__YD0MR9bJ2x4beJkZdnjXN9cA;
555 typedef struct {
556 N_NIMCALL_PTR(void, ClP_0) (NimStringDesc* output, void* ClE_0);
557 void* ClE_0;
558 } tyProc__k2HFjxisIgDALbEUFojxaQ;
559 typedef NU8 tyEnum_Severity__x5BWBPGAbIH9clm5pmNp5DA;
560 typedef struct {
561 N_NIMCALL_PTR(void, ClP_0) (tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* config, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, NimStringDesc* msg, tyEnum_Severity__x5BWBPGAbIH9clm5pmNp5DA severity, void* ClE_0);
562 void* ClE_0;
563 } tyProc__oL9coyIA2VDTGdUcur9aL9bew;
564 struct tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw {
565 tyEnum_TBackend__4OBsgZ9cscH2JLUE5Wcz01g backend;
566 tyObject_Target__9abOl5DLX8suLujOaHSvGzw target;
567 NI linesCompiled;
568 tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg options;
569 tySet_tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw globalOptions;
570 tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* macrosToExpand;
571 tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* arcToExpand;
572 tyObject_MsgConfig__kV7r8HWT0SqOYW2k2ukC6A m;
573 tyEnum_FilenameOption__eL86bAtPxXWHj24F5gOMFQ filenameOption;
574 NimStringDesc* unitSep;
575 NI evalTemplateCounter;
576 NI evalMacroCounter;
577 NI8 exitcode;
578 tyEnum_Command__0zjcIQ623TIRGPdtjLwTFA cmd;
579 NimStringDesc* cmdInput;
580 NIM_BOOL projectIsCmd;
581 NIM_BOOL implicitCmd;
582 tyEnum_TGCMode__tkz389aDYNd8ykeZszCuBSw selectedGC;
583 tyEnum_ExceptionSystem__1mkAogyaDAT7g9cQjzsgKLQ exc;
584 NIM_BOOL hintProcessingDots;
585 NI verbosity;
586 NI numberOfProcessors;
587 NF lastCmdTime;
588 tyEnum_SymbolFilesOption__gBES9bqm1ru9ape8SeMRAFgQ symbolFiles;
589 NI spellSuggestMax;
590 tyObject_HashSet__CD8Dpv0WGmASelVaNSo6zg cppDefines;
591 NimStringDesc* headerFile;
592 tySet_tyEnum_Feature__01UoAKYz1MxZiuG1X2VhNQ features;
593 tySet_tyEnum_LegacyFeature__hGCD9aOrxPvpXn4Ne6W6OVA legacyFeatures;
594 NimStringDesc* arguments;
595 tyEnum_IdeCmd__1Ced39bl5eePmZ1PKMPXigQ ideCmd;
596 NIM_BOOL oldNewlines;
597 tyEnum_TSystemCC__1eWBJUonHMOnlBwsOvpFmA cCompiler;
598 tySet_tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug modifiedyNotes;
599 tySet_tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug cmdlineNotes;
600 tySet_tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug foreignPackageNotes;
601 tySet_tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug notes;
602 tySet_tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug warningAsErrors;
603 tySet_tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug mainPackageNotes;
604 NI mainPackageId;
605 NI errorCounter;
606 NI hintCounter;
607 NI warnCounter;
608 NI errorMax;
609 NI maxLoopIterationsVM;
610 NIM_BOOL isVmTrace;
611 tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* configVars;
612 tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* symbols;
613 tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* packageCache;
614 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* nimblePaths;
615 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* searchPaths;
616 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* lazyPaths;
617 NimStringDesc* outFile;
618 NimStringDesc* outDir;
619 NimStringDesc* jsonBuildFile;
620 NimStringDesc* prefixDir;
621 NimStringDesc* libpath;
622 NimStringDesc* nimcacheDir;
623 tyTuple__47w2DboNEPf69aPgubZdd7Q nimStdlibVersion;
624 tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* dllOverrides;
625 tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* moduleOverrides;
626 tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* cfileSpecificOptions;
627 NimStringDesc* projectName;
628 NimStringDesc* projectPath;
629 NimStringDesc* projectFull;
630 NIM_BOOL projectIsStdin;
631 tySet_tyEnum_StdOrrKind__6cbmyTzDPaZU9afMe4mz3Ug lastMsgWasDot;
632 NI32 projectMainIdx;
633 NI32 projectMainIdx2;
634 NimStringDesc* command;
635 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* commandArgs;
636 NimStringDesc* commandLine;
637 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* extraCmds;
638 NIM_BOOL keepComments;
639 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* implicitImports;
640 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* implicitIncludes;
641 NimStringDesc* docSeeSrcUrl;
642 NimStringDesc* docRoot;
643 NimStringDesc* docCmd;
644 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* configFiles;
645 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* cIncludes;
646 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* cLibs;
647 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* cLinkedLibs;
648 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* externalToLink;
649 NimStringDesc* linkOptionsCmd;
650 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* compileOptionsCmd;
651 NimStringDesc* linkOptions;
652 NimStringDesc* compileOptions;
653 NimStringDesc* cCompilerPath;
654 tySequence__pK3qSsBZwdXd6qyUMkd5Jw* toCompile;
655 tyProc__YD0MR9bJ2x4beJkZdnjXN9cA suggestionResultHook;
656 NI suggestVersion;
657 NI suggestMaxResults;
658 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q lastLineInfo;
659 tyProc__k2HFjxisIgDALbEUFojxaQ writelnHook;
660 tyProc__oL9coyIA2VDTGdUcur9aL9bew structuredErrorHook;
661 NimStringDesc* cppCustomNamespace;
662 NimStringDesc* nimMainPrefix;
663 tyObject_ProfileDatacolonObjectType___rPBBfFL4X0b9cQ6rfMNPXig* vmProfileData;
664 };
665 typedef NU8 tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg;
666 struct tyObject_Table__OHR9afGwwhoEoDZjFE9cgF0g {
667 tySequence__sh9b9afdJBB3bJbViXY7yNAg* data;
668 NI counter;
669 };
670 struct tyTuple__EFqgCXJ4d8PgqOdFJmldsQ {
671 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* Field0;
672 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* Field1;
673 };
674 typedef NU8 tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg;
675 struct tyTuple__YXXBMUJBtW9corlxevWVfYQ {
676 NI Field0;
677 tyTuple__EFqgCXJ4d8PgqOdFJmldsQ Field1;
678 tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg Field2;
679 };
680 typedef NU8 tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ;
681 struct TNimNode {
682 tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ kind;
683 NI offset;
684 TNimType* typ;
685 NCSTRING name;
686 NI len;
687 TNimNode** sons;
688 };
689 struct tyObject_HashSet__YByQS2i9cOlUupxNMscAMwQ {
690 tySequence__Y6pVop4P8VSwSorRqc2aQA* data;
691 NI counter;
692 };
693 struct tyObject_StatecolonObjectType___G9bbCRpuemWPWC66CPVRKyw {
694 tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA lastReads;
695 tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA potentialLastReads;
696 tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA notLastReads;
697 tyObject_HashSet__YByQS2i9cOlUupxNMscAMwQ alreadySeen;
698 };
699 struct tyTuple__TeyVVRby9bj1JQeNMm9aeI2w {
700 NI Field0;
701 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* Field1;
702 };
703 struct tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g {
704 NI refcount;
705 TNimType* typ;
706 };
707 struct tyObject_GcStack__7fytPA5bBsob6See21YMRA {
708 void* bottom;
709 };
710 struct tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w {
711 NI len;
712 NI cap;
713 tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g** d;
714 };
715 typedef tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ* tyArray__SPr7N6UKfuF549bNPiUvSRw[256];
716 typedef NU32 tyArray__BHbOSqU1t9b3Gt7K2c6fQig[24];
717 typedef tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* tyArray__N1u1nqOgmuJN9cSZrnMHgOQ[32];
718 typedef tyArray__N1u1nqOgmuJN9cSZrnMHgOQ tyArray__B6durA4ZCi1xjJvRtyYxMg[24];
719 typedef tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw* tyArray__lh2A89ahMmYg9bCmpVaplLbA[256];
720 struct tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA {
721 tyArray__lh2A89ahMmYg9bCmpVaplLbA data;
722 };
723 typedef tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* tyArray__0aOLqZchNi8nWtMTi8ND8w[2];
724 struct tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw {
725 tyArray__0aOLqZchNi8nWtMTi8ND8w link;
726 NI key;
727 NI upperBound;
728 NI level;
729 };
730 struct tyTuple__ujsjpB2O9cjj3uDHsXbnSzg {
731 tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* Field0;
732 NI Field1;
733 };
734 typedef tyTuple__ujsjpB2O9cjj3uDHsXbnSzg tyArray__LzOv2eCDGiceMKQstCLmhw[30];
735 struct tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg {
736 NI len;
737 tyArray__LzOv2eCDGiceMKQstCLmhw chunks;
738 tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg* next;
739 };
740 struct tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg {
741 NI minLargeObj;
742 NI maxLargeObj;
743 tyArray__SPr7N6UKfuF549bNPiUvSRw freeSmallChunks;
744 NU32 flBitmap;
745 tyArray__BHbOSqU1t9b3Gt7K2c6fQig slBitmap;
746 tyArray__B6durA4ZCi1xjJvRtyYxMg matrix;
747 tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw* llmem;
748 NI currMem;
749 NI maxMem;
750 NI freeMem;
751 NI occ;
752 NI lastSize;
753 tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA chunkStarts;
754 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* root;
755 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* deleted;
756 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* last;
757 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* freeAvlNodes;
758 NIM_BOOL locked;
759 NIM_BOOL blockChunkSizeIncrease;
760 NI nextChunkSize;
761 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw bottomData;
762 tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg heapLinks;
763 };
764 struct tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg {
765 NI stackScans;
766 NI cycleCollections;
767 NI maxThreshold;
768 NI maxStackSize;
769 NI maxStackCells;
770 NI cycleTableSize;
771 NI64 maxPause;
772 };
773 struct tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ {
774 NI counter;
775 NI max;
776 tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg* head;
777 tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg** data;
778 };
779 struct tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ {
780 tyObject_GcStack__7fytPA5bBsob6See21YMRA stack;
781 NI cycleThreshold;
782 NI zctThreshold;
783 tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w zct;
784 tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w decStack;
785 tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w tempStack;
786 NI recGcLock;
787 tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg region;
788 tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg stat;
789 tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ marked;
790 tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w additionalRoots;
791 NI gcThreadId;
792 };
793 struct Exception {
794   RootObj Sup;
795 Exception* parent;
796 NCSTRING name;
797 NimStringDesc* message;
798 tySequence__uB9b75OUPRENsBAu4AnoePA* trace;
799 Exception* up;
800 };
801 struct tyObject_CatchableError__qrLSDoe2oBoAqNtJ9badtnA {
802   Exception Sup;
803 };
804 struct tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw {
805   tyObject_CatchableError__qrLSDoe2oBoAqNtJ9badtnA Sup;
806 };
807 struct tyObject_KeyError__t7nhKLvXTQS9cS8ByJU9bIag {
808   tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw Sup;
809 };
810 typedef NU tyArray__VqSA39cBDWnwnJySTumCdjw[8];
811 struct tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA {
812 tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA* next;
813 NI key;
814 tyArray__VqSA39cBDWnwnJySTumCdjw bits;
815 };
816 typedef NU8 tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg;
817 struct tyObject_Table__8b8GbeV6waqgbRlb9aUvYNQ {
818 tySequence__JGK6WZYU2JHWLoPdKRO4AQ* data;
819 NI counter;
820 };
821 struct tyTuple__jCPpzNasrXtz9cFJFxT1NHQ {
822 NI Field0;
823 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* Field1;
824 tySequence__qwqHTkRvwhrRyENtudHQ7g* Field2;
825 };
826 struct tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ {
827 tySequence__eHqUwlHGGaPw0TDPDeL79cQ* vars;
828 tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ* wasMoved;
829 tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ* final;
830 NIM_BOOL needsTry;
831 tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ* parent;
832 };
833 typedef NU8 tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw;
834 typedef NU8 tySet_tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw[21];
835 typedef tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* tyArray__T6RKPw8xfAeNaoei9aZGzXg[3];
836 struct tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q {
837 NI32 module;
838 NI32 symId;
839 NI32 typeId_0;
840 NIM_BOOL sealed;
841 };
842 typedef NU8 tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag[9];
843 typedef NU8 tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg;
844 typedef NU8 tyArray__qtqsWM5aXmcpMIVmvq3kAA[16];
845 typedef NU8 tySet_tyEnum_ConsiderFlag__9a9az8WnKmq9bvt8EXoSUES7g;
846 typedef NU8 tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w;
847 typedef NU8 tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw;
848 struct tyTuple__kN8up2W6YKc5YA9avn5mV5w {
849 NimStringDesc* Field0;
850 NI Field1;
851 NI Field2;
852 };
853 typedef NimStringDesc* tyArray__JXkBzVsE9bvmcpuZvrueLVg[5];
854 typedef NU8 tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw;
855 typedef NU16 tySet_tyEnum_TRenderFlag__wrPgUo1ExBlHvFnXN2nSHw;
856 struct tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA {
857 NI a;
858 NI b;
859 };
860 struct tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA {
861 NI id;
862 NimStringDesc* s;
863 tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* next;
864 NI h;
865 };
866 typedef tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* tyArray__AB6yfoUgfWM2NtGe9bzkCmw[2];
867 typedef NU8 tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw;
868 typedef tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* tyArray__jlWPjgtbdjE069arIWHC9c9bg[1];
869 typedef NimStringDesc* tyArray__Re75IspeoxXy2oCZHwcRrA[2];
870 typedef NimStringDesc* tyArray__nHXaesL0DJZHyVS07ARPRA[1];
871 typedef tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* tyArray__cypz0nHJsd9cnKgpO7fP5hQ[1];
872 struct tyObject_Iface__uvkV248cZcsEQKaQm7C9aEA {
873 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* module;
874 tySequence__vv5mGmK03BCr5e3LTZA5Hw* converters;
875 tySequence__vv5mGmK03BCr5e3LTZA5Hw* patterns;
876 tySequence__vv5mGmK03BCr5e3LTZA5Hw* pureEnums;
877 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA interf;
878 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA interfHidden;
879 tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* uniqueName;
880 };
881 typedef NU8 tyEnum_ModuleStatus__MgSLMPwZ4GVYYz7Kn9bmm6Q;
882 struct tyObject_PackedTree__8otSrA7MENGYESDkEP7nnw {
883 tySequence__29bS0n2QNyO1R7e0qMMOvLA* nodes;
884 };
885 typedef NU8 tySet_tyEnum_ModuleBackendFlag__fgnyOEZ7Q9aYVj8O59afcT4g;
886 struct tyObject_BiTable__SMd2CpsYscvX1veKoGcqmg {
887 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* vals;
888 tySequence__9bAGqSvkAaFL9bWjsEPslrFA* keys;
889 };
890 struct tyObject_BiTable__DyMEQOe8VsqcG49bIhU69bBQ {
891 tySequence__IHUFRsFxZNv7YydiUO2esQ* vals;
892 tySequence__9bAGqSvkAaFL9bWjsEPslrFA* keys;
893 };
894 struct tyObject_PackedModule__ZSxNoR2V6oK5xosmtvhjNQ {
895 NimStringDesc* definedSymbols;
896 tySet_tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw moduleFlags;
897 tySequence__PXIzfWocnrafGz5p3CP5LA* includes;
898 tySequence__9bAGqSvkAaFL9bWjsEPslrFA* imports;
899 tyObject_PackedTree__8otSrA7MENGYESDkEP7nnw toReplay;
900 tyObject_PackedTree__8otSrA7MENGYESDkEP7nnw topLevel;
901 tyObject_PackedTree__8otSrA7MENGYESDkEP7nnw bodies;
902 tySequence__b89aLriiJnVTD186H6zNIgg* exports;
903 tySequence__b89aLriiJnVTD186H6zNIgg* hidden;
904 tySequence__REuPuHuSlOkZ0Q5oqzDrQg* reexports;
905 tySequence__b89aLriiJnVTD186H6zNIgg* compilerProcs;
906 tySequence__48JTohSgTy339bRxHzUD8KA* converters;
907 tySequence__48JTohSgTy339bRxHzUD8KA* methods;
908 tySequence__48JTohSgTy339bRxHzUD8KA* trmacros;
909 tySequence__48JTohSgTy339bRxHzUD8KA* pureEnums;
910 tySequence__I9aQmO9asXXWJ58UI9c8BCSzA* macroUsages;
911 tySequence__NyaOkf8ZwxP6rkRF5TOkew* typeInstCache;
912 tySequence__L9bOt8CaTEmIjgtuZvp6syg* procInstCache;
913 tySequence__im8UB2GsZvUaQ4a1wKGWhQ* attachedOps;
914 tySequence__xxnXDLpoqBo8zJzP9b1073g* methodsPerType;
915 tySequence__NyaOkf8ZwxP6rkRF5TOkew* enumToStringProcs;
916 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* emittedTypeInfo;
917 tySet_tyEnum_ModuleBackendFlag__fgnyOEZ7Q9aYVj8O59afcT4g backendFlags;
918 tySequence__DfmUmNgVGnYaiV1I6227tw* syms;
919 tySequence__t8Uv4lEJ4lkuECvP9c6JMhA* types;
920 tyObject_BiTable__SMd2CpsYscvX1veKoGcqmg strings;
921 tyObject_BiTable__DyMEQOe8VsqcG49bIhU69bBQ numbers;
922 tyObject_PackedConfig__McwvRupqDAJbGrinIDFZJQ cfg;
923 };
924 struct tyObject_Table__CE4eiu6FavV1vmUiTXQ70g {
925 tySequence__9bT7o0CflHuiE4VhmtqBPCw* data;
926 NI counter;
927 };
928 struct tyObject_LoadedModule__14iJKkvOiWT62KF2D8f9c5w {
929 tyEnum_ModuleStatus__MgSLMPwZ4GVYYz7Kn9bmm6Q status;
930 NIM_BOOL symsInit;
931 NIM_BOOL typesInit;
932 NIM_BOOL loadedButAliveSetChanged;
933 tyObject_PackedModule__ZSxNoR2V6oK5xosmtvhjNQ fromDisk;
934 tySequence__eHqUwlHGGaPw0TDPDeL79cQ* syms;
935 tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A* types;
936 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* module;
937 tyObject_Table__CE4eiu6FavV1vmUiTXQ70g iface;
938 tyObject_Table__CE4eiu6FavV1vmUiTXQ70g ifaceHidden;
939 };
940 struct tyObject_Table__TRm6MPqklA8EYBmBMY117Q {
941 tySequence__9cnx3zXnWzeclW8Ko4oUgAQ* data;
942 NI counter;
943 };
944 struct tyObject_PackedEncoder__B9cE9a0GbvqWW9aHf4N7RAaIw {
945 NI32 thisModule;
946 NI32 lastFile;
947 NU32 lastLit;
948 tyObject_Table__TRm6MPqklA8EYBmBMY117Q filenames;
949 tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A* pendingTypes;
950 tySequence__eHqUwlHGGaPw0TDPDeL79cQ* pendingSyms;
951 tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA typeMarker;
952 tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA symMarker;
953 tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* config;
954 };
955 struct tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ {
956 NU32 module;
957 NI32 item;
958 };
959 struct tyObject_FullId__pfGm9bmVgXcP2kl6OfHhZgQ {
960 NI module;
961 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ packed_0;
962 };
963 struct tyObject_LazyType__Q19c34D32PKyTKlx6R6yODg {
964 tyObject_FullId__pfGm9bmVgXcP2kl6OfHhZgQ id;
965 tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
966 };
967 struct tyTuple__l7R9cf53SDCcRmz9aWTyEKqQ {
968 NI Field0;
969 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g Field1;
970 tySequence__O5RcspOP32YJ4YtU5ppxxA* Field2;
971 };
972 struct tyObject_LazyInstantiation__rlce0Sj8mBfLfm69c2yVTZg {
973 NI module;
974 tyObject_FullId__pfGm9bmVgXcP2kl6OfHhZgQ sym;
975 tySequence__ipEvhpHAmm8ZCn9bZAOdNYA* concreteTypes;
976 tyObject_TInstantiation__5LqgVn6Tq9ainQRK7TQAQxA* inst;
977 };
978 struct tyTuple__o67sDX0wYbEuhI9cJYAbDtg {
979 NI Field0;
980 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g Field1;
981 tySequence__Or1y9bNpmj8PM8AcK9c9cg7RA* Field2;
982 };
983 struct tyTuple__9aNnDWBFMF44sfFinBpMT4Q {
984 NI Field0;
985 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g Field1;
986 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* Field2;
987 };
988 struct tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA {
989 tyObject_FullId__pfGm9bmVgXcP2kl6OfHhZgQ id;
990 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym;
991 };
992 struct tyTuple__VrD6plbUKJjYKM0lCr3hGQ {
993 NI Field0;
994 tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA Field1;
995 };
996 struct tyTuple__dT8l9anHpNRgQSBAI9ctQ2wg {
997 NI Field0;
998 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g Field1;
999 tySequence__159bHWBGAOOs6U7OZ9cQlO0g* Field2;
1000 };
1001 struct tyTuple__1ZbjBgxAbnye0IFMZ6w4OA {
1002 NI Field0;
1003 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g Field1;
1004 tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA Field2;
1005 };
1006 struct tyTuple__xYhUhS7X82rKTqbT9bRfCnw {
1007 NI Field0;
1008 NimStringDesc* Field1;
1009 NI32 Field2;
1010 };
1011 struct tyTuple__rplX06U9bjhu9asm5pWdgqsA {
1012 NI Field0;
1013 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g Field1;
1014 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA Field2;
1015 };
1016 struct tyTuple__1mtQ8sCEE7DbfIuQciv9b5Q {
1017 NI Field0;
1018 NI32 Field1;
1019 tySequence__48JTohSgTy339bRxHzUD8KA* Field2;
1020 };
1021 struct tyTuple__xDU9bZmv1ZbZkJDaATBekIQ {
1022 NI Field0;
1023 NI32 Field1;
1024 NI32 Field2;
1025 };
1026 struct tyTuple__a9bBCAQ2tegdUQVlHYxdJ2A {
1027 tySequence__eHqUwlHGGaPw0TDPDeL79cQ* Field0;
1028 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* Field1;
1029 };
1030 struct tyTuple__3i6hlQmqrn6m7tuVN8FHjQ {
1031 NI Field0;
1032 tyArray__qtqsWM5aXmcpMIVmvq3kAA Field1;
1033 tyObject_TType__facALICuu8zUj0hjvbTLFg* Field2;
1034 };
1035 struct tyTuple__OJFzEczluV8Jmo9bRpBfkzw {
1036 NI Field0;
1037 NI Field1;
1038 tyArray__qtqsWM5aXmcpMIVmvq3kAA Field2;
1039 };
1040 struct tyTuple__2SGm9aGCXuo7XSQ9bqD29axXw {
1041 NI Field0;
1042 NimStringDesc* Field1;
1043 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* Field2;
1044 };
1045 struct tyTuple__F3gkSrMB1qp2Tvf9bixVXwg {
1046 NI Field0;
1047 NimStringDesc* Field1;
1048 NI64 Field2;
1049 };
1050 struct tyObject_BTree__VZdzO0Tlflp7WMN4gS8oPg {
1051 tyObject_NodecolonObjectType___dNELmBSmY7nthjhZupWO6g* root;
1052 NI entries;
1053 };
1054 struct tyTuple__wcNatyuf8WOqAhGLhSvgiw {
1055 NI Field0;
1056 NimStringDesc* Field1;
1057 tyObject_BTree__VZdzO0Tlflp7WMN4gS8oPg Field2;
1058 };
1059 typedef N_NIMCALL_PTR(tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w*, tyProc__jkSFMhvPZ1AdGcvT2dK9a2w) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* module, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen);
1060 typedef N_NIMCALL_PTR(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, tyProc__A7Sdoem70tRxSEmKrf9cmyg) (tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* topLevelStmt);
1061 typedef N_NIMCALL_PTR(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, tyProc__EAEKmBUgKFg29agoUGtzDEQ) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1062 struct tyTuple__4o9cW9aUwdGqgZI9bSHHYnbaQ {
1063 tyProc__jkSFMhvPZ1AdGcvT2dK9a2w Field0;
1064 tyProc__A7Sdoem70tRxSEmKrf9cmyg Field1;
1065 tyProc__EAEKmBUgKFg29agoUGtzDEQ Field2;
1066 NIM_BOOL Field3;
1067 };
1068 struct tyTuple__z822nu9bFF1AlQnLrHjdwpA {
1069 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q Field0;
1070 NimStringDesc* Field1;
1071 };
1072 struct tyObject_TFileInfo__GE3hAakXKOEpch4ap3zXAw {
1073 NimStringDesc* fullPath;
1074 NimStringDesc* projPath;
1075 NimStringDesc* shortName;
1076 tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* quotedName;
1077 tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* quotedFullName;
1078 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* lines;
1079 NimStringDesc* dirtyFile;
1080 NimStringDesc* hash;
1081 NIM_BOOL dirty;
1082 };
1083 struct tyTuple__QeWl6B6ffS4pU6WWrtcrDw {
1084 NI Field0;
1085 NimStringDesc* Field1;
1086 };
1087 typedef NU8 tySet_tyEnum_CfileFlag__Vl9c9ayddDuXiWtnWTsEYGsA;
1088 struct tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg {
1089 NimStringDesc* nimname;
1090 NimStringDesc* cname;
1091 NimStringDesc* obj;
1092 tySet_tyEnum_CfileFlag__Vl9c9ayddDuXiWtnWTsEYGsA flags;
1093 NimStringDesc* customArgs;
1094 };
1095 struct tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA {
1096 NCSTRING procname;
1097 NI line;
1098 NCSTRING filename;
1099 };
1100 struct tyTuple__0q9cmhneJEKnQERTpXXdz6Q {
1101 NU32 Field0;
1102 NimStringDesc* Field1;
1103 };
1104 struct tyObject_PackedLineInfo__Q9bbXLBurHo2r5TyF6UBshg {
1105 NU16 line;
1106 NI16 col;
1107 NU32 file;
1108 };
1109 struct tyObject_PackedNode__7lDGAZiNp4zbO65GEpoKow {
1110 tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind;
1111 tySet_tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg flags;
1112 NI32 operand;
1113 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ typeId_0;
1114 tyObject_PackedLineInfo__Q9bbXLBurHo2r5TyF6UBshg info;
1115 };
1116 struct tyTuple__Izx9aRSX9a0diDXD84jOS9aMQ {
1117 NU32 Field0;
1118 NI32 Field1;
1119 };
1120 struct tyTuple__Q7r9caOmeWqQGZCIBHhGRUA {
1121 NU32 Field0;
1122 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field1;
1123 };
1124 struct tyTuple__7Wlwbz8zSe7Udyf7mmsd9cg {
1125 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field0;
1126 tyObject_PackedLineInfo__Q9bbXLBurHo2r5TyF6UBshg Field1;
1127 };
1128 struct tyTuple__XyJ8LOAZzVVXSsmt09b8uWw {
1129 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field0;
1130 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field1;
1131 };
1132 struct tyObject_PackedInstantiation__39cWRURu69agjI9c1ohiUmxiA {
1133 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ key;
1134 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ sym;
1135 tySequence__vC9cvg0R8tfBaOXXi3sfMzw* concreteTypes;
1136 };
1137 struct tyTuple__9aoobCDZB4x41HJSOmh0mwA {
1138 tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg Field0;
1139 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field1;
1140 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field2;
1141 };
1142 struct tyTuple__g0Q6Qx15nK53ce9aLo7YyrA {
1143 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field0;
1144 NI Field1;
1145 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field2;
1146 };
1147 typedef NU8 tyEnum_TLibKind__9b8v60kso59bBaw9cp8B9a9apKQ;
1148 struct tyObject_PackedLib__oa01YzfeXO9bbIDH9cIki4Hw {
1149 tyEnum_TLibKind__9b8v60kso59bBaw9cp8B9a9apKQ kind;
1150 NIM_BOOL generated;
1151 NIM_BOOL isOverriden;
1152 NU32 name;
1153 NI32 path;
1154 };
1155 struct tyObject_PackedSym__XjVn21MwvH8ij6CfopYZWw {
1156 tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw kind;
1157 NU32 name;
1158 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ typ;
1159 tySet_tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw flags;
1160 tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg magic;
1161 tyObject_PackedLineInfo__Q9bbXLBurHo2r5TyF6UBshg info;
1162 NI32 ast;
1163 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ owner;
1164 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ guard;
1165 NI bitsize;
1166 NI alignment;
1167 tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg options;
1168 NI position;
1169 NI offset;
1170 NU32 externalName;
1171 tySet_tyEnum_TLocFlag__o2bqJgR4ceIupnUSpxiudA locFlags;
1172 tyObject_PackedLib__oa01YzfeXO9bbIDH9cIki4Hw annex;
1173 NI32 constraint;
1174 };
1175 struct tyObject_PackedType__IhXsK7mrwumUBtEqbZ2BqA {
1176 tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kind;
1177 tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA callConv;
1178 tySet_tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw flags;
1179 tySequence__vC9cvg0R8tfBaOXXi3sfMzw* types;
1180 NI32 n;
1181 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ sym;
1182 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ owner;
1183 NI64 size;
1184 NI16 align;
1185 NI16 paddingAtEnd;
1186 NI16 lockLevel;
1187 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ typeInst;
1188 NI32 nonUniqueId;
1189 };
1190 struct tyTuple__8x6vq4Dc9aLvKX9actMeR9avQ {
1191 NI Field0;
1192 tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* Field1;
1193 tySequence__vC9cvg0R8tfBaOXXi3sfMzw* Field2;
1194 };
1195 struct tyTuple__UvldbCB6B9ayi9bGYW7vJNLA {
1196 NI Field0;
1197 NI32 Field1;
1198 NU32 Field2;
1199 };
1200 struct tySequence__hj4BvueOlKB8Z1Qw2ZU4nQ {
1201   TGenericSeq Sup;
1202   tyObject_Instr__Iclb1njvAJfjjEpCLzUzZg data[SEQ_DECL_SIZE];
1203 };
1204 struct tySequence__sh9b9afdJBB3bJbViXY7yNAg {
1205   TGenericSeq Sup;
1206   tyTuple__YXXBMUJBtW9corlxevWVfYQ data[SEQ_DECL_SIZE];
1207 };
1208 struct tySequence__mFtVDW3p7w6wfPPNodKzsA {
1209   TGenericSeq Sup;
1210   tyObject_StatecolonObjectType___G9bbCRpuemWPWC66CPVRKyw* data[SEQ_DECL_SIZE];
1211 };
1212 struct tySequence__Y6pVop4P8VSwSorRqc2aQA {
1213   TGenericSeq Sup;
1214   tyTuple__TeyVVRby9bj1JQeNMm9aeI2w data[SEQ_DECL_SIZE];
1215 };
1216 struct tySequence__qwqHTkRvwhrRyENtudHQ7g {
1217   TGenericSeq Sup;
1218   NI data[SEQ_DECL_SIZE];
1219 };
1220 struct tySequence__JGK6WZYU2JHWLoPdKRO4AQ {
1221   TGenericSeq Sup;
1222   tyTuple__jCPpzNasrXtz9cFJFxT1NHQ data[SEQ_DECL_SIZE];
1223 };
1224 struct tySequence__eHqUwlHGGaPw0TDPDeL79cQ {
1225   TGenericSeq Sup;
1226   tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* data[SEQ_DECL_SIZE];
1227 };
1228 struct tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ {
1229   TGenericSeq Sup;
1230   tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* data[SEQ_DECL_SIZE];
1231 };
1232 struct tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A {
1233   TGenericSeq Sup;
1234   tyObject_TType__facALICuu8zUj0hjvbTLFg* data[SEQ_DECL_SIZE];
1235 };
1236 struct tySequence__Bre9bNyuQOg1EJKitjSzn8w {
1237   TGenericSeq Sup;
1238   tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA* data[SEQ_DECL_SIZE];
1239 };
1240 struct tySequence__4mZLwkxT8rbt9bf3wXrXYNQ {
1241   TGenericSeq Sup;
1242   tyObject_Iface__uvkV248cZcsEQKaQm7C9aEA data[SEQ_DECL_SIZE];
1243 };
1244 struct tySequence__rQHmYk1HzcwNxKBymIFHpA {
1245   TGenericSeq Sup;
1246   tyObject_LoadedModule__14iJKkvOiWT62KF2D8f9c5w data[SEQ_DECL_SIZE];
1247 };
1248 struct tySequence__XMM60DtBsc6xYsIpNANkrA {
1249   TGenericSeq Sup;
1250   tyObject_PackedEncoder__B9cE9a0GbvqWW9aHf4N7RAaIw data[SEQ_DECL_SIZE];
1251 };
1252 struct tySequence__O5RcspOP32YJ4YtU5ppxxA {
1253   TGenericSeq Sup;
1254   tyObject_LazyType__Q19c34D32PKyTKlx6R6yODg data[SEQ_DECL_SIZE];
1255 };
1256 struct tySequence__ChDZ6dokJ9aj9cg3KBoCU5vg {
1257   TGenericSeq Sup;
1258   tyTuple__l7R9cf53SDCcRmz9aWTyEKqQ data[SEQ_DECL_SIZE];
1259 };
1260 struct tySequence__Or1y9bNpmj8PM8AcK9c9cg7RA {
1261   TGenericSeq Sup;
1262   tyObject_LazyInstantiation__rlce0Sj8mBfLfm69c2yVTZg data[SEQ_DECL_SIZE];
1263 };
1264 struct tySequence__mWRMiYLthG9coLjkbElCxkw {
1265   TGenericSeq Sup;
1266   tyTuple__o67sDX0wYbEuhI9cJYAbDtg data[SEQ_DECL_SIZE];
1267 };
1268 struct tySequence__bTDCDwD2P7TodzbAefLcSw {
1269   TGenericSeq Sup;
1270   tyTuple__9aNnDWBFMF44sfFinBpMT4Q data[SEQ_DECL_SIZE];
1271 };
1272 struct tySequence__159bHWBGAOOs6U7OZ9cQlO0g {
1273   TGenericSeq Sup;
1274   tyTuple__VrD6plbUKJjYKM0lCr3hGQ data[SEQ_DECL_SIZE];
1275 };
1276 struct tySequence__3MPVXAHA08SszBrU4ffqEg {
1277   TGenericSeq Sup;
1278   tyTuple__dT8l9anHpNRgQSBAI9ctQ2wg data[SEQ_DECL_SIZE];
1279 };
1280 struct tySequence__YCf5zJHm4JI06qpmKwPUWg {
1281   TGenericSeq Sup;
1282   tyTuple__1ZbjBgxAbnye0IFMZ6w4OA data[SEQ_DECL_SIZE];
1283 };
1284 struct tySequence__7lEisrXlQEzwtUKW5pzRCw {
1285   TGenericSeq Sup;
1286   tyTuple__xYhUhS7X82rKTqbT9bRfCnw data[SEQ_DECL_SIZE];
1287 };
1288 struct tySequence__61s9cbAniKuBrdHwBhMDfQg {
1289   TGenericSeq Sup;
1290   tyTuple__rplX06U9bjhu9asm5pWdgqsA data[SEQ_DECL_SIZE];
1291 };
1292 struct tySequence__48JTohSgTy339bRxHzUD8KA {
1293   TGenericSeq Sup;
1294   NI32 data[SEQ_DECL_SIZE];
1295 };
1296 struct tySequence__fdmz6VkIf1ewwrssKYqRFg {
1297   TGenericSeq Sup;
1298   tyTuple__1mtQ8sCEE7DbfIuQciv9b5Q data[SEQ_DECL_SIZE];
1299 };
1300 struct tySequence__kxu4GK0onha2t9bo86mdVAg {
1301   TGenericSeq Sup;
1302   tyTuple__xDU9bZmv1ZbZkJDaATBekIQ data[SEQ_DECL_SIZE];
1303 };
1304 struct tySequence__s9byh6WFJ16lPMcmqdaMTHA {
1305   TGenericSeq Sup;
1306   tyTuple__a9bBCAQ2tegdUQVlHYxdJ2A data[SEQ_DECL_SIZE];
1307 };
1308 struct tySequence__1U9bG8RcAedEeYkQLZjVFKA {
1309   TGenericSeq Sup;
1310   tyTuple__3i6hlQmqrn6m7tuVN8FHjQ data[SEQ_DECL_SIZE];
1311 };
1312 struct tySequence__fIB1rTQ55aFonoft9a9bmljQ {
1313   TGenericSeq Sup;
1314   tyTuple__OJFzEczluV8Jmo9bRpBfkzw data[SEQ_DECL_SIZE];
1315 };
1316 struct tySequence__23SMqauuRsbDANhthj9bWlA {
1317   TGenericSeq Sup;
1318   tyTuple__2SGm9aGCXuo7XSQ9bqD29axXw data[SEQ_DECL_SIZE];
1319 };
1320 struct tySequence__squ9b9bUH4OLHf6cEMrt6hVA {
1321   TGenericSeq Sup;
1322   tyTuple__F3gkSrMB1qp2Tvf9bixVXwg data[SEQ_DECL_SIZE];
1323 };
1324 struct tySequence__pHNq3oXj9av2sEUdqaqeZjw {
1325   TGenericSeq Sup;
1326   tyTuple__wcNatyuf8WOqAhGLhSvgiw data[SEQ_DECL_SIZE];
1327 };
1328 struct tySequence__MAQKEADohlpnXTModtugbQ {
1329   TGenericSeq Sup;
1330   tyTuple__4o9cW9aUwdGqgZI9bSHHYnbaQ data[SEQ_DECL_SIZE];
1331 };
1332 struct tySequence__tNFrR3kRuS1FSwuiLGoSSA {
1333   TGenericSeq Sup;
1334   tyTuple__z822nu9bFF1AlQnLrHjdwpA data[SEQ_DECL_SIZE];
1335 };
1336 struct tySequence__Zi9cGbCWofbtABoHJ5RbLNQ {
1337   TGenericSeq Sup;
1338   tyObject_TFileInfo__GE3hAakXKOEpch4ap3zXAw data[SEQ_DECL_SIZE];
1339 };
1340 struct tySequence__4eRCaZmrYLLw2k30GPTiMw {
1341   TGenericSeq Sup;
1342   tyTuple__QeWl6B6ffS4pU6WWrtcrDw data[SEQ_DECL_SIZE];
1343 };
1344 struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ {
1345   TGenericSeq Sup;
1346   NimStringDesc* data[SEQ_DECL_SIZE];
1347 };
1348 struct tySequence__pK3qSsBZwdXd6qyUMkd5Jw {
1349   TGenericSeq Sup;
1350   tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg data[SEQ_DECL_SIZE];
1351 };
1352 struct tySequence__uB9b75OUPRENsBAu4AnoePA {
1353   TGenericSeq Sup;
1354   tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA data[SEQ_DECL_SIZE];
1355 };
1356 struct tySequence__vv5mGmK03BCr5e3LTZA5Hw {
1357   TGenericSeq Sup;
1358   tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA data[SEQ_DECL_SIZE];
1359 };
1360 struct tySequence__PXIzfWocnrafGz5p3CP5LA {
1361   TGenericSeq Sup;
1362   tyTuple__0q9cmhneJEKnQERTpXXdz6Q data[SEQ_DECL_SIZE];
1363 };
1364 struct tySequence__9bAGqSvkAaFL9bWjsEPslrFA {
1365   TGenericSeq Sup;
1366   NU32 data[SEQ_DECL_SIZE];
1367 };
1368 struct tySequence__29bS0n2QNyO1R7e0qMMOvLA {
1369   TGenericSeq Sup;
1370   tyObject_PackedNode__7lDGAZiNp4zbO65GEpoKow data[SEQ_DECL_SIZE];
1371 };
1372 struct tySequence__b89aLriiJnVTD186H6zNIgg {
1373   TGenericSeq Sup;
1374   tyTuple__Izx9aRSX9a0diDXD84jOS9aMQ data[SEQ_DECL_SIZE];
1375 };
1376 struct tySequence__REuPuHuSlOkZ0Q5oqzDrQg {
1377   TGenericSeq Sup;
1378   tyTuple__Q7r9caOmeWqQGZCIBHhGRUA data[SEQ_DECL_SIZE];
1379 };
1380 struct tySequence__I9aQmO9asXXWJ58UI9c8BCSzA {
1381   TGenericSeq Sup;
1382   tyTuple__7Wlwbz8zSe7Udyf7mmsd9cg data[SEQ_DECL_SIZE];
1383 };
1384 struct tySequence__NyaOkf8ZwxP6rkRF5TOkew {
1385   TGenericSeq Sup;
1386   tyTuple__XyJ8LOAZzVVXSsmt09b8uWw data[SEQ_DECL_SIZE];
1387 };
1388 struct tySequence__L9bOt8CaTEmIjgtuZvp6syg {
1389   TGenericSeq Sup;
1390   tyObject_PackedInstantiation__39cWRURu69agjI9c1ohiUmxiA data[SEQ_DECL_SIZE];
1391 };
1392 struct tySequence__im8UB2GsZvUaQ4a1wKGWhQ {
1393   TGenericSeq Sup;
1394   tyTuple__9aoobCDZB4x41HJSOmh0mwA data[SEQ_DECL_SIZE];
1395 };
1396 struct tySequence__xxnXDLpoqBo8zJzP9b1073g {
1397   TGenericSeq Sup;
1398   tyTuple__g0Q6Qx15nK53ce9aLo7YyrA data[SEQ_DECL_SIZE];
1399 };
1400 struct tySequence__DfmUmNgVGnYaiV1I6227tw {
1401   TGenericSeq Sup;
1402   tyObject_PackedSym__XjVn21MwvH8ij6CfopYZWw data[SEQ_DECL_SIZE];
1403 };
1404 struct tySequence__t8Uv4lEJ4lkuECvP9c6JMhA {
1405   TGenericSeq Sup;
1406   tyObject_PackedType__IhXsK7mrwumUBtEqbZ2BqA data[SEQ_DECL_SIZE];
1407 };
1408 struct tySequence__IHUFRsFxZNv7YydiUO2esQ {
1409   TGenericSeq Sup;
1410   NI64 data[SEQ_DECL_SIZE];
1411 };
1412 struct tySequence__vC9cvg0R8tfBaOXXi3sfMzw {
1413   TGenericSeq Sup;
1414   tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ data[SEQ_DECL_SIZE];
1415 };
1416 struct tySequence__9bT7o0CflHuiE4VhmtqBPCw {
1417   TGenericSeq Sup;
1418   tyTuple__8x6vq4Dc9aLvKX9actMeR9avQ data[SEQ_DECL_SIZE];
1419 };
1420 struct tySequence__9cnx3zXnWzeclW8Ko4oUgAQ {
1421   TGenericSeq Sup;
1422   tyTuple__UvldbCB6B9ayi9bGYW7vJNLA data[SEQ_DECL_SIZE];
1423 };
1424 struct tySequence__ipEvhpHAmm8ZCn9bZAOdNYA {
1425   TGenericSeq Sup;
1426   tyObject_FullId__pfGm9bmVgXcP2kl6OfHhZgQ data[SEQ_DECL_SIZE];
1427 };
1428 static N_INLINE(NIM_BOOL, isInlineIterator__ast_4989)(tyObject_TType__facALICuu8zUj0hjvbTLFg* typ);
1429 static N_INLINE(void, nimZeroMem)(void* p, NI size);
1430 static N_INLINE(void, nimSetMem__systemZmemory_7)(void* a, int v, NI size);
1431 N_LIB_PRIVATE N_NIMCALL(tySequence__hj4BvueOlKB8Z1Qw2ZU4nQ*, constructCfg__dfa_1135)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* body);
1432 N_LIB_PRIVATE N_NIMCALL(void, computeCursors__varpartitions_1784)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g);
1433 N_LIB_PRIVATE N_NIMCALL(void, computeLastReadsAndFirstWrites__injectdestructors_3780)(tySequence__hj4BvueOlKB8Z1Qw2ZU4nQ* cfg);
1434 N_LIB_PRIVATE N_NIMCALL(void, initTable__injectdestructors_3782)(NI initialSize, tyObject_Table__OHR9afGwwhoEoDZjFE9cgF0g* Result);
1435 N_LIB_PRIVATE N_NIMCALL(void, unsureAsgnRef)(void** dest, void* src);
1436 static N_INLINE(NI, slotsNeeded__pureZcollectionsZtables_42)(NI count);
1437 N_LIB_PRIVATE N_NIMCALL(NI, nextPowerOfTwo__pureZmath_176)(NI x);
1438 N_LIB_PRIVATE N_NIMCALL(void*, newSeq)(TNimType* typ, NI len);
1439 N_LIB_PRIVATE N_NIMCALL(void, nimGCvisit)(void* d, NI op);
1440 static N_NIMCALL(void, Marker_tySequence__sh9b9afdJBB3bJbViXY7yNAg)(void* p, NI op);
1441 N_LIB_PRIVATE N_NIMCALL(void, genericSeqAssign)(void* dest, void* src, TNimType* mt);
1442 N_LIB_PRIVATE N_NIMCALL(void, preprocessCfg__injectdestructors_1924)(tySequence__hj4BvueOlKB8Z1Qw2ZU4nQ** cfg);
1443 N_LIB_PRIVATE N_NIMCALL(tySequence__mFtVDW3p7w6wfPPNodKzsA*, newSeq__injectdestructors_3802)(NI len);
1444 static N_NIMCALL(void, Marker_tySequence__Y6pVop4P8VSwSorRqc2aQA)(void* p, NI op);
1445 static N_NIMCALL(void, Marker_tyRef__xMu9aauGSW9bIwiWptXaXX0Q)(void* p, NI op);
1446 static N_NIMCALL(void, Marker_tySequence__mFtVDW3p7w6wfPPNodKzsA)(void* p, NI op);
1447 N_LIB_PRIVATE N_NOINLINE(void*, newObj)(TNimType* typ, NI size);
1448 static N_INLINE(void, asgnRef)(void** dest, void* src);
1449 static N_INLINE(void, incRef__system_5338)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
1450 static N_INLINE(NI, pluspercent___system_696)(NI x, NI y);
1451 static N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*, usrToCell__system_5300)(void* usr);
1452 static N_INLINE(NI, minuspercent___system_716)(NI x, NI y);
1453 static N_INLINE(void, decRef__system_5345)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
1454 static N_INLINE(NIM_BOOL, ltpercent___system_1005)(NI x, NI y);
1455 static N_INLINE(void, rtlAddZCT__system_5343)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
1456 N_LIB_PRIVATE N_NOINLINE(void, addZCT__system_5294)(tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w* s, tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
1457 N_LIB_PRIVATE N_NIMCALL(void, genericAssign)(void* dest, void* src, TNimType* mt);
1458 N_LIB_PRIVATE N_NIMCALL(tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg, aliasesCached__injectdestructors_121)(tyObject_Table__OHR9afGwwhoEoDZjFE9cgF0g* cache, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* obj, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* field);
1459 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasKey__injectdestructors_174)(tyObject_Table__OHR9afGwwhoEoDZjFE9cgF0g t, tyTuple__EFqgCXJ4d8PgqOdFJmldsQ key);
1460 static N_INLINE(NI, rawGet__injectdestructors_181)(tyObject_Table__OHR9afGwwhoEoDZjFE9cgF0g t, tyTuple__EFqgCXJ4d8PgqOdFJmldsQ key, NI* hc);
1461 N_LIB_PRIVATE N_NIMCALL(NI, hash__injectdestructors_188)(tyTuple__EFqgCXJ4d8PgqOdFJmldsQ x);
1462 static N_INLINE(NI, emarkamp___pureZhashes_3)(NI h, NI val);
1463 N_LIB_PRIVATE N_NIMCALL(NI, hash__injectdestructors_118)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1464 static N_INLINE(NI, hash__pureZhashes_124)(void* x);
1465 static N_INLINE(NI, hash__pureZhashes_128)(NI x);
1466 static N_INLINE(NI, hashWangYi1__pureZhashes_136)(NU64 x);
1467 static N_INLINE(NU64, hiXorLo__pureZhashes_79)(NU64 a, NU64 b);
1468 static N_INLINE(NI, emarkdollar___pureZhashes_18)(NI h);
1469 static N_INLINE(NIM_BOOL, isFilled__pureZcollectionsZtables_31)(NI hcode);
1470 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, eqeq___injectdestructors_430)(tyTuple__EFqgCXJ4d8PgqOdFJmldsQ x, tyTuple__EFqgCXJ4d8PgqOdFJmldsQ y);
1471 static N_INLINE(NI, nextTry__pureZcollectionsZtables_34)(NI h, NI maxHash);
1472 N_LIB_PRIVATE N_NIMCALL(void, X5BX5Deq___injectdestructors_509)(tyObject_Table__OHR9afGwwhoEoDZjFE9cgF0g* t, tyTuple__EFqgCXJ4d8PgqOdFJmldsQ key, tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg val);
1473 static N_INLINE(NIM_BOOL, mustRehash__injectdestructors_708)(tyObject_Table__OHR9afGwwhoEoDZjFE9cgF0g t);
1474 N_LIB_PRIVATE N_NIMCALL(void, enlarge__injectdestructors_894)(tyObject_Table__OHR9afGwwhoEoDZjFE9cgF0g* t);
1475 N_LIB_PRIVATE N_NIMCALL(void, rawInsert__injectdestructors_1229)(tyObject_Table__OHR9afGwwhoEoDZjFE9cgF0g* t, tySequence__sh9b9afdJBB3bJbViXY7yNAg** data, tyTuple__EFqgCXJ4d8PgqOdFJmldsQ key, tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg val, NI hc, NI h);
1476 static N_INLINE(NI, rawGetKnownHC__injectdestructors_1410)(tyObject_Table__OHR9afGwwhoEoDZjFE9cgF0g t, tyTuple__EFqgCXJ4d8PgqOdFJmldsQ key, NI hc);
1477 N_LIB_PRIVATE N_NIMCALL(tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg, aliases__dfa_792)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* obj, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* field);
1478 N_LIB_PRIVATE N_NIMCALL(tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg*, X5BX5D___injectdestructors_1731)(tyObject_Table__OHR9afGwwhoEoDZjFE9cgF0g* t, tyTuple__EFqgCXJ4d8PgqOdFJmldsQ key);
1479 N_LIB_PRIVATE N_NOINLINE(void, raiseKeyError__injectdestructors_1802)(tyTuple__EFqgCXJ4d8PgqOdFJmldsQ key) __attribute__((noreturn));
1480 static N_INLINE(void, appendString)(NimStringDesc* dest, NimStringDesc* src);
1481 static N_INLINE(void, copyMem__system_1727)(void* dest, void* source, NI size);
1482 static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size);
1483 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar___injectdestructors_1854)(tyTuple__EFqgCXJ4d8PgqOdFJmldsQ x);
1484 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, copyString)(NimStringDesc* src);
1485 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, resizeString)(NimStringDesc* dest, NI addlen);
1486 N_LIB_PRIVATE N_NIMCALL(void, addQuoted__injectdestructors_1880)(NimStringDesc** s, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x);
1487 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar___renderer_2106)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1488 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, rawNewString)(NI space);
1489 N_LIB_PRIVATE N_NIMCALL(void, raiseExceptionEx)(Exception* e, NCSTRING ename, NCSTRING procname, NCSTRING filename, NI line);
1490 N_LIB_PRIVATE N_NIMCALL(void, incl__pureZcollectionsZintsets_55)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* s, NI key);
1491 N_LIB_PRIVATE N_NIMCALL(void, excl__reorder_264)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* s, NI key);
1492 N_LIB_PRIVATE N_NIMCALL(void, commenteq___ast_1361)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NimStringDesc* a);
1493 static N_INLINE(void, appendChar)(NimStringDesc* dest, NIM_CHAR c);
1494 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar___systemZdollars_3)(NI x);
1495 N_LIB_PRIVATE N_NIMCALL(NI, len__injectdestructors_2169)(tyObject_HashSet__YByQS2i9cOlUupxNMscAMwQ s);
1496 static N_INLINE(NIM_BOOL, isFilled__pureZcollectionsZsets_38)(NI hcode);
1497 N_LIB_PRIVATE N_NIMCALL(void, incl__injectdestructors_2395)(tyObject_HashSet__YByQS2i9cOlUupxNMscAMwQ* s, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* key);
1498 static N_INLINE(NI, slotsNeeded__pureZcollectionsZsets_49)(NI count);
1499 static N_INLINE(NI, rawGet__injectdestructors_2482)(tyObject_HashSet__YByQS2i9cOlUupxNMscAMwQ t, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* key, NI* hc);
1500 static N_INLINE(NI, nextTry__pureZcollectionsZsets_41)(NI h, NI maxHash);
1501 static N_INLINE(NIM_BOOL, mustRehash__injectdestructors_2730)(tyObject_HashSet__YByQS2i9cOlUupxNMscAMwQ t);
1502 N_LIB_PRIVATE N_NIMCALL(void, enlarge__injectdestructors_2922)(tyObject_HashSet__YByQS2i9cOlUupxNMscAMwQ* s);
1503 static N_INLINE(NI, rawGetKnownHC__injectdestructors_3173)(tyObject_HashSet__YByQS2i9cOlUupxNMscAMwQ t, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* key, NI hc);
1504 N_LIB_PRIVATE N_NIMCALL(void, rawInsert__injectdestructors_3539)(tyObject_HashSet__YByQS2i9cOlUupxNMscAMwQ* s, tySequence__Y6pVop4P8VSwSorRqc2aQA** data, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* key, NI hc, NI h);
1505 N_LIB_PRIVATE N_NIMCALL(void, mergeStates__injectdestructors_1944)(tyObject_StatecolonObjectType___G9bbCRpuemWPWC66CPVRKyw** a, tyObject_StatecolonObjectType___G9bbCRpuemWPWC66CPVRKyw* b);
1506 N_LIB_PRIVATE N_NIMCALL(void, incl__importer_1492)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* s, tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* other);
1507 N_LIB_PRIVATE N_NIMCALL(void, excl__injectdestructors_2012)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* s, tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* other);
1508 N_LIB_PRIVATE N_NIMCALL(void, incl__injectdestructors_2107)(tyObject_HashSet__YByQS2i9cOlUupxNMscAMwQ* s, tyObject_HashSet__YByQS2i9cOlUupxNMscAMwQ other);
1509 static N_INLINE(void, minus___sem_4040)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* s1, tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* s2, tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* Result);
1510 N_LIB_PRIVATE N_NIMCALL(void, difference__sem_4045)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* s1, tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* s2, tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* Result);
1511 N_LIB_PRIVATE N_NIMCALL(void, genericShallowAssign)(void* dest, void* src, TNimType* mt);
1512 static N_INLINE(void, plus___injectdestructors_4122)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* s1, tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* s2, tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* Result);
1513 N_LIB_PRIVATE N_NIMCALL(void, union__injectdestructors_4127)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* s1, tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* s2, tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* Result);
1514 N_LIB_PRIVATE N_NIMCALL(void, assign__types_3929)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* dest, tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* src);
1515 static N_INLINE(tyObject_StatecolonObjectType___G9bbCRpuemWPWC66CPVRKyw**, X5BX5D___injectdestructors_4096)(tyObject_StatecolonObjectType___G9bbCRpuemWPWC66CPVRKyw** s, NI sLen_0, NI i);
1516 N_LIB_PRIVATE N_NIMCALL(tySequence__qwqHTkRvwhrRyENtudHQ7g**, mgetOrPut__injectdestructors_4249)(tyObject_Table__8b8GbeV6waqgbRlb9aUvYNQ* t, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* key, tySequence__qwqHTkRvwhrRyENtudHQ7g* val);
1517 static N_NIMCALL(void, Marker_tySequence__JGK6WZYU2JHWLoPdKRO4AQ)(void* p, NI op);
1518 static N_INLINE(NI, rawGet__injectdestructors_4322)(tyObject_Table__8b8GbeV6waqgbRlb9aUvYNQ t, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* key, NI* hc);
1519 static N_INLINE(NIM_BOOL, mustRehash__injectdestructors_4652)(tyObject_Table__8b8GbeV6waqgbRlb9aUvYNQ t);
1520 N_LIB_PRIVATE N_NIMCALL(void, enlarge__injectdestructors_4838)(tyObject_Table__8b8GbeV6waqgbRlb9aUvYNQ* t);
1521 N_LIB_PRIVATE N_NIMCALL(void, rawInsert__injectdestructors_5169)(tyObject_Table__8b8GbeV6waqgbRlb9aUvYNQ* t, tySequence__JGK6WZYU2JHWLoPdKRO4AQ** data, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* key, tySequence__qwqHTkRvwhrRyENtudHQ7g* val, NI hc, NI h);
1522 static N_INLINE(NI, rawGetKnownHC__injectdestructors_5350)(tyObject_Table__8b8GbeV6waqgbRlb9aUvYNQ t, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* key, NI hc);
1523 N_LIB_PRIVATE N_NIMCALL(TGenericSeq*, incrSeqV3)(TGenericSeq* s, TNimType* typ);
1524 N_LIB_PRIVATE N_NIMCALL(NI, len__injectdestructors_5743)(tyObject_Table__8b8GbeV6waqgbRlb9aUvYNQ t);
1525 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, contains__astalgo_3496)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* s, NI key);
1526 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, p__injectdestructors_105)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_Con__mVYRtnERc9advo79cBQUudxg* c, tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ* s, tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw mode);
1527 static N_INLINE(NI, len__ast_3198)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1528 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, copyNode__ast_4336)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* src);
1529 N_LIB_PRIVATE N_NIMCALL(void, add__ast_4797)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* father, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* son);
1530 static N_INLINE(NIM_BOOL, isEmptyType__ast_4779)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
1531 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, shallowCopy__ast_4413)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* src);
1532 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, copyTree__ast_4431)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* src);
1533 N_LIB_PRIVATE N_NIMCALL(void, nestedScope__injectdestructors_72)(tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ* parent, tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ* Result);
1534 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, processScope__injectdestructors_7016)(tyObject_Con__mVYRtnERc9advo79cBQUudxg* c, tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ* s, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ret);
1535 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newNodeI__ast_3356)(tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
1536 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newTree__ast_3392)(tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** children, NI childrenLen_0);
1537 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newSymNode__ast_3716)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym);
1538 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newTryFinally__lowerings_202)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* body, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* final);
1539 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, getTemp__injectdestructors_61)(tyObject_Con__mVYRtnERc9advo79cBQUudxg* c, tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ* s, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
1540 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, newSym__ast_3445)(tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw symKind, tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* name, tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g id, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg options);
1541 N_LIB_PRIVATE N_NIMCALL(tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA*, getIdent__idents_143)(tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw* ic, NimStringDesc* identifier);
1542 static N_INLINE(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g, nextSymId__ast_3132)(tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* x);
1543 static N_INLINE(NIM_BOOL, hasDestructor__injectdestructors_49)(tyObject_Con__mVYRtnERc9advo79cBQUudxg* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
1544 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, genDestroy__injectdestructors_6527)(tyObject_Con__mVYRtnERc9advo79cBQUudxg* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* dest);
1545 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, skipTypes__ast_3735)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kinds);
1546 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, genOp__injectdestructors_6430)(tyObject_Con__mVYRtnERc9advo79cBQUudxg* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg kind, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* dest, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ri);
1547 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, getAttachedOp__modulegraphs_4011)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg op);
1548 static N_INLINE(NIM_BOOL, isGenericRoutine__ast_4627)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1549 static N_INLINE(NIM_BOOL, isGenericParams__ast_4616)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1550 N_LIB_PRIVATE N_NIMCALL(void, hashType__sighashes_462)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tySet_tyEnum_ConsiderFlag__9a9az8WnKmq9bvt8EXoSUES7g flags, tyArray__qtqsWM5aXmcpMIVmvq3kAA Result);
1551 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, getOrDefault__liftdestructors_976)(tyObject_Table__Ue6w4c82v7gc7t2qntTbAw t, tyArray__qtqsWM5aXmcpMIVmvq3kAA key);
1552 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);
1553 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, typeToString__types_50)(tyObject_TType__facALICuu8zUj0hjvbTLFg* typ, tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw prefer);
1554 N_LIB_PRIVATE N_NIMCALL(void, checkForErrorPragma__injectdestructors_6380)(tyObject_Con__mVYRtnERc9advo79cBQUudxg* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ri, NimStringDesc* opname);
1555 static N_INLINE(NIM_BOOL, eqStrings)(NimStringDesc* a, NimStringDesc* b);
1556 static N_INLINE(NIM_BOOL, equalMem__system_1735)(void* a, void* b, NI size);
1557 static N_INLINE(int, nimCmpMem)(void* a, void* b, NI size);
1558 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, renderTree__renderer_46)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TRenderFlag__wrPgUo1ExBlHvFnXN2nSHw renderFlags);
1559 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, addChar)(NimStringDesc* s, NIM_CHAR c);
1560 static N_INLINE(NIM_BOOL, startsWith__pureZstrutils_1246)(NimStringDesc* s, NIM_CHAR prefix);
1561 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, comment__ast_993)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1562 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar___msgs_624)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
1563 N_LIB_PRIVATE N_NIMCALL(NI, nsuParseInt)(NimStringDesc* s);
1564 static N_INLINE(NimStringDesc*, X5BX5D___pureZunicode_3215)(NimStringDesc* s, tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA x);
1565 N_NIMCALL(NimStringDesc*, mnewString)(NI len);
1566 static N_INLINE(tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA, dotdot___stdZenumutils_80)(NI a, NI b);
1567 static N_INLINE(NIM_BOOL, isSinkType__ast_5045)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
1568 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, genOp__injectdestructors_6420)(tyObject_Con__mVYRtnERc9advo79cBQUudxg* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* op, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* dest);
1569 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newNodeIT__ast_3378)(tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ);
1570 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, makePtrType__injectdestructors_6416)(tyObject_Con__mVYRtnERc9advo79cBQUudxg* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* baseType);
1571 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, newType__ast_3896)(tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kind, tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g id, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner);
1572 static N_INLINE(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g, nextTypeId__ast_3151)(tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* x);
1573 N_LIB_PRIVATE N_NIMCALL(void, addSonSkipIntLit__magicsys_136)(tyObject_TType__facALICuu8zUj0hjvbTLFg* father, tyObject_TType__facALICuu8zUj0hjvbTLFg* son, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* id);
1574 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, moveOrCopy__injectdestructors_110)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* dest, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ri, tyObject_Con__mVYRtnERc9advo79cBQUudxg* c, tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ* s, NIM_BOOL isDecl);
1575 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, sameLocation__injectdestructors_8432)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b);
1576 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, sameConstant__injectdestructors_8436)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b);
1577 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isCursor__injectdestructors_6369)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1578 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, genSink__injectdestructors_6564)(tyObject_Con__mVYRtnERc9advo79cBQUudxg* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* dest, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ri, NIM_BOOL isDecl);
1579 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isAnalysableFieldAccess__dfa_903)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* orig, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner);
1580 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isFirstWrite__injectdestructors_6120)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_Con__mVYRtnERc9advo79cBQUudxg* c);
1581 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, skipConvDfa__dfa_780)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1582 static N_INLINE(NIM_BOOL, isNoInit__injectdestructors_6553)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* dest);
1583 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isLastRead__injectdestructors_6103)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_Con__mVYRtnERc9advo79cBQUudxg* c);
1584 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, genWasMoved__injectdestructors_6739)(tyObject_Con__mVYRtnERc9advo79cBQUudxg* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1585 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, createMagic__modulegraphs_9008)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen, NimStringDesc* name, tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg m);
1586 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, destructiveMoveVar__injectdestructors_6760)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_Con__mVYRtnERc9advo79cBQUudxg* c, tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ* s);
1587 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newNodeI__ast_3360)(tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, NI children);
1588 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, skipConv__types_3597)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1589 N_LIB_PRIVATE N_NIMCALL(void, genMarkCyclic__injectdestructors_6612)(tyObject_Con__mVYRtnERc9advo79cBQUudxg* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* dest);
1590 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, cyclicType__liftdestructors_1366)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
1591 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, callCodegenProc__lowerings_635)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, NimStringDesc* name, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* arg1, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* arg2, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* arg3, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* optionalArgs);
1592 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, genBuiltin__liftdestructors_113)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen, tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg magic, NimStringDesc* name, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* i);
1593 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, getSysType__magicsys_60)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kind);
1594 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, genCopy__injectdestructors_6647)(tyObject_Con__mVYRtnERc9advo79cBQUudxg* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* dest, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ri);
1595 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, genCopyNoCheck__injectdestructors_6634)(tyObject_Con__mVYRtnERc9advo79cBQUudxg* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* dest, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ri);
1596 N_LIB_PRIVATE N_NIMCALL(void, finishCopy__injectdestructors_6598)(tyObject_Con__mVYRtnERc9advo79cBQUudxg* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* dest, NIM_BOOL isFromSink);
1597 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, boolLit__liftdestructors_427)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, NIM_BOOL value);
1598 static N_INLINE(NIM_BOOL, isCriticalLink__injectdestructors_6591)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* dest);
1599 static N_INLINE(NIM_BOOL, isDangerousSeq__injectdestructors_6847)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
1600 static N_INLINE(NIM_BOOL, isSinkParam__ast_5030)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
1601 static N_INLINE(NIM_BOOL, canBeMoved__injectdestructors_6532)(tyObject_Con__mVYRtnERc9advo79cBQUudxg* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
1602 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, pRaiseStmt__injectdestructors_7126)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_Con__mVYRtnERc9advo79cBQUudxg* c, tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ* s);
1603 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, lastSon__ast_4832)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1604 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, containsConstSeq__injectdestructors_6860)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1605 static N_INLINE(NI, safeLen__ast_3191)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1606 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, passCopyToSink__injectdestructors_6805)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_Con__mVYRtnERc9advo79cBQUudxg* c, tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ* s);
1607 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isLValue__parampatterns_497)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1608 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isCapturedVar__injectdestructors_6797)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1609 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, getRoot__trees_390)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1610 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nsuFormatSingleElem)(NimStringDesc* formatstr, NimStringDesc* a);
1611 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, lookupFieldAgain__types_4062)(tyObject_TType__facALICuu8zUj0hjvbTLFg* ty, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* field);
1612 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, ensureDestruction__injectdestructors_6885)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* arg, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* orig, tyObject_Con__mVYRtnERc9advo79cBQUudxg* c, tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ* s);
1613 static N_INLINE(NI, len__ast_4002)(tyObject_TType__facALICuu8zUj0hjvbTLFg* n);
1614 static N_INLINE(NIM_BOOL, isCompileTimeOnly__types_3528)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
1615 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isSinkTypeForParam__types_4055)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
1616 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, canRaise__ast_5088)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* fn);
1617 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);
1618 N_LIB_PRIVATE N_NIMCALL(void, pVarTopLevel__injectdestructors_6967)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* v, tyObject_Con__mVYRtnERc9advo79cBQUudxg* c, tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ* s, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* res);
1619 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, genDefaultCall__injectdestructors_6751)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_Con__mVYRtnERc9advo79cBQUudxg* c, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
1620 N_LIB_PRIVATE N_NIMCALL(void, cycleCheck__injectdestructors_6908)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_Con__mVYRtnERc9advo79cBQUudxg* c);
1621 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, exprStructuralEquivalent__trees_56)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b, NIM_BOOL strictSymEquality);
1622 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nsuFormatOpenArray)(NimStringDesc* formatstr, NimStringDesc** a, NI aLen_0);
1623 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isDiscriminantField__astalgo_4335)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1624 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, genDiscriminantAsgn__injectdestructors_6668)(tyObject_Con__mVYRtnERc9advo79cBQUudxg* c, tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ* s, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1625 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, produceDestructorForDiscriminator__liftdestructors_2002)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* field, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen);
1626 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, getMagicEqSymForType__magicsys_171)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
1627 N_LIB_PRIVATE N_NIMCALL(void, internalErrorImpl__msgs_1431)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, NimStringDesc* errMsg, tyTuple__kN8up2W6YKc5YA9avn5mV5w info2);
1628 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, reprEnum)(NI e, TNimType* typ);
1629 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, optimize__optimizer_390)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1630 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, nsthasKey)(tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* t, NimStringDesc* key);
1631 N_LIB_PRIVATE N_NIMCALL(void, echoBinSafe)(NimStringDesc** args, NI argsLen_0);
1632 N_LIB_PRIVATE TNimType NTIkeyvaluepair__YXXBMUJBtW9corlxevWVfYQ_;
1633 extern TNimType NTIint__rR5Bzr1D5krxoo1NcNyeMA_;
1634 extern TNimType NTItupleLa58pnode_b58pnodeT__EFqgCXJ4d8PgqOdFJmldsQ_;
1635 extern TNimType NTIaliaskind__mOZtJx9b3QXuy9bfWq9cuUNCg_;
1636 N_LIB_PRIVATE TNimType NTIkeyvaluepairseq__sh9b9afdJBB3bJbViXY7yNAg_;
1637 extern TNimType NTIcontrolflowgraph__hj4BvueOlKB8Z1Qw2ZU4nQ_;
1638 N_LIB_PRIVATE TNimType NTIstate58objecttype__G9bbCRpuemWPWC66CPVRKyw_;
1639 extern TNimType NTIpackedset__IhxwDBRi51nGrosBGFKcsA_;
1640 N_LIB_PRIVATE TNimType NTIhashset__YByQS2i9cOlUupxNMscAMwQ_;
1641 N_LIB_PRIVATE TNimType NTIkeyvaluepair__TeyVVRby9bj1JQeNMm9aeI2w_;
1642 extern TNimType NTIpnode__fKfcLzXYiz5jNu3NH3Tv8Q_;
1643 N_LIB_PRIVATE TNimType NTIkeyvaluepairseq__Y6pVop4P8VSwSorRqc2aQA_;
1644 N_LIB_PRIVATE TNimType NTIstate__xMu9aauGSW9bIwiWptXaXX0Q_;
1645 N_LIB_PRIVATE TNimType NTIseqLstateT__mFtVDW3p7w6wfPPNodKzsA_;
1646 extern TNimType NTIrefkeyerror__8SzoIAgLw9ci2v0yafHj9b6Q_;
1647 extern TNimType NTIkeyerror__t7nhKLvXTQS9cS8ByJU9bIag_;
1648 STRING_LITERAL(TM__dJ4qrEWDmqGA8FWJ0TYKJQ_6, "key not found: ", 15);
1649 STRING_LITERAL(TM__dJ4qrEWDmqGA8FWJ0TYKJQ_7, "(", 1);
1650 STRING_LITERAL(TM__dJ4qrEWDmqGA8FWJ0TYKJQ_8, ", ", 2);
1651 STRING_LITERAL(TM__dJ4qrEWDmqGA8FWJ0TYKJQ_9, "nil", 3);
1652 STRING_LITERAL(TM__dJ4qrEWDmqGA8FWJ0TYKJQ_10, ",", 1);
1653 STRING_LITERAL(TM__dJ4qrEWDmqGA8FWJ0TYKJQ_11, ")", 1);
1654 N_LIB_PRIVATE TNimType NTIkeyvaluepair__jCPpzNasrXtz9cFJFxT1NHQ_;
1655 extern TNimType NTIseqLtpositionT__qwqHTkRvwhrRyENtudHQ7g_;
1656 N_LIB_PRIVATE TNimType NTIkeyvaluepairseq__JGK6WZYU2JHWLoPdKRO4AQ_;
1657 static NIM_CONST tySet_tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw TM__dJ4qrEWDmqGA8FWJ0TYKJQ_13 = {
1658 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
1659 0x00, 0x00, 0x00, 0xb0, 0x03, 0x04, 0x09, 0xc0,
1660 0x00, 0x00, 0x00, 0x00, 0x00}
1661 ;
1662 STRING_LITERAL(TM__dJ4qrEWDmqGA8FWJ0TYKJQ_14, ":tmpD", 5);
1663 extern TNimType NTIseqLpsymT__eHqUwlHGGaPw0TDPDeL79cQ_;
1664 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__dJ4qrEWDmqGA8FWJ0TYKJQ_15 = {
1665 0x10, 0x08, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00,
1666 0x00}
1667 ;
1668 STRING_LITERAL(TM__dJ4qrEWDmqGA8FWJ0TYKJQ_16, "internal error: \'", 17);
1669 extern NIM_CONST tyArray__JXkBzVsE9bvmcpuZvrueLVg AttachedOpToStr__ast_3848;
1670 STRING_LITERAL(TM__dJ4qrEWDmqGA8FWJ0TYKJQ_17, "\' operator not found for type ", 30);
1671 STRING_LITERAL(TM__dJ4qrEWDmqGA8FWJ0TYKJQ_19, "/home/runner/work/nightlies/nightlies/nim/compiler/injectdestructors.nim", 72);
1672 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__dJ4qrEWDmqGA8FWJ0TYKJQ_18 = {((NimStringDesc*) &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_19),
1673 ((NI) 284),
1674 ((NI) 15)}
1675 ;
1676 STRING_LITERAL(TM__dJ4qrEWDmqGA8FWJ0TYKJQ_20, "\' operator is generic", 21);
1677 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__dJ4qrEWDmqGA8FWJ0TYKJQ_21 = {((NimStringDesc*) &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_19),
1678 ((NI) 287),
1679 ((NI) 15)}
1680 ;
1681 STRING_LITERAL(TM__dJ4qrEWDmqGA8FWJ0TYKJQ_22, "\'", 1);
1682 STRING_LITERAL(TM__dJ4qrEWDmqGA8FWJ0TYKJQ_23, "\' is not available for type <", 29);
1683 STRING_LITERAL(TM__dJ4qrEWDmqGA8FWJ0TYKJQ_24, ">", 1);
1684 STRING_LITERAL(TM__dJ4qrEWDmqGA8FWJ0TYKJQ_25, "=", 1);
1685 STRING_LITERAL(TM__dJ4qrEWDmqGA8FWJ0TYKJQ_26, "=copy", 5);
1686 STRING_LITERAL(TM__dJ4qrEWDmqGA8FWJ0TYKJQ_27, "; requires a copy because it\'s not the last read of \'", 53);
1687 STRING_LITERAL(TM__dJ4qrEWDmqGA8FWJ0TYKJQ_28, "; another read is done here: ", 29);
1688 STRING_LITERAL(TM__dJ4qrEWDmqGA8FWJ0TYKJQ_29, "; try to make ", 14);
1689 STRING_LITERAL(TM__dJ4qrEWDmqGA8FWJ0TYKJQ_30, " a \'sink\' parameter", 19);
1690 STRING_LITERAL(TM__dJ4qrEWDmqGA8FWJ0TYKJQ_31, "; routine: ", 11);
1691 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__dJ4qrEWDmqGA8FWJ0TYKJQ_32 = {((NimStringDesc*) &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_19),
1692 ((NI) 263),
1693 ((NI) 12)}
1694 ;
1695 extern TNimType NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_;
1696 STRING_LITERAL(TM__dJ4qrEWDmqGA8FWJ0TYKJQ_33, "wasMoved", 8);
1697 STRING_LITERAL(TM__dJ4qrEWDmqGA8FWJ0TYKJQ_34, "blitTmp", 7);
1698 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__dJ4qrEWDmqGA8FWJ0TYKJQ_35 = {
1699 0x10, 0x28, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00,
1700 0x00}
1701 ;
1702 STRING_LITERAL(TM__dJ4qrEWDmqGA8FWJ0TYKJQ_36, "nimMarkCyclic", 13);
1703 STRING_LITERAL(TM__dJ4qrEWDmqGA8FWJ0TYKJQ_37, "accessEnv", 9);
1704 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__dJ4qrEWDmqGA8FWJ0TYKJQ_38 = {
1705 0x10, 0xa9, 0x00, 0x00, 0x00, 0x60, 0x80, 0x00,
1706 0x00}
1707 ;
1708 STRING_LITERAL(TM__dJ4qrEWDmqGA8FWJ0TYKJQ_39, "passing \'$1\' to a sink parameter introduces an implicit copy; if possible, rearrange your program\'s control flow to prevent it", 126);
1709 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__dJ4qrEWDmqGA8FWJ0TYKJQ_40 = {((NimStringDesc*) &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_19),
1710 ((NI) 462),
1711 ((NI) 13)}
1712 ;
1713 STRING_LITERAL(TM__dJ4qrEWDmqGA8FWJ0TYKJQ_41, "cannot create an implicit openArray copy to be passed to a sink parameter", 73);
1714 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__dJ4qrEWDmqGA8FWJ0TYKJQ_42 = {((NimStringDesc*) &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_19),
1715 ((NI) 469),
1716 ((NI) 16)}
1717 ;
1718 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__dJ4qrEWDmqGA8FWJ0TYKJQ_43 = {
1719 0x10, 0xa9, 0x00, 0x00, 0x00, 0x40, 0x80, 0x00,
1720 0x00}
1721 ;
1722 STRING_LITERAL(TM__dJ4qrEWDmqGA8FWJ0TYKJQ_44, "default", 7);
1723 STRING_LITERAL(TM__dJ4qrEWDmqGA8FWJ0TYKJQ_45, "\'$#\' creates an uncollectable ref cycle; annotate \'$#\' with .cursor", 67);
1724 STRING_LITERAL(TM__dJ4qrEWDmqGA8FWJ0TYKJQ_46, "\'$#\' creates an uncollectable ref cycle", 39);
1725 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__dJ4qrEWDmqGA8FWJ0TYKJQ_47 = {((NimStringDesc*) &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_19),
1726 ((NI) 535),
1727 ((NI) 13)}
1728 ;
1729 STRING_LITERAL(TM__dJ4qrEWDmqGA8FWJ0TYKJQ_48, "Assignment to discriminant for objects with user defined destructor is not supported, object must have default destructor.\012It is best to factor out piece of object that needs custom destructor into separate object or not use discriminator assignment", 249);
1730 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__dJ4qrEWDmqGA8FWJ0TYKJQ_49 = {((NimStringDesc*) &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_19),
1731 ((NI) 393),
1732 ((NI) 16)}
1733 ;
1734 extern NIM_CONST tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q unknownLineInfo__lineinfos_280;
1735 STRING_LITERAL(TM__dJ4qrEWDmqGA8FWJ0TYKJQ_50, "not", 3);
1736 STRING_LITERAL(TM__dJ4qrEWDmqGA8FWJ0TYKJQ_51, "nkWhileStmt should have been handled earlier", 44);
1737 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__dJ4qrEWDmqGA8FWJ0TYKJQ_52 = {((NimStringDesc*) &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_19),
1738 ((NI) 906),
1739 ((NI) 19)}
1740 ;
1741 STRING_LITERAL(TM__dJ4qrEWDmqGA8FWJ0TYKJQ_53, "cannot inject destructors to node kind: ", 40);
1742 extern TNimType NTItnodekind__G4E4Gxe7oI2Cm03rkiOzQw_;
1743 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__dJ4qrEWDmqGA8FWJ0TYKJQ_54 = {((NimStringDesc*) &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_19),
1744 ((NI) 993),
1745 ((NI) 19)}
1746 ;
1747 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__dJ4qrEWDmqGA8FWJ0TYKJQ_55 = {
1748 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00,
1749 0x00}
1750 ;
1751 STRING_LITERAL(TM__dJ4qrEWDmqGA8FWJ0TYKJQ_56, "--expandArc: ", 13);
1752 STRING_LITERAL(TM__dJ4qrEWDmqGA8FWJ0TYKJQ_58, "-- end of expandArc ------------------------", 44);
1753 static NIM_CONST tyArray__nHXaesL0DJZHyVS07ARPRA TM__dJ4qrEWDmqGA8FWJ0TYKJQ_57 = {((NimStringDesc*) &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_58)}
1754 ;
1755 extern tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ gch__system_5247;
N_INLINE(NIM_BOOL,isInlineIterator__ast_4989)1756 static N_INLINE(NIM_BOOL, isInlineIterator__ast_4989)(tyObject_TType__facALICuu8zUj0hjvbTLFg* typ) {
1757 	NIM_BOOL result;
1758 	NIM_BOOL T1_;
1759 	NIM_BOOL T2_;
1760 	result = (NIM_BOOL)0;
1761 	T1_ = (NIM_BOOL)0;
1762 	T2_ = (NIM_BOOL)0;
1763 	T2_ = ((*typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25));
1764 	if (!(T2_)) goto LA3_;
1765 	T2_ = (((*typ).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 15))&63U)))!=0);
1766 	LA3_: ;
1767 	T1_ = T2_;
1768 	if (!(T1_)) goto LA4_;
1769 	T1_ = !(((*typ).callConv == ((tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA) 9)));
1770 	LA4_: ;
1771 	result = T1_;
1772 	return result;
1773 }
N_INLINE(void,nimSetMem__systemZmemory_7)1774 static N_INLINE(void, nimSetMem__systemZmemory_7)(void* a, int v, NI size) {
1775 	void* T1_;
1776 	T1_ = (void*)0;
1777 	T1_ = memset(a, v, ((size_t) (size)));
1778 }
N_INLINE(void,nimZeroMem)1779 static N_INLINE(void, nimZeroMem)(void* p, NI size) {
1780 	nimSetMem__systemZmemory_7(p, ((int) 0), size);
1781 }
N_INLINE(NI,slotsNeeded__pureZcollectionsZtables_42)1782 static N_INLINE(NI, slotsNeeded__pureZcollectionsZtables_42)(NI count) {
1783 	NI result;
1784 	result = (NI)0;
1785 	result = nextPowerOfTwo__pureZmath_176((NI)((NI)((NI)(((NI) (count)) * ((NI) 3)) / ((NI) 2)) + ((NI) 4)));
1786 	return result;
1787 }
N_NIMCALL(void,Marker_tySequence__sh9b9afdJBB3bJbViXY7yNAg)1788 static N_NIMCALL(void, Marker_tySequence__sh9b9afdJBB3bJbViXY7yNAg)(void* p, NI op) {
1789 	tySequence__sh9b9afdJBB3bJbViXY7yNAg* a;
1790 	NI T1_;
1791 	a = (tySequence__sh9b9afdJBB3bJbViXY7yNAg*)p;
1792 	T1_ = (NI)0;
1793 	for (T1_ = 0; T1_ < (a ? a->Sup.len : 0); T1_++) {
1794 	nimGCvisit((void*)a->data[T1_].Field1.Field0, op);
1795 	nimGCvisit((void*)a->data[T1_].Field1.Field1, op);
1796 	}
1797 }
N_NIMCALL(void,initTable__injectdestructors_3782)1798 N_LIB_PRIVATE N_NIMCALL(void, initTable__injectdestructors_3782)(NI initialSize, tyObject_Table__OHR9afGwwhoEoDZjFE9cgF0g* Result) {
1799 	NI correctSizeX60gensym33_;
1800 	unsureAsgnRef((void**)&(*Result).data, NIM_NIL);
1801 	(*Result).counter = 0;
1802 	correctSizeX60gensym33_ = slotsNeeded__pureZcollectionsZtables_42(((NI) (initialSize)));
1803 	(*Result).counter = ((NI) 0);
1804 	unsureAsgnRef((void**) (&(*Result).data), (tySequence__sh9b9afdJBB3bJbViXY7yNAg*) newSeq((&NTIkeyvaluepairseq__sh9b9afdJBB3bJbViXY7yNAg_), ((NI) (correctSizeX60gensym33_))));
1805 }
N_NIMCALL(void,preprocessCfg__injectdestructors_1924)1806 N_LIB_PRIVATE N_NIMCALL(void, preprocessCfg__injectdestructors_1924)(tySequence__hj4BvueOlKB8Z1Qw2ZU4nQ** cfg) {
1807 	{
1808 		NI i;
1809 		NI colontmp_;
1810 		NI T2_;
1811 		NI i_2;
1812 		i = (NI)0;
1813 		colontmp_ = (NI)0;
1814 		T2_ = ((*cfg) ? (*cfg)->Sup.len : 0);
1815 		colontmp_ = T2_;
1816 		i_2 = ((NI) 0);
1817 		{
1818 			while (1) {
1819 				if (!(i_2 < colontmp_)) goto LA4;
1820 				i = i_2;
1821 				{
1822 					NIM_BOOL T7_;
1823 					NI T9_;
1824 					NI T12_;
1825 					T7_ = (NIM_BOOL)0;
1826 					T7_ = ((3 &((NU8)1<<((NU)((*cfg)->data[i].kind)&7U)))!=0);
1827 					if (!(T7_)) goto LA8_;
1828 					T9_ = ((*cfg) ? (*cfg)->Sup.len : 0);
1829 					T7_ = (T9_ < (NI)(i + (*cfg)->data[i].dest));
1830 					LA8_: ;
1831 					if (!T7_) goto LA10_;
1832 					T12_ = ((*cfg) ? (*cfg)->Sup.len : 0);
1833 					(*cfg)->data[i].dest = (NI)(T12_ - i);
1834 				}
1835 				LA10_: ;
1836 				i_2 += ((NI) 1);
1837 			} LA4: ;
1838 		}
1839 	}
1840 }
N_NIMCALL(void,Marker_tySequence__Y6pVop4P8VSwSorRqc2aQA)1841 static N_NIMCALL(void, Marker_tySequence__Y6pVop4P8VSwSorRqc2aQA)(void* p, NI op) {
1842 	tySequence__Y6pVop4P8VSwSorRqc2aQA* a;
1843 	NI T1_;
1844 	a = (tySequence__Y6pVop4P8VSwSorRqc2aQA*)p;
1845 	T1_ = (NI)0;
1846 	for (T1_ = 0; T1_ < (a ? a->Sup.len : 0); T1_++) {
1847 	nimGCvisit((void*)a->data[T1_].Field1, op);
1848 	}
1849 }
N_NIMCALL(void,Marker_tyRef__xMu9aauGSW9bIwiWptXaXX0Q)1850 static N_NIMCALL(void, Marker_tyRef__xMu9aauGSW9bIwiWptXaXX0Q)(void* p, NI op) {
1851 	tyObject_StatecolonObjectType___G9bbCRpuemWPWC66CPVRKyw* a;
1852 	NI T1_;
1853 	NI T2_;
1854 	NI T3_;
1855 	a = (tyObject_StatecolonObjectType___G9bbCRpuemWPWC66CPVRKyw*)p;
1856 	nimGCvisit((void*)(*a).lastReads.head, op);
1857 	nimGCvisit((void*)(*a).lastReads.data, op);
1858 	T1_ = (NI)0;
1859 	nimGCvisit((void*)(*a).potentialLastReads.head, op);
1860 	nimGCvisit((void*)(*a).potentialLastReads.data, op);
1861 	T2_ = (NI)0;
1862 	nimGCvisit((void*)(*a).notLastReads.head, op);
1863 	nimGCvisit((void*)(*a).notLastReads.data, op);
1864 	T3_ = (NI)0;
1865 	nimGCvisit((void*)(*a).alreadySeen.data, op);
1866 }
N_NIMCALL(void,Marker_tySequence__mFtVDW3p7w6wfPPNodKzsA)1867 static N_NIMCALL(void, Marker_tySequence__mFtVDW3p7w6wfPPNodKzsA)(void* p, NI op) {
1868 	tySequence__mFtVDW3p7w6wfPPNodKzsA* a;
1869 	NI T1_;
1870 	a = (tySequence__mFtVDW3p7w6wfPPNodKzsA*)p;
1871 	T1_ = (NI)0;
1872 	for (T1_ = 0; T1_ < (a ? a->Sup.len : 0); T1_++) {
1873 	nimGCvisit((void*)a->data[T1_], op);
1874 	}
1875 }
N_NIMCALL(tySequence__mFtVDW3p7w6wfPPNodKzsA *,newSeq__injectdestructors_3802)1876 N_LIB_PRIVATE N_NIMCALL(tySequence__mFtVDW3p7w6wfPPNodKzsA*, newSeq__injectdestructors_3802)(NI len) {
1877 	tySequence__mFtVDW3p7w6wfPPNodKzsA* result;
1878 	result = NIM_NIL;
1879 	result = (tySequence__mFtVDW3p7w6wfPPNodKzsA*) newSeq((&NTIseqLstateT__mFtVDW3p7w6wfPPNodKzsA_), len);
1880 	return result;
1881 }
N_INLINE(NI,pluspercent___system_696)1882 static N_INLINE(NI, pluspercent___system_696)(NI x, NI y) {
1883 	NI result;
1884 	result = (NI)0;
1885 	result = ((NI) ((NU)((NU64)(((NU) (x))) + (NU64)(((NU) (y))))));
1886 	return result;
1887 }
N_INLINE(void,incRef__system_5338)1888 static N_INLINE(void, incRef__system_5338)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
1889 	(*c).refcount = pluspercent___system_696((*c).refcount, ((NI) 8));
1890 }
N_INLINE(NI,minuspercent___system_716)1891 static N_INLINE(NI, minuspercent___system_716)(NI x, NI y) {
1892 	NI result;
1893 	result = (NI)0;
1894 	result = ((NI) ((NU)((NU64)(((NU) (x))) - (NU64)(((NU) (y))))));
1895 	return result;
1896 }
N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g *,usrToCell__system_5300)1897 static N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*, usrToCell__system_5300)(void* usr) {
1898 	tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* result;
1899 	NI T1_;
1900 	result = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
1901 	T1_ = (NI)0;
1902 	T1_ = minuspercent___system_716(((NI) (ptrdiff_t) (usr)), ((NI) 16));
1903 	result = ((tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*) (T1_));
1904 	return result;
1905 }
N_INLINE(NIM_BOOL,ltpercent___system_1005)1906 static N_INLINE(NIM_BOOL, ltpercent___system_1005)(NI x, NI y) {
1907 	NIM_BOOL result;
1908 	result = (NIM_BOOL)0;
1909 	result = ((NU64)(((NU) (x))) < (NU64)(((NU) (y))));
1910 	return result;
1911 }
N_INLINE(void,rtlAddZCT__system_5343)1912 static N_INLINE(void, rtlAddZCT__system_5343)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
1913 	addZCT__system_5294((&gch__system_5247.zct), c);
1914 }
N_INLINE(void,decRef__system_5345)1915 static N_INLINE(void, decRef__system_5345)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
1916 	(*c).refcount = minuspercent___system_716((*c).refcount, ((NI) 8));
1917 	{
1918 		NIM_BOOL T3_;
1919 		T3_ = (NIM_BOOL)0;
1920 		T3_ = ltpercent___system_1005((*c).refcount, ((NI) 8));
1921 		if (!T3_) goto LA4_;
1922 		rtlAddZCT__system_5343(c);
1923 	}
1924 	LA4_: ;
1925 }
N_INLINE(void,asgnRef)1926 static N_INLINE(void, asgnRef)(void** dest, void* src) {
1927 	{
1928 		tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T5_;
1929 		if (!!((src == NIM_NIL))) goto LA3_;
1930 		T5_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
1931 		T5_ = usrToCell__system_5300(src);
1932 		incRef__system_5338(T5_);
1933 	}
1934 	LA3_: ;
1935 	{
1936 		tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T10_;
1937 		if (!!(((*dest) == NIM_NIL))) goto LA8_;
1938 		T10_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
1939 		T10_ = usrToCell__system_5300((*dest));
1940 		decRef__system_5345(T10_);
1941 	}
1942 	LA8_: ;
1943 	(*dest) = src;
1944 }
N_INLINE(NI,emarkamp___pureZhashes_3)1945 static N_INLINE(NI, emarkamp___pureZhashes_3)(NI h, NI val) {
1946 	NI result;
1947 	NU h_2;
1948 	NU val_2;
1949 	NU res;
1950 	result = (NI)0;
1951 	h_2 = ((NU) (h));
1952 	val_2 = ((NU) (val));
1953 	res = (NU)((NU64)(h_2) + (NU64)(val_2));
1954 	res = (NU)((NU64)(res) + (NU64)((NU)((NU64)(res) << (NU64)(((NI) 10)))));
1955 	res = (NU)(res ^ (NU)((NU64)(res) >> (NU64)(((NI) 6))));
1956 	result = ((NI) (res));
1957 	return result;
1958 }
N_INLINE(NU64,hiXorLo__pureZhashes_79)1959 static N_INLINE(NU64, hiXorLo__pureZhashes_79)(NU64 a, NU64 b) {
1960 	NU64 result;
1961 	result = (NU64)0;
1962 	__uint128_t r = a; r *= b; result = (r >> 64) ^ r;
1963 	return result;
1964 }
N_INLINE(NI,hashWangYi1__pureZhashes_136)1965 static N_INLINE(NI, hashWangYi1__pureZhashes_136)(NU64 x) {
1966 	NI result;
1967 	NU64 T1_;
1968 	NU64 T2_;
1969 	result = (NI)0;
1970 	T1_ = (NU64)0;
1971 	T1_ = hiXorLo__pureZhashes_79(11562461410679940143ULL, (NU64)(x ^ 16646288086500911323ULL));
1972 	T2_ = (NU64)0;
1973 	T2_ = hiXorLo__pureZhashes_79(T1_, 16952864883938283885ULL);
1974 	result = ((NI) (T2_));
1975 	return result;
1976 }
N_INLINE(NI,hash__pureZhashes_128)1977 static N_INLINE(NI, hash__pureZhashes_128)(NI x) {
1978 	NI result;
1979 	result = (NI)0;
1980 	result = hashWangYi1__pureZhashes_136(((NU64) (x)));
1981 	return result;
1982 }
N_INLINE(NI,hash__pureZhashes_124)1983 static N_INLINE(NI, hash__pureZhashes_124)(void* x) {
1984 	NI result;
1985 	NI y;
1986 	result = (NI)0;
1987 	y = ((NI) (ptrdiff_t) (x));
1988 	result = hash__pureZhashes_128(y);
1989 	return result;
1990 }
N_NIMCALL(NI,hash__injectdestructors_118)1991 N_LIB_PRIVATE N_NIMCALL(NI, hash__injectdestructors_118)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
1992 	NI result;
1993 	result = (NI)0;
1994 	result = hash__pureZhashes_124(((void*) (n)));
1995 	return result;
1996 }
N_INLINE(NI,emarkdollar___pureZhashes_18)1997 static N_INLINE(NI, emarkdollar___pureZhashes_18)(NI h) {
1998 	NI result;
1999 	NU h_2;
2000 	NU res;
2001 	result = (NI)0;
2002 	h_2 = ((NU) (h));
2003 	res = (NU)((NU64)(h_2) + (NU64)((NU)((NU64)(h_2) << (NU64)(((NI) 3)))));
2004 	res = (NU)(res ^ (NU)((NU64)(res) >> (NU64)(((NI) 11))));
2005 	res = (NU)((NU64)(res) + (NU64)((NU)((NU64)(res) << (NU64)(((NI) 15)))));
2006 	result = ((NI) (res));
2007 	return result;
2008 }
N_NIMCALL(NI,hash__injectdestructors_188)2009 N_LIB_PRIVATE N_NIMCALL(NI, hash__injectdestructors_188)(tyTuple__EFqgCXJ4d8PgqOdFJmldsQ x) {
2010 	NI result;
2011 	NI T1_;
2012 	NI T2_;
2013 	result = (NI)0;
2014 	T1_ = (NI)0;
2015 	T1_ = hash__injectdestructors_118(x.Field0);
2016 	result = emarkamp___pureZhashes_3(result, T1_);
2017 	T2_ = (NI)0;
2018 	T2_ = hash__injectdestructors_118(x.Field1);
2019 	result = emarkamp___pureZhashes_3(result, T2_);
2020 	result = emarkdollar___pureZhashes_18(result);
2021 	return result;
2022 }
N_INLINE(NIM_BOOL,isFilled__pureZcollectionsZtables_31)2023 static N_INLINE(NIM_BOOL, isFilled__pureZcollectionsZtables_31)(NI hcode) {
2024 	NIM_BOOL result;
2025 	result = (NIM_BOOL)0;
2026 	result = !((hcode == ((NI) 0)));
2027 	return result;
2028 }
N_NIMCALL(NIM_BOOL,eqeq___injectdestructors_430)2029 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, eqeq___injectdestructors_430)(tyTuple__EFqgCXJ4d8PgqOdFJmldsQ x, tyTuple__EFqgCXJ4d8PgqOdFJmldsQ y) {
2030 	NIM_BOOL result;
2031 {	result = (NIM_BOOL)0;
2032 	{
2033 		if (!!((x.Field0 == y.Field0))) goto LA3_;
2034 		result = NIM_FALSE;
2035 		goto BeforeRet_;
2036 	}
2037 	LA3_: ;
2038 	{
2039 		if (!!((x.Field1 == y.Field1))) goto LA7_;
2040 		result = NIM_FALSE;
2041 		goto BeforeRet_;
2042 	}
2043 	LA7_: ;
2044 	result = NIM_TRUE;
2045 	goto BeforeRet_;
2046 	}BeforeRet_: ;
2047 	return result;
2048 }
N_INLINE(NI,nextTry__pureZcollectionsZtables_34)2049 static N_INLINE(NI, nextTry__pureZcollectionsZtables_34)(NI h, NI maxHash) {
2050 	NI result;
2051 	result = (NI)0;
2052 	result = (NI)((NI)(h + ((NI) 1)) & maxHash);
2053 	return result;
2054 }
N_INLINE(NI,rawGet__injectdestructors_181)2055 static N_INLINE(NI, rawGet__injectdestructors_181)(tyObject_Table__OHR9afGwwhoEoDZjFE9cgF0g t, tyTuple__EFqgCXJ4d8PgqOdFJmldsQ key, NI* hc) {
2056 	NI result;
2057 	NI h;
2058 	NI T10_;
2059 {	result = (NI)0;
2060 	(*hc) = hash__injectdestructors_188(key);
2061 	{
2062 		if (!((*hc) == ((NI) 0))) goto LA3_;
2063 		(*hc) = ((NI) 314159265);
2064 	}
2065 	LA3_: ;
2066 	{
2067 		NI T7_;
2068 		T7_ = (t.data ? t.data->Sup.len : 0);
2069 		if (!(T7_ == ((NI) 0))) goto LA8_;
2070 		result = ((NI) -1);
2071 		goto BeforeRet_;
2072 	}
2073 	LA8_: ;
2074 	T10_ = ((t.data ? t.data->Sup.len : 0)-1);
2075 	h = (NI)((*hc) & T10_);
2076 	{
2077 		while (1) {
2078 			NIM_BOOL T13_;
2079 			NI T20_;
2080 			T13_ = (NIM_BOOL)0;
2081 			T13_ = isFilled__pureZcollectionsZtables_31(t.data->data[h].Field0);
2082 			if (!T13_) goto LA12;
2083 			{
2084 				NIM_BOOL T16_;
2085 				T16_ = (NIM_BOOL)0;
2086 				T16_ = (t.data->data[h].Field0 == (*hc));
2087 				if (!(T16_)) goto LA17_;
2088 				T16_ = eqeq___injectdestructors_430(t.data->data[h].Field1, key);
2089 				LA17_: ;
2090 				if (!T16_) goto LA18_;
2091 				result = h;
2092 				goto BeforeRet_;
2093 			}
2094 			LA18_: ;
2095 			T20_ = ((t.data ? t.data->Sup.len : 0)-1);
2096 			h = nextTry__pureZcollectionsZtables_34(h, T20_);
2097 		} LA12: ;
2098 	}
2099 	result = (NI)(((NI) -1) - h);
2100 	}BeforeRet_: ;
2101 	return result;
2102 }
N_NIMCALL(NIM_BOOL,hasKey__injectdestructors_174)2103 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasKey__injectdestructors_174)(tyObject_Table__OHR9afGwwhoEoDZjFE9cgF0g t, tyTuple__EFqgCXJ4d8PgqOdFJmldsQ key) {
2104 	NIM_BOOL result;
2105 	NI hc;
2106 	NI T1_;
2107 	result = (NIM_BOOL)0;
2108 	hc = (NI)0;
2109 	T1_ = (NI)0;
2110 	T1_ = rawGet__injectdestructors_181(t, key, (&hc));
2111 	result = (((NI) 0) <= T1_);
2112 	return result;
2113 }
N_INLINE(NIM_BOOL,mustRehash__injectdestructors_708)2114 static N_INLINE(NIM_BOOL, mustRehash__injectdestructors_708)(tyObject_Table__OHR9afGwwhoEoDZjFE9cgF0g t) {
2115 	NIM_BOOL result;
2116 	NIM_BOOL T1_;
2117 	NI T2_;
2118 	NI T4_;
2119 	result = (NIM_BOOL)0;
2120 	T1_ = (NIM_BOOL)0;
2121 	T2_ = (t.data ? t.data->Sup.len : 0);
2122 	T1_ = ((NI)(T2_ * ((NI) 2)) < (NI)(t.counter * ((NI) 3)));
2123 	if (T1_) goto LA3_;
2124 	T4_ = (t.data ? t.data->Sup.len : 0);
2125 	T1_ = ((NI)(T4_ - t.counter) < ((NI) 4));
2126 	LA3_: ;
2127 	result = T1_;
2128 	return result;
2129 }
N_NIMCALL(void,rawInsert__injectdestructors_1229)2130 N_LIB_PRIVATE N_NIMCALL(void, rawInsert__injectdestructors_1229)(tyObject_Table__OHR9afGwwhoEoDZjFE9cgF0g* t, tySequence__sh9b9afdJBB3bJbViXY7yNAg** data, tyTuple__EFqgCXJ4d8PgqOdFJmldsQ key, tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg val, NI hc, NI h) {
2131 	asgnRef((void**) (&(*data)->data[h].Field1.Field0), key.Field0);
2132 	asgnRef((void**) (&(*data)->data[h].Field1.Field1), key.Field1);
2133 	(*data)->data[h].Field2 = val;
2134 	(*data)->data[h].Field0 = hc;
2135 }
N_NIMCALL(void,enlarge__injectdestructors_894)2136 N_LIB_PRIVATE N_NIMCALL(void, enlarge__injectdestructors_894)(tyObject_Table__OHR9afGwwhoEoDZjFE9cgF0g* t) {
2137 	tySequence__sh9b9afdJBB3bJbViXY7yNAg* n;
2138 	NI T1_;
2139 	tySequence__sh9b9afdJBB3bJbViXY7yNAg* T2_;
2140 	n = NIM_NIL;
2141 	T1_ = ((*t).data ? (*t).data->Sup.len : 0);
2142 	n = (tySequence__sh9b9afdJBB3bJbViXY7yNAg*) newSeq((&NTIkeyvaluepairseq__sh9b9afdJBB3bJbViXY7yNAg_), ((NI) ((NI)(T1_ * ((NI) 2)))));
2143 	T2_ = NIM_NIL;
2144 	T2_ = (*t).data;
2145 	unsureAsgnRef((void**) (&(*t).data), n);
2146 	n = T2_;
2147 	{
2148 		NI i;
2149 		NI colontmp_;
2150 		NI T4_;
2151 		NI res;
2152 		i = (NI)0;
2153 		colontmp_ = (NI)0;
2154 		T4_ = ((n ? n->Sup.len : 0)-1);
2155 		colontmp_ = T4_;
2156 		res = ((NI) 0);
2157 		{
2158 			while (1) {
2159 				NI eh;
2160 				if (!(res <= colontmp_)) goto LA6;
2161 				i = res;
2162 				eh = n->data[i].Field0;
2163 				{
2164 					NIM_BOOL T9_;
2165 					NI j;
2166 					NI T12_;
2167 					tyTuple__EFqgCXJ4d8PgqOdFJmldsQ T17_;
2168 					tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg T18_;
2169 					T9_ = (NIM_BOOL)0;
2170 					T9_ = isFilled__pureZcollectionsZtables_31(eh);
2171 					if (!T9_) goto LA10_;
2172 					T12_ = (((*t).data ? (*t).data->Sup.len : 0)-1);
2173 					j = (NI)(eh & T12_);
2174 					{
2175 						while (1) {
2176 							NIM_BOOL T15_;
2177 							NI T16_;
2178 							T15_ = (NIM_BOOL)0;
2179 							T15_ = isFilled__pureZcollectionsZtables_31((*t).data->data[j].Field0);
2180 							if (!T15_) goto LA14;
2181 							T16_ = (((*t).data ? (*t).data->Sup.len : 0)-1);
2182 							j = nextTry__pureZcollectionsZtables_34(j, T16_);
2183 						} LA14: ;
2184 					}
2185 					nimZeroMem((void*)(&T17_), sizeof(tyTuple__EFqgCXJ4d8PgqOdFJmldsQ));
2186 					T17_.Field0 = n->data[i].Field1.Field0;
2187 					T17_.Field1 = n->data[i].Field1.Field1;
2188 					unsureAsgnRef((void**)&n->data[i].Field1.Field0, NIM_NIL);
2189 					unsureAsgnRef((void**)&n->data[i].Field1.Field1, NIM_NIL);
2190 					T18_ = (tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg)0;
2191 					T18_ = n->data[i].Field2;
2192 					n->data[i].Field2 = 0;
2193 					rawInsert__injectdestructors_1229(t, (&(*t).data), T17_, T18_, eh, j);
2194 				}
2195 				LA10_: ;
2196 				res += ((NI) 1);
2197 			} LA6: ;
2198 		}
2199 	}
2200 }
N_INLINE(NI,rawGetKnownHC__injectdestructors_1410)2201 static N_INLINE(NI, rawGetKnownHC__injectdestructors_1410)(tyObject_Table__OHR9afGwwhoEoDZjFE9cgF0g t, tyTuple__EFqgCXJ4d8PgqOdFJmldsQ key, NI hc) {
2202 	NI result;
2203 	NI h;
2204 	NI T6_;
2205 {	result = (NI)0;
2206 	{
2207 		NI T3_;
2208 		T3_ = (t.data ? t.data->Sup.len : 0);
2209 		if (!(T3_ == ((NI) 0))) goto LA4_;
2210 		result = ((NI) -1);
2211 		goto BeforeRet_;
2212 	}
2213 	LA4_: ;
2214 	T6_ = ((t.data ? t.data->Sup.len : 0)-1);
2215 	h = (NI)(hc & T6_);
2216 	{
2217 		while (1) {
2218 			NIM_BOOL T9_;
2219 			NI T16_;
2220 			T9_ = (NIM_BOOL)0;
2221 			T9_ = isFilled__pureZcollectionsZtables_31(t.data->data[h].Field0);
2222 			if (!T9_) goto LA8;
2223 			{
2224 				NIM_BOOL T12_;
2225 				T12_ = (NIM_BOOL)0;
2226 				T12_ = (t.data->data[h].Field0 == hc);
2227 				if (!(T12_)) goto LA13_;
2228 				T12_ = eqeq___injectdestructors_430(t.data->data[h].Field1, key);
2229 				LA13_: ;
2230 				if (!T12_) goto LA14_;
2231 				result = h;
2232 				goto BeforeRet_;
2233 			}
2234 			LA14_: ;
2235 			T16_ = ((t.data ? t.data->Sup.len : 0)-1);
2236 			h = nextTry__pureZcollectionsZtables_34(h, T16_);
2237 		} LA8: ;
2238 	}
2239 	result = (NI)(((NI) -1) - h);
2240 	}BeforeRet_: ;
2241 	return result;
2242 }
N_NIMCALL(void,X5BX5Deq___injectdestructors_509)2243 N_LIB_PRIVATE N_NIMCALL(void, X5BX5Deq___injectdestructors_509)(tyObject_Table__OHR9afGwwhoEoDZjFE9cgF0g* t, tyTuple__EFqgCXJ4d8PgqOdFJmldsQ key, tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg val) {
2244 	NI hc;
2245 	NI index;
2246 	{
2247 		NI T3_;
2248 		NI correctSizeX60gensym7_;
2249 		T3_ = ((*t).data ? (*t).data->Sup.len : 0);
2250 		if (!(T3_ == ((NI) 0))) goto LA4_;
2251 		correctSizeX60gensym7_ = slotsNeeded__pureZcollectionsZtables_42(((NI) 32));
2252 		(*t).counter = ((NI) 0);
2253 		unsureAsgnRef((void**) (&(*t).data), (tySequence__sh9b9afdJBB3bJbViXY7yNAg*) newSeq((&NTIkeyvaluepairseq__sh9b9afdJBB3bJbViXY7yNAg_), ((NI) (correctSizeX60gensym7_))));
2254 	}
2255 	LA4_: ;
2256 	hc = (NI)0;
2257 	index = rawGet__injectdestructors_181((*t), key, (&hc));
2258 	{
2259 		if (!(((NI) 0) <= index)) goto LA8_;
2260 		(*t).data->data[index].Field2 = val;
2261 	}
2262 	goto LA6_;
2263 	LA8_: ;
2264 	{
2265 		{
2266 			NI T13_;
2267 			NI correctSizeX60gensym10_;
2268 			T13_ = ((*t).data ? (*t).data->Sup.len : 0);
2269 			if (!(T13_ == ((NI) 0))) goto LA14_;
2270 			correctSizeX60gensym10_ = slotsNeeded__pureZcollectionsZtables_42(((NI) 32));
2271 			(*t).counter = ((NI) 0);
2272 			unsureAsgnRef((void**) (&(*t).data), (tySequence__sh9b9afdJBB3bJbViXY7yNAg*) newSeq((&NTIkeyvaluepairseq__sh9b9afdJBB3bJbViXY7yNAg_), ((NI) (correctSizeX60gensym10_))));
2273 		}
2274 		LA14_: ;
2275 		{
2276 			NIM_BOOL T18_;
2277 			T18_ = (NIM_BOOL)0;
2278 			T18_ = mustRehash__injectdestructors_708((*t));
2279 			if (!T18_) goto LA19_;
2280 			enlarge__injectdestructors_894(t);
2281 			index = rawGetKnownHC__injectdestructors_1410((*t), key, hc);
2282 		}
2283 		LA19_: ;
2284 		index = (NI)(((NI) -1) - index);
2285 		rawInsert__injectdestructors_1229(t, (&(*t).data), key, val, hc, index);
2286 		(*t).counter += ((NI) 1);
2287 	}
2288 	LA6_: ;
2289 }
N_INLINE(void,nimCopyMem)2290 static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size) {
2291 	void* T1_;
2292 	T1_ = (void*)0;
2293 	T1_ = memcpy(dest, source, ((size_t) (size)));
2294 }
N_INLINE(void,copyMem__system_1727)2295 static N_INLINE(void, copyMem__system_1727)(void* dest, void* source, NI size) {
2296 	nimCopyMem(dest, source, size);
2297 }
N_INLINE(void,appendString)2298 static N_INLINE(void, appendString)(NimStringDesc* dest, NimStringDesc* src) {
2299 	{
2300 		if (!!((src == ((NimStringDesc*) NIM_NIL)))) goto LA3_;
2301 		copyMem__system_1727(((void*) ((&(*dest).data[(*dest).Sup.len]))), ((void*) ((*src).data)), ((NI) ((NI)((*src).Sup.len + ((NI) 1)))));
2302 		(*dest).Sup.len += (*src).Sup.len;
2303 	}
2304 	LA3_: ;
2305 }
N_NIMCALL(void,addQuoted__injectdestructors_1880)2306 N_LIB_PRIVATE N_NIMCALL(void, addQuoted__injectdestructors_1880)(NimStringDesc** s, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x) {
2307 	NimStringDesc* T1_;
2308 	T1_ = NIM_NIL;
2309 	T1_ = dollar___renderer_2106(x);
2310 	unsureAsgnRef((void**) (&(*s)), resizeString((*s), (T1_ ? T1_->Sup.len : 0) + 0));
2311 appendString((*s), T1_);
2312 }
N_NIMCALL(NimStringDesc *,dollar___injectdestructors_1854)2313 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar___injectdestructors_1854)(tyTuple__EFqgCXJ4d8PgqOdFJmldsQ x) {
2314 	NimStringDesc* result;
2315 	NI count;
2316 	result = NIM_NIL;
2317 	result = copyString(((NimStringDesc*) &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_7));
2318 	count = ((NI) 0);
2319 	{
2320 		if (!(((NI) 0) < count)) goto LA3_;
2321 		result = resizeString(result, 2);
2322 appendString(result, ((NimStringDesc*) &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_8));
2323 	}
2324 	LA3_: ;
2325 	count += ((NI) 1);
2326 	{
2327 		if (!(x.Field0 == 0)) goto LA7_;
2328 		result = resizeString(result, 3);
2329 appendString(result, ((NimStringDesc*) &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_9));
2330 	}
2331 	goto LA5_;
2332 	LA7_: ;
2333 	{
2334 		addQuoted__injectdestructors_1880((&result), x.Field0);
2335 	}
2336 	LA5_: ;
2337 	{
2338 		if (!(((NI) 0) < count)) goto LA12_;
2339 		result = resizeString(result, 2);
2340 appendString(result, ((NimStringDesc*) &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_8));
2341 	}
2342 	LA12_: ;
2343 	count += ((NI) 1);
2344 	{
2345 		if (!(x.Field1 == 0)) goto LA16_;
2346 		result = resizeString(result, 3);
2347 appendString(result, ((NimStringDesc*) &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_9));
2348 	}
2349 	goto LA14_;
2350 	LA16_: ;
2351 	{
2352 		addQuoted__injectdestructors_1880((&result), x.Field1);
2353 	}
2354 	LA14_: ;
2355 	{
2356 		if (!(count == ((NI) 1))) goto LA21_;
2357 		result = resizeString(result, 1);
2358 appendString(result, ((NimStringDesc*) &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_10));
2359 	}
2360 	LA21_: ;
2361 	result = resizeString(result, 1);
2362 appendString(result, ((NimStringDesc*) &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_11));
2363 	return result;
2364 }
N_NOINLINE(void,raiseKeyError__injectdestructors_1802)2365 N_LIB_PRIVATE N_NOINLINE(void, raiseKeyError__injectdestructors_1802)(tyTuple__EFqgCXJ4d8PgqOdFJmldsQ key) {
2366 	tyObject_KeyError__t7nhKLvXTQS9cS8ByJU9bIag* T1_;
2367 	NimStringDesc* T2_;
2368 	NimStringDesc* T3_;
2369 	T1_ = NIM_NIL;
2370 	T1_ = (tyObject_KeyError__t7nhKLvXTQS9cS8ByJU9bIag*) newObj((&NTIrefkeyerror__8SzoIAgLw9ci2v0yafHj9b6Q_), sizeof(tyObject_KeyError__t7nhKLvXTQS9cS8ByJU9bIag));
2371 	(*T1_).Sup.Sup.Sup.Sup.m_type = (&NTIkeyerror__t7nhKLvXTQS9cS8ByJU9bIag_);
2372 	(*T1_).Sup.Sup.Sup.name = "KeyError";
2373 	T2_ = NIM_NIL;
2374 	T3_ = NIM_NIL;
2375 	T3_ = dollar___injectdestructors_1854(key);
2376 	T2_ = rawNewString((T3_ ? T3_->Sup.len : 0) + 15);
2377 appendString(T2_, ((NimStringDesc*) &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_6));
2378 appendString(T2_, T3_);
2379 	asgnRef((void**) (&(*T1_).Sup.Sup.Sup.message), T2_);
2380 	asgnRef((void**) (&(*T1_).Sup.Sup.Sup.parent), ((Exception*) NIM_NIL));
2381 	raiseExceptionEx((Exception*)T1_, "KeyError", "raiseKeyError", "tables.nim", 234);
2382 }
N_NIMCALL(tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg *,X5BX5D___injectdestructors_1731)2383 N_LIB_PRIVATE N_NIMCALL(tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg*, X5BX5D___injectdestructors_1731)(tyObject_Table__OHR9afGwwhoEoDZjFE9cgF0g* t, tyTuple__EFqgCXJ4d8PgqOdFJmldsQ key) {
2384 	tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg* result;
2385 	NI hcX60gensym22_;
2386 	NI indexX60gensym22_;
2387 	result = (tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg*)0;
2388 	hcX60gensym22_ = (NI)0;
2389 	indexX60gensym22_ = rawGet__injectdestructors_181((*t), key, (&hcX60gensym22_));
2390 	{
2391 		if (!(((NI) 0) <= indexX60gensym22_)) goto LA3_;
2392 		result = (&(*t).data->data[indexX60gensym22_].Field2);
2393 	}
2394 	goto LA1_;
2395 	LA3_: ;
2396 	{
2397 		raiseKeyError__injectdestructors_1802(key);
2398 	}
2399 	LA1_: ;
2400 	return result;
2401 }
N_NIMCALL(tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg,aliasesCached__injectdestructors_121)2402 N_LIB_PRIVATE N_NIMCALL(tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg, aliasesCached__injectdestructors_121)(tyObject_Table__OHR9afGwwhoEoDZjFE9cgF0g* cache, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* obj, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* field) {
2403 	tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg result;
2404 	tyTuple__EFqgCXJ4d8PgqOdFJmldsQ key;
2405 	tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg* T7_;
2406 	result = (tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg)0;
2407 	nimZeroMem((void*)(&key), sizeof(tyTuple__EFqgCXJ4d8PgqOdFJmldsQ));
2408 	key.Field0 = obj;
2409 	key.Field1 = field;
2410 	{
2411 		NIM_BOOL T3_;
2412 		tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg T6_;
2413 		T3_ = (NIM_BOOL)0;
2414 		T3_ = hasKey__injectdestructors_174((*cache), key);
2415 		if (!!(T3_)) goto LA4_;
2416 		T6_ = (tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg)0;
2417 		T6_ = aliases__dfa_792(obj, field);
2418 		X5BX5Deq___injectdestructors_509(cache, key, T6_);
2419 	}
2420 	LA4_: ;
2421 	T7_ = (tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg*)0;
2422 	T7_ = X5BX5D___injectdestructors_1731(cache, key);
2423 	result = (*T7_);
2424 	return result;
2425 }
N_INLINE(void,appendChar)2426 static N_INLINE(void, appendChar)(NimStringDesc* dest, NIM_CHAR c) {
2427 	(*dest).data[(*dest).Sup.len] = c;
2428 	(*dest).data[(NI)((*dest).Sup.len + ((NI) 1))] = 0;
2429 	(*dest).Sup.len += ((NI) 1);
2430 }
N_NIMCALL(NI,len__injectdestructors_2169)2431 N_LIB_PRIVATE N_NIMCALL(NI, len__injectdestructors_2169)(tyObject_HashSet__YByQS2i9cOlUupxNMscAMwQ s) {
2432 	NI result;
2433 	result = (NI)0;
2434 	result = s.counter;
2435 	return result;
2436 }
N_INLINE(NIM_BOOL,isFilled__pureZcollectionsZsets_38)2437 static N_INLINE(NIM_BOOL, isFilled__pureZcollectionsZsets_38)(NI hcode) {
2438 	NIM_BOOL result;
2439 	result = (NIM_BOOL)0;
2440 	result = !((hcode == ((NI) 0)));
2441 	return result;
2442 }
N_INLINE(NI,slotsNeeded__pureZcollectionsZsets_49)2443 static N_INLINE(NI, slotsNeeded__pureZcollectionsZsets_49)(NI count) {
2444 	NI result;
2445 	result = (NI)0;
2446 	result = nextPowerOfTwo__pureZmath_176((NI)((NI)((NI)(((NI) (count)) * ((NI) 3)) / ((NI) 2)) + ((NI) 4)));
2447 	return result;
2448 }
N_INLINE(NI,nextTry__pureZcollectionsZsets_41)2449 static N_INLINE(NI, nextTry__pureZcollectionsZsets_41)(NI h, NI maxHash) {
2450 	NI result;
2451 	result = (NI)0;
2452 	result = (NI)((NI)(h + ((NI) 1)) & maxHash);
2453 	return result;
2454 }
N_INLINE(NI,rawGet__injectdestructors_2482)2455 static N_INLINE(NI, rawGet__injectdestructors_2482)(tyObject_HashSet__YByQS2i9cOlUupxNMscAMwQ t, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* key, NI* hc) {
2456 	NI result;
2457 	NI h;
2458 	NI T10_;
2459 {	result = (NI)0;
2460 	(*hc) = hash__injectdestructors_118(key);
2461 	{
2462 		if (!((*hc) == ((NI) 0))) goto LA3_;
2463 		(*hc) = ((NI) 314159265);
2464 	}
2465 	LA3_: ;
2466 	{
2467 		NI T7_;
2468 		T7_ = (t.data ? t.data->Sup.len : 0);
2469 		if (!(T7_ == ((NI) 0))) goto LA8_;
2470 		result = ((NI) -1);
2471 		goto BeforeRet_;
2472 	}
2473 	LA8_: ;
2474 	T10_ = ((t.data ? t.data->Sup.len : 0)-1);
2475 	h = (NI)((*hc) & T10_);
2476 	{
2477 		while (1) {
2478 			NIM_BOOL T13_;
2479 			NI T20_;
2480 			T13_ = (NIM_BOOL)0;
2481 			T13_ = isFilled__pureZcollectionsZsets_38(t.data->data[h].Field0);
2482 			if (!T13_) goto LA12;
2483 			{
2484 				NIM_BOOL T16_;
2485 				T16_ = (NIM_BOOL)0;
2486 				T16_ = (t.data->data[h].Field0 == (*hc));
2487 				if (!(T16_)) goto LA17_;
2488 				T16_ = (t.data->data[h].Field1 == key);
2489 				LA17_: ;
2490 				if (!T16_) goto LA18_;
2491 				result = h;
2492 				goto BeforeRet_;
2493 			}
2494 			LA18_: ;
2495 			T20_ = ((t.data ? t.data->Sup.len : 0)-1);
2496 			h = nextTry__pureZcollectionsZsets_41(h, T20_);
2497 		} LA12: ;
2498 	}
2499 	result = (NI)(((NI) -1) - h);
2500 	}BeforeRet_: ;
2501 	return result;
2502 }
N_INLINE(NIM_BOOL,mustRehash__injectdestructors_2730)2503 static N_INLINE(NIM_BOOL, mustRehash__injectdestructors_2730)(tyObject_HashSet__YByQS2i9cOlUupxNMscAMwQ t) {
2504 	NIM_BOOL result;
2505 	NIM_BOOL T1_;
2506 	NI T2_;
2507 	NI T4_;
2508 	result = (NIM_BOOL)0;
2509 	T1_ = (NIM_BOOL)0;
2510 	T2_ = (t.data ? t.data->Sup.len : 0);
2511 	T1_ = ((NI)(T2_ * ((NI) 2)) < (NI)(t.counter * ((NI) 3)));
2512 	if (T1_) goto LA3_;
2513 	T4_ = (t.data ? t.data->Sup.len : 0);
2514 	T1_ = ((NI)(T4_ - t.counter) < ((NI) 4));
2515 	LA3_: ;
2516 	result = T1_;
2517 	return result;
2518 }
N_INLINE(NI,rawGetKnownHC__injectdestructors_3173)2519 static N_INLINE(NI, rawGetKnownHC__injectdestructors_3173)(tyObject_HashSet__YByQS2i9cOlUupxNMscAMwQ t, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* key, NI hc) {
2520 	NI result;
2521 	NI h;
2522 	NI T6_;
2523 {	result = (NI)0;
2524 	{
2525 		NI T3_;
2526 		T3_ = (t.data ? t.data->Sup.len : 0);
2527 		if (!(T3_ == ((NI) 0))) goto LA4_;
2528 		result = ((NI) -1);
2529 		goto BeforeRet_;
2530 	}
2531 	LA4_: ;
2532 	T6_ = ((t.data ? t.data->Sup.len : 0)-1);
2533 	h = (NI)(hc & T6_);
2534 	{
2535 		while (1) {
2536 			NIM_BOOL T9_;
2537 			NI T16_;
2538 			T9_ = (NIM_BOOL)0;
2539 			T9_ = isFilled__pureZcollectionsZsets_38(t.data->data[h].Field0);
2540 			if (!T9_) goto LA8;
2541 			{
2542 				NIM_BOOL T12_;
2543 				T12_ = (NIM_BOOL)0;
2544 				T12_ = (t.data->data[h].Field0 == hc);
2545 				if (!(T12_)) goto LA13_;
2546 				T12_ = (t.data->data[h].Field1 == key);
2547 				LA13_: ;
2548 				if (!T12_) goto LA14_;
2549 				result = h;
2550 				goto BeforeRet_;
2551 			}
2552 			LA14_: ;
2553 			T16_ = ((t.data ? t.data->Sup.len : 0)-1);
2554 			h = nextTry__pureZcollectionsZsets_41(h, T16_);
2555 		} LA8: ;
2556 	}
2557 	result = (NI)(((NI) -1) - h);
2558 	}BeforeRet_: ;
2559 	return result;
2560 }
N_NIMCALL(void,rawInsert__injectdestructors_3539)2561 N_LIB_PRIVATE N_NIMCALL(void, rawInsert__injectdestructors_3539)(tyObject_HashSet__YByQS2i9cOlUupxNMscAMwQ* s, tySequence__Y6pVop4P8VSwSorRqc2aQA** data, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* key, NI hc, NI h) {
2562 	{
2563 		NI T3_;
2564 		NI correctSizeX60gensym32_;
2565 		T3_ = ((*data) ? (*data)->Sup.len : 0);
2566 		if (!(T3_ == ((NI) 0))) goto LA4_;
2567 		correctSizeX60gensym32_ = slotsNeeded__pureZcollectionsZsets_49(((NI) 64));
2568 		(*s).counter = ((NI) 0);
2569 		unsureAsgnRef((void**) (&(*s).data), (tySequence__Y6pVop4P8VSwSorRqc2aQA*) newSeq((&NTIkeyvaluepairseq__Y6pVop4P8VSwSorRqc2aQA_), ((NI) (correctSizeX60gensym32_))));
2570 	}
2571 	LA4_: ;
2572 	asgnRef((void**) (&(*data)->data[h].Field1), key);
2573 	(*data)->data[h].Field0 = hc;
2574 }
N_NIMCALL(void,enlarge__injectdestructors_2922)2575 N_LIB_PRIVATE N_NIMCALL(void, enlarge__injectdestructors_2922)(tyObject_HashSet__YByQS2i9cOlUupxNMscAMwQ* s) {
2576 	tySequence__Y6pVop4P8VSwSorRqc2aQA* n;
2577 	NI T1_;
2578 	tySequence__Y6pVop4P8VSwSorRqc2aQA* T2_;
2579 	n = NIM_NIL;
2580 	T1_ = ((*s).data ? (*s).data->Sup.len : 0);
2581 	n = (tySequence__Y6pVop4P8VSwSorRqc2aQA*) newSeq((&NTIkeyvaluepairseq__Y6pVop4P8VSwSorRqc2aQA_), ((NI) ((NI)(T1_ * ((NI) 2)))));
2582 	T2_ = NIM_NIL;
2583 	T2_ = (*s).data;
2584 	unsureAsgnRef((void**) (&(*s).data), n);
2585 	n = T2_;
2586 	{
2587 		NI i;
2588 		NI colontmp_;
2589 		NI T4_;
2590 		NI res;
2591 		i = (NI)0;
2592 		colontmp_ = (NI)0;
2593 		T4_ = ((n ? n->Sup.len : 0)-1);
2594 		colontmp_ = T4_;
2595 		res = ((NI) 0);
2596 		{
2597 			while (1) {
2598 				if (!(res <= colontmp_)) goto LA6;
2599 				i = res;
2600 				{
2601 					NIM_BOOL T9_;
2602 					NI j;
2603 					NI T12_;
2604 					T9_ = (NIM_BOOL)0;
2605 					T9_ = isFilled__pureZcollectionsZsets_38(n->data[i].Field0);
2606 					if (!T9_) goto LA10_;
2607 					T12_ = (NI)0;
2608 					T12_ = rawGetKnownHC__injectdestructors_3173((*s), n->data[i].Field1, n->data[i].Field0);
2609 					j = (NI)(((NI) -1) - T12_);
2610 					rawInsert__injectdestructors_3539(s, (&(*s).data), n->data[i].Field1, n->data[i].Field0, j);
2611 				}
2612 				LA10_: ;
2613 				res += ((NI) 1);
2614 			} LA6: ;
2615 		}
2616 	}
2617 }
N_NIMCALL(void,incl__injectdestructors_2395)2618 N_LIB_PRIVATE N_NIMCALL(void, incl__injectdestructors_2395)(tyObject_HashSet__YByQS2i9cOlUupxNMscAMwQ* s, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* key) {
2619 	NI hc;
2620 	NI index;
2621 	{
2622 		NI T3_;
2623 		NI correctSizeX60gensym23_;
2624 		T3_ = ((*s).data ? (*s).data->Sup.len : 0);
2625 		if (!(T3_ == ((NI) 0))) goto LA4_;
2626 		correctSizeX60gensym23_ = slotsNeeded__pureZcollectionsZsets_49(((NI) 64));
2627 		(*s).counter = ((NI) 0);
2628 		unsureAsgnRef((void**) (&(*s).data), (tySequence__Y6pVop4P8VSwSorRqc2aQA*) newSeq((&NTIkeyvaluepairseq__Y6pVop4P8VSwSorRqc2aQA_), ((NI) (correctSizeX60gensym23_))));
2629 	}
2630 	LA4_: ;
2631 	hc = (NI)0;
2632 	index = rawGet__injectdestructors_2482((*s), key, (&hc));
2633 	{
2634 		if (!(index < ((NI) 0))) goto LA8_;
2635 		{
2636 			NIM_BOOL T12_;
2637 			T12_ = (NIM_BOOL)0;
2638 			T12_ = mustRehash__injectdestructors_2730((*s));
2639 			if (!T12_) goto LA13_;
2640 			enlarge__injectdestructors_2922(s);
2641 			index = rawGetKnownHC__injectdestructors_3173((*s), key, hc);
2642 		}
2643 		LA13_: ;
2644 		rawInsert__injectdestructors_3539(s, (&(*s).data), key, hc, (NI)(((NI) -1) - index));
2645 		(*s).counter += ((NI) 1);
2646 	}
2647 	LA8_: ;
2648 }
N_NIMCALL(void,excl__injectdestructors_2012)2649 N_LIB_PRIVATE N_NIMCALL(void, excl__injectdestructors_2012)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* s, tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* other) {
2650 	{
2651 		NI item;
2652 		item = (NI)0;
2653 		{
2654 			if (!((*other).elems <= ((NI) 34))) goto LA4_;
2655 			{
2656 				NI i;
2657 				NI i_2;
2658 				i = (NI)0;
2659 				i_2 = ((NI) 0);
2660 				{
2661 					while (1) {
2662 						if (!(i_2 < (*other).elems)) goto LA8;
2663 						i = i_2;
2664 						item = (*other).a[(i)- 0];
2665 						excl__reorder_264(s, item);
2666 						i_2 += ((NI) 1);
2667 					} LA8: ;
2668 				}
2669 			}
2670 		}
2671 		goto LA2_;
2672 		LA4_: ;
2673 		{
2674 			tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA* r;
2675 			r = (*other).head;
2676 			{
2677 				while (1) {
2678 					NI i_3;
2679 					if (!!((r == ((tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA*) NIM_NIL)))) goto LA11;
2680 					i_3 = ((NI) 0);
2681 					{
2682 						while (1) {
2683 							NU w;
2684 							NI j;
2685 							if (!(i_3 <= ((NI) 7))) goto LA13;
2686 							w = (*r).bits[(i_3)- 0];
2687 							j = ((NI) 0);
2688 							{
2689 								while (1) {
2690 									if (!!((w == ((NU) 0)))) goto LA15;
2691 									{
2692 										NI T20_;
2693 										if (!!(((NU)(w & ((NU) 1)) == ((NU) 0)))) goto LA18_;
2694 										T20_ = (NI)0;
2695 										T20_ = pluspercent___system_696((NI)((NU64)(i_3) << (NU64)(((NI) 6))), j);
2696 										item = (NI)((NI)((NU64)((*r).key) << (NU64)(((NI) 9))) | T20_);
2697 										excl__reorder_264(s, item);
2698 									}
2699 									LA18_: ;
2700 									j += ((NI) 1);
2701 									w = (NU)((NU64)(w) >> (NU64)(((NI) 1)));
2702 								} LA15: ;
2703 							}
2704 							i_3 += ((NI) 1);
2705 						} LA13: ;
2706 					}
2707 					r = (*r).next;
2708 				} LA11: ;
2709 			}
2710 		}
2711 		LA2_: ;
2712 	}
2713 }
N_NIMCALL(void,incl__injectdestructors_2107)2714 N_LIB_PRIVATE N_NIMCALL(void, incl__injectdestructors_2107)(tyObject_HashSet__YByQS2i9cOlUupxNMscAMwQ* s, tyObject_HashSet__YByQS2i9cOlUupxNMscAMwQ other) {
2715 	{
2716 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* item;
2717 		NI length;
2718 		item = NIM_NIL;
2719 		length = len__injectdestructors_2169(other);
2720 		{
2721 			NI h;
2722 			NI colontmp_;
2723 			NI T3_;
2724 			NI res;
2725 			h = (NI)0;
2726 			colontmp_ = (NI)0;
2727 			T3_ = ((other.data ? other.data->Sup.len : 0)-1);
2728 			colontmp_ = T3_;
2729 			res = ((NI) 0);
2730 			{
2731 				while (1) {
2732 					if (!(res <= colontmp_)) goto LA5;
2733 					h = res;
2734 					{
2735 						NIM_BOOL T8_;
2736 						T8_ = (NIM_BOOL)0;
2737 						T8_ = isFilled__pureZcollectionsZsets_38(other.data->data[h].Field0);
2738 						if (!T8_) goto LA9_;
2739 						item = other.data->data[h].Field1;
2740 						incl__injectdestructors_2395(s, item);
2741 					}
2742 					LA9_: ;
2743 					res += ((NI) 1);
2744 				} LA5: ;
2745 			}
2746 		}
2747 	}
2748 }
N_NIMCALL(void,mergeStates__injectdestructors_1944)2749 N_LIB_PRIVATE N_NIMCALL(void, mergeStates__injectdestructors_1944)(tyObject_StatecolonObjectType___G9bbCRpuemWPWC66CPVRKyw** a, tyObject_StatecolonObjectType___G9bbCRpuemWPWC66CPVRKyw* b) {
2750 	{
2751 		if (!((*a) == ((tyObject_StatecolonObjectType___G9bbCRpuemWPWC66CPVRKyw*) NIM_NIL))) goto LA3_;
2752 		unsureAsgnRef((void**) (&(*a)), b);
2753 	}
2754 	goto LA1_;
2755 	LA3_: ;
2756 	{
2757 		incl__importer_1492((&(*(*a)).lastReads), (&(*b).lastReads));
2758 		incl__importer_1492((&(*(*a)).potentialLastReads), (&(*b).potentialLastReads));
2759 		excl__injectdestructors_2012((&(*(*a)).potentialLastReads), (&(*(*a)).notLastReads));
2760 		excl__injectdestructors_2012((&(*(*a)).potentialLastReads), (&(*b).notLastReads));
2761 		incl__importer_1492((&(*(*a)).notLastReads), (&(*b).notLastReads));
2762 		incl__injectdestructors_2107((&(*(*a)).alreadySeen), (*b).alreadySeen);
2763 	}
2764 	LA1_: ;
2765 }
N_INLINE(void,minus___sem_4040)2766 static N_INLINE(void, minus___sem_4040)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* s1, tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* s2, tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* Result) {
2767 	tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA T1_;
2768 	nimZeroMem((void*)(&T1_), sizeof(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA));
2769 	difference__sem_4045(s1, s2, (&T1_));
2770 	genericShallowAssign((void*)Result, (void*)(&T1_), (&NTIpackedset__IhxwDBRi51nGrosBGFKcsA_));
2771 }
N_NIMCALL(void,union__injectdestructors_4127)2772 N_LIB_PRIVATE N_NIMCALL(void, union__injectdestructors_4127)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* s1, tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* s2, tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* Result) {
2773 	NI T1_;
2774 	(*Result).elems = 0;
2775 	(*Result).counter = 0;
2776 	(*Result).max = 0;
2777 	unsureAsgnRef((void**)&(*Result).head, NIM_NIL);
2778 	unsureAsgnRef((void**)&(*Result).data, NIM_NIL);
2779 	T1_ = (NI)0;
2780 	for (T1_ = 0; T1_ < 34; T1_++) {
2781 	(*Result).a[T1_] = 0;
2782 	}
2783 	assign__types_3929(Result, s1);
2784 	incl__importer_1492(Result, s2);
2785 }
N_INLINE(void,plus___injectdestructors_4122)2786 static N_INLINE(void, plus___injectdestructors_4122)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* s1, tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* s2, tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* Result) {
2787 	tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA T1_;
2788 	nimZeroMem((void*)(&T1_), sizeof(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA));
2789 	union__injectdestructors_4127(s1, s2, (&T1_));
2790 	genericShallowAssign((void*)Result, (void*)(&T1_), (&NTIpackedset__IhxwDBRi51nGrosBGFKcsA_));
2791 }
N_INLINE(tyObject_StatecolonObjectType___G9bbCRpuemWPWC66CPVRKyw **,X5BX5D___injectdestructors_4096)2792 static N_INLINE(tyObject_StatecolonObjectType___G9bbCRpuemWPWC66CPVRKyw**, X5BX5D___injectdestructors_4096)(tyObject_StatecolonObjectType___G9bbCRpuemWPWC66CPVRKyw** s, NI sLen_0, NI i) {
2793 	tyObject_StatecolonObjectType___G9bbCRpuemWPWC66CPVRKyw** result;
2794 	result = (tyObject_StatecolonObjectType___G9bbCRpuemWPWC66CPVRKyw**)0;
2795 	result = &s[(NI)(sLen_0 - i)];
2796 	return result;
2797 }
N_NIMCALL(void,Marker_tySequence__JGK6WZYU2JHWLoPdKRO4AQ)2798 static N_NIMCALL(void, Marker_tySequence__JGK6WZYU2JHWLoPdKRO4AQ)(void* p, NI op) {
2799 	tySequence__JGK6WZYU2JHWLoPdKRO4AQ* a;
2800 	NI T1_;
2801 	a = (tySequence__JGK6WZYU2JHWLoPdKRO4AQ*)p;
2802 	T1_ = (NI)0;
2803 	for (T1_ = 0; T1_ < (a ? a->Sup.len : 0); T1_++) {
2804 	nimGCvisit((void*)a->data[T1_].Field1, op);
2805 	nimGCvisit((void*)a->data[T1_].Field2, op);
2806 	}
2807 }
N_INLINE(NI,rawGet__injectdestructors_4322)2808 static N_INLINE(NI, rawGet__injectdestructors_4322)(tyObject_Table__8b8GbeV6waqgbRlb9aUvYNQ t, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* key, NI* hc) {
2809 	NI result;
2810 	NI h;
2811 	NI T10_;
2812 {	result = (NI)0;
2813 	(*hc) = hash__injectdestructors_118(key);
2814 	{
2815 		if (!((*hc) == ((NI) 0))) goto LA3_;
2816 		(*hc) = ((NI) 314159265);
2817 	}
2818 	LA3_: ;
2819 	{
2820 		NI T7_;
2821 		T7_ = (t.data ? t.data->Sup.len : 0);
2822 		if (!(T7_ == ((NI) 0))) goto LA8_;
2823 		result = ((NI) -1);
2824 		goto BeforeRet_;
2825 	}
2826 	LA8_: ;
2827 	T10_ = ((t.data ? t.data->Sup.len : 0)-1);
2828 	h = (NI)((*hc) & T10_);
2829 	{
2830 		while (1) {
2831 			NIM_BOOL T13_;
2832 			NI T20_;
2833 			T13_ = (NIM_BOOL)0;
2834 			T13_ = isFilled__pureZcollectionsZtables_31(t.data->data[h].Field0);
2835 			if (!T13_) goto LA12;
2836 			{
2837 				NIM_BOOL T16_;
2838 				T16_ = (NIM_BOOL)0;
2839 				T16_ = (t.data->data[h].Field0 == (*hc));
2840 				if (!(T16_)) goto LA17_;
2841 				T16_ = (t.data->data[h].Field1 == key);
2842 				LA17_: ;
2843 				if (!T16_) goto LA18_;
2844 				result = h;
2845 				goto BeforeRet_;
2846 			}
2847 			LA18_: ;
2848 			T20_ = ((t.data ? t.data->Sup.len : 0)-1);
2849 			h = nextTry__pureZcollectionsZtables_34(h, T20_);
2850 		} LA12: ;
2851 	}
2852 	result = (NI)(((NI) -1) - h);
2853 	}BeforeRet_: ;
2854 	return result;
2855 }
N_INLINE(NIM_BOOL,mustRehash__injectdestructors_4652)2856 static N_INLINE(NIM_BOOL, mustRehash__injectdestructors_4652)(tyObject_Table__8b8GbeV6waqgbRlb9aUvYNQ t) {
2857 	NIM_BOOL result;
2858 	NIM_BOOL T1_;
2859 	NI T2_;
2860 	NI T4_;
2861 	result = (NIM_BOOL)0;
2862 	T1_ = (NIM_BOOL)0;
2863 	T2_ = (t.data ? t.data->Sup.len : 0);
2864 	T1_ = ((NI)(T2_ * ((NI) 2)) < (NI)(t.counter * ((NI) 3)));
2865 	if (T1_) goto LA3_;
2866 	T4_ = (t.data ? t.data->Sup.len : 0);
2867 	T1_ = ((NI)(T4_ - t.counter) < ((NI) 4));
2868 	LA3_: ;
2869 	result = T1_;
2870 	return result;
2871 }
N_NIMCALL(void,rawInsert__injectdestructors_5169)2872 N_LIB_PRIVATE N_NIMCALL(void, rawInsert__injectdestructors_5169)(tyObject_Table__8b8GbeV6waqgbRlb9aUvYNQ* t, tySequence__JGK6WZYU2JHWLoPdKRO4AQ** data, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* key, tySequence__qwqHTkRvwhrRyENtudHQ7g* val, NI hc, NI h) {
2873 	asgnRef((void**) (&(*data)->data[h].Field1), key);
2874 	genericSeqAssign((&(*data)->data[h].Field2), val, (&NTIseqLtpositionT__qwqHTkRvwhrRyENtudHQ7g_));
2875 	(*data)->data[h].Field0 = hc;
2876 }
N_NIMCALL(void,enlarge__injectdestructors_4838)2877 N_LIB_PRIVATE N_NIMCALL(void, enlarge__injectdestructors_4838)(tyObject_Table__8b8GbeV6waqgbRlb9aUvYNQ* t) {
2878 	tySequence__JGK6WZYU2JHWLoPdKRO4AQ* n;
2879 	NI T1_;
2880 	tySequence__JGK6WZYU2JHWLoPdKRO4AQ* T2_;
2881 	n = NIM_NIL;
2882 	T1_ = ((*t).data ? (*t).data->Sup.len : 0);
2883 	n = (tySequence__JGK6WZYU2JHWLoPdKRO4AQ*) newSeq((&NTIkeyvaluepairseq__JGK6WZYU2JHWLoPdKRO4AQ_), ((NI) ((NI)(T1_ * ((NI) 2)))));
2884 	T2_ = NIM_NIL;
2885 	T2_ = (*t).data;
2886 	unsureAsgnRef((void**) (&(*t).data), n);
2887 	n = T2_;
2888 	{
2889 		NI i;
2890 		NI colontmp_;
2891 		NI T4_;
2892 		NI res;
2893 		i = (NI)0;
2894 		colontmp_ = (NI)0;
2895 		T4_ = ((n ? n->Sup.len : 0)-1);
2896 		colontmp_ = T4_;
2897 		res = ((NI) 0);
2898 		{
2899 			while (1) {
2900 				NI eh;
2901 				if (!(res <= colontmp_)) goto LA6;
2902 				i = res;
2903 				eh = n->data[i].Field0;
2904 				{
2905 					NIM_BOOL T9_;
2906 					NI j;
2907 					NI T12_;
2908 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T17_;
2909 					tySequence__qwqHTkRvwhrRyENtudHQ7g* T18_;
2910 					T9_ = (NIM_BOOL)0;
2911 					T9_ = isFilled__pureZcollectionsZtables_31(eh);
2912 					if (!T9_) goto LA10_;
2913 					T12_ = (((*t).data ? (*t).data->Sup.len : 0)-1);
2914 					j = (NI)(eh & T12_);
2915 					{
2916 						while (1) {
2917 							NIM_BOOL T15_;
2918 							NI T16_;
2919 							T15_ = (NIM_BOOL)0;
2920 							T15_ = isFilled__pureZcollectionsZtables_31((*t).data->data[j].Field0);
2921 							if (!T15_) goto LA14;
2922 							T16_ = (((*t).data ? (*t).data->Sup.len : 0)-1);
2923 							j = nextTry__pureZcollectionsZtables_34(j, T16_);
2924 						} LA14: ;
2925 					}
2926 					T17_ = NIM_NIL;
2927 					T17_ = n->data[i].Field1;
2928 					asgnRef((void**) (&n->data[i].Field1), NIM_NIL);
2929 					T18_ = NIM_NIL;
2930 					T18_ = n->data[i].Field2;
2931 					asgnRef((void**) (&n->data[i].Field2), NIM_NIL);
2932 					rawInsert__injectdestructors_5169(t, (&(*t).data), T17_, T18_, eh, j);
2933 				}
2934 				LA10_: ;
2935 				res += ((NI) 1);
2936 			} LA6: ;
2937 		}
2938 	}
2939 }
N_INLINE(NI,rawGetKnownHC__injectdestructors_5350)2940 static N_INLINE(NI, rawGetKnownHC__injectdestructors_5350)(tyObject_Table__8b8GbeV6waqgbRlb9aUvYNQ t, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* key, NI hc) {
2941 	NI result;
2942 	NI h;
2943 	NI T6_;
2944 {	result = (NI)0;
2945 	{
2946 		NI T3_;
2947 		T3_ = (t.data ? t.data->Sup.len : 0);
2948 		if (!(T3_ == ((NI) 0))) goto LA4_;
2949 		result = ((NI) -1);
2950 		goto BeforeRet_;
2951 	}
2952 	LA4_: ;
2953 	T6_ = ((t.data ? t.data->Sup.len : 0)-1);
2954 	h = (NI)(hc & T6_);
2955 	{
2956 		while (1) {
2957 			NIM_BOOL T9_;
2958 			NI T16_;
2959 			T9_ = (NIM_BOOL)0;
2960 			T9_ = isFilled__pureZcollectionsZtables_31(t.data->data[h].Field0);
2961 			if (!T9_) goto LA8;
2962 			{
2963 				NIM_BOOL T12_;
2964 				T12_ = (NIM_BOOL)0;
2965 				T12_ = (t.data->data[h].Field0 == hc);
2966 				if (!(T12_)) goto LA13_;
2967 				T12_ = (t.data->data[h].Field1 == key);
2968 				LA13_: ;
2969 				if (!T12_) goto LA14_;
2970 				result = h;
2971 				goto BeforeRet_;
2972 			}
2973 			LA14_: ;
2974 			T16_ = ((t.data ? t.data->Sup.len : 0)-1);
2975 			h = nextTry__pureZcollectionsZtables_34(h, T16_);
2976 		} LA8: ;
2977 	}
2978 	result = (NI)(((NI) -1) - h);
2979 	}BeforeRet_: ;
2980 	return result;
2981 }
N_NIMCALL(tySequence__qwqHTkRvwhrRyENtudHQ7g **,mgetOrPut__injectdestructors_4249)2982 N_LIB_PRIVATE N_NIMCALL(tySequence__qwqHTkRvwhrRyENtudHQ7g**, mgetOrPut__injectdestructors_4249)(tyObject_Table__8b8GbeV6waqgbRlb9aUvYNQ* t, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* key, tySequence__qwqHTkRvwhrRyENtudHQ7g* val) {
2983 	tySequence__qwqHTkRvwhrRyENtudHQ7g** result;
2984 	NI hc;
2985 	NI index;
2986 	result = (tySequence__qwqHTkRvwhrRyENtudHQ7g**)0;
2987 	{
2988 		NI T3_;
2989 		NI correctSizeX60gensym66_;
2990 		T3_ = ((*t).data ? (*t).data->Sup.len : 0);
2991 		if (!(T3_ == ((NI) 0))) goto LA4_;
2992 		correctSizeX60gensym66_ = slotsNeeded__pureZcollectionsZtables_42(((NI) 32));
2993 		(*t).counter = ((NI) 0);
2994 		unsureAsgnRef((void**) (&(*t).data), (tySequence__JGK6WZYU2JHWLoPdKRO4AQ*) newSeq((&NTIkeyvaluepairseq__JGK6WZYU2JHWLoPdKRO4AQ_), ((NI) (correctSizeX60gensym66_))));
2995 	}
2996 	LA4_: ;
2997 	hc = (NI)0;
2998 	index = rawGet__injectdestructors_4322((*t), key, (&hc));
2999 	{
3000 		if (!(index < ((NI) 0))) goto LA8_;
3001 		{
3002 			NI T12_;
3003 			NI correctSizeX60gensym71_;
3004 			T12_ = ((*t).data ? (*t).data->Sup.len : 0);
3005 			if (!(T12_ == ((NI) 0))) goto LA13_;
3006 			correctSizeX60gensym71_ = slotsNeeded__pureZcollectionsZtables_42(((NI) 32));
3007 			(*t).counter = ((NI) 0);
3008 			unsureAsgnRef((void**) (&(*t).data), (tySequence__JGK6WZYU2JHWLoPdKRO4AQ*) newSeq((&NTIkeyvaluepairseq__JGK6WZYU2JHWLoPdKRO4AQ_), ((NI) (correctSizeX60gensym71_))));
3009 		}
3010 		LA13_: ;
3011 		{
3012 			NIM_BOOL T17_;
3013 			T17_ = (NIM_BOOL)0;
3014 			T17_ = mustRehash__injectdestructors_4652((*t));
3015 			if (!T17_) goto LA18_;
3016 			enlarge__injectdestructors_4838(t);
3017 			index = rawGetKnownHC__injectdestructors_5350((*t), key, hc);
3018 		}
3019 		LA18_: ;
3020 		index = (NI)(((NI) -1) - index);
3021 		rawInsert__injectdestructors_5169(t, (&(*t).data), key, val, hc, index);
3022 		(*t).counter += ((NI) 1);
3023 	}
3024 	LA8_: ;
3025 	result = (&(*t).data->data[index].Field2);
3026 	return result;
3027 }
N_NIMCALL(NI,len__injectdestructors_5743)3028 N_LIB_PRIVATE N_NIMCALL(NI, len__injectdestructors_5743)(tyObject_Table__8b8GbeV6waqgbRlb9aUvYNQ t) {
3029 	NI result;
3030 	result = (NI)0;
3031 	result = t.counter;
3032 	return result;
3033 }
N_NIMCALL(void,computeLastReadsAndFirstWrites__injectdestructors_3780)3034 N_LIB_PRIVATE N_NIMCALL(void, computeLastReadsAndFirstWrites__injectdestructors_3780)(tySequence__hj4BvueOlKB8Z1Qw2ZU4nQ* cfg) {
3035 	tyObject_Table__OHR9afGwwhoEoDZjFE9cgF0g cache;
3036 	tySequence__hj4BvueOlKB8Z1Qw2ZU4nQ* cfg_2;
3037 	tySequence__mFtVDW3p7w6wfPPNodKzsA* states;
3038 	NI T1_;
3039 	tyObject_StatecolonObjectType___G9bbCRpuemWPWC66CPVRKyw* T2_;
3040 	tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA lastReads;
3041 	tyObject_StatecolonObjectType___G9bbCRpuemWPWC66CPVRKyw** T125_;
3042 	tyObject_StatecolonObjectType___G9bbCRpuemWPWC66CPVRKyw** T126_;
3043 	tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA T127_;
3044 	tyObject_StatecolonObjectType___G9bbCRpuemWPWC66CPVRKyw** T128_;
3045 	tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA T129_;
3046 	tyObject_Table__8b8GbeV6waqgbRlb9aUvYNQ lastReadTable;
3047 	nimZeroMem((void*)(&cache), sizeof(tyObject_Table__OHR9afGwwhoEoDZjFE9cgF0g));
3048 	initTable__injectdestructors_3782(((NI) 32), (&cache));
3049 	genericSeqAssign((&cfg_2), cfg, (&NTIcontrolflowgraph__hj4BvueOlKB8Z1Qw2ZU4nQ_));
3050 	preprocessCfg__injectdestructors_1924((&cfg_2));
3051 	T1_ = (cfg_2 ? cfg_2->Sup.len : 0);
3052 	states = newSeq__injectdestructors_3802(((NI) ((NI)(T1_ + ((NI) 1)))));
3053 	T2_ = NIM_NIL;
3054 	T2_ = (tyObject_StatecolonObjectType___G9bbCRpuemWPWC66CPVRKyw*) newObj((&NTIstate__xMu9aauGSW9bIwiWptXaXX0Q_), sizeof(tyObject_StatecolonObjectType___G9bbCRpuemWPWC66CPVRKyw));
3055 	asgnRef((void**) (&states->data[((NI) 0)]), T2_);
3056 	{
3057 		NI pc;
3058 		NI colontmp_;
3059 		NI T4_;
3060 		NI i;
3061 		pc = (NI)0;
3062 		colontmp_ = (NI)0;
3063 		T4_ = (cfg_2 ? cfg_2->Sup.len : 0);
3064 		colontmp_ = T4_;
3065 		i = ((NI) 0);
3066 		{
3067 			while (1) {
3068 				if (!(i < colontmp_)) goto LA6;
3069 				pc = i;
3070 				{
3071 					if (!!((states->data[pc] == ((tyObject_StatecolonObjectType___G9bbCRpuemWPWC66CPVRKyw*) NIM_NIL)))) goto LA9_;
3072 					switch (cfg_2->data[pc].kind) {
3073 					case ((tyEnum_InstrKind__kmjEwko0gQNypI4MTa9chwQ) 2):
3074 					{
3075 						tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA potentialLastReadsCopy;
3076 						NIM_BOOL alreadySeenThisNode;
3077 						tyObject_StatecolonObjectType___G9bbCRpuemWPWC66CPVRKyw* T77_;
3078 						nimZeroMem((void*)(&potentialLastReadsCopy), sizeof(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA));
3079 						genericAssign((void*)(&potentialLastReadsCopy), (void*)(&(*states->data[pc]).potentialLastReads), (&NTIpackedset__IhxwDBRi51nGrosBGFKcsA_));
3080 						{
3081 							NI r;
3082 							r = (NI)0;
3083 							{
3084 								if (!(potentialLastReadsCopy.elems <= ((NI) 34))) goto LA15_;
3085 								{
3086 									NI i_2;
3087 									NI i_3;
3088 									i_2 = (NI)0;
3089 									i_3 = ((NI) 0);
3090 									{
3091 										while (1) {
3092 											if (!(i_3 < potentialLastReadsCopy.elems)) goto LA19;
3093 											i_2 = i_3;
3094 											r = potentialLastReadsCopy.a[(i_2)- 0];
3095 											{
3096 												tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg T22_;
3097 												T22_ = (tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg)0;
3098 												T22_ = aliasesCached__injectdestructors_121((&cache), cfg_2->data[pc].n, cfg_2->data[r].n);
3099 												if (!(T22_ == ((tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg) 0))) goto LA23_;
3100 												incl__pureZcollectionsZintsets_55((&(*states->data[pc]).lastReads), r);
3101 												excl__reorder_264((&(*states->data[pc]).potentialLastReads), r);
3102 											}
3103 											goto LA20_;
3104 											LA23_: ;
3105 											{
3106 												tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg T26_;
3107 												NimStringDesc* T29_;
3108 												NimStringDesc* T30_;
3109 												T26_ = (tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg)0;
3110 												T26_ = aliasesCached__injectdestructors_121((&cache), cfg_2->data[r].n, cfg_2->data[pc].n);
3111 												if (!!((T26_ == ((tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg) 1)))) goto LA27_;
3112 												T29_ = NIM_NIL;
3113 												T30_ = NIM_NIL;
3114 												T30_ = dollar___systemZdollars_3(pc);
3115 												T29_ = rawNewString((T30_ ? T30_->Sup.len : 0) + 1);
3116 appendChar(T29_, 10);
3117 appendString(T29_, T30_);
3118 												commenteq___ast_1361(cfg_2->data[r].n, T29_);
3119 												excl__reorder_264((&(*states->data[pc]).potentialLastReads), r);
3120 												incl__pureZcollectionsZintsets_55((&(*states->data[pc]).notLastReads), r);
3121 											}
3122 											goto LA20_;
3123 											LA27_: ;
3124 											LA20_: ;
3125 											i_3 += ((NI) 1);
3126 										} LA19: ;
3127 									}
3128 								}
3129 							}
3130 							goto LA13_;
3131 							LA15_: ;
3132 							{
3133 								tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA* r_2;
3134 								r_2 = potentialLastReadsCopy.head;
3135 								{
3136 									while (1) {
3137 										NI i_4;
3138 										if (!!((r_2 == ((tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA*) NIM_NIL)))) goto LA33;
3139 										i_4 = ((NI) 0);
3140 										{
3141 											while (1) {
3142 												NU w;
3143 												NI j;
3144 												if (!(i_4 <= ((NI) 7))) goto LA35;
3145 												w = (*r_2).bits[(i_4)- 0];
3146 												j = ((NI) 0);
3147 												{
3148 													while (1) {
3149 														if (!!((w == ((NU) 0)))) goto LA37;
3150 														{
3151 															NI T42_;
3152 															if (!!(((NU)(w & ((NU) 1)) == ((NU) 0)))) goto LA40_;
3153 															T42_ = (NI)0;
3154 															T42_ = pluspercent___system_696((NI)((NU64)(i_4) << (NU64)(((NI) 6))), j);
3155 															r = (NI)((NI)((NU64)((*r_2).key) << (NU64)(((NI) 9))) | T42_);
3156 															{
3157 																tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg T45_;
3158 																T45_ = (tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg)0;
3159 																T45_ = aliasesCached__injectdestructors_121((&cache), cfg_2->data[pc].n, cfg_2->data[r].n);
3160 																if (!(T45_ == ((tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg) 0))) goto LA46_;
3161 																incl__pureZcollectionsZintsets_55((&(*states->data[pc]).lastReads), r);
3162 																excl__reorder_264((&(*states->data[pc]).potentialLastReads), r);
3163 															}
3164 															goto LA43_;
3165 															LA46_: ;
3166 															{
3167 																tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg T49_;
3168 																NimStringDesc* T52_;
3169 																NimStringDesc* T53_;
3170 																T49_ = (tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg)0;
3171 																T49_ = aliasesCached__injectdestructors_121((&cache), cfg_2->data[r].n, cfg_2->data[pc].n);
3172 																if (!!((T49_ == ((tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg) 1)))) goto LA50_;
3173 																T52_ = NIM_NIL;
3174 																T53_ = NIM_NIL;
3175 																T53_ = dollar___systemZdollars_3(pc);
3176 																T52_ = rawNewString((T53_ ? T53_->Sup.len : 0) + 1);
3177 appendChar(T52_, 10);
3178 appendString(T52_, T53_);
3179 																commenteq___ast_1361(cfg_2->data[r].n, T52_);
3180 																excl__reorder_264((&(*states->data[pc]).potentialLastReads), r);
3181 																incl__pureZcollectionsZintsets_55((&(*states->data[pc]).notLastReads), r);
3182 															}
3183 															goto LA43_;
3184 															LA50_: ;
3185 															LA43_: ;
3186 														}
3187 														LA40_: ;
3188 														j += ((NI) 1);
3189 														w = (NU)((NU64)(w) >> (NU64)(((NI) 1)));
3190 													} LA37: ;
3191 												}
3192 												i_4 += ((NI) 1);
3193 											} LA35: ;
3194 										}
3195 										r_2 = (*r_2).next;
3196 									} LA33: ;
3197 								}
3198 							}
3199 							LA13_: ;
3200 						}
3201 						alreadySeenThisNode = NIM_FALSE;
3202 						{
3203 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* s;
3204 							tyObject_HashSet__YByQS2i9cOlUupxNMscAMwQ colontmp__2;
3205 							NI length;
3206 							s = NIM_NIL;
3207 							nimZeroMem((void*)(&colontmp__2), sizeof(tyObject_HashSet__YByQS2i9cOlUupxNMscAMwQ));
3208 							colontmp__2.data = (*states->data[pc]).alreadySeen.data;
3209 							colontmp__2.counter = (*states->data[pc]).alreadySeen.counter;
3210 							length = len__injectdestructors_2169(colontmp__2);
3211 							{
3212 								NI h;
3213 								NI colontmp__3;
3214 								NI T56_;
3215 								NI res;
3216 								h = (NI)0;
3217 								colontmp__3 = (NI)0;
3218 								T56_ = ((colontmp__2.data ? colontmp__2.data->Sup.len : 0)-1);
3219 								colontmp__3 = T56_;
3220 								res = ((NI) 0);
3221 								{
3222 									while (1) {
3223 										if (!(res <= colontmp__3)) goto LA58;
3224 										h = res;
3225 										{
3226 											NIM_BOOL T61_;
3227 											T61_ = (NIM_BOOL)0;
3228 											T61_ = isFilled__pureZcollectionsZsets_38(colontmp__2.data->data[h].Field0);
3229 											if (!T61_) goto LA62_;
3230 											s = colontmp__2.data->data[h].Field1;
3231 											{
3232 												NIM_BOOL T66_;
3233 												tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg T67_;
3234 												tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg T69_;
3235 												T66_ = (NIM_BOOL)0;
3236 												T67_ = (tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg)0;
3237 												T67_ = aliasesCached__injectdestructors_121((&cache), cfg_2->data[pc].n, s);
3238 												T66_ = !((T67_ == ((tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg) 1)));
3239 												if (T66_) goto LA68_;
3240 												T69_ = (tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg)0;
3241 												T69_ = aliasesCached__injectdestructors_121((&cache), s, cfg_2->data[pc].n);
3242 												T66_ = !((T69_ == ((tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg) 1)));
3243 												LA68_: ;
3244 												if (!T66_) goto LA70_;
3245 												alreadySeenThisNode = NIM_TRUE;
3246 												goto LA54;
3247 											}
3248 											LA70_: ;
3249 										}
3250 										LA62_: ;
3251 										res += ((NI) 1);
3252 									} LA58: ;
3253 								}
3254 							}
3255 						} LA54: ;
3256 						{
3257 							if (!alreadySeenThisNode) goto LA74_;
3258 							(*cfg_2->data[pc].n).flags &= ~(((NU32)1) << ((((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 22)) & 31));
3259 						}
3260 						goto LA72_;
3261 						LA74_: ;
3262 						{
3263 							(*cfg_2->data[pc].n).flags |= ((NU32)1)<<((((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 22)) & 31);
3264 						}
3265 						LA72_: ;
3266 						incl__injectdestructors_2395((&(*states->data[pc]).alreadySeen), cfg_2->data[pc].n);
3267 						T77_ = NIM_NIL;
3268 						T77_ = states->data[pc];
3269 						asgnRef((void**) (&states->data[pc]), NIM_NIL);
3270 						mergeStates__injectdestructors_1944(&states->data[(NI)(pc + ((NI) 1))], T77_);
3271 					}
3272 					break;
3273 					case ((tyEnum_InstrKind__kmjEwko0gQNypI4MTa9chwQ) 3):
3274 					{
3275 						tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA potentialLastReadsCopy_2;
3276 						tyObject_StatecolonObjectType___G9bbCRpuemWPWC66CPVRKyw* T119_;
3277 						nimZeroMem((void*)(&potentialLastReadsCopy_2), sizeof(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA));
3278 						genericAssign((void*)(&potentialLastReadsCopy_2), (void*)(&(*states->data[pc]).potentialLastReads), (&NTIpackedset__IhxwDBRi51nGrosBGFKcsA_));
3279 						{
3280 							NI r_3;
3281 							r_3 = (NI)0;
3282 							{
3283 								if (!(potentialLastReadsCopy_2.elems <= ((NI) 34))) goto LA82_;
3284 								{
3285 									NI i_5;
3286 									NI i_6;
3287 									i_5 = (NI)0;
3288 									i_6 = ((NI) 0);
3289 									{
3290 										while (1) {
3291 											if (!(i_6 < potentialLastReadsCopy_2.elems)) goto LA86;
3292 											i_5 = i_6;
3293 											r_3 = potentialLastReadsCopy_2.a[(i_5)- 0];
3294 											{
3295 												NIM_BOOL T89_;
3296 												tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg T90_;
3297 												tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg T92_;
3298 												NimStringDesc* T95_;
3299 												NimStringDesc* T96_;
3300 												T89_ = (NIM_BOOL)0;
3301 												T90_ = (tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg)0;
3302 												T90_ = aliasesCached__injectdestructors_121((&cache), cfg_2->data[pc].n, cfg_2->data[r_3].n);
3303 												T89_ = !((T90_ == ((tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg) 1)));
3304 												if (T89_) goto LA91_;
3305 												T92_ = (tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg)0;
3306 												T92_ = aliasesCached__injectdestructors_121((&cache), cfg_2->data[r_3].n, cfg_2->data[pc].n);
3307 												T89_ = !((T92_ == ((tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg) 1)));
3308 												LA91_: ;
3309 												if (!T89_) goto LA93_;
3310 												T95_ = NIM_NIL;
3311 												T96_ = NIM_NIL;
3312 												T96_ = dollar___systemZdollars_3(pc);
3313 												T95_ = rawNewString((T96_ ? T96_->Sup.len : 0) + 1);
3314 appendChar(T95_, 10);
3315 appendString(T95_, T96_);
3316 												commenteq___ast_1361(cfg_2->data[r_3].n, T95_);
3317 												excl__reorder_264((&(*states->data[pc]).potentialLastReads), r_3);
3318 												incl__pureZcollectionsZintsets_55((&(*states->data[pc]).notLastReads), r_3);
3319 											}
3320 											LA93_: ;
3321 											i_6 += ((NI) 1);
3322 										} LA86: ;
3323 									}
3324 								}
3325 							}
3326 							goto LA80_;
3327 							LA82_: ;
3328 							{
3329 								tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA* r_4;
3330 								r_4 = potentialLastReadsCopy_2.head;
3331 								{
3332 									while (1) {
3333 										NI i_7;
3334 										if (!!((r_4 == ((tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA*) NIM_NIL)))) goto LA99;
3335 										i_7 = ((NI) 0);
3336 										{
3337 											while (1) {
3338 												NU w_2;
3339 												NI j_2;
3340 												if (!(i_7 <= ((NI) 7))) goto LA101;
3341 												w_2 = (*r_4).bits[(i_7)- 0];
3342 												j_2 = ((NI) 0);
3343 												{
3344 													while (1) {
3345 														if (!!((w_2 == ((NU) 0)))) goto LA103;
3346 														{
3347 															NI T108_;
3348 															if (!!(((NU)(w_2 & ((NU) 1)) == ((NU) 0)))) goto LA106_;
3349 															T108_ = (NI)0;
3350 															T108_ = pluspercent___system_696((NI)((NU64)(i_7) << (NU64)(((NI) 6))), j_2);
3351 															r_3 = (NI)((NI)((NU64)((*r_4).key) << (NU64)(((NI) 9))) | T108_);
3352 															{
3353 																NIM_BOOL T111_;
3354 																tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg T112_;
3355 																tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg T114_;
3356 																NimStringDesc* T117_;
3357 																NimStringDesc* T118_;
3358 																T111_ = (NIM_BOOL)0;
3359 																T112_ = (tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg)0;
3360 																T112_ = aliasesCached__injectdestructors_121((&cache), cfg_2->data[pc].n, cfg_2->data[r_3].n);
3361 																T111_ = !((T112_ == ((tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg) 1)));
3362 																if (T111_) goto LA113_;
3363 																T114_ = (tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg)0;
3364 																T114_ = aliasesCached__injectdestructors_121((&cache), cfg_2->data[r_3].n, cfg_2->data[pc].n);
3365 																T111_ = !((T114_ == ((tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg) 1)));
3366 																LA113_: ;
3367 																if (!T111_) goto LA115_;
3368 																T117_ = NIM_NIL;
3369 																T118_ = NIM_NIL;
3370 																T118_ = dollar___systemZdollars_3(pc);
3371 																T117_ = rawNewString((T118_ ? T118_->Sup.len : 0) + 1);
3372 appendChar(T117_, 10);
3373 appendString(T117_, T118_);
3374 																commenteq___ast_1361(cfg_2->data[r_3].n, T117_);
3375 																excl__reorder_264((&(*states->data[pc]).potentialLastReads), r_3);
3376 																incl__pureZcollectionsZintsets_55((&(*states->data[pc]).notLastReads), r_3);
3377 															}
3378 															LA115_: ;
3379 														}
3380 														LA106_: ;
3381 														j_2 += ((NI) 1);
3382 														w_2 = (NU)((NU64)(w_2) >> (NU64)(((NI) 1)));
3383 													} LA103: ;
3384 												}
3385 												i_7 += ((NI) 1);
3386 											} LA101: ;
3387 										}
3388 										r_4 = (*r_4).next;
3389 									} LA99: ;
3390 								}
3391 							}
3392 							LA80_: ;
3393 						}
3394 						incl__pureZcollectionsZintsets_55((&(*states->data[pc]).potentialLastReads), pc);
3395 						incl__injectdestructors_2395((&(*states->data[pc]).alreadySeen), cfg_2->data[pc].n);
3396 						T119_ = NIM_NIL;
3397 						T119_ = states->data[pc];
3398 						asgnRef((void**) (&states->data[pc]), NIM_NIL);
3399 						mergeStates__injectdestructors_1944(&states->data[(NI)(pc + ((NI) 1))], T119_);
3400 					}
3401 					break;
3402 					case ((tyEnum_InstrKind__kmjEwko0gQNypI4MTa9chwQ) 0):
3403 					{
3404 						tyObject_StatecolonObjectType___G9bbCRpuemWPWC66CPVRKyw* T121_;
3405 						T121_ = NIM_NIL;
3406 						T121_ = states->data[pc];
3407 						asgnRef((void**) (&states->data[pc]), NIM_NIL);
3408 						mergeStates__injectdestructors_1944(&states->data[(NI)(pc + cfg_2->data[pc].dest)], T121_);
3409 					}
3410 					break;
3411 					case ((tyEnum_InstrKind__kmjEwko0gQNypI4MTa9chwQ) 1):
3412 					{
3413 						tyObject_StatecolonObjectType___G9bbCRpuemWPWC66CPVRKyw* copy;
3414 						tyObject_StatecolonObjectType___G9bbCRpuemWPWC66CPVRKyw* T123_;
3415 						tyObject_StatecolonObjectType___G9bbCRpuemWPWC66CPVRKyw* T124_;
3416 						T123_ = NIM_NIL;
3417 						T123_ = (tyObject_StatecolonObjectType___G9bbCRpuemWPWC66CPVRKyw*) newObj((&NTIstate__xMu9aauGSW9bIwiWptXaXX0Q_), sizeof(tyObject_StatecolonObjectType___G9bbCRpuemWPWC66CPVRKyw));
3418 						copy = T123_;
3419 						genericAssign((void*)(&(*copy).lastReads), (void*)(&(*states->data[pc]).lastReads), (&NTIpackedset__IhxwDBRi51nGrosBGFKcsA_));
3420 						genericAssign((void*)(&(*copy).potentialLastReads), (void*)(&(*states->data[pc]).potentialLastReads), (&NTIpackedset__IhxwDBRi51nGrosBGFKcsA_));
3421 						genericAssign((void*)(&(*copy).notLastReads), (void*)(&(*states->data[pc]).notLastReads), (&NTIpackedset__IhxwDBRi51nGrosBGFKcsA_));
3422 						genericSeqAssign((&(*copy).alreadySeen.data), (*states->data[pc]).alreadySeen.data, (&NTIkeyvaluepairseq__Y6pVop4P8VSwSorRqc2aQA_));
3423 						(*copy).alreadySeen.counter = (*states->data[pc]).alreadySeen.counter;
3424 						mergeStates__injectdestructors_1944(&states->data[(NI)(pc + cfg_2->data[pc].dest)], copy);
3425 						T124_ = NIM_NIL;
3426 						T124_ = states->data[pc];
3427 						asgnRef((void**) (&states->data[pc]), NIM_NIL);
3428 						mergeStates__injectdestructors_1944(&states->data[(NI)(pc + ((NI) 1))], T124_);
3429 					}
3430 					break;
3431 					}
3432 				}
3433 				LA9_: ;
3434 				i += ((NI) 1);
3435 			} LA6: ;
3436 		}
3437 	}
3438 	nimZeroMem((void*)(&lastReads), sizeof(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA));
3439 	T125_ = (tyObject_StatecolonObjectType___G9bbCRpuemWPWC66CPVRKyw**)0;
3440 	T125_ = X5BX5D___injectdestructors_4096(states->data, (states ? states->Sup.len : 0), ((NI) 1));
3441 	T126_ = (tyObject_StatecolonObjectType___G9bbCRpuemWPWC66CPVRKyw**)0;
3442 	T126_ = X5BX5D___injectdestructors_4096(states->data, (states ? states->Sup.len : 0), ((NI) 1));
3443 	nimZeroMem((void*)(&T127_), sizeof(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA));
3444 	plus___injectdestructors_4122((&(*(*T125_)).lastReads), (&(*(*T126_)).potentialLastReads), (&T127_));
3445 	T128_ = (tyObject_StatecolonObjectType___G9bbCRpuemWPWC66CPVRKyw**)0;
3446 	T128_ = X5BX5D___injectdestructors_4096(states->data, (states ? states->Sup.len : 0), ((NI) 1));
3447 	nimZeroMem((void*)(&T129_), sizeof(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA));
3448 	minus___sem_4040((&T127_), (&(*(*T128_)).notLastReads), (&T129_));
3449 	nimCopyMem((void*)(&lastReads), (NIM_CONST void*)(&T129_), sizeof(lastReads));
3450 	nimZeroMem((void*)(&lastReadTable), sizeof(tyObject_Table__8b8GbeV6waqgbRlb9aUvYNQ));
3451 	{
3452 		NI position;
3453 		tyObject_Instr__Iclb1njvAJfjjEpCLzUzZg node;
3454 		NI i_8;
3455 		NI L;
3456 		NI T131_;
3457 		position = (NI)0;
3458 		nimZeroMem((void*)(&node), sizeof(tyObject_Instr__Iclb1njvAJfjjEpCLzUzZg));
3459 		i_8 = ((NI) 0);
3460 		T131_ = (cfg_2 ? cfg_2->Sup.len : 0);
3461 		L = T131_;
3462 		{
3463 			while (1) {
3464 				if (!(i_8 < L)) goto LA133;
3465 				position = i_8;
3466 				nimCopyMem((void*)(&node), (NIM_CONST void*)(&cfg_2->data[i_8]), sizeof(node));
3467 				{
3468 					tySequence__qwqHTkRvwhrRyENtudHQ7g* T138_;
3469 					tySequence__qwqHTkRvwhrRyENtudHQ7g** T139_;
3470 					NI T140_;
3471 					if (!(node.kind == ((tyEnum_InstrKind__kmjEwko0gQNypI4MTa9chwQ) 3))) goto LA136_;
3472 					T138_ = NIM_NIL;
3473 					T138_ = NIM_NIL;
3474 					T139_ = (tySequence__qwqHTkRvwhrRyENtudHQ7g**)0;
3475 					T139_ = mgetOrPut__injectdestructors_4249((&lastReadTable), node.n, T138_);
3476 					unsureAsgnRef((void**) (&(*T139_)), (tySequence__qwqHTkRvwhrRyENtudHQ7g*) incrSeqV3((TGenericSeq*)((*T139_)), (&NTIseqLtpositionT__qwqHTkRvwhrRyENtudHQ7g_)));
3477 					T140_ = (*T139_)->Sup.len++;
3478 					(*T139_)->data[T140_] = position;
3479 				}
3480 				LA136_: ;
3481 				i_8 += ((NI) 1);
3482 			} LA133: ;
3483 		}
3484 	}
3485 	{
3486 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* node_2;
3487 		tySequence__qwqHTkRvwhrRyENtudHQ7g* positions;
3488 		NI L_2;
3489 		node_2 = NIM_NIL;
3490 		positions = NIM_NIL;
3491 		L_2 = len__injectdestructors_5743(lastReadTable);
3492 		{
3493 			NI h_2;
3494 			NI colontmp__4;
3495 			NI T143_;
3496 			NI res_2;
3497 			h_2 = (NI)0;
3498 			colontmp__4 = (NI)0;
3499 			T143_ = ((lastReadTable.data ? lastReadTable.data->Sup.len : 0)-1);
3500 			colontmp__4 = T143_;
3501 			res_2 = ((NI) 0);
3502 			{
3503 				while (1) {
3504 					if (!(res_2 <= colontmp__4)) goto LA145;
3505 					h_2 = res_2;
3506 					{
3507 						NIM_BOOL T148_;
3508 						T148_ = (NIM_BOOL)0;
3509 						T148_ = isFilled__pureZcollectionsZtables_31(lastReadTable.data->data[h_2].Field0);
3510 						if (!T148_) goto LA149_;
3511 						node_2 = lastReadTable.data->data[h_2].Field1;
3512 						positions = lastReadTable.data->data[h_2].Field2;
3513 						{
3514 							{
3515 								NI* p;
3516 								NI i_9;
3517 								NI L_3;
3518 								NI T153_;
3519 								p = (NI*)0;
3520 								i_9 = ((NI) 0);
3521 								T153_ = (positions ? positions->Sup.len : 0);
3522 								L_3 = T153_;
3523 								{
3524 									while (1) {
3525 										if (!(i_9 < L_3)) goto LA155;
3526 										p = (&positions->data[i_9]);
3527 										{
3528 											NIM_BOOL T158_;
3529 											T158_ = (NIM_BOOL)0;
3530 											T158_ = contains__astalgo_3496((&lastReads), (*p));
3531 											if (!!(T158_)) goto LA159_;
3532 											goto LA151;
3533 										}
3534 										LA159_: ;
3535 										i_9 += ((NI) 1);
3536 									} LA155: ;
3537 								}
3538 							}
3539 							(*node_2).flags |= ((NU32)1)<<((((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 21)) & 31);
3540 						} LA151: ;
3541 					}
3542 					LA149_: ;
3543 					res_2 += ((NI) 1);
3544 				} LA145: ;
3545 			}
3546 		}
3547 	}
3548 }
N_INLINE(NI,len__ast_3198)3549 static N_INLINE(NI, len__ast_3198)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
3550 	NI result;
3551 	NI T1_;
3552 	result = (NI)0;
3553 	T1_ = ((*n)._kind_6.sons ? (*n)._kind_6.sons->Sup.len : 0);
3554 	result = T1_;
3555 	return result;
3556 }
N_INLINE(NIM_BOOL,isEmptyType__ast_4779)3557 static N_INLINE(NIM_BOOL, isEmptyType__ast_4779)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
3558 	NIM_BOOL result;
3559 	NIM_BOOL T1_;
3560 	result = (NIM_BOOL)0;
3561 	T1_ = (NIM_BOOL)0;
3562 	T1_ = (t == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
3563 	if (T1_) goto LA2_;
3564 	T1_ = ((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 63) || (*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 7));
3565 	LA2_: ;
3566 	result = T1_;
3567 	return result;
3568 }
N_NIMCALL(void,nestedScope__injectdestructors_72)3569 N_LIB_PRIVATE N_NIMCALL(void, nestedScope__injectdestructors_72)(tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ* parent, tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ* Result) {
3570 	unsureAsgnRef((void**)&(*Result).vars, NIM_NIL);
3571 	unsureAsgnRef((void**)&(*Result).wasMoved, NIM_NIL);
3572 	unsureAsgnRef((void**)&(*Result).final, NIM_NIL);
3573 	(*Result).needsTry = 0;
3574 	(*Result).parent = NIM_NIL;
3575 	unsureAsgnRef((void**) (&(*Result).vars), NIM_NIL);
3576 	unsureAsgnRef((void**) (&(*Result).wasMoved), NIM_NIL);
3577 	unsureAsgnRef((void**) (&(*Result).final), NIM_NIL);
3578 	(*Result).needsTry = NIM_FALSE;
3579 	(*Result).parent = parent;
3580 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,processScope__injectdestructors_7016)3581 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, processScope__injectdestructors_7016)(tyObject_Con__mVYRtnERc9advo79cBQUudxg* c, tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ* s, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ret) {
3582 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
3583 	result = NIM_NIL;
3584 	result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), (*ret).info);
3585 	{
3586 		NI T3_;
3587 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* varSection;
3588 		T3_ = ((*s).vars ? (*s).vars->Sup.len : 0);
3589 		if (!(((NI) 0) < T3_)) goto LA4_;
3590 		varSection = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 99), (*ret).info);
3591 		{
3592 			tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ** tmp;
3593 			NI i;
3594 			NI L;
3595 			NI T7_;
3596 			tmp = (tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ**)0;
3597 			i = ((NI) 0);
3598 			T7_ = ((*s).vars ? (*s).vars->Sup.len : 0);
3599 			L = T7_;
3600 			{
3601 				while (1) {
3602 					tyArray__T6RKPw8xfAeNaoei9aZGzXg T10_;
3603 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T11_;
3604 					if (!(i < L)) goto LA9;
3605 					tmp = &(*s).vars->data[i];
3606 					nimZeroMem((void*)T10_, sizeof(tyArray__T6RKPw8xfAeNaoei9aZGzXg));
3607 					T10_[0] = newSymNode__ast_3716((*tmp));
3608 					T10_[1] = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1), (*ret).info);
3609 					T10_[2] = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1), (*ret).info);
3610 					T11_ = NIM_NIL;
3611 					T11_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 35), T10_, 3);
3612 					add__ast_4797(varSection, T11_);
3613 					i += ((NI) 1);
3614 				} LA9: ;
3615 			}
3616 		}
3617 		add__ast_4797(result, varSection);
3618 	}
3619 	LA4_: ;
3620 	{
3621 		NIM_BOOL T14_;
3622 		NI T15_;
3623 		NI T17_;
3624 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* finSection;
3625 		T14_ = (NIM_BOOL)0;
3626 		T15_ = ((*s).wasMoved ? (*s).wasMoved->Sup.len : 0);
3627 		T14_ = (((NI) 0) < T15_);
3628 		if (T14_) goto LA16_;
3629 		T17_ = ((*s).final ? (*s).final->Sup.len : 0);
3630 		T14_ = (((NI) 0) < T17_);
3631 		LA16_: ;
3632 		if (!T14_) goto LA18_;
3633 		finSection = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), (*ret).info);
3634 		{
3635 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** m;
3636 			NI i_2;
3637 			NI L_2;
3638 			NI T21_;
3639 			m = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw**)0;
3640 			i_2 = ((NI) 0);
3641 			T21_ = ((*s).wasMoved ? (*s).wasMoved->Sup.len : 0);
3642 			L_2 = T21_;
3643 			{
3644 				while (1) {
3645 					if (!(i_2 < L_2)) goto LA23;
3646 					m = &(*s).wasMoved->data[i_2];
3647 					add__ast_4797(finSection, (*m));
3648 					i_2 += ((NI) 1);
3649 				} LA23: ;
3650 			}
3651 		}
3652 		{
3653 			NI i_3;
3654 			NI colontmp_;
3655 			NI T25_;
3656 			NI res;
3657 			i_3 = (NI)0;
3658 			colontmp_ = (NI)0;
3659 			T25_ = (((*s).final ? (*s).final->Sup.len : 0)-1);
3660 			colontmp_ = T25_;
3661 			res = colontmp_;
3662 			{
3663 				while (1) {
3664 					if (!(((NI) 0) <= res)) goto LA27;
3665 					i_3 = res;
3666 					add__ast_4797(finSection, (*s).final->data[i_3]);
3667 					res -= ((NI) 1);
3668 				} LA27: ;
3669 			}
3670 		}
3671 		{
3672 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T32_;
3673 			if (!(*s).needsTry) goto LA30_;
3674 			T32_ = NIM_NIL;
3675 			T32_ = newTryFinally__lowerings_202(ret, finSection);
3676 			add__ast_4797(result, T32_);
3677 		}
3678 		goto LA28_;
3679 		LA30_: ;
3680 		{
3681 			add__ast_4797(result, ret);
3682 			add__ast_4797(result, finSection);
3683 		}
3684 		LA28_: ;
3685 	}
3686 	goto LA12_;
3687 	LA18_: ;
3688 	{
3689 		add__ast_4797(result, ret);
3690 	}
3691 	LA12_: ;
3692 	{
3693 		NIM_BOOL T39_;
3694 		if (!!(((*s).parent == ((tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ*) NIM_NIL)))) goto LA37_;
3695 		T39_ = (NIM_BOOL)0;
3696 		T39_ = (*(*s).parent).needsTry;
3697 		if (T39_) goto LA40_;
3698 		T39_ = (*s).needsTry;
3699 		LA40_: ;
3700 		(*(*s).parent).needsTry = T39_;
3701 	}
3702 	LA37_: ;
3703 	return result;
3704 }
N_INLINE(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g,nextSymId__ast_3132)3705 static N_INLINE(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g, nextSymId__ast_3132)(tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* x) {
3706 	tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g result;
3707 	nimZeroMem((void*)(&result), sizeof(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g));
3708 	(*x).symId += ((NI) 1);
3709 	nimZeroMem((void*)(&result), sizeof(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g));
3710 	result.module = (*x).module;
3711 	result.item = (*x).symId;
3712 	return result;
3713 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,getTemp__injectdestructors_61)3714 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, getTemp__injectdestructors_61)(tyObject_Con__mVYRtnERc9advo79cBQUudxg* c, tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ* s, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info) {
3715 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
3716 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym;
3717 	tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T1_;
3718 	tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T2_;
3719 	NI T3_;
3720 	result = NIM_NIL;
3721 	T1_ = NIM_NIL;
3722 	T1_ = getIdent__idents_143((*(*c).graph).cache, ((NimStringDesc*) &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_14));
3723 	T2_ = nextSymId__ast_3132((*c).idgen);
3724 	sym = newSym__ast_3445(((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 5), T1_, T2_, (*c).owner, info, 0);
3725 	asgnRef((void**) (&(*sym).typ), typ);
3726 	unsureAsgnRef((void**) (&(*s).vars), (tySequence__eHqUwlHGGaPw0TDPDeL79cQ*) incrSeqV3((TGenericSeq*)((*s).vars), (&NTIseqLpsymT__eHqUwlHGGaPw0TDPDeL79cQ_)));
3727 	T3_ = (*s).vars->Sup.len++;
3728 	asgnRef((void**) (&(*s).vars->data[T3_]), sym);
3729 	result = newSymNode__ast_3716(sym);
3730 	return result;
3731 }
N_INLINE(NIM_BOOL,hasDestructor__injectdestructors_49)3732 static N_INLINE(NIM_BOOL, hasDestructor__injectdestructors_49)(tyObject_Con__mVYRtnERc9advo79cBQUudxg* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
3733 	NIM_BOOL result;
3734 	result = (NIM_BOOL)0;
3735 	result = !(((IL64(2147483664) & (*t).flags) == 0));
3736 	return result;
3737 }
N_INLINE(NIM_BOOL,isGenericParams__ast_4616)3738 static N_INLINE(NIM_BOOL, isGenericParams__ast_4616)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
3739 	NIM_BOOL result;
3740 	NIM_BOOL T1_;
3741 	result = (NIM_BOOL)0;
3742 	T1_ = (NIM_BOOL)0;
3743 	T1_ = !((n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
3744 	if (!(T1_)) goto LA2_;
3745 	T1_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 75));
3746 	LA2_: ;
3747 	result = T1_;
3748 	return result;
3749 }
N_INLINE(NIM_BOOL,isGenericRoutine__ast_4627)3750 static N_INLINE(NIM_BOOL, isGenericRoutine__ast_4627)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
3751 	NIM_BOOL result;
3752 	NIM_BOOL T1_;
3753 	NIM_BOOL T2_;
3754 	result = (NIM_BOOL)0;
3755 	T1_ = (NIM_BOOL)0;
3756 	T2_ = (NIM_BOOL)0;
3757 	T2_ = !((n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
3758 	if (!(T2_)) goto LA3_;
3759 	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));
3760 	LA3_: ;
3761 	T1_ = T2_;
3762 	if (!(T1_)) goto LA4_;
3763 	T1_ = isGenericParams__ast_4616((*n)._kind_6.sons->data[((NI) 2)]);
3764 	LA4_: ;
3765 	result = T1_;
3766 	return result;
3767 }
N_INLINE(int,nimCmpMem)3768 static N_INLINE(int, nimCmpMem)(void* a, void* b, NI size) {
3769 	int result;
3770 	result = (int)0;
3771 	result = memcmp(a, b, ((size_t) (size)));
3772 	return result;
3773 }
N_INLINE(NIM_BOOL,equalMem__system_1735)3774 static N_INLINE(NIM_BOOL, equalMem__system_1735)(void* a, void* b, NI size) {
3775 	NIM_BOOL result;
3776 	int T1_;
3777 	result = (NIM_BOOL)0;
3778 	T1_ = (int)0;
3779 	T1_ = nimCmpMem(a, b, size);
3780 	result = (T1_ == ((NI32) 0));
3781 	return result;
3782 }
N_INLINE(NIM_BOOL,eqStrings)3783 static N_INLINE(NIM_BOOL, eqStrings)(NimStringDesc* a, NimStringDesc* b) {
3784 	NIM_BOOL result;
3785 	NI alen;
3786 	NI blen;
3787 {	result = (NIM_BOOL)0;
3788 	alen = (a ? a->Sup.len : 0);
3789 	blen = (b ? b->Sup.len : 0);
3790 	{
3791 		if (!(alen == blen)) goto LA3_;
3792 		{
3793 			if (!(alen == ((NI) 0))) goto LA7_;
3794 			result = NIM_TRUE;
3795 			goto BeforeRet_;
3796 		}
3797 		LA7_: ;
3798 		result = equalMem__system_1735(((void*) ((&a->data[((NI) 0)]))), ((void*) ((&b->data[((NI) 0)]))), ((NI) (alen)));
3799 		goto BeforeRet_;
3800 	}
3801 	LA3_: ;
3802 	}BeforeRet_: ;
3803 	return result;
3804 }
N_INLINE(NIM_BOOL,startsWith__pureZstrutils_1246)3805 static N_INLINE(NIM_BOOL, startsWith__pureZstrutils_1246)(NimStringDesc* s, NIM_CHAR prefix) {
3806 	NIM_BOOL result;
3807 	NIM_BOOL T1_;
3808 	result = (NIM_BOOL)0;
3809 	T1_ = (NIM_BOOL)0;
3810 	T1_ = (((NI) 0) < (s ? s->Sup.len : 0));
3811 	if (!(T1_)) goto LA2_;
3812 	T1_ = ((NU8)(s->data[((NI) 0)]) == (NU8)(prefix));
3813 	LA2_: ;
3814 	result = T1_;
3815 	return result;
3816 }
N_INLINE(NimStringDesc *,X5BX5D___pureZunicode_3215)3817 static N_INLINE(NimStringDesc*, X5BX5D___pureZunicode_3215)(NimStringDesc* s, tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA x) {
3818 	NimStringDesc* result;
3819 	NI a;
3820 	NI L;
3821 	result = NIM_NIL;
3822 	a = x.a;
3823 	L = (NI)((NI)((NI)((s ? s->Sup.len : 0) - x.b) - a) + ((NI) 1));
3824 	result = mnewString(((NI) (L)));
3825 	{
3826 		NI i;
3827 		NI i_2;
3828 		i = (NI)0;
3829 		i_2 = ((NI) 0);
3830 		{
3831 			while (1) {
3832 				if (!(i_2 < L)) goto LA3;
3833 				i = i_2;
3834 				result->data[i] = s->data[(NI)(i + a)];
3835 				i_2 += ((NI) 1);
3836 			} LA3: ;
3837 		}
3838 	}
3839 	return result;
3840 }
N_INLINE(tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA,dotdot___stdZenumutils_80)3841 static N_INLINE(tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA, dotdot___stdZenumutils_80)(NI a, NI b) {
3842 	tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA result;
3843 	nimZeroMem((void*)(&result), sizeof(tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA));
3844 	nimZeroMem((void*)(&result), sizeof(tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA));
3845 	result.a = a;
3846 	result.b = b;
3847 	return result;
3848 }
N_INLINE(NIM_BOOL,isSinkType__ast_5045)3849 static N_INLINE(NIM_BOOL, isSinkType__ast_5045)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
3850 	NIM_BOOL result;
3851 	NIM_BOOL T1_;
3852 	result = (NIM_BOOL)0;
3853 	T1_ = (NIM_BOOL)0;
3854 	T1_ = ((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 46));
3855 	if (T1_) goto LA2_;
3856 	T1_ = (((*t).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 4))&63U)))!=0);
3857 	LA2_: ;
3858 	result = T1_;
3859 	return result;
3860 }
N_NIMCALL(void,checkForErrorPragma__injectdestructors_6380)3861 N_LIB_PRIVATE N_NIMCALL(void, checkForErrorPragma__injectdestructors_6380)(tyObject_Con__mVYRtnERc9advo79cBQUudxg* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ri, NimStringDesc* opname) {
3862 	NimStringDesc* m;
3863 	NimStringDesc* T1_;
3864 	NimStringDesc* T2_;
3865 	T1_ = NIM_NIL;
3866 	T2_ = NIM_NIL;
3867 	T2_ = typeToString__types_50(t, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
3868 	T1_ = rawNewString((opname ? opname->Sup.len : 0) + (T2_ ? T2_->Sup.len : 0) + 31);
3869 appendString(T1_, ((NimStringDesc*) &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_22));
3870 appendString(T1_, opname);
3871 appendString(T1_, ((NimStringDesc*) &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_23));
3872 appendString(T1_, T2_);
3873 appendString(T1_, ((NimStringDesc*) &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_24));
3874 	m = T1_;
3875 	{
3876 		NIM_BOOL T5_;
3877 		NIM_BOOL T6_;
3878 		NimStringDesc* T11_;
3879 		T5_ = (NIM_BOOL)0;
3880 		T6_ = (NIM_BOOL)0;
3881 		T6_ = eqStrings(opname, ((NimStringDesc*) &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_25));
3882 		if (T6_) goto LA7_;
3883 		T6_ = eqStrings(opname, ((NimStringDesc*) &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_26));
3884 		LA7_: ;
3885 		T5_ = T6_;
3886 		if (!(T5_)) goto LA8_;
3887 		T5_ = !((ri == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
3888 		LA8_: ;
3889 		if (!T5_) goto LA9_;
3890 		m = resizeString(m, 53);
3891 appendString(m, ((NimStringDesc*) &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_27));
3892 		T11_ = NIM_NIL;
3893 		T11_ = renderTree__renderer_46(ri, 0);
3894 		m = resizeString(m, (T11_ ? T11_->Sup.len : 0) + 0);
3895 appendString(m, T11_);
3896 		m = addChar(m, 39);
3897 		{
3898 			NimStringDesc* T14_;
3899 			NIM_BOOL T15_;
3900 			NimStringDesc* T18_;
3901 			tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA T19_;
3902 			NimStringDesc* T20_;
3903 			NI T21_;
3904 			NimStringDesc* T22_;
3905 			T14_ = NIM_NIL;
3906 			T14_ = comment__ast_993(ri);
3907 			T15_ = (NIM_BOOL)0;
3908 			T15_ = startsWith__pureZstrutils_1246(T14_, 10);
3909 			if (!T15_) goto LA16_;
3910 			m = resizeString(m, 29);
3911 appendString(m, ((NimStringDesc*) &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_28));
3912 			T18_ = NIM_NIL;
3913 			T18_ = comment__ast_993(ri);
3914 			T19_ = dotdot___stdZenumutils_80(((NI) 1), ((NI) 1));
3915 			T20_ = NIM_NIL;
3916 			T20_ = X5BX5D___pureZunicode_3215(T18_, T19_);
3917 			T21_ = (NI)0;
3918 			T21_ = nsuParseInt(T20_);
3919 			T22_ = NIM_NIL;
3920 			T22_ = dollar___msgs_624((*(*c).graph).config, (*(*c).g->data[T21_].n).info);
3921 			m = resizeString(m, (T22_ ? T22_->Sup.len : 0) + 0);
3922 appendString(m, T22_);
3923 		}
3924 		goto LA12_;
3925 		LA16_: ;
3926 		{
3927 			NIM_BOOL T24_;
3928 			NIM_BOOL T25_;
3929 			NIM_BOOL T28_;
3930 			NimStringDesc* T31_;
3931 			T24_ = (NIM_BOOL)0;
3932 			T25_ = (NIM_BOOL)0;
3933 			T25_ = ((*ri).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
3934 			if (!(T25_)) goto LA26_;
3935 			T25_ = ((*(*ri)._kind_4.sym).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
3936 			LA26_: ;
3937 			T24_ = T25_;
3938 			if (!(T24_)) goto LA27_;
3939 			T28_ = (NIM_BOOL)0;
3940 			T28_ = isSinkType__ast_5045((*(*ri)._kind_4.sym).typ);
3941 			T24_ = !(T28_);
3942 			LA27_: ;
3943 			if (!T24_) goto LA29_;
3944 			m = resizeString(m, 14);
3945 appendString(m, ((NimStringDesc*) &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_29));
3946 			T31_ = NIM_NIL;
3947 			T31_ = renderTree__renderer_46(ri, 0);
3948 			m = resizeString(m, (T31_ ? T31_->Sup.len : 0) + 0);
3949 appendString(m, T31_);
3950 			m = resizeString(m, 19);
3951 appendString(m, ((NimStringDesc*) &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_30));
3952 		}
3953 		goto LA12_;
3954 		LA29_: ;
3955 		LA12_: ;
3956 	}
3957 	LA9_: ;
3958 	m = resizeString(m, 11);
3959 appendString(m, ((NimStringDesc*) &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_31));
3960 	m = resizeString(m, ((*(*(*c).owner).name).s ? (*(*(*c).owner).name).s->Sup.len : 0) + 0);
3961 appendString(m, (*(*(*c).owner).name).s);
3962 	liMessage__msgs_1118((*(*c).graph).config, (*ri).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), m, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__dJ4qrEWDmqGA8FWJ0TYKJQ_32, NIM_FALSE);
3963 }
N_INLINE(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g,nextTypeId__ast_3151)3964 static N_INLINE(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g, nextTypeId__ast_3151)(tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* x) {
3965 	tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g result;
3966 	nimZeroMem((void*)(&result), sizeof(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g));
3967 	(*x).typeId_0 += ((NI) 1);
3968 	nimZeroMem((void*)(&result), sizeof(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g));
3969 	result.module = (*x).module;
3970 	result.item = (*x).typeId_0;
3971 	return result;
3972 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,makePtrType__injectdestructors_6416)3973 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, makePtrType__injectdestructors_6416)(tyObject_Con__mVYRtnERc9advo79cBQUudxg* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* baseType) {
3974 	tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
3975 	tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T1_;
3976 	result = NIM_NIL;
3977 	T1_ = nextTypeId__ast_3151((*c).idgen);
3978 	result = newType__ast_3896(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21), T1_, (*c).owner);
3979 	addSonSkipIntLit__magicsys_136(result, baseType, (*c).idgen);
3980 	return result;
3981 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,genOp__injectdestructors_6420)3982 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, genOp__injectdestructors_6420)(tyObject_Con__mVYRtnERc9advo79cBQUudxg* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* op, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* dest) {
3983 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
3984 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* addrExp;
3985 	tyObject_TType__facALICuu8zUj0hjvbTLFg* T1_;
3986 	tyArray__AB6yfoUgfWM2NtGe9bzkCmw T2_;
3987 	result = NIM_NIL;
3988 	T1_ = NIM_NIL;
3989 	T1_ = makePtrType__injectdestructors_6416(c, (*dest).typ);
3990 	addrExp = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 64), (*dest).info, T1_);
3991 	add__ast_4797(addrExp, dest);
3992 	nimZeroMem((void*)T2_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
3993 	T2_[0] = newSymNode__ast_3716(op);
3994 	T2_[1] = addrExp;
3995 	result = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27), T2_, 2);
3996 	return result;
3997 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,genOp__injectdestructors_6430)3998 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, genOp__injectdestructors_6430)(tyObject_Con__mVYRtnERc9advo79cBQUudxg* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg kind, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* dest, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ri) {
3999 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
4000 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* op;
4001 	result = NIM_NIL;
4002 	op = getAttachedOp__modulegraphs_4011((*c).graph, t, kind);
4003 	{
4004 		NIM_BOOL T3_;
4005 		tyArray__qtqsWM5aXmcpMIVmvq3kAA h;
4006 		tyObject_TType__facALICuu8zUj0hjvbTLFg* canon;
4007 		T3_ = (NIM_BOOL)0;
4008 		T3_ = (op == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
4009 		if (T3_) goto LA4_;
4010 		T3_ = isGenericRoutine__ast_4627((*op).ast);
4011 		LA4_: ;
4012 		if (!T3_) goto LA5_;
4013 		nimZeroMem((void*)h, sizeof(tyArray__qtqsWM5aXmcpMIVmvq3kAA));
4014 		hashType__sighashes_462(t, 50, h);
4015 		canon = getOrDefault__liftdestructors_976((*(*c).graph).canonTypes, h);
4016 		{
4017 			if (!!((canon == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA9_;
4018 			op = getAttachedOp__modulegraphs_4011((*c).graph, canon, kind);
4019 		}
4020 		LA9_: ;
4021 	}
4022 	LA5_: ;
4023 	{
4024 		NimStringDesc* T15_;
4025 		NimStringDesc* T16_;
4026 		if (!(op == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL))) goto LA13_;
4027 		T15_ = NIM_NIL;
4028 		T16_ = NIM_NIL;
4029 		T16_ = typeToString__types_50(t, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
4030 		T15_ = rawNewString((AttachedOpToStr__ast_3848[(kind)- 0] ? AttachedOpToStr__ast_3848[(kind)- 0]->Sup.len : 0) + (T16_ ? T16_->Sup.len : 0) + 47);
4031 appendString(T15_, ((NimStringDesc*) &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_16));
4032 appendString(T15_, AttachedOpToStr__ast_3848[(kind)- 0]);
4033 appendString(T15_, ((NimStringDesc*) &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_17));
4034 appendString(T15_, T16_);
4035 		liMessage__msgs_1118((*(*c).graph).config, (*dest).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T15_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 2), TM__dJ4qrEWDmqGA8FWJ0TYKJQ_18, NIM_FALSE);
4036 	}
4037 	goto LA11_;
4038 	LA13_: ;
4039 	{
4040 		NIM_BOOL T18_;
4041 		NimStringDesc* T21_;
4042 		T18_ = (NIM_BOOL)0;
4043 		T18_ = isGenericRoutine__ast_4627((*op).ast);
4044 		if (!T18_) goto LA19_;
4045 		T21_ = NIM_NIL;
4046 		T21_ = rawNewString((AttachedOpToStr__ast_3848[(kind)- 0] ? AttachedOpToStr__ast_3848[(kind)- 0]->Sup.len : 0) + 38);
4047 appendString(T21_, ((NimStringDesc*) &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_16));
4048 appendString(T21_, AttachedOpToStr__ast_3848[(kind)- 0]);
4049 appendString(T21_, ((NimStringDesc*) &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_20));
4050 		liMessage__msgs_1118((*(*c).graph).config, (*dest).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T21_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 2), TM__dJ4qrEWDmqGA8FWJ0TYKJQ_21, NIM_FALSE);
4051 	}
4052 	goto LA11_;
4053 	LA19_: ;
4054 	LA11_: ;
4055 	{
4056 		if (!(((*op).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 24))&63U)))!=0)) goto LA24_;
4057 		checkForErrorPragma__injectdestructors_6380((&(*c)), t, ri, AttachedOpToStr__ast_3848[(kind)- 0]);
4058 	}
4059 	LA24_: ;
4060 	result = genOp__injectdestructors_6420(c, op, dest);
4061 	return result;
4062 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,genDestroy__injectdestructors_6527)4063 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, genDestroy__injectdestructors_6527)(tyObject_Con__mVYRtnERc9advo79cBQUudxg* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* dest) {
4064 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
4065 	tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
4066 	result = NIM_NIL;
4067 	t = skipTypes__ast_3735((*dest).typ, TM__dJ4qrEWDmqGA8FWJ0TYKJQ_15);
4068 	result = genOp__injectdestructors_6430(c, t, ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) 0), dest, ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
4069 	return result;
4070 }
N_NIMCALL(NIM_BOOL,sameConstant__injectdestructors_8436)4071 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, sameConstant__injectdestructors_8436)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b) {
4072 	NIM_BOOL result;
4073 	NIM_BOOL T1_;
4074 	result = (NIM_BOOL)0;
4075 	T1_ = (NIM_BOOL)0;
4076 	T1_ = ((*a).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 5) && (*a).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 22));
4077 	if (!(T1_)) goto LA2_;
4078 	T1_ = ((*a)._kind_1.intVal == (*b)._kind_1.intVal);
4079 	LA2_: ;
4080 	result = T1_;
4081 	return result;
4082 }
N_NIMCALL(NIM_BOOL,sameLocation__injectdestructors_8432)4083 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, sameLocation__injectdestructors_8432)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b) {
4084 	NIM_BOOL result;
4085 	result = (NIM_BOOL)0;
4086 	{
4087 		NIM_BOOL T3_;
4088 		T3_ = (NIM_BOOL)0;
4089 		T3_ = ((*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3) || (*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 45) || (*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 46) || (*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 42));
4090 		if (!(T3_)) goto LA4_;
4091 		T3_ = ((*b).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3) || (*b).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 45) || (*b).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 46) || (*b).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 42));
4092 		LA4_: ;
4093 		if (!T3_) goto LA5_;
4094 		{
4095 			if (!((*a).kind == (*b).kind)) goto LA9_;
4096 			switch ((*a).kind) {
4097 			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
4098 			{
4099 				result = ((*a)._kind_4.sym == (*b)._kind_4.sym);
4100 			}
4101 			break;
4102 			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 45):
4103 			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 46):
4104 			{
4105 				NIM_BOOL T13_;
4106 				T13_ = (NIM_BOOL)0;
4107 				T13_ = sameLocation__injectdestructors_8432((*a)._kind_6.sons->data[((NI) 0)], (*b)._kind_6.sons->data[((NI) 0)]);
4108 				if (!(T13_)) goto LA14_;
4109 				T13_ = sameLocation__injectdestructors_8432((*a)._kind_6.sons->data[((NI) 1)], (*b)._kind_6.sons->data[((NI) 1)]);
4110 				LA14_: ;
4111 				result = T13_;
4112 			}
4113 			break;
4114 			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 42):
4115 			{
4116 				NIM_BOOL T16_;
4117 				T16_ = (NIM_BOOL)0;
4118 				T16_ = sameLocation__injectdestructors_8432((*a)._kind_6.sons->data[((NI) 0)], (*b)._kind_6.sons->data[((NI) 0)]);
4119 				if (!(T16_)) goto LA17_;
4120 				T16_ = sameConstant__injectdestructors_8436((*a)._kind_6.sons->data[((NI) 1)], (*b)._kind_6.sons->data[((NI) 1)]);
4121 				LA17_: ;
4122 				result = T16_;
4123 			}
4124 			break;
4125 			default:
4126 			{
4127 				result = NIM_FALSE;
4128 			}
4129 			break;
4130 			}
4131 		}
4132 		goto LA7_;
4133 		LA9_: ;
4134 		{
4135 			result = NIM_FALSE;
4136 		}
4137 		LA7_: ;
4138 	}
4139 	goto LA1_;
4140 	LA5_: ;
4141 	{
4142 		switch ((*a).kind) {
4143 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
4144 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 45):
4145 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 46):
4146 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 42):
4147 		{
4148 			result = sameLocation__injectdestructors_8432(b, a);
4149 		}
4150 		break;
4151 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 63):
4152 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 64):
4153 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 47):
4154 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 65):
4155 		{
4156 			result = sameLocation__injectdestructors_8432((*a)._kind_6.sons->data[((NI) 0)], b);
4157 		}
4158 		break;
4159 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 66):
4160 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 67):
4161 		{
4162 			result = sameLocation__injectdestructors_8432((*a)._kind_6.sons->data[((NI) 0)], b);
4163 		}
4164 		break;
4165 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 58):
4166 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 59):
4167 		{
4168 			result = sameLocation__injectdestructors_8432((*a)._kind_6.sons->data[((NI) 1)], b);
4169 		}
4170 		break;
4171 		default:
4172 		{
4173 			result = NIM_FALSE;
4174 		}
4175 		break;
4176 		}
4177 	}
4178 	LA1_: ;
4179 	return result;
4180 }
N_NIMCALL(NIM_BOOL,isCursor__injectdestructors_6369)4181 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isCursor__injectdestructors_6369)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
4182 	NIM_BOOL result;
4183 	result = (NIM_BOOL)0;
4184 	switch ((*n).kind) {
4185 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
4186 	{
4187 		result = (((*(*n)._kind_4.sym).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 41))&63U)))!=0);
4188 	}
4189 	break;
4190 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 45):
4191 	{
4192 		result = isCursor__injectdestructors_6369((*n)._kind_6.sons->data[((NI) 1)]);
4193 	}
4194 	break;
4195 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 46):
4196 	{
4197 		result = isCursor__injectdestructors_6369((*n)._kind_6.sons->data[((NI) 0)]);
4198 	}
4199 	break;
4200 	default:
4201 	{
4202 		result = NIM_FALSE;
4203 	}
4204 	break;
4205 	}
4206 	return result;
4207 }
N_NIMCALL(NIM_BOOL,isFirstWrite__injectdestructors_6120)4208 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isFirstWrite__injectdestructors_6120)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_Con__mVYRtnERc9advo79cBQUudxg* c) {
4209 	NIM_BOOL result;
4210 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* m;
4211 	result = (NIM_BOOL)0;
4212 	m = skipConvDfa__dfa_780(n);
4213 	result = (((*m).flags &((NU32)1<<((NU)(((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 22))&31U)))!=0);
4214 	return result;
4215 }
N_INLINE(NIM_BOOL,isNoInit__injectdestructors_6553)4216 static N_INLINE(NIM_BOOL, isNoInit__injectdestructors_6553)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* dest) {
4217 	NIM_BOOL result;
4218 	NIM_BOOL T1_;
4219 	result = (NIM_BOOL)0;
4220 	T1_ = (NIM_BOOL)0;
4221 	T1_ = ((*dest).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
4222 	if (!(T1_)) goto LA2_;
4223 	T1_ = (((*(*dest)._kind_4.sym).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 14))&63U)))!=0);
4224 	LA2_: ;
4225 	result = T1_;
4226 	return result;
4227 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,genSink__injectdestructors_6564)4228 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, genSink__injectdestructors_6564)(tyObject_Con__mVYRtnERc9advo79cBQUudxg* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* dest, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ri, NIM_BOOL isDecl) {
4229 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
4230 	result = NIM_NIL;
4231 	{
4232 		NIM_BOOL T3_;
4233 		NIM_BOOL T4_;
4234 		NIM_BOOL T6_;
4235 		NIM_BOOL T7_;
4236 		NIM_BOOL T8_;
4237 		NIM_BOOL T9_;
4238 		NIM_BOOL T14_;
4239 		tyArray__AB6yfoUgfWM2NtGe9bzkCmw T19_;
4240 		T3_ = (NIM_BOOL)0;
4241 		T4_ = (NIM_BOOL)0;
4242 		T4_ = ((*c).inLoopCond == ((NI) 0));
4243 		if (!(T4_)) goto LA5_;
4244 		T6_ = (NIM_BOOL)0;
4245 		T7_ = (NIM_BOOL)0;
4246 		T8_ = (NIM_BOOL)0;
4247 		T9_ = (NIM_BOOL)0;
4248 		T9_ = ((*dest).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
4249 		if (!(T9_)) goto LA10_;
4250 		T9_ = ((*(*dest)._kind_4.sym).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 5));
4251 		LA10_: ;
4252 		T8_ = T9_;
4253 		if (!(T8_)) goto LA11_;
4254 		T8_ = ((*(*(*dest)._kind_4.sym).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18));
4255 		LA11_: ;
4256 		T7_ = T8_;
4257 		if (T7_) goto LA12_;
4258 		T7_ = isDecl;
4259 		LA12_: ;
4260 		T6_ = T7_;
4261 		if (T6_) goto LA13_;
4262 		T14_ = (NIM_BOOL)0;
4263 		T14_ = isAnalysableFieldAccess__dfa_903(dest, (*c).owner);
4264 		if (!(T14_)) goto LA15_;
4265 		T14_ = isFirstWrite__injectdestructors_6120(dest, c);
4266 		LA15_: ;
4267 		T6_ = T14_;
4268 		LA13_: ;
4269 		T4_ = T6_;
4270 		LA5_: ;
4271 		T3_ = T4_;
4272 		if (T3_) goto LA16_;
4273 		T3_ = isNoInit__injectdestructors_6553(dest);
4274 		LA16_: ;
4275 		if (!T3_) goto LA17_;
4276 		nimZeroMem((void*)T19_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
4277 		T19_[0] = dest;
4278 		T19_[1] = ri;
4279 		result = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 74), T19_, 2);
4280 	}
4281 	goto LA1_;
4282 	LA17_: ;
4283 	{
4284 		tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
4285 		t = skipTypes__ast_3735((*dest).typ, TM__dJ4qrEWDmqGA8FWJ0TYKJQ_15);
4286 		{
4287 			tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T23_;
4288 			T23_ = NIM_NIL;
4289 			T23_ = getAttachedOp__modulegraphs_4011((*c).graph, t, ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) 2));
4290 			if (!!((T23_ == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA24_;
4291 			result = genOp__injectdestructors_6430(c, t, ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) 2), dest, ri);
4292 			add__ast_4797(result, ri);
4293 		}
4294 		goto LA21_;
4295 		LA24_: ;
4296 		{
4297 			tyArray__AB6yfoUgfWM2NtGe9bzkCmw T27_;
4298 			tyArray__AB6yfoUgfWM2NtGe9bzkCmw T28_;
4299 			nimZeroMem((void*)T27_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
4300 			T27_[0] = genDestroy__injectdestructors_6527(c, dest);
4301 			nimZeroMem((void*)T28_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
4302 			T28_[0] = dest;
4303 			T28_[1] = ri;
4304 			T27_[1] = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 74), T28_, 2);
4305 			result = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), T27_, 2);
4306 		}
4307 		LA21_: ;
4308 	}
4309 	LA1_: ;
4310 	return result;
4311 }
N_NIMCALL(NIM_BOOL,isLastRead__injectdestructors_6103)4312 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isLastRead__injectdestructors_6103)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_Con__mVYRtnERc9advo79cBQUudxg* c) {
4313 	NIM_BOOL result;
4314 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* m;
4315 	NIM_BOOL T1_;
4316 	NIM_BOOL T2_;
4317 	result = (NIM_BOOL)0;
4318 	m = skipConvDfa__dfa_780(n);
4319 	T1_ = (NIM_BOOL)0;
4320 	T2_ = (NIM_BOOL)0;
4321 	T2_ = ((*m).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
4322 	if (!(T2_)) goto LA3_;
4323 	T2_ = (((*(*m)._kind_4.sym).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 45))&63U)))!=0);
4324 	LA3_: ;
4325 	T1_ = T2_;
4326 	if (T1_) goto LA4_;
4327 	T1_ = (((*m).flags &((NU32)1<<((NU)(((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 21))&31U)))!=0);
4328 	LA4_: ;
4329 	result = T1_;
4330 	return result;
4331 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,genWasMoved__injectdestructors_6739)4332 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, genWasMoved__injectdestructors_6739)(tyObject_Con__mVYRtnERc9advo79cBQUudxg* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
4333 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
4334 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T1_;
4335 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T2_;
4336 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T3_;
4337 	result = NIM_NIL;
4338 	result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27), (*n).info);
4339 	T1_ = NIM_NIL;
4340 	T1_ = createMagic__modulegraphs_9008((*c).graph, (*c).idgen, ((NimStringDesc*) &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_33), ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 149));
4341 	T2_ = NIM_NIL;
4342 	T2_ = newSymNode__ast_3716(T1_);
4343 	add__ast_4797(result, T2_);
4344 	T3_ = NIM_NIL;
4345 	T3_ = copyTree__ast_4431(n);
4346 	add__ast_4797(result, T3_);
4347 	return result;
4348 }
N_NIMCALL(void,genMarkCyclic__injectdestructors_6612)4349 N_LIB_PRIVATE N_NIMCALL(void, genMarkCyclic__injectdestructors_6612)(tyObject_Con__mVYRtnERc9advo79cBQUudxg* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* dest) {
4350 	{
4351 		tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
4352 		if (!((*(*(*c).graph).config).selectedGC == ((tyEnum_TGCMode__tkz389aDYNd8ykeZszCuBSw) 5))) goto LA3_;
4353 		t = skipTypes__ast_3735((*dest).typ, TM__dJ4qrEWDmqGA8FWJ0TYKJQ_35);
4354 		{
4355 			NIM_BOOL T7_;
4356 			T7_ = (NIM_BOOL)0;
4357 			T7_ = cyclicType__liftdestructors_1366(t);
4358 			if (!T7_) goto LA8_;
4359 			{
4360 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T14_;
4361 				if (!((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22))) goto LA12_;
4362 				T14_ = NIM_NIL;
4363 				T14_ = callCodegenProc__lowerings_635((*c).graph, ((NimStringDesc*) &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_36), (*dest).info, dest, ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL), ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL), ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
4364 				add__ast_4797(result, T14_);
4365 			}
4366 			goto LA10_;
4367 			LA12_: ;
4368 			{
4369 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* xenv;
4370 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T16_;
4371 				xenv = genBuiltin__liftdestructors_113((*c).graph, (*c).idgen, ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 156), ((NimStringDesc*) &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_37), dest);
4372 				asgnRef((void**) (&(*xenv).typ), getSysType__magicsys_60((*c).graph, (*dest).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 26)));
4373 				T16_ = NIM_NIL;
4374 				T16_ = callCodegenProc__lowerings_635((*c).graph, ((NimStringDesc*) &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_36), (*dest).info, xenv, ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL), ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL), ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
4375 				add__ast_4797(result, T16_);
4376 			}
4377 			LA10_: ;
4378 		}
4379 		LA8_: ;
4380 	}
4381 	LA3_: ;
4382 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,destructiveMoveVar__injectdestructors_6760)4383 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, destructiveMoveVar__injectdestructors_6760)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_Con__mVYRtnERc9advo79cBQUudxg* c, tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ* s) {
4384 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
4385 	result = NIM_NIL;
4386 	{
4387 		NIM_BOOL T3_;
4388 		T3_ = (NIM_BOOL)0;
4389 		T3_ = hasDestructor__injectdestructors_49((&(*c)), (*n).typ);
4390 		if (!!(T3_)) goto LA4_;
4391 		result = copyTree__ast_4431(n);
4392 	}
4393 	goto LA1_;
4394 	LA4_: ;
4395 	{
4396 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* temp;
4397 		tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T7_;
4398 		tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T8_;
4399 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* v;
4400 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* tempAsNode;
4401 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* vpart;
4402 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* nn;
4403 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* wasMovedCall;
4404 		result = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126), (*n).info, (*n).typ);
4405 		T7_ = NIM_NIL;
4406 		T7_ = getIdent__idents_143((*(*c).graph).cache, ((NimStringDesc*) &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_34));
4407 		T8_ = nextSymId__ast_3132((*c).idgen);
4408 		temp = newSym__ast_3445(((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 9), T7_, T8_, (*c).owner, (*n).info, 0);
4409 		asgnRef((void**) (&(*temp).typ), (*n).typ);
4410 		v = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 100), (*n).info);
4411 		tempAsNode = newSymNode__ast_3716(temp);
4412 		vpart = newNodeI__ast_3360(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 35), (*tempAsNode).info, ((NI) 3));
4413 		asgnRef((void**) (&(*vpart)._kind_6.sons->data[((NI) 0)]), tempAsNode);
4414 		asgnRef((void**) (&(*vpart)._kind_6.sons->data[((NI) 1)]), newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1), (*tempAsNode).info));
4415 		asgnRef((void**) (&(*vpart)._kind_6.sons->data[((NI) 2)]), n);
4416 		add__ast_4797(v, vpart);
4417 		add__ast_4797(result, v);
4418 		nn = skipConv__types_3597(n);
4419 		genMarkCyclic__injectdestructors_6612(c, result, nn);
4420 		wasMovedCall = genWasMoved__injectdestructors_6739(c, nn);
4421 		add__ast_4797(result, wasMovedCall);
4422 		add__ast_4797(result, tempAsNode);
4423 	}
4424 	LA1_: ;
4425 	return result;
4426 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,genCopyNoCheck__injectdestructors_6634)4427 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, genCopyNoCheck__injectdestructors_6634)(tyObject_Con__mVYRtnERc9advo79cBQUudxg* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* dest, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ri) {
4428 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
4429 	tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
4430 	result = NIM_NIL;
4431 	t = skipTypes__ast_3735((*dest).typ, TM__dJ4qrEWDmqGA8FWJ0TYKJQ_15);
4432 	result = genOp__injectdestructors_6430(c, t, ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) 1), dest, ri);
4433 	return result;
4434 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,genCopy__injectdestructors_6647)4435 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, genCopy__injectdestructors_6647)(tyObject_Con__mVYRtnERc9advo79cBQUudxg* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* dest, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ri) {
4436 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
4437 	tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
4438 	result = NIM_NIL;
4439 	t = (*dest).typ;
4440 	{
4441 		NIM_BOOL T3_;
4442 		T3_ = (NIM_BOOL)0;
4443 		T3_ = (((*t).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 4))&63U)))!=0);
4444 		if (!(T3_)) goto LA4_;
4445 		T3_ = !(((*ri).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23)));
4446 		LA4_: ;
4447 		if (!T3_) goto LA5_;
4448 		checkForErrorPragma__injectdestructors_6380((&(*c)), t, ri, ((NimStringDesc*) &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_26));
4449 	}
4450 	LA5_: ;
4451 	result = genCopyNoCheck__injectdestructors_6634(c, dest, ri);
4452 	return result;
4453 }
N_INLINE(NIM_BOOL,isCriticalLink__injectdestructors_6591)4454 static N_INLINE(NIM_BOOL, isCriticalLink__injectdestructors_6591)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* dest) {
4455 	NIM_BOOL result;
4456 	result = (NIM_BOOL)0;
4457 	result = !(((*dest).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3)));
4458 	return result;
4459 }
N_NIMCALL(void,finishCopy__injectdestructors_6598)4460 N_LIB_PRIVATE N_NIMCALL(void, finishCopy__injectdestructors_6598)(tyObject_Con__mVYRtnERc9advo79cBQUudxg* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* dest, NIM_BOOL isFromSink) {
4461 	{
4462 		tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
4463 		if (!((*(*(*c).graph).config).selectedGC == ((tyEnum_TGCMode__tkz389aDYNd8ykeZszCuBSw) 5))) goto LA3_;
4464 		t = skipTypes__ast_3735((*dest).typ, TM__dJ4qrEWDmqGA8FWJ0TYKJQ_35);
4465 		{
4466 			NIM_BOOL T7_;
4467 			NIM_BOOL T10_;
4468 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T12_;
4469 			T7_ = (NIM_BOOL)0;
4470 			T7_ = cyclicType__liftdestructors_1366(t);
4471 			if (!T7_) goto LA8_;
4472 			T10_ = (NIM_BOOL)0;
4473 			T10_ = isFromSink;
4474 			if (T10_) goto LA11_;
4475 			T10_ = isCriticalLink__injectdestructors_6591(dest);
4476 			LA11_: ;
4477 			T12_ = NIM_NIL;
4478 			T12_ = boolLit__liftdestructors_427((*c).graph, (*result).info, T10_);
4479 			add__ast_4797(result, T12_);
4480 		}
4481 		LA8_: ;
4482 	}
4483 	LA3_: ;
4484 }
N_INLINE(NIM_BOOL,isDangerousSeq__injectdestructors_6847)4485 static N_INLINE(NIM_BOOL, isDangerousSeq__injectdestructors_6847)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
4486 	NIM_BOOL result;
4487 	tyObject_TType__facALICuu8zUj0hjvbTLFg* t_2;
4488 	NIM_BOOL T1_;
4489 	result = (NIM_BOOL)0;
4490 	t_2 = skipTypes__ast_3735(t, TM__dJ4qrEWDmqGA8FWJ0TYKJQ_38);
4491 	T1_ = (NIM_BOOL)0;
4492 	T1_ = ((*t_2).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 24));
4493 	if (!(T1_)) goto LA2_;
4494 	T1_ = !((((*(*t_2).sons->data[((NI) 0)]).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 4))&63U)))!=0));
4495 	LA2_: ;
4496 	result = T1_;
4497 	return result;
4498 }
N_INLINE(NIM_BOOL,isSinkParam__ast_5030)4499 static N_INLINE(NIM_BOOL, isSinkParam__ast_5030)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s) {
4500 	NIM_BOOL result;
4501 	NIM_BOOL T1_;
4502 	NIM_BOOL T3_;
4503 	result = (NIM_BOOL)0;
4504 	T1_ = (NIM_BOOL)0;
4505 	T1_ = ((*s).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
4506 	if (!(T1_)) goto LA2_;
4507 	T3_ = (NIM_BOOL)0;
4508 	T3_ = ((*(*s).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 46));
4509 	if (T3_) goto LA4_;
4510 	T3_ = (((*(*s).typ).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 4))&63U)))!=0);
4511 	LA4_: ;
4512 	T1_ = T3_;
4513 	LA2_: ;
4514 	result = T1_;
4515 	return result;
4516 }
N_INLINE(NIM_BOOL,canBeMoved__injectdestructors_6532)4517 static N_INLINE(NIM_BOOL, canBeMoved__injectdestructors_6532)(tyObject_Con__mVYRtnERc9advo79cBQUudxg* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
4518 	NIM_BOOL result;
4519 	tyObject_TType__facALICuu8zUj0hjvbTLFg* t_2;
4520 	result = (NIM_BOOL)0;
4521 	t_2 = skipTypes__ast_3735(t, TM__dJ4qrEWDmqGA8FWJ0TYKJQ_15);
4522 	{
4523 		NIM_BOOL T5_;
4524 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T7_;
4525 		if (!(((*(*(*c).graph).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 42))&63U)))!=0)) goto LA3_;
4526 		T5_ = (NIM_BOOL)0;
4527 		T5_ = !(((*t_2).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22)));
4528 		if (!(T5_)) goto LA6_;
4529 		T7_ = NIM_NIL;
4530 		T7_ = getAttachedOp__modulegraphs_4011((*c).graph, t_2, ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) 2));
4531 		T5_ = !((T7_ == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
4532 		LA6_: ;
4533 		result = T5_;
4534 	}
4535 	goto LA1_;
4536 	LA3_: ;
4537 	{
4538 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T9_;
4539 		T9_ = NIM_NIL;
4540 		T9_ = getAttachedOp__modulegraphs_4011((*c).graph, t_2, ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) 2));
4541 		result = !((T9_ == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
4542 	}
4543 	LA1_: ;
4544 	return result;
4545 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,pRaiseStmt__injectdestructors_7126)4546 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, pRaiseStmt__injectdestructors_7126)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_Con__mVYRtnERc9advo79cBQUudxg* c, tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ* s) {
4547 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
4548 	result = NIM_NIL;
4549 	{
4550 		NIM_BOOL T3_;
4551 		T3_ = (NIM_BOOL)0;
4552 		T3_ = (((*(*(*c).graph).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 42))&63U)))!=0);
4553 		if (!(T3_)) goto LA4_;
4554 		T3_ = !(((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)));
4555 		LA4_: ;
4556 		if (!T3_) goto LA5_;
4557 		{
4558 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* call;
4559 			if (!((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27) || (*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 29) || (*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 30) || (*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 31) || (*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 26) || (*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 28) || (*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 32))) goto LA9_;
4560 			call = p__injectdestructors_105((*n)._kind_6.sons->data[((NI) 0)], c, s, ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
4561 			result = copyNode__ast_4336(n);
4562 			add__ast_4797(result, call);
4563 		}
4564 		goto LA7_;
4565 		LA9_: ;
4566 		{
4567 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* tmp;
4568 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* m;
4569 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T12_;
4570 			tyArray__AB6yfoUgfWM2NtGe9bzkCmw T13_;
4571 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* toDisarm;
4572 			tyArray__jlWPjgtbdjE069arIWHC9c9bg T25_;
4573 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T26_;
4574 			tmp = getTemp__injectdestructors_61(c, s, (*(*n)._kind_6.sons->data[((NI) 0)]).typ, (*n).info);
4575 			m = genCopyNoCheck__injectdestructors_6634(c, tmp, (*n)._kind_6.sons->data[((NI) 0)]);
4576 			T12_ = NIM_NIL;
4577 			T12_ = p__injectdestructors_105((*n)._kind_6.sons->data[((NI) 0)], c, s, ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
4578 			add__ast_4797(m, T12_);
4579 			finishCopy__injectdestructors_6598(c, m, (*n)._kind_6.sons->data[((NI) 0)], NIM_FALSE);
4580 			nimZeroMem((void*)T13_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
4581 			T13_[0] = genWasMoved__injectdestructors_6739(c, tmp);
4582 			T13_[1] = m;
4583 			result = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), T13_, 2);
4584 			toDisarm = (*n)._kind_6.sons->data[((NI) 0)];
4585 			{
4586 				if (!((*toDisarm).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126))) goto LA16_;
4587 				toDisarm = lastSon__ast_4832(toDisarm);
4588 			}
4589 			LA16_: ;
4590 			{
4591 				NIM_BOOL T20_;
4592 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T24_;
4593 				T20_ = (NIM_BOOL)0;
4594 				T20_ = ((*toDisarm).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
4595 				if (!(T20_)) goto LA21_;
4596 				T20_ = ((*(*toDisarm)._kind_4.sym).owner == (*c).owner);
4597 				LA21_: ;
4598 				if (!T20_) goto LA22_;
4599 				T24_ = NIM_NIL;
4600 				T24_ = genWasMoved__injectdestructors_6739(c, toDisarm);
4601 				add__ast_4797(result, T24_);
4602 			}
4603 			LA22_: ;
4604 			nimZeroMem((void*)T25_, sizeof(tyArray__jlWPjgtbdjE069arIWHC9c9bg));
4605 			T25_[0] = tmp;
4606 			T26_ = NIM_NIL;
4607 			T26_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 108), T25_, 1);
4608 			add__ast_4797(result, T26_);
4609 		}
4610 		LA7_: ;
4611 	}
4612 	goto LA1_;
4613 	LA5_: ;
4614 	{
4615 		result = copyNode__ast_4336(n);
4616 		{
4617 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T32_;
4618 			if (!!(((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA30_;
4619 			T32_ = NIM_NIL;
4620 			T32_ = p__injectdestructors_105((*n)._kind_6.sons->data[((NI) 0)], c, s, ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 2));
4621 			add__ast_4797(result, T32_);
4622 		}
4623 		goto LA28_;
4624 		LA30_: ;
4625 		{
4626 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T34_;
4627 			T34_ = NIM_NIL;
4628 			T34_ = copyNode__ast_4336((*n)._kind_6.sons->data[((NI) 0)]);
4629 			add__ast_4797(result, T34_);
4630 		}
4631 		LA28_: ;
4632 	}
4633 	LA1_: ;
4634 	(*s).needsTry = NIM_TRUE;
4635 	return result;
4636 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,moveOrCopy__injectdestructors_110)4637 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, moveOrCopy__injectdestructors_110)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* dest, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ri, tyObject_Con__mVYRtnERc9advo79cBQUudxg* c, tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ* s, NIM_BOOL isDecl) {
4638 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
4639 {	result = NIM_NIL;
4640 	{
4641 		NIM_BOOL T3_;
4642 		T3_ = (NIM_BOOL)0;
4643 		T3_ = sameLocation__injectdestructors_8432(dest, ri);
4644 		if (!T3_) goto LA4_;
4645 		result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1), (*dest).info);
4646 	}
4647 	goto LA1_;
4648 	LA4_: ;
4649 	{
4650 		NIM_BOOL T7_;
4651 		T7_ = (NIM_BOOL)0;
4652 		T7_ = isCursor__injectdestructors_6369(dest);
4653 		if (!T7_) goto LA8_;
4654 		switch ((*ri).kind) {
4655 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126):
4656 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 127):
4657 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 48):
4658 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 97):
4659 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 106):
4660 		{
4661 			switch ((*ri).kind) {
4662 			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115):
4663 			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126):
4664 			{
4665 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T22_;
4666 				{
4667 					NI T14_;
4668 					T14_ = (NI)0;
4669 					T14_ = len__ast_3198(ri);
4670 					if (!(T14_ == ((NI) 0))) goto LA15_;
4671 					result = ri;
4672 					goto BeforeRet_;
4673 				}
4674 				LA15_: ;
4675 				result = copyNode__ast_4336(ri);
4676 				{
4677 					NI iX60gensym501_;
4678 					NI colontmp_;
4679 					NI T18_;
4680 					NI i;
4681 					iX60gensym501_ = (NI)0;
4682 					colontmp_ = (NI)0;
4683 					T18_ = (NI)0;
4684 					T18_ = len__ast_3198(ri);
4685 					colontmp_ = (NI)(T18_ - ((NI) 1));
4686 					i = ((NI) 0);
4687 					{
4688 						while (1) {
4689 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T21_;
4690 							if (!(i < colontmp_)) goto LA20;
4691 							iX60gensym501_ = i;
4692 							T21_ = NIM_NIL;
4693 							T21_ = p__injectdestructors_105((*ri)._kind_6.sons->data[iX60gensym501_], c, s, ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
4694 							add__ast_4797(result, T21_);
4695 							i += ((NI) 1);
4696 						} LA20: ;
4697 					}
4698 				}
4699 				T22_ = NIM_NIL;
4700 				{
4701 					NI T25_;
4702 					NIM_BOOL T26_;
4703 					NI T29_;
4704 					T25_ = (NI)0;
4705 					T25_ = len__ast_3198(ri);
4706 					T26_ = (NIM_BOOL)0;
4707 					T26_ = isEmptyType__ast_4779((*(*ri)._kind_6.sons->data[(NI)(T25_ - ((NI) 1))]).typ);
4708 					if (!T26_) goto LA27_;
4709 					T29_ = (NI)0;
4710 					T29_ = len__ast_3198(ri);
4711 					T22_ = p__injectdestructors_105((*ri)._kind_6.sons->data[(NI)(T29_ - ((NI) 1))], c, s, ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
4712 				}
4713 				goto LA23_;
4714 				LA27_: ;
4715 				{
4716 					NI T31_;
4717 					T31_ = (NI)0;
4718 					T31_ = len__ast_3198(ri);
4719 					T22_ = moveOrCopy__injectdestructors_110(dest, (*ri)._kind_6.sons->data[(NI)(T31_ - ((NI) 1))], c, s, isDecl);
4720 				}
4721 				LA23_: ;
4722 				add__ast_4797(result, T22_);
4723 			}
4724 			break;
4725 			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 97):
4726 			{
4727 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T33_;
4728 				result = copyNode__ast_4336(ri);
4729 				T33_ = NIM_NIL;
4730 				T33_ = p__injectdestructors_105((*ri)._kind_6.sons->data[((NI) 0)], c, s, ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
4731 				add__ast_4797(result, T33_);
4732 				{
4733 					NI iX60gensym501__2;
4734 					NI colontmp__2;
4735 					NI i_2;
4736 					iX60gensym501__2 = (NI)0;
4737 					colontmp__2 = (NI)0;
4738 					colontmp__2 = len__ast_3198(ri);
4739 					i_2 = ((NI) 1);
4740 					{
4741 						while (1) {
4742 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* itX60gensym501_;
4743 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* branchX60gensym501_;
4744 							tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ ofScopeX60gensym501_;
4745 							NI T41_;
4746 							if (!(i_2 < colontmp__2)) goto LA36;
4747 							iX60gensym501__2 = i_2;
4748 							itX60gensym501_ = (*ri)._kind_6.sons->data[iX60gensym501__2];
4749 							branchX60gensym501_ = shallowCopy__ast_4413(itX60gensym501_);
4750 							{
4751 								NI jX60gensym501_;
4752 								NI colontmp__3;
4753 								NI T38_;
4754 								NI i_3;
4755 								jX60gensym501_ = (NI)0;
4756 								colontmp__3 = (NI)0;
4757 								T38_ = (NI)0;
4758 								T38_ = len__ast_3198(itX60gensym501_);
4759 								colontmp__3 = (NI)(T38_ - ((NI) 1));
4760 								i_3 = ((NI) 0);
4761 								{
4762 									while (1) {
4763 										if (!(i_3 < colontmp__3)) goto LA40;
4764 										jX60gensym501_ = i_3;
4765 										asgnRef((void**) (&(*branchX60gensym501_)._kind_6.sons->data[jX60gensym501_]), copyTree__ast_4431((*itX60gensym501_)._kind_6.sons->data[jX60gensym501_]));
4766 										i_3 += ((NI) 1);
4767 									} LA40: ;
4768 								}
4769 							}
4770 							nimZeroMem((void*)(&ofScopeX60gensym501_), sizeof(tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ));
4771 							nestedScope__injectdestructors_72(s, (&ofScopeX60gensym501_));
4772 							T41_ = (NI)0;
4773 							T41_ = len__ast_3198(branchX60gensym501_);
4774 							{
4775 								NIM_BOOL T44_;
4776 								NI T45_;
4777 								tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T49_;
4778 								T44_ = (NIM_BOOL)0;
4779 								T45_ = (NI)0;
4780 								T45_ = len__ast_3198(itX60gensym501_);
4781 								T44_ = isEmptyType__ast_4779((*(*itX60gensym501_)._kind_6.sons->data[(NI)(T45_ - ((NI) 1))]).typ);
4782 								if (T44_) goto LA46_;
4783 								T44_ = NIM_TRUE;
4784 								LA46_: ;
4785 								if (!T44_) goto LA47_;
4786 								T49_ = NIM_NIL;
4787 								{
4788 									NI T52_;
4789 									NIM_BOOL T53_;
4790 									NI T56_;
4791 									T52_ = (NI)0;
4792 									T52_ = len__ast_3198(itX60gensym501_);
4793 									T53_ = (NIM_BOOL)0;
4794 									T53_ = isEmptyType__ast_4779((*(*itX60gensym501_)._kind_6.sons->data[(NI)(T52_ - ((NI) 1))]).typ);
4795 									if (!T53_) goto LA54_;
4796 									T56_ = (NI)0;
4797 									T56_ = len__ast_3198(itX60gensym501_);
4798 									T49_ = p__injectdestructors_105((*itX60gensym501_)._kind_6.sons->data[(NI)(T56_ - ((NI) 1))], c, (&ofScopeX60gensym501_), ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
4799 								}
4800 								goto LA50_;
4801 								LA54_: ;
4802 								{
4803 									NI T58_;
4804 									T58_ = (NI)0;
4805 									T58_ = len__ast_3198(itX60gensym501_);
4806 									T49_ = moveOrCopy__injectdestructors_110(dest, (*itX60gensym501_)._kind_6.sons->data[(NI)(T58_ - ((NI) 1))], c, (&ofScopeX60gensym501_), isDecl);
4807 								}
4808 								LA50_: ;
4809 								asgnRef((void**) (&(*branchX60gensym501_)._kind_6.sons->data[(NI)(T41_ - ((NI) 1))]), processScope__injectdestructors_7016(c, (&ofScopeX60gensym501_), T49_));
4810 							}
4811 							goto LA42_;
4812 							LA47_: ;
4813 							{
4814 								tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* resultX60gensym539_;
4815 								NI T60_;
4816 								tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* tmpX60gensym539_;
4817 								NI T61_;
4818 								NI T62_;
4819 								tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* cpyX60gensym539_;
4820 								tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* finSectionX60gensym539_;
4821 								NI T89_;
4822 								T60_ = (NI)0;
4823 								T60_ = len__ast_3198(itX60gensym501_);
4824 								resultX60gensym539_ = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126), (*(*itX60gensym501_)._kind_6.sons->data[(NI)(T60_ - ((NI) 1))]).info);
4825 								T61_ = (NI)0;
4826 								T61_ = len__ast_3198(itX60gensym501_);
4827 								T62_ = (NI)0;
4828 								T62_ = len__ast_3198(itX60gensym501_);
4829 								tmpX60gensym539_ = getTemp__injectdestructors_61(c, ofScopeX60gensym501_.parent, (*(*itX60gensym501_)._kind_6.sons->data[(NI)(T61_ - ((NI) 1))]).typ, (*(*itX60gensym501_)._kind_6.sons->data[(NI)(T62_ - ((NI) 1))]).info);
4830 								(*(*tmpX60gensym539_)._kind_4.sym).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 45)) & 63);
4831 								{
4832 									NI T65_;
4833 									NIM_BOOL T66_;
4834 									tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T69_;
4835 									NI T70_;
4836 									NI T71_;
4837 									T65_ = (NI)0;
4838 									T65_ = len__ast_3198(itX60gensym501_);
4839 									T66_ = (NIM_BOOL)0;
4840 									T66_ = hasDestructor__injectdestructors_49((&(*c)), (*(*itX60gensym501_)._kind_6.sons->data[(NI)(T65_ - ((NI) 1))]).typ);
4841 									if (!T66_) goto LA67_;
4842 									T69_ = NIM_NIL;
4843 									T69_ = genDestroy__injectdestructors_6527(c, tmpX60gensym539_);
4844 									unsureAsgnRef((void**) (&(*ofScopeX60gensym501_.parent).final), (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) incrSeqV3((TGenericSeq*)((*ofScopeX60gensym501_.parent).final), (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_)));
4845 									T70_ = (*ofScopeX60gensym501_.parent).final->Sup.len++;
4846 									asgnRef((void**) (&(*ofScopeX60gensym501_.parent).final->data[T70_]), T69_);
4847 									T71_ = (NI)0;
4848 									T71_ = len__ast_3198(itX60gensym501_);
4849 									cpyX60gensym539_ = moveOrCopy__injectdestructors_110(tmpX60gensym539_, (*itX60gensym501_)._kind_6.sons->data[(NI)(T71_ - ((NI) 1))], c, (&ofScopeX60gensym501_), NIM_TRUE);
4850 								}
4851 								goto LA63_;
4852 								LA67_: ;
4853 								{
4854 									tyArray__AB6yfoUgfWM2NtGe9bzkCmw T73_;
4855 									NI T74_;
4856 									nimZeroMem((void*)T73_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
4857 									T73_[0] = tmpX60gensym539_;
4858 									T74_ = (NI)0;
4859 									T74_ = len__ast_3198(itX60gensym501_);
4860 									T73_[1] = p__injectdestructors_105((*itX60gensym501_)._kind_6.sons->data[(NI)(T74_ - ((NI) 1))], c, (&ofScopeX60gensym501_), ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
4861 									cpyX60gensym539_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 74), T73_, 2);
4862 								}
4863 								LA63_: ;
4864 								{
4865 									NI T77_;
4866 									tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* varSectionX60gensym539_;
4867 									NI T80_;
4868 									T77_ = (ofScopeX60gensym501_.vars ? ofScopeX60gensym501_.vars->Sup.len : 0);
4869 									if (!(((NI) 0) < T77_)) goto LA78_;
4870 									T80_ = (NI)0;
4871 									T80_ = len__ast_3198(itX60gensym501_);
4872 									varSectionX60gensym539_ = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 99), (*(*itX60gensym501_)._kind_6.sons->data[(NI)(T80_ - ((NI) 1))]).info);
4873 									{
4874 										tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ** tmpX60gensym539__2;
4875 										NI i_4;
4876 										NI L;
4877 										NI T82_;
4878 										tmpX60gensym539__2 = (tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ**)0;
4879 										i_4 = ((NI) 0);
4880 										T82_ = (ofScopeX60gensym501_.vars ? ofScopeX60gensym501_.vars->Sup.len : 0);
4881 										L = T82_;
4882 										{
4883 											while (1) {
4884 												tyArray__T6RKPw8xfAeNaoei9aZGzXg T85_;
4885 												NI T86_;
4886 												NI T87_;
4887 												tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T88_;
4888 												if (!(i_4 < L)) goto LA84;
4889 												tmpX60gensym539__2 = &ofScopeX60gensym501_.vars->data[i_4];
4890 												nimZeroMem((void*)T85_, sizeof(tyArray__T6RKPw8xfAeNaoei9aZGzXg));
4891 												T85_[0] = newSymNode__ast_3716((*tmpX60gensym539__2));
4892 												T86_ = (NI)0;
4893 												T86_ = len__ast_3198(itX60gensym501_);
4894 												T85_[1] = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1), (*(*itX60gensym501_)._kind_6.sons->data[(NI)(T86_ - ((NI) 1))]).info);
4895 												T87_ = (NI)0;
4896 												T87_ = len__ast_3198(itX60gensym501_);
4897 												T85_[2] = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1), (*(*itX60gensym501_)._kind_6.sons->data[(NI)(T87_ - ((NI) 1))]).info);
4898 												T88_ = NIM_NIL;
4899 												T88_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 35), T85_, 3);
4900 												add__ast_4797(varSectionX60gensym539_, T88_);
4901 												i_4 += ((NI) 1);
4902 											} LA84: ;
4903 										}
4904 									}
4905 									add__ast_4797(resultX60gensym539_, varSectionX60gensym539_);
4906 								}
4907 								LA78_: ;
4908 								T89_ = (NI)0;
4909 								T89_ = len__ast_3198(itX60gensym501_);
4910 								finSectionX60gensym539_ = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), (*(*itX60gensym501_)._kind_6.sons->data[(NI)(T89_ - ((NI) 1))]).info);
4911 								{
4912 									tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** mX60gensym539_;
4913 									NI i_5;
4914 									NI L_2;
4915 									NI T91_;
4916 									mX60gensym539_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw**)0;
4917 									i_5 = ((NI) 0);
4918 									T91_ = (ofScopeX60gensym501_.wasMoved ? ofScopeX60gensym501_.wasMoved->Sup.len : 0);
4919 									L_2 = T91_;
4920 									{
4921 										while (1) {
4922 											if (!(i_5 < L_2)) goto LA93;
4923 											mX60gensym539_ = &ofScopeX60gensym501_.wasMoved->data[i_5];
4924 											add__ast_4797(finSectionX60gensym539_, (*mX60gensym539_));
4925 											i_5 += ((NI) 1);
4926 										} LA93: ;
4927 									}
4928 								}
4929 								{
4930 									NI iX60gensym539_;
4931 									NI colontmp__4;
4932 									NI T95_;
4933 									NI res;
4934 									iX60gensym539_ = (NI)0;
4935 									colontmp__4 = (NI)0;
4936 									T95_ = ((ofScopeX60gensym501_.final ? ofScopeX60gensym501_.final->Sup.len : 0)-1);
4937 									colontmp__4 = T95_;
4938 									res = colontmp__4;
4939 									{
4940 										while (1) {
4941 											if (!(((NI) 0) <= res)) goto LA97;
4942 											iX60gensym539_ = res;
4943 											add__ast_4797(finSectionX60gensym539_, ofScopeX60gensym501_.final->data[iX60gensym539_]);
4944 											res -= ((NI) 1);
4945 										} LA97: ;
4946 									}
4947 								}
4948 								{
4949 									tyArray__AB6yfoUgfWM2NtGe9bzkCmw T102_;
4950 									tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T103_;
4951 									tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T104_;
4952 									if (!ofScopeX60gensym501_.needsTry) goto LA100_;
4953 									nimZeroMem((void*)T102_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
4954 									T102_[0] = cpyX60gensym539_;
4955 									T102_[1] = moveOrCopy__injectdestructors_110(dest, tmpX60gensym539_, c, ofScopeX60gensym501_.parent, isDecl);
4956 									T103_ = NIM_NIL;
4957 									T103_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126), T102_, 2);
4958 									T104_ = NIM_NIL;
4959 									T104_ = newTryFinally__lowerings_202(T103_, finSectionX60gensym539_);
4960 									add__ast_4797(resultX60gensym539_, T104_);
4961 								}
4962 								goto LA98_;
4963 								LA100_: ;
4964 								{
4965 									tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T106_;
4966 									add__ast_4797(resultX60gensym539_, cpyX60gensym539_);
4967 									add__ast_4797(resultX60gensym539_, finSectionX60gensym539_);
4968 									T106_ = NIM_NIL;
4969 									T106_ = moveOrCopy__injectdestructors_110(dest, tmpX60gensym539_, c, ofScopeX60gensym501_.parent, isDecl);
4970 									add__ast_4797(resultX60gensym539_, T106_);
4971 								}
4972 								LA98_: ;
4973 								{
4974 									NIM_BOOL T111_;
4975 									if (!!((ofScopeX60gensym501_.parent == ((tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ*) NIM_NIL)))) goto LA109_;
4976 									T111_ = (NIM_BOOL)0;
4977 									T111_ = (*ofScopeX60gensym501_.parent).needsTry;
4978 									if (T111_) goto LA112_;
4979 									T111_ = ofScopeX60gensym501_.needsTry;
4980 									LA112_: ;
4981 									(*ofScopeX60gensym501_.parent).needsTry = T111_;
4982 								}
4983 								LA109_: ;
4984 								asgnRef((void**) (&(*branchX60gensym501_)._kind_6.sons->data[(NI)(T41_ - ((NI) 1))]), resultX60gensym539_);
4985 							}
4986 							LA42_: ;
4987 							add__ast_4797(result, branchX60gensym501_);
4988 							i_2 += ((NI) 1);
4989 						} LA36: ;
4990 					}
4991 				}
4992 			}
4993 			break;
4994 			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 96):
4995 			{
4996 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T114_;
4997 				tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ bodyScopeX60gensym501_;
4998 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* bodyResultX60gensym501_;
4999 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T115_;
5000 				(*c).inLoop += ((NI) 1);
5001 				(*c).inLoopCond += ((NI) 1);
5002 				result = copyNode__ast_4336(ri);
5003 				T114_ = NIM_NIL;
5004 				T114_ = p__injectdestructors_105((*ri)._kind_6.sons->data[((NI) 0)], c, s, ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
5005 				add__ast_4797(result, T114_);
5006 				(*c).inLoopCond -= ((NI) 1);
5007 				nimZeroMem((void*)(&bodyScopeX60gensym501_), sizeof(tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ));
5008 				nestedScope__injectdestructors_72(s, (&bodyScopeX60gensym501_));
5009 				bodyResultX60gensym501_ = p__injectdestructors_105((*ri)._kind_6.sons->data[((NI) 1)], c, (&bodyScopeX60gensym501_), ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
5010 				T115_ = NIM_NIL;
5011 				T115_ = processScope__injectdestructors_7016(c, (&bodyScopeX60gensym501_), bodyResultX60gensym501_);
5012 				add__ast_4797(result, T115_);
5013 				(*c).inLoop -= ((NI) 1);
5014 			}
5015 			break;
5016 			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 95):
5017 			{
5018 				NI lastX60gensym501_;
5019 				NI T117_;
5020 				tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ bodyScopeX60gensym501__2;
5021 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* bodyResultX60gensym501__2;
5022 				(*c).inLoop += ((NI) 1);
5023 				result = shallowCopy__ast_4413(ri);
5024 				T117_ = (NI)0;
5025 				T117_ = len__ast_3198(ri);
5026 				lastX60gensym501_ = (NI)(T117_ - ((NI) 1));
5027 				{
5028 					NI iX60gensym501__3;
5029 					NI colontmp__5;
5030 					NI i_6;
5031 					iX60gensym501__3 = (NI)0;
5032 					colontmp__5 = (NI)0;
5033 					colontmp__5 = (NI)(lastX60gensym501_ - ((NI) 1));
5034 					i_6 = ((NI) 0);
5035 					{
5036 						while (1) {
5037 							if (!(i_6 < colontmp__5)) goto LA120;
5038 							iX60gensym501__3 = i_6;
5039 							asgnRef((void**) (&(*result)._kind_6.sons->data[iX60gensym501__3]), (*ri)._kind_6.sons->data[iX60gensym501__3]);
5040 							i_6 += ((NI) 1);
5041 						} LA120: ;
5042 					}
5043 				}
5044 				asgnRef((void**) (&(*result)._kind_6.sons->data[(NI)(lastX60gensym501_ - ((NI) 1))]), p__injectdestructors_105((*ri)._kind_6.sons->data[(NI)(lastX60gensym501_ - ((NI) 1))], c, s, ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0)));
5045 				nimZeroMem((void*)(&bodyScopeX60gensym501__2), sizeof(tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ));
5046 				nestedScope__injectdestructors_72(s, (&bodyScopeX60gensym501__2));
5047 				bodyResultX60gensym501__2 = p__injectdestructors_105((*ri)._kind_6.sons->data[lastX60gensym501_], c, (&bodyScopeX60gensym501__2), ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
5048 				asgnRef((void**) (&(*result)._kind_6.sons->data[lastX60gensym501_]), processScope__injectdestructors_7016(c, (&bodyScopeX60gensym501__2), bodyResultX60gensym501__2));
5049 				(*c).inLoop -= ((NI) 1);
5050 			}
5051 			break;
5052 			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 112):
5053 			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 127):
5054 			{
5055 				tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ bodyScopeX60gensym501__3;
5056 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T122_;
5057 				result = copyNode__ast_4336(ri);
5058 				add__ast_4797(result, (*ri)._kind_6.sons->data[((NI) 0)]);
5059 				nimZeroMem((void*)(&bodyScopeX60gensym501__3), sizeof(tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ));
5060 				nestedScope__injectdestructors_72(s, (&bodyScopeX60gensym501__3));
5061 				T122_ = NIM_NIL;
5062 				{
5063 					NIM_BOOL T125_;
5064 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T129_;
5065 					T125_ = (NIM_BOOL)0;
5066 					T125_ = isEmptyType__ast_4779((*(*ri)._kind_6.sons->data[((NI) 1)]).typ);
5067 					if (T125_) goto LA126_;
5068 					T125_ = NIM_TRUE;
5069 					LA126_: ;
5070 					if (!T125_) goto LA127_;
5071 					T129_ = NIM_NIL;
5072 					T129_ = moveOrCopy__injectdestructors_110(dest, (*ri)._kind_6.sons->data[((NI) 1)], c, (&bodyScopeX60gensym501__3), isDecl);
5073 					T122_ = processScope__injectdestructors_7016(c, (&bodyScopeX60gensym501__3), T129_);
5074 				}
5075 				goto LA123_;
5076 				LA127_: ;
5077 				{
5078 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* resultX60gensym561_;
5079 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* tmpX60gensym561_;
5080 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* cpyX60gensym561_;
5081 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* finSectionX60gensym561_;
5082 					resultX60gensym561_ = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126), (*(*ri)._kind_6.sons->data[((NI) 1)]).info);
5083 					tmpX60gensym561_ = getTemp__injectdestructors_61(c, bodyScopeX60gensym501__3.parent, (*(*ri)._kind_6.sons->data[((NI) 1)]).typ, (*(*ri)._kind_6.sons->data[((NI) 1)]).info);
5084 					(*(*tmpX60gensym561_)._kind_4.sym).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 45)) & 63);
5085 					{
5086 						NIM_BOOL T133_;
5087 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T136_;
5088 						NI T137_;
5089 						T133_ = (NIM_BOOL)0;
5090 						T133_ = hasDestructor__injectdestructors_49((&(*c)), (*(*ri)._kind_6.sons->data[((NI) 1)]).typ);
5091 						if (!T133_) goto LA134_;
5092 						T136_ = NIM_NIL;
5093 						T136_ = genDestroy__injectdestructors_6527(c, tmpX60gensym561_);
5094 						unsureAsgnRef((void**) (&(*bodyScopeX60gensym501__3.parent).final), (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) incrSeqV3((TGenericSeq*)((*bodyScopeX60gensym501__3.parent).final), (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_)));
5095 						T137_ = (*bodyScopeX60gensym501__3.parent).final->Sup.len++;
5096 						asgnRef((void**) (&(*bodyScopeX60gensym501__3.parent).final->data[T137_]), T136_);
5097 						cpyX60gensym561_ = moveOrCopy__injectdestructors_110(tmpX60gensym561_, (*ri)._kind_6.sons->data[((NI) 1)], c, (&bodyScopeX60gensym501__3), NIM_TRUE);
5098 					}
5099 					goto LA131_;
5100 					LA134_: ;
5101 					{
5102 						tyArray__AB6yfoUgfWM2NtGe9bzkCmw T139_;
5103 						nimZeroMem((void*)T139_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
5104 						T139_[0] = tmpX60gensym561_;
5105 						T139_[1] = p__injectdestructors_105((*ri)._kind_6.sons->data[((NI) 1)], c, (&bodyScopeX60gensym501__3), ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
5106 						cpyX60gensym561_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 74), T139_, 2);
5107 					}
5108 					LA131_: ;
5109 					{
5110 						NI T142_;
5111 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* varSectionX60gensym561_;
5112 						T142_ = (bodyScopeX60gensym501__3.vars ? bodyScopeX60gensym501__3.vars->Sup.len : 0);
5113 						if (!(((NI) 0) < T142_)) goto LA143_;
5114 						varSectionX60gensym561_ = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 99), (*(*ri)._kind_6.sons->data[((NI) 1)]).info);
5115 						{
5116 							tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ** tmpX60gensym561__2;
5117 							NI i_7;
5118 							NI L_3;
5119 							NI T146_;
5120 							tmpX60gensym561__2 = (tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ**)0;
5121 							i_7 = ((NI) 0);
5122 							T146_ = (bodyScopeX60gensym501__3.vars ? bodyScopeX60gensym501__3.vars->Sup.len : 0);
5123 							L_3 = T146_;
5124 							{
5125 								while (1) {
5126 									tyArray__T6RKPw8xfAeNaoei9aZGzXg T149_;
5127 									tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T150_;
5128 									if (!(i_7 < L_3)) goto LA148;
5129 									tmpX60gensym561__2 = &bodyScopeX60gensym501__3.vars->data[i_7];
5130 									nimZeroMem((void*)T149_, sizeof(tyArray__T6RKPw8xfAeNaoei9aZGzXg));
5131 									T149_[0] = newSymNode__ast_3716((*tmpX60gensym561__2));
5132 									T149_[1] = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1), (*(*ri)._kind_6.sons->data[((NI) 1)]).info);
5133 									T149_[2] = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1), (*(*ri)._kind_6.sons->data[((NI) 1)]).info);
5134 									T150_ = NIM_NIL;
5135 									T150_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 35), T149_, 3);
5136 									add__ast_4797(varSectionX60gensym561_, T150_);
5137 									i_7 += ((NI) 1);
5138 								} LA148: ;
5139 							}
5140 						}
5141 						add__ast_4797(resultX60gensym561_, varSectionX60gensym561_);
5142 					}
5143 					LA143_: ;
5144 					finSectionX60gensym561_ = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), (*(*ri)._kind_6.sons->data[((NI) 1)]).info);
5145 					{
5146 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** mX60gensym561_;
5147 						NI i_8;
5148 						NI L_4;
5149 						NI T152_;
5150 						mX60gensym561_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw**)0;
5151 						i_8 = ((NI) 0);
5152 						T152_ = (bodyScopeX60gensym501__3.wasMoved ? bodyScopeX60gensym501__3.wasMoved->Sup.len : 0);
5153 						L_4 = T152_;
5154 						{
5155 							while (1) {
5156 								if (!(i_8 < L_4)) goto LA154;
5157 								mX60gensym561_ = &bodyScopeX60gensym501__3.wasMoved->data[i_8];
5158 								add__ast_4797(finSectionX60gensym561_, (*mX60gensym561_));
5159 								i_8 += ((NI) 1);
5160 							} LA154: ;
5161 						}
5162 					}
5163 					{
5164 						NI iX60gensym561_;
5165 						NI colontmp__6;
5166 						NI T156_;
5167 						NI res_2;
5168 						iX60gensym561_ = (NI)0;
5169 						colontmp__6 = (NI)0;
5170 						T156_ = ((bodyScopeX60gensym501__3.final ? bodyScopeX60gensym501__3.final->Sup.len : 0)-1);
5171 						colontmp__6 = T156_;
5172 						res_2 = colontmp__6;
5173 						{
5174 							while (1) {
5175 								if (!(((NI) 0) <= res_2)) goto LA158;
5176 								iX60gensym561_ = res_2;
5177 								add__ast_4797(finSectionX60gensym561_, bodyScopeX60gensym501__3.final->data[iX60gensym561_]);
5178 								res_2 -= ((NI) 1);
5179 							} LA158: ;
5180 						}
5181 					}
5182 					{
5183 						tyArray__AB6yfoUgfWM2NtGe9bzkCmw T163_;
5184 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T164_;
5185 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T165_;
5186 						if (!bodyScopeX60gensym501__3.needsTry) goto LA161_;
5187 						nimZeroMem((void*)T163_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
5188 						T163_[0] = cpyX60gensym561_;
5189 						T163_[1] = moveOrCopy__injectdestructors_110(dest, tmpX60gensym561_, c, bodyScopeX60gensym501__3.parent, isDecl);
5190 						T164_ = NIM_NIL;
5191 						T164_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126), T163_, 2);
5192 						T165_ = NIM_NIL;
5193 						T165_ = newTryFinally__lowerings_202(T164_, finSectionX60gensym561_);
5194 						add__ast_4797(resultX60gensym561_, T165_);
5195 					}
5196 					goto LA159_;
5197 					LA161_: ;
5198 					{
5199 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T167_;
5200 						add__ast_4797(resultX60gensym561_, cpyX60gensym561_);
5201 						add__ast_4797(resultX60gensym561_, finSectionX60gensym561_);
5202 						T167_ = NIM_NIL;
5203 						T167_ = moveOrCopy__injectdestructors_110(dest, tmpX60gensym561_, c, bodyScopeX60gensym501__3.parent, isDecl);
5204 						add__ast_4797(resultX60gensym561_, T167_);
5205 					}
5206 					LA159_: ;
5207 					{
5208 						NIM_BOOL T172_;
5209 						if (!!((bodyScopeX60gensym501__3.parent == ((tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ*) NIM_NIL)))) goto LA170_;
5210 						T172_ = (NIM_BOOL)0;
5211 						T172_ = (*bodyScopeX60gensym501__3.parent).needsTry;
5212 						if (T172_) goto LA173_;
5213 						T172_ = bodyScopeX60gensym501__3.needsTry;
5214 						LA173_: ;
5215 						(*bodyScopeX60gensym501__3.parent).needsTry = T172_;
5216 					}
5217 					LA170_: ;
5218 					T122_ = resultX60gensym561_;
5219 				}
5220 				LA123_: ;
5221 				add__ast_4797(result, T122_);
5222 			}
5223 			break;
5224 			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 92):
5225 			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 48):
5226 			{
5227 				result = copyNode__ast_4336(ri);
5228 				{
5229 					NI iX60gensym501__4;
5230 					NI colontmp__7;
5231 					NI i_9;
5232 					iX60gensym501__4 = (NI)0;
5233 					colontmp__7 = (NI)0;
5234 					colontmp__7 = len__ast_3198(ri);
5235 					i_9 = ((NI) 0);
5236 					{
5237 						while (1) {
5238 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* itX60gensym501__2;
5239 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* branchX60gensym501__2;
5240 							tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ branchScopeX60gensym501_;
5241 							NI T182_;
5242 							if (!(i_9 < colontmp__7)) goto LA177;
5243 							iX60gensym501__4 = i_9;
5244 							itX60gensym501__2 = (*ri)._kind_6.sons->data[iX60gensym501__4];
5245 							branchX60gensym501__2 = shallowCopy__ast_4413(itX60gensym501__2);
5246 							nimZeroMem((void*)(&branchScopeX60gensym501_), sizeof(tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ));
5247 							nestedScope__injectdestructors_72(s, (&branchScopeX60gensym501_));
5248 							{
5249 								if (!((*itX60gensym501__2).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 86) || (*itX60gensym501__2).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 49))) goto LA180_;
5250 								asgnRef((void**) (&(*branchX60gensym501__2)._kind_6.sons->data[((NI) 0)]), p__injectdestructors_105((*itX60gensym501__2)._kind_6.sons->data[((NI) 0)], c, s, ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0)));
5251 							}
5252 							LA180_: ;
5253 							T182_ = (NI)0;
5254 							T182_ = len__ast_3198(branchX60gensym501__2);
5255 							{
5256 								NIM_BOOL T185_;
5257 								NI T186_;
5258 								tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T190_;
5259 								T185_ = (NIM_BOOL)0;
5260 								T186_ = (NI)0;
5261 								T186_ = len__ast_3198(itX60gensym501__2);
5262 								T185_ = isEmptyType__ast_4779((*(*itX60gensym501__2)._kind_6.sons->data[(NI)(T186_ - ((NI) 1))]).typ);
5263 								if (T185_) goto LA187_;
5264 								T185_ = NIM_TRUE;
5265 								LA187_: ;
5266 								if (!T185_) goto LA188_;
5267 								T190_ = NIM_NIL;
5268 								{
5269 									NI T193_;
5270 									NIM_BOOL T194_;
5271 									NI T197_;
5272 									T193_ = (NI)0;
5273 									T193_ = len__ast_3198(itX60gensym501__2);
5274 									T194_ = (NIM_BOOL)0;
5275 									T194_ = isEmptyType__ast_4779((*(*itX60gensym501__2)._kind_6.sons->data[(NI)(T193_ - ((NI) 1))]).typ);
5276 									if (!T194_) goto LA195_;
5277 									T197_ = (NI)0;
5278 									T197_ = len__ast_3198(itX60gensym501__2);
5279 									T190_ = p__injectdestructors_105((*itX60gensym501__2)._kind_6.sons->data[(NI)(T197_ - ((NI) 1))], c, (&branchScopeX60gensym501_), ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
5280 								}
5281 								goto LA191_;
5282 								LA195_: ;
5283 								{
5284 									NI T199_;
5285 									T199_ = (NI)0;
5286 									T199_ = len__ast_3198(itX60gensym501__2);
5287 									T190_ = moveOrCopy__injectdestructors_110(dest, (*itX60gensym501__2)._kind_6.sons->data[(NI)(T199_ - ((NI) 1))], c, (&branchScopeX60gensym501_), isDecl);
5288 								}
5289 								LA191_: ;
5290 								asgnRef((void**) (&(*branchX60gensym501__2)._kind_6.sons->data[(NI)(T182_ - ((NI) 1))]), processScope__injectdestructors_7016(c, (&branchScopeX60gensym501_), T190_));
5291 							}
5292 							goto LA183_;
5293 							LA188_: ;
5294 							{
5295 								tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* resultX60gensym590_;
5296 								NI T201_;
5297 								tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* tmpX60gensym590_;
5298 								NI T202_;
5299 								NI T203_;
5300 								tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* cpyX60gensym590_;
5301 								tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* finSectionX60gensym590_;
5302 								NI T230_;
5303 								T201_ = (NI)0;
5304 								T201_ = len__ast_3198(itX60gensym501__2);
5305 								resultX60gensym590_ = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126), (*(*itX60gensym501__2)._kind_6.sons->data[(NI)(T201_ - ((NI) 1))]).info);
5306 								T202_ = (NI)0;
5307 								T202_ = len__ast_3198(itX60gensym501__2);
5308 								T203_ = (NI)0;
5309 								T203_ = len__ast_3198(itX60gensym501__2);
5310 								tmpX60gensym590_ = getTemp__injectdestructors_61(c, branchScopeX60gensym501_.parent, (*(*itX60gensym501__2)._kind_6.sons->data[(NI)(T202_ - ((NI) 1))]).typ, (*(*itX60gensym501__2)._kind_6.sons->data[(NI)(T203_ - ((NI) 1))]).info);
5311 								(*(*tmpX60gensym590_)._kind_4.sym).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 45)) & 63);
5312 								{
5313 									NI T206_;
5314 									NIM_BOOL T207_;
5315 									tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T210_;
5316 									NI T211_;
5317 									NI T212_;
5318 									T206_ = (NI)0;
5319 									T206_ = len__ast_3198(itX60gensym501__2);
5320 									T207_ = (NIM_BOOL)0;
5321 									T207_ = hasDestructor__injectdestructors_49((&(*c)), (*(*itX60gensym501__2)._kind_6.sons->data[(NI)(T206_ - ((NI) 1))]).typ);
5322 									if (!T207_) goto LA208_;
5323 									T210_ = NIM_NIL;
5324 									T210_ = genDestroy__injectdestructors_6527(c, tmpX60gensym590_);
5325 									unsureAsgnRef((void**) (&(*branchScopeX60gensym501_.parent).final), (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) incrSeqV3((TGenericSeq*)((*branchScopeX60gensym501_.parent).final), (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_)));
5326 									T211_ = (*branchScopeX60gensym501_.parent).final->Sup.len++;
5327 									asgnRef((void**) (&(*branchScopeX60gensym501_.parent).final->data[T211_]), T210_);
5328 									T212_ = (NI)0;
5329 									T212_ = len__ast_3198(itX60gensym501__2);
5330 									cpyX60gensym590_ = moveOrCopy__injectdestructors_110(tmpX60gensym590_, (*itX60gensym501__2)._kind_6.sons->data[(NI)(T212_ - ((NI) 1))], c, (&branchScopeX60gensym501_), NIM_TRUE);
5331 								}
5332 								goto LA204_;
5333 								LA208_: ;
5334 								{
5335 									tyArray__AB6yfoUgfWM2NtGe9bzkCmw T214_;
5336 									NI T215_;
5337 									nimZeroMem((void*)T214_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
5338 									T214_[0] = tmpX60gensym590_;
5339 									T215_ = (NI)0;
5340 									T215_ = len__ast_3198(itX60gensym501__2);
5341 									T214_[1] = p__injectdestructors_105((*itX60gensym501__2)._kind_6.sons->data[(NI)(T215_ - ((NI) 1))], c, (&branchScopeX60gensym501_), ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
5342 									cpyX60gensym590_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 74), T214_, 2);
5343 								}
5344 								LA204_: ;
5345 								{
5346 									NI T218_;
5347 									tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* varSectionX60gensym590_;
5348 									NI T221_;
5349 									T218_ = (branchScopeX60gensym501_.vars ? branchScopeX60gensym501_.vars->Sup.len : 0);
5350 									if (!(((NI) 0) < T218_)) goto LA219_;
5351 									T221_ = (NI)0;
5352 									T221_ = len__ast_3198(itX60gensym501__2);
5353 									varSectionX60gensym590_ = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 99), (*(*itX60gensym501__2)._kind_6.sons->data[(NI)(T221_ - ((NI) 1))]).info);
5354 									{
5355 										tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ** tmpX60gensym590__2;
5356 										NI i_10;
5357 										NI L_5;
5358 										NI T223_;
5359 										tmpX60gensym590__2 = (tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ**)0;
5360 										i_10 = ((NI) 0);
5361 										T223_ = (branchScopeX60gensym501_.vars ? branchScopeX60gensym501_.vars->Sup.len : 0);
5362 										L_5 = T223_;
5363 										{
5364 											while (1) {
5365 												tyArray__T6RKPw8xfAeNaoei9aZGzXg T226_;
5366 												NI T227_;
5367 												NI T228_;
5368 												tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T229_;
5369 												if (!(i_10 < L_5)) goto LA225;
5370 												tmpX60gensym590__2 = &branchScopeX60gensym501_.vars->data[i_10];
5371 												nimZeroMem((void*)T226_, sizeof(tyArray__T6RKPw8xfAeNaoei9aZGzXg));
5372 												T226_[0] = newSymNode__ast_3716((*tmpX60gensym590__2));
5373 												T227_ = (NI)0;
5374 												T227_ = len__ast_3198(itX60gensym501__2);
5375 												T226_[1] = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1), (*(*itX60gensym501__2)._kind_6.sons->data[(NI)(T227_ - ((NI) 1))]).info);
5376 												T228_ = (NI)0;
5377 												T228_ = len__ast_3198(itX60gensym501__2);
5378 												T226_[2] = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1), (*(*itX60gensym501__2)._kind_6.sons->data[(NI)(T228_ - ((NI) 1))]).info);
5379 												T229_ = NIM_NIL;
5380 												T229_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 35), T226_, 3);
5381 												add__ast_4797(varSectionX60gensym590_, T229_);
5382 												i_10 += ((NI) 1);
5383 											} LA225: ;
5384 										}
5385 									}
5386 									add__ast_4797(resultX60gensym590_, varSectionX60gensym590_);
5387 								}
5388 								LA219_: ;
5389 								T230_ = (NI)0;
5390 								T230_ = len__ast_3198(itX60gensym501__2);
5391 								finSectionX60gensym590_ = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), (*(*itX60gensym501__2)._kind_6.sons->data[(NI)(T230_ - ((NI) 1))]).info);
5392 								{
5393 									tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** mX60gensym590_;
5394 									NI i_11;
5395 									NI L_6;
5396 									NI T232_;
5397 									mX60gensym590_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw**)0;
5398 									i_11 = ((NI) 0);
5399 									T232_ = (branchScopeX60gensym501_.wasMoved ? branchScopeX60gensym501_.wasMoved->Sup.len : 0);
5400 									L_6 = T232_;
5401 									{
5402 										while (1) {
5403 											if (!(i_11 < L_6)) goto LA234;
5404 											mX60gensym590_ = &branchScopeX60gensym501_.wasMoved->data[i_11];
5405 											add__ast_4797(finSectionX60gensym590_, (*mX60gensym590_));
5406 											i_11 += ((NI) 1);
5407 										} LA234: ;
5408 									}
5409 								}
5410 								{
5411 									NI iX60gensym590_;
5412 									NI colontmp__8;
5413 									NI T236_;
5414 									NI res_3;
5415 									iX60gensym590_ = (NI)0;
5416 									colontmp__8 = (NI)0;
5417 									T236_ = ((branchScopeX60gensym501_.final ? branchScopeX60gensym501_.final->Sup.len : 0)-1);
5418 									colontmp__8 = T236_;
5419 									res_3 = colontmp__8;
5420 									{
5421 										while (1) {
5422 											if (!(((NI) 0) <= res_3)) goto LA238;
5423 											iX60gensym590_ = res_3;
5424 											add__ast_4797(finSectionX60gensym590_, branchScopeX60gensym501_.final->data[iX60gensym590_]);
5425 											res_3 -= ((NI) 1);
5426 										} LA238: ;
5427 									}
5428 								}
5429 								{
5430 									tyArray__AB6yfoUgfWM2NtGe9bzkCmw T243_;
5431 									tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T244_;
5432 									tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T245_;
5433 									if (!branchScopeX60gensym501_.needsTry) goto LA241_;
5434 									nimZeroMem((void*)T243_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
5435 									T243_[0] = cpyX60gensym590_;
5436 									T243_[1] = moveOrCopy__injectdestructors_110(dest, tmpX60gensym590_, c, branchScopeX60gensym501_.parent, isDecl);
5437 									T244_ = NIM_NIL;
5438 									T244_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126), T243_, 2);
5439 									T245_ = NIM_NIL;
5440 									T245_ = newTryFinally__lowerings_202(T244_, finSectionX60gensym590_);
5441 									add__ast_4797(resultX60gensym590_, T245_);
5442 								}
5443 								goto LA239_;
5444 								LA241_: ;
5445 								{
5446 									tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T247_;
5447 									add__ast_4797(resultX60gensym590_, cpyX60gensym590_);
5448 									add__ast_4797(resultX60gensym590_, finSectionX60gensym590_);
5449 									T247_ = NIM_NIL;
5450 									T247_ = moveOrCopy__injectdestructors_110(dest, tmpX60gensym590_, c, branchScopeX60gensym501_.parent, isDecl);
5451 									add__ast_4797(resultX60gensym590_, T247_);
5452 								}
5453 								LA239_: ;
5454 								{
5455 									NIM_BOOL T252_;
5456 									if (!!((branchScopeX60gensym501_.parent == ((tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ*) NIM_NIL)))) goto LA250_;
5457 									T252_ = (NIM_BOOL)0;
5458 									T252_ = (*branchScopeX60gensym501_.parent).needsTry;
5459 									if (T252_) goto LA253_;
5460 									T252_ = branchScopeX60gensym501_.needsTry;
5461 									LA253_: ;
5462 									(*branchScopeX60gensym501_.parent).needsTry = T252_;
5463 								}
5464 								LA250_: ;
5465 								asgnRef((void**) (&(*branchX60gensym501__2)._kind_6.sons->data[(NI)(T182_ - ((NI) 1))]), resultX60gensym590_);
5466 							}
5467 							LA183_: ;
5468 							add__ast_4797(result, branchX60gensym501__2);
5469 							i_9 += ((NI) 1);
5470 						} LA177: ;
5471 					}
5472 				}
5473 			}
5474 			break;
5475 			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 106):
5476 			{
5477 				tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ tryScopeX60gensym501_;
5478 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T255_;
5479 				result = copyNode__ast_4336(ri);
5480 				nimZeroMem((void*)(&tryScopeX60gensym501_), sizeof(tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ));
5481 				nestedScope__injectdestructors_72(s, (&tryScopeX60gensym501_));
5482 				T255_ = NIM_NIL;
5483 				{
5484 					NIM_BOOL T258_;
5485 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T262_;
5486 					T258_ = (NIM_BOOL)0;
5487 					T258_ = isEmptyType__ast_4779((*(*ri)._kind_6.sons->data[((NI) 0)]).typ);
5488 					if (T258_) goto LA259_;
5489 					T258_ = NIM_TRUE;
5490 					LA259_: ;
5491 					if (!T258_) goto LA260_;
5492 					T262_ = NIM_NIL;
5493 					{
5494 						NIM_BOOL T265_;
5495 						T265_ = (NIM_BOOL)0;
5496 						T265_ = isEmptyType__ast_4779((*(*ri)._kind_6.sons->data[((NI) 0)]).typ);
5497 						if (!T265_) goto LA266_;
5498 						T262_ = p__injectdestructors_105((*ri)._kind_6.sons->data[((NI) 0)], c, (&tryScopeX60gensym501_), ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
5499 					}
5500 					goto LA263_;
5501 					LA266_: ;
5502 					{
5503 						T262_ = moveOrCopy__injectdestructors_110(dest, (*ri)._kind_6.sons->data[((NI) 0)], c, (&tryScopeX60gensym501_), isDecl);
5504 					}
5505 					LA263_: ;
5506 					T255_ = processScope__injectdestructors_7016(c, (&tryScopeX60gensym501_), T262_);
5507 				}
5508 				goto LA256_;
5509 				LA260_: ;
5510 				{
5511 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* resultX60gensym606_;
5512 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* tmpX60gensym606_;
5513 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* cpyX60gensym606_;
5514 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* finSectionX60gensym606_;
5515 					resultX60gensym606_ = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126), (*(*ri)._kind_6.sons->data[((NI) 0)]).info);
5516 					tmpX60gensym606_ = getTemp__injectdestructors_61(c, tryScopeX60gensym501_.parent, (*(*ri)._kind_6.sons->data[((NI) 0)]).typ, (*(*ri)._kind_6.sons->data[((NI) 0)]).info);
5517 					(*(*tmpX60gensym606_)._kind_4.sym).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 45)) & 63);
5518 					{
5519 						NIM_BOOL T272_;
5520 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T275_;
5521 						NI T276_;
5522 						T272_ = (NIM_BOOL)0;
5523 						T272_ = hasDestructor__injectdestructors_49((&(*c)), (*(*ri)._kind_6.sons->data[((NI) 0)]).typ);
5524 						if (!T272_) goto LA273_;
5525 						T275_ = NIM_NIL;
5526 						T275_ = genDestroy__injectdestructors_6527(c, tmpX60gensym606_);
5527 						unsureAsgnRef((void**) (&(*tryScopeX60gensym501_.parent).final), (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) incrSeqV3((TGenericSeq*)((*tryScopeX60gensym501_.parent).final), (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_)));
5528 						T276_ = (*tryScopeX60gensym501_.parent).final->Sup.len++;
5529 						asgnRef((void**) (&(*tryScopeX60gensym501_.parent).final->data[T276_]), T275_);
5530 						cpyX60gensym606_ = moveOrCopy__injectdestructors_110(tmpX60gensym606_, (*ri)._kind_6.sons->data[((NI) 0)], c, (&tryScopeX60gensym501_), NIM_TRUE);
5531 					}
5532 					goto LA270_;
5533 					LA273_: ;
5534 					{
5535 						tyArray__AB6yfoUgfWM2NtGe9bzkCmw T278_;
5536 						nimZeroMem((void*)T278_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
5537 						T278_[0] = tmpX60gensym606_;
5538 						T278_[1] = p__injectdestructors_105((*ri)._kind_6.sons->data[((NI) 0)], c, (&tryScopeX60gensym501_), ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
5539 						cpyX60gensym606_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 74), T278_, 2);
5540 					}
5541 					LA270_: ;
5542 					{
5543 						NI T281_;
5544 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* varSectionX60gensym606_;
5545 						T281_ = (tryScopeX60gensym501_.vars ? tryScopeX60gensym501_.vars->Sup.len : 0);
5546 						if (!(((NI) 0) < T281_)) goto LA282_;
5547 						varSectionX60gensym606_ = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 99), (*(*ri)._kind_6.sons->data[((NI) 0)]).info);
5548 						{
5549 							tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ** tmpX60gensym606__2;
5550 							NI i_12;
5551 							NI L_7;
5552 							NI T285_;
5553 							tmpX60gensym606__2 = (tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ**)0;
5554 							i_12 = ((NI) 0);
5555 							T285_ = (tryScopeX60gensym501_.vars ? tryScopeX60gensym501_.vars->Sup.len : 0);
5556 							L_7 = T285_;
5557 							{
5558 								while (1) {
5559 									tyArray__T6RKPw8xfAeNaoei9aZGzXg T288_;
5560 									tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T289_;
5561 									if (!(i_12 < L_7)) goto LA287;
5562 									tmpX60gensym606__2 = &tryScopeX60gensym501_.vars->data[i_12];
5563 									nimZeroMem((void*)T288_, sizeof(tyArray__T6RKPw8xfAeNaoei9aZGzXg));
5564 									T288_[0] = newSymNode__ast_3716((*tmpX60gensym606__2));
5565 									T288_[1] = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1), (*(*ri)._kind_6.sons->data[((NI) 0)]).info);
5566 									T288_[2] = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1), (*(*ri)._kind_6.sons->data[((NI) 0)]).info);
5567 									T289_ = NIM_NIL;
5568 									T289_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 35), T288_, 3);
5569 									add__ast_4797(varSectionX60gensym606_, T289_);
5570 									i_12 += ((NI) 1);
5571 								} LA287: ;
5572 							}
5573 						}
5574 						add__ast_4797(resultX60gensym606_, varSectionX60gensym606_);
5575 					}
5576 					LA282_: ;
5577 					finSectionX60gensym606_ = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), (*(*ri)._kind_6.sons->data[((NI) 0)]).info);
5578 					{
5579 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** mX60gensym606_;
5580 						NI i_13;
5581 						NI L_8;
5582 						NI T291_;
5583 						mX60gensym606_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw**)0;
5584 						i_13 = ((NI) 0);
5585 						T291_ = (tryScopeX60gensym501_.wasMoved ? tryScopeX60gensym501_.wasMoved->Sup.len : 0);
5586 						L_8 = T291_;
5587 						{
5588 							while (1) {
5589 								if (!(i_13 < L_8)) goto LA293;
5590 								mX60gensym606_ = &tryScopeX60gensym501_.wasMoved->data[i_13];
5591 								add__ast_4797(finSectionX60gensym606_, (*mX60gensym606_));
5592 								i_13 += ((NI) 1);
5593 							} LA293: ;
5594 						}
5595 					}
5596 					{
5597 						NI iX60gensym606_;
5598 						NI colontmp__9;
5599 						NI T295_;
5600 						NI res_4;
5601 						iX60gensym606_ = (NI)0;
5602 						colontmp__9 = (NI)0;
5603 						T295_ = ((tryScopeX60gensym501_.final ? tryScopeX60gensym501_.final->Sup.len : 0)-1);
5604 						colontmp__9 = T295_;
5605 						res_4 = colontmp__9;
5606 						{
5607 							while (1) {
5608 								if (!(((NI) 0) <= res_4)) goto LA297;
5609 								iX60gensym606_ = res_4;
5610 								add__ast_4797(finSectionX60gensym606_, tryScopeX60gensym501_.final->data[iX60gensym606_]);
5611 								res_4 -= ((NI) 1);
5612 							} LA297: ;
5613 						}
5614 					}
5615 					{
5616 						tyArray__AB6yfoUgfWM2NtGe9bzkCmw T302_;
5617 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T309_;
5618 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T310_;
5619 						if (!tryScopeX60gensym501_.needsTry) goto LA300_;
5620 						nimZeroMem((void*)T302_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
5621 						T302_[0] = cpyX60gensym606_;
5622 						{
5623 							NIM_BOOL T305_;
5624 							T305_ = (NIM_BOOL)0;
5625 							T305_ = isEmptyType__ast_4779((*tmpX60gensym606_).typ);
5626 							if (!T305_) goto LA306_;
5627 							T302_[1] = p__injectdestructors_105(tmpX60gensym606_, c, tryScopeX60gensym501_.parent, ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
5628 						}
5629 						goto LA303_;
5630 						LA306_: ;
5631 						{
5632 							T302_[1] = moveOrCopy__injectdestructors_110(dest, tmpX60gensym606_, c, tryScopeX60gensym501_.parent, isDecl);
5633 						}
5634 						LA303_: ;
5635 						T309_ = NIM_NIL;
5636 						T309_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126), T302_, 2);
5637 						T310_ = NIM_NIL;
5638 						T310_ = newTryFinally__lowerings_202(T309_, finSectionX60gensym606_);
5639 						add__ast_4797(resultX60gensym606_, T310_);
5640 					}
5641 					goto LA298_;
5642 					LA300_: ;
5643 					{
5644 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T312_;
5645 						add__ast_4797(resultX60gensym606_, cpyX60gensym606_);
5646 						add__ast_4797(resultX60gensym606_, finSectionX60gensym606_);
5647 						T312_ = NIM_NIL;
5648 						{
5649 							NIM_BOOL T315_;
5650 							T315_ = (NIM_BOOL)0;
5651 							T315_ = isEmptyType__ast_4779((*tmpX60gensym606_).typ);
5652 							if (!T315_) goto LA316_;
5653 							T312_ = p__injectdestructors_105(tmpX60gensym606_, c, tryScopeX60gensym501_.parent, ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
5654 						}
5655 						goto LA313_;
5656 						LA316_: ;
5657 						{
5658 							T312_ = moveOrCopy__injectdestructors_110(dest, tmpX60gensym606_, c, tryScopeX60gensym501_.parent, isDecl);
5659 						}
5660 						LA313_: ;
5661 						add__ast_4797(resultX60gensym606_, T312_);
5662 					}
5663 					LA298_: ;
5664 					{
5665 						NIM_BOOL T323_;
5666 						if (!!((tryScopeX60gensym501_.parent == ((tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ*) NIM_NIL)))) goto LA321_;
5667 						T323_ = (NIM_BOOL)0;
5668 						T323_ = (*tryScopeX60gensym501_.parent).needsTry;
5669 						if (T323_) goto LA324_;
5670 						T323_ = tryScopeX60gensym501_.needsTry;
5671 						LA324_: ;
5672 						(*tryScopeX60gensym501_.parent).needsTry = T323_;
5673 					}
5674 					LA321_: ;
5675 					T255_ = resultX60gensym606_;
5676 				}
5677 				LA256_: ;
5678 				add__ast_4797(result, T255_);
5679 				{
5680 					NI iX60gensym501__5;
5681 					NI colontmp__10;
5682 					NI i_14;
5683 					iX60gensym501__5 = (NI)0;
5684 					colontmp__10 = (NI)0;
5685 					colontmp__10 = len__ast_3198(ri);
5686 					i_14 = ((NI) 1);
5687 					{
5688 						while (1) {
5689 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* itX60gensym501__3;
5690 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* branchX60gensym501__3;
5691 							tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ branchScopeX60gensym501__2;
5692 							NI T328_;
5693 							if (!(i_14 < colontmp__10)) goto LA327;
5694 							iX60gensym501__5 = i_14;
5695 							itX60gensym501__3 = (*ri)._kind_6.sons->data[iX60gensym501__5];
5696 							branchX60gensym501__3 = copyTree__ast_4431(itX60gensym501__3);
5697 							nimZeroMem((void*)(&branchScopeX60gensym501__2), sizeof(tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ));
5698 							nestedScope__injectdestructors_72(s, (&branchScopeX60gensym501__2));
5699 							T328_ = (NI)0;
5700 							T328_ = len__ast_3198(branchX60gensym501__3);
5701 							{
5702 								NIM_BOOL T331_;
5703 								NIM_BOOL T332_;
5704 								NI T333_;
5705 								tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T338_;
5706 								T331_ = (NIM_BOOL)0;
5707 								T332_ = (NIM_BOOL)0;
5708 								T333_ = (NI)0;
5709 								T333_ = len__ast_3198(itX60gensym501__3);
5710 								T332_ = isEmptyType__ast_4779((*(*itX60gensym501__3)._kind_6.sons->data[(NI)(T333_ - ((NI) 1))]).typ);
5711 								if (T332_) goto LA334_;
5712 								T332_ = NIM_TRUE;
5713 								LA334_: ;
5714 								T331_ = T332_;
5715 								if (T331_) goto LA335_;
5716 								T331_ = ((*itX60gensym501__3).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 107));
5717 								LA335_: ;
5718 								if (!T331_) goto LA336_;
5719 								T338_ = NIM_NIL;
5720 								{
5721 									NI T343_;
5722 									if (!((*itX60gensym501__3).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 107))) goto LA341_;
5723 									T343_ = (NI)0;
5724 									T343_ = len__ast_3198(itX60gensym501__3);
5725 									T338_ = p__injectdestructors_105((*itX60gensym501__3)._kind_6.sons->data[(NI)(T343_ - ((NI) 1))], c, (&branchScopeX60gensym501__2), ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
5726 								}
5727 								goto LA339_;
5728 								LA341_: ;
5729 								{
5730 									{
5731 										NI T347_;
5732 										NIM_BOOL T348_;
5733 										NI T351_;
5734 										T347_ = (NI)0;
5735 										T347_ = len__ast_3198(itX60gensym501__3);
5736 										T348_ = (NIM_BOOL)0;
5737 										T348_ = isEmptyType__ast_4779((*(*itX60gensym501__3)._kind_6.sons->data[(NI)(T347_ - ((NI) 1))]).typ);
5738 										if (!T348_) goto LA349_;
5739 										T351_ = (NI)0;
5740 										T351_ = len__ast_3198(itX60gensym501__3);
5741 										T338_ = p__injectdestructors_105((*itX60gensym501__3)._kind_6.sons->data[(NI)(T351_ - ((NI) 1))], c, (&branchScopeX60gensym501__2), ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
5742 									}
5743 									goto LA345_;
5744 									LA349_: ;
5745 									{
5746 										NI T353_;
5747 										T353_ = (NI)0;
5748 										T353_ = len__ast_3198(itX60gensym501__3);
5749 										T338_ = moveOrCopy__injectdestructors_110(dest, (*itX60gensym501__3)._kind_6.sons->data[(NI)(T353_ - ((NI) 1))], c, (&branchScopeX60gensym501__2), isDecl);
5750 									}
5751 									LA345_: ;
5752 								}
5753 								LA339_: ;
5754 								asgnRef((void**) (&(*branchX60gensym501__3)._kind_6.sons->data[(NI)(T328_ - ((NI) 1))]), processScope__injectdestructors_7016(c, (&branchScopeX60gensym501__2), T338_));
5755 							}
5756 							goto LA329_;
5757 							LA336_: ;
5758 							{
5759 								tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* resultX60gensym637_;
5760 								NI T355_;
5761 								tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* tmpX60gensym637_;
5762 								NI T356_;
5763 								NI T357_;
5764 								tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* cpyX60gensym637_;
5765 								tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* finSectionX60gensym637_;
5766 								NI T384_;
5767 								T355_ = (NI)0;
5768 								T355_ = len__ast_3198(itX60gensym501__3);
5769 								resultX60gensym637_ = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126), (*(*itX60gensym501__3)._kind_6.sons->data[(NI)(T355_ - ((NI) 1))]).info);
5770 								T356_ = (NI)0;
5771 								T356_ = len__ast_3198(itX60gensym501__3);
5772 								T357_ = (NI)0;
5773 								T357_ = len__ast_3198(itX60gensym501__3);
5774 								tmpX60gensym637_ = getTemp__injectdestructors_61(c, branchScopeX60gensym501__2.parent, (*(*itX60gensym501__3)._kind_6.sons->data[(NI)(T356_ - ((NI) 1))]).typ, (*(*itX60gensym501__3)._kind_6.sons->data[(NI)(T357_ - ((NI) 1))]).info);
5775 								(*(*tmpX60gensym637_)._kind_4.sym).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 45)) & 63);
5776 								{
5777 									NI T360_;
5778 									NIM_BOOL T361_;
5779 									tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T364_;
5780 									NI T365_;
5781 									NI T366_;
5782 									T360_ = (NI)0;
5783 									T360_ = len__ast_3198(itX60gensym501__3);
5784 									T361_ = (NIM_BOOL)0;
5785 									T361_ = hasDestructor__injectdestructors_49((&(*c)), (*(*itX60gensym501__3)._kind_6.sons->data[(NI)(T360_ - ((NI) 1))]).typ);
5786 									if (!T361_) goto LA362_;
5787 									T364_ = NIM_NIL;
5788 									T364_ = genDestroy__injectdestructors_6527(c, tmpX60gensym637_);
5789 									unsureAsgnRef((void**) (&(*branchScopeX60gensym501__2.parent).final), (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) incrSeqV3((TGenericSeq*)((*branchScopeX60gensym501__2.parent).final), (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_)));
5790 									T365_ = (*branchScopeX60gensym501__2.parent).final->Sup.len++;
5791 									asgnRef((void**) (&(*branchScopeX60gensym501__2.parent).final->data[T365_]), T364_);
5792 									T366_ = (NI)0;
5793 									T366_ = len__ast_3198(itX60gensym501__3);
5794 									cpyX60gensym637_ = moveOrCopy__injectdestructors_110(tmpX60gensym637_, (*itX60gensym501__3)._kind_6.sons->data[(NI)(T366_ - ((NI) 1))], c, (&branchScopeX60gensym501__2), NIM_TRUE);
5795 								}
5796 								goto LA358_;
5797 								LA362_: ;
5798 								{
5799 									tyArray__AB6yfoUgfWM2NtGe9bzkCmw T368_;
5800 									NI T369_;
5801 									nimZeroMem((void*)T368_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
5802 									T368_[0] = tmpX60gensym637_;
5803 									T369_ = (NI)0;
5804 									T369_ = len__ast_3198(itX60gensym501__3);
5805 									T368_[1] = p__injectdestructors_105((*itX60gensym501__3)._kind_6.sons->data[(NI)(T369_ - ((NI) 1))], c, (&branchScopeX60gensym501__2), ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
5806 									cpyX60gensym637_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 74), T368_, 2);
5807 								}
5808 								LA358_: ;
5809 								{
5810 									NI T372_;
5811 									tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* varSectionX60gensym637_;
5812 									NI T375_;
5813 									T372_ = (branchScopeX60gensym501__2.vars ? branchScopeX60gensym501__2.vars->Sup.len : 0);
5814 									if (!(((NI) 0) < T372_)) goto LA373_;
5815 									T375_ = (NI)0;
5816 									T375_ = len__ast_3198(itX60gensym501__3);
5817 									varSectionX60gensym637_ = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 99), (*(*itX60gensym501__3)._kind_6.sons->data[(NI)(T375_ - ((NI) 1))]).info);
5818 									{
5819 										tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ** tmpX60gensym637__2;
5820 										NI i_15;
5821 										NI L_9;
5822 										NI T377_;
5823 										tmpX60gensym637__2 = (tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ**)0;
5824 										i_15 = ((NI) 0);
5825 										T377_ = (branchScopeX60gensym501__2.vars ? branchScopeX60gensym501__2.vars->Sup.len : 0);
5826 										L_9 = T377_;
5827 										{
5828 											while (1) {
5829 												tyArray__T6RKPw8xfAeNaoei9aZGzXg T380_;
5830 												NI T381_;
5831 												NI T382_;
5832 												tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T383_;
5833 												if (!(i_15 < L_9)) goto LA379;
5834 												tmpX60gensym637__2 = &branchScopeX60gensym501__2.vars->data[i_15];
5835 												nimZeroMem((void*)T380_, sizeof(tyArray__T6RKPw8xfAeNaoei9aZGzXg));
5836 												T380_[0] = newSymNode__ast_3716((*tmpX60gensym637__2));
5837 												T381_ = (NI)0;
5838 												T381_ = len__ast_3198(itX60gensym501__3);
5839 												T380_[1] = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1), (*(*itX60gensym501__3)._kind_6.sons->data[(NI)(T381_ - ((NI) 1))]).info);
5840 												T382_ = (NI)0;
5841 												T382_ = len__ast_3198(itX60gensym501__3);
5842 												T380_[2] = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1), (*(*itX60gensym501__3)._kind_6.sons->data[(NI)(T382_ - ((NI) 1))]).info);
5843 												T383_ = NIM_NIL;
5844 												T383_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 35), T380_, 3);
5845 												add__ast_4797(varSectionX60gensym637_, T383_);
5846 												i_15 += ((NI) 1);
5847 											} LA379: ;
5848 										}
5849 									}
5850 									add__ast_4797(resultX60gensym637_, varSectionX60gensym637_);
5851 								}
5852 								LA373_: ;
5853 								T384_ = (NI)0;
5854 								T384_ = len__ast_3198(itX60gensym501__3);
5855 								finSectionX60gensym637_ = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), (*(*itX60gensym501__3)._kind_6.sons->data[(NI)(T384_ - ((NI) 1))]).info);
5856 								{
5857 									tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** mX60gensym637_;
5858 									NI i_16;
5859 									NI L_10;
5860 									NI T386_;
5861 									mX60gensym637_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw**)0;
5862 									i_16 = ((NI) 0);
5863 									T386_ = (branchScopeX60gensym501__2.wasMoved ? branchScopeX60gensym501__2.wasMoved->Sup.len : 0);
5864 									L_10 = T386_;
5865 									{
5866 										while (1) {
5867 											if (!(i_16 < L_10)) goto LA388;
5868 											mX60gensym637_ = &branchScopeX60gensym501__2.wasMoved->data[i_16];
5869 											add__ast_4797(finSectionX60gensym637_, (*mX60gensym637_));
5870 											i_16 += ((NI) 1);
5871 										} LA388: ;
5872 									}
5873 								}
5874 								{
5875 									NI iX60gensym637_;
5876 									NI colontmp__11;
5877 									NI T390_;
5878 									NI res_5;
5879 									iX60gensym637_ = (NI)0;
5880 									colontmp__11 = (NI)0;
5881 									T390_ = ((branchScopeX60gensym501__2.final ? branchScopeX60gensym501__2.final->Sup.len : 0)-1);
5882 									colontmp__11 = T390_;
5883 									res_5 = colontmp__11;
5884 									{
5885 										while (1) {
5886 											if (!(((NI) 0) <= res_5)) goto LA392;
5887 											iX60gensym637_ = res_5;
5888 											add__ast_4797(finSectionX60gensym637_, branchScopeX60gensym501__2.final->data[iX60gensym637_]);
5889 											res_5 -= ((NI) 1);
5890 										} LA392: ;
5891 									}
5892 								}
5893 								{
5894 									tyArray__AB6yfoUgfWM2NtGe9bzkCmw T397_;
5895 									tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T398_;
5896 									tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T399_;
5897 									if (!branchScopeX60gensym501__2.needsTry) goto LA395_;
5898 									nimZeroMem((void*)T397_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
5899 									T397_[0] = cpyX60gensym637_;
5900 									T397_[1] = moveOrCopy__injectdestructors_110(dest, tmpX60gensym637_, c, branchScopeX60gensym501__2.parent, isDecl);
5901 									T398_ = NIM_NIL;
5902 									T398_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126), T397_, 2);
5903 									T399_ = NIM_NIL;
5904 									T399_ = newTryFinally__lowerings_202(T398_, finSectionX60gensym637_);
5905 									add__ast_4797(resultX60gensym637_, T399_);
5906 								}
5907 								goto LA393_;
5908 								LA395_: ;
5909 								{
5910 									tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T401_;
5911 									add__ast_4797(resultX60gensym637_, cpyX60gensym637_);
5912 									add__ast_4797(resultX60gensym637_, finSectionX60gensym637_);
5913 									T401_ = NIM_NIL;
5914 									T401_ = moveOrCopy__injectdestructors_110(dest, tmpX60gensym637_, c, branchScopeX60gensym501__2.parent, isDecl);
5915 									add__ast_4797(resultX60gensym637_, T401_);
5916 								}
5917 								LA393_: ;
5918 								{
5919 									NIM_BOOL T406_;
5920 									if (!!((branchScopeX60gensym501__2.parent == ((tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ*) NIM_NIL)))) goto LA404_;
5921 									T406_ = (NIM_BOOL)0;
5922 									T406_ = (*branchScopeX60gensym501__2.parent).needsTry;
5923 									if (T406_) goto LA407_;
5924 									T406_ = branchScopeX60gensym501__2.needsTry;
5925 									LA407_: ;
5926 									(*branchScopeX60gensym501__2.parent).needsTry = T406_;
5927 								}
5928 								LA404_: ;
5929 								asgnRef((void**) (&(*branchX60gensym501__3)._kind_6.sons->data[(NI)(T328_ - ((NI) 1))]), resultX60gensym637_);
5930 							}
5931 							LA329_: ;
5932 							add__ast_4797(result, branchX60gensym501__3);
5933 							i_14 += ((NI) 1);
5934 						} LA327: ;
5935 					}
5936 				}
5937 			}
5938 			break;
5939 			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 93):
5940 			{
5941 				result = copyTree__ast_4431(ri);
5942 				asgnRef((void**) (&(*(*result)._kind_6.sons->data[((NI) 1)])._kind_6.sons->data[((NI) 0)]), moveOrCopy__injectdestructors_110(dest, (*(*ri)._kind_6.sons->data[((NI) 1)])._kind_6.sons->data[((NI) 0)], c, s, isDecl));
5943 			}
5944 			break;
5945 			default:
5946 			{
5947 			}
5948 			break;
5949 			}
5950 		}
5951 		break;
5952 		default:
5953 		{
5954 			tyArray__AB6yfoUgfWM2NtGe9bzkCmw T411_;
5955 			nimZeroMem((void*)T411_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
5956 			T411_[0] = dest;
5957 			T411_[1] = p__injectdestructors_105(ri, c, s, ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
5958 			result = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 74), T411_, 2);
5959 		}
5960 		break;
5961 		}
5962 	}
5963 	goto LA1_;
5964 	LA8_: ;
5965 	{
5966 		switch ((*ri).kind) {
5967 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 26) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 32):
5968 		{
5969 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T414_;
5970 			T414_ = NIM_NIL;
5971 			T414_ = p__injectdestructors_105(ri, c, s, ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 1));
5972 			result = genSink__injectdestructors_6564(c, dest, T414_, isDecl);
5973 		}
5974 		break;
5975 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 42):
5976 		{
5977 			{
5978 				NIM_BOOL T418_;
5979 				NIM_BOOL T419_;
5980 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T424_;
5981 				T418_ = (NIM_BOOL)0;
5982 				T419_ = (NIM_BOOL)0;
5983 				T419_ = ((*(*ri)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
5984 				if (!(T419_)) goto LA420_;
5985 				T419_ = ((*(*(*ri)._kind_6.sons->data[((NI) 0)])._kind_4.sym).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 5));
5986 				LA420_: ;
5987 				T418_ = T419_;
5988 				if (!(T418_)) goto LA421_;
5989 				T418_ = ((*(*(*(*ri)._kind_6.sons->data[((NI) 0)])._kind_4.sym).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18));
5990 				LA421_: ;
5991 				if (!T418_) goto LA422_;
5992 				T424_ = NIM_NIL;
5993 				T424_ = p__injectdestructors_105(ri, c, s, ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 1));
5994 				result = genSink__injectdestructors_6564(c, dest, T424_, isDecl);
5995 			}
5996 			goto LA416_;
5997 			LA422_: ;
5998 			{
5999 				NIM_BOOL T426_;
6000 				T426_ = (NIM_BOOL)0;
6001 				T426_ = isAnalysableFieldAccess__dfa_903(ri, (*c).owner);
6002 				if (!(T426_)) goto LA427_;
6003 				T426_ = isLastRead__injectdestructors_6103(ri, c);
6004 				LA427_: ;
6005 				if (!T426_) goto LA428_;
6006 				{
6007 					tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg T432_;
6008 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* snk;
6009 					tyArray__AB6yfoUgfWM2NtGe9bzkCmw T435_;
6010 					T432_ = (tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg)0;
6011 					T432_ = aliases__dfa_792(dest, ri);
6012 					if (!(T432_ == ((tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg) 1))) goto LA433_;
6013 					snk = genSink__injectdestructors_6564(c, dest, ri, isDecl);
6014 					nimZeroMem((void*)T435_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
6015 					T435_[0] = snk;
6016 					T435_[1] = genWasMoved__injectdestructors_6739(c, ri);
6017 					result = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), T435_, 2);
6018 				}
6019 				goto LA430_;
6020 				LA433_: ;
6021 				{
6022 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T437_;
6023 					T437_ = NIM_NIL;
6024 					T437_ = destructiveMoveVar__injectdestructors_6760(ri, c, s);
6025 					result = genSink__injectdestructors_6564(c, dest, T437_, isDecl);
6026 				}
6027 				LA430_: ;
6028 			}
6029 			goto LA416_;
6030 			LA428_: ;
6031 			{
6032 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T439_;
6033 				result = genCopy__injectdestructors_6647(c, dest, ri);
6034 				T439_ = NIM_NIL;
6035 				T439_ = p__injectdestructors_105(ri, c, s, ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 1));
6036 				add__ast_4797(result, T439_);
6037 				finishCopy__injectdestructors_6598(c, result, dest, NIM_FALSE);
6038 			}
6039 			LA416_: ;
6040 		}
6041 		break;
6042 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 41):
6043 		{
6044 			{
6045 				NIM_BOOL T443_;
6046 				NI T444_;
6047 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T448_;
6048 				T443_ = (NIM_BOOL)0;
6049 				T444_ = (NI)0;
6050 				T444_ = len__ast_3198(ri);
6051 				T443_ = (((NI) 0) < T444_);
6052 				if (!(T443_)) goto LA445_;
6053 				T443_ = isDangerousSeq__injectdestructors_6847((*ri).typ);
6054 				LA445_: ;
6055 				if (!T443_) goto LA446_;
6056 				result = genCopy__injectdestructors_6647(c, dest, ri);
6057 				T448_ = NIM_NIL;
6058 				T448_ = p__injectdestructors_105(ri, c, s, ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 1));
6059 				add__ast_4797(result, T448_);
6060 				finishCopy__injectdestructors_6598(c, result, dest, NIM_FALSE);
6061 			}
6062 			goto LA441_;
6063 			LA446_: ;
6064 			{
6065 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T450_;
6066 				T450_ = NIM_NIL;
6067 				T450_ = p__injectdestructors_105(ri, c, s, ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 1));
6068 				result = genSink__injectdestructors_6564(c, dest, T450_, isDecl);
6069 			}
6070 			LA441_: ;
6071 		}
6072 		break;
6073 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 38):
6074 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 160):
6075 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 155):
6076 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 5) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23):
6077 		{
6078 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T452_;
6079 			T452_ = NIM_NIL;
6080 			T452_ = p__injectdestructors_105(ri, c, s, ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 1));
6081 			result = genSink__injectdestructors_6564(c, dest, T452_, isDecl);
6082 		}
6083 		break;
6084 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
6085 		{
6086 			{
6087 				NIM_BOOL T456_;
6088 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* snk_2;
6089 				tyArray__AB6yfoUgfWM2NtGe9bzkCmw T460_;
6090 				T456_ = (NIM_BOOL)0;
6091 				T456_ = isSinkParam__ast_5030((*ri)._kind_4.sym);
6092 				if (!(T456_)) goto LA457_;
6093 				T456_ = isLastRead__injectdestructors_6103(ri, c);
6094 				LA457_: ;
6095 				if (!T456_) goto LA458_;
6096 				snk_2 = genSink__injectdestructors_6564(c, dest, ri, isDecl);
6097 				nimZeroMem((void*)T460_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
6098 				T460_[0] = snk_2;
6099 				T460_[1] = genWasMoved__injectdestructors_6739(c, ri);
6100 				result = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), T460_, 2);
6101 			}
6102 			goto LA454_;
6103 			LA458_: ;
6104 			{
6105 				NIM_BOOL T462_;
6106 				NIM_BOOL T463_;
6107 				NIM_BOOL T464_;
6108 				NIM_BOOL T465_;
6109 				NIM_BOOL T470_;
6110 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* snk_3;
6111 				tyArray__AB6yfoUgfWM2NtGe9bzkCmw T473_;
6112 				T462_ = (NIM_BOOL)0;
6113 				T463_ = (NIM_BOOL)0;
6114 				T464_ = (NIM_BOOL)0;
6115 				T465_ = (NIM_BOOL)0;
6116 				T465_ = !(((*(*ri)._kind_4.sym).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3)));
6117 				if (!(T465_)) goto LA466_;
6118 				T465_ = ((*(*ri)._kind_4.sym).owner == (*c).owner);
6119 				LA466_: ;
6120 				T464_ = T465_;
6121 				if (!(T464_)) goto LA467_;
6122 				T464_ = isLastRead__injectdestructors_6103(ri, c);
6123 				LA467_: ;
6124 				T463_ = T464_;
6125 				if (!(T463_)) goto LA468_;
6126 				T463_ = canBeMoved__injectdestructors_6532((&(*c)), (*dest).typ);
6127 				LA468_: ;
6128 				T462_ = T463_;
6129 				if (!(T462_)) goto LA469_;
6130 				T470_ = (NIM_BOOL)0;
6131 				T470_ = isCursor__injectdestructors_6369(ri);
6132 				T462_ = !(T470_);
6133 				LA469_: ;
6134 				if (!T462_) goto LA471_;
6135 				snk_3 = genSink__injectdestructors_6564(c, dest, ri, isDecl);
6136 				nimZeroMem((void*)T473_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
6137 				T473_[0] = snk_3;
6138 				T473_[1] = genWasMoved__injectdestructors_6739(c, ri);
6139 				result = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), T473_, 2);
6140 			}
6141 			goto LA454_;
6142 			LA471_: ;
6143 			{
6144 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T475_;
6145 				result = genCopy__injectdestructors_6647(c, dest, ri);
6146 				T475_ = NIM_NIL;
6147 				T475_ = p__injectdestructors_105(ri, c, s, ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 1));
6148 				add__ast_4797(result, T475_);
6149 				finishCopy__injectdestructors_6598(c, result, dest, NIM_FALSE);
6150 			}
6151 			LA454_: ;
6152 		}
6153 		break;
6154 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 59):
6155 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 58):
6156 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 60):
6157 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 66):
6158 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 67):
6159 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 61):
6160 		{
6161 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T477_;
6162 			T477_ = NIM_NIL;
6163 			T477_ = p__injectdestructors_105(ri, c, s, ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 2));
6164 			result = genSink__injectdestructors_6564(c, dest, T477_, isDecl);
6165 		}
6166 		break;
6167 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126):
6168 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 127):
6169 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 48):
6170 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 97):
6171 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 106):
6172 		{
6173 			switch ((*ri).kind) {
6174 			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115):
6175 			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126):
6176 			{
6177 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T490_;
6178 				{
6179 					NI T482_;
6180 					T482_ = (NI)0;
6181 					T482_ = len__ast_3198(ri);
6182 					if (!(T482_ == ((NI) 0))) goto LA483_;
6183 					result = ri;
6184 					goto BeforeRet_;
6185 				}
6186 				LA483_: ;
6187 				result = copyNode__ast_4336(ri);
6188 				{
6189 					NI iX60gensym657_;
6190 					NI colontmp__12;
6191 					NI T486_;
6192 					NI i_17;
6193 					iX60gensym657_ = (NI)0;
6194 					colontmp__12 = (NI)0;
6195 					T486_ = (NI)0;
6196 					T486_ = len__ast_3198(ri);
6197 					colontmp__12 = (NI)(T486_ - ((NI) 1));
6198 					i_17 = ((NI) 0);
6199 					{
6200 						while (1) {
6201 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T489_;
6202 							if (!(i_17 < colontmp__12)) goto LA488;
6203 							iX60gensym657_ = i_17;
6204 							T489_ = NIM_NIL;
6205 							T489_ = p__injectdestructors_105((*ri)._kind_6.sons->data[iX60gensym657_], c, s, ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
6206 							add__ast_4797(result, T489_);
6207 							i_17 += ((NI) 1);
6208 						} LA488: ;
6209 					}
6210 				}
6211 				T490_ = NIM_NIL;
6212 				{
6213 					NI T493_;
6214 					NIM_BOOL T494_;
6215 					NI T497_;
6216 					T493_ = (NI)0;
6217 					T493_ = len__ast_3198(ri);
6218 					T494_ = (NIM_BOOL)0;
6219 					T494_ = isEmptyType__ast_4779((*(*ri)._kind_6.sons->data[(NI)(T493_ - ((NI) 1))]).typ);
6220 					if (!T494_) goto LA495_;
6221 					T497_ = (NI)0;
6222 					T497_ = len__ast_3198(ri);
6223 					T490_ = p__injectdestructors_105((*ri)._kind_6.sons->data[(NI)(T497_ - ((NI) 1))], c, s, ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
6224 				}
6225 				goto LA491_;
6226 				LA495_: ;
6227 				{
6228 					NI T499_;
6229 					T499_ = (NI)0;
6230 					T499_ = len__ast_3198(ri);
6231 					T490_ = moveOrCopy__injectdestructors_110(dest, (*ri)._kind_6.sons->data[(NI)(T499_ - ((NI) 1))], c, s, isDecl);
6232 				}
6233 				LA491_: ;
6234 				add__ast_4797(result, T490_);
6235 			}
6236 			break;
6237 			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 97):
6238 			{
6239 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T501_;
6240 				result = copyNode__ast_4336(ri);
6241 				T501_ = NIM_NIL;
6242 				T501_ = p__injectdestructors_105((*ri)._kind_6.sons->data[((NI) 0)], c, s, ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
6243 				add__ast_4797(result, T501_);
6244 				{
6245 					NI iX60gensym657__2;
6246 					NI colontmp__13;
6247 					NI i_18;
6248 					iX60gensym657__2 = (NI)0;
6249 					colontmp__13 = (NI)0;
6250 					colontmp__13 = len__ast_3198(ri);
6251 					i_18 = ((NI) 1);
6252 					{
6253 						while (1) {
6254 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* itX60gensym657_;
6255 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* branchX60gensym657_;
6256 							tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ ofScopeX60gensym657_;
6257 							NI T509_;
6258 							if (!(i_18 < colontmp__13)) goto LA504;
6259 							iX60gensym657__2 = i_18;
6260 							itX60gensym657_ = (*ri)._kind_6.sons->data[iX60gensym657__2];
6261 							branchX60gensym657_ = shallowCopy__ast_4413(itX60gensym657_);
6262 							{
6263 								NI jX60gensym657_;
6264 								NI colontmp__14;
6265 								NI T506_;
6266 								NI i_19;
6267 								jX60gensym657_ = (NI)0;
6268 								colontmp__14 = (NI)0;
6269 								T506_ = (NI)0;
6270 								T506_ = len__ast_3198(itX60gensym657_);
6271 								colontmp__14 = (NI)(T506_ - ((NI) 1));
6272 								i_19 = ((NI) 0);
6273 								{
6274 									while (1) {
6275 										if (!(i_19 < colontmp__14)) goto LA508;
6276 										jX60gensym657_ = i_19;
6277 										asgnRef((void**) (&(*branchX60gensym657_)._kind_6.sons->data[jX60gensym657_]), copyTree__ast_4431((*itX60gensym657_)._kind_6.sons->data[jX60gensym657_]));
6278 										i_19 += ((NI) 1);
6279 									} LA508: ;
6280 								}
6281 							}
6282 							nimZeroMem((void*)(&ofScopeX60gensym657_), sizeof(tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ));
6283 							nestedScope__injectdestructors_72(s, (&ofScopeX60gensym657_));
6284 							T509_ = (NI)0;
6285 							T509_ = len__ast_3198(branchX60gensym657_);
6286 							{
6287 								NIM_BOOL T512_;
6288 								NI T513_;
6289 								tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T517_;
6290 								T512_ = (NIM_BOOL)0;
6291 								T513_ = (NI)0;
6292 								T513_ = len__ast_3198(itX60gensym657_);
6293 								T512_ = isEmptyType__ast_4779((*(*itX60gensym657_)._kind_6.sons->data[(NI)(T513_ - ((NI) 1))]).typ);
6294 								if (T512_) goto LA514_;
6295 								T512_ = NIM_TRUE;
6296 								LA514_: ;
6297 								if (!T512_) goto LA515_;
6298 								T517_ = NIM_NIL;
6299 								{
6300 									NI T520_;
6301 									NIM_BOOL T521_;
6302 									NI T524_;
6303 									T520_ = (NI)0;
6304 									T520_ = len__ast_3198(itX60gensym657_);
6305 									T521_ = (NIM_BOOL)0;
6306 									T521_ = isEmptyType__ast_4779((*(*itX60gensym657_)._kind_6.sons->data[(NI)(T520_ - ((NI) 1))]).typ);
6307 									if (!T521_) goto LA522_;
6308 									T524_ = (NI)0;
6309 									T524_ = len__ast_3198(itX60gensym657_);
6310 									T517_ = p__injectdestructors_105((*itX60gensym657_)._kind_6.sons->data[(NI)(T524_ - ((NI) 1))], c, (&ofScopeX60gensym657_), ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
6311 								}
6312 								goto LA518_;
6313 								LA522_: ;
6314 								{
6315 									NI T526_;
6316 									T526_ = (NI)0;
6317 									T526_ = len__ast_3198(itX60gensym657_);
6318 									T517_ = moveOrCopy__injectdestructors_110(dest, (*itX60gensym657_)._kind_6.sons->data[(NI)(T526_ - ((NI) 1))], c, (&ofScopeX60gensym657_), isDecl);
6319 								}
6320 								LA518_: ;
6321 								asgnRef((void**) (&(*branchX60gensym657_)._kind_6.sons->data[(NI)(T509_ - ((NI) 1))]), processScope__injectdestructors_7016(c, (&ofScopeX60gensym657_), T517_));
6322 							}
6323 							goto LA510_;
6324 							LA515_: ;
6325 							{
6326 								tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* resultX60gensym695_;
6327 								NI T528_;
6328 								tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* tmpX60gensym695_;
6329 								NI T529_;
6330 								NI T530_;
6331 								tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* cpyX60gensym695_;
6332 								tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* finSectionX60gensym695_;
6333 								NI T557_;
6334 								T528_ = (NI)0;
6335 								T528_ = len__ast_3198(itX60gensym657_);
6336 								resultX60gensym695_ = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126), (*(*itX60gensym657_)._kind_6.sons->data[(NI)(T528_ - ((NI) 1))]).info);
6337 								T529_ = (NI)0;
6338 								T529_ = len__ast_3198(itX60gensym657_);
6339 								T530_ = (NI)0;
6340 								T530_ = len__ast_3198(itX60gensym657_);
6341 								tmpX60gensym695_ = getTemp__injectdestructors_61(c, ofScopeX60gensym657_.parent, (*(*itX60gensym657_)._kind_6.sons->data[(NI)(T529_ - ((NI) 1))]).typ, (*(*itX60gensym657_)._kind_6.sons->data[(NI)(T530_ - ((NI) 1))]).info);
6342 								(*(*tmpX60gensym695_)._kind_4.sym).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 45)) & 63);
6343 								{
6344 									NI T533_;
6345 									NIM_BOOL T534_;
6346 									tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T537_;
6347 									NI T538_;
6348 									NI T539_;
6349 									T533_ = (NI)0;
6350 									T533_ = len__ast_3198(itX60gensym657_);
6351 									T534_ = (NIM_BOOL)0;
6352 									T534_ = hasDestructor__injectdestructors_49((&(*c)), (*(*itX60gensym657_)._kind_6.sons->data[(NI)(T533_ - ((NI) 1))]).typ);
6353 									if (!T534_) goto LA535_;
6354 									T537_ = NIM_NIL;
6355 									T537_ = genDestroy__injectdestructors_6527(c, tmpX60gensym695_);
6356 									unsureAsgnRef((void**) (&(*ofScopeX60gensym657_.parent).final), (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) incrSeqV3((TGenericSeq*)((*ofScopeX60gensym657_.parent).final), (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_)));
6357 									T538_ = (*ofScopeX60gensym657_.parent).final->Sup.len++;
6358 									asgnRef((void**) (&(*ofScopeX60gensym657_.parent).final->data[T538_]), T537_);
6359 									T539_ = (NI)0;
6360 									T539_ = len__ast_3198(itX60gensym657_);
6361 									cpyX60gensym695_ = moveOrCopy__injectdestructors_110(tmpX60gensym695_, (*itX60gensym657_)._kind_6.sons->data[(NI)(T539_ - ((NI) 1))], c, (&ofScopeX60gensym657_), NIM_TRUE);
6362 								}
6363 								goto LA531_;
6364 								LA535_: ;
6365 								{
6366 									tyArray__AB6yfoUgfWM2NtGe9bzkCmw T541_;
6367 									NI T542_;
6368 									nimZeroMem((void*)T541_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
6369 									T541_[0] = tmpX60gensym695_;
6370 									T542_ = (NI)0;
6371 									T542_ = len__ast_3198(itX60gensym657_);
6372 									T541_[1] = p__injectdestructors_105((*itX60gensym657_)._kind_6.sons->data[(NI)(T542_ - ((NI) 1))], c, (&ofScopeX60gensym657_), ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
6373 									cpyX60gensym695_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 74), T541_, 2);
6374 								}
6375 								LA531_: ;
6376 								{
6377 									NI T545_;
6378 									tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* varSectionX60gensym695_;
6379 									NI T548_;
6380 									T545_ = (ofScopeX60gensym657_.vars ? ofScopeX60gensym657_.vars->Sup.len : 0);
6381 									if (!(((NI) 0) < T545_)) goto LA546_;
6382 									T548_ = (NI)0;
6383 									T548_ = len__ast_3198(itX60gensym657_);
6384 									varSectionX60gensym695_ = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 99), (*(*itX60gensym657_)._kind_6.sons->data[(NI)(T548_ - ((NI) 1))]).info);
6385 									{
6386 										tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ** tmpX60gensym695__2;
6387 										NI i_20;
6388 										NI L_11;
6389 										NI T550_;
6390 										tmpX60gensym695__2 = (tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ**)0;
6391 										i_20 = ((NI) 0);
6392 										T550_ = (ofScopeX60gensym657_.vars ? ofScopeX60gensym657_.vars->Sup.len : 0);
6393 										L_11 = T550_;
6394 										{
6395 											while (1) {
6396 												tyArray__T6RKPw8xfAeNaoei9aZGzXg T553_;
6397 												NI T554_;
6398 												NI T555_;
6399 												tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T556_;
6400 												if (!(i_20 < L_11)) goto LA552;
6401 												tmpX60gensym695__2 = &ofScopeX60gensym657_.vars->data[i_20];
6402 												nimZeroMem((void*)T553_, sizeof(tyArray__T6RKPw8xfAeNaoei9aZGzXg));
6403 												T553_[0] = newSymNode__ast_3716((*tmpX60gensym695__2));
6404 												T554_ = (NI)0;
6405 												T554_ = len__ast_3198(itX60gensym657_);
6406 												T553_[1] = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1), (*(*itX60gensym657_)._kind_6.sons->data[(NI)(T554_ - ((NI) 1))]).info);
6407 												T555_ = (NI)0;
6408 												T555_ = len__ast_3198(itX60gensym657_);
6409 												T553_[2] = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1), (*(*itX60gensym657_)._kind_6.sons->data[(NI)(T555_ - ((NI) 1))]).info);
6410 												T556_ = NIM_NIL;
6411 												T556_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 35), T553_, 3);
6412 												add__ast_4797(varSectionX60gensym695_, T556_);
6413 												i_20 += ((NI) 1);
6414 											} LA552: ;
6415 										}
6416 									}
6417 									add__ast_4797(resultX60gensym695_, varSectionX60gensym695_);
6418 								}
6419 								LA546_: ;
6420 								T557_ = (NI)0;
6421 								T557_ = len__ast_3198(itX60gensym657_);
6422 								finSectionX60gensym695_ = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), (*(*itX60gensym657_)._kind_6.sons->data[(NI)(T557_ - ((NI) 1))]).info);
6423 								{
6424 									tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** mX60gensym695_;
6425 									NI i_21;
6426 									NI L_12;
6427 									NI T559_;
6428 									mX60gensym695_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw**)0;
6429 									i_21 = ((NI) 0);
6430 									T559_ = (ofScopeX60gensym657_.wasMoved ? ofScopeX60gensym657_.wasMoved->Sup.len : 0);
6431 									L_12 = T559_;
6432 									{
6433 										while (1) {
6434 											if (!(i_21 < L_12)) goto LA561;
6435 											mX60gensym695_ = &ofScopeX60gensym657_.wasMoved->data[i_21];
6436 											add__ast_4797(finSectionX60gensym695_, (*mX60gensym695_));
6437 											i_21 += ((NI) 1);
6438 										} LA561: ;
6439 									}
6440 								}
6441 								{
6442 									NI iX60gensym695_;
6443 									NI colontmp__15;
6444 									NI T563_;
6445 									NI res_6;
6446 									iX60gensym695_ = (NI)0;
6447 									colontmp__15 = (NI)0;
6448 									T563_ = ((ofScopeX60gensym657_.final ? ofScopeX60gensym657_.final->Sup.len : 0)-1);
6449 									colontmp__15 = T563_;
6450 									res_6 = colontmp__15;
6451 									{
6452 										while (1) {
6453 											if (!(((NI) 0) <= res_6)) goto LA565;
6454 											iX60gensym695_ = res_6;
6455 											add__ast_4797(finSectionX60gensym695_, ofScopeX60gensym657_.final->data[iX60gensym695_]);
6456 											res_6 -= ((NI) 1);
6457 										} LA565: ;
6458 									}
6459 								}
6460 								{
6461 									tyArray__AB6yfoUgfWM2NtGe9bzkCmw T570_;
6462 									tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T571_;
6463 									tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T572_;
6464 									if (!ofScopeX60gensym657_.needsTry) goto LA568_;
6465 									nimZeroMem((void*)T570_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
6466 									T570_[0] = cpyX60gensym695_;
6467 									T570_[1] = moveOrCopy__injectdestructors_110(dest, tmpX60gensym695_, c, ofScopeX60gensym657_.parent, isDecl);
6468 									T571_ = NIM_NIL;
6469 									T571_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126), T570_, 2);
6470 									T572_ = NIM_NIL;
6471 									T572_ = newTryFinally__lowerings_202(T571_, finSectionX60gensym695_);
6472 									add__ast_4797(resultX60gensym695_, T572_);
6473 								}
6474 								goto LA566_;
6475 								LA568_: ;
6476 								{
6477 									tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T574_;
6478 									add__ast_4797(resultX60gensym695_, cpyX60gensym695_);
6479 									add__ast_4797(resultX60gensym695_, finSectionX60gensym695_);
6480 									T574_ = NIM_NIL;
6481 									T574_ = moveOrCopy__injectdestructors_110(dest, tmpX60gensym695_, c, ofScopeX60gensym657_.parent, isDecl);
6482 									add__ast_4797(resultX60gensym695_, T574_);
6483 								}
6484 								LA566_: ;
6485 								{
6486 									NIM_BOOL T579_;
6487 									if (!!((ofScopeX60gensym657_.parent == ((tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ*) NIM_NIL)))) goto LA577_;
6488 									T579_ = (NIM_BOOL)0;
6489 									T579_ = (*ofScopeX60gensym657_.parent).needsTry;
6490 									if (T579_) goto LA580_;
6491 									T579_ = ofScopeX60gensym657_.needsTry;
6492 									LA580_: ;
6493 									(*ofScopeX60gensym657_.parent).needsTry = T579_;
6494 								}
6495 								LA577_: ;
6496 								asgnRef((void**) (&(*branchX60gensym657_)._kind_6.sons->data[(NI)(T509_ - ((NI) 1))]), resultX60gensym695_);
6497 							}
6498 							LA510_: ;
6499 							add__ast_4797(result, branchX60gensym657_);
6500 							i_18 += ((NI) 1);
6501 						} LA504: ;
6502 					}
6503 				}
6504 			}
6505 			break;
6506 			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 96):
6507 			{
6508 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T582_;
6509 				tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ bodyScopeX60gensym657_;
6510 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* bodyResultX60gensym657_;
6511 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T583_;
6512 				(*c).inLoop += ((NI) 1);
6513 				(*c).inLoopCond += ((NI) 1);
6514 				result = copyNode__ast_4336(ri);
6515 				T582_ = NIM_NIL;
6516 				T582_ = p__injectdestructors_105((*ri)._kind_6.sons->data[((NI) 0)], c, s, ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
6517 				add__ast_4797(result, T582_);
6518 				(*c).inLoopCond -= ((NI) 1);
6519 				nimZeroMem((void*)(&bodyScopeX60gensym657_), sizeof(tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ));
6520 				nestedScope__injectdestructors_72(s, (&bodyScopeX60gensym657_));
6521 				bodyResultX60gensym657_ = p__injectdestructors_105((*ri)._kind_6.sons->data[((NI) 1)], c, (&bodyScopeX60gensym657_), ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
6522 				T583_ = NIM_NIL;
6523 				T583_ = processScope__injectdestructors_7016(c, (&bodyScopeX60gensym657_), bodyResultX60gensym657_);
6524 				add__ast_4797(result, T583_);
6525 				(*c).inLoop -= ((NI) 1);
6526 			}
6527 			break;
6528 			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 95):
6529 			{
6530 				NI lastX60gensym657_;
6531 				NI T585_;
6532 				tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ bodyScopeX60gensym657__2;
6533 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* bodyResultX60gensym657__2;
6534 				(*c).inLoop += ((NI) 1);
6535 				result = shallowCopy__ast_4413(ri);
6536 				T585_ = (NI)0;
6537 				T585_ = len__ast_3198(ri);
6538 				lastX60gensym657_ = (NI)(T585_ - ((NI) 1));
6539 				{
6540 					NI iX60gensym657__3;
6541 					NI colontmp__16;
6542 					NI i_22;
6543 					iX60gensym657__3 = (NI)0;
6544 					colontmp__16 = (NI)0;
6545 					colontmp__16 = (NI)(lastX60gensym657_ - ((NI) 1));
6546 					i_22 = ((NI) 0);
6547 					{
6548 						while (1) {
6549 							if (!(i_22 < colontmp__16)) goto LA588;
6550 							iX60gensym657__3 = i_22;
6551 							asgnRef((void**) (&(*result)._kind_6.sons->data[iX60gensym657__3]), (*ri)._kind_6.sons->data[iX60gensym657__3]);
6552 							i_22 += ((NI) 1);
6553 						} LA588: ;
6554 					}
6555 				}
6556 				asgnRef((void**) (&(*result)._kind_6.sons->data[(NI)(lastX60gensym657_ - ((NI) 1))]), p__injectdestructors_105((*ri)._kind_6.sons->data[(NI)(lastX60gensym657_ - ((NI) 1))], c, s, ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0)));
6557 				nimZeroMem((void*)(&bodyScopeX60gensym657__2), sizeof(tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ));
6558 				nestedScope__injectdestructors_72(s, (&bodyScopeX60gensym657__2));
6559 				bodyResultX60gensym657__2 = p__injectdestructors_105((*ri)._kind_6.sons->data[lastX60gensym657_], c, (&bodyScopeX60gensym657__2), ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
6560 				asgnRef((void**) (&(*result)._kind_6.sons->data[lastX60gensym657_]), processScope__injectdestructors_7016(c, (&bodyScopeX60gensym657__2), bodyResultX60gensym657__2));
6561 				(*c).inLoop -= ((NI) 1);
6562 			}
6563 			break;
6564 			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 112):
6565 			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 127):
6566 			{
6567 				tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ bodyScopeX60gensym657__3;
6568 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T590_;
6569 				result = copyNode__ast_4336(ri);
6570 				add__ast_4797(result, (*ri)._kind_6.sons->data[((NI) 0)]);
6571 				nimZeroMem((void*)(&bodyScopeX60gensym657__3), sizeof(tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ));
6572 				nestedScope__injectdestructors_72(s, (&bodyScopeX60gensym657__3));
6573 				T590_ = NIM_NIL;
6574 				{
6575 					NIM_BOOL T593_;
6576 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T597_;
6577 					T593_ = (NIM_BOOL)0;
6578 					T593_ = isEmptyType__ast_4779((*(*ri)._kind_6.sons->data[((NI) 1)]).typ);
6579 					if (T593_) goto LA594_;
6580 					T593_ = NIM_TRUE;
6581 					LA594_: ;
6582 					if (!T593_) goto LA595_;
6583 					T597_ = NIM_NIL;
6584 					T597_ = moveOrCopy__injectdestructors_110(dest, (*ri)._kind_6.sons->data[((NI) 1)], c, (&bodyScopeX60gensym657__3), isDecl);
6585 					T590_ = processScope__injectdestructors_7016(c, (&bodyScopeX60gensym657__3), T597_);
6586 				}
6587 				goto LA591_;
6588 				LA595_: ;
6589 				{
6590 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* resultX60gensym717_;
6591 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* tmpX60gensym717_;
6592 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* cpyX60gensym717_;
6593 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* finSectionX60gensym717_;
6594 					resultX60gensym717_ = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126), (*(*ri)._kind_6.sons->data[((NI) 1)]).info);
6595 					tmpX60gensym717_ = getTemp__injectdestructors_61(c, bodyScopeX60gensym657__3.parent, (*(*ri)._kind_6.sons->data[((NI) 1)]).typ, (*(*ri)._kind_6.sons->data[((NI) 1)]).info);
6596 					(*(*tmpX60gensym717_)._kind_4.sym).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 45)) & 63);
6597 					{
6598 						NIM_BOOL T601_;
6599 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T604_;
6600 						NI T605_;
6601 						T601_ = (NIM_BOOL)0;
6602 						T601_ = hasDestructor__injectdestructors_49((&(*c)), (*(*ri)._kind_6.sons->data[((NI) 1)]).typ);
6603 						if (!T601_) goto LA602_;
6604 						T604_ = NIM_NIL;
6605 						T604_ = genDestroy__injectdestructors_6527(c, tmpX60gensym717_);
6606 						unsureAsgnRef((void**) (&(*bodyScopeX60gensym657__3.parent).final), (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) incrSeqV3((TGenericSeq*)((*bodyScopeX60gensym657__3.parent).final), (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_)));
6607 						T605_ = (*bodyScopeX60gensym657__3.parent).final->Sup.len++;
6608 						asgnRef((void**) (&(*bodyScopeX60gensym657__3.parent).final->data[T605_]), T604_);
6609 						cpyX60gensym717_ = moveOrCopy__injectdestructors_110(tmpX60gensym717_, (*ri)._kind_6.sons->data[((NI) 1)], c, (&bodyScopeX60gensym657__3), NIM_TRUE);
6610 					}
6611 					goto LA599_;
6612 					LA602_: ;
6613 					{
6614 						tyArray__AB6yfoUgfWM2NtGe9bzkCmw T607_;
6615 						nimZeroMem((void*)T607_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
6616 						T607_[0] = tmpX60gensym717_;
6617 						T607_[1] = p__injectdestructors_105((*ri)._kind_6.sons->data[((NI) 1)], c, (&bodyScopeX60gensym657__3), ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
6618 						cpyX60gensym717_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 74), T607_, 2);
6619 					}
6620 					LA599_: ;
6621 					{
6622 						NI T610_;
6623 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* varSectionX60gensym717_;
6624 						T610_ = (bodyScopeX60gensym657__3.vars ? bodyScopeX60gensym657__3.vars->Sup.len : 0);
6625 						if (!(((NI) 0) < T610_)) goto LA611_;
6626 						varSectionX60gensym717_ = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 99), (*(*ri)._kind_6.sons->data[((NI) 1)]).info);
6627 						{
6628 							tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ** tmpX60gensym717__2;
6629 							NI i_23;
6630 							NI L_13;
6631 							NI T614_;
6632 							tmpX60gensym717__2 = (tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ**)0;
6633 							i_23 = ((NI) 0);
6634 							T614_ = (bodyScopeX60gensym657__3.vars ? bodyScopeX60gensym657__3.vars->Sup.len : 0);
6635 							L_13 = T614_;
6636 							{
6637 								while (1) {
6638 									tyArray__T6RKPw8xfAeNaoei9aZGzXg T617_;
6639 									tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T618_;
6640 									if (!(i_23 < L_13)) goto LA616;
6641 									tmpX60gensym717__2 = &bodyScopeX60gensym657__3.vars->data[i_23];
6642 									nimZeroMem((void*)T617_, sizeof(tyArray__T6RKPw8xfAeNaoei9aZGzXg));
6643 									T617_[0] = newSymNode__ast_3716((*tmpX60gensym717__2));
6644 									T617_[1] = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1), (*(*ri)._kind_6.sons->data[((NI) 1)]).info);
6645 									T617_[2] = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1), (*(*ri)._kind_6.sons->data[((NI) 1)]).info);
6646 									T618_ = NIM_NIL;
6647 									T618_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 35), T617_, 3);
6648 									add__ast_4797(varSectionX60gensym717_, T618_);
6649 									i_23 += ((NI) 1);
6650 								} LA616: ;
6651 							}
6652 						}
6653 						add__ast_4797(resultX60gensym717_, varSectionX60gensym717_);
6654 					}
6655 					LA611_: ;
6656 					finSectionX60gensym717_ = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), (*(*ri)._kind_6.sons->data[((NI) 1)]).info);
6657 					{
6658 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** mX60gensym717_;
6659 						NI i_24;
6660 						NI L_14;
6661 						NI T620_;
6662 						mX60gensym717_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw**)0;
6663 						i_24 = ((NI) 0);
6664 						T620_ = (bodyScopeX60gensym657__3.wasMoved ? bodyScopeX60gensym657__3.wasMoved->Sup.len : 0);
6665 						L_14 = T620_;
6666 						{
6667 							while (1) {
6668 								if (!(i_24 < L_14)) goto LA622;
6669 								mX60gensym717_ = &bodyScopeX60gensym657__3.wasMoved->data[i_24];
6670 								add__ast_4797(finSectionX60gensym717_, (*mX60gensym717_));
6671 								i_24 += ((NI) 1);
6672 							} LA622: ;
6673 						}
6674 					}
6675 					{
6676 						NI iX60gensym717_;
6677 						NI colontmp__17;
6678 						NI T624_;
6679 						NI res_7;
6680 						iX60gensym717_ = (NI)0;
6681 						colontmp__17 = (NI)0;
6682 						T624_ = ((bodyScopeX60gensym657__3.final ? bodyScopeX60gensym657__3.final->Sup.len : 0)-1);
6683 						colontmp__17 = T624_;
6684 						res_7 = colontmp__17;
6685 						{
6686 							while (1) {
6687 								if (!(((NI) 0) <= res_7)) goto LA626;
6688 								iX60gensym717_ = res_7;
6689 								add__ast_4797(finSectionX60gensym717_, bodyScopeX60gensym657__3.final->data[iX60gensym717_]);
6690 								res_7 -= ((NI) 1);
6691 							} LA626: ;
6692 						}
6693 					}
6694 					{
6695 						tyArray__AB6yfoUgfWM2NtGe9bzkCmw T631_;
6696 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T632_;
6697 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T633_;
6698 						if (!bodyScopeX60gensym657__3.needsTry) goto LA629_;
6699 						nimZeroMem((void*)T631_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
6700 						T631_[0] = cpyX60gensym717_;
6701 						T631_[1] = moveOrCopy__injectdestructors_110(dest, tmpX60gensym717_, c, bodyScopeX60gensym657__3.parent, isDecl);
6702 						T632_ = NIM_NIL;
6703 						T632_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126), T631_, 2);
6704 						T633_ = NIM_NIL;
6705 						T633_ = newTryFinally__lowerings_202(T632_, finSectionX60gensym717_);
6706 						add__ast_4797(resultX60gensym717_, T633_);
6707 					}
6708 					goto LA627_;
6709 					LA629_: ;
6710 					{
6711 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T635_;
6712 						add__ast_4797(resultX60gensym717_, cpyX60gensym717_);
6713 						add__ast_4797(resultX60gensym717_, finSectionX60gensym717_);
6714 						T635_ = NIM_NIL;
6715 						T635_ = moveOrCopy__injectdestructors_110(dest, tmpX60gensym717_, c, bodyScopeX60gensym657__3.parent, isDecl);
6716 						add__ast_4797(resultX60gensym717_, T635_);
6717 					}
6718 					LA627_: ;
6719 					{
6720 						NIM_BOOL T640_;
6721 						if (!!((bodyScopeX60gensym657__3.parent == ((tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ*) NIM_NIL)))) goto LA638_;
6722 						T640_ = (NIM_BOOL)0;
6723 						T640_ = (*bodyScopeX60gensym657__3.parent).needsTry;
6724 						if (T640_) goto LA641_;
6725 						T640_ = bodyScopeX60gensym657__3.needsTry;
6726 						LA641_: ;
6727 						(*bodyScopeX60gensym657__3.parent).needsTry = T640_;
6728 					}
6729 					LA638_: ;
6730 					T590_ = resultX60gensym717_;
6731 				}
6732 				LA591_: ;
6733 				add__ast_4797(result, T590_);
6734 			}
6735 			break;
6736 			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 92):
6737 			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 48):
6738 			{
6739 				result = copyNode__ast_4336(ri);
6740 				{
6741 					NI iX60gensym657__4;
6742 					NI colontmp__18;
6743 					NI i_25;
6744 					iX60gensym657__4 = (NI)0;
6745 					colontmp__18 = (NI)0;
6746 					colontmp__18 = len__ast_3198(ri);
6747 					i_25 = ((NI) 0);
6748 					{
6749 						while (1) {
6750 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* itX60gensym657__2;
6751 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* branchX60gensym657__2;
6752 							tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ branchScopeX60gensym657_;
6753 							NI T650_;
6754 							if (!(i_25 < colontmp__18)) goto LA645;
6755 							iX60gensym657__4 = i_25;
6756 							itX60gensym657__2 = (*ri)._kind_6.sons->data[iX60gensym657__4];
6757 							branchX60gensym657__2 = shallowCopy__ast_4413(itX60gensym657__2);
6758 							nimZeroMem((void*)(&branchScopeX60gensym657_), sizeof(tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ));
6759 							nestedScope__injectdestructors_72(s, (&branchScopeX60gensym657_));
6760 							{
6761 								if (!((*itX60gensym657__2).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 86) || (*itX60gensym657__2).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 49))) goto LA648_;
6762 								asgnRef((void**) (&(*branchX60gensym657__2)._kind_6.sons->data[((NI) 0)]), p__injectdestructors_105((*itX60gensym657__2)._kind_6.sons->data[((NI) 0)], c, s, ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0)));
6763 							}
6764 							LA648_: ;
6765 							T650_ = (NI)0;
6766 							T650_ = len__ast_3198(branchX60gensym657__2);
6767 							{
6768 								NIM_BOOL T653_;
6769 								NI T654_;
6770 								tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T658_;
6771 								T653_ = (NIM_BOOL)0;
6772 								T654_ = (NI)0;
6773 								T654_ = len__ast_3198(itX60gensym657__2);
6774 								T653_ = isEmptyType__ast_4779((*(*itX60gensym657__2)._kind_6.sons->data[(NI)(T654_ - ((NI) 1))]).typ);
6775 								if (T653_) goto LA655_;
6776 								T653_ = NIM_TRUE;
6777 								LA655_: ;
6778 								if (!T653_) goto LA656_;
6779 								T658_ = NIM_NIL;
6780 								{
6781 									NI T661_;
6782 									NIM_BOOL T662_;
6783 									NI T665_;
6784 									T661_ = (NI)0;
6785 									T661_ = len__ast_3198(itX60gensym657__2);
6786 									T662_ = (NIM_BOOL)0;
6787 									T662_ = isEmptyType__ast_4779((*(*itX60gensym657__2)._kind_6.sons->data[(NI)(T661_ - ((NI) 1))]).typ);
6788 									if (!T662_) goto LA663_;
6789 									T665_ = (NI)0;
6790 									T665_ = len__ast_3198(itX60gensym657__2);
6791 									T658_ = p__injectdestructors_105((*itX60gensym657__2)._kind_6.sons->data[(NI)(T665_ - ((NI) 1))], c, (&branchScopeX60gensym657_), ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
6792 								}
6793 								goto LA659_;
6794 								LA663_: ;
6795 								{
6796 									NI T667_;
6797 									T667_ = (NI)0;
6798 									T667_ = len__ast_3198(itX60gensym657__2);
6799 									T658_ = moveOrCopy__injectdestructors_110(dest, (*itX60gensym657__2)._kind_6.sons->data[(NI)(T667_ - ((NI) 1))], c, (&branchScopeX60gensym657_), isDecl);
6800 								}
6801 								LA659_: ;
6802 								asgnRef((void**) (&(*branchX60gensym657__2)._kind_6.sons->data[(NI)(T650_ - ((NI) 1))]), processScope__injectdestructors_7016(c, (&branchScopeX60gensym657_), T658_));
6803 							}
6804 							goto LA651_;
6805 							LA656_: ;
6806 							{
6807 								tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* resultX60gensym746_;
6808 								NI T669_;
6809 								tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* tmpX60gensym746_;
6810 								NI T670_;
6811 								NI T671_;
6812 								tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* cpyX60gensym746_;
6813 								tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* finSectionX60gensym746_;
6814 								NI T698_;
6815 								T669_ = (NI)0;
6816 								T669_ = len__ast_3198(itX60gensym657__2);
6817 								resultX60gensym746_ = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126), (*(*itX60gensym657__2)._kind_6.sons->data[(NI)(T669_ - ((NI) 1))]).info);
6818 								T670_ = (NI)0;
6819 								T670_ = len__ast_3198(itX60gensym657__2);
6820 								T671_ = (NI)0;
6821 								T671_ = len__ast_3198(itX60gensym657__2);
6822 								tmpX60gensym746_ = getTemp__injectdestructors_61(c, branchScopeX60gensym657_.parent, (*(*itX60gensym657__2)._kind_6.sons->data[(NI)(T670_ - ((NI) 1))]).typ, (*(*itX60gensym657__2)._kind_6.sons->data[(NI)(T671_ - ((NI) 1))]).info);
6823 								(*(*tmpX60gensym746_)._kind_4.sym).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 45)) & 63);
6824 								{
6825 									NI T674_;
6826 									NIM_BOOL T675_;
6827 									tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T678_;
6828 									NI T679_;
6829 									NI T680_;
6830 									T674_ = (NI)0;
6831 									T674_ = len__ast_3198(itX60gensym657__2);
6832 									T675_ = (NIM_BOOL)0;
6833 									T675_ = hasDestructor__injectdestructors_49((&(*c)), (*(*itX60gensym657__2)._kind_6.sons->data[(NI)(T674_ - ((NI) 1))]).typ);
6834 									if (!T675_) goto LA676_;
6835 									T678_ = NIM_NIL;
6836 									T678_ = genDestroy__injectdestructors_6527(c, tmpX60gensym746_);
6837 									unsureAsgnRef((void**) (&(*branchScopeX60gensym657_.parent).final), (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) incrSeqV3((TGenericSeq*)((*branchScopeX60gensym657_.parent).final), (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_)));
6838 									T679_ = (*branchScopeX60gensym657_.parent).final->Sup.len++;
6839 									asgnRef((void**) (&(*branchScopeX60gensym657_.parent).final->data[T679_]), T678_);
6840 									T680_ = (NI)0;
6841 									T680_ = len__ast_3198(itX60gensym657__2);
6842 									cpyX60gensym746_ = moveOrCopy__injectdestructors_110(tmpX60gensym746_, (*itX60gensym657__2)._kind_6.sons->data[(NI)(T680_ - ((NI) 1))], c, (&branchScopeX60gensym657_), NIM_TRUE);
6843 								}
6844 								goto LA672_;
6845 								LA676_: ;
6846 								{
6847 									tyArray__AB6yfoUgfWM2NtGe9bzkCmw T682_;
6848 									NI T683_;
6849 									nimZeroMem((void*)T682_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
6850 									T682_[0] = tmpX60gensym746_;
6851 									T683_ = (NI)0;
6852 									T683_ = len__ast_3198(itX60gensym657__2);
6853 									T682_[1] = p__injectdestructors_105((*itX60gensym657__2)._kind_6.sons->data[(NI)(T683_ - ((NI) 1))], c, (&branchScopeX60gensym657_), ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
6854 									cpyX60gensym746_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 74), T682_, 2);
6855 								}
6856 								LA672_: ;
6857 								{
6858 									NI T686_;
6859 									tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* varSectionX60gensym746_;
6860 									NI T689_;
6861 									T686_ = (branchScopeX60gensym657_.vars ? branchScopeX60gensym657_.vars->Sup.len : 0);
6862 									if (!(((NI) 0) < T686_)) goto LA687_;
6863 									T689_ = (NI)0;
6864 									T689_ = len__ast_3198(itX60gensym657__2);
6865 									varSectionX60gensym746_ = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 99), (*(*itX60gensym657__2)._kind_6.sons->data[(NI)(T689_ - ((NI) 1))]).info);
6866 									{
6867 										tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ** tmpX60gensym746__2;
6868 										NI i_26;
6869 										NI L_15;
6870 										NI T691_;
6871 										tmpX60gensym746__2 = (tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ**)0;
6872 										i_26 = ((NI) 0);
6873 										T691_ = (branchScopeX60gensym657_.vars ? branchScopeX60gensym657_.vars->Sup.len : 0);
6874 										L_15 = T691_;
6875 										{
6876 											while (1) {
6877 												tyArray__T6RKPw8xfAeNaoei9aZGzXg T694_;
6878 												NI T695_;
6879 												NI T696_;
6880 												tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T697_;
6881 												if (!(i_26 < L_15)) goto LA693;
6882 												tmpX60gensym746__2 = &branchScopeX60gensym657_.vars->data[i_26];
6883 												nimZeroMem((void*)T694_, sizeof(tyArray__T6RKPw8xfAeNaoei9aZGzXg));
6884 												T694_[0] = newSymNode__ast_3716((*tmpX60gensym746__2));
6885 												T695_ = (NI)0;
6886 												T695_ = len__ast_3198(itX60gensym657__2);
6887 												T694_[1] = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1), (*(*itX60gensym657__2)._kind_6.sons->data[(NI)(T695_ - ((NI) 1))]).info);
6888 												T696_ = (NI)0;
6889 												T696_ = len__ast_3198(itX60gensym657__2);
6890 												T694_[2] = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1), (*(*itX60gensym657__2)._kind_6.sons->data[(NI)(T696_ - ((NI) 1))]).info);
6891 												T697_ = NIM_NIL;
6892 												T697_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 35), T694_, 3);
6893 												add__ast_4797(varSectionX60gensym746_, T697_);
6894 												i_26 += ((NI) 1);
6895 											} LA693: ;
6896 										}
6897 									}
6898 									add__ast_4797(resultX60gensym746_, varSectionX60gensym746_);
6899 								}
6900 								LA687_: ;
6901 								T698_ = (NI)0;
6902 								T698_ = len__ast_3198(itX60gensym657__2);
6903 								finSectionX60gensym746_ = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), (*(*itX60gensym657__2)._kind_6.sons->data[(NI)(T698_ - ((NI) 1))]).info);
6904 								{
6905 									tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** mX60gensym746_;
6906 									NI i_27;
6907 									NI L_16;
6908 									NI T700_;
6909 									mX60gensym746_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw**)0;
6910 									i_27 = ((NI) 0);
6911 									T700_ = (branchScopeX60gensym657_.wasMoved ? branchScopeX60gensym657_.wasMoved->Sup.len : 0);
6912 									L_16 = T700_;
6913 									{
6914 										while (1) {
6915 											if (!(i_27 < L_16)) goto LA702;
6916 											mX60gensym746_ = &branchScopeX60gensym657_.wasMoved->data[i_27];
6917 											add__ast_4797(finSectionX60gensym746_, (*mX60gensym746_));
6918 											i_27 += ((NI) 1);
6919 										} LA702: ;
6920 									}
6921 								}
6922 								{
6923 									NI iX60gensym746_;
6924 									NI colontmp__19;
6925 									NI T704_;
6926 									NI res_8;
6927 									iX60gensym746_ = (NI)0;
6928 									colontmp__19 = (NI)0;
6929 									T704_ = ((branchScopeX60gensym657_.final ? branchScopeX60gensym657_.final->Sup.len : 0)-1);
6930 									colontmp__19 = T704_;
6931 									res_8 = colontmp__19;
6932 									{
6933 										while (1) {
6934 											if (!(((NI) 0) <= res_8)) goto LA706;
6935 											iX60gensym746_ = res_8;
6936 											add__ast_4797(finSectionX60gensym746_, branchScopeX60gensym657_.final->data[iX60gensym746_]);
6937 											res_8 -= ((NI) 1);
6938 										} LA706: ;
6939 									}
6940 								}
6941 								{
6942 									tyArray__AB6yfoUgfWM2NtGe9bzkCmw T711_;
6943 									tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T712_;
6944 									tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T713_;
6945 									if (!branchScopeX60gensym657_.needsTry) goto LA709_;
6946 									nimZeroMem((void*)T711_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
6947 									T711_[0] = cpyX60gensym746_;
6948 									T711_[1] = moveOrCopy__injectdestructors_110(dest, tmpX60gensym746_, c, branchScopeX60gensym657_.parent, isDecl);
6949 									T712_ = NIM_NIL;
6950 									T712_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126), T711_, 2);
6951 									T713_ = NIM_NIL;
6952 									T713_ = newTryFinally__lowerings_202(T712_, finSectionX60gensym746_);
6953 									add__ast_4797(resultX60gensym746_, T713_);
6954 								}
6955 								goto LA707_;
6956 								LA709_: ;
6957 								{
6958 									tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T715_;
6959 									add__ast_4797(resultX60gensym746_, cpyX60gensym746_);
6960 									add__ast_4797(resultX60gensym746_, finSectionX60gensym746_);
6961 									T715_ = NIM_NIL;
6962 									T715_ = moveOrCopy__injectdestructors_110(dest, tmpX60gensym746_, c, branchScopeX60gensym657_.parent, isDecl);
6963 									add__ast_4797(resultX60gensym746_, T715_);
6964 								}
6965 								LA707_: ;
6966 								{
6967 									NIM_BOOL T720_;
6968 									if (!!((branchScopeX60gensym657_.parent == ((tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ*) NIM_NIL)))) goto LA718_;
6969 									T720_ = (NIM_BOOL)0;
6970 									T720_ = (*branchScopeX60gensym657_.parent).needsTry;
6971 									if (T720_) goto LA721_;
6972 									T720_ = branchScopeX60gensym657_.needsTry;
6973 									LA721_: ;
6974 									(*branchScopeX60gensym657_.parent).needsTry = T720_;
6975 								}
6976 								LA718_: ;
6977 								asgnRef((void**) (&(*branchX60gensym657__2)._kind_6.sons->data[(NI)(T650_ - ((NI) 1))]), resultX60gensym746_);
6978 							}
6979 							LA651_: ;
6980 							add__ast_4797(result, branchX60gensym657__2);
6981 							i_25 += ((NI) 1);
6982 						} LA645: ;
6983 					}
6984 				}
6985 			}
6986 			break;
6987 			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 106):
6988 			{
6989 				tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ tryScopeX60gensym657_;
6990 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T723_;
6991 				result = copyNode__ast_4336(ri);
6992 				nimZeroMem((void*)(&tryScopeX60gensym657_), sizeof(tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ));
6993 				nestedScope__injectdestructors_72(s, (&tryScopeX60gensym657_));
6994 				T723_ = NIM_NIL;
6995 				{
6996 					NIM_BOOL T726_;
6997 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T730_;
6998 					T726_ = (NIM_BOOL)0;
6999 					T726_ = isEmptyType__ast_4779((*(*ri)._kind_6.sons->data[((NI) 0)]).typ);
7000 					if (T726_) goto LA727_;
7001 					T726_ = NIM_TRUE;
7002 					LA727_: ;
7003 					if (!T726_) goto LA728_;
7004 					T730_ = NIM_NIL;
7005 					{
7006 						NIM_BOOL T733_;
7007 						T733_ = (NIM_BOOL)0;
7008 						T733_ = isEmptyType__ast_4779((*(*ri)._kind_6.sons->data[((NI) 0)]).typ);
7009 						if (!T733_) goto LA734_;
7010 						T730_ = p__injectdestructors_105((*ri)._kind_6.sons->data[((NI) 0)], c, (&tryScopeX60gensym657_), ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
7011 					}
7012 					goto LA731_;
7013 					LA734_: ;
7014 					{
7015 						T730_ = moveOrCopy__injectdestructors_110(dest, (*ri)._kind_6.sons->data[((NI) 0)], c, (&tryScopeX60gensym657_), isDecl);
7016 					}
7017 					LA731_: ;
7018 					T723_ = processScope__injectdestructors_7016(c, (&tryScopeX60gensym657_), T730_);
7019 				}
7020 				goto LA724_;
7021 				LA728_: ;
7022 				{
7023 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* resultX60gensym762_;
7024 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* tmpX60gensym762_;
7025 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* cpyX60gensym762_;
7026 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* finSectionX60gensym762_;
7027 					resultX60gensym762_ = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126), (*(*ri)._kind_6.sons->data[((NI) 0)]).info);
7028 					tmpX60gensym762_ = getTemp__injectdestructors_61(c, tryScopeX60gensym657_.parent, (*(*ri)._kind_6.sons->data[((NI) 0)]).typ, (*(*ri)._kind_6.sons->data[((NI) 0)]).info);
7029 					(*(*tmpX60gensym762_)._kind_4.sym).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 45)) & 63);
7030 					{
7031 						NIM_BOOL T740_;
7032 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T743_;
7033 						NI T744_;
7034 						T740_ = (NIM_BOOL)0;
7035 						T740_ = hasDestructor__injectdestructors_49((&(*c)), (*(*ri)._kind_6.sons->data[((NI) 0)]).typ);
7036 						if (!T740_) goto LA741_;
7037 						T743_ = NIM_NIL;
7038 						T743_ = genDestroy__injectdestructors_6527(c, tmpX60gensym762_);
7039 						unsureAsgnRef((void**) (&(*tryScopeX60gensym657_.parent).final), (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) incrSeqV3((TGenericSeq*)((*tryScopeX60gensym657_.parent).final), (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_)));
7040 						T744_ = (*tryScopeX60gensym657_.parent).final->Sup.len++;
7041 						asgnRef((void**) (&(*tryScopeX60gensym657_.parent).final->data[T744_]), T743_);
7042 						cpyX60gensym762_ = moveOrCopy__injectdestructors_110(tmpX60gensym762_, (*ri)._kind_6.sons->data[((NI) 0)], c, (&tryScopeX60gensym657_), NIM_TRUE);
7043 					}
7044 					goto LA738_;
7045 					LA741_: ;
7046 					{
7047 						tyArray__AB6yfoUgfWM2NtGe9bzkCmw T746_;
7048 						nimZeroMem((void*)T746_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
7049 						T746_[0] = tmpX60gensym762_;
7050 						T746_[1] = p__injectdestructors_105((*ri)._kind_6.sons->data[((NI) 0)], c, (&tryScopeX60gensym657_), ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
7051 						cpyX60gensym762_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 74), T746_, 2);
7052 					}
7053 					LA738_: ;
7054 					{
7055 						NI T749_;
7056 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* varSectionX60gensym762_;
7057 						T749_ = (tryScopeX60gensym657_.vars ? tryScopeX60gensym657_.vars->Sup.len : 0);
7058 						if (!(((NI) 0) < T749_)) goto LA750_;
7059 						varSectionX60gensym762_ = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 99), (*(*ri)._kind_6.sons->data[((NI) 0)]).info);
7060 						{
7061 							tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ** tmpX60gensym762__2;
7062 							NI i_28;
7063 							NI L_17;
7064 							NI T753_;
7065 							tmpX60gensym762__2 = (tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ**)0;
7066 							i_28 = ((NI) 0);
7067 							T753_ = (tryScopeX60gensym657_.vars ? tryScopeX60gensym657_.vars->Sup.len : 0);
7068 							L_17 = T753_;
7069 							{
7070 								while (1) {
7071 									tyArray__T6RKPw8xfAeNaoei9aZGzXg T756_;
7072 									tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T757_;
7073 									if (!(i_28 < L_17)) goto LA755;
7074 									tmpX60gensym762__2 = &tryScopeX60gensym657_.vars->data[i_28];
7075 									nimZeroMem((void*)T756_, sizeof(tyArray__T6RKPw8xfAeNaoei9aZGzXg));
7076 									T756_[0] = newSymNode__ast_3716((*tmpX60gensym762__2));
7077 									T756_[1] = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1), (*(*ri)._kind_6.sons->data[((NI) 0)]).info);
7078 									T756_[2] = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1), (*(*ri)._kind_6.sons->data[((NI) 0)]).info);
7079 									T757_ = NIM_NIL;
7080 									T757_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 35), T756_, 3);
7081 									add__ast_4797(varSectionX60gensym762_, T757_);
7082 									i_28 += ((NI) 1);
7083 								} LA755: ;
7084 							}
7085 						}
7086 						add__ast_4797(resultX60gensym762_, varSectionX60gensym762_);
7087 					}
7088 					LA750_: ;
7089 					finSectionX60gensym762_ = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), (*(*ri)._kind_6.sons->data[((NI) 0)]).info);
7090 					{
7091 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** mX60gensym762_;
7092 						NI i_29;
7093 						NI L_18;
7094 						NI T759_;
7095 						mX60gensym762_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw**)0;
7096 						i_29 = ((NI) 0);
7097 						T759_ = (tryScopeX60gensym657_.wasMoved ? tryScopeX60gensym657_.wasMoved->Sup.len : 0);
7098 						L_18 = T759_;
7099 						{
7100 							while (1) {
7101 								if (!(i_29 < L_18)) goto LA761;
7102 								mX60gensym762_ = &tryScopeX60gensym657_.wasMoved->data[i_29];
7103 								add__ast_4797(finSectionX60gensym762_, (*mX60gensym762_));
7104 								i_29 += ((NI) 1);
7105 							} LA761: ;
7106 						}
7107 					}
7108 					{
7109 						NI iX60gensym762_;
7110 						NI colontmp__20;
7111 						NI T763_;
7112 						NI res_9;
7113 						iX60gensym762_ = (NI)0;
7114 						colontmp__20 = (NI)0;
7115 						T763_ = ((tryScopeX60gensym657_.final ? tryScopeX60gensym657_.final->Sup.len : 0)-1);
7116 						colontmp__20 = T763_;
7117 						res_9 = colontmp__20;
7118 						{
7119 							while (1) {
7120 								if (!(((NI) 0) <= res_9)) goto LA765;
7121 								iX60gensym762_ = res_9;
7122 								add__ast_4797(finSectionX60gensym762_, tryScopeX60gensym657_.final->data[iX60gensym762_]);
7123 								res_9 -= ((NI) 1);
7124 							} LA765: ;
7125 						}
7126 					}
7127 					{
7128 						tyArray__AB6yfoUgfWM2NtGe9bzkCmw T770_;
7129 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T777_;
7130 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T778_;
7131 						if (!tryScopeX60gensym657_.needsTry) goto LA768_;
7132 						nimZeroMem((void*)T770_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
7133 						T770_[0] = cpyX60gensym762_;
7134 						{
7135 							NIM_BOOL T773_;
7136 							T773_ = (NIM_BOOL)0;
7137 							T773_ = isEmptyType__ast_4779((*tmpX60gensym762_).typ);
7138 							if (!T773_) goto LA774_;
7139 							T770_[1] = p__injectdestructors_105(tmpX60gensym762_, c, tryScopeX60gensym657_.parent, ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
7140 						}
7141 						goto LA771_;
7142 						LA774_: ;
7143 						{
7144 							T770_[1] = moveOrCopy__injectdestructors_110(dest, tmpX60gensym762_, c, tryScopeX60gensym657_.parent, isDecl);
7145 						}
7146 						LA771_: ;
7147 						T777_ = NIM_NIL;
7148 						T777_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126), T770_, 2);
7149 						T778_ = NIM_NIL;
7150 						T778_ = newTryFinally__lowerings_202(T777_, finSectionX60gensym762_);
7151 						add__ast_4797(resultX60gensym762_, T778_);
7152 					}
7153 					goto LA766_;
7154 					LA768_: ;
7155 					{
7156 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T780_;
7157 						add__ast_4797(resultX60gensym762_, cpyX60gensym762_);
7158 						add__ast_4797(resultX60gensym762_, finSectionX60gensym762_);
7159 						T780_ = NIM_NIL;
7160 						{
7161 							NIM_BOOL T783_;
7162 							T783_ = (NIM_BOOL)0;
7163 							T783_ = isEmptyType__ast_4779((*tmpX60gensym762_).typ);
7164 							if (!T783_) goto LA784_;
7165 							T780_ = p__injectdestructors_105(tmpX60gensym762_, c, tryScopeX60gensym657_.parent, ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
7166 						}
7167 						goto LA781_;
7168 						LA784_: ;
7169 						{
7170 							T780_ = moveOrCopy__injectdestructors_110(dest, tmpX60gensym762_, c, tryScopeX60gensym657_.parent, isDecl);
7171 						}
7172 						LA781_: ;
7173 						add__ast_4797(resultX60gensym762_, T780_);
7174 					}
7175 					LA766_: ;
7176 					{
7177 						NIM_BOOL T791_;
7178 						if (!!((tryScopeX60gensym657_.parent == ((tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ*) NIM_NIL)))) goto LA789_;
7179 						T791_ = (NIM_BOOL)0;
7180 						T791_ = (*tryScopeX60gensym657_.parent).needsTry;
7181 						if (T791_) goto LA792_;
7182 						T791_ = tryScopeX60gensym657_.needsTry;
7183 						LA792_: ;
7184 						(*tryScopeX60gensym657_.parent).needsTry = T791_;
7185 					}
7186 					LA789_: ;
7187 					T723_ = resultX60gensym762_;
7188 				}
7189 				LA724_: ;
7190 				add__ast_4797(result, T723_);
7191 				{
7192 					NI iX60gensym657__5;
7193 					NI colontmp__21;
7194 					NI i_30;
7195 					iX60gensym657__5 = (NI)0;
7196 					colontmp__21 = (NI)0;
7197 					colontmp__21 = len__ast_3198(ri);
7198 					i_30 = ((NI) 1);
7199 					{
7200 						while (1) {
7201 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* itX60gensym657__3;
7202 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* branchX60gensym657__3;
7203 							tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ branchScopeX60gensym657__2;
7204 							NI T796_;
7205 							if (!(i_30 < colontmp__21)) goto LA795;
7206 							iX60gensym657__5 = i_30;
7207 							itX60gensym657__3 = (*ri)._kind_6.sons->data[iX60gensym657__5];
7208 							branchX60gensym657__3 = copyTree__ast_4431(itX60gensym657__3);
7209 							nimZeroMem((void*)(&branchScopeX60gensym657__2), sizeof(tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ));
7210 							nestedScope__injectdestructors_72(s, (&branchScopeX60gensym657__2));
7211 							T796_ = (NI)0;
7212 							T796_ = len__ast_3198(branchX60gensym657__3);
7213 							{
7214 								NIM_BOOL T799_;
7215 								NIM_BOOL T800_;
7216 								NI T801_;
7217 								tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T806_;
7218 								T799_ = (NIM_BOOL)0;
7219 								T800_ = (NIM_BOOL)0;
7220 								T801_ = (NI)0;
7221 								T801_ = len__ast_3198(itX60gensym657__3);
7222 								T800_ = isEmptyType__ast_4779((*(*itX60gensym657__3)._kind_6.sons->data[(NI)(T801_ - ((NI) 1))]).typ);
7223 								if (T800_) goto LA802_;
7224 								T800_ = NIM_TRUE;
7225 								LA802_: ;
7226 								T799_ = T800_;
7227 								if (T799_) goto LA803_;
7228 								T799_ = ((*itX60gensym657__3).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 107));
7229 								LA803_: ;
7230 								if (!T799_) goto LA804_;
7231 								T806_ = NIM_NIL;
7232 								{
7233 									NI T811_;
7234 									if (!((*itX60gensym657__3).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 107))) goto LA809_;
7235 									T811_ = (NI)0;
7236 									T811_ = len__ast_3198(itX60gensym657__3);
7237 									T806_ = p__injectdestructors_105((*itX60gensym657__3)._kind_6.sons->data[(NI)(T811_ - ((NI) 1))], c, (&branchScopeX60gensym657__2), ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
7238 								}
7239 								goto LA807_;
7240 								LA809_: ;
7241 								{
7242 									{
7243 										NI T815_;
7244 										NIM_BOOL T816_;
7245 										NI T819_;
7246 										T815_ = (NI)0;
7247 										T815_ = len__ast_3198(itX60gensym657__3);
7248 										T816_ = (NIM_BOOL)0;
7249 										T816_ = isEmptyType__ast_4779((*(*itX60gensym657__3)._kind_6.sons->data[(NI)(T815_ - ((NI) 1))]).typ);
7250 										if (!T816_) goto LA817_;
7251 										T819_ = (NI)0;
7252 										T819_ = len__ast_3198(itX60gensym657__3);
7253 										T806_ = p__injectdestructors_105((*itX60gensym657__3)._kind_6.sons->data[(NI)(T819_ - ((NI) 1))], c, (&branchScopeX60gensym657__2), ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
7254 									}
7255 									goto LA813_;
7256 									LA817_: ;
7257 									{
7258 										NI T821_;
7259 										T821_ = (NI)0;
7260 										T821_ = len__ast_3198(itX60gensym657__3);
7261 										T806_ = moveOrCopy__injectdestructors_110(dest, (*itX60gensym657__3)._kind_6.sons->data[(NI)(T821_ - ((NI) 1))], c, (&branchScopeX60gensym657__2), isDecl);
7262 									}
7263 									LA813_: ;
7264 								}
7265 								LA807_: ;
7266 								asgnRef((void**) (&(*branchX60gensym657__3)._kind_6.sons->data[(NI)(T796_ - ((NI) 1))]), processScope__injectdestructors_7016(c, (&branchScopeX60gensym657__2), T806_));
7267 							}
7268 							goto LA797_;
7269 							LA804_: ;
7270 							{
7271 								tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* resultX60gensym793_;
7272 								NI T823_;
7273 								tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* tmpX60gensym793_;
7274 								NI T824_;
7275 								NI T825_;
7276 								tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* cpyX60gensym793_;
7277 								tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* finSectionX60gensym793_;
7278 								NI T852_;
7279 								T823_ = (NI)0;
7280 								T823_ = len__ast_3198(itX60gensym657__3);
7281 								resultX60gensym793_ = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126), (*(*itX60gensym657__3)._kind_6.sons->data[(NI)(T823_ - ((NI) 1))]).info);
7282 								T824_ = (NI)0;
7283 								T824_ = len__ast_3198(itX60gensym657__3);
7284 								T825_ = (NI)0;
7285 								T825_ = len__ast_3198(itX60gensym657__3);
7286 								tmpX60gensym793_ = getTemp__injectdestructors_61(c, branchScopeX60gensym657__2.parent, (*(*itX60gensym657__3)._kind_6.sons->data[(NI)(T824_ - ((NI) 1))]).typ, (*(*itX60gensym657__3)._kind_6.sons->data[(NI)(T825_ - ((NI) 1))]).info);
7287 								(*(*tmpX60gensym793_)._kind_4.sym).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 45)) & 63);
7288 								{
7289 									NI T828_;
7290 									NIM_BOOL T829_;
7291 									tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T832_;
7292 									NI T833_;
7293 									NI T834_;
7294 									T828_ = (NI)0;
7295 									T828_ = len__ast_3198(itX60gensym657__3);
7296 									T829_ = (NIM_BOOL)0;
7297 									T829_ = hasDestructor__injectdestructors_49((&(*c)), (*(*itX60gensym657__3)._kind_6.sons->data[(NI)(T828_ - ((NI) 1))]).typ);
7298 									if (!T829_) goto LA830_;
7299 									T832_ = NIM_NIL;
7300 									T832_ = genDestroy__injectdestructors_6527(c, tmpX60gensym793_);
7301 									unsureAsgnRef((void**) (&(*branchScopeX60gensym657__2.parent).final), (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) incrSeqV3((TGenericSeq*)((*branchScopeX60gensym657__2.parent).final), (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_)));
7302 									T833_ = (*branchScopeX60gensym657__2.parent).final->Sup.len++;
7303 									asgnRef((void**) (&(*branchScopeX60gensym657__2.parent).final->data[T833_]), T832_);
7304 									T834_ = (NI)0;
7305 									T834_ = len__ast_3198(itX60gensym657__3);
7306 									cpyX60gensym793_ = moveOrCopy__injectdestructors_110(tmpX60gensym793_, (*itX60gensym657__3)._kind_6.sons->data[(NI)(T834_ - ((NI) 1))], c, (&branchScopeX60gensym657__2), NIM_TRUE);
7307 								}
7308 								goto LA826_;
7309 								LA830_: ;
7310 								{
7311 									tyArray__AB6yfoUgfWM2NtGe9bzkCmw T836_;
7312 									NI T837_;
7313 									nimZeroMem((void*)T836_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
7314 									T836_[0] = tmpX60gensym793_;
7315 									T837_ = (NI)0;
7316 									T837_ = len__ast_3198(itX60gensym657__3);
7317 									T836_[1] = p__injectdestructors_105((*itX60gensym657__3)._kind_6.sons->data[(NI)(T837_ - ((NI) 1))], c, (&branchScopeX60gensym657__2), ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
7318 									cpyX60gensym793_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 74), T836_, 2);
7319 								}
7320 								LA826_: ;
7321 								{
7322 									NI T840_;
7323 									tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* varSectionX60gensym793_;
7324 									NI T843_;
7325 									T840_ = (branchScopeX60gensym657__2.vars ? branchScopeX60gensym657__2.vars->Sup.len : 0);
7326 									if (!(((NI) 0) < T840_)) goto LA841_;
7327 									T843_ = (NI)0;
7328 									T843_ = len__ast_3198(itX60gensym657__3);
7329 									varSectionX60gensym793_ = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 99), (*(*itX60gensym657__3)._kind_6.sons->data[(NI)(T843_ - ((NI) 1))]).info);
7330 									{
7331 										tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ** tmpX60gensym793__2;
7332 										NI i_31;
7333 										NI L_19;
7334 										NI T845_;
7335 										tmpX60gensym793__2 = (tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ**)0;
7336 										i_31 = ((NI) 0);
7337 										T845_ = (branchScopeX60gensym657__2.vars ? branchScopeX60gensym657__2.vars->Sup.len : 0);
7338 										L_19 = T845_;
7339 										{
7340 											while (1) {
7341 												tyArray__T6RKPw8xfAeNaoei9aZGzXg T848_;
7342 												NI T849_;
7343 												NI T850_;
7344 												tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T851_;
7345 												if (!(i_31 < L_19)) goto LA847;
7346 												tmpX60gensym793__2 = &branchScopeX60gensym657__2.vars->data[i_31];
7347 												nimZeroMem((void*)T848_, sizeof(tyArray__T6RKPw8xfAeNaoei9aZGzXg));
7348 												T848_[0] = newSymNode__ast_3716((*tmpX60gensym793__2));
7349 												T849_ = (NI)0;
7350 												T849_ = len__ast_3198(itX60gensym657__3);
7351 												T848_[1] = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1), (*(*itX60gensym657__3)._kind_6.sons->data[(NI)(T849_ - ((NI) 1))]).info);
7352 												T850_ = (NI)0;
7353 												T850_ = len__ast_3198(itX60gensym657__3);
7354 												T848_[2] = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1), (*(*itX60gensym657__3)._kind_6.sons->data[(NI)(T850_ - ((NI) 1))]).info);
7355 												T851_ = NIM_NIL;
7356 												T851_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 35), T848_, 3);
7357 												add__ast_4797(varSectionX60gensym793_, T851_);
7358 												i_31 += ((NI) 1);
7359 											} LA847: ;
7360 										}
7361 									}
7362 									add__ast_4797(resultX60gensym793_, varSectionX60gensym793_);
7363 								}
7364 								LA841_: ;
7365 								T852_ = (NI)0;
7366 								T852_ = len__ast_3198(itX60gensym657__3);
7367 								finSectionX60gensym793_ = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), (*(*itX60gensym657__3)._kind_6.sons->data[(NI)(T852_ - ((NI) 1))]).info);
7368 								{
7369 									tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** mX60gensym793_;
7370 									NI i_32;
7371 									NI L_20;
7372 									NI T854_;
7373 									mX60gensym793_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw**)0;
7374 									i_32 = ((NI) 0);
7375 									T854_ = (branchScopeX60gensym657__2.wasMoved ? branchScopeX60gensym657__2.wasMoved->Sup.len : 0);
7376 									L_20 = T854_;
7377 									{
7378 										while (1) {
7379 											if (!(i_32 < L_20)) goto LA856;
7380 											mX60gensym793_ = &branchScopeX60gensym657__2.wasMoved->data[i_32];
7381 											add__ast_4797(finSectionX60gensym793_, (*mX60gensym793_));
7382 											i_32 += ((NI) 1);
7383 										} LA856: ;
7384 									}
7385 								}
7386 								{
7387 									NI iX60gensym793_;
7388 									NI colontmp__22;
7389 									NI T858_;
7390 									NI res_10;
7391 									iX60gensym793_ = (NI)0;
7392 									colontmp__22 = (NI)0;
7393 									T858_ = ((branchScopeX60gensym657__2.final ? branchScopeX60gensym657__2.final->Sup.len : 0)-1);
7394 									colontmp__22 = T858_;
7395 									res_10 = colontmp__22;
7396 									{
7397 										while (1) {
7398 											if (!(((NI) 0) <= res_10)) goto LA860;
7399 											iX60gensym793_ = res_10;
7400 											add__ast_4797(finSectionX60gensym793_, branchScopeX60gensym657__2.final->data[iX60gensym793_]);
7401 											res_10 -= ((NI) 1);
7402 										} LA860: ;
7403 									}
7404 								}
7405 								{
7406 									tyArray__AB6yfoUgfWM2NtGe9bzkCmw T865_;
7407 									tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T866_;
7408 									tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T867_;
7409 									if (!branchScopeX60gensym657__2.needsTry) goto LA863_;
7410 									nimZeroMem((void*)T865_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
7411 									T865_[0] = cpyX60gensym793_;
7412 									T865_[1] = moveOrCopy__injectdestructors_110(dest, tmpX60gensym793_, c, branchScopeX60gensym657__2.parent, isDecl);
7413 									T866_ = NIM_NIL;
7414 									T866_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126), T865_, 2);
7415 									T867_ = NIM_NIL;
7416 									T867_ = newTryFinally__lowerings_202(T866_, finSectionX60gensym793_);
7417 									add__ast_4797(resultX60gensym793_, T867_);
7418 								}
7419 								goto LA861_;
7420 								LA863_: ;
7421 								{
7422 									tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T869_;
7423 									add__ast_4797(resultX60gensym793_, cpyX60gensym793_);
7424 									add__ast_4797(resultX60gensym793_, finSectionX60gensym793_);
7425 									T869_ = NIM_NIL;
7426 									T869_ = moveOrCopy__injectdestructors_110(dest, tmpX60gensym793_, c, branchScopeX60gensym657__2.parent, isDecl);
7427 									add__ast_4797(resultX60gensym793_, T869_);
7428 								}
7429 								LA861_: ;
7430 								{
7431 									NIM_BOOL T874_;
7432 									if (!!((branchScopeX60gensym657__2.parent == ((tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ*) NIM_NIL)))) goto LA872_;
7433 									T874_ = (NIM_BOOL)0;
7434 									T874_ = (*branchScopeX60gensym657__2.parent).needsTry;
7435 									if (T874_) goto LA875_;
7436 									T874_ = branchScopeX60gensym657__2.needsTry;
7437 									LA875_: ;
7438 									(*branchScopeX60gensym657__2.parent).needsTry = T874_;
7439 								}
7440 								LA872_: ;
7441 								asgnRef((void**) (&(*branchX60gensym657__3)._kind_6.sons->data[(NI)(T796_ - ((NI) 1))]), resultX60gensym793_);
7442 							}
7443 							LA797_: ;
7444 							add__ast_4797(result, branchX60gensym657__3);
7445 							i_30 += ((NI) 1);
7446 						} LA795: ;
7447 					}
7448 				}
7449 			}
7450 			break;
7451 			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 93):
7452 			{
7453 				result = copyTree__ast_4431(ri);
7454 				asgnRef((void**) (&(*(*result)._kind_6.sons->data[((NI) 1)])._kind_6.sons->data[((NI) 0)]), moveOrCopy__injectdestructors_110(dest, (*(*ri)._kind_6.sons->data[((NI) 1)])._kind_6.sons->data[((NI) 0)], c, s, isDecl));
7455 			}
7456 			break;
7457 			default:
7458 			{
7459 			}
7460 			break;
7461 			}
7462 		}
7463 		break;
7464 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 108):
7465 		{
7466 			result = pRaiseStmt__injectdestructors_7126(ri, c, s);
7467 		}
7468 		break;
7469 		default:
7470 		{
7471 			{
7472 				NIM_BOOL T882_;
7473 				NIM_BOOL T883_;
7474 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* snk_4;
7475 				tyArray__AB6yfoUgfWM2NtGe9bzkCmw T888_;
7476 				T882_ = (NIM_BOOL)0;
7477 				T883_ = (NIM_BOOL)0;
7478 				T883_ = isAnalysableFieldAccess__dfa_903(ri, (*c).owner);
7479 				if (!(T883_)) goto LA884_;
7480 				T883_ = isLastRead__injectdestructors_6103(ri, c);
7481 				LA884_: ;
7482 				T882_ = T883_;
7483 				if (!(T882_)) goto LA885_;
7484 				T882_ = canBeMoved__injectdestructors_6532((&(*c)), (*dest).typ);
7485 				LA885_: ;
7486 				if (!T882_) goto LA886_;
7487 				snk_4 = genSink__injectdestructors_6564(c, dest, ri, isDecl);
7488 				nimZeroMem((void*)T888_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
7489 				T888_[0] = snk_4;
7490 				T888_[1] = genWasMoved__injectdestructors_6739(c, ri);
7491 				result = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), T888_, 2);
7492 			}
7493 			goto LA880_;
7494 			LA886_: ;
7495 			{
7496 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T890_;
7497 				result = genCopy__injectdestructors_6647(c, dest, ri);
7498 				T890_ = NIM_NIL;
7499 				T890_ = p__injectdestructors_105(ri, c, s, ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 1));
7500 				add__ast_4797(result, T890_);
7501 				finishCopy__injectdestructors_6598(c, result, dest, NIM_FALSE);
7502 			}
7503 			LA880_: ;
7504 		}
7505 		break;
7506 		}
7507 	}
7508 	LA1_: ;
7509 	}BeforeRet_: ;
7510 	return result;
7511 }
N_INLINE(NI,safeLen__ast_3191)7512 static N_INLINE(NI, safeLen__ast_3191)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
7513 	NI result;
7514 	result = (NI)0;
7515 	{
7516 		if (!((*n).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 0) && (*n).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23))) goto LA3_;
7517 		result = ((NI) 0);
7518 	}
7519 	goto LA1_;
7520 	LA3_: ;
7521 	{
7522 		result = len__ast_3198(n);
7523 	}
7524 	LA1_: ;
7525 	return result;
7526 }
N_NIMCALL(NIM_BOOL,containsConstSeq__injectdestructors_6860)7527 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, containsConstSeq__injectdestructors_6860)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
7528 	NIM_BOOL result;
7529 {	result = (NIM_BOOL)0;
7530 	{
7531 		NIM_BOOL T3_;
7532 		NIM_BOOL T4_;
7533 		NIM_BOOL T5_;
7534 		NI T7_;
7535 		T3_ = (NIM_BOOL)0;
7536 		T4_ = (NIM_BOOL)0;
7537 		T5_ = (NIM_BOOL)0;
7538 		T5_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 41));
7539 		if (!(T5_)) goto LA6_;
7540 		T7_ = (NI)0;
7541 		T7_ = len__ast_3198(n);
7542 		T5_ = (((NI) 0) < T7_);
7543 		LA6_: ;
7544 		T4_ = T5_;
7545 		if (!(T4_)) goto LA8_;
7546 		T4_ = !(((*n).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
7547 		LA8_: ;
7548 		T3_ = T4_;
7549 		if (!(T3_)) goto LA9_;
7550 		T3_ = isDangerousSeq__injectdestructors_6847((*n).typ);
7551 		LA9_: ;
7552 		if (!T3_) goto LA10_;
7553 		result = NIM_TRUE;
7554 		goto BeforeRet_;
7555 	}
7556 	LA10_: ;
7557 	result = NIM_FALSE;
7558 	switch ((*n).kind) {
7559 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 33):
7560 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 34):
7561 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 58):
7562 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 59):
7563 	{
7564 		result = containsConstSeq__injectdestructors_6860((*n)._kind_6.sons->data[((NI) 1)]);
7565 	}
7566 	break;
7567 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 38):
7568 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 155):
7569 	{
7570 		{
7571 			NI i;
7572 			NI colontmp_;
7573 			NI i_2;
7574 			i = (NI)0;
7575 			colontmp_ = (NI)0;
7576 			colontmp_ = len__ast_3198(n);
7577 			i_2 = ((NI) 1);
7578 			{
7579 				while (1) {
7580 					if (!(i_2 < colontmp_)) goto LA16;
7581 					i = i_2;
7582 					{
7583 						NIM_BOOL T19_;
7584 						T19_ = (NIM_BOOL)0;
7585 						T19_ = containsConstSeq__injectdestructors_6860((*n)._kind_6.sons->data[i]);
7586 						if (!T19_) goto LA20_;
7587 						result = NIM_TRUE;
7588 						goto BeforeRet_;
7589 					}
7590 					LA20_: ;
7591 					i_2 += ((NI) 1);
7592 				} LA16: ;
7593 			}
7594 		}
7595 	}
7596 	break;
7597 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 39):
7598 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 41):
7599 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 37):
7600 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 160):
7601 	{
7602 		{
7603 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* son;
7604 			son = NIM_NIL;
7605 			{
7606 				NI i_3;
7607 				NI colontmp__2;
7608 				NI i_4;
7609 				i_3 = (NI)0;
7610 				colontmp__2 = (NI)0;
7611 				colontmp__2 = safeLen__ast_3191(n);
7612 				i_4 = ((NI) 0);
7613 				{
7614 					while (1) {
7615 						if (!(i_4 < colontmp__2)) goto LA26;
7616 						i_3 = i_4;
7617 						son = (*n)._kind_6.sons->data[i_3];
7618 						{
7619 							NIM_BOOL T29_;
7620 							T29_ = (NIM_BOOL)0;
7621 							T29_ = containsConstSeq__injectdestructors_6860(son);
7622 							if (!T29_) goto LA30_;
7623 							result = NIM_TRUE;
7624 							goto BeforeRet_;
7625 						}
7626 						LA30_: ;
7627 						i_4 += ((NI) 1);
7628 					} LA26: ;
7629 				}
7630 			}
7631 		}
7632 	}
7633 	break;
7634 	default:
7635 	{
7636 	}
7637 	break;
7638 	}
7639 	}BeforeRet_: ;
7640 	return result;
7641 }
N_NIMCALL(NIM_BOOL,isCapturedVar__injectdestructors_6797)7642 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isCapturedVar__injectdestructors_6797)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
7643 	NIM_BOOL result;
7644 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* root;
7645 	result = (NIM_BOOL)0;
7646 	root = getRoot__trees_390(n);
7647 	{
7648 		if (!!((root == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA3_;
7649 		result = ((NU8)((*(*root).name).s->data[((NI) 0)]) == (NU8)(58));
7650 	}
7651 	LA3_: ;
7652 	return result;
7653 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,passCopyToSink__injectdestructors_6805)7654 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, passCopyToSink__injectdestructors_6805)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_Con__mVYRtnERc9advo79cBQUudxg* c, tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ* s) {
7655 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
7656 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* tmp;
7657 	result = NIM_NIL;
7658 	result = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126), (*n).info, (*n).typ);
7659 	tmp = getTemp__injectdestructors_61(c, s, (*n).typ, (*n).info);
7660 	{
7661 		NIM_BOOL T3_;
7662 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T6_;
7663 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* m;
7664 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T7_;
7665 		T3_ = (NIM_BOOL)0;
7666 		T3_ = hasDestructor__injectdestructors_49((&(*c)), (*n).typ);
7667 		if (!T3_) goto LA4_;
7668 		T6_ = NIM_NIL;
7669 		T6_ = genWasMoved__injectdestructors_6739(c, tmp);
7670 		add__ast_4797(result, T6_);
7671 		m = genCopy__injectdestructors_6647(c, tmp, n);
7672 		T7_ = NIM_NIL;
7673 		T7_ = p__injectdestructors_105(n, c, s, ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
7674 		add__ast_4797(m, T7_);
7675 		finishCopy__injectdestructors_6598(c, m, n, NIM_TRUE);
7676 		add__ast_4797(result, m);
7677 		{
7678 			NIM_BOOL T10_;
7679 			NIM_BOOL T11_;
7680 			NIM_BOOL T12_;
7681 			NIM_BOOL T14_;
7682 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T16_;
7683 			NimStringDesc* T20_;
7684 			NimStringDesc* T21_;
7685 			T10_ = (NIM_BOOL)0;
7686 			T11_ = (NIM_BOOL)0;
7687 			T12_ = (NIM_BOOL)0;
7688 			T12_ = isLValue__parampatterns_497(n);
7689 			if (!(T12_)) goto LA13_;
7690 			T14_ = (NIM_BOOL)0;
7691 			T14_ = isCapturedVar__injectdestructors_6797(n);
7692 			T12_ = !(T14_);
7693 			LA13_: ;
7694 			T11_ = T12_;
7695 			if (!(T11_)) goto LA15_;
7696 			T16_ = NIM_NIL;
7697 			T16_ = skipTypes__ast_3735((*n).typ, TM__dJ4qrEWDmqGA8FWJ0TYKJQ_38);
7698 			T11_ = !(((*T16_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22)));
7699 			LA15_: ;
7700 			T10_ = T11_;
7701 			if (!(T10_)) goto LA17_;
7702 			T10_ = ((*c).inSpawn == ((NI) 0));
7703 			LA17_: ;
7704 			if (!T10_) goto LA18_;
7705 			T20_ = NIM_NIL;
7706 			T20_ = dollar___renderer_2106(n);
7707 			T21_ = NIM_NIL;
7708 			T21_ = nsuFormatSingleElem(((NimStringDesc*) &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_39), T20_);
7709 			liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 93), T21_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__dJ4qrEWDmqGA8FWJ0TYKJQ_40, NIM_FALSE);
7710 		}
7711 		LA18_: ;
7712 	}
7713 	goto LA1_;
7714 	LA4_: ;
7715 	{
7716 		tyArray__AB6yfoUgfWM2NtGe9bzkCmw T32_;
7717 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T33_;
7718 		{
7719 			if (!((48 &((NU16)1<<((NU)((*(*(*c).graph).config).selectedGC)&15U)))!=0)) goto LA25_;
7720 		}
7721 		LA25_: ;
7722 		{
7723 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T29_;
7724 			T29_ = NIM_NIL;
7725 			T29_ = skipTypes__ast_3735((*n).typ, TM__dJ4qrEWDmqGA8FWJ0TYKJQ_38);
7726 			if (!((*T29_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 27) || (*T29_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 48))) goto LA30_;
7727 			liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_41), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__dJ4qrEWDmqGA8FWJ0TYKJQ_42, NIM_FALSE);
7728 		}
7729 		LA30_: ;
7730 		nimZeroMem((void*)T32_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
7731 		T32_[0] = tmp;
7732 		T32_[1] = p__injectdestructors_105(n, c, s, ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
7733 		T33_ = NIM_NIL;
7734 		T33_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 73), T32_, 2);
7735 		add__ast_4797(result, T33_);
7736 	}
7737 	LA1_: ;
7738 	add__ast_4797(result, tmp);
7739 	return result;
7740 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,ensureDestruction__injectdestructors_6885)7741 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, ensureDestruction__injectdestructors_6885)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* arg, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* orig, tyObject_Con__mVYRtnERc9advo79cBQUudxg* c, tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ* s) {
7742 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
7743 	result = NIM_NIL;
7744 	{
7745 		NIM_BOOL T3_;
7746 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* tmp;
7747 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T7_;
7748 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T8_;
7749 		NI T9_;
7750 		T3_ = (NIM_BOOL)0;
7751 		T3_ = !(((*arg).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
7752 		if (!(T3_)) goto LA4_;
7753 		T3_ = hasDestructor__injectdestructors_49((&(*c)), (*arg).typ);
7754 		LA4_: ;
7755 		if (!T3_) goto LA5_;
7756 		result = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126), (*arg).info, (*arg).typ);
7757 		tmp = getTemp__injectdestructors_61(c, s, (*arg).typ, (*arg).info);
7758 		T7_ = NIM_NIL;
7759 		T7_ = genSink__injectdestructors_6564(c, tmp, arg, NIM_TRUE);
7760 		add__ast_4797(result, T7_);
7761 		add__ast_4797(result, tmp);
7762 		T8_ = NIM_NIL;
7763 		T8_ = genDestroy__injectdestructors_6527(c, tmp);
7764 		unsureAsgnRef((void**) (&(*s).final), (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) incrSeqV3((TGenericSeq*)((*s).final), (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_)));
7765 		T9_ = (*s).final->Sup.len++;
7766 		asgnRef((void**) (&(*s).final->data[T9_]), T8_);
7767 	}
7768 	goto LA1_;
7769 	LA5_: ;
7770 	{
7771 		result = arg;
7772 	}
7773 	LA1_: ;
7774 	return result;
7775 }
N_INLINE(NI,len__ast_4002)7776 static N_INLINE(NI, len__ast_4002)(tyObject_TType__facALICuu8zUj0hjvbTLFg* n) {
7777 	NI result;
7778 	NI T1_;
7779 	result = (NI)0;
7780 	T1_ = ((*n).sons ? (*n).sons->Sup.len : 0);
7781 	result = T1_;
7782 	return result;
7783 }
N_INLINE(NIM_BOOL,isCompileTimeOnly__types_3528)7784 static N_INLINE(NIM_BOOL, isCompileTimeOnly__types_3528)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
7785 	NIM_BOOL result;
7786 	result = (NIM_BOOL)0;
7787 	result = ((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8) || (*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60));
7788 	return result;
7789 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,genDefaultCall__injectdestructors_6751)7790 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, genDefaultCall__injectdestructors_6751)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_Con__mVYRtnERc9advo79cBQUudxg* c, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info) {
7791 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
7792 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T1_;
7793 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T2_;
7794 	result = NIM_NIL;
7795 	result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27), info);
7796 	T1_ = NIM_NIL;
7797 	T1_ = createMagic__modulegraphs_9008((*c).graph, (*c).idgen, ((NimStringDesc*) &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_44), ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 152));
7798 	T2_ = NIM_NIL;
7799 	T2_ = newSymNode__ast_3716(T1_);
7800 	add__ast_4797(result, T2_);
7801 	asgnRef((void**) (&(*result).typ), t);
7802 	return result;
7803 }
N_NIMCALL(void,pVarTopLevel__injectdestructors_6967)7804 N_LIB_PRIVATE N_NIMCALL(void, pVarTopLevel__injectdestructors_6967)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* v, tyObject_Con__mVYRtnERc9advo79cBQUudxg* c, tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ* s, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* res) {
7805 	NI T1_;
7806 	unsureAsgnRef((void**) (&(*s).vars), (tySequence__eHqUwlHGGaPw0TDPDeL79cQ*) incrSeqV3((TGenericSeq*)((*s).vars), (&NTIseqLpsymT__eHqUwlHGGaPw0TDPDeL79cQ_)));
7807 	T1_ = (*s).vars->Sup.len++;
7808 	asgnRef((void**) (&(*s).vars->data[T1_]), (*v)._kind_4.sym);
7809 	{
7810 		NIM_BOOL T4_;
7811 		NIM_BOOL T5_;
7812 		T4_ = (NIM_BOOL)0;
7813 		T5_ = (NIM_BOOL)0;
7814 		T5_ = ((*v).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
7815 		if (!(T5_)) goto LA6_;
7816 		T5_ = ((*(*v)._kind_4.sym).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 5));
7817 		LA6_: ;
7818 		T4_ = T5_;
7819 		if (!(T4_)) goto LA7_;
7820 		T4_ = ((*(*(*v)._kind_4.sym).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18));
7821 		LA7_: ;
7822 		if (!T4_) goto LA8_;
7823 		{
7824 			tyArray__AB6yfoUgfWM2NtGe9bzkCmw T14_;
7825 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T15_;
7826 			if (!(((NI) 0) < (*c).inLoop)) goto LA12_;
7827 			nimZeroMem((void*)T14_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
7828 			T14_[0] = v;
7829 			T14_[1] = genDefaultCall__injectdestructors_6751((*v).typ, (&(*c)), (*v).info);
7830 			T15_ = NIM_NIL;
7831 			T15_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 74), T14_, 2);
7832 			add__ast_4797(res, T15_);
7833 		}
7834 		LA12_: ;
7835 	}
7836 	goto LA2_;
7837 	LA8_: ;
7838 	{
7839 		NIM_BOOL T17_;
7840 		T17_ = (NIM_BOOL)0;
7841 		T17_ = !((((*(*v)._kind_4.sym).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 26))&63U)))!=0));
7842 		if (!(T17_)) goto LA18_;
7843 		T17_ = !((((*(*v)._kind_4.sym).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 41))&63U)))!=0));
7844 		LA18_: ;
7845 		if (!T17_) goto LA19_;
7846 		{
7847 			NIM_BOOL T23_;
7848 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T27_;
7849 			NI T28_;
7850 			T23_ = (NIM_BOOL)0;
7851 			T23_ = (((*(*v)._kind_4.sym).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 3))&63U)))!=0);
7852 			if (!(T23_)) goto LA24_;
7853 			T23_ = ((*s).parent == ((tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ*) NIM_NIL));
7854 			LA24_: ;
7855 			if (!T23_) goto LA25_;
7856 			T27_ = NIM_NIL;
7857 			T27_ = genDestroy__injectdestructors_6527(c, v);
7858 			asgnRef((void**) (&(*(*c).graph).globalDestructors), (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) incrSeqV3((TGenericSeq*)((*(*c).graph).globalDestructors), (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_)));
7859 			T28_ = (*(*c).graph).globalDestructors->Sup.len++;
7860 			asgnRef((void**) (&(*(*c).graph).globalDestructors->data[T28_]), T27_);
7861 		}
7862 		goto LA21_;
7863 		LA25_: ;
7864 		{
7865 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T30_;
7866 			NI T31_;
7867 			T30_ = NIM_NIL;
7868 			T30_ = genDestroy__injectdestructors_6527(c, v);
7869 			unsureAsgnRef((void**) (&(*s).final), (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) incrSeqV3((TGenericSeq*)((*s).final), (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_)));
7870 			T31_ = (*s).final->Sup.len++;
7871 			asgnRef((void**) (&(*s).final->data[T31_]), T30_);
7872 		}
7873 		LA21_: ;
7874 	}
7875 	goto LA2_;
7876 	LA19_: ;
7877 	LA2_: ;
7878 }
N_NIMCALL(void,cycleCheck__injectdestructors_6908)7879 N_LIB_PRIVATE N_NIMCALL(void, cycleCheck__injectdestructors_6908)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_Con__mVYRtnERc9advo79cBQUudxg* c) {
7880 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* value;
7881 	tyObject_TType__facALICuu8zUj0hjvbTLFg* destTyp;
7882 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x;
7883 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* field;
7884 {	{
7885 		if (!!(((*(*(*c).graph).config).selectedGC == ((tyEnum_TGCMode__tkz389aDYNd8ykeZszCuBSw) 4)))) goto LA3_;
7886 		goto BeforeRet_;
7887 	}
7888 	LA3_: ;
7889 	value = (*n)._kind_6.sons->data[((NI) 1)];
7890 	{
7891 		if (!((*value).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 155))) goto LA7_;
7892 		value = (*value)._kind_6.sons->data[((NI) 1)];
7893 	}
7894 	LA7_: ;
7895 	{
7896 		if (!((*value).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23))) goto LA11_;
7897 		goto BeforeRet_;
7898 	}
7899 	LA11_: ;
7900 	destTyp = skipTypes__ast_3735((*(*n)._kind_6.sons->data[((NI) 0)]).typ, TM__dJ4qrEWDmqGA8FWJ0TYKJQ_38);
7901 	{
7902 		NIM_BOOL T15_;
7903 		NIM_BOOL T17_;
7904 		T15_ = (NIM_BOOL)0;
7905 		T15_ = !(((*destTyp).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22)));
7906 		if (!(T15_)) goto LA16_;
7907 		T17_ = (NIM_BOOL)0;
7908 		T17_ = ((*destTyp).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25));
7909 		if (!(T17_)) goto LA18_;
7910 		T17_ = ((*destTyp).callConv == ((tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA) 9));
7911 		LA18_: ;
7912 		T15_ = !(T17_);
7913 		LA16_: ;
7914 		if (!T15_) goto LA19_;
7915 		goto BeforeRet_;
7916 	}
7917 	LA19_: ;
7918 	x = (*n)._kind_6.sons->data[((NI) 0)];
7919 	field = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL);
7920 	{
7921 		while (1) {
7922 			{
7923 				if (!((*x).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 45))) goto LA25_;
7924 				field = (*x)._kind_6.sons->data[((NI) 1)];
7925 				{
7926 					NIM_BOOL T29_;
7927 					T29_ = (NIM_BOOL)0;
7928 					T29_ = ((*field).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
7929 					if (!(T29_)) goto LA30_;
7930 					T29_ = (((*(*field)._kind_4.sym).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 41))&63U)))!=0);
7931 					LA30_: ;
7932 					if (!T29_) goto LA31_;
7933 					goto BeforeRet_;
7934 				}
7935 				LA31_: ;
7936 				x = (*x)._kind_6.sons->data[((NI) 0)];
7937 			}
7938 			goto LA23_;
7939 			LA25_: ;
7940 			{
7941 				if (!((*x).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 42) || (*x).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 46) || (*x).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 47) || (*x).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 65))) goto LA34_;
7942 				x = (*x)._kind_6.sons->data[((NI) 0)];
7943 			}
7944 			goto LA23_;
7945 			LA34_: ;
7946 			{
7947 				goto LA21;
7948 			}
7949 			LA23_: ;
7950 			{
7951 				NIM_BOOL T39_;
7952 				NimStringDesc* msg;
7953 				T39_ = (NIM_BOOL)0;
7954 				T39_ = exprStructuralEquivalent__trees_56(x, value, NIM_TRUE);
7955 				if (!T39_) goto LA40_;
7956 				{
7957 					tyArray__Re75IspeoxXy2oCZHwcRrA T46_;
7958 					if (!!((field == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA44_;
7959 					nimZeroMem((void*)T46_, sizeof(tyArray__Re75IspeoxXy2oCZHwcRrA));
7960 					T46_[0] = dollar___renderer_2106(n);
7961 					T46_[1] = dollar___renderer_2106(field);
7962 					msg = nsuFormatOpenArray(((NimStringDesc*) &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_45), T46_, 2);
7963 				}
7964 				goto LA42_;
7965 				LA44_: ;
7966 				{
7967 					tyArray__nHXaesL0DJZHyVS07ARPRA T48_;
7968 					nimZeroMem((void*)T48_, sizeof(tyArray__nHXaesL0DJZHyVS07ARPRA));
7969 					T48_[0] = dollar___renderer_2106(n);
7970 					msg = nsuFormatOpenArray(((NimStringDesc*) &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_46), T48_, 1);
7971 				}
7972 				LA42_: ;
7973 				liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 56), msg, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__dJ4qrEWDmqGA8FWJ0TYKJQ_47, NIM_FALSE);
7974 				goto LA21;
7975 			}
7976 			LA40_: ;
7977 		}
7978 	} LA21: ;
7979 	}BeforeRet_: ;
7980 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,genDiscriminantAsgn__injectdestructors_6668)7981 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, genDiscriminantAsgn__injectdestructors_6668)(tyObject_Con__mVYRtnERc9advo79cBQUudxg* c, tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ* s, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
7982 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
7983 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* tmp;
7984 	tyArray__cypz0nHJsd9cnKgpO7fP5hQ T1_;
7985 	tyArray__AB6yfoUgfWM2NtGe9bzkCmw T2_;
7986 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T3_;
7987 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T4_;
7988 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* le;
7989 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* leDotExpr;
7990 	tyObject_TType__facALICuu8zUj0hjvbTLFg* objType;
7991 	tyArray__AB6yfoUgfWM2NtGe9bzkCmw T34_;
7992 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T35_;
7993 {	result = NIM_NIL;
7994 	tmp = getTemp__injectdestructors_61(c, s, (*(*n)._kind_6.sons->data[((NI) 1)]).typ, (*n).info);
7995 	nimZeroMem((void*)T1_, sizeof(tyArray__cypz0nHJsd9cnKgpO7fP5hQ));
7996 	result = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), T1_, 0);
7997 	nimZeroMem((void*)T2_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
7998 	T2_[0] = tmp;
7999 	T2_[1] = p__injectdestructors_105((*n)._kind_6.sons->data[((NI) 1)], c, s, ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 1));
8000 	T3_ = NIM_NIL;
8001 	T3_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 74), T2_, 2);
8002 	add__ast_4797(result, T3_);
8003 	T4_ = NIM_NIL;
8004 	T4_ = p__injectdestructors_105((*n)._kind_6.sons->data[((NI) 0)], c, s, ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
8005 	add__ast_4797(result, T4_);
8006 	le = p__injectdestructors_105((*n)._kind_6.sons->data[((NI) 0)], c, s, ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
8007 	{
8008 		if (!((*le).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 46))) goto LA7_;
8009 		leDotExpr = (*le)._kind_6.sons->data[((NI) 0)];
8010 	}
8011 	goto LA5_;
8012 	LA7_: ;
8013 	{
8014 		leDotExpr = le;
8015 	}
8016 	LA5_: ;
8017 	objType = (*(*leDotExpr)._kind_6.sons->data[((NI) 0)]).typ;
8018 	{
8019 		NIM_BOOL T12_;
8020 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* branchDestructor;
8021 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* cond;
8022 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T25_;
8023 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T26_;
8024 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T27_;
8025 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* notExpr;
8026 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T28_;
8027 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T29_;
8028 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T30_;
8029 		tyArray__jlWPjgtbdjE069arIWHC9c9bg T31_;
8030 		tyArray__AB6yfoUgfWM2NtGe9bzkCmw T32_;
8031 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T33_;
8032 		T12_ = (NIM_BOOL)0;
8033 		T12_ = hasDestructor__injectdestructors_49((&(*c)), objType);
8034 		if (!T12_) goto LA13_;
8035 		{
8036 			NIM_BOOL T17_;
8037 			tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T18_;
8038 			tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T20_;
8039 			tyArray__AB6yfoUgfWM2NtGe9bzkCmw T23_;
8040 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T24_;
8041 			T17_ = (NIM_BOOL)0;
8042 			T18_ = NIM_NIL;
8043 			T18_ = getAttachedOp__modulegraphs_4011((*c).graph, objType, ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) 0));
8044 			T17_ = !((T18_ == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
8045 			if (!(T17_)) goto LA19_;
8046 			T20_ = NIM_NIL;
8047 			T20_ = getAttachedOp__modulegraphs_4011((*c).graph, objType, ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) 0));
8048 			T17_ = (((*T20_).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 35))&63U)))!=0);
8049 			LA19_: ;
8050 			if (!T17_) goto LA21_;
8051 			liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_48), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__dJ4qrEWDmqGA8FWJ0TYKJQ_49, NIM_FALSE);
8052 			nimZeroMem((void*)T23_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
8053 			T23_[0] = le;
8054 			T23_[1] = tmp;
8055 			T24_ = NIM_NIL;
8056 			T24_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 74), T23_, 2);
8057 			add__ast_4797(result, T24_);
8058 			goto BeforeRet_;
8059 		}
8060 		LA21_: ;
8061 		branchDestructor = produceDestructorForDiscriminator__liftdestructors_2002((*c).graph, objType, (*(*leDotExpr)._kind_6.sons->data[((NI) 1)])._kind_4.sym, (*n).info, (*c).idgen);
8062 		T25_ = NIM_NIL;
8063 		T25_ = getSysType__magicsys_60((*c).graph, unknownLineInfo__lineinfos_280, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 1));
8064 		cond = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 29), (*n).info, T25_);
8065 		T26_ = NIM_NIL;
8066 		T26_ = getMagicEqSymForType__magicsys_171((*c).graph, (*le).typ, (*n).info);
8067 		T27_ = NIM_NIL;
8068 		T27_ = newSymNode__ast_3716(T26_);
8069 		add__ast_4797(cond, T27_);
8070 		add__ast_4797(cond, le);
8071 		add__ast_4797(cond, tmp);
8072 		T28_ = NIM_NIL;
8073 		T28_ = getSysType__magicsys_60((*c).graph, unknownLineInfo__lineinfos_280, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 1));
8074 		notExpr = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 30), (*n).info, T28_);
8075 		T29_ = NIM_NIL;
8076 		T29_ = createMagic__modulegraphs_9008((*c).graph, (*c).idgen, ((NimStringDesc*) &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_50), ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 96));
8077 		T30_ = NIM_NIL;
8078 		T30_ = newSymNode__ast_3716(T29_);
8079 		add__ast_4797(notExpr, T30_);
8080 		add__ast_4797(notExpr, cond);
8081 		nimZeroMem((void*)T31_, sizeof(tyArray__jlWPjgtbdjE069arIWHC9c9bg));
8082 		nimZeroMem((void*)T32_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
8083 		T32_[0] = notExpr;
8084 		T32_[1] = genOp__injectdestructors_6420(c, branchDestructor, le);
8085 		T31_[0] = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 86), T32_, 2);
8086 		T33_ = NIM_NIL;
8087 		T33_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 92), T31_, 1);
8088 		add__ast_4797(result, T33_);
8089 	}
8090 	LA13_: ;
8091 	nimZeroMem((void*)T34_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
8092 	T34_[0] = le;
8093 	T34_[1] = tmp;
8094 	T35_ = NIM_NIL;
8095 	T35_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 74), T34_, 2);
8096 	add__ast_4797(result, T35_);
8097 	}BeforeRet_: ;
8098 	return result;
8099 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,p__injectdestructors_105)8100 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, p__injectdestructors_105)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_Con__mVYRtnERc9advo79cBQUudxg* c, tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ* s, tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw mode) {
8101 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
8102 {	result = NIM_NIL;
8103 	{
8104 		if (!((TM__dJ4qrEWDmqGA8FWJ0TYKJQ_13[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) goto LA3_;
8105 		switch ((*n).kind) {
8106 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115):
8107 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126):
8108 		{
8109 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T16_;
8110 			{
8111 				NI T8_;
8112 				T8_ = (NI)0;
8113 				T8_ = len__ast_3198(n);
8114 				if (!(T8_ == ((NI) 0))) goto LA9_;
8115 				result = n;
8116 				goto BeforeRet_;
8117 			}
8118 			LA9_: ;
8119 			result = copyNode__ast_4336(n);
8120 			{
8121 				NI iX60gensym198_;
8122 				NI colontmp_;
8123 				NI T12_;
8124 				NI i;
8125 				iX60gensym198_ = (NI)0;
8126 				colontmp_ = (NI)0;
8127 				T12_ = (NI)0;
8128 				T12_ = len__ast_3198(n);
8129 				colontmp_ = (NI)(T12_ - ((NI) 1));
8130 				i = ((NI) 0);
8131 				{
8132 					while (1) {
8133 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T15_;
8134 						if (!(i < colontmp_)) goto LA14;
8135 						iX60gensym198_ = i;
8136 						T15_ = NIM_NIL;
8137 						T15_ = p__injectdestructors_105((*n)._kind_6.sons->data[iX60gensym198_], c, s, ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
8138 						add__ast_4797(result, T15_);
8139 						i += ((NI) 1);
8140 					} LA14: ;
8141 				}
8142 			}
8143 			T16_ = NIM_NIL;
8144 			{
8145 				NI T19_;
8146 				NIM_BOOL T20_;
8147 				NI T23_;
8148 				T19_ = (NI)0;
8149 				T19_ = len__ast_3198(n);
8150 				T20_ = (NIM_BOOL)0;
8151 				T20_ = isEmptyType__ast_4779((*(*n)._kind_6.sons->data[(NI)(T19_ - ((NI) 1))]).typ);
8152 				if (!T20_) goto LA21_;
8153 				T23_ = (NI)0;
8154 				T23_ = len__ast_3198(n);
8155 				T16_ = p__injectdestructors_105((*n)._kind_6.sons->data[(NI)(T23_ - ((NI) 1))], c, s, ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
8156 			}
8157 			goto LA17_;
8158 			LA21_: ;
8159 			{
8160 				NI T25_;
8161 				T25_ = (NI)0;
8162 				T25_ = len__ast_3198(n);
8163 				T16_ = p__injectdestructors_105((*n)._kind_6.sons->data[(NI)(T25_ - ((NI) 1))], c, s, mode);
8164 			}
8165 			LA17_: ;
8166 			add__ast_4797(result, T16_);
8167 		}
8168 		break;
8169 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 97):
8170 		{
8171 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T27_;
8172 			result = copyNode__ast_4336(n);
8173 			T27_ = NIM_NIL;
8174 			T27_ = p__injectdestructors_105((*n)._kind_6.sons->data[((NI) 0)], c, s, ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
8175 			add__ast_4797(result, T27_);
8176 			{
8177 				NI iX60gensym198__2;
8178 				NI colontmp__2;
8179 				NI i_2;
8180 				iX60gensym198__2 = (NI)0;
8181 				colontmp__2 = (NI)0;
8182 				colontmp__2 = len__ast_3198(n);
8183 				i_2 = ((NI) 1);
8184 				{
8185 					while (1) {
8186 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* itX60gensym198_;
8187 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* branchX60gensym198_;
8188 						tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ ofScopeX60gensym198_;
8189 						NI T35_;
8190 						if (!(i_2 < colontmp__2)) goto LA30;
8191 						iX60gensym198__2 = i_2;
8192 						itX60gensym198_ = (*n)._kind_6.sons->data[iX60gensym198__2];
8193 						branchX60gensym198_ = shallowCopy__ast_4413(itX60gensym198_);
8194 						{
8195 							NI jX60gensym198_;
8196 							NI colontmp__3;
8197 							NI T32_;
8198 							NI i_3;
8199 							jX60gensym198_ = (NI)0;
8200 							colontmp__3 = (NI)0;
8201 							T32_ = (NI)0;
8202 							T32_ = len__ast_3198(itX60gensym198_);
8203 							colontmp__3 = (NI)(T32_ - ((NI) 1));
8204 							i_3 = ((NI) 0);
8205 							{
8206 								while (1) {
8207 									if (!(i_3 < colontmp__3)) goto LA34;
8208 									jX60gensym198_ = i_3;
8209 									asgnRef((void**) (&(*branchX60gensym198_)._kind_6.sons->data[jX60gensym198_]), copyTree__ast_4431((*itX60gensym198_)._kind_6.sons->data[jX60gensym198_]));
8210 									i_3 += ((NI) 1);
8211 								} LA34: ;
8212 							}
8213 						}
8214 						nimZeroMem((void*)(&ofScopeX60gensym198_), sizeof(tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ));
8215 						nestedScope__injectdestructors_72(s, (&ofScopeX60gensym198_));
8216 						T35_ = (NI)0;
8217 						T35_ = len__ast_3198(branchX60gensym198_);
8218 						{
8219 							NIM_BOOL T38_;
8220 							NI T39_;
8221 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T43_;
8222 							T38_ = (NIM_BOOL)0;
8223 							T39_ = (NI)0;
8224 							T39_ = len__ast_3198(itX60gensym198_);
8225 							T38_ = isEmptyType__ast_4779((*(*itX60gensym198_)._kind_6.sons->data[(NI)(T39_ - ((NI) 1))]).typ);
8226 							if (T38_) goto LA40_;
8227 							T38_ = NIM_FALSE;
8228 							LA40_: ;
8229 							if (!T38_) goto LA41_;
8230 							T43_ = NIM_NIL;
8231 							{
8232 								NI T46_;
8233 								NIM_BOOL T47_;
8234 								NI T50_;
8235 								T46_ = (NI)0;
8236 								T46_ = len__ast_3198(itX60gensym198_);
8237 								T47_ = (NIM_BOOL)0;
8238 								T47_ = isEmptyType__ast_4779((*(*itX60gensym198_)._kind_6.sons->data[(NI)(T46_ - ((NI) 1))]).typ);
8239 								if (!T47_) goto LA48_;
8240 								T50_ = (NI)0;
8241 								T50_ = len__ast_3198(itX60gensym198_);
8242 								T43_ = p__injectdestructors_105((*itX60gensym198_)._kind_6.sons->data[(NI)(T50_ - ((NI) 1))], c, (&ofScopeX60gensym198_), ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
8243 							}
8244 							goto LA44_;
8245 							LA48_: ;
8246 							{
8247 								NI T52_;
8248 								T52_ = (NI)0;
8249 								T52_ = len__ast_3198(itX60gensym198_);
8250 								T43_ = p__injectdestructors_105((*itX60gensym198_)._kind_6.sons->data[(NI)(T52_ - ((NI) 1))], c, (&ofScopeX60gensym198_), mode);
8251 							}
8252 							LA44_: ;
8253 							asgnRef((void**) (&(*branchX60gensym198_)._kind_6.sons->data[(NI)(T35_ - ((NI) 1))]), processScope__injectdestructors_7016(c, (&ofScopeX60gensym198_), T43_));
8254 						}
8255 						goto LA36_;
8256 						LA41_: ;
8257 						{
8258 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* resultX60gensym236_;
8259 							NI T54_;
8260 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* tmpX60gensym236_;
8261 							NI T55_;
8262 							NI T56_;
8263 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* cpyX60gensym236_;
8264 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* finSectionX60gensym236_;
8265 							NI T83_;
8266 							T54_ = (NI)0;
8267 							T54_ = len__ast_3198(itX60gensym198_);
8268 							resultX60gensym236_ = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126), (*(*itX60gensym198_)._kind_6.sons->data[(NI)(T54_ - ((NI) 1))]).info);
8269 							T55_ = (NI)0;
8270 							T55_ = len__ast_3198(itX60gensym198_);
8271 							T56_ = (NI)0;
8272 							T56_ = len__ast_3198(itX60gensym198_);
8273 							tmpX60gensym236_ = getTemp__injectdestructors_61(c, ofScopeX60gensym198_.parent, (*(*itX60gensym198_)._kind_6.sons->data[(NI)(T55_ - ((NI) 1))]).typ, (*(*itX60gensym198_)._kind_6.sons->data[(NI)(T56_ - ((NI) 1))]).info);
8274 							(*(*tmpX60gensym236_)._kind_4.sym).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 45)) & 63);
8275 							{
8276 								NI T59_;
8277 								NIM_BOOL T60_;
8278 								tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T63_;
8279 								NI T64_;
8280 								NI T65_;
8281 								T59_ = (NI)0;
8282 								T59_ = len__ast_3198(itX60gensym198_);
8283 								T60_ = (NIM_BOOL)0;
8284 								T60_ = hasDestructor__injectdestructors_49((&(*c)), (*(*itX60gensym198_)._kind_6.sons->data[(NI)(T59_ - ((NI) 1))]).typ);
8285 								if (!T60_) goto LA61_;
8286 								T63_ = NIM_NIL;
8287 								T63_ = genDestroy__injectdestructors_6527(c, tmpX60gensym236_);
8288 								unsureAsgnRef((void**) (&(*ofScopeX60gensym198_.parent).final), (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) incrSeqV3((TGenericSeq*)((*ofScopeX60gensym198_.parent).final), (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_)));
8289 								T64_ = (*ofScopeX60gensym198_.parent).final->Sup.len++;
8290 								asgnRef((void**) (&(*ofScopeX60gensym198_.parent).final->data[T64_]), T63_);
8291 								T65_ = (NI)0;
8292 								T65_ = len__ast_3198(itX60gensym198_);
8293 								cpyX60gensym236_ = moveOrCopy__injectdestructors_110(tmpX60gensym236_, (*itX60gensym198_)._kind_6.sons->data[(NI)(T65_ - ((NI) 1))], c, (&ofScopeX60gensym198_), NIM_TRUE);
8294 							}
8295 							goto LA57_;
8296 							LA61_: ;
8297 							{
8298 								tyArray__AB6yfoUgfWM2NtGe9bzkCmw T67_;
8299 								NI T68_;
8300 								nimZeroMem((void*)T67_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
8301 								T67_[0] = tmpX60gensym236_;
8302 								T68_ = (NI)0;
8303 								T68_ = len__ast_3198(itX60gensym198_);
8304 								T67_[1] = p__injectdestructors_105((*itX60gensym198_)._kind_6.sons->data[(NI)(T68_ - ((NI) 1))], c, (&ofScopeX60gensym198_), ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
8305 								cpyX60gensym236_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 74), T67_, 2);
8306 							}
8307 							LA57_: ;
8308 							{
8309 								NI T71_;
8310 								tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* varSectionX60gensym236_;
8311 								NI T74_;
8312 								T71_ = (ofScopeX60gensym198_.vars ? ofScopeX60gensym198_.vars->Sup.len : 0);
8313 								if (!(((NI) 0) < T71_)) goto LA72_;
8314 								T74_ = (NI)0;
8315 								T74_ = len__ast_3198(itX60gensym198_);
8316 								varSectionX60gensym236_ = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 99), (*(*itX60gensym198_)._kind_6.sons->data[(NI)(T74_ - ((NI) 1))]).info);
8317 								{
8318 									tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ** tmpX60gensym236__2;
8319 									NI i_4;
8320 									NI L;
8321 									NI T76_;
8322 									tmpX60gensym236__2 = (tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ**)0;
8323 									i_4 = ((NI) 0);
8324 									T76_ = (ofScopeX60gensym198_.vars ? ofScopeX60gensym198_.vars->Sup.len : 0);
8325 									L = T76_;
8326 									{
8327 										while (1) {
8328 											tyArray__T6RKPw8xfAeNaoei9aZGzXg T79_;
8329 											NI T80_;
8330 											NI T81_;
8331 											tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T82_;
8332 											if (!(i_4 < L)) goto LA78;
8333 											tmpX60gensym236__2 = &ofScopeX60gensym198_.vars->data[i_4];
8334 											nimZeroMem((void*)T79_, sizeof(tyArray__T6RKPw8xfAeNaoei9aZGzXg));
8335 											T79_[0] = newSymNode__ast_3716((*tmpX60gensym236__2));
8336 											T80_ = (NI)0;
8337 											T80_ = len__ast_3198(itX60gensym198_);
8338 											T79_[1] = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1), (*(*itX60gensym198_)._kind_6.sons->data[(NI)(T80_ - ((NI) 1))]).info);
8339 											T81_ = (NI)0;
8340 											T81_ = len__ast_3198(itX60gensym198_);
8341 											T79_[2] = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1), (*(*itX60gensym198_)._kind_6.sons->data[(NI)(T81_ - ((NI) 1))]).info);
8342 											T82_ = NIM_NIL;
8343 											T82_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 35), T79_, 3);
8344 											add__ast_4797(varSectionX60gensym236_, T82_);
8345 											i_4 += ((NI) 1);
8346 										} LA78: ;
8347 									}
8348 								}
8349 								add__ast_4797(resultX60gensym236_, varSectionX60gensym236_);
8350 							}
8351 							LA72_: ;
8352 							T83_ = (NI)0;
8353 							T83_ = len__ast_3198(itX60gensym198_);
8354 							finSectionX60gensym236_ = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), (*(*itX60gensym198_)._kind_6.sons->data[(NI)(T83_ - ((NI) 1))]).info);
8355 							{
8356 								tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** mX60gensym236_;
8357 								NI i_5;
8358 								NI L_2;
8359 								NI T85_;
8360 								mX60gensym236_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw**)0;
8361 								i_5 = ((NI) 0);
8362 								T85_ = (ofScopeX60gensym198_.wasMoved ? ofScopeX60gensym198_.wasMoved->Sup.len : 0);
8363 								L_2 = T85_;
8364 								{
8365 									while (1) {
8366 										if (!(i_5 < L_2)) goto LA87;
8367 										mX60gensym236_ = &ofScopeX60gensym198_.wasMoved->data[i_5];
8368 										add__ast_4797(finSectionX60gensym236_, (*mX60gensym236_));
8369 										i_5 += ((NI) 1);
8370 									} LA87: ;
8371 								}
8372 							}
8373 							{
8374 								NI iX60gensym236_;
8375 								NI colontmp__4;
8376 								NI T89_;
8377 								NI res;
8378 								iX60gensym236_ = (NI)0;
8379 								colontmp__4 = (NI)0;
8380 								T89_ = ((ofScopeX60gensym198_.final ? ofScopeX60gensym198_.final->Sup.len : 0)-1);
8381 								colontmp__4 = T89_;
8382 								res = colontmp__4;
8383 								{
8384 									while (1) {
8385 										if (!(((NI) 0) <= res)) goto LA91;
8386 										iX60gensym236_ = res;
8387 										add__ast_4797(finSectionX60gensym236_, ofScopeX60gensym198_.final->data[iX60gensym236_]);
8388 										res -= ((NI) 1);
8389 									} LA91: ;
8390 								}
8391 							}
8392 							{
8393 								tyArray__AB6yfoUgfWM2NtGe9bzkCmw T96_;
8394 								tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T97_;
8395 								tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T98_;
8396 								if (!ofScopeX60gensym198_.needsTry) goto LA94_;
8397 								nimZeroMem((void*)T96_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
8398 								T96_[0] = cpyX60gensym236_;
8399 								T96_[1] = p__injectdestructors_105(tmpX60gensym236_, c, ofScopeX60gensym198_.parent, mode);
8400 								T97_ = NIM_NIL;
8401 								T97_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126), T96_, 2);
8402 								T98_ = NIM_NIL;
8403 								T98_ = newTryFinally__lowerings_202(T97_, finSectionX60gensym236_);
8404 								add__ast_4797(resultX60gensym236_, T98_);
8405 							}
8406 							goto LA92_;
8407 							LA94_: ;
8408 							{
8409 								tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T100_;
8410 								add__ast_4797(resultX60gensym236_, cpyX60gensym236_);
8411 								add__ast_4797(resultX60gensym236_, finSectionX60gensym236_);
8412 								T100_ = NIM_NIL;
8413 								T100_ = p__injectdestructors_105(tmpX60gensym236_, c, ofScopeX60gensym198_.parent, mode);
8414 								add__ast_4797(resultX60gensym236_, T100_);
8415 							}
8416 							LA92_: ;
8417 							{
8418 								NIM_BOOL T105_;
8419 								if (!!((ofScopeX60gensym198_.parent == ((tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ*) NIM_NIL)))) goto LA103_;
8420 								T105_ = (NIM_BOOL)0;
8421 								T105_ = (*ofScopeX60gensym198_.parent).needsTry;
8422 								if (T105_) goto LA106_;
8423 								T105_ = ofScopeX60gensym198_.needsTry;
8424 								LA106_: ;
8425 								(*ofScopeX60gensym198_.parent).needsTry = T105_;
8426 							}
8427 							LA103_: ;
8428 							asgnRef((void**) (&(*branchX60gensym198_)._kind_6.sons->data[(NI)(T35_ - ((NI) 1))]), resultX60gensym236_);
8429 						}
8430 						LA36_: ;
8431 						add__ast_4797(result, branchX60gensym198_);
8432 						i_2 += ((NI) 1);
8433 					} LA30: ;
8434 				}
8435 			}
8436 		}
8437 		break;
8438 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 96):
8439 		{
8440 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T108_;
8441 			tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ bodyScopeX60gensym198_;
8442 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* bodyResultX60gensym198_;
8443 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T109_;
8444 			(*c).inLoop += ((NI) 1);
8445 			(*c).inLoopCond += ((NI) 1);
8446 			result = copyNode__ast_4336(n);
8447 			T108_ = NIM_NIL;
8448 			T108_ = p__injectdestructors_105((*n)._kind_6.sons->data[((NI) 0)], c, s, ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
8449 			add__ast_4797(result, T108_);
8450 			(*c).inLoopCond -= ((NI) 1);
8451 			nimZeroMem((void*)(&bodyScopeX60gensym198_), sizeof(tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ));
8452 			nestedScope__injectdestructors_72(s, (&bodyScopeX60gensym198_));
8453 			bodyResultX60gensym198_ = p__injectdestructors_105((*n)._kind_6.sons->data[((NI) 1)], c, (&bodyScopeX60gensym198_), ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
8454 			T109_ = NIM_NIL;
8455 			T109_ = processScope__injectdestructors_7016(c, (&bodyScopeX60gensym198_), bodyResultX60gensym198_);
8456 			add__ast_4797(result, T109_);
8457 			(*c).inLoop -= ((NI) 1);
8458 		}
8459 		break;
8460 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 95):
8461 		{
8462 			NI lastX60gensym198_;
8463 			NI T111_;
8464 			tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ bodyScopeX60gensym198__2;
8465 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* bodyResultX60gensym198__2;
8466 			(*c).inLoop += ((NI) 1);
8467 			result = shallowCopy__ast_4413(n);
8468 			T111_ = (NI)0;
8469 			T111_ = len__ast_3198(n);
8470 			lastX60gensym198_ = (NI)(T111_ - ((NI) 1));
8471 			{
8472 				NI iX60gensym198__3;
8473 				NI colontmp__5;
8474 				NI i_6;
8475 				iX60gensym198__3 = (NI)0;
8476 				colontmp__5 = (NI)0;
8477 				colontmp__5 = (NI)(lastX60gensym198_ - ((NI) 1));
8478 				i_6 = ((NI) 0);
8479 				{
8480 					while (1) {
8481 						if (!(i_6 < colontmp__5)) goto LA114;
8482 						iX60gensym198__3 = i_6;
8483 						asgnRef((void**) (&(*result)._kind_6.sons->data[iX60gensym198__3]), (*n)._kind_6.sons->data[iX60gensym198__3]);
8484 						i_6 += ((NI) 1);
8485 					} LA114: ;
8486 				}
8487 			}
8488 			asgnRef((void**) (&(*result)._kind_6.sons->data[(NI)(lastX60gensym198_ - ((NI) 1))]), p__injectdestructors_105((*n)._kind_6.sons->data[(NI)(lastX60gensym198_ - ((NI) 1))], c, s, ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0)));
8489 			nimZeroMem((void*)(&bodyScopeX60gensym198__2), sizeof(tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ));
8490 			nestedScope__injectdestructors_72(s, (&bodyScopeX60gensym198__2));
8491 			bodyResultX60gensym198__2 = p__injectdestructors_105((*n)._kind_6.sons->data[lastX60gensym198_], c, (&bodyScopeX60gensym198__2), ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
8492 			asgnRef((void**) (&(*result)._kind_6.sons->data[lastX60gensym198_]), processScope__injectdestructors_7016(c, (&bodyScopeX60gensym198__2), bodyResultX60gensym198__2));
8493 			(*c).inLoop -= ((NI) 1);
8494 		}
8495 		break;
8496 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 112):
8497 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 127):
8498 		{
8499 			tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ bodyScopeX60gensym198__3;
8500 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T116_;
8501 			result = copyNode__ast_4336(n);
8502 			add__ast_4797(result, (*n)._kind_6.sons->data[((NI) 0)]);
8503 			nimZeroMem((void*)(&bodyScopeX60gensym198__3), sizeof(tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ));
8504 			nestedScope__injectdestructors_72(s, (&bodyScopeX60gensym198__3));
8505 			T116_ = NIM_NIL;
8506 			{
8507 				NIM_BOOL T119_;
8508 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T123_;
8509 				T119_ = (NIM_BOOL)0;
8510 				T119_ = isEmptyType__ast_4779((*(*n)._kind_6.sons->data[((NI) 1)]).typ);
8511 				if (T119_) goto LA120_;
8512 				T119_ = NIM_FALSE;
8513 				LA120_: ;
8514 				if (!T119_) goto LA121_;
8515 				T123_ = NIM_NIL;
8516 				T123_ = p__injectdestructors_105((*n)._kind_6.sons->data[((NI) 1)], c, (&bodyScopeX60gensym198__3), mode);
8517 				T116_ = processScope__injectdestructors_7016(c, (&bodyScopeX60gensym198__3), T123_);
8518 			}
8519 			goto LA117_;
8520 			LA121_: ;
8521 			{
8522 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* resultX60gensym258_;
8523 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* tmpX60gensym258_;
8524 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* cpyX60gensym258_;
8525 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* finSectionX60gensym258_;
8526 				resultX60gensym258_ = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126), (*(*n)._kind_6.sons->data[((NI) 1)]).info);
8527 				tmpX60gensym258_ = getTemp__injectdestructors_61(c, bodyScopeX60gensym198__3.parent, (*(*n)._kind_6.sons->data[((NI) 1)]).typ, (*(*n)._kind_6.sons->data[((NI) 1)]).info);
8528 				(*(*tmpX60gensym258_)._kind_4.sym).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 45)) & 63);
8529 				{
8530 					NIM_BOOL T127_;
8531 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T130_;
8532 					NI T131_;
8533 					T127_ = (NIM_BOOL)0;
8534 					T127_ = hasDestructor__injectdestructors_49((&(*c)), (*(*n)._kind_6.sons->data[((NI) 1)]).typ);
8535 					if (!T127_) goto LA128_;
8536 					T130_ = NIM_NIL;
8537 					T130_ = genDestroy__injectdestructors_6527(c, tmpX60gensym258_);
8538 					unsureAsgnRef((void**) (&(*bodyScopeX60gensym198__3.parent).final), (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) incrSeqV3((TGenericSeq*)((*bodyScopeX60gensym198__3.parent).final), (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_)));
8539 					T131_ = (*bodyScopeX60gensym198__3.parent).final->Sup.len++;
8540 					asgnRef((void**) (&(*bodyScopeX60gensym198__3.parent).final->data[T131_]), T130_);
8541 					cpyX60gensym258_ = moveOrCopy__injectdestructors_110(tmpX60gensym258_, (*n)._kind_6.sons->data[((NI) 1)], c, (&bodyScopeX60gensym198__3), NIM_TRUE);
8542 				}
8543 				goto LA125_;
8544 				LA128_: ;
8545 				{
8546 					tyArray__AB6yfoUgfWM2NtGe9bzkCmw T133_;
8547 					nimZeroMem((void*)T133_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
8548 					T133_[0] = tmpX60gensym258_;
8549 					T133_[1] = p__injectdestructors_105((*n)._kind_6.sons->data[((NI) 1)], c, (&bodyScopeX60gensym198__3), ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
8550 					cpyX60gensym258_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 74), T133_, 2);
8551 				}
8552 				LA125_: ;
8553 				{
8554 					NI T136_;
8555 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* varSectionX60gensym258_;
8556 					T136_ = (bodyScopeX60gensym198__3.vars ? bodyScopeX60gensym198__3.vars->Sup.len : 0);
8557 					if (!(((NI) 0) < T136_)) goto LA137_;
8558 					varSectionX60gensym258_ = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 99), (*(*n)._kind_6.sons->data[((NI) 1)]).info);
8559 					{
8560 						tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ** tmpX60gensym258__2;
8561 						NI i_7;
8562 						NI L_3;
8563 						NI T140_;
8564 						tmpX60gensym258__2 = (tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ**)0;
8565 						i_7 = ((NI) 0);
8566 						T140_ = (bodyScopeX60gensym198__3.vars ? bodyScopeX60gensym198__3.vars->Sup.len : 0);
8567 						L_3 = T140_;
8568 						{
8569 							while (1) {
8570 								tyArray__T6RKPw8xfAeNaoei9aZGzXg T143_;
8571 								tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T144_;
8572 								if (!(i_7 < L_3)) goto LA142;
8573 								tmpX60gensym258__2 = &bodyScopeX60gensym198__3.vars->data[i_7];
8574 								nimZeroMem((void*)T143_, sizeof(tyArray__T6RKPw8xfAeNaoei9aZGzXg));
8575 								T143_[0] = newSymNode__ast_3716((*tmpX60gensym258__2));
8576 								T143_[1] = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1), (*(*n)._kind_6.sons->data[((NI) 1)]).info);
8577 								T143_[2] = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1), (*(*n)._kind_6.sons->data[((NI) 1)]).info);
8578 								T144_ = NIM_NIL;
8579 								T144_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 35), T143_, 3);
8580 								add__ast_4797(varSectionX60gensym258_, T144_);
8581 								i_7 += ((NI) 1);
8582 							} LA142: ;
8583 						}
8584 					}
8585 					add__ast_4797(resultX60gensym258_, varSectionX60gensym258_);
8586 				}
8587 				LA137_: ;
8588 				finSectionX60gensym258_ = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), (*(*n)._kind_6.sons->data[((NI) 1)]).info);
8589 				{
8590 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** mX60gensym258_;
8591 					NI i_8;
8592 					NI L_4;
8593 					NI T146_;
8594 					mX60gensym258_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw**)0;
8595 					i_8 = ((NI) 0);
8596 					T146_ = (bodyScopeX60gensym198__3.wasMoved ? bodyScopeX60gensym198__3.wasMoved->Sup.len : 0);
8597 					L_4 = T146_;
8598 					{
8599 						while (1) {
8600 							if (!(i_8 < L_4)) goto LA148;
8601 							mX60gensym258_ = &bodyScopeX60gensym198__3.wasMoved->data[i_8];
8602 							add__ast_4797(finSectionX60gensym258_, (*mX60gensym258_));
8603 							i_8 += ((NI) 1);
8604 						} LA148: ;
8605 					}
8606 				}
8607 				{
8608 					NI iX60gensym258_;
8609 					NI colontmp__6;
8610 					NI T150_;
8611 					NI res_2;
8612 					iX60gensym258_ = (NI)0;
8613 					colontmp__6 = (NI)0;
8614 					T150_ = ((bodyScopeX60gensym198__3.final ? bodyScopeX60gensym198__3.final->Sup.len : 0)-1);
8615 					colontmp__6 = T150_;
8616 					res_2 = colontmp__6;
8617 					{
8618 						while (1) {
8619 							if (!(((NI) 0) <= res_2)) goto LA152;
8620 							iX60gensym258_ = res_2;
8621 							add__ast_4797(finSectionX60gensym258_, bodyScopeX60gensym198__3.final->data[iX60gensym258_]);
8622 							res_2 -= ((NI) 1);
8623 						} LA152: ;
8624 					}
8625 				}
8626 				{
8627 					tyArray__AB6yfoUgfWM2NtGe9bzkCmw T157_;
8628 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T158_;
8629 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T159_;
8630 					if (!bodyScopeX60gensym198__3.needsTry) goto LA155_;
8631 					nimZeroMem((void*)T157_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
8632 					T157_[0] = cpyX60gensym258_;
8633 					T157_[1] = p__injectdestructors_105(tmpX60gensym258_, c, bodyScopeX60gensym198__3.parent, mode);
8634 					T158_ = NIM_NIL;
8635 					T158_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126), T157_, 2);
8636 					T159_ = NIM_NIL;
8637 					T159_ = newTryFinally__lowerings_202(T158_, finSectionX60gensym258_);
8638 					add__ast_4797(resultX60gensym258_, T159_);
8639 				}
8640 				goto LA153_;
8641 				LA155_: ;
8642 				{
8643 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T161_;
8644 					add__ast_4797(resultX60gensym258_, cpyX60gensym258_);
8645 					add__ast_4797(resultX60gensym258_, finSectionX60gensym258_);
8646 					T161_ = NIM_NIL;
8647 					T161_ = p__injectdestructors_105(tmpX60gensym258_, c, bodyScopeX60gensym198__3.parent, mode);
8648 					add__ast_4797(resultX60gensym258_, T161_);
8649 				}
8650 				LA153_: ;
8651 				{
8652 					NIM_BOOL T166_;
8653 					if (!!((bodyScopeX60gensym198__3.parent == ((tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ*) NIM_NIL)))) goto LA164_;
8654 					T166_ = (NIM_BOOL)0;
8655 					T166_ = (*bodyScopeX60gensym198__3.parent).needsTry;
8656 					if (T166_) goto LA167_;
8657 					T166_ = bodyScopeX60gensym198__3.needsTry;
8658 					LA167_: ;
8659 					(*bodyScopeX60gensym198__3.parent).needsTry = T166_;
8660 				}
8661 				LA164_: ;
8662 				T116_ = resultX60gensym258_;
8663 			}
8664 			LA117_: ;
8665 			add__ast_4797(result, T116_);
8666 		}
8667 		break;
8668 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 92):
8669 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 48):
8670 		{
8671 			result = copyNode__ast_4336(n);
8672 			{
8673 				NI iX60gensym198__4;
8674 				NI colontmp__7;
8675 				NI i_9;
8676 				iX60gensym198__4 = (NI)0;
8677 				colontmp__7 = (NI)0;
8678 				colontmp__7 = len__ast_3198(n);
8679 				i_9 = ((NI) 0);
8680 				{
8681 					while (1) {
8682 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* itX60gensym198__2;
8683 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* branchX60gensym198__2;
8684 						tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ branchScopeX60gensym198_;
8685 						NI T176_;
8686 						if (!(i_9 < colontmp__7)) goto LA171;
8687 						iX60gensym198__4 = i_9;
8688 						itX60gensym198__2 = (*n)._kind_6.sons->data[iX60gensym198__4];
8689 						branchX60gensym198__2 = shallowCopy__ast_4413(itX60gensym198__2);
8690 						nimZeroMem((void*)(&branchScopeX60gensym198_), sizeof(tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ));
8691 						nestedScope__injectdestructors_72(s, (&branchScopeX60gensym198_));
8692 						{
8693 							if (!((*itX60gensym198__2).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 86) || (*itX60gensym198__2).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 49))) goto LA174_;
8694 							asgnRef((void**) (&(*branchX60gensym198__2)._kind_6.sons->data[((NI) 0)]), p__injectdestructors_105((*itX60gensym198__2)._kind_6.sons->data[((NI) 0)], c, s, ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0)));
8695 						}
8696 						LA174_: ;
8697 						T176_ = (NI)0;
8698 						T176_ = len__ast_3198(branchX60gensym198__2);
8699 						{
8700 							NIM_BOOL T179_;
8701 							NI T180_;
8702 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T184_;
8703 							T179_ = (NIM_BOOL)0;
8704 							T180_ = (NI)0;
8705 							T180_ = len__ast_3198(itX60gensym198__2);
8706 							T179_ = isEmptyType__ast_4779((*(*itX60gensym198__2)._kind_6.sons->data[(NI)(T180_ - ((NI) 1))]).typ);
8707 							if (T179_) goto LA181_;
8708 							T179_ = NIM_FALSE;
8709 							LA181_: ;
8710 							if (!T179_) goto LA182_;
8711 							T184_ = NIM_NIL;
8712 							{
8713 								NI T187_;
8714 								NIM_BOOL T188_;
8715 								NI T191_;
8716 								T187_ = (NI)0;
8717 								T187_ = len__ast_3198(itX60gensym198__2);
8718 								T188_ = (NIM_BOOL)0;
8719 								T188_ = isEmptyType__ast_4779((*(*itX60gensym198__2)._kind_6.sons->data[(NI)(T187_ - ((NI) 1))]).typ);
8720 								if (!T188_) goto LA189_;
8721 								T191_ = (NI)0;
8722 								T191_ = len__ast_3198(itX60gensym198__2);
8723 								T184_ = p__injectdestructors_105((*itX60gensym198__2)._kind_6.sons->data[(NI)(T191_ - ((NI) 1))], c, (&branchScopeX60gensym198_), ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
8724 							}
8725 							goto LA185_;
8726 							LA189_: ;
8727 							{
8728 								NI T193_;
8729 								T193_ = (NI)0;
8730 								T193_ = len__ast_3198(itX60gensym198__2);
8731 								T184_ = p__injectdestructors_105((*itX60gensym198__2)._kind_6.sons->data[(NI)(T193_ - ((NI) 1))], c, (&branchScopeX60gensym198_), mode);
8732 							}
8733 							LA185_: ;
8734 							asgnRef((void**) (&(*branchX60gensym198__2)._kind_6.sons->data[(NI)(T176_ - ((NI) 1))]), processScope__injectdestructors_7016(c, (&branchScopeX60gensym198_), T184_));
8735 						}
8736 						goto LA177_;
8737 						LA182_: ;
8738 						{
8739 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* resultX60gensym287_;
8740 							NI T195_;
8741 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* tmpX60gensym287_;
8742 							NI T196_;
8743 							NI T197_;
8744 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* cpyX60gensym287_;
8745 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* finSectionX60gensym287_;
8746 							NI T224_;
8747 							T195_ = (NI)0;
8748 							T195_ = len__ast_3198(itX60gensym198__2);
8749 							resultX60gensym287_ = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126), (*(*itX60gensym198__2)._kind_6.sons->data[(NI)(T195_ - ((NI) 1))]).info);
8750 							T196_ = (NI)0;
8751 							T196_ = len__ast_3198(itX60gensym198__2);
8752 							T197_ = (NI)0;
8753 							T197_ = len__ast_3198(itX60gensym198__2);
8754 							tmpX60gensym287_ = getTemp__injectdestructors_61(c, branchScopeX60gensym198_.parent, (*(*itX60gensym198__2)._kind_6.sons->data[(NI)(T196_ - ((NI) 1))]).typ, (*(*itX60gensym198__2)._kind_6.sons->data[(NI)(T197_ - ((NI) 1))]).info);
8755 							(*(*tmpX60gensym287_)._kind_4.sym).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 45)) & 63);
8756 							{
8757 								NI T200_;
8758 								NIM_BOOL T201_;
8759 								tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T204_;
8760 								NI T205_;
8761 								NI T206_;
8762 								T200_ = (NI)0;
8763 								T200_ = len__ast_3198(itX60gensym198__2);
8764 								T201_ = (NIM_BOOL)0;
8765 								T201_ = hasDestructor__injectdestructors_49((&(*c)), (*(*itX60gensym198__2)._kind_6.sons->data[(NI)(T200_ - ((NI) 1))]).typ);
8766 								if (!T201_) goto LA202_;
8767 								T204_ = NIM_NIL;
8768 								T204_ = genDestroy__injectdestructors_6527(c, tmpX60gensym287_);
8769 								unsureAsgnRef((void**) (&(*branchScopeX60gensym198_.parent).final), (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) incrSeqV3((TGenericSeq*)((*branchScopeX60gensym198_.parent).final), (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_)));
8770 								T205_ = (*branchScopeX60gensym198_.parent).final->Sup.len++;
8771 								asgnRef((void**) (&(*branchScopeX60gensym198_.parent).final->data[T205_]), T204_);
8772 								T206_ = (NI)0;
8773 								T206_ = len__ast_3198(itX60gensym198__2);
8774 								cpyX60gensym287_ = moveOrCopy__injectdestructors_110(tmpX60gensym287_, (*itX60gensym198__2)._kind_6.sons->data[(NI)(T206_ - ((NI) 1))], c, (&branchScopeX60gensym198_), NIM_TRUE);
8775 							}
8776 							goto LA198_;
8777 							LA202_: ;
8778 							{
8779 								tyArray__AB6yfoUgfWM2NtGe9bzkCmw T208_;
8780 								NI T209_;
8781 								nimZeroMem((void*)T208_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
8782 								T208_[0] = tmpX60gensym287_;
8783 								T209_ = (NI)0;
8784 								T209_ = len__ast_3198(itX60gensym198__2);
8785 								T208_[1] = p__injectdestructors_105((*itX60gensym198__2)._kind_6.sons->data[(NI)(T209_ - ((NI) 1))], c, (&branchScopeX60gensym198_), ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
8786 								cpyX60gensym287_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 74), T208_, 2);
8787 							}
8788 							LA198_: ;
8789 							{
8790 								NI T212_;
8791 								tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* varSectionX60gensym287_;
8792 								NI T215_;
8793 								T212_ = (branchScopeX60gensym198_.vars ? branchScopeX60gensym198_.vars->Sup.len : 0);
8794 								if (!(((NI) 0) < T212_)) goto LA213_;
8795 								T215_ = (NI)0;
8796 								T215_ = len__ast_3198(itX60gensym198__2);
8797 								varSectionX60gensym287_ = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 99), (*(*itX60gensym198__2)._kind_6.sons->data[(NI)(T215_ - ((NI) 1))]).info);
8798 								{
8799 									tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ** tmpX60gensym287__2;
8800 									NI i_10;
8801 									NI L_5;
8802 									NI T217_;
8803 									tmpX60gensym287__2 = (tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ**)0;
8804 									i_10 = ((NI) 0);
8805 									T217_ = (branchScopeX60gensym198_.vars ? branchScopeX60gensym198_.vars->Sup.len : 0);
8806 									L_5 = T217_;
8807 									{
8808 										while (1) {
8809 											tyArray__T6RKPw8xfAeNaoei9aZGzXg T220_;
8810 											NI T221_;
8811 											NI T222_;
8812 											tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T223_;
8813 											if (!(i_10 < L_5)) goto LA219;
8814 											tmpX60gensym287__2 = &branchScopeX60gensym198_.vars->data[i_10];
8815 											nimZeroMem((void*)T220_, sizeof(tyArray__T6RKPw8xfAeNaoei9aZGzXg));
8816 											T220_[0] = newSymNode__ast_3716((*tmpX60gensym287__2));
8817 											T221_ = (NI)0;
8818 											T221_ = len__ast_3198(itX60gensym198__2);
8819 											T220_[1] = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1), (*(*itX60gensym198__2)._kind_6.sons->data[(NI)(T221_ - ((NI) 1))]).info);
8820 											T222_ = (NI)0;
8821 											T222_ = len__ast_3198(itX60gensym198__2);
8822 											T220_[2] = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1), (*(*itX60gensym198__2)._kind_6.sons->data[(NI)(T222_ - ((NI) 1))]).info);
8823 											T223_ = NIM_NIL;
8824 											T223_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 35), T220_, 3);
8825 											add__ast_4797(varSectionX60gensym287_, T223_);
8826 											i_10 += ((NI) 1);
8827 										} LA219: ;
8828 									}
8829 								}
8830 								add__ast_4797(resultX60gensym287_, varSectionX60gensym287_);
8831 							}
8832 							LA213_: ;
8833 							T224_ = (NI)0;
8834 							T224_ = len__ast_3198(itX60gensym198__2);
8835 							finSectionX60gensym287_ = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), (*(*itX60gensym198__2)._kind_6.sons->data[(NI)(T224_ - ((NI) 1))]).info);
8836 							{
8837 								tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** mX60gensym287_;
8838 								NI i_11;
8839 								NI L_6;
8840 								NI T226_;
8841 								mX60gensym287_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw**)0;
8842 								i_11 = ((NI) 0);
8843 								T226_ = (branchScopeX60gensym198_.wasMoved ? branchScopeX60gensym198_.wasMoved->Sup.len : 0);
8844 								L_6 = T226_;
8845 								{
8846 									while (1) {
8847 										if (!(i_11 < L_6)) goto LA228;
8848 										mX60gensym287_ = &branchScopeX60gensym198_.wasMoved->data[i_11];
8849 										add__ast_4797(finSectionX60gensym287_, (*mX60gensym287_));
8850 										i_11 += ((NI) 1);
8851 									} LA228: ;
8852 								}
8853 							}
8854 							{
8855 								NI iX60gensym287_;
8856 								NI colontmp__8;
8857 								NI T230_;
8858 								NI res_3;
8859 								iX60gensym287_ = (NI)0;
8860 								colontmp__8 = (NI)0;
8861 								T230_ = ((branchScopeX60gensym198_.final ? branchScopeX60gensym198_.final->Sup.len : 0)-1);
8862 								colontmp__8 = T230_;
8863 								res_3 = colontmp__8;
8864 								{
8865 									while (1) {
8866 										if (!(((NI) 0) <= res_3)) goto LA232;
8867 										iX60gensym287_ = res_3;
8868 										add__ast_4797(finSectionX60gensym287_, branchScopeX60gensym198_.final->data[iX60gensym287_]);
8869 										res_3 -= ((NI) 1);
8870 									} LA232: ;
8871 								}
8872 							}
8873 							{
8874 								tyArray__AB6yfoUgfWM2NtGe9bzkCmw T237_;
8875 								tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T238_;
8876 								tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T239_;
8877 								if (!branchScopeX60gensym198_.needsTry) goto LA235_;
8878 								nimZeroMem((void*)T237_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
8879 								T237_[0] = cpyX60gensym287_;
8880 								T237_[1] = p__injectdestructors_105(tmpX60gensym287_, c, branchScopeX60gensym198_.parent, mode);
8881 								T238_ = NIM_NIL;
8882 								T238_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126), T237_, 2);
8883 								T239_ = NIM_NIL;
8884 								T239_ = newTryFinally__lowerings_202(T238_, finSectionX60gensym287_);
8885 								add__ast_4797(resultX60gensym287_, T239_);
8886 							}
8887 							goto LA233_;
8888 							LA235_: ;
8889 							{
8890 								tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T241_;
8891 								add__ast_4797(resultX60gensym287_, cpyX60gensym287_);
8892 								add__ast_4797(resultX60gensym287_, finSectionX60gensym287_);
8893 								T241_ = NIM_NIL;
8894 								T241_ = p__injectdestructors_105(tmpX60gensym287_, c, branchScopeX60gensym198_.parent, mode);
8895 								add__ast_4797(resultX60gensym287_, T241_);
8896 							}
8897 							LA233_: ;
8898 							{
8899 								NIM_BOOL T246_;
8900 								if (!!((branchScopeX60gensym198_.parent == ((tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ*) NIM_NIL)))) goto LA244_;
8901 								T246_ = (NIM_BOOL)0;
8902 								T246_ = (*branchScopeX60gensym198_.parent).needsTry;
8903 								if (T246_) goto LA247_;
8904 								T246_ = branchScopeX60gensym198_.needsTry;
8905 								LA247_: ;
8906 								(*branchScopeX60gensym198_.parent).needsTry = T246_;
8907 							}
8908 							LA244_: ;
8909 							asgnRef((void**) (&(*branchX60gensym198__2)._kind_6.sons->data[(NI)(T176_ - ((NI) 1))]), resultX60gensym287_);
8910 						}
8911 						LA177_: ;
8912 						add__ast_4797(result, branchX60gensym198__2);
8913 						i_9 += ((NI) 1);
8914 					} LA171: ;
8915 				}
8916 			}
8917 		}
8918 		break;
8919 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 106):
8920 		{
8921 			tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ tryScopeX60gensym198_;
8922 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T249_;
8923 			result = copyNode__ast_4336(n);
8924 			nimZeroMem((void*)(&tryScopeX60gensym198_), sizeof(tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ));
8925 			nestedScope__injectdestructors_72(s, (&tryScopeX60gensym198_));
8926 			T249_ = NIM_NIL;
8927 			{
8928 				NIM_BOOL T252_;
8929 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T256_;
8930 				T252_ = (NIM_BOOL)0;
8931 				T252_ = isEmptyType__ast_4779((*(*n)._kind_6.sons->data[((NI) 0)]).typ);
8932 				if (T252_) goto LA253_;
8933 				T252_ = NIM_FALSE;
8934 				LA253_: ;
8935 				if (!T252_) goto LA254_;
8936 				T256_ = NIM_NIL;
8937 				{
8938 					NIM_BOOL T259_;
8939 					T259_ = (NIM_BOOL)0;
8940 					T259_ = isEmptyType__ast_4779((*(*n)._kind_6.sons->data[((NI) 0)]).typ);
8941 					if (!T259_) goto LA260_;
8942 					T256_ = p__injectdestructors_105((*n)._kind_6.sons->data[((NI) 0)], c, (&tryScopeX60gensym198_), ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
8943 				}
8944 				goto LA257_;
8945 				LA260_: ;
8946 				{
8947 					T256_ = p__injectdestructors_105((*n)._kind_6.sons->data[((NI) 0)], c, (&tryScopeX60gensym198_), mode);
8948 				}
8949 				LA257_: ;
8950 				T249_ = processScope__injectdestructors_7016(c, (&tryScopeX60gensym198_), T256_);
8951 			}
8952 			goto LA250_;
8953 			LA254_: ;
8954 			{
8955 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* resultX60gensym303_;
8956 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* tmpX60gensym303_;
8957 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* cpyX60gensym303_;
8958 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* finSectionX60gensym303_;
8959 				resultX60gensym303_ = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126), (*(*n)._kind_6.sons->data[((NI) 0)]).info);
8960 				tmpX60gensym303_ = getTemp__injectdestructors_61(c, tryScopeX60gensym198_.parent, (*(*n)._kind_6.sons->data[((NI) 0)]).typ, (*(*n)._kind_6.sons->data[((NI) 0)]).info);
8961 				(*(*tmpX60gensym303_)._kind_4.sym).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 45)) & 63);
8962 				{
8963 					NIM_BOOL T266_;
8964 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T269_;
8965 					NI T270_;
8966 					T266_ = (NIM_BOOL)0;
8967 					T266_ = hasDestructor__injectdestructors_49((&(*c)), (*(*n)._kind_6.sons->data[((NI) 0)]).typ);
8968 					if (!T266_) goto LA267_;
8969 					T269_ = NIM_NIL;
8970 					T269_ = genDestroy__injectdestructors_6527(c, tmpX60gensym303_);
8971 					unsureAsgnRef((void**) (&(*tryScopeX60gensym198_.parent).final), (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) incrSeqV3((TGenericSeq*)((*tryScopeX60gensym198_.parent).final), (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_)));
8972 					T270_ = (*tryScopeX60gensym198_.parent).final->Sup.len++;
8973 					asgnRef((void**) (&(*tryScopeX60gensym198_.parent).final->data[T270_]), T269_);
8974 					cpyX60gensym303_ = moveOrCopy__injectdestructors_110(tmpX60gensym303_, (*n)._kind_6.sons->data[((NI) 0)], c, (&tryScopeX60gensym198_), NIM_TRUE);
8975 				}
8976 				goto LA264_;
8977 				LA267_: ;
8978 				{
8979 					tyArray__AB6yfoUgfWM2NtGe9bzkCmw T272_;
8980 					nimZeroMem((void*)T272_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
8981 					T272_[0] = tmpX60gensym303_;
8982 					T272_[1] = p__injectdestructors_105((*n)._kind_6.sons->data[((NI) 0)], c, (&tryScopeX60gensym198_), ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
8983 					cpyX60gensym303_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 74), T272_, 2);
8984 				}
8985 				LA264_: ;
8986 				{
8987 					NI T275_;
8988 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* varSectionX60gensym303_;
8989 					T275_ = (tryScopeX60gensym198_.vars ? tryScopeX60gensym198_.vars->Sup.len : 0);
8990 					if (!(((NI) 0) < T275_)) goto LA276_;
8991 					varSectionX60gensym303_ = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 99), (*(*n)._kind_6.sons->data[((NI) 0)]).info);
8992 					{
8993 						tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ** tmpX60gensym303__2;
8994 						NI i_12;
8995 						NI L_7;
8996 						NI T279_;
8997 						tmpX60gensym303__2 = (tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ**)0;
8998 						i_12 = ((NI) 0);
8999 						T279_ = (tryScopeX60gensym198_.vars ? tryScopeX60gensym198_.vars->Sup.len : 0);
9000 						L_7 = T279_;
9001 						{
9002 							while (1) {
9003 								tyArray__T6RKPw8xfAeNaoei9aZGzXg T282_;
9004 								tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T283_;
9005 								if (!(i_12 < L_7)) goto LA281;
9006 								tmpX60gensym303__2 = &tryScopeX60gensym198_.vars->data[i_12];
9007 								nimZeroMem((void*)T282_, sizeof(tyArray__T6RKPw8xfAeNaoei9aZGzXg));
9008 								T282_[0] = newSymNode__ast_3716((*tmpX60gensym303__2));
9009 								T282_[1] = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1), (*(*n)._kind_6.sons->data[((NI) 0)]).info);
9010 								T282_[2] = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1), (*(*n)._kind_6.sons->data[((NI) 0)]).info);
9011 								T283_ = NIM_NIL;
9012 								T283_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 35), T282_, 3);
9013 								add__ast_4797(varSectionX60gensym303_, T283_);
9014 								i_12 += ((NI) 1);
9015 							} LA281: ;
9016 						}
9017 					}
9018 					add__ast_4797(resultX60gensym303_, varSectionX60gensym303_);
9019 				}
9020 				LA276_: ;
9021 				finSectionX60gensym303_ = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), (*(*n)._kind_6.sons->data[((NI) 0)]).info);
9022 				{
9023 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** mX60gensym303_;
9024 					NI i_13;
9025 					NI L_8;
9026 					NI T285_;
9027 					mX60gensym303_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw**)0;
9028 					i_13 = ((NI) 0);
9029 					T285_ = (tryScopeX60gensym198_.wasMoved ? tryScopeX60gensym198_.wasMoved->Sup.len : 0);
9030 					L_8 = T285_;
9031 					{
9032 						while (1) {
9033 							if (!(i_13 < L_8)) goto LA287;
9034 							mX60gensym303_ = &tryScopeX60gensym198_.wasMoved->data[i_13];
9035 							add__ast_4797(finSectionX60gensym303_, (*mX60gensym303_));
9036 							i_13 += ((NI) 1);
9037 						} LA287: ;
9038 					}
9039 				}
9040 				{
9041 					NI iX60gensym303_;
9042 					NI colontmp__9;
9043 					NI T289_;
9044 					NI res_4;
9045 					iX60gensym303_ = (NI)0;
9046 					colontmp__9 = (NI)0;
9047 					T289_ = ((tryScopeX60gensym198_.final ? tryScopeX60gensym198_.final->Sup.len : 0)-1);
9048 					colontmp__9 = T289_;
9049 					res_4 = colontmp__9;
9050 					{
9051 						while (1) {
9052 							if (!(((NI) 0) <= res_4)) goto LA291;
9053 							iX60gensym303_ = res_4;
9054 							add__ast_4797(finSectionX60gensym303_, tryScopeX60gensym198_.final->data[iX60gensym303_]);
9055 							res_4 -= ((NI) 1);
9056 						} LA291: ;
9057 					}
9058 				}
9059 				{
9060 					tyArray__AB6yfoUgfWM2NtGe9bzkCmw T296_;
9061 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T303_;
9062 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T304_;
9063 					if (!tryScopeX60gensym198_.needsTry) goto LA294_;
9064 					nimZeroMem((void*)T296_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
9065 					T296_[0] = cpyX60gensym303_;
9066 					{
9067 						NIM_BOOL T299_;
9068 						T299_ = (NIM_BOOL)0;
9069 						T299_ = isEmptyType__ast_4779((*tmpX60gensym303_).typ);
9070 						if (!T299_) goto LA300_;
9071 						T296_[1] = p__injectdestructors_105(tmpX60gensym303_, c, tryScopeX60gensym198_.parent, ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
9072 					}
9073 					goto LA297_;
9074 					LA300_: ;
9075 					{
9076 						T296_[1] = p__injectdestructors_105(tmpX60gensym303_, c, tryScopeX60gensym198_.parent, mode);
9077 					}
9078 					LA297_: ;
9079 					T303_ = NIM_NIL;
9080 					T303_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126), T296_, 2);
9081 					T304_ = NIM_NIL;
9082 					T304_ = newTryFinally__lowerings_202(T303_, finSectionX60gensym303_);
9083 					add__ast_4797(resultX60gensym303_, T304_);
9084 				}
9085 				goto LA292_;
9086 				LA294_: ;
9087 				{
9088 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T306_;
9089 					add__ast_4797(resultX60gensym303_, cpyX60gensym303_);
9090 					add__ast_4797(resultX60gensym303_, finSectionX60gensym303_);
9091 					T306_ = NIM_NIL;
9092 					{
9093 						NIM_BOOL T309_;
9094 						T309_ = (NIM_BOOL)0;
9095 						T309_ = isEmptyType__ast_4779((*tmpX60gensym303_).typ);
9096 						if (!T309_) goto LA310_;
9097 						T306_ = p__injectdestructors_105(tmpX60gensym303_, c, tryScopeX60gensym198_.parent, ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
9098 					}
9099 					goto LA307_;
9100 					LA310_: ;
9101 					{
9102 						T306_ = p__injectdestructors_105(tmpX60gensym303_, c, tryScopeX60gensym198_.parent, mode);
9103 					}
9104 					LA307_: ;
9105 					add__ast_4797(resultX60gensym303_, T306_);
9106 				}
9107 				LA292_: ;
9108 				{
9109 					NIM_BOOL T317_;
9110 					if (!!((tryScopeX60gensym198_.parent == ((tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ*) NIM_NIL)))) goto LA315_;
9111 					T317_ = (NIM_BOOL)0;
9112 					T317_ = (*tryScopeX60gensym198_.parent).needsTry;
9113 					if (T317_) goto LA318_;
9114 					T317_ = tryScopeX60gensym198_.needsTry;
9115 					LA318_: ;
9116 					(*tryScopeX60gensym198_.parent).needsTry = T317_;
9117 				}
9118 				LA315_: ;
9119 				T249_ = resultX60gensym303_;
9120 			}
9121 			LA250_: ;
9122 			add__ast_4797(result, T249_);
9123 			{
9124 				NI iX60gensym198__5;
9125 				NI colontmp__10;
9126 				NI i_14;
9127 				iX60gensym198__5 = (NI)0;
9128 				colontmp__10 = (NI)0;
9129 				colontmp__10 = len__ast_3198(n);
9130 				i_14 = ((NI) 1);
9131 				{
9132 					while (1) {
9133 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* itX60gensym198__3;
9134 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* branchX60gensym198__3;
9135 						tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ branchScopeX60gensym198__2;
9136 						NI T322_;
9137 						if (!(i_14 < colontmp__10)) goto LA321;
9138 						iX60gensym198__5 = i_14;
9139 						itX60gensym198__3 = (*n)._kind_6.sons->data[iX60gensym198__5];
9140 						branchX60gensym198__3 = copyTree__ast_4431(itX60gensym198__3);
9141 						nimZeroMem((void*)(&branchScopeX60gensym198__2), sizeof(tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ));
9142 						nestedScope__injectdestructors_72(s, (&branchScopeX60gensym198__2));
9143 						T322_ = (NI)0;
9144 						T322_ = len__ast_3198(branchX60gensym198__3);
9145 						{
9146 							NIM_BOOL T325_;
9147 							NIM_BOOL T326_;
9148 							NI T327_;
9149 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T332_;
9150 							T325_ = (NIM_BOOL)0;
9151 							T326_ = (NIM_BOOL)0;
9152 							T327_ = (NI)0;
9153 							T327_ = len__ast_3198(itX60gensym198__3);
9154 							T326_ = isEmptyType__ast_4779((*(*itX60gensym198__3)._kind_6.sons->data[(NI)(T327_ - ((NI) 1))]).typ);
9155 							if (T326_) goto LA328_;
9156 							T326_ = NIM_FALSE;
9157 							LA328_: ;
9158 							T325_ = T326_;
9159 							if (T325_) goto LA329_;
9160 							T325_ = ((*itX60gensym198__3).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 107));
9161 							LA329_: ;
9162 							if (!T325_) goto LA330_;
9163 							T332_ = NIM_NIL;
9164 							{
9165 								NI T337_;
9166 								if (!((*itX60gensym198__3).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 107))) goto LA335_;
9167 								T337_ = (NI)0;
9168 								T337_ = len__ast_3198(itX60gensym198__3);
9169 								T332_ = p__injectdestructors_105((*itX60gensym198__3)._kind_6.sons->data[(NI)(T337_ - ((NI) 1))], c, (&branchScopeX60gensym198__2), ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
9170 							}
9171 							goto LA333_;
9172 							LA335_: ;
9173 							{
9174 								{
9175 									NI T341_;
9176 									NIM_BOOL T342_;
9177 									NI T345_;
9178 									T341_ = (NI)0;
9179 									T341_ = len__ast_3198(itX60gensym198__3);
9180 									T342_ = (NIM_BOOL)0;
9181 									T342_ = isEmptyType__ast_4779((*(*itX60gensym198__3)._kind_6.sons->data[(NI)(T341_ - ((NI) 1))]).typ);
9182 									if (!T342_) goto LA343_;
9183 									T345_ = (NI)0;
9184 									T345_ = len__ast_3198(itX60gensym198__3);
9185 									T332_ = p__injectdestructors_105((*itX60gensym198__3)._kind_6.sons->data[(NI)(T345_ - ((NI) 1))], c, (&branchScopeX60gensym198__2), ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
9186 								}
9187 								goto LA339_;
9188 								LA343_: ;
9189 								{
9190 									NI T347_;
9191 									T347_ = (NI)0;
9192 									T347_ = len__ast_3198(itX60gensym198__3);
9193 									T332_ = p__injectdestructors_105((*itX60gensym198__3)._kind_6.sons->data[(NI)(T347_ - ((NI) 1))], c, (&branchScopeX60gensym198__2), mode);
9194 								}
9195 								LA339_: ;
9196 							}
9197 							LA333_: ;
9198 							asgnRef((void**) (&(*branchX60gensym198__3)._kind_6.sons->data[(NI)(T322_ - ((NI) 1))]), processScope__injectdestructors_7016(c, (&branchScopeX60gensym198__2), T332_));
9199 						}
9200 						goto LA323_;
9201 						LA330_: ;
9202 						{
9203 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* resultX60gensym334_;
9204 							NI T349_;
9205 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* tmpX60gensym334_;
9206 							NI T350_;
9207 							NI T351_;
9208 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* cpyX60gensym334_;
9209 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* finSectionX60gensym334_;
9210 							NI T378_;
9211 							T349_ = (NI)0;
9212 							T349_ = len__ast_3198(itX60gensym198__3);
9213 							resultX60gensym334_ = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126), (*(*itX60gensym198__3)._kind_6.sons->data[(NI)(T349_ - ((NI) 1))]).info);
9214 							T350_ = (NI)0;
9215 							T350_ = len__ast_3198(itX60gensym198__3);
9216 							T351_ = (NI)0;
9217 							T351_ = len__ast_3198(itX60gensym198__3);
9218 							tmpX60gensym334_ = getTemp__injectdestructors_61(c, branchScopeX60gensym198__2.parent, (*(*itX60gensym198__3)._kind_6.sons->data[(NI)(T350_ - ((NI) 1))]).typ, (*(*itX60gensym198__3)._kind_6.sons->data[(NI)(T351_ - ((NI) 1))]).info);
9219 							(*(*tmpX60gensym334_)._kind_4.sym).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 45)) & 63);
9220 							{
9221 								NI T354_;
9222 								NIM_BOOL T355_;
9223 								tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T358_;
9224 								NI T359_;
9225 								NI T360_;
9226 								T354_ = (NI)0;
9227 								T354_ = len__ast_3198(itX60gensym198__3);
9228 								T355_ = (NIM_BOOL)0;
9229 								T355_ = hasDestructor__injectdestructors_49((&(*c)), (*(*itX60gensym198__3)._kind_6.sons->data[(NI)(T354_ - ((NI) 1))]).typ);
9230 								if (!T355_) goto LA356_;
9231 								T358_ = NIM_NIL;
9232 								T358_ = genDestroy__injectdestructors_6527(c, tmpX60gensym334_);
9233 								unsureAsgnRef((void**) (&(*branchScopeX60gensym198__2.parent).final), (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) incrSeqV3((TGenericSeq*)((*branchScopeX60gensym198__2.parent).final), (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_)));
9234 								T359_ = (*branchScopeX60gensym198__2.parent).final->Sup.len++;
9235 								asgnRef((void**) (&(*branchScopeX60gensym198__2.parent).final->data[T359_]), T358_);
9236 								T360_ = (NI)0;
9237 								T360_ = len__ast_3198(itX60gensym198__3);
9238 								cpyX60gensym334_ = moveOrCopy__injectdestructors_110(tmpX60gensym334_, (*itX60gensym198__3)._kind_6.sons->data[(NI)(T360_ - ((NI) 1))], c, (&branchScopeX60gensym198__2), NIM_TRUE);
9239 							}
9240 							goto LA352_;
9241 							LA356_: ;
9242 							{
9243 								tyArray__AB6yfoUgfWM2NtGe9bzkCmw T362_;
9244 								NI T363_;
9245 								nimZeroMem((void*)T362_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
9246 								T362_[0] = tmpX60gensym334_;
9247 								T363_ = (NI)0;
9248 								T363_ = len__ast_3198(itX60gensym198__3);
9249 								T362_[1] = p__injectdestructors_105((*itX60gensym198__3)._kind_6.sons->data[(NI)(T363_ - ((NI) 1))], c, (&branchScopeX60gensym198__2), ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
9250 								cpyX60gensym334_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 74), T362_, 2);
9251 							}
9252 							LA352_: ;
9253 							{
9254 								NI T366_;
9255 								tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* varSectionX60gensym334_;
9256 								NI T369_;
9257 								T366_ = (branchScopeX60gensym198__2.vars ? branchScopeX60gensym198__2.vars->Sup.len : 0);
9258 								if (!(((NI) 0) < T366_)) goto LA367_;
9259 								T369_ = (NI)0;
9260 								T369_ = len__ast_3198(itX60gensym198__3);
9261 								varSectionX60gensym334_ = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 99), (*(*itX60gensym198__3)._kind_6.sons->data[(NI)(T369_ - ((NI) 1))]).info);
9262 								{
9263 									tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ** tmpX60gensym334__2;
9264 									NI i_15;
9265 									NI L_9;
9266 									NI T371_;
9267 									tmpX60gensym334__2 = (tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ**)0;
9268 									i_15 = ((NI) 0);
9269 									T371_ = (branchScopeX60gensym198__2.vars ? branchScopeX60gensym198__2.vars->Sup.len : 0);
9270 									L_9 = T371_;
9271 									{
9272 										while (1) {
9273 											tyArray__T6RKPw8xfAeNaoei9aZGzXg T374_;
9274 											NI T375_;
9275 											NI T376_;
9276 											tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T377_;
9277 											if (!(i_15 < L_9)) goto LA373;
9278 											tmpX60gensym334__2 = &branchScopeX60gensym198__2.vars->data[i_15];
9279 											nimZeroMem((void*)T374_, sizeof(tyArray__T6RKPw8xfAeNaoei9aZGzXg));
9280 											T374_[0] = newSymNode__ast_3716((*tmpX60gensym334__2));
9281 											T375_ = (NI)0;
9282 											T375_ = len__ast_3198(itX60gensym198__3);
9283 											T374_[1] = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1), (*(*itX60gensym198__3)._kind_6.sons->data[(NI)(T375_ - ((NI) 1))]).info);
9284 											T376_ = (NI)0;
9285 											T376_ = len__ast_3198(itX60gensym198__3);
9286 											T374_[2] = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1), (*(*itX60gensym198__3)._kind_6.sons->data[(NI)(T376_ - ((NI) 1))]).info);
9287 											T377_ = NIM_NIL;
9288 											T377_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 35), T374_, 3);
9289 											add__ast_4797(varSectionX60gensym334_, T377_);
9290 											i_15 += ((NI) 1);
9291 										} LA373: ;
9292 									}
9293 								}
9294 								add__ast_4797(resultX60gensym334_, varSectionX60gensym334_);
9295 							}
9296 							LA367_: ;
9297 							T378_ = (NI)0;
9298 							T378_ = len__ast_3198(itX60gensym198__3);
9299 							finSectionX60gensym334_ = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), (*(*itX60gensym198__3)._kind_6.sons->data[(NI)(T378_ - ((NI) 1))]).info);
9300 							{
9301 								tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** mX60gensym334_;
9302 								NI i_16;
9303 								NI L_10;
9304 								NI T380_;
9305 								mX60gensym334_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw**)0;
9306 								i_16 = ((NI) 0);
9307 								T380_ = (branchScopeX60gensym198__2.wasMoved ? branchScopeX60gensym198__2.wasMoved->Sup.len : 0);
9308 								L_10 = T380_;
9309 								{
9310 									while (1) {
9311 										if (!(i_16 < L_10)) goto LA382;
9312 										mX60gensym334_ = &branchScopeX60gensym198__2.wasMoved->data[i_16];
9313 										add__ast_4797(finSectionX60gensym334_, (*mX60gensym334_));
9314 										i_16 += ((NI) 1);
9315 									} LA382: ;
9316 								}
9317 							}
9318 							{
9319 								NI iX60gensym334_;
9320 								NI colontmp__11;
9321 								NI T384_;
9322 								NI res_5;
9323 								iX60gensym334_ = (NI)0;
9324 								colontmp__11 = (NI)0;
9325 								T384_ = ((branchScopeX60gensym198__2.final ? branchScopeX60gensym198__2.final->Sup.len : 0)-1);
9326 								colontmp__11 = T384_;
9327 								res_5 = colontmp__11;
9328 								{
9329 									while (1) {
9330 										if (!(((NI) 0) <= res_5)) goto LA386;
9331 										iX60gensym334_ = res_5;
9332 										add__ast_4797(finSectionX60gensym334_, branchScopeX60gensym198__2.final->data[iX60gensym334_]);
9333 										res_5 -= ((NI) 1);
9334 									} LA386: ;
9335 								}
9336 							}
9337 							{
9338 								tyArray__AB6yfoUgfWM2NtGe9bzkCmw T391_;
9339 								tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T392_;
9340 								tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T393_;
9341 								if (!branchScopeX60gensym198__2.needsTry) goto LA389_;
9342 								nimZeroMem((void*)T391_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
9343 								T391_[0] = cpyX60gensym334_;
9344 								T391_[1] = p__injectdestructors_105(tmpX60gensym334_, c, branchScopeX60gensym198__2.parent, mode);
9345 								T392_ = NIM_NIL;
9346 								T392_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126), T391_, 2);
9347 								T393_ = NIM_NIL;
9348 								T393_ = newTryFinally__lowerings_202(T392_, finSectionX60gensym334_);
9349 								add__ast_4797(resultX60gensym334_, T393_);
9350 							}
9351 							goto LA387_;
9352 							LA389_: ;
9353 							{
9354 								tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T395_;
9355 								add__ast_4797(resultX60gensym334_, cpyX60gensym334_);
9356 								add__ast_4797(resultX60gensym334_, finSectionX60gensym334_);
9357 								T395_ = NIM_NIL;
9358 								T395_ = p__injectdestructors_105(tmpX60gensym334_, c, branchScopeX60gensym198__2.parent, mode);
9359 								add__ast_4797(resultX60gensym334_, T395_);
9360 							}
9361 							LA387_: ;
9362 							{
9363 								NIM_BOOL T400_;
9364 								if (!!((branchScopeX60gensym198__2.parent == ((tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ*) NIM_NIL)))) goto LA398_;
9365 								T400_ = (NIM_BOOL)0;
9366 								T400_ = (*branchScopeX60gensym198__2.parent).needsTry;
9367 								if (T400_) goto LA401_;
9368 								T400_ = branchScopeX60gensym198__2.needsTry;
9369 								LA401_: ;
9370 								(*branchScopeX60gensym198__2.parent).needsTry = T400_;
9371 							}
9372 							LA398_: ;
9373 							asgnRef((void**) (&(*branchX60gensym198__3)._kind_6.sons->data[(NI)(T322_ - ((NI) 1))]), resultX60gensym334_);
9374 						}
9375 						LA323_: ;
9376 						add__ast_4797(result, branchX60gensym198__3);
9377 						i_14 += ((NI) 1);
9378 					} LA321: ;
9379 				}
9380 			}
9381 		}
9382 		break;
9383 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 93):
9384 		{
9385 			result = copyTree__ast_4431(n);
9386 			asgnRef((void**) (&(*(*result)._kind_6.sons->data[((NI) 1)])._kind_6.sons->data[((NI) 0)]), p__injectdestructors_105((*(*n)._kind_6.sons->data[((NI) 1)])._kind_6.sons->data[((NI) 0)], c, s, mode));
9387 		}
9388 		break;
9389 		default:
9390 		{
9391 		}
9392 		break;
9393 		}
9394 	}
9395 	goto LA1_;
9396 	LA3_: ;
9397 	{
9398 		if (!(mode == ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 2))) goto LA405_;
9399 		{
9400 			NIM_BOOL T409_;
9401 			T409_ = (NIM_BOOL)0;
9402 			T409_ = containsConstSeq__injectdestructors_6860(n);
9403 			if (!T409_) goto LA410_;
9404 			result = passCopyToSink__injectdestructors_6805(n, c, s);
9405 		}
9406 		goto LA407_;
9407 		LA410_: ;
9408 		{
9409 			if (!((*n).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 5) && (*n).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23) || (*n).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 26) && (*n).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 32) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 38) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 41) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 155) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 160))) goto LA413_;
9410 			result = p__injectdestructors_105(n, c, s, ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 1));
9411 		}
9412 		goto LA407_;
9413 		LA413_: ;
9414 		{
9415 			NIM_BOOL T416_;
9416 			NIM_BOOL T417_;
9417 			NIM_BOOL T418_;
9418 			NIM_BOOL T419_;
9419 			NIM_BOOL T424_;
9420 			T416_ = (NIM_BOOL)0;
9421 			T417_ = (NIM_BOOL)0;
9422 			T418_ = (NIM_BOOL)0;
9423 			T419_ = (NIM_BOOL)0;
9424 			T419_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
9425 			if (!(T419_)) goto LA420_;
9426 			T419_ = isSinkParam__ast_5030((*n)._kind_4.sym);
9427 			LA420_: ;
9428 			T418_ = T419_;
9429 			if (T418_) goto LA421_;
9430 			T418_ = isAnalysableFieldAccess__dfa_903(n, (*c).owner);
9431 			LA421_: ;
9432 			T417_ = T418_;
9433 			if (!(T417_)) goto LA422_;
9434 			T417_ = isLastRead__injectdestructors_6103(n, c);
9435 			LA422_: ;
9436 			T416_ = T417_;
9437 			if (!(T416_)) goto LA423_;
9438 			T424_ = (NIM_BOOL)0;
9439 			T424_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
9440 			if (!(T424_)) goto LA425_;
9441 			T424_ = isCursor__injectdestructors_6369(n);
9442 			LA425_: ;
9443 			T416_ = !(T424_);
9444 			LA423_: ;
9445 			if (!T416_) goto LA426_;
9446 			result = destructiveMoveVar__injectdestructors_6760(n, c, s);
9447 		}
9448 		goto LA407_;
9449 		LA426_: ;
9450 		{
9451 			if (!((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 59) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 58) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 60))) goto LA429_;
9452 			result = copyTree__ast_4431(n);
9453 			{
9454 				NIM_BOOL T433_;
9455 				tyObject_TType__facALICuu8zUj0hjvbTLFg* T434_;
9456 				tyObject_TType__facALICuu8zUj0hjvbTLFg* T436_;
9457 				tyObject_TType__facALICuu8zUj0hjvbTLFg* nTyp;
9458 				T433_ = (NIM_BOOL)0;
9459 				T434_ = NIM_NIL;
9460 				T434_ = skipTypes__ast_3735((*n).typ, TM__dJ4qrEWDmqGA8FWJ0TYKJQ_43);
9461 				T433_ = !(((*T434_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 45)));
9462 				if (!(T433_)) goto LA435_;
9463 				T436_ = NIM_NIL;
9464 				T436_ = skipTypes__ast_3735((*(*n)._kind_6.sons->data[((NI) 1)]).typ, TM__dJ4qrEWDmqGA8FWJ0TYKJQ_43);
9465 				T433_ = ((*T436_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 45));
9466 				LA435_: ;
9467 				if (!T433_) goto LA437_;
9468 				nTyp = (*(*n)._kind_6.sons->data[((NI) 1)]).typ;
9469 				asgnRef((void**) (&(*(*n)._kind_6.sons->data[((NI) 1)]).typ), (*n).typ);
9470 				asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 1)]), p__injectdestructors_105((*n)._kind_6.sons->data[((NI) 1)], c, s, ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 2)));
9471 				asgnRef((void**) (&(*(*result)._kind_6.sons->data[((NI) 1)]).typ), nTyp);
9472 			}
9473 			goto LA431_;
9474 			LA437_: ;
9475 			{
9476 				asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 1)]), p__injectdestructors_105((*n)._kind_6.sons->data[((NI) 1)], c, s, ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 2)));
9477 			}
9478 			LA431_: ;
9479 		}
9480 		goto LA407_;
9481 		LA429_: ;
9482 		{
9483 			if (!((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 66) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 67))) goto LA441_;
9484 			result = copyTree__ast_4431(n);
9485 			asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 0)]), p__injectdestructors_105((*n)._kind_6.sons->data[((NI) 0)], c, s, ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 2)));
9486 		}
9487 		goto LA407_;
9488 		LA441_: ;
9489 		{
9490 			if (!((*n).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA444_;
9491 			result = p__injectdestructors_105(n, c, s, ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
9492 		}
9493 		goto LA407_;
9494 		LA444_: ;
9495 		{
9496 			result = passCopyToSink__injectdestructors_6805(n, c, s);
9497 		}
9498 		LA407_: ;
9499 	}
9500 	goto LA1_;
9501 	LA405_: ;
9502 	{
9503 		switch ((*n).kind) {
9504 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 41):
9505 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 160):
9506 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 155):
9507 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 39):
9508 		{
9509 			tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw m;
9510 			{
9511 				if (!(mode == ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0))) goto LA451_;
9512 				m = ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0);
9513 			}
9514 			goto LA449_;
9515 			LA451_: ;
9516 			{
9517 				m = ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 2);
9518 			}
9519 			LA449_: ;
9520 			result = copyTree__ast_4431(n);
9521 			{
9522 				NI i_17;
9523 				NI colontmp__12;
9524 				NI colontmp__13;
9525 				NI i_18;
9526 				i_17 = (NI)0;
9527 				colontmp__12 = (NI)0;
9528 				colontmp__13 = (NI)0;
9529 				colontmp__12 = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 155));
9530 				colontmp__13 = len__ast_3198(n);
9531 				i_18 = colontmp__12;
9532 				{
9533 					while (1) {
9534 						if (!(i_18 < colontmp__13)) goto LA456;
9535 						i_17 = i_18;
9536 						{
9537 							if (!((*(*n)._kind_6.sons->data[i_17]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 34))) goto LA459_;
9538 							asgnRef((void**) (&(*(*result)._kind_6.sons->data[i_17])._kind_6.sons->data[((NI) 1)]), p__injectdestructors_105((*(*n)._kind_6.sons->data[i_17])._kind_6.sons->data[((NI) 1)], c, s, m));
9539 						}
9540 						goto LA457_;
9541 						LA459_: ;
9542 						{
9543 							if (!((*(*n)._kind_6.sons->data[i_17]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 44))) goto LA462_;
9544 							asgnRef((void**) (&(*(*result)._kind_6.sons->data[i_17])._kind_6.sons->data[((NI) 0)]), p__injectdestructors_105((*(*n)._kind_6.sons->data[i_17])._kind_6.sons->data[((NI) 0)], c, s, m));
9545 							asgnRef((void**) (&(*(*result)._kind_6.sons->data[i_17])._kind_6.sons->data[((NI) 1)]), p__injectdestructors_105((*(*n)._kind_6.sons->data[i_17])._kind_6.sons->data[((NI) 1)], c, s, m));
9546 						}
9547 						goto LA457_;
9548 						LA462_: ;
9549 						{
9550 							asgnRef((void**) (&(*result)._kind_6.sons->data[i_17]), p__injectdestructors_105((*n)._kind_6.sons->data[i_17], c, s, m));
9551 						}
9552 						LA457_: ;
9553 						i_18 += ((NI) 1);
9554 					} LA456: ;
9555 				}
9556 			}
9557 		}
9558 		break;
9559 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 38):
9560 		{
9561 			tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
9562 			NIM_BOOL isRefConstr;
9563 			tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw m_2;
9564 			t = skipTypes__ast_3735((*n).typ, TM__dJ4qrEWDmqGA8FWJ0TYKJQ_38);
9565 			isRefConstr = ((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22));
9566 			{
9567 				if (!isRefConstr) goto LA468_;
9568 				m_2 = ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 2);
9569 			}
9570 			goto LA466_;
9571 			LA468_: ;
9572 			{
9573 				if (!(mode == ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0))) goto LA471_;
9574 				m_2 = ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0);
9575 			}
9576 			goto LA466_;
9577 			LA471_: ;
9578 			{
9579 				m_2 = ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 2);
9580 			}
9581 			LA466_: ;
9582 			result = copyTree__ast_4431(n);
9583 			{
9584 				NI i_19;
9585 				NI colontmp__14;
9586 				NI i_20;
9587 				i_19 = (NI)0;
9588 				colontmp__14 = (NI)0;
9589 				colontmp__14 = len__ast_3198(n);
9590 				i_20 = ((NI) 1);
9591 				{
9592 					while (1) {
9593 						if (!(i_20 < colontmp__14)) goto LA476;
9594 						i_19 = i_20;
9595 						{
9596 							tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* field;
9597 							if (!((*(*n)._kind_6.sons->data[i_19]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 34))) goto LA479_;
9598 							field = lookupFieldAgain__types_4062(t, (*(*(*n)._kind_6.sons->data[i_19])._kind_6.sons->data[((NI) 0)])._kind_4.sym);
9599 							{
9600 								NIM_BOOL T483_;
9601 								T483_ = (NIM_BOOL)0;
9602 								T483_ = !((field == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
9603 								if (!(T483_)) goto LA484_;
9604 								T483_ = (((*field).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 41))&63U)))!=0);
9605 								LA484_: ;
9606 								if (!T483_) goto LA485_;
9607 								asgnRef((void**) (&(*(*result)._kind_6.sons->data[i_19])._kind_6.sons->data[((NI) 1)]), p__injectdestructors_105((*(*n)._kind_6.sons->data[i_19])._kind_6.sons->data[((NI) 1)], c, s, ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0)));
9608 							}
9609 							goto LA481_;
9610 							LA485_: ;
9611 							{
9612 								asgnRef((void**) (&(*(*result)._kind_6.sons->data[i_19])._kind_6.sons->data[((NI) 1)]), p__injectdestructors_105((*(*n)._kind_6.sons->data[i_19])._kind_6.sons->data[((NI) 1)], c, s, m_2));
9613 							}
9614 							LA481_: ;
9615 						}
9616 						goto LA477_;
9617 						LA479_: ;
9618 						{
9619 							asgnRef((void**) (&(*result)._kind_6.sons->data[i_19]), p__injectdestructors_105((*n)._kind_6.sons->data[i_19], c, s, m_2));
9620 						}
9621 						LA477_: ;
9622 						i_20 += ((NI) 1);
9623 					} LA476: ;
9624 				}
9625 			}
9626 			{
9627 				NIM_BOOL T491_;
9628 				T491_ = (NIM_BOOL)0;
9629 				T491_ = (mode == ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
9630 				if (!(T491_)) goto LA492_;
9631 				T491_ = isRefConstr;
9632 				LA492_: ;
9633 				if (!T491_) goto LA493_;
9634 				result = ensureDestruction__injectdestructors_6885(result, n, c, s);
9635 			}
9636 			LA493_: ;
9637 		}
9638 		break;
9639 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 26) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 32):
9640 		{
9641 			NI inSpawn;
9642 			tyObject_TType__facALICuu8zUj0hjvbTLFg* parameters;
9643 			NI L_11;
9644 			inSpawn = (*c).inSpawn;
9645 			{
9646 				NIM_BOOL T498_;
9647 				T498_ = (NIM_BOOL)0;
9648 				T498_ = ((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
9649 				if (!(T498_)) goto LA499_;
9650 				T498_ = ((*(*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 198));
9651 				LA499_: ;
9652 				if (!T498_) goto LA500_;
9653 				(*c).inSpawn += ((NI) 1);
9654 			}
9655 			goto LA496_;
9656 			LA500_: ;
9657 			{
9658 				if (!(((NI) 0) < (*c).inSpawn)) goto LA503_;
9659 				(*c).inSpawn -= ((NI) 1);
9660 			}
9661 			goto LA496_;
9662 			LA503_: ;
9663 			LA496_: ;
9664 			parameters = (*(*n)._kind_6.sons->data[((NI) 0)]).typ;
9665 			{
9666 				if (!!((parameters == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA507_;
9667 				L_11 = len__ast_4002(parameters);
9668 			}
9669 			goto LA505_;
9670 			LA507_: ;
9671 			{
9672 				L_11 = ((NI) 0);
9673 			}
9674 			LA505_: ;
9675 			result = shallowCopy__ast_4413(n);
9676 			{
9677 				NI i_21;
9678 				NI colontmp__15;
9679 				NI i_22;
9680 				i_21 = (NI)0;
9681 				colontmp__15 = (NI)0;
9682 				colontmp__15 = len__ast_3198(n);
9683 				i_22 = ((NI) 1);
9684 				{
9685 					while (1) {
9686 						if (!(i_22 < colontmp__15)) goto LA512;
9687 						i_21 = i_22;
9688 						{
9689 							NIM_BOOL T515_;
9690 							T515_ = (NIM_BOOL)0;
9691 							T515_ = (i_21 < L_11);
9692 							if (!(T515_)) goto LA516_;
9693 							T515_ = isCompileTimeOnly__types_3528((*parameters).sons->data[i_21]);
9694 							LA516_: ;
9695 							if (!T515_) goto LA517_;
9696 							asgnRef((void**) (&(*result)._kind_6.sons->data[i_21]), (*n)._kind_6.sons->data[i_21]);
9697 						}
9698 						goto LA513_;
9699 						LA517_: ;
9700 						{
9701 							NIM_BOOL T520_;
9702 							NIM_BOOL T522_;
9703 							T520_ = (NIM_BOOL)0;
9704 							T520_ = (i_21 < L_11);
9705 							if (!(T520_)) goto LA521_;
9706 							T522_ = (NIM_BOOL)0;
9707 							T522_ = isSinkTypeForParam__types_4055((*parameters).sons->data[i_21]);
9708 							if (T522_) goto LA523_;
9709 							T522_ = (((NI) 0) < inSpawn);
9710 							LA523_: ;
9711 							T520_ = T522_;
9712 							LA521_: ;
9713 							if (!T520_) goto LA524_;
9714 							asgnRef((void**) (&(*result)._kind_6.sons->data[i_21]), p__injectdestructors_105((*n)._kind_6.sons->data[i_21], c, s, ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 2)));
9715 						}
9716 						goto LA513_;
9717 						LA524_: ;
9718 						{
9719 							asgnRef((void**) (&(*result)._kind_6.sons->data[i_21]), p__injectdestructors_105((*n)._kind_6.sons->data[i_21], c, s, ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0)));
9720 						}
9721 						LA513_: ;
9722 						i_22 += ((NI) 1);
9723 					} LA512: ;
9724 				}
9725 			}
9726 			{
9727 				NIM_BOOL T529_;
9728 				T529_ = (NIM_BOOL)0;
9729 				T529_ = ((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
9730 				if (!(T529_)) goto LA530_;
9731 				T529_ = ((*(*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 32) || (*(*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 33));
9732 				LA530_: ;
9733 				if (!T529_) goto LA531_;
9734 				asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 0)]), copyTree__ast_4431((*n)._kind_6.sons->data[((NI) 0)]));
9735 				{
9736 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* destroyOld;
9737 					tyArray__AB6yfoUgfWM2NtGe9bzkCmw T537_;
9738 					if (!((176 &((NU16)1<<((NU)((*(*(*c).graph).config).selectedGC)&15U)))!=0)) goto LA535_;
9739 					destroyOld = genDestroy__injectdestructors_6527(c, (*result)._kind_6.sons->data[((NI) 1)]);
9740 					nimZeroMem((void*)T537_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
9741 					T537_[0] = destroyOld;
9742 					T537_[1] = result;
9743 					result = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), T537_, 2);
9744 				}
9745 				LA535_: ;
9746 			}
9747 			goto LA527_;
9748 			LA531_: ;
9749 			{
9750 				asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 0)]), p__injectdestructors_105((*n)._kind_6.sons->data[((NI) 0)], c, s, ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0)));
9751 			}
9752 			LA527_: ;
9753 			{
9754 				NIM_BOOL T541_;
9755 				T541_ = (NIM_BOOL)0;
9756 				T541_ = canRaise__ast_5088((*n)._kind_6.sons->data[((NI) 0)]);
9757 				if (!T541_) goto LA542_;
9758 				(*s).needsTry = NIM_TRUE;
9759 			}
9760 			LA542_: ;
9761 			{
9762 				if (!(mode == ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0))) goto LA546_;
9763 				result = ensureDestruction__injectdestructors_6885(result, n, c, s);
9764 			}
9765 			LA546_: ;
9766 		}
9767 		break;
9768 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 114):
9769 		{
9770 			result = shallowCopy__ast_4413(n);
9771 			{
9772 				if (!!(((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA551_;
9773 				asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 0)]), p__injectdestructors_105((*n)._kind_6.sons->data[((NI) 0)], c, s, ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0)));
9774 			}
9775 			goto LA549_;
9776 			LA551_: ;
9777 			{
9778 				asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 0)]), copyNode__ast_4336((*n)._kind_6.sons->data[((NI) 0)]));
9779 			}
9780 			LA549_: ;
9781 		}
9782 		break;
9783 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 99):
9784 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 100):
9785 		{
9786 			result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), (*n).info);
9787 			{
9788 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* it;
9789 				it = NIM_NIL;
9790 				{
9791 					NI i_23;
9792 					NI colontmp__16;
9793 					NI i_24;
9794 					i_23 = (NI)0;
9795 					colontmp__16 = (NI)0;
9796 					colontmp__16 = safeLen__ast_3191(n);
9797 					i_24 = ((NI) 0);
9798 					{
9799 						while (1) {
9800 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ri;
9801 							NI T559_;
9802 							if (!(i_24 < colontmp__16)) goto LA558;
9803 							i_23 = i_24;
9804 							it = (*n)._kind_6.sons->data[i_23];
9805 							T559_ = (NI)0;
9806 							T559_ = len__ast_3198(it);
9807 							ri = (*it)._kind_6.sons->data[(NI)(T559_ - ((NI) 1))];
9808 							{
9809 								NIM_BOOL T562_;
9810 								tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x;
9811 								tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T566_;
9812 								T562_ = (NIM_BOOL)0;
9813 								T562_ = ((*it).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 36));
9814 								if (!(T562_)) goto LA563_;
9815 								T562_ = hasDestructor__injectdestructors_49((&(*c)), (*ri).typ);
9816 								LA563_: ;
9817 								if (!T562_) goto LA564_;
9818 								x = lowerTupleUnpacking__lowerings_116((*c).graph, it, (*c).idgen, (*c).owner);
9819 								T566_ = NIM_NIL;
9820 								T566_ = p__injectdestructors_105(x, c, s, ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 1));
9821 								add__ast_4797(result, T566_);
9822 							}
9823 							goto LA560_;
9824 							LA564_: ;
9825 							{
9826 								NIM_BOOL T568_;
9827 								T568_ = (NIM_BOOL)0;
9828 								T568_ = ((*it).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 35));
9829 								if (!(T568_)) goto LA569_;
9830 								T568_ = hasDestructor__injectdestructors_49((&(*c)), (*(*it)._kind_6.sons->data[((NI) 0)]).typ);
9831 								LA569_: ;
9832 								if (!T568_) goto LA570_;
9833 								{
9834 									NI j;
9835 									NI colontmp__17;
9836 									NI T573_;
9837 									NI i_25;
9838 									j = (NI)0;
9839 									colontmp__17 = (NI)0;
9840 									T573_ = (NI)0;
9841 									T573_ = len__ast_3198(it);
9842 									colontmp__17 = (NI)(T573_ - ((NI) 2));
9843 									i_25 = ((NI) 0);
9844 									{
9845 										while (1) {
9846 											if (!(i_25 < colontmp__17)) goto LA575;
9847 											j = i_25;
9848 											{
9849 												tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* v;
9850 												v = (*it)._kind_6.sons->data[j];
9851 												{
9852 													if (!((*v).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA579_;
9853 													{
9854 														if (!(((*(*v)._kind_4.sym).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 28))&63U)))!=0)) goto LA583_;
9855 														goto LA576;
9856 													}
9857 													LA583_: ;
9858 													pVarTopLevel__injectdestructors_6967(v, c, s, result);
9859 												}
9860 												LA579_: ;
9861 												{
9862 													tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T589_;
9863 													if (!!(((*ri).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA587_;
9864 													T589_ = NIM_NIL;
9865 													T589_ = moveOrCopy__injectdestructors_110(v, ri, c, s, ((*v).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3)));
9866 													add__ast_4797(result, T589_);
9867 												}
9868 												goto LA585_;
9869 												LA587_: ;
9870 												{
9871 													NIM_BOOL T591_;
9872 													tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T595_;
9873 													tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T596_;
9874 													T591_ = (NIM_BOOL)0;
9875 													T591_ = ((*ri).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1));
9876 													if (!(T591_)) goto LA592_;
9877 													T591_ = (((NI) 0) < (*c).inLoop);
9878 													LA592_: ;
9879 													if (!T591_) goto LA593_;
9880 													T595_ = NIM_NIL;
9881 													T595_ = genDefaultCall__injectdestructors_6751((*v).typ, (&(*c)), (*v).info);
9882 													T596_ = NIM_NIL;
9883 													T596_ = moveOrCopy__injectdestructors_110(v, T595_, c, s, ((*v).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3)));
9884 													add__ast_4797(result, T596_);
9885 												}
9886 												goto LA585_;
9887 												LA593_: ;
9888 												LA585_: ;
9889 											} LA576: ;
9890 											i_25 += ((NI) 1);
9891 										} LA575: ;
9892 									}
9893 								}
9894 							}
9895 							goto LA560_;
9896 							LA570_: ;
9897 							{
9898 								tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* v_2;
9899 								tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* itCopy;
9900 								NI T602_;
9901 								tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T603_;
9902 								v_2 = copyNode__ast_4336(n);
9903 								itCopy = copyNode__ast_4336(it);
9904 								{
9905 									NI j_2;
9906 									NI colontmp__18;
9907 									NI T599_;
9908 									NI i_26;
9909 									j_2 = (NI)0;
9910 									colontmp__18 = (NI)0;
9911 									T599_ = (NI)0;
9912 									T599_ = len__ast_3198(it);
9913 									colontmp__18 = (NI)(T599_ - ((NI) 1));
9914 									i_26 = ((NI) 0);
9915 									{
9916 										while (1) {
9917 											if (!(i_26 < colontmp__18)) goto LA601;
9918 											j_2 = i_26;
9919 											add__ast_4797(itCopy, (*it)._kind_6.sons->data[j_2]);
9920 											i_26 += ((NI) 1);
9921 										} LA601: ;
9922 									}
9923 								}
9924 								T602_ = (NI)0;
9925 								T602_ = len__ast_3198(it);
9926 								T603_ = NIM_NIL;
9927 								T603_ = p__injectdestructors_105((*it)._kind_6.sons->data[(NI)(T602_ - ((NI) 1))], c, s, ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
9928 								add__ast_4797(itCopy, T603_);
9929 								add__ast_4797(v_2, itCopy);
9930 								add__ast_4797(result, v_2);
9931 							}
9932 							LA560_: ;
9933 							i_24 += ((NI) 1);
9934 						} LA558: ;
9935 					}
9936 				}
9937 			}
9938 		}
9939 		break;
9940 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 73):
9941 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 74):
9942 		{
9943 			{
9944 				NIM_BOOL T607_;
9945 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T615_;
9946 				T607_ = (NIM_BOOL)0;
9947 				T607_ = hasDestructor__injectdestructors_49((&(*c)), (*(*n)._kind_6.sons->data[((NI) 0)]).typ);
9948 				if (!(T607_)) goto LA608_;
9949 				T607_ = !(((*(*n)._kind_6.sons->data[((NI) 1)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 79) || (*(*n)._kind_6.sons->data[((NI) 1)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 52) || (*(*n)._kind_6.sons->data[((NI) 1)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 51)));
9950 				LA608_: ;
9951 				if (!T607_) goto LA609_;
9952 				{
9953 					if (!((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 45) || (*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 46))) goto LA613_;
9954 					cycleCheck__injectdestructors_6908(n, c);
9955 				}
9956 				LA613_: ;
9957 				T615_ = NIM_NIL;
9958 				T615_ = p__injectdestructors_105((*n)._kind_6.sons->data[((NI) 0)], c, s, mode);
9959 				result = moveOrCopy__injectdestructors_110(T615_, (*n)._kind_6.sons->data[((NI) 1)], c, s, NIM_FALSE);
9960 			}
9961 			goto LA605_;
9962 			LA609_: ;
9963 			{
9964 				NIM_BOOL T617_;
9965 				T617_ = (NIM_BOOL)0;
9966 				T617_ = isDiscriminantField__astalgo_4335((*n)._kind_6.sons->data[((NI) 0)]);
9967 				if (!T617_) goto LA618_;
9968 				result = genDiscriminantAsgn__injectdestructors_6668(c, s, n);
9969 			}
9970 			goto LA605_;
9971 			LA618_: ;
9972 			{
9973 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T621_;
9974 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T622_;
9975 				result = copyNode__ast_4336(n);
9976 				T621_ = NIM_NIL;
9977 				T621_ = p__injectdestructors_105((*n)._kind_6.sons->data[((NI) 0)], c, s, mode);
9978 				add__ast_4797(result, T621_);
9979 				T622_ = NIM_NIL;
9980 				T622_ = p__injectdestructors_105((*n)._kind_6.sons->data[((NI) 1)], c, s, ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 1));
9981 				add__ast_4797(result, T622_);
9982 			}
9983 			LA605_: ;
9984 		}
9985 		break;
9986 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 108):
9987 		{
9988 			result = pRaiseStmt__injectdestructors_7126(n, c, s);
9989 		}
9990 		break;
9991 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 96):
9992 		{
9993 			internalErrorImpl__msgs_1431((*(*c).graph).config, (*n).info, ((NimStringDesc*) &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_51), TM__dJ4qrEWDmqGA8FWJ0TYKJQ_52);
9994 			result = n;
9995 		}
9996 		break;
9997 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 0) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23):
9998 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 98):
9999 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 79):
10000 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 81):
10001 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 80):
10002 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 84):
10003 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 82):
10004 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 83):
10005 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 51):
10006 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 52):
10007 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 159):
10008 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 101):
10009 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 102):
10010 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 121):
10011 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 116):
10012 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 118):
10013 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 90):
10014 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 125):
10015 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 158):
10016 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 132):
10017 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 123):
10018 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 122):
10019 		{
10020 			result = n;
10021 		}
10022 		break;
10023 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 71):
10024 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 72):
10025 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 68):
10026 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 69):
10027 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 70):
10028 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 91):
10029 		{
10030 			result = shallowCopy__ast_4413(n);
10031 			{
10032 				NI i_27;
10033 				NI colontmp__19;
10034 				NI i_28;
10035 				i_27 = (NI)0;
10036 				colontmp__19 = (NI)0;
10037 				colontmp__19 = len__ast_3198(n);
10038 				i_28 = ((NI) 0);
10039 				{
10040 					while (1) {
10041 						if (!(i_28 < colontmp__19)) goto LA629;
10042 						i_27 = i_28;
10043 						asgnRef((void**) (&(*result)._kind_6.sons->data[i_27]), p__injectdestructors_105((*n)._kind_6.sons->data[i_27], c, s, ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0)));
10044 						i_28 += ((NI) 1);
10045 					} LA629: ;
10046 				}
10047 			}
10048 			{
10049 				NIM_BOOL T632_;
10050 				T632_ = (NIM_BOOL)0;
10051 				T632_ = !(((*n).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
10052 				if (!(T632_)) goto LA633_;
10053 				T632_ = hasDestructor__injectdestructors_49((&(*c)), (*n).typ);
10054 				LA633_: ;
10055 				if (!T632_) goto LA634_;
10056 				{
10057 					if (!(mode == ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0))) goto LA638_;
10058 					result = ensureDestruction__injectdestructors_6885(result, n, c, s);
10059 				}
10060 				LA638_: ;
10061 			}
10062 			LA634_: ;
10063 		}
10064 		break;
10065 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 59):
10066 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 58):
10067 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 60):
10068 		{
10069 			result = copyTree__ast_4431(n);
10070 			{
10071 				NIM_BOOL T643_;
10072 				tyObject_TType__facALICuu8zUj0hjvbTLFg* T644_;
10073 				tyObject_TType__facALICuu8zUj0hjvbTLFg* T646_;
10074 				tyObject_TType__facALICuu8zUj0hjvbTLFg* nTyp_2;
10075 				T643_ = (NIM_BOOL)0;
10076 				T644_ = NIM_NIL;
10077 				T644_ = skipTypes__ast_3735((*n).typ, TM__dJ4qrEWDmqGA8FWJ0TYKJQ_43);
10078 				T643_ = !(((*T644_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 45)));
10079 				if (!(T643_)) goto LA645_;
10080 				T646_ = NIM_NIL;
10081 				T646_ = skipTypes__ast_3735((*(*n)._kind_6.sons->data[((NI) 1)]).typ, TM__dJ4qrEWDmqGA8FWJ0TYKJQ_43);
10082 				T643_ = ((*T646_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 45));
10083 				LA645_: ;
10084 				if (!T643_) goto LA647_;
10085 				nTyp_2 = (*(*n)._kind_6.sons->data[((NI) 1)]).typ;
10086 				asgnRef((void**) (&(*(*n)._kind_6.sons->data[((NI) 1)]).typ), (*n).typ);
10087 				asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 1)]), p__injectdestructors_105((*n)._kind_6.sons->data[((NI) 1)], c, s, mode));
10088 				asgnRef((void**) (&(*(*result)._kind_6.sons->data[((NI) 1)]).typ), nTyp_2);
10089 			}
10090 			goto LA641_;
10091 			LA647_: ;
10092 			{
10093 				asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 1)]), p__injectdestructors_105((*n)._kind_6.sons->data[((NI) 1)], c, s, mode));
10094 			}
10095 			LA641_: ;
10096 		}
10097 		break;
10098 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 66):
10099 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 67):
10100 		{
10101 			result = copyTree__ast_4431(n);
10102 			asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 0)]), p__injectdestructors_105((*n)._kind_6.sons->data[((NI) 0)], c, s, mode));
10103 		}
10104 		break;
10105 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 45):
10106 		{
10107 			result = shallowCopy__ast_4413(n);
10108 			asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 0)]), p__injectdestructors_105((*n)._kind_6.sons->data[((NI) 0)], c, s, ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0)));
10109 			{
10110 				NI i_29;
10111 				NI colontmp__20;
10112 				NI i_30;
10113 				i_29 = (NI)0;
10114 				colontmp__20 = (NI)0;
10115 				colontmp__20 = len__ast_3198(n);
10116 				i_30 = ((NI) 1);
10117 				{
10118 					while (1) {
10119 						if (!(i_30 < colontmp__20)) goto LA654;
10120 						i_29 = i_30;
10121 						asgnRef((void**) (&(*result)._kind_6.sons->data[i_29]), (*n)._kind_6.sons->data[i_29]);
10122 						i_30 += ((NI) 1);
10123 					} LA654: ;
10124 				}
10125 			}
10126 			{
10127 				NIM_BOOL T657_;
10128 				T657_ = (NIM_BOOL)0;
10129 				T657_ = (mode == ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 2));
10130 				if (!(T657_)) goto LA658_;
10131 				T657_ = hasDestructor__injectdestructors_49((&(*c)), (*n).typ);
10132 				LA658_: ;
10133 				if (!T657_) goto LA659_;
10134 				{
10135 					NIM_BOOL T663_;
10136 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T667_;
10137 					NI T668_;
10138 					T663_ = (NIM_BOOL)0;
10139 					T663_ = isAnalysableFieldAccess__dfa_903(n, (*c).owner);
10140 					if (!(T663_)) goto LA664_;
10141 					T663_ = isLastRead__injectdestructors_6103(n, c);
10142 					LA664_: ;
10143 					if (!T663_) goto LA665_;
10144 					T667_ = NIM_NIL;
10145 					T667_ = genWasMoved__injectdestructors_6739(c, n);
10146 					unsureAsgnRef((void**) (&(*s).wasMoved), (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) incrSeqV3((TGenericSeq*)((*s).wasMoved), (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_)));
10147 					T668_ = (*s).wasMoved->Sup.len++;
10148 					asgnRef((void**) (&(*s).wasMoved->data[T668_]), T667_);
10149 				}
10150 				goto LA661_;
10151 				LA665_: ;
10152 				{
10153 					result = passCopyToSink__injectdestructors_6805(result, c, s);
10154 				}
10155 				LA661_: ;
10156 			}
10157 			LA659_: ;
10158 		}
10159 		break;
10160 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 42):
10161 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 63):
10162 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 64):
10163 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 47):
10164 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 65):
10165 		{
10166 			result = shallowCopy__ast_4413(n);
10167 			{
10168 				NI i_31;
10169 				NI colontmp__21;
10170 				NI i_32;
10171 				i_31 = (NI)0;
10172 				colontmp__21 = (NI)0;
10173 				colontmp__21 = len__ast_3198(n);
10174 				i_32 = ((NI) 0);
10175 				{
10176 					while (1) {
10177 						if (!(i_32 < colontmp__21)) goto LA673;
10178 						i_31 = i_32;
10179 						asgnRef((void**) (&(*result)._kind_6.sons->data[i_31]), p__injectdestructors_105((*n)._kind_6.sons->data[i_31], c, s, ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0)));
10180 						i_32 += ((NI) 1);
10181 					} LA673: ;
10182 				}
10183 			}
10184 			{
10185 				NIM_BOOL T676_;
10186 				T676_ = (NIM_BOOL)0;
10187 				T676_ = (mode == ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 2));
10188 				if (!(T676_)) goto LA677_;
10189 				T676_ = hasDestructor__injectdestructors_49((&(*c)), (*n).typ);
10190 				LA677_: ;
10191 				if (!T676_) goto LA678_;
10192 				{
10193 					NIM_BOOL T682_;
10194 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T686_;
10195 					NI T687_;
10196 					T682_ = (NIM_BOOL)0;
10197 					T682_ = isAnalysableFieldAccess__dfa_903(n, (*c).owner);
10198 					if (!(T682_)) goto LA683_;
10199 					T682_ = isLastRead__injectdestructors_6103(n, c);
10200 					LA683_: ;
10201 					if (!T682_) goto LA684_;
10202 					T686_ = NIM_NIL;
10203 					T686_ = genWasMoved__injectdestructors_6739(c, n);
10204 					unsureAsgnRef((void**) (&(*s).wasMoved), (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) incrSeqV3((TGenericSeq*)((*s).wasMoved), (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_)));
10205 					T687_ = (*s).wasMoved->Sup.len++;
10206 					asgnRef((void**) (&(*s).wasMoved->data[T687_]), T686_);
10207 				}
10208 				goto LA680_;
10209 				LA684_: ;
10210 				{
10211 					result = passCopyToSink__injectdestructors_6805(result, c, s);
10212 				}
10213 				LA680_: ;
10214 			}
10215 			LA678_: ;
10216 		}
10217 		break;
10218 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 105):
10219 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 44):
10220 		{
10221 			result = shallowCopy__ast_4413(n);
10222 			{
10223 				NI i_33;
10224 				NI colontmp__22;
10225 				NI i_34;
10226 				i_33 = (NI)0;
10227 				colontmp__22 = (NI)0;
10228 				colontmp__22 = len__ast_3198(n);
10229 				i_34 = ((NI) 0);
10230 				{
10231 					while (1) {
10232 						if (!(i_34 < colontmp__22)) goto LA692;
10233 						i_33 = i_34;
10234 						asgnRef((void**) (&(*result)._kind_6.sons->data[i_33]), p__injectdestructors_105((*n)._kind_6.sons->data[i_33], c, s, ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0)));
10235 						i_34 += ((NI) 1);
10236 					} LA692: ;
10237 				}
10238 			}
10239 		}
10240 		break;
10241 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 110):
10242 		{
10243 			(*s).needsTry = NIM_TRUE;
10244 			result = n;
10245 		}
10246 		break;
10247 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 109):
10248 		{
10249 			result = shallowCopy__ast_4413(n);
10250 			{
10251 				NI i_35;
10252 				NI colontmp__23;
10253 				NI i_36;
10254 				i_35 = (NI)0;
10255 				colontmp__23 = (NI)0;
10256 				colontmp__23 = len__ast_3198(n);
10257 				i_36 = ((NI) 0);
10258 				{
10259 					while (1) {
10260 						if (!(i_36 < colontmp__23)) goto LA697;
10261 						i_35 = i_36;
10262 						asgnRef((void**) (&(*result)._kind_6.sons->data[i_35]), p__injectdestructors_105((*n)._kind_6.sons->data[i_35], c, s, mode));
10263 						i_36 += ((NI) 1);
10264 					} LA697: ;
10265 				}
10266 			}
10267 			(*s).needsTry = NIM_TRUE;
10268 		}
10269 		break;
10270 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 61):
10271 		{
10272 			result = shallowCopy__ast_4413(n);
10273 			asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 0)]), (*n)._kind_6.sons->data[((NI) 0)]);
10274 			asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 1)]), p__injectdestructors_105((*n)._kind_6.sons->data[((NI) 1)], c, s, mode));
10275 		}
10276 		break;
10277 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 46):
10278 		{
10279 			result = shallowCopy__ast_4413(n);
10280 			asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 0)]), p__injectdestructors_105((*n)._kind_6.sons->data[((NI) 0)], c, s, mode));
10281 			{
10282 				NI i_37;
10283 				NI colontmp__24;
10284 				NI i_38;
10285 				i_37 = (NI)0;
10286 				colontmp__24 = (NI)0;
10287 				colontmp__24 = len__ast_3198(n);
10288 				i_38 = ((NI) 1);
10289 				{
10290 					while (1) {
10291 						if (!(i_38 < colontmp__24)) goto LA702;
10292 						i_37 = i_38;
10293 						asgnRef((void**) (&(*result)._kind_6.sons->data[i_37]), (*n)._kind_6.sons->data[i_37]);
10294 						i_38 += ((NI) 1);
10295 					} LA702: ;
10296 				}
10297 			}
10298 		}
10299 		break;
10300 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 156):
10301 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 157):
10302 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 89):
10303 		{
10304 			result = n;
10305 		}
10306 		break;
10307 		default:
10308 		{
10309 			NimStringDesc* T705_;
10310 			T705_ = NIM_NIL;
10311 			T705_ = rawNewString((reprEnum((NI)(*n).kind, (&NTItnodekind__G4E4Gxe7oI2Cm03rkiOzQw_)) ? reprEnum((NI)(*n).kind, (&NTItnodekind__G4E4Gxe7oI2Cm03rkiOzQw_))->Sup.len : 0) + 40);
10312 appendString(T705_, ((NimStringDesc*) &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_53));
10313 appendString(T705_, reprEnum((NI)(*n).kind, (&NTItnodekind__G4E4Gxe7oI2Cm03rkiOzQw_)));
10314 			internalErrorImpl__msgs_1431((*(*c).graph).config, (*n).info, T705_, TM__dJ4qrEWDmqGA8FWJ0TYKJQ_54);
10315 		}
10316 		break;
10317 		}
10318 	}
10319 	LA1_: ;
10320 	}BeforeRet_: ;
10321 	return result;
10322 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,injectDestructorCalls__injectdestructors_10100)10323 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, injectDestructorCalls__injectdestructors_10100)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
10324 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
10325 	tyObject_Con__mVYRtnERc9advo79cBQUudxg c;
10326 	tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ scope;
10327 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* body;
10328 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T29_;
10329 {	result = NIM_NIL;
10330 	{
10331 		NIM_BOOL T3_;
10332 		NIM_BOOL T5_;
10333 		T3_ = (NIM_BOOL)0;
10334 		T3_ = (((*owner).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 39))&63U)))!=0);
10335 		if (T3_) goto LA4_;
10336 		T5_ = (NIM_BOOL)0;
10337 		T5_ = ((*owner).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 15));
10338 		if (!(T5_)) goto LA6_;
10339 		T5_ = isInlineIterator__ast_4989((*owner).typ);
10340 		LA6_: ;
10341 		T3_ = T5_;
10342 		LA4_: ;
10343 		if (!T3_) goto LA7_;
10344 		result = n;
10345 		goto BeforeRet_;
10346 	}
10347 	LA7_: ;
10348 	nimZeroMem((void*)(&c), sizeof(tyObject_Con__mVYRtnERc9advo79cBQUudxg));
10349 	nimZeroMem((void*)(&c), sizeof(tyObject_Con__mVYRtnERc9advo79cBQUudxg));
10350 	c.owner = owner;
10351 	c.graph = g;
10352 	c.g = constructCfg__dfa_1135(owner, n);
10353 	c.idgen = idgen;
10354 	{
10355 		if (!(((*(*g).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 26))&31U)))!=0)) goto LA11_;
10356 		computeCursors__varpartitions_1784(owner, n, g);
10357 	}
10358 	LA11_: ;
10359 	computeLastReadsAndFirstWrites__injectdestructors_3780(c.g);
10360 	nimZeroMem((void*)(&scope), sizeof(tyObject_Scope__LvAmxELeDMx7GsrdWf8RqQ));
10361 	body = p__injectdestructors_105(n, (&c), (&scope), ((tyEnum_ProcessMode__pmb6LsSxUZ6qSC8tbiupXw) 0));
10362 	{
10363 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* params;
10364 		if (!((126976 &((NU32)1<<((NU)((*owner).kind)&31U)))!=0)) goto LA15_;
10365 		params = (*(*owner).typ).n;
10366 		{
10367 			NI i;
10368 			NI colontmp_;
10369 			NI i_2;
10370 			i = (NI)0;
10371 			colontmp_ = (NI)0;
10372 			colontmp_ = len__ast_3198(params);
10373 			i_2 = ((NI) 1);
10374 			{
10375 				while (1) {
10376 					tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
10377 					if (!(i_2 < colontmp_)) goto LA19;
10378 					i = i_2;
10379 					t = (*(*(*params)._kind_6.sons->data[i])._kind_4.sym).typ;
10380 					{
10381 						NIM_BOOL T22_;
10382 						tyObject_TType__facALICuu8zUj0hjvbTLFg* T24_;
10383 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T27_;
10384 						NI T28_;
10385 						T22_ = (NIM_BOOL)0;
10386 						T22_ = isSinkTypeForParam__types_4055(t);
10387 						if (!(T22_)) goto LA23_;
10388 						T24_ = NIM_NIL;
10389 						T24_ = skipTypes__ast_3735(t, TM__dJ4qrEWDmqGA8FWJ0TYKJQ_55);
10390 						T22_ = hasDestructor__injectdestructors_49((&c), T24_);
10391 						LA23_: ;
10392 						if (!T22_) goto LA25_;
10393 						T27_ = NIM_NIL;
10394 						T27_ = genDestroy__injectdestructors_6527((&c), (*params)._kind_6.sons->data[i]);
10395 						scope.final = (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) incrSeqV3((TGenericSeq*)(scope.final), (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_));
10396 						T28_ = scope.final->Sup.len++;
10397 						asgnRef((void**) (&scope.final->data[T28_]), T27_);
10398 					}
10399 					LA25_: ;
10400 					i_2 += ((NI) 1);
10401 				} LA19: ;
10402 			}
10403 		}
10404 	}
10405 	LA15_: ;
10406 	T29_ = NIM_NIL;
10407 	T29_ = processScope__injectdestructors_7016((&c), (&scope), body);
10408 	result = optimize__optimizer_390(T29_);
10409 	{
10410 		NIM_BOOL T32_;
10411 		tyArray__Re75IspeoxXy2oCZHwcRrA T35_;
10412 		tyArray__nHXaesL0DJZHyVS07ARPRA T36_;
10413 		T32_ = (NIM_BOOL)0;
10414 		T32_ = nsthasKey((*(*g).config).arcToExpand, (*(*owner).name).s);
10415 		if (!T32_) goto LA33_;
10416 		nimZeroMem((void*)T35_, sizeof(tyArray__Re75IspeoxXy2oCZHwcRrA));
10417 		T35_[0] = copyString(((NimStringDesc*) &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_56));
10418 		T35_[1] = copyString((*(*owner).name).s);
10419 		echoBinSafe(T35_, 2);
10420 		nimZeroMem((void*)T36_, sizeof(tyArray__nHXaesL0DJZHyVS07ARPRA));
10421 		T36_[0] = renderTree__renderer_46(result, 516);
10422 		echoBinSafe(T36_, 1);
10423 		echoBinSafe(TM__dJ4qrEWDmqGA8FWJ0TYKJQ_57, 1);
10424 	}
10425 	LA33_: ;
10426 	}BeforeRet_: ;
10427 	return result;
10428 }
N_NIMCALL(void,compiler_injectdestructorsDatInit000)10429 N_LIB_PRIVATE N_NIMCALL(void, compiler_injectdestructorsDatInit000)(void) {
10430 static TNimNode* TM__dJ4qrEWDmqGA8FWJ0TYKJQ_2_3[3];
10431 static TNimNode* TM__dJ4qrEWDmqGA8FWJ0TYKJQ_3_4[4];
10432 static TNimNode* TM__dJ4qrEWDmqGA8FWJ0TYKJQ_4_2[2];
10433 static TNimNode* TM__dJ4qrEWDmqGA8FWJ0TYKJQ_5_2[2];
10434 static TNimNode* TM__dJ4qrEWDmqGA8FWJ0TYKJQ_12_3[3];
10435 static TNimNode TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[19];
10436 NTIkeyvaluepair__YXXBMUJBtW9corlxevWVfYQ_.size = sizeof(tyTuple__YXXBMUJBtW9corlxevWVfYQ);
10437 NTIkeyvaluepair__YXXBMUJBtW9corlxevWVfYQ_.align = NIM_ALIGNOF(tyTuple__YXXBMUJBtW9corlxevWVfYQ);
10438 NTIkeyvaluepair__YXXBMUJBtW9corlxevWVfYQ_.kind = 18;
10439 NTIkeyvaluepair__YXXBMUJBtW9corlxevWVfYQ_.base = 0;
10440 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_2_3[0] = &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[1];
10441 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[1].kind = 1;
10442 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[1].offset = offsetof(tyTuple__YXXBMUJBtW9corlxevWVfYQ, Field0);
10443 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[1].typ = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_);
10444 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[1].name = "Field0";
10445 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_2_3[1] = &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[2];
10446 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[2].kind = 1;
10447 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[2].offset = offsetof(tyTuple__YXXBMUJBtW9corlxevWVfYQ, Field1);
10448 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[2].typ = (&NTItupleLa58pnode_b58pnodeT__EFqgCXJ4d8PgqOdFJmldsQ_);
10449 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[2].name = "Field1";
10450 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_2_3[2] = &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[3];
10451 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[3].kind = 1;
10452 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[3].offset = offsetof(tyTuple__YXXBMUJBtW9corlxevWVfYQ, Field2);
10453 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[3].typ = (&NTIaliaskind__mOZtJx9b3QXuy9bfWq9cuUNCg_);
10454 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[3].name = "Field2";
10455 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[0].len = 3; TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[0].kind = 2; TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[0].sons = &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_2_3[0];
10456 NTIkeyvaluepair__YXXBMUJBtW9corlxevWVfYQ_.node = &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[0];
10457 NTIkeyvaluepairseq__sh9b9afdJBB3bJbViXY7yNAg_.size = sizeof(tySequence__sh9b9afdJBB3bJbViXY7yNAg*);
10458 NTIkeyvaluepairseq__sh9b9afdJBB3bJbViXY7yNAg_.align = NIM_ALIGNOF(tySequence__sh9b9afdJBB3bJbViXY7yNAg*);
10459 NTIkeyvaluepairseq__sh9b9afdJBB3bJbViXY7yNAg_.kind = 24;
10460 NTIkeyvaluepairseq__sh9b9afdJBB3bJbViXY7yNAg_.base = (&NTIkeyvaluepair__YXXBMUJBtW9corlxevWVfYQ_);
10461 NTIkeyvaluepairseq__sh9b9afdJBB3bJbViXY7yNAg_.marker = Marker_tySequence__sh9b9afdJBB3bJbViXY7yNAg;
10462 NTIstate58objecttype__G9bbCRpuemWPWC66CPVRKyw_.size = sizeof(tyObject_StatecolonObjectType___G9bbCRpuemWPWC66CPVRKyw);
10463 NTIstate58objecttype__G9bbCRpuemWPWC66CPVRKyw_.align = NIM_ALIGNOF(tyObject_StatecolonObjectType___G9bbCRpuemWPWC66CPVRKyw);
10464 NTIstate58objecttype__G9bbCRpuemWPWC66CPVRKyw_.kind = 18;
10465 NTIstate58objecttype__G9bbCRpuemWPWC66CPVRKyw_.base = 0;
10466 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_3_4[0] = &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[5];
10467 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[5].kind = 1;
10468 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[5].offset = offsetof(tyObject_StatecolonObjectType___G9bbCRpuemWPWC66CPVRKyw, lastReads);
10469 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[5].typ = (&NTIpackedset__IhxwDBRi51nGrosBGFKcsA_);
10470 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[5].name = "lastReads";
10471 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_3_4[1] = &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[6];
10472 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[6].kind = 1;
10473 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[6].offset = offsetof(tyObject_StatecolonObjectType___G9bbCRpuemWPWC66CPVRKyw, potentialLastReads);
10474 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[6].typ = (&NTIpackedset__IhxwDBRi51nGrosBGFKcsA_);
10475 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[6].name = "potentialLastReads";
10476 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_3_4[2] = &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[7];
10477 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[7].kind = 1;
10478 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[7].offset = offsetof(tyObject_StatecolonObjectType___G9bbCRpuemWPWC66CPVRKyw, notLastReads);
10479 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[7].typ = (&NTIpackedset__IhxwDBRi51nGrosBGFKcsA_);
10480 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[7].name = "notLastReads";
10481 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_3_4[3] = &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[8];
10482 NTIhashset__YByQS2i9cOlUupxNMscAMwQ_.size = sizeof(tyObject_HashSet__YByQS2i9cOlUupxNMscAMwQ);
10483 NTIhashset__YByQS2i9cOlUupxNMscAMwQ_.align = NIM_ALIGNOF(tyObject_HashSet__YByQS2i9cOlUupxNMscAMwQ);
10484 NTIhashset__YByQS2i9cOlUupxNMscAMwQ_.kind = 18;
10485 NTIhashset__YByQS2i9cOlUupxNMscAMwQ_.base = 0;
10486 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_4_2[0] = &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[10];
10487 NTIkeyvaluepair__TeyVVRby9bj1JQeNMm9aeI2w_.size = sizeof(tyTuple__TeyVVRby9bj1JQeNMm9aeI2w);
10488 NTIkeyvaluepair__TeyVVRby9bj1JQeNMm9aeI2w_.align = NIM_ALIGNOF(tyTuple__TeyVVRby9bj1JQeNMm9aeI2w);
10489 NTIkeyvaluepair__TeyVVRby9bj1JQeNMm9aeI2w_.kind = 18;
10490 NTIkeyvaluepair__TeyVVRby9bj1JQeNMm9aeI2w_.base = 0;
10491 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_5_2[0] = &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[12];
10492 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[12].kind = 1;
10493 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[12].offset = offsetof(tyTuple__TeyVVRby9bj1JQeNMm9aeI2w, Field0);
10494 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[12].typ = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_);
10495 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[12].name = "Field0";
10496 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_5_2[1] = &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[13];
10497 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[13].kind = 1;
10498 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[13].offset = offsetof(tyTuple__TeyVVRby9bj1JQeNMm9aeI2w, Field1);
10499 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[13].typ = (&NTIpnode__fKfcLzXYiz5jNu3NH3Tv8Q_);
10500 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[13].name = "Field1";
10501 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[11].len = 2; TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[11].kind = 2; TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[11].sons = &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_5_2[0];
10502 NTIkeyvaluepair__TeyVVRby9bj1JQeNMm9aeI2w_.node = &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[11];
10503 NTIkeyvaluepairseq__Y6pVop4P8VSwSorRqc2aQA_.size = sizeof(tySequence__Y6pVop4P8VSwSorRqc2aQA*);
10504 NTIkeyvaluepairseq__Y6pVop4P8VSwSorRqc2aQA_.align = NIM_ALIGNOF(tySequence__Y6pVop4P8VSwSorRqc2aQA*);
10505 NTIkeyvaluepairseq__Y6pVop4P8VSwSorRqc2aQA_.kind = 24;
10506 NTIkeyvaluepairseq__Y6pVop4P8VSwSorRqc2aQA_.base = (&NTIkeyvaluepair__TeyVVRby9bj1JQeNMm9aeI2w_);
10507 NTIkeyvaluepairseq__Y6pVop4P8VSwSorRqc2aQA_.marker = Marker_tySequence__Y6pVop4P8VSwSorRqc2aQA;
10508 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[10].kind = 1;
10509 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[10].offset = offsetof(tyObject_HashSet__YByQS2i9cOlUupxNMscAMwQ, data);
10510 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[10].typ = (&NTIkeyvaluepairseq__Y6pVop4P8VSwSorRqc2aQA_);
10511 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[10].name = "data";
10512 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_4_2[1] = &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[14];
10513 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[14].kind = 1;
10514 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[14].offset = offsetof(tyObject_HashSet__YByQS2i9cOlUupxNMscAMwQ, counter);
10515 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[14].typ = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_);
10516 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[14].name = "counter";
10517 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[9].len = 2; TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[9].kind = 2; TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[9].sons = &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_4_2[0];
10518 NTIhashset__YByQS2i9cOlUupxNMscAMwQ_.node = &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[9];
10519 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[8].kind = 1;
10520 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[8].offset = offsetof(tyObject_StatecolonObjectType___G9bbCRpuemWPWC66CPVRKyw, alreadySeen);
10521 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[8].typ = (&NTIhashset__YByQS2i9cOlUupxNMscAMwQ_);
10522 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[8].name = "alreadySeen";
10523 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[4].len = 4; TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[4].kind = 2; TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[4].sons = &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_3_4[0];
10524 NTIstate58objecttype__G9bbCRpuemWPWC66CPVRKyw_.node = &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[4];
10525 NTIstate__xMu9aauGSW9bIwiWptXaXX0Q_.size = sizeof(tyObject_StatecolonObjectType___G9bbCRpuemWPWC66CPVRKyw*);
10526 NTIstate__xMu9aauGSW9bIwiWptXaXX0Q_.align = NIM_ALIGNOF(tyObject_StatecolonObjectType___G9bbCRpuemWPWC66CPVRKyw*);
10527 NTIstate__xMu9aauGSW9bIwiWptXaXX0Q_.kind = 22;
10528 NTIstate__xMu9aauGSW9bIwiWptXaXX0Q_.base = (&NTIstate58objecttype__G9bbCRpuemWPWC66CPVRKyw_);
10529 NTIstate__xMu9aauGSW9bIwiWptXaXX0Q_.marker = Marker_tyRef__xMu9aauGSW9bIwiWptXaXX0Q;
10530 NTIseqLstateT__mFtVDW3p7w6wfPPNodKzsA_.size = sizeof(tySequence__mFtVDW3p7w6wfPPNodKzsA*);
10531 NTIseqLstateT__mFtVDW3p7w6wfPPNodKzsA_.align = NIM_ALIGNOF(tySequence__mFtVDW3p7w6wfPPNodKzsA*);
10532 NTIseqLstateT__mFtVDW3p7w6wfPPNodKzsA_.kind = 24;
10533 NTIseqLstateT__mFtVDW3p7w6wfPPNodKzsA_.base = (&NTIstate__xMu9aauGSW9bIwiWptXaXX0Q_);
10534 NTIseqLstateT__mFtVDW3p7w6wfPPNodKzsA_.marker = Marker_tySequence__mFtVDW3p7w6wfPPNodKzsA;
10535 NTIkeyvaluepair__jCPpzNasrXtz9cFJFxT1NHQ_.size = sizeof(tyTuple__jCPpzNasrXtz9cFJFxT1NHQ);
10536 NTIkeyvaluepair__jCPpzNasrXtz9cFJFxT1NHQ_.align = NIM_ALIGNOF(tyTuple__jCPpzNasrXtz9cFJFxT1NHQ);
10537 NTIkeyvaluepair__jCPpzNasrXtz9cFJFxT1NHQ_.kind = 18;
10538 NTIkeyvaluepair__jCPpzNasrXtz9cFJFxT1NHQ_.base = 0;
10539 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_12_3[0] = &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[16];
10540 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[16].kind = 1;
10541 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[16].offset = offsetof(tyTuple__jCPpzNasrXtz9cFJFxT1NHQ, Field0);
10542 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[16].typ = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_);
10543 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[16].name = "Field0";
10544 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_12_3[1] = &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[17];
10545 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[17].kind = 1;
10546 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[17].offset = offsetof(tyTuple__jCPpzNasrXtz9cFJFxT1NHQ, Field1);
10547 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[17].typ = (&NTIpnode__fKfcLzXYiz5jNu3NH3Tv8Q_);
10548 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[17].name = "Field1";
10549 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_12_3[2] = &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[18];
10550 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[18].kind = 1;
10551 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[18].offset = offsetof(tyTuple__jCPpzNasrXtz9cFJFxT1NHQ, Field2);
10552 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[18].typ = (&NTIseqLtpositionT__qwqHTkRvwhrRyENtudHQ7g_);
10553 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[18].name = "Field2";
10554 TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[15].len = 3; TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[15].kind = 2; TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[15].sons = &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_12_3[0];
10555 NTIkeyvaluepair__jCPpzNasrXtz9cFJFxT1NHQ_.node = &TM__dJ4qrEWDmqGA8FWJ0TYKJQ_0[15];
10556 NTIkeyvaluepairseq__JGK6WZYU2JHWLoPdKRO4AQ_.size = sizeof(tySequence__JGK6WZYU2JHWLoPdKRO4AQ*);
10557 NTIkeyvaluepairseq__JGK6WZYU2JHWLoPdKRO4AQ_.align = NIM_ALIGNOF(tySequence__JGK6WZYU2JHWLoPdKRO4AQ*);
10558 NTIkeyvaluepairseq__JGK6WZYU2JHWLoPdKRO4AQ_.kind = 24;
10559 NTIkeyvaluepairseq__JGK6WZYU2JHWLoPdKRO4AQ_.base = (&NTIkeyvaluepair__jCPpzNasrXtz9cFJFxT1NHQ_);
10560 NTIkeyvaluepairseq__JGK6WZYU2JHWLoPdKRO4AQ_.marker = Marker_tySequence__JGK6WZYU2JHWLoPdKRO4AQ;
10561 }
10562 
10563