text: /* Generated by Nim Compiler v1.6.2 */
  #define NIM_INTBITS 32
  
  #include "nimbase.h"
  #include <string.h>
  #include <math.h>
  #undef LANGUAGE_C
  #undef MIPSEB
  #undef MIPSEL
  #undef PPC
  #undef R3000
  #undef R4000
  #undef i386
  #undef linux
  #undef mips
  #undef near
  #undef far
  #undef powerpc
  #undef unix
  #define nimfr_(x, y)
  #define nimln_(x, y)
  typedef struct tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w;
  typedef struct tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ;
  typedef struct tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ;
  typedef struct tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q;
  typedef struct RootObj RootObj;
  typedef struct TNimType TNimType;
  typedef struct TNimNode TNimNode;
  typedef struct tyObject_TJSGen__qij68Ti2EwJQHH6sSdkSdw tyObject_TJSGen__qij68Ti2EwJQHH6sSdkSdw;
  typedef struct tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw;
  typedef struct tyObject_CountTable__tUMxxU9cRgLolsrW9b7IBGsQ tyObject_CountTable__tUMxxU9cRgLolsrW9b7IBGsQ;
  typedef struct tySequence__XUL1TrMU0tgXmaMFCIYgFQ tySequence__XUL1TrMU0tgXmaMFCIYgFQ;
  typedef struct tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w;
  typedef struct tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g;
  typedef struct tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw;
  typedef struct tyObject_TType__facALICuu8zUj0hjvbTLFg tyObject_TType__facALICuu8zUj0hjvbTLFg;
  typedef struct tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA;
  typedef struct tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q;
  typedef struct tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA;
  typedef struct tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA;
  typedef struct tyObject_TLib__NBMxlJ6g3utqUlplqTTHkA tyObject_TLib__NBMxlJ6g3utqUlplqTTHkA;
  typedef struct tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g;
  typedef struct tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w;
  typedef struct tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ;
  typedef struct tyObject_GcStack__7fytPA5bBsob6See21YMRA tyObject_GcStack__7fytPA5bBsob6See21YMRA;
  typedef struct tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg;
  typedef struct tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ;
  typedef struct tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg;
  typedef struct tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw;
  typedef struct tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA;
  typedef struct tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw;
  typedef struct tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw;
  typedef struct tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg;
  typedef struct tyTuple__ujsjpB2O9cjj3uDHsXbnSzg tyTuple__ujsjpB2O9cjj3uDHsXbnSzg;
  typedef struct tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg;
  typedef struct tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ;
  typedef struct tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg;
  typedef struct tySequence__4mZLwkxT8rbt9bf3wXrXYNQ tySequence__4mZLwkxT8rbt9bf3wXrXYNQ;
  typedef struct tySequence__rQHmYk1HzcwNxKBymIFHpA tySequence__rQHmYk1HzcwNxKBymIFHpA;
  typedef struct tySequence__XMM60DtBsc6xYsIpNANkrA tySequence__XMM60DtBsc6xYsIpNANkrA;
  typedef struct tyObject_Table__ZqXrnX212T9bCb4lhpQ9bFBw tyObject_Table__ZqXrnX212T9bCb4lhpQ9bFBw;
  typedef struct tySequence__ChDZ6dokJ9aj9cg3KBoCU5vg tySequence__ChDZ6dokJ9aj9cg3KBoCU5vg;
  typedef struct tyObject_Table__UVZI5J9aS51B4B0eYPpW1Rg tyObject_Table__UVZI5J9aS51B4B0eYPpW1Rg;
  typedef struct tySequence__mWRMiYLthG9coLjkbElCxkw tySequence__mWRMiYLthG9coLjkbElCxkw;
  typedef struct tyObject_Table__iowAVDkco3qpbEH0z8OmkQ tyObject_Table__iowAVDkco3qpbEH0z8OmkQ;
  typedef struct tySequence__bTDCDwD2P7TodzbAefLcSw tySequence__bTDCDwD2P7TodzbAefLcSw;
  typedef struct tyObject_Table__KUYGGgSxi8wBr0SXET9bi3w tyObject_Table__KUYGGgSxi8wBr0SXET9bi3w;
  typedef struct tySequence__3MPVXAHA08SszBrU4ffqEg tySequence__3MPVXAHA08SszBrU4ffqEg;
  typedef struct tyObject_Table__KcymdZjUsmGSK8BxmvoJgw tyObject_Table__KcymdZjUsmGSK8BxmvoJgw;
  typedef struct tySequence__YCf5zJHm4JI06qpmKwPUWg tySequence__YCf5zJHm4JI06qpmKwPUWg;
  typedef struct tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA;
  typedef struct tySequence__7lEisrXlQEzwtUKW5pzRCw tySequence__7lEisrXlQEzwtUKW5pzRCw;
  typedef struct tyObject_PackedConfig__McwvRupqDAJbGrinIDFZJQ tyObject_PackedConfig__McwvRupqDAJbGrinIDFZJQ;
  typedef struct tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA;
  typedef struct tySequence__eHqUwlHGGaPw0TDPDeL79cQ tySequence__eHqUwlHGGaPw0TDPDeL79cQ;
  typedef struct tyObject_Table__hd3qB0wXU9bWPJR7fjShhbA tyObject_Table__hd3qB0wXU9bWPJR7fjShhbA;
  typedef struct tySequence__61s9cbAniKuBrdHwBhMDfQg tySequence__61s9cbAniKuBrdHwBhMDfQg;
  typedef struct tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA;
  typedef struct tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA;
  typedef struct tySequence__Bre9bNyuQOg1EJKitjSzn8w tySequence__Bre9bNyuQOg1EJKitjSzn8w;
  typedef struct tyObject_Table__fdKWDDO1P17zvuQPReVgRA tyObject_Table__fdKWDDO1P17zvuQPReVgRA;
  typedef struct tySequence__fdmz6VkIf1ewwrssKYqRFg tySequence__fdmz6VkIf1ewwrssKYqRFg;
  typedef struct tyObject_Table__e2Ciu0s1q49aVQ7ULXy7l9bQ tyObject_Table__e2Ciu0s1q49aVQ7ULXy7l9bQ;
  typedef struct tySequence__kxu4GK0onha2t9bo86mdVAg tySequence__kxu4GK0onha2t9bo86mdVAg;
  typedef struct tySequence__48JTohSgTy339bRxHzUD8KA tySequence__48JTohSgTy339bRxHzUD8KA;
  typedef struct tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw;
  typedef struct tySequence__s9byh6WFJ16lPMcmqdaMTHA tySequence__s9byh6WFJ16lPMcmqdaMTHA;
  typedef struct tyObject_Table__Ue6w4c82v7gc7t2qntTbAw tyObject_Table__Ue6w4c82v7gc7t2qntTbAw;
  typedef struct tySequence__1U9bG8RcAedEeYkQLZjVFKA tySequence__1U9bG8RcAedEeYkQLZjVFKA;
  typedef struct tyObject_Table__G1v8c16HePOldLeucwe05Q tyObject_Table__G1v8c16HePOldLeucwe05Q;
  typedef struct tySequence__fIB1rTQ55aFonoft9a9bmljQ tySequence__fIB1rTQ55aFonoft9a9bmljQ;
  typedef struct tyObject_Table__0Y2brGGKD9bV6GJLXT9aUDgA tyObject_Table__0Y2brGGKD9bV6GJLXT9aUDgA;
  typedef struct tySequence__23SMqauuRsbDANhthj9bWlA tySequence__23SMqauuRsbDANhthj9bWlA;
  typedef struct tyObject_Table__NttoEzoiq5CiphZe81oadg tyObject_Table__NttoEzoiq5CiphZe81oadg;
  typedef struct tySequence__squ9b9bUH4OLHf6cEMrt6hVA tySequence__squ9b9bUH4OLHf6cEMrt6hVA;
  typedef struct tyObject_Table__nagDFX4QHx0s6Fvma9blmSg tyObject_Table__nagDFX4QHx0s6Fvma9blmSg;
  typedef struct tySequence__pHNq3oXj9av2sEUdqaqeZjw tySequence__pHNq3oXj9av2sEUdqaqeZjw;
  typedef struct tySequence__MAQKEADohlpnXTModtugbQ tySequence__MAQKEADohlpnXTModtugbQ;
  typedef struct tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ;
  typedef struct tyObject_Operators__EbMP71azE1HSvYAQoCH9cXA tyObject_Operators__EbMP71azE1HSvYAQoCH9cXA;
  typedef struct tyObject_PGlobalscolonObjectType___nWsHZg3qCUsABoCNYLliag tyObject_PGlobalscolonObjectType___nWsHZg3qCUsABoCNYLliag;
  typedef struct TGenericSeq TGenericSeq;
  typedef struct tyObject_Target__9abOl5DLX8suLujOaHSvGzw tyObject_Target__9abOl5DLX8suLujOaHSvGzw;
  typedef struct NimStringDesc NimStringDesc;
  typedef struct tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg;
  typedef struct tyObject_MsgConfig__kV7r8HWT0SqOYW2k2ukC6A tyObject_MsgConfig__kV7r8HWT0SqOYW2k2ukC6A;
  typedef struct tySequence__tNFrR3kRuS1FSwuiLGoSSA tySequence__tNFrR3kRuS1FSwuiLGoSSA;
  typedef struct tySequence__Zi9cGbCWofbtABoHJ5RbLNQ tySequence__Zi9cGbCWofbtABoHJ5RbLNQ;
  typedef struct tyObject_HashSet__CD8Dpv0WGmASelVaNSo6zg tyObject_HashSet__CD8Dpv0WGmASelVaNSo6zg;
  typedef struct tySequence__4eRCaZmrYLLw2k30GPTiMw tySequence__4eRCaZmrYLLw2k30GPTiMw;
  typedef struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ tySequence__sM4lkSb7zS6F7OVMvW9cffQ;
  typedef struct tyTuple__47w2DboNEPf69aPgubZdd7Q tyTuple__47w2DboNEPf69aPgubZdd7Q;
  typedef struct tySequence__pK3qSsBZwdXd6qyUMkd5Jw tySequence__pK3qSsBZwdXd6qyUMkd5Jw;
  typedef struct tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ;
  typedef struct tyObject_ProfileDatacolonObjectType___rPBBfFL4X0b9cQ6rfMNPXig tyObject_ProfileDatacolonObjectType___rPBBfFL4X0b9cQ6rfMNPXig;
  typedef struct tyTuple__kN8up2W6YKc5YA9avn5mV5w tyTuple__kN8up2W6YKc5YA9avn5mV5w;
  typedef struct tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q;
  typedef struct tySequence__8fytVdU59b5aj319cog2ztLw tySequence__8fytVdU59b5aj319cog2ztLw;
  typedef struct tyObject_TBlock__46cd0Xw9aDJ1QWTE8nV4mLg tyObject_TBlock__46cd0Xw9aDJ1QWTE8nV4mLg;
  typedef struct tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w;
  typedef struct tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A;
  typedef struct tyObject_Int128__9a9axPfb75jdWY25AamJewkA tyObject_Int128__9a9axPfb75jdWY25AamJewkA;
  typedef struct tyTuple__nsNHL3sm0TZE9bootw2pEXw tyTuple__nsNHL3sm0TZE9bootw2pEXw;
  typedef struct tyObject_HSlice__HjDAjiFsTWGmlZ9cd8nEusA tyObject_HSlice__HjDAjiFsTWGmlZ9cd8nEusA;
  typedef struct tyTuple__Fb1Z8PVtzpSjrvQ67oA88w tyTuple__Fb1Z8PVtzpSjrvQ67oA88w;
  typedef struct tyTuple__QVkyTCL0msoEdWvhK6TYrw tyTuple__QVkyTCL0msoEdWvhK6TYrw;
  typedef struct tyObject_SourceMapcolonObjectType___m1S8ZVbfoQLk0xvz8tc6ww tyObject_SourceMapcolonObjectType___m1S8ZVbfoQLk0xvz8tc6ww;
  typedef struct tyTuple__wb7Ftwo1Ba9cOF5RERh5YIg tyTuple__wb7Ftwo1Ba9cOF5RERh5YIg;
  typedef struct tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q;
  typedef struct tyObject_OrderedTable__ZZvSdVkA2s2sIyifu4cpkg tyObject_OrderedTable__ZZvSdVkA2s2sIyifu4cpkg;
  typedef struct tySequence__MlAD6nAPq9bHKla9cWiIZP0g tySequence__MlAD6nAPq9bHKla9cWiIZP0g;
  typedef struct tySequence__oLpBKXzW3hF9aCVMo5EymfQ tySequence__oLpBKXzW3hF9aCVMo5EymfQ;
  typedef struct tyTuple__tA7Q8IrfOKH7Mn89cK9cBAIg tyTuple__tA7Q8IrfOKH7Mn89cK9cBAIg;
  typedef struct tyObject_Iface__uvkV248cZcsEQKaQm7C9aEA tyObject_Iface__uvkV248cZcsEQKaQm7C9aEA;
  typedef struct tySequence__vv5mGmK03BCr5e3LTZA5Hw tySequence__vv5mGmK03BCr5e3LTZA5Hw;
  typedef struct tyObject_LoadedModule__14iJKkvOiWT62KF2D8f9c5w tyObject_LoadedModule__14iJKkvOiWT62KF2D8f9c5w;
  typedef struct tyObject_PackedModule__ZSxNoR2V6oK5xosmtvhjNQ tyObject_PackedModule__ZSxNoR2V6oK5xosmtvhjNQ;
  typedef struct tySequence__PXIzfWocnrafGz5p3CP5LA tySequence__PXIzfWocnrafGz5p3CP5LA;
  typedef struct tySequence__9bAGqSvkAaFL9bWjsEPslrFA tySequence__9bAGqSvkAaFL9bWjsEPslrFA;
  typedef struct tyObject_PackedTree__8otSrA7MENGYESDkEP7nnw tyObject_PackedTree__8otSrA7MENGYESDkEP7nnw;
  typedef struct tySequence__29bS0n2QNyO1R7e0qMMOvLA tySequence__29bS0n2QNyO1R7e0qMMOvLA;
  typedef struct tySequence__b89aLriiJnVTD186H6zNIgg tySequence__b89aLriiJnVTD186H6zNIgg;
  typedef struct tySequence__REuPuHuSlOkZ0Q5oqzDrQg tySequence__REuPuHuSlOkZ0Q5oqzDrQg;
  typedef struct tySequence__I9aQmO9asXXWJ58UI9c8BCSzA tySequence__I9aQmO9asXXWJ58UI9c8BCSzA;
  typedef struct tySequence__NyaOkf8ZwxP6rkRF5TOkew tySequence__NyaOkf8ZwxP6rkRF5TOkew;
  typedef struct tySequence__L9bOt8CaTEmIjgtuZvp6syg tySequence__L9bOt8CaTEmIjgtuZvp6syg;
  typedef struct tySequence__im8UB2GsZvUaQ4a1wKGWhQ tySequence__im8UB2GsZvUaQ4a1wKGWhQ;
  typedef struct tySequence__xxnXDLpoqBo8zJzP9b1073g tySequence__xxnXDLpoqBo8zJzP9b1073g;
  typedef struct tySequence__DfmUmNgVGnYaiV1I6227tw tySequence__DfmUmNgVGnYaiV1I6227tw;
  typedef struct tySequence__t8Uv4lEJ4lkuECvP9c6JMhA tySequence__t8Uv4lEJ4lkuECvP9c6JMhA;
  typedef struct tyObject_BiTable__SMd2CpsYscvX1veKoGcqmg tyObject_BiTable__SMd2CpsYscvX1veKoGcqmg;
  typedef struct tyObject_BiTable__DyMEQOe8VsqcG49bIhU69bBQ tyObject_BiTable__DyMEQOe8VsqcG49bIhU69bBQ;
  typedef struct tySequence__IHUFRsFxZNv7YydiUO2esQ tySequence__IHUFRsFxZNv7YydiUO2esQ;
  typedef struct tyObject_Table__CE4eiu6FavV1vmUiTXQ70g tyObject_Table__CE4eiu6FavV1vmUiTXQ70g;
  typedef struct tySequence__9bT7o0CflHuiE4VhmtqBPCw tySequence__9bT7o0CflHuiE4VhmtqBPCw;
  typedef struct tyObject_PackedEncoder__B9cE9a0GbvqWW9aHf4N7RAaIw tyObject_PackedEncoder__B9cE9a0GbvqWW9aHf4N7RAaIw;
  typedef struct tyObject_Table__TRm6MPqklA8EYBmBMY117Q tyObject_Table__TRm6MPqklA8EYBmBMY117Q;
  typedef struct tySequence__9cnx3zXnWzeclW8Ko4oUgAQ tySequence__9cnx3zXnWzeclW8Ko4oUgAQ;
  typedef struct tyTuple__l7R9cf53SDCcRmz9aWTyEKqQ tyTuple__l7R9cf53SDCcRmz9aWTyEKqQ;
  typedef struct tySequence__O5RcspOP32YJ4YtU5ppxxA tySequence__O5RcspOP32YJ4YtU5ppxxA;
  typedef struct tyObject_LazyType__Q19c34D32PKyTKlx6R6yODg tyObject_LazyType__Q19c34D32PKyTKlx6R6yODg;
  typedef struct tyObject_FullId__pfGm9bmVgXcP2kl6OfHhZgQ tyObject_FullId__pfGm9bmVgXcP2kl6OfHhZgQ;
  typedef struct tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ;
  typedef struct tyTuple__o67sDX0wYbEuhI9cJYAbDtg tyTuple__o67sDX0wYbEuhI9cJYAbDtg;
  typedef struct tySequence__Or1y9bNpmj8PM8AcK9c9cg7RA tySequence__Or1y9bNpmj8PM8AcK9c9cg7RA;
  typedef struct tyObject_LazyInstantiation__rlce0Sj8mBfLfm69c2yVTZg tyObject_LazyInstantiation__rlce0Sj8mBfLfm69c2yVTZg;
  typedef struct tySequence__ipEvhpHAmm8ZCn9bZAOdNYA tySequence__ipEvhpHAmm8ZCn9bZAOdNYA;
  typedef struct tyObject_TInstantiation__5LqgVn6Tq9ainQRK7TQAQxA tyObject_TInstantiation__5LqgVn6Tq9ainQRK7TQAQxA;
  typedef struct tyTuple__9aNnDWBFMF44sfFinBpMT4Q tyTuple__9aNnDWBFMF44sfFinBpMT4Q;
  typedef struct tyTuple__dT8l9anHpNRgQSBAI9ctQ2wg tyTuple__dT8l9anHpNRgQSBAI9ctQ2wg;
  typedef struct tySequence__159bHWBGAOOs6U7OZ9cQlO0g tySequence__159bHWBGAOOs6U7OZ9cQlO0g;
  typedef struct tyTuple__VrD6plbUKJjYKM0lCr3hGQ tyTuple__VrD6plbUKJjYKM0lCr3hGQ;
  typedef struct tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA;
  typedef struct tyTuple__1ZbjBgxAbnye0IFMZ6w4OA tyTuple__1ZbjBgxAbnye0IFMZ6w4OA;
  typedef struct tyTuple__xYhUhS7X82rKTqbT9bRfCnw tyTuple__xYhUhS7X82rKTqbT9bRfCnw;
  typedef struct tyTuple__rplX06U9bjhu9asm5pWdgqsA tyTuple__rplX06U9bjhu9asm5pWdgqsA;
  typedef struct tyTuple__1mtQ8sCEE7DbfIuQciv9b5Q tyTuple__1mtQ8sCEE7DbfIuQciv9b5Q;
  typedef struct tyTuple__xDU9bZmv1ZbZkJDaATBekIQ tyTuple__xDU9bZmv1ZbZkJDaATBekIQ;
  typedef struct tyTuple__a9bBCAQ2tegdUQVlHYxdJ2A tyTuple__a9bBCAQ2tegdUQVlHYxdJ2A;
  typedef struct tyTuple__3i6hlQmqrn6m7tuVN8FHjQ tyTuple__3i6hlQmqrn6m7tuVN8FHjQ;
  typedef struct tyTuple__OJFzEczluV8Jmo9bRpBfkzw tyTuple__OJFzEczluV8Jmo9bRpBfkzw;
  typedef struct tyTuple__2SGm9aGCXuo7XSQ9bqD29axXw tyTuple__2SGm9aGCXuo7XSQ9bqD29axXw;
  typedef struct tyTuple__F3gkSrMB1qp2Tvf9bixVXwg tyTuple__F3gkSrMB1qp2Tvf9bixVXwg;
  typedef struct tyTuple__wcNatyuf8WOqAhGLhSvgiw tyTuple__wcNatyuf8WOqAhGLhSvgiw;
  typedef struct tyObject_BTree__VZdzO0Tlflp7WMN4gS8oPg tyObject_BTree__VZdzO0Tlflp7WMN4gS8oPg;
  typedef struct tyObject_NodecolonObjectType___dNELmBSmY7nthjhZupWO6g tyObject_NodecolonObjectType___dNELmBSmY7nthjhZupWO6g;
  typedef struct tyTuple__4o9cW9aUwdGqgZI9bSHHYnbaQ tyTuple__4o9cW9aUwdGqgZI9bSHHYnbaQ;
  typedef struct tyTuple__z822nu9bFF1AlQnLrHjdwpA tyTuple__z822nu9bFF1AlQnLrHjdwpA;
  typedef struct tyObject_TFileInfo__GE3hAakXKOEpch4ap3zXAw tyObject_TFileInfo__GE3hAakXKOEpch4ap3zXAw;
  typedef struct tyTuple__QeWl6B6ffS4pU6WWrtcrDw tyTuple__QeWl6B6ffS4pU6WWrtcrDw;
  typedef struct tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg;
  typedef struct tyTuple__awOivLjlO76sGdHY7nQUjQ tyTuple__awOivLjlO76sGdHY7nQUjQ;
  typedef struct tyTuple__0q9cmhneJEKnQERTpXXdz6Q tyTuple__0q9cmhneJEKnQERTpXXdz6Q;
  typedef struct tyObject_PackedNode__7lDGAZiNp4zbO65GEpoKow tyObject_PackedNode__7lDGAZiNp4zbO65GEpoKow;
  typedef struct tyObject_PackedLineInfo__Q9bbXLBurHo2r5TyF6UBshg tyObject_PackedLineInfo__Q9bbXLBurHo2r5TyF6UBshg;
  typedef struct tyTuple__Izx9aRSX9a0diDXD84jOS9aMQ tyTuple__Izx9aRSX9a0diDXD84jOS9aMQ;
  typedef struct tyTuple__Q7r9caOmeWqQGZCIBHhGRUA tyTuple__Q7r9caOmeWqQGZCIBHhGRUA;
  typedef struct tyTuple__7Wlwbz8zSe7Udyf7mmsd9cg tyTuple__7Wlwbz8zSe7Udyf7mmsd9cg;
  typedef struct tyTuple__XyJ8LOAZzVVXSsmt09b8uWw tyTuple__XyJ8LOAZzVVXSsmt09b8uWw;
  typedef struct tyObject_PackedInstantiation__39cWRURu69agjI9c1ohiUmxiA tyObject_PackedInstantiation__39cWRURu69agjI9c1ohiUmxiA;
  typedef struct tySequence__vC9cvg0R8tfBaOXXi3sfMzw tySequence__vC9cvg0R8tfBaOXXi3sfMzw;
  typedef struct tyTuple__9aoobCDZB4x41HJSOmh0mwA tyTuple__9aoobCDZB4x41HJSOmh0mwA;
  typedef struct tyTuple__g0Q6Qx15nK53ce9aLo7YyrA tyTuple__g0Q6Qx15nK53ce9aLo7YyrA;
  typedef struct tyObject_PackedSym__XjVn21MwvH8ij6CfopYZWw tyObject_PackedSym__XjVn21MwvH8ij6CfopYZWw;
  typedef struct tyObject_PackedLib__oa01YzfeXO9bbIDH9cIki4Hw tyObject_PackedLib__oa01YzfeXO9bbIDH9cIki4Hw;
  typedef struct tyObject_PackedType__IhXsK7mrwumUBtEqbZ2BqA tyObject_PackedType__IhXsK7mrwumUBtEqbZ2BqA;
  typedef struct tyTuple__8x6vq4Dc9aLvKX9actMeR9avQ tyTuple__8x6vq4Dc9aLvKX9actMeR9avQ;
  typedef struct tyTuple__UvldbCB6B9ayi9bGYW7vJNLA tyTuple__UvldbCB6B9ayi9bGYW7vJNLA;
  typedef NU8 tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A;
  typedef NU8 tySet_tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ;
  typedef N_NIMCALL_PTR(void, tyProc__ojoeKfW4VYIm36I9cpDTQIg) (void* p, NI op);
  typedef N_NIMCALL_PTR(void*, tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ) (void* p);
  struct TNimType {
  NI size;
  NI align;
  tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A kind;
  tySet_tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ flags;
  TNimType* base;
  TNimNode* node;
  void* finalizer;
  tyProc__ojoeKfW4VYIm36I9cpDTQIg marker;
  tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ deepcopy;
  };
  struct RootObj {
  TNimType* m_type;
  };
  struct tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w {
    RootObj Sup;
  tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen;
  };
  struct tyObject_CountTable__tUMxxU9cRgLolsrW9b7IBGsQ {
  tySequence__XUL1TrMU0tgXmaMFCIYgFQ* data;
  NI counter;
  NIM_BOOL isSorted;
  };
  struct tyObject_TJSGen__qij68Ti2EwJQHH6sSdkSdw {
    tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w Sup;
  tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* module;
  tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph;
  tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* config;
  tyObject_CountTable__tUMxxU9cRgLolsrW9b7IBGsQ sigConflicts;
  };
  typedef NU8 tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ;
  struct TNimNode {
  tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ kind;
  NI offset;
  TNimType* typ;
  NCSTRING name;
  NI len;
  TNimNode** sons;
  };
  struct tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g {
  NI32 module;
  NI32 item;
  };
  struct tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w {
    RootObj Sup;
  tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g itemId;
  };
  typedef NU8 tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw;
  typedef NU16 tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg;
  struct tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q {
  NU16 line;
  NI16 col;
  NI32 fileIndex;
  };
  typedef NU64 tySet_tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw;
  typedef NU32 tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg;
  typedef NU8 tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg;
  typedef NU8 tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw;
  typedef NU16 tySet_tyEnum_TLocFlag__o2bqJgR4ceIupnUSpxiudA;
  struct tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA {
  tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg k;
  tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw storage;
  tySet_tyEnum_TLocFlag__o2bqJgR4ceIupnUSpxiudA flags;
  tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* lode;
  tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* r;
  };
  struct tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ {
    tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w Sup;
  tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw kind;
  union{
  struct {tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* gcUnsafetyReason;
  tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* transformedBody;
  } _kind_1;
  struct {tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* guard;
  NI bitsize;
  NI alignment;
  } _kind_2;
  };
  tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg magic;
  tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
  tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* name;
  tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info;
  tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner;
  tySet_tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw flags;
  tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ast;
  tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg options;
  NI position;
  NI offset;
  tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA loc;
  tyObject_TLib__NBMxlJ6g3utqUlplqTTHkA* annex;
  tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* constraint;
  };
  struct tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g {
  NI refcount;
  TNimType* typ;
  };
  struct tyObject_GcStack__7fytPA5bBsob6See21YMRA {
  void* bottom;
  };
  struct tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w {
  NI len;
  NI cap;
  tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g** d;
  };
  typedef tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ* tyArray__SPr7N6UKfuF549bNPiUvSRw[256];
  typedef NU32 tyArray__BHbOSqU1t9b3Gt7K2c6fQig[24];
  typedef tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* tyArray__N1u1nqOgmuJN9cSZrnMHgOQ[32];
  typedef tyArray__N1u1nqOgmuJN9cSZrnMHgOQ tyArray__B6durA4ZCi1xjJvRtyYxMg[24];
  typedef tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw* tyArray__lh2A89ahMmYg9bCmpVaplLbA[256];
  struct tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA {
  tyArray__lh2A89ahMmYg9bCmpVaplLbA data;
  };
  typedef tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* tyArray__0aOLqZchNi8nWtMTi8ND8w[2];
  struct tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw {
  tyArray__0aOLqZchNi8nWtMTi8ND8w link;
  NI key;
  NI upperBound;
  NI level;
  };
  struct tyTuple__ujsjpB2O9cjj3uDHsXbnSzg {
  tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* Field0;
  NI Field1;
  };
  typedef tyTuple__ujsjpB2O9cjj3uDHsXbnSzg tyArray__LzOv2eCDGiceMKQstCLmhw[30];
  struct tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg {
  NI len;
  tyArray__LzOv2eCDGiceMKQstCLmhw chunks;
  tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg* next;
  };
  struct tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg {
  NI minLargeObj;
  NI maxLargeObj;
  tyArray__SPr7N6UKfuF549bNPiUvSRw freeSmallChunks;
  NU32 flBitmap;
  tyArray__BHbOSqU1t9b3Gt7K2c6fQig slBitmap;
  tyArray__B6durA4ZCi1xjJvRtyYxMg matrix;
  tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw* llmem;
  NI currMem;
  NI maxMem;
  NI freeMem;
  NI occ;
  NI lastSize;
  tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA chunkStarts;
  tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* root;
  tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* deleted;
  tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* last;
  tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* freeAvlNodes;
  NIM_BOOL locked;
  NIM_BOOL blockChunkSizeIncrease;
  NI nextChunkSize;
  tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw bottomData;
  tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg heapLinks;
  };
  struct tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg {
  NI stackScans;
  NI cycleCollections;
  NI maxThreshold;
  NI maxStackSize;
  NI maxStackCells;
  NI cycleTableSize;
  NI64 maxPause;
  };
  struct tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ {
  NI counter;
  NI max;
  tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg* head;
  tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg** data;
  };
  struct tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ {
  tyObject_GcStack__7fytPA5bBsob6See21YMRA stack;
  NI cycleThreshold;
  NI zctThreshold;
  tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w zct;
  tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w decStack;
  tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w tempStack;
  NI recGcLock;
  tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg region;
  tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg stat;
  tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ marked;
  tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w additionalRoots;
  NI gcThreadId;
  };
  struct tyObject_Table__ZqXrnX212T9bCb4lhpQ9bFBw {
  tySequence__ChDZ6dokJ9aj9cg3KBoCU5vg* data;
  NI counter;
  };
  struct tyObject_Table__UVZI5J9aS51B4B0eYPpW1Rg {
  tySequence__mWRMiYLthG9coLjkbElCxkw* data;
  NI counter;
  };
  struct tyObject_Table__iowAVDkco3qpbEH0z8OmkQ {
  tySequence__bTDCDwD2P7TodzbAefLcSw* data;
  NI counter;
  };
  typedef tyObject_Table__iowAVDkco3qpbEH0z8OmkQ tyArray__pxY9cgs6r9cBvGwlO8XZ9ccbQ[5];
  struct tyObject_Table__KUYGGgSxi8wBr0SXET9bi3w {
  tySequence__3MPVXAHA08SszBrU4ffqEg* data;
  NI counter;
  };
  struct tyObject_Table__KcymdZjUsmGSK8BxmvoJgw {
  tySequence__YCf5zJHm4JI06qpmKwPUWg* data;
  NI counter;
  };
  struct tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA {
  tySequence__7lEisrXlQEzwtUKW5pzRCw* data;
  NI counter;
  };
  typedef NU8 tyEnum_TBackend__4OBsgZ9cscH2JLUE5Wcz01g;
  typedef NU8 tyEnum_TGCMode__tkz389aDYNd8ykeZszCuBSw;
  typedef NU8 tyEnum_TSystemCC__1eWBJUonHMOnlBwsOvpFmA;
  typedef NU64 tySet_tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw;
  struct tyObject_PackedConfig__McwvRupqDAJbGrinIDFZJQ {
  tyEnum_TBackend__4OBsgZ9cscH2JLUE5Wcz01g backend;
  tyEnum_TGCMode__tkz389aDYNd8ykeZszCuBSw selectedGC;
  tyEnum_TSystemCC__1eWBJUonHMOnlBwsOvpFmA cCompiler;
  tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg options;
  tySet_tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw globalOptions;
  };
  struct tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA {
  NI counter;
  tySequence__eHqUwlHGGaPw0TDPDeL79cQ* data;
  };
  struct tyObject_Table__hd3qB0wXU9bWPJR7fjShhbA {
  tySequence__61s9cbAniKuBrdHwBhMDfQg* data;
  NI counter;
  };
  typedef NI tyArray__emiAJ8okywrJw7ZHLzlXbQ[34];
  struct tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA {
  NI elems;
  NI counter;
  NI max;
  tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA* head;
  tySequence__Bre9bNyuQOg1EJKitjSzn8w* data;
  tyArray__emiAJ8okywrJw7ZHLzlXbQ a;
  };
  struct tyObject_Table__fdKWDDO1P17zvuQPReVgRA {
  tySequence__fdmz6VkIf1ewwrssKYqRFg* data;
  NI counter;
  };
  struct tyObject_Table__e2Ciu0s1q49aVQ7ULXy7l9bQ {
  tySequence__kxu4GK0onha2t9bo86mdVAg* data;
  NI counter;
  };
  typedef struct {
  N_NIMCALL_PTR(NIM_BOOL, ClP_0) (void* ClE_0);
  void* ClE_0;
  } tyProc__In3g79a0qTcRmbTbJp9ba9ctg;
  typedef tyObject_TType__facALICuu8zUj0hjvbTLFg* tyArray__9bjuenwQUcqO3lbmS2wX7uA[65];
  struct tyObject_Table__Ue6w4c82v7gc7t2qntTbAw {
  tySequence__1U9bG8RcAedEeYkQLZjVFKA* data;
  NI counter;
  };
  struct tyObject_Table__G1v8c16HePOldLeucwe05Q {
  tySequence__fIB1rTQ55aFonoft9a9bmljQ* data;
  NI counter;
  };
  typedef N_NIMCALL_PTR(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, tyProc__VHDwJFdIqpwtpUGuxiXUwg) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* m, NI32 fileIdx);
  typedef N_NIMCALL_PTR(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, tyProc__mjUN9alLJ31lnSKkUsuyWMw) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* m, NI32 fileIdx);
  struct tyObject_Table__0Y2brGGKD9bV6GJLXT9aUDgA {
  tySequence__23SMqauuRsbDANhthj9bWlA* data;
  NI counter;
  };
  struct tyObject_Table__NttoEzoiq5CiphZe81oadg {
  tySequence__squ9b9bUH4OLHf6cEMrt6hVA* data;
  NI counter;
  };
  struct tyObject_Table__nagDFX4QHx0s6Fvma9blmSg {
  tySequence__pHNq3oXj9av2sEUdqaqeZjw* data;
  NI counter;
  };
  typedef N_NIMCALL_PTR(void, tyProc__TjycsqkDBjsxd4da6KYTng) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
  typedef N_NIMCALL_PTR(void, tyProc__Mrj9cEgtPER9bAXMDB9cTXrfQ) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* body);
  typedef N_NIMCALL_PTR(NIM_BOOL, tyProc__J7Jq15ZScfKLqcLx8sEz9cA) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TType__facALICuu8zUj0hjvbTLFg* formal, tyObject_TType__facALICuu8zUj0hjvbTLFg* actual);
  struct tyObject_Operators__EbMP71azE1HSvYAQoCH9cXA {
  tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opNot;
  tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opContains;
  tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opLe;
  tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opLt;
  tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opAnd;
  tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opOr;
  tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opIsNil;
  tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opEq;
  tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opAdd;
  tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opSub;
  tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opMul;
  tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opDiv;
  tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opLen;
  };
  struct tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ {
  tySequence__4mZLwkxT8rbt9bf3wXrXYNQ* ifaces;
  tySequence__rQHmYk1HzcwNxKBymIFHpA* packed_0;
  tySequence__XMM60DtBsc6xYsIpNANkrA* encoders;
  tyObject_Table__ZqXrnX212T9bCb4lhpQ9bFBw typeInstCache;
  tyObject_Table__UVZI5J9aS51B4B0eYPpW1Rg procInstCache;
  tyArray__pxY9cgs6r9cBvGwlO8XZ9ccbQ attachedOps;
  tyObject_Table__KUYGGgSxi8wBr0SXET9bi3w methodsPerType;
  tyObject_Table__KcymdZjUsmGSK8BxmvoJgw enumToStringProcs;
  tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA emittedTypeInfo;
  tyObject_PackedConfig__McwvRupqDAJbGrinIDFZJQ startupPackedConfig;
  tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA packageSyms;
  tyObject_Table__hd3qB0wXU9bWPJR7fjShhbA modulesPerPackage;
  tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA deps;
  tyObject_Table__fdKWDDO1P17zvuQPReVgRA importDeps;
  NIM_BOOL suggestMode;
  NIM_BOOL invalidTransitiveClosure;
  tyObject_Table__e2Ciu0s1q49aVQ7ULXy7l9bQ inclToMod;
  tySequence__48JTohSgTy339bRxHzUD8KA* importStack;
  RootObj* backend;
  tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* config;
  tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw* cache;
  RootObj* vm;
  tyProc__In3g79a0qTcRmbTbJp9ba9ctg doStopCompile;
  tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* usageSym;
  tySequence__eHqUwlHGGaPw0TDPDeL79cQ* owners;
  tySequence__s9byh6WFJ16lPMcmqdaMTHA* methods;
  tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* systemModule;
  tyArray__9bjuenwQUcqO3lbmS2wX7uA sysTypes;
  tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA compilerprocs;
  tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA exposed;
  tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA packageTypes;
  tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* emptyNode;
  tyObject_Table__Ue6w4c82v7gc7t2qntTbAw canonTypes;
  tyObject_Table__G1v8c16HePOldLeucwe05Q symBodyHashes;
  tyProc__VHDwJFdIqpwtpUGuxiXUwg importModuleCallback;
  tyProc__mjUN9alLJ31lnSKkUsuyWMw includeFileCallback;
  tyObject_Table__0Y2brGGKD9bV6GJLXT9aUDgA cacheSeqs;
  tyObject_Table__NttoEzoiq5CiphZe81oadg cacheCounters;
  tyObject_Table__nagDFX4QHx0s6Fvma9blmSg cacheTables;
  tySequence__MAQKEADohlpnXTModtugbQ* passes;
  tyProc__TjycsqkDBjsxd4da6KYTng onDefinition;
  tyProc__TjycsqkDBjsxd4da6KYTng onDefinitionResolveForward;
  tyProc__TjycsqkDBjsxd4da6KYTng onUsage;
  tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ* globalDestructors;
  tyProc__Mrj9cEgtPER9bAXMDB9cTXrfQ strongSemCheck;
  tyProc__J7Jq15ZScfKLqcLx8sEz9cA compatibleProps;
  tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen;
  tyObject_Operators__EbMP71azE1HSvYAQoCH9cXA operators;
  };
  struct tyObject_PGlobalscolonObjectType___nWsHZg3qCUsABoCNYLliag {
    RootObj Sup;
  tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* typeInfo;
  tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* constants;
  tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* code;
  tySequence__eHqUwlHGGaPw0TDPDeL79cQ* forwarded;
  tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA generatedSyms;
  tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA typeInfoGenerated;
  NI unique;
  NIM_BOOL inSystem;
  };
  struct TGenericSeq {
  NI len;
  NI reserved;
  };
  typedef NU8 tyEnum_TSystemCPU__XYDt7D1G3qcClFyZy1Ky9ag;
  typedef NU8 tyEnum_TSystemOS__s7Mlr1t66SUqP6BKJMXLaQ;
  struct NimStringDesc {
    TGenericSeq Sup;
  NIM_CHAR data[SEQ_DECL_SIZE];
  };
  struct tyObject_Target__9abOl5DLX8suLujOaHSvGzw {
  tyEnum_TSystemCPU__XYDt7D1G3qcClFyZy1Ky9ag targetCPU;
  tyEnum_TSystemCPU__XYDt7D1G3qcClFyZy1Ky9ag hostCPU;
  tyEnum_TSystemOS__s7Mlr1t66SUqP6BKJMXLaQ targetOS;
  tyEnum_TSystemOS__s7Mlr1t66SUqP6BKJMXLaQ hostOS;
  NI intSize;
  NI floatSize;
  NI ptrSize;
  NimStringDesc* tnl;
  };
  typedef NU8 tySet_tyEnum_TErrorOutput__fBf8Teueoz9aAkO5cXaxrpA;
  struct tyObject_MsgConfig__kV7r8HWT0SqOYW2k2ukC6A {
  tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q trackPos;
  NIM_BOOL trackPosAttached;
  tySet_tyEnum_TErrorOutput__fBf8Teueoz9aAkO5cXaxrpA errorOutputs;
  tySequence__tNFrR3kRuS1FSwuiLGoSSA* msgContext;
  tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q lastError;
  tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA filenameToIndexTbl;
  tySequence__Zi9cGbCWofbtABoHJ5RbLNQ* fileInfos;
  NI32 systemFileIdx;
  };
  typedef NU8 tyEnum_FilenameOption__eL86bAtPxXWHj24F5gOMFQ;
  typedef NU8 tyEnum_Command__0zjcIQ623TIRGPdtjLwTFA;
  typedef NU8 tyEnum_ExceptionSystem__1mkAogyaDAT7g9cQjzsgKLQ;
  typedef NU8 tyEnum_SymbolFilesOption__gBES9bqm1ru9ape8SeMRAFgQ;
  struct tyObject_HashSet__CD8Dpv0WGmASelVaNSo6zg {
  tySequence__4eRCaZmrYLLw2k30GPTiMw* data;
  NI counter;
  };
  typedef NU32 tySet_tyEnum_Feature__01UoAKYz1MxZiuG1X2VhNQ;
  typedef NU8 tySet_tyEnum_LegacyFeature__hGCD9aOrxPvpXn4Ne6W6OVA;
  typedef NU8 tyEnum_IdeCmd__1Ced39bl5eePmZ1PKMPXigQ;
  typedef NU8 tySet_tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug[11];
  struct tyTuple__47w2DboNEPf69aPgubZdd7Q {
  NI Field0;
  NI Field1;
  NI Field2;
  };
  typedef NU8 tySet_tyEnum_StdOrrKind__6cbmyTzDPaZU9afMe4mz3Ug;
  typedef struct {
  N_NIMCALL_PTR(void, ClP_0) (tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ* result, void* ClE_0);
  void* ClE_0;
  } tyProc__YD0MR9bJ2x4beJkZdnjXN9cA;
  typedef struct {
  N_NIMCALL_PTR(void, ClP_0) (NimStringDesc* output, void* ClE_0);
  void* ClE_0;
  } tyProc__k2HFjxisIgDALbEUFojxaQ;
  typedef NU8 tyEnum_Severity__x5BWBPGAbIH9clm5pmNp5DA;
  typedef struct {
  N_NIMCALL_PTR(void, ClP_0) (tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* config, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, NimStringDesc* msg, tyEnum_Severity__x5BWBPGAbIH9clm5pmNp5DA severity, void* ClE_0);
  void* ClE_0;
  } tyProc__oL9coyIA2VDTGdUcur9aL9bew;
  struct tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw {
  tyEnum_TBackend__4OBsgZ9cscH2JLUE5Wcz01g backend;
  tyObject_Target__9abOl5DLX8suLujOaHSvGzw target;
  NI linesCompiled;
  tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg options;
  tySet_tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw globalOptions;
  tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* macrosToExpand;
  tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* arcToExpand;
  tyObject_MsgConfig__kV7r8HWT0SqOYW2k2ukC6A m;
  tyEnum_FilenameOption__eL86bAtPxXWHj24F5gOMFQ filenameOption;
  NimStringDesc* unitSep;
  NI evalTemplateCounter;
  NI evalMacroCounter;
  NI8 exitcode;
  tyEnum_Command__0zjcIQ623TIRGPdtjLwTFA cmd;
  NimStringDesc* cmdInput;
  NIM_BOOL projectIsCmd;
  NIM_BOOL implicitCmd;
  tyEnum_TGCMode__tkz389aDYNd8ykeZszCuBSw selectedGC;
  tyEnum_ExceptionSystem__1mkAogyaDAT7g9cQjzsgKLQ exc;
  NIM_BOOL hintProcessingDots;
  NI verbosity;
  NI numberOfProcessors;
  NF lastCmdTime;
  tyEnum_SymbolFilesOption__gBES9bqm1ru9ape8SeMRAFgQ symbolFiles;
  NI spellSuggestMax;
  tyObject_HashSet__CD8Dpv0WGmASelVaNSo6zg cppDefines;
  NimStringDesc* headerFile;
  tySet_tyEnum_Feature__01UoAKYz1MxZiuG1X2VhNQ features;
  tySet_tyEnum_LegacyFeature__hGCD9aOrxPvpXn4Ne6W6OVA legacyFeatures;
  NimStringDesc* arguments;
  tyEnum_IdeCmd__1Ced39bl5eePmZ1PKMPXigQ ideCmd;
  NIM_BOOL oldNewlines;
  tyEnum_TSystemCC__1eWBJUonHMOnlBwsOvpFmA cCompiler;
  tySet_tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug modifiedyNotes;
  tySet_tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug cmdlineNotes;
  tySet_tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug foreignPackageNotes;
  tySet_tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug notes;
  tySet_tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug warningAsErrors;
  tySet_tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug mainPackageNotes;
  NI mainPackageId;
  NI errorCounter;
  NI hintCounter;
  NI warnCounter;
  NI errorMax;
  NI maxLoopIterationsVM;
  NIM_BOOL isVmTrace;
  tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* configVars;
  tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* symbols;
  tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* packageCache;
  tySequence__sM4lkSb7zS6F7OVMvW9cffQ* nimblePaths;
  tySequence__sM4lkSb7zS6F7OVMvW9cffQ* searchPaths;
  tySequence__sM4lkSb7zS6F7OVMvW9cffQ* lazyPaths;
  NimStringDesc* outFile;
  NimStringDesc* outDir;
  NimStringDesc* jsonBuildFile;
  NimStringDesc* prefixDir;
  NimStringDesc* libpath;
  NimStringDesc* nimcacheDir;
  tyTuple__47w2DboNEPf69aPgubZdd7Q nimStdlibVersion;
  tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* dllOverrides;
  tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* moduleOverrides;
  tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* cfileSpecificOptions;
  NimStringDesc* projectName;
  NimStringDesc* projectPath;
  NimStringDesc* projectFull;
  NIM_BOOL projectIsStdin;
  tySet_tyEnum_StdOrrKind__6cbmyTzDPaZU9afMe4mz3Ug lastMsgWasDot;
  NI32 projectMainIdx;
  NI32 projectMainIdx2;
  NimStringDesc* command;
  tySequence__sM4lkSb7zS6F7OVMvW9cffQ* commandArgs;
  NimStringDesc* commandLine;
  tySequence__sM4lkSb7zS6F7OVMvW9cffQ* extraCmds;
  NIM_BOOL keepComments;
  tySequence__sM4lkSb7zS6F7OVMvW9cffQ* implicitImports;
  tySequence__sM4lkSb7zS6F7OVMvW9cffQ* implicitIncludes;
  NimStringDesc* docSeeSrcUrl;
  NimStringDesc* docRoot;
  NimStringDesc* docCmd;
  tySequence__sM4lkSb7zS6F7OVMvW9cffQ* configFiles;
  tySequence__sM4lkSb7zS6F7OVMvW9cffQ* cIncludes;
  tySequence__sM4lkSb7zS6F7OVMvW9cffQ* cLibs;
  tySequence__sM4lkSb7zS6F7OVMvW9cffQ* cLinkedLibs;
  tySequence__sM4lkSb7zS6F7OVMvW9cffQ* externalToLink;
  NimStringDesc* linkOptionsCmd;
  tySequence__sM4lkSb7zS6F7OVMvW9cffQ* compileOptionsCmd;
  NimStringDesc* linkOptions;
  NimStringDesc* compileOptions;
  NimStringDesc* cCompilerPath;
  tySequence__pK3qSsBZwdXd6qyUMkd5Jw* toCompile;
  tyProc__YD0MR9bJ2x4beJkZdnjXN9cA suggestionResultHook;
  NI suggestVersion;
  NI suggestMaxResults;
  tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q lastLineInfo;
  tyProc__k2HFjxisIgDALbEUFojxaQ writelnHook;
  tyProc__oL9coyIA2VDTGdUcur9aL9bew structuredErrorHook;
  NimStringDesc* cppCustomNamespace;
  NimStringDesc* nimMainPrefix;
  tyObject_ProfileDatacolonObjectType___rPBBfFL4X0b9cQ6rfMNPXig* vmProfileData;
  };
  typedef NU8 tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw;
  struct tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q {
  NI32 module;
  NI32 symId;
  NI32 typeId_0;
  NIM_BOOL sealed;
  };
  typedef NU32 tySet_tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg;
  typedef NU8 tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw;
  struct tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw {
  tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
  tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info;
  tySet_tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg flags;
  tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind;
  union{
  struct {NI64 intVal;
  } _kind_1;
  struct {NF floatVal;
  } _kind_2;
  struct {NimStringDesc* strVal;
  } _kind_3;
  struct {tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym;
  } _kind_4;
  struct {tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* ident;
  } _kind_5;
  struct {tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ* sons;
  } _kind_6;
  };
  };
  struct tyTuple__kN8up2W6YKc5YA9avn5mV5w {
  NimStringDesc* Field0;
  NI Field1;
  NI Field2;
  };
  struct tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q {
  tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* procDef;
  tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* prc;
  tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* globals;
  tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* locals;
  tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* body;
  tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg options;
  tyObject_TJSGen__qij68Ti2EwJQHH6sSdkSdw* module;
  tyObject_PGlobalscolonObjectType___nWsHZg3qCUsABoCNYLliag* g;
  tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA generatedParamCopies;
  NIM_BOOL beforeRetNeeded;
  NI unique;
  tySequence__8fytVdU59b5aj319cog2ztLw* blocks;
  NI extraIndent;
  tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* up;
  tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA declaredGlobals;
  };
  struct tyObject_TBlock__46cd0Xw9aDJ1QWTE8nV4mLg {
  NI id;
  NIM_BOOL isLoop;
  };
  typedef NU8 tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg;
  struct tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA {
    RootObj Sup;
  tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* left;
  tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* right;
  NI L;
  NimStringDesc* data;
  };
  typedef tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* tyArray__mrugoXXRZUEeG9bEXo9auBKw[2];
  typedef tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* tyArray__qTjAvTvKF9anytN1At69aJMQ[1];
  struct tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA {
  NI id;
  NimStringDesc* s;
  tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* next;
  NI h;
  };
  typedef tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* tyArray__JiWwrsTRC6xqNlGcBthSVA[1];
  typedef NU8 tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg;
  typedef NU8 tyEnum_TResKind__EoayJcDa8SxU1YPfjU8L9bg;
  typedef NU8 tyEnum_TJSTypeKind__9aFSCXgaSEq2m81RJRMKDeA;
  struct tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w {
  tyEnum_TResKind__EoayJcDa8SxU1YPfjU8L9bg kind;
  tyEnum_TJSTypeKind__9aFSCXgaSEq2m81RJRMKDeA typ;
  tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* res;
  tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* address;
  tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* tmpLoc;
  };
  typedef NU8 tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag;
  typedef NU8 tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA;
  typedef NU64 tySet_tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw;
  struct tyObject_TType__facALICuu8zUj0hjvbTLFg {
    tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w Sup;
  tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kind;
  tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA callConv;
  tySet_tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw flags;
  tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A* sons;
  tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n;
  tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner;
  tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym;
  NI64 size;
  NI16 align;
  NI16 paddingAtEnd;
  NI16 lockLevel;
  tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA loc;
  tyObject_TType__facALICuu8zUj0hjvbTLFg* typeInst;
  tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g uniqueId;
  };
  typedef NU8 tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag[9];
  typedef tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* tyArray__wqYjTJU9ab2ZgEFMaQc3vNA[3];
  typedef NU32 tyArray__FleBT9cC2nxhgiXmSYYnEKA[4];
  struct tyObject_Int128__9a9axPfb75jdWY25AamJewkA {
  tyArray__FleBT9cC2nxhgiXmSYYnEKA udata;
  };
  typedef tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* tyArray__wm6rkCVggH4IozhLUEP19bg[8];
  typedef tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* tyArray__YcHYlgE5mhtkt9a3rnoucVg[7];
  typedef NU8 tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w;
  typedef NU8 tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw;
  typedef NU8 tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw;
  typedef tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* tyArray__duFhZXIIlrbrM62cWjNekg[5];
  typedef NU8 tySet_tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw[21];
  typedef tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* tyArray__f7nG5LD47BH5K9c6mASit3g[4];
  typedef NU8 tyEnum_TLocFlag__o2bqJgR4ceIupnUSpxiudA;
  typedef NU8 tyEnum_FloatClass__pPga1yW9b8J9cwNnm9b1aPRnA;
  typedef NimStringDesc* tyArray__Re75IspeoxXy2oCZHwcRrA[2];
  typedef tyArray__Re75IspeoxXy2oCZHwcRrA tyArray__k29ck4gbaHsaWs9bvWKy0w5w[62];
  struct tyTuple__nsNHL3sm0TZE9bootw2pEXw {
  tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* Field0;
  tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* Field1;
  };
  typedef NU8 tySet_tyChar__nmiMWKVIe46vacnhAFrQvw[32];
  struct tyObject_HSlice__HjDAjiFsTWGmlZ9cd8nEusA {
  tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag a;
  tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag b;
  };
  struct tyTuple__Fb1Z8PVtzpSjrvQ67oA88w {
  NimStringDesc* Field0;
  tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw Field1;
  };
  typedef tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* tyArray__dNfZYyzVYdaWfURv4pxodA[6];
  typedef NU8 tyEnum_LegacyFeature__hGCD9aOrxPvpXn4Ne6W6OVA;
  struct tyTuple__QVkyTCL0msoEdWvhK6TYrw {
  NimStringDesc* Field0;
  tyEnum_TJSTypeKind__9aFSCXgaSEq2m81RJRMKDeA Field1;
  tyEnum_TJSTypeKind__9aFSCXgaSEq2m81RJRMKDeA Field2;
  };
  typedef NU16 tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw;
  typedef NimStringDesc* tyArray__nHXaesL0DJZHyVS07ARPRA[1];
  typedef NU8 tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw;
  struct tyTuple__wb7Ftwo1Ba9cOF5RERh5YIg {
  tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* Field0;
  tyObject_SourceMapcolonObjectType___m1S8ZVbfoQLk0xvz8tc6ww* Field1;
  };
  struct tyObject_SourceMapcolonObjectType___m1S8ZVbfoQLk0xvz8tc6ww {
  NI version;
  tySequence__sM4lkSb7zS6F7OVMvW9cffQ* sources;
  tySequence__sM4lkSb7zS6F7OVMvW9cffQ* names;
  NimStringDesc* mappings;
  NimStringDesc* file;
  };
  typedef NU8 tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg;
  struct tyObject_OrderedTable__ZZvSdVkA2s2sIyifu4cpkg {
  tySequence__MlAD6nAPq9bHKla9cWiIZP0g* data;
  NI counter;
  NI first;
  NI last;
  };
  struct tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q {
  NIM_BOOL isUnquoted;
  tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg kind;
  union{
  struct {NimStringDesc* str;
  } _kind_1;
  struct {NI64 num;
  } _kind_2;
  struct {NF fnum;
  } _kind_3;
  struct {NIM_BOOL bval;
  } _kind_4;
  struct {tyObject_OrderedTable__ZZvSdVkA2s2sIyifu4cpkg fields;
  } _kind_6;
  struct {tySequence__oLpBKXzW3hF9aCVMo5EymfQ* elems;
  } _kind_7;
  };
  };
  typedef NU8 tyArray__qtqsWM5aXmcpMIVmvq3kAA[16];
  struct tyTuple__tA7Q8IrfOKH7Mn89cK9cBAIg {
  tyArray__qtqsWM5aXmcpMIVmvq3kAA Field0;
  NI Field1;
  };
  struct tyObject_Iface__uvkV248cZcsEQKaQm7C9aEA {
  tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* module;
  tySequence__vv5mGmK03BCr5e3LTZA5Hw* converters;
  tySequence__vv5mGmK03BCr5e3LTZA5Hw* patterns;
  tySequence__vv5mGmK03BCr5e3LTZA5Hw* pureEnums;
  tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA interf;
  tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA interfHidden;
  tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* uniqueName;
  };
  typedef NU8 tyEnum_ModuleStatus__MgSLMPwZ4GVYYz7Kn9bmm6Q;
  struct tyObject_PackedTree__8otSrA7MENGYESDkEP7nnw {
  tySequence__29bS0n2QNyO1R7e0qMMOvLA* nodes;
  };
  typedef NU8 tySet_tyEnum_ModuleBackendFlag__fgnyOEZ7Q9aYVj8O59afcT4g;
  struct tyObject_BiTable__SMd2CpsYscvX1veKoGcqmg {
  tySequence__sM4lkSb7zS6F7OVMvW9cffQ* vals;
  tySequence__9bAGqSvkAaFL9bWjsEPslrFA* keys;
  };
  struct tyObject_BiTable__DyMEQOe8VsqcG49bIhU69bBQ {
  tySequence__IHUFRsFxZNv7YydiUO2esQ* vals;
  tySequence__9bAGqSvkAaFL9bWjsEPslrFA* keys;
  };
  struct tyObject_PackedModule__ZSxNoR2V6oK5xosmtvhjNQ {
  NimStringDesc* definedSymbols;
  tySet_tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw moduleFlags;
  tySequence__PXIzfWocnrafGz5p3CP5LA* includes;
  tySequence__9bAGqSvkAaFL9bWjsEPslrFA* imports;
  tyObject_PackedTree__8otSrA7MENGYESDkEP7nnw toReplay;
  tyObject_PackedTree__8otSrA7MENGYESDkEP7nnw topLevel;
  tyObject_PackedTree__8otSrA7MENGYESDkEP7nnw bodies;
  tySequence__b89aLriiJnVTD186H6zNIgg* exports;
  tySequence__b89aLriiJnVTD186H6zNIgg* hidden;
  tySequence__REuPuHuSlOkZ0Q5oqzDrQg* reexports;
  tySequence__b89aLriiJnVTD186H6zNIgg* compilerProcs;
  tySequence__48JTohSgTy339bRxHzUD8KA* converters;
  tySequence__48JTohSgTy339bRxHzUD8KA* methods;
  tySequence__48JTohSgTy339bRxHzUD8KA* trmacros;
  tySequence__48JTohSgTy339bRxHzUD8KA* pureEnums;
  tySequence__I9aQmO9asXXWJ58UI9c8BCSzA* macroUsages;
  tySequence__NyaOkf8ZwxP6rkRF5TOkew* typeInstCache;
  tySequence__L9bOt8CaTEmIjgtuZvp6syg* procInstCache;
  tySequence__im8UB2GsZvUaQ4a1wKGWhQ* attachedOps;
  tySequence__xxnXDLpoqBo8zJzP9b1073g* methodsPerType;
  tySequence__NyaOkf8ZwxP6rkRF5TOkew* enumToStringProcs;
  tySequence__sM4lkSb7zS6F7OVMvW9cffQ* emittedTypeInfo;
  tySet_tyEnum_ModuleBackendFlag__fgnyOEZ7Q9aYVj8O59afcT4g backendFlags;
  tySequence__DfmUmNgVGnYaiV1I6227tw* syms;
  tySequence__t8Uv4lEJ4lkuECvP9c6JMhA* types;
  tyObject_BiTable__SMd2CpsYscvX1veKoGcqmg strings;
  tyObject_BiTable__DyMEQOe8VsqcG49bIhU69bBQ numbers;
  tyObject_PackedConfig__McwvRupqDAJbGrinIDFZJQ cfg;
  };
  struct tyObject_Table__CE4eiu6FavV1vmUiTXQ70g {
  tySequence__9bT7o0CflHuiE4VhmtqBPCw* data;
  NI counter;
  };
  struct tyObject_LoadedModule__14iJKkvOiWT62KF2D8f9c5w {
  tyEnum_ModuleStatus__MgSLMPwZ4GVYYz7Kn9bmm6Q status;
  NIM_BOOL symsInit;
  NIM_BOOL typesInit;
  NIM_BOOL loadedButAliveSetChanged;
  tyObject_PackedModule__ZSxNoR2V6oK5xosmtvhjNQ fromDisk;
  tySequence__eHqUwlHGGaPw0TDPDeL79cQ* syms;
  tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A* types;
  tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* module;
  tyObject_Table__CE4eiu6FavV1vmUiTXQ70g iface;
  tyObject_Table__CE4eiu6FavV1vmUiTXQ70g ifaceHidden;
  };
  struct tyObject_Table__TRm6MPqklA8EYBmBMY117Q {
  tySequence__9cnx3zXnWzeclW8Ko4oUgAQ* data;
  NI counter;
  };
  struct tyObject_PackedEncoder__B9cE9a0GbvqWW9aHf4N7RAaIw {
  NI32 thisModule;
  NI32 lastFile;
  NU32 lastLit;
  tyObject_Table__TRm6MPqklA8EYBmBMY117Q filenames;
  tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A* pendingTypes;
  tySequence__eHqUwlHGGaPw0TDPDeL79cQ* pendingSyms;
  tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA typeMarker;
  tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA symMarker;
  tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* config;
  };
  struct tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ {
  NU32 module;
  NI32 item;
  };
  struct tyObject_FullId__pfGm9bmVgXcP2kl6OfHhZgQ {
  NI module;
  tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ packed_0;
  };
  struct tyObject_LazyType__Q19c34D32PKyTKlx6R6yODg {
  tyObject_FullId__pfGm9bmVgXcP2kl6OfHhZgQ id;
  tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
  };
  struct tyTuple__l7R9cf53SDCcRmz9aWTyEKqQ {
  NI Field0;
  tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g Field1;
  tySequence__O5RcspOP32YJ4YtU5ppxxA* Field2;
  };
  struct tyObject_LazyInstantiation__rlce0Sj8mBfLfm69c2yVTZg {
  NI module;
  tyObject_FullId__pfGm9bmVgXcP2kl6OfHhZgQ sym;
  tySequence__ipEvhpHAmm8ZCn9bZAOdNYA* concreteTypes;
  tyObject_TInstantiation__5LqgVn6Tq9ainQRK7TQAQxA* inst;
  };
  struct tyTuple__o67sDX0wYbEuhI9cJYAbDtg {
  NI Field0;
  tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g Field1;
  tySequence__Or1y9bNpmj8PM8AcK9c9cg7RA* Field2;
  };
  struct tyTuple__9aNnDWBFMF44sfFinBpMT4Q {
  NI Field0;
  tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g Field1;
  tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* Field2;
  };
  struct tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA {
  tyObject_FullId__pfGm9bmVgXcP2kl6OfHhZgQ id;
  tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym;
  };
  struct tyTuple__VrD6plbUKJjYKM0lCr3hGQ {
  NI Field0;
  tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA Field1;
  };
  struct tyTuple__dT8l9anHpNRgQSBAI9ctQ2wg {
  NI Field0;
  tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g Field1;
  tySequence__159bHWBGAOOs6U7OZ9cQlO0g* Field2;
  };
  struct tyTuple__1ZbjBgxAbnye0IFMZ6w4OA {
  NI Field0;
  tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g Field1;
  tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA Field2;
  };
  struct tyTuple__xYhUhS7X82rKTqbT9bRfCnw {
  NI Field0;
  NimStringDesc* Field1;
  NI32 Field2;
  };
  struct tyTuple__rplX06U9bjhu9asm5pWdgqsA {
  NI Field0;
  tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g Field1;
  tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA Field2;
  };
  struct tyTuple__1mtQ8sCEE7DbfIuQciv9b5Q {
  NI Field0;
  NI32 Field1;
  tySequence__48JTohSgTy339bRxHzUD8KA* Field2;
  };
  struct tyTuple__xDU9bZmv1ZbZkJDaATBekIQ {
  NI Field0;
  NI32 Field1;
  NI32 Field2;
  };
  struct tyTuple__a9bBCAQ2tegdUQVlHYxdJ2A {
  tySequence__eHqUwlHGGaPw0TDPDeL79cQ* Field0;
  tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* Field1;
  };
  struct tyTuple__3i6hlQmqrn6m7tuVN8FHjQ {
  NI Field0;
  tyArray__qtqsWM5aXmcpMIVmvq3kAA Field1;
  tyObject_TType__facALICuu8zUj0hjvbTLFg* Field2;
  };
  struct tyTuple__OJFzEczluV8Jmo9bRpBfkzw {
  NI Field0;
  NI Field1;
  tyArray__qtqsWM5aXmcpMIVmvq3kAA Field2;
  };
  struct tyTuple__2SGm9aGCXuo7XSQ9bqD29axXw {
  NI Field0;
  NimStringDesc* Field1;
  tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* Field2;
  };
  struct tyTuple__F3gkSrMB1qp2Tvf9bixVXwg {
  NI Field0;
  NimStringDesc* Field1;
  NI64 Field2;
  };
  struct tyObject_BTree__VZdzO0Tlflp7WMN4gS8oPg {
  tyObject_NodecolonObjectType___dNELmBSmY7nthjhZupWO6g* root;
  NI entries;
  };
  struct tyTuple__wcNatyuf8WOqAhGLhSvgiw {
  NI Field0;
  NimStringDesc* Field1;
  tyObject_BTree__VZdzO0Tlflp7WMN4gS8oPg Field2;
  };
  typedef N_NIMCALL_PTR(tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w*, tyProc__jkSFMhvPZ1AdGcvT2dK9a2w) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* module, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen);
  typedef N_NIMCALL_PTR(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, tyProc__A7Sdoem70tRxSEmKrf9cmyg) (tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* topLevelStmt);
  typedef N_NIMCALL_PTR(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, tyProc__EAEKmBUgKFg29agoUGtzDEQ) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
  struct tyTuple__4o9cW9aUwdGqgZI9bSHHYnbaQ {
  tyProc__jkSFMhvPZ1AdGcvT2dK9a2w Field0;
  tyProc__A7Sdoem70tRxSEmKrf9cmyg Field1;
  tyProc__EAEKmBUgKFg29agoUGtzDEQ Field2;
  NIM_BOOL Field3;
  };
  struct tyTuple__z822nu9bFF1AlQnLrHjdwpA {
  tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q Field0;
  NimStringDesc* Field1;
  };
  struct tyObject_TFileInfo__GE3hAakXKOEpch4ap3zXAw {
  NimStringDesc* fullPath;
  NimStringDesc* projPath;
  NimStringDesc* shortName;
  tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* quotedName;
  tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* quotedFullName;
  tySequence__sM4lkSb7zS6F7OVMvW9cffQ* lines;
  NimStringDesc* dirtyFile;
  NimStringDesc* hash;
  NIM_BOOL dirty;
  };
  struct tyTuple__QeWl6B6ffS4pU6WWrtcrDw {
  NI Field0;
  NimStringDesc* Field1;
  };
  typedef NU8 tySet_tyEnum_CfileFlag__Vl9c9ayddDuXiWtnWTsEYGsA;
  struct tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg {
  NimStringDesc* nimname;
  NimStringDesc* cname;
  NimStringDesc* obj;
  tySet_tyEnum_CfileFlag__Vl9c9ayddDuXiWtnWTsEYGsA flags;
  NimStringDesc* customArgs;
  };
  struct tyTuple__awOivLjlO76sGdHY7nQUjQ {
  NI Field0;
  NI Field1;
  NimStringDesc* Field2;
  tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* Field3;
  };
  struct tyTuple__0q9cmhneJEKnQERTpXXdz6Q {
  NU32 Field0;
  NimStringDesc* Field1;
  };
  struct tyObject_PackedLineInfo__Q9bbXLBurHo2r5TyF6UBshg {
  NU16 line;
  NI16 col;
  NU32 file;
  };
  struct tyObject_PackedNode__7lDGAZiNp4zbO65GEpoKow {
  tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind;
  tySet_tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg flags;
  NI32 operand;
  tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ typeId_0;
  tyObject_PackedLineInfo__Q9bbXLBurHo2r5TyF6UBshg info;
  };
  struct tyTuple__Izx9aRSX9a0diDXD84jOS9aMQ {
  NU32 Field0;
  NI32 Field1;
  };
  struct tyTuple__Q7r9caOmeWqQGZCIBHhGRUA {
  NU32 Field0;
  tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field1;
  };
  struct tyTuple__7Wlwbz8zSe7Udyf7mmsd9cg {
  tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field0;
  tyObject_PackedLineInfo__Q9bbXLBurHo2r5TyF6UBshg Field1;
  };
  struct tyTuple__XyJ8LOAZzVVXSsmt09b8uWw {
  tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field0;
  tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field1;
  };
  struct tyObject_PackedInstantiation__39cWRURu69agjI9c1ohiUmxiA {
  tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ key;
  tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ sym;
  tySequence__vC9cvg0R8tfBaOXXi3sfMzw* concreteTypes;
  };
  typedef NU8 tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg;
  struct tyTuple__9aoobCDZB4x41HJSOmh0mwA {
  tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg Field0;
  tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field1;
  tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field2;
  };
  struct tyTuple__g0Q6Qx15nK53ce9aLo7YyrA {
  tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field0;
  NI Field1;
  tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field2;
  };
  typedef NU8 tyEnum_TLibKind__9b8v60kso59bBaw9cp8B9a9apKQ;
  struct tyObject_PackedLib__oa01YzfeXO9bbIDH9cIki4Hw {
  tyEnum_TLibKind__9b8v60kso59bBaw9cp8B9a9apKQ kind;
  NIM_BOOL generated;
  NIM_BOOL isOverriden;
  NU32 name;
  NI32 path;
  };
  struct tyObject_PackedSym__XjVn21MwvH8ij6CfopYZWw {
  tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw kind;
  NU32 name;
  tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ typ;
  tySet_tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw flags;
  tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg magic;
  tyObject_PackedLineInfo__Q9bbXLBurHo2r5TyF6UBshg info;
  NI32 ast;
  tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ owner;
  tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ guard;
  NI bitsize;
  NI alignment;
  tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg options;
  NI position;
  NI offset;
  NU32 externalName;
  tySet_tyEnum_TLocFlag__o2bqJgR4ceIupnUSpxiudA locFlags;
  tyObject_PackedLib__oa01YzfeXO9bbIDH9cIki4Hw annex;
  NI32 constraint;
  };
  struct tyObject_PackedType__IhXsK7mrwumUBtEqbZ2BqA {
  tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kind;
  tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA callConv;
  tySet_tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw flags;
  tySequence__vC9cvg0R8tfBaOXXi3sfMzw* types;
  NI32 n;
  tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ sym;
  tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ owner;
  NI64 size;
  NI16 align;
  NI16 paddingAtEnd;
  NI16 lockLevel;
  tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ typeInst;
  NI32 nonUniqueId;
  };
  struct tyTuple__8x6vq4Dc9aLvKX9actMeR9avQ {
  NI Field0;
  tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* Field1;
  tySequence__vC9cvg0R8tfBaOXXi3sfMzw* Field2;
  };
  struct tyTuple__UvldbCB6B9ayi9bGYW7vJNLA {
  NI Field0;
  NI32 Field1;
  NU32 Field2;
  };
  struct tySequence__eHqUwlHGGaPw0TDPDeL79cQ {
    TGenericSeq Sup;
    tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* data[SEQ_DECL_SIZE];
  };
  struct tySequence__8fytVdU59b5aj319cog2ztLw {
    TGenericSeq Sup;
    tyObject_TBlock__46cd0Xw9aDJ1QWTE8nV4mLg data[SEQ_DECL_SIZE];
  };
  struct tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ {
    TGenericSeq Sup;
    tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* data[SEQ_DECL_SIZE];
  };
  struct tySequence__XUL1TrMU0tgXmaMFCIYgFQ {
    TGenericSeq Sup;
    tyTuple__tA7Q8IrfOKH7Mn89cK9cBAIg data[SEQ_DECL_SIZE];
  };
  struct tySequence__4mZLwkxT8rbt9bf3wXrXYNQ {
    TGenericSeq Sup;
    tyObject_Iface__uvkV248cZcsEQKaQm7C9aEA data[SEQ_DECL_SIZE];
  };
  struct tySequence__rQHmYk1HzcwNxKBymIFHpA {
    TGenericSeq Sup;
    tyObject_LoadedModule__14iJKkvOiWT62KF2D8f9c5w data[SEQ_DECL_SIZE];
  };
  struct tySequence__XMM60DtBsc6xYsIpNANkrA {
    TGenericSeq Sup;
    tyObject_PackedEncoder__B9cE9a0GbvqWW9aHf4N7RAaIw data[SEQ_DECL_SIZE];
  };
  struct tySequence__O5RcspOP32YJ4YtU5ppxxA {
    TGenericSeq Sup;
    tyObject_LazyType__Q19c34D32PKyTKlx6R6yODg data[SEQ_DECL_SIZE];
  };
  struct tySequence__ChDZ6dokJ9aj9cg3KBoCU5vg {
    TGenericSeq Sup;
    tyTuple__l7R9cf53SDCcRmz9aWTyEKqQ data[SEQ_DECL_SIZE];
  };
  struct tySequence__Or1y9bNpmj8PM8AcK9c9cg7RA {
    TGenericSeq Sup;
    tyObject_LazyInstantiation__rlce0Sj8mBfLfm69c2yVTZg data[SEQ_DECL_SIZE];
  };
  struct tySequence__mWRMiYLthG9coLjkbElCxkw {
    TGenericSeq Sup;
    tyTuple__o67sDX0wYbEuhI9cJYAbDtg data[SEQ_DECL_SIZE];
  };
  struct tySequence__bTDCDwD2P7TodzbAefLcSw {
    TGenericSeq Sup;
    tyTuple__9aNnDWBFMF44sfFinBpMT4Q data[SEQ_DECL_SIZE];
  };
  struct tySequence__159bHWBGAOOs6U7OZ9cQlO0g {
    TGenericSeq Sup;
    tyTuple__VrD6plbUKJjYKM0lCr3hGQ data[SEQ_DECL_SIZE];
  };
  struct tySequence__3MPVXAHA08SszBrU4ffqEg {
    TGenericSeq Sup;
    tyTuple__dT8l9anHpNRgQSBAI9ctQ2wg data[SEQ_DECL_SIZE];
  };
  struct tySequence__YCf5zJHm4JI06qpmKwPUWg {
    TGenericSeq Sup;
    tyTuple__1ZbjBgxAbnye0IFMZ6w4OA data[SEQ_DECL_SIZE];
  };
  struct tySequence__7lEisrXlQEzwtUKW5pzRCw {
    TGenericSeq Sup;
    tyTuple__xYhUhS7X82rKTqbT9bRfCnw data[SEQ_DECL_SIZE];
  };
  struct tySequence__61s9cbAniKuBrdHwBhMDfQg {
    TGenericSeq Sup;
    tyTuple__rplX06U9bjhu9asm5pWdgqsA data[SEQ_DECL_SIZE];
  };
  struct tySequence__Bre9bNyuQOg1EJKitjSzn8w {
    TGenericSeq Sup;
    tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA* data[SEQ_DECL_SIZE];
  };
  struct tySequence__48JTohSgTy339bRxHzUD8KA {
    TGenericSeq Sup;
    NI32 data[SEQ_DECL_SIZE];
  };
  struct tySequence__fdmz6VkIf1ewwrssKYqRFg {
    TGenericSeq Sup;
    tyTuple__1mtQ8sCEE7DbfIuQciv9b5Q data[SEQ_DECL_SIZE];
  };
  struct tySequence__kxu4GK0onha2t9bo86mdVAg {
    TGenericSeq Sup;
    tyTuple__xDU9bZmv1ZbZkJDaATBekIQ data[SEQ_DECL_SIZE];
  };
  struct tySequence__s9byh6WFJ16lPMcmqdaMTHA {
    TGenericSeq Sup;
    tyTuple__a9bBCAQ2tegdUQVlHYxdJ2A data[SEQ_DECL_SIZE];
  };
  struct tySequence__1U9bG8RcAedEeYkQLZjVFKA {
    TGenericSeq Sup;
    tyTuple__3i6hlQmqrn6m7tuVN8FHjQ data[SEQ_DECL_SIZE];
  };
  struct tySequence__fIB1rTQ55aFonoft9a9bmljQ {
    TGenericSeq Sup;
    tyTuple__OJFzEczluV8Jmo9bRpBfkzw data[SEQ_DECL_SIZE];
  };
  struct tySequence__23SMqauuRsbDANhthj9bWlA {
    TGenericSeq Sup;
    tyTuple__2SGm9aGCXuo7XSQ9bqD29axXw data[SEQ_DECL_SIZE];
  };
  struct tySequence__squ9b9bUH4OLHf6cEMrt6hVA {
    TGenericSeq Sup;
    tyTuple__F3gkSrMB1qp2Tvf9bixVXwg data[SEQ_DECL_SIZE];
  };
  struct tySequence__pHNq3oXj9av2sEUdqaqeZjw {
    TGenericSeq Sup;
    tyTuple__wcNatyuf8WOqAhGLhSvgiw data[SEQ_DECL_SIZE];
  };
  struct tySequence__MAQKEADohlpnXTModtugbQ {
    TGenericSeq Sup;
    tyTuple__4o9cW9aUwdGqgZI9bSHHYnbaQ data[SEQ_DECL_SIZE];
  };
  struct tySequence__tNFrR3kRuS1FSwuiLGoSSA {
    TGenericSeq Sup;
    tyTuple__z822nu9bFF1AlQnLrHjdwpA data[SEQ_DECL_SIZE];
  };
  struct tySequence__Zi9cGbCWofbtABoHJ5RbLNQ {
    TGenericSeq Sup;
    tyObject_TFileInfo__GE3hAakXKOEpch4ap3zXAw data[SEQ_DECL_SIZE];
  };
  struct tySequence__4eRCaZmrYLLw2k30GPTiMw {
    TGenericSeq Sup;
    tyTuple__QeWl6B6ffS4pU6WWrtcrDw data[SEQ_DECL_SIZE];
  };
  struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ {
    TGenericSeq Sup;
    NimStringDesc* data[SEQ_DECL_SIZE];
  };
  struct tySequence__pK3qSsBZwdXd6qyUMkd5Jw {
    TGenericSeq Sup;
    tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg data[SEQ_DECL_SIZE];
  };
  struct tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A {
    TGenericSeq Sup;
    tyObject_TType__facALICuu8zUj0hjvbTLFg* data[SEQ_DECL_SIZE];
  };
  struct tySequence__MlAD6nAPq9bHKla9cWiIZP0g {
    TGenericSeq Sup;
    tyTuple__awOivLjlO76sGdHY7nQUjQ data[SEQ_DECL_SIZE];
  };
  struct tySequence__oLpBKXzW3hF9aCVMo5EymfQ {
    TGenericSeq Sup;
    tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* data[SEQ_DECL_SIZE];
  };
  struct tySequence__vv5mGmK03BCr5e3LTZA5Hw {
    TGenericSeq Sup;
    tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA data[SEQ_DECL_SIZE];
  };
  struct tySequence__PXIzfWocnrafGz5p3CP5LA {
    TGenericSeq Sup;
    tyTuple__0q9cmhneJEKnQERTpXXdz6Q data[SEQ_DECL_SIZE];
  };
  struct tySequence__9bAGqSvkAaFL9bWjsEPslrFA {
    TGenericSeq Sup;
    NU32 data[SEQ_DECL_SIZE];
  };
  struct tySequence__29bS0n2QNyO1R7e0qMMOvLA {
    TGenericSeq Sup;
    tyObject_PackedNode__7lDGAZiNp4zbO65GEpoKow data[SEQ_DECL_SIZE];
  };
  struct tySequence__b89aLriiJnVTD186H6zNIgg {
    TGenericSeq Sup;
    tyTuple__Izx9aRSX9a0diDXD84jOS9aMQ data[SEQ_DECL_SIZE];
  };
  struct tySequence__REuPuHuSlOkZ0Q5oqzDrQg {
    TGenericSeq Sup;
    tyTuple__Q7r9caOmeWqQGZCIBHhGRUA data[SEQ_DECL_SIZE];
  };
  struct tySequence__I9aQmO9asXXWJ58UI9c8BCSzA {
    TGenericSeq Sup;
    tyTuple__7Wlwbz8zSe7Udyf7mmsd9cg data[SEQ_DECL_SIZE];
  };
  struct tySequence__NyaOkf8ZwxP6rkRF5TOkew {
    TGenericSeq Sup;
    tyTuple__XyJ8LOAZzVVXSsmt09b8uWw data[SEQ_DECL_SIZE];
  };
  struct tySequence__L9bOt8CaTEmIjgtuZvp6syg {
    TGenericSeq Sup;
    tyObject_PackedInstantiation__39cWRURu69agjI9c1ohiUmxiA data[SEQ_DECL_SIZE];
  };
  struct tySequence__im8UB2GsZvUaQ4a1wKGWhQ {
    TGenericSeq Sup;
    tyTuple__9aoobCDZB4x41HJSOmh0mwA data[SEQ_DECL_SIZE];
  };
  struct tySequence__xxnXDLpoqBo8zJzP9b1073g {
    TGenericSeq Sup;
    tyTuple__g0Q6Qx15nK53ce9aLo7YyrA data[SEQ_DECL_SIZE];
  };
  struct tySequence__DfmUmNgVGnYaiV1I6227tw {
    TGenericSeq Sup;
    tyObject_PackedSym__XjVn21MwvH8ij6CfopYZWw data[SEQ_DECL_SIZE];
  };
  struct tySequence__t8Uv4lEJ4lkuECvP9c6JMhA {
    TGenericSeq Sup;
    tyObject_PackedType__IhXsK7mrwumUBtEqbZ2BqA data[SEQ_DECL_SIZE];
  };
  struct tySequence__IHUFRsFxZNv7YydiUO2esQ {
    TGenericSeq Sup;
    NI64 data[SEQ_DECL_SIZE];
  };
  struct tySequence__vC9cvg0R8tfBaOXXi3sfMzw {
    TGenericSeq Sup;
    tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ data[SEQ_DECL_SIZE];
  };
  struct tySequence__9bT7o0CflHuiE4VhmtqBPCw {
    TGenericSeq Sup;
    tyTuple__8x6vq4Dc9aLvKX9actMeR9avQ data[SEQ_DECL_SIZE];
  };
  struct tySequence__9cnx3zXnWzeclW8Ko4oUgAQ {
    TGenericSeq Sup;
    tyTuple__UvldbCB6B9ayi9bGYW7vJNLA data[SEQ_DECL_SIZE];
  };
  struct tySequence__ipEvhpHAmm8ZCn9bZAOdNYA {
    TGenericSeq Sup;
    tyObject_FullId__pfGm9bmVgXcP2kl6OfHhZgQ data[SEQ_DECL_SIZE];
  };
  N_LIB_PRIVATE N_NIMCALL(tyObject_TJSGen__qij68Ti2EwJQHH6sSdkSdw*, newModule__jsgen_6499)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* module);
  N_LIB_PRIVATE N_NIMCALL(void, nimGCvisit)(void* d, NI op);
  static N_NIMCALL(void, Marker_tyRef__O09bHTFgtn9cJLLJxiNhuKUA)(void* p, NI op);
  N_LIB_PRIVATE N_NOINLINE(void*, newObj)(TNimType* typ, NI size);
  static N_INLINE(void, asgnRef)(void** dest, void* src);
  static N_INLINE(void, incRef__system_5308)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
  static N_INLINE(NI, pluspercent___system_696)(NI x, NI y);
  static N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*, usrToCell__system_5270)(void* usr);
  static N_INLINE(NI, minuspercent___system_716)(NI x, NI y);
  static N_INLINE(void, decRef__system_5315)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
  static N_INLINE(NIM_BOOL, ltpercent___system_1005)(NI x, NI y);
  static N_INLINE(void, rtlAddZCT__system_5313)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
  N_LIB_PRIVATE N_NOINLINE(void, addZCT__system_5264)(tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w* s, tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
  N_LIB_PRIVATE N_NIMCALL(void, initCountTable__cgen_28210)(NI initialSize, tyObject_CountTable__tUMxxU9cRgLolsrW9b7IBGsQ* Result);
  N_LIB_PRIVATE N_NIMCALL(tyObject_PGlobalscolonObjectType___nWsHZg3qCUsABoCNYLliag*, newGlobals__jsgen_141)(void);
  static N_NIMCALL(void, Marker_tyRef__Q8XTeJJ39cPFyNvJXj9bmcMQ)(void* p, NI op);
  static N_INLINE(void, nimGCunrefRC1)(void* p);
  static N_INLINE(void, initIntSet__pureZcollectionsZintsets_238)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* Result);
  N_LIB_PRIVATE N_NIMCALL(void, initPackedSet__pureZcollectionsZintsets_16)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* Result);
  static N_INLINE(NIM_BOOL, skipCodegen__passes_49)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* config, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
  N_LIB_PRIVATE N_NIMCALL(void, internalErrorImpl__msgs_1431)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, NimStringDesc* errMsg, tyTuple__kN8up2W6YKc5YA9avn5mV5w info2);
  N_LIB_PRIVATE N_NIMCALL(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q*, newInitProc__jsgen_244)(tyObject_PGlobalscolonObjectType___nWsHZg3qCUsABoCNYLliag* globals, tyObject_TJSGen__qij68Ti2EwJQHH6sSdkSdw* module);
  N_LIB_PRIVATE N_NIMCALL(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q*, newProc__jsgen_200)(tyObject_PGlobalscolonObjectType___nWsHZg3qCUsABoCNYLliag* globals, tyObject_TJSGen__qij68Ti2EwJQHH6sSdkSdw* module, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* procDef, tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg options);
  static N_NIMCALL(void, Marker_tySequence__8fytVdU59b5aj319cog2ztLw)(void* p, NI op);
  static N_NIMCALL(void, Marker_tyRef__OFWibP8T8afo89apFNGZiwA)(void* p, NI op);
  N_LIB_PRIVATE N_NIMCALL(tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg, initProcOptions__jsgen_237)(tyObject_TJSGen__qij68Ti2EwJQHH6sSdkSdw* module);
  static N_INLINE(void, nimZeroMem)(void* p, NI size);
  static N_INLINE(void, nimSetMem__systemZmemory_7)(void* a, int v, NI size);
  N_LIB_PRIVATE N_NIMCALL(void, genModule__jsgen_6560)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
  N_LIB_PRIVATE N_NIMCALL(void, add__ropes_159)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** a, tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* b);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, frameCreate__jsgen_5821)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* procname, tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* filename);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, indentLine__jsgen_97)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* r);
  N_LIB_PRIVATE N_NIMCALL(void, prepend__ropes_265)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** a, tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* b);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, rope__ropes_109)(NimStringDesc* s);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_5827)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, runtimeFormat__ropes_271)(NimStringDesc* frmt, tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_5832)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, makeJSString__jsgen_378)(NimStringDesc* s, NIM_BOOL escapeNonAscii);
  N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nsuEscape)(NimStringDesc* s, NimStringDesc* prefix, NimStringDesc* suffix);
  N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, escapeJSString__jsgen_370)(NimStringDesc* s);
  N_NIMCALL(NimStringDesc*, rawNewString)(NI cap);
  static N_INLINE(void, appendString)(NimStringDesc* dest, NimStringDesc* src);
  static N_INLINE(void, copyMem__system_1727)(void* dest, void* source, NI size);
  static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size);
  N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, resizeString)(NimStringDesc* dest, NI addlen);
  N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, addChar)(NimStringDesc* s, NIM_CHAR c);
  N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, toFilenameOption__msgs_590)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, NI32 fileIdx, tyEnum_FilenameOption__eL86bAtPxXWHj24F5gOMFQ opt);
  N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, transformStmt__transf_1873)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* module, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
  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);
  N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hcrOn__options_569)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, amp___ropes_128)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* a, tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* b);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, amp___ropes_140)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* a, NimStringDesc* b);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, idOrSig__sighashes_2057)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, NimStringDesc* currentModule, tyObject_CountTable__tUMxxU9cRgLolsrW9b7IBGsQ* sigCollisions);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_851)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(void, addHcrInitGuards__jsgen_6528)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* moduleLoadedVar, NIM_BOOL* inInitGuard);
  static N_INLINE(NI, safeLen__ast_3191)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
  static N_INLINE(NI, len__ast_3198)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_6551)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(void, genStmt__jsgen_770)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
  N_LIB_PRIVATE N_NIMCALL(void, gen__jsgen_766)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w* r);
  N_LIB_PRIVATE N_NIMCALL(void, unsureAsgnRef)(void** dest, void* src);
  N_LIB_PRIVATE N_NIMCALL(void, genSym__jsgen_3308)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w* r);
  N_LIB_PRIVATE N_NIMCALL(void, genVarInit__jsgen_3304)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* v, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, mangleName__jsgen_308)(tyObject_TJSGen__qij68Ti2EwJQHH6sSdkSdw* m, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
  N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, validJsName__jsgen_312)(NimStringDesc* name);
  static N_INLINE(NIM_BOOL, eqStrings)(NimStringDesc* a, NimStringDesc* b);
  static N_INLINE(NIM_BOOL, equalMem__system_1735)(void* a, void* b, NI size);
  static N_INLINE(int, nimCmpMem)(void* a, void* b, NI size);
  N_LIB_PRIVATE N_NIMCALL(NI, hashString)(NimStringDesc* s);
  N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, mangle__ccgutils_112)(NimStringDesc* name);
  N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, toHex__pureZstrutils_1792)(NI x, NI len);
  N_LIB_PRIVATE N_NIMCALL(void, add__ropes_162)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** a, NimStringDesc* b);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, rope__ropes_115)(NI64 i);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_4072)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar___ropes_250)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* r);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_4081)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, copyString)(NimStringDesc* src);
  N_LIB_PRIVATE N_NIMCALL(tyEnum_TJSTypeKind__9aFSCXgaSEq2m81RJRMKDeA, mapType__jsgen_304)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ);
  N_LIB_PRIVATE N_NIMCALL(tyEnum_TJSTypeKind__9aFSCXgaSEq2m81RJRMKDeA, mapType__jsgen_277)(tyObject_TType__facALICuu8zUj0hjvbTLFg* typ);
  N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, skipTypes__ast_3735)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kinds);
  N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, lastSon__ast_3743)(tyObject_TType__facALICuu8zUj0hjvbTLFg* n);
  N_LIB_PRIVATE N_NIMCALL(void, failedAssertImpl__systemZassertions_56)(NimStringDesc* msg);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_4124)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_4129)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_1262)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, createVar__jsgen_3791)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ, NIM_BOOL indirect);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, putToSeq__jsgen_3782)(NimStringDesc* s, NIM_BOOL indirect);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_3786)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(NI, toInt__int495056_170)(tyObject_Int128__9a9axPfb75jdWY25AamJewkA arg);
  N_LIB_PRIVATE N_NIMCALL(tyObject_Int128__9a9axPfb75jdWY25AamJewkA, lengthOrd__types_1652)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
  N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, elemType__types_263)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
  N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, arrayTypeForElemType__jsgen_3959)(tyObject_TType__facALICuu8zUj0hjvbTLFg* typ);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_3974)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(void, useMagic__jsgen_779)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, NimStringDesc* name);
  N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, getCompilerProc__magicsys_145)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, NimStringDesc* name);
  static N_INLINE(NimStringDesc*, toFileLineCol__msgs_615)(tyTuple__kN8up2W6YKc5YA9avn5mV5w info);
  static N_INLINE(void, addInt__stdZprivateZdigitsutils_189)(NimStringDesc** result, NI x);
  N_LIB_PRIVATE N_NIMCALL(void, addInt__stdZprivateZdigitsutils_167)(NimStringDesc** result, NI64 x);
  N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, containsOrIncl__astalgo_402)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* s, NI key);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, genProc__jsgen_773)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* oldProc, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* prc);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, generateHeader__jsgen_2418)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ);
  static N_INLINE(NIM_BOOL, isCompileTimeOnly__types_3519)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_5921)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_5926)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_5954)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_5964)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_5969)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, transformBody__transf_16)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* prc, NIM_BOOL cache);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, lineDir__jsgen_1808)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* config, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, NI line);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_1813)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, toFullPath__msgs_538)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, NI32 fileIdx);
  static N_INLINE(NI, toLinenumber__msgs_609)(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, optionalLine__jsgen_5862)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* p);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, genProcBody__jsgen_5840)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* prc);
  N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasFrameInfo__jsgen_1789)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p);
  static N_INLINE(void, appendChar)(NimStringDesc* dest, NIM_CHAR c);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_5844)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_2287)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_5857)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, frameDestroy__jsgen_5837)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_6000)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_6005)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___cgen_7505)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  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);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_3979)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, genTypeInfo__jsgen_385)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_689)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_719)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_505)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_543)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(void, genEnumInfo__jsgen_606)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ, tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* name);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_631)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_645)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_528)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(void, genObjectInfo__jsgen_497)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ, tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* name);
  static N_INLINE(NIM_BOOL, objHasTypeField__jsgen_485)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_517)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, genObjectFields__jsgen_388)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_413)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_418)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_462)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, rope__jsgen_382)(tyObject_Int128__9a9axPfb75jdWY25AamJewkA arg);
  N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar___int495056_53)(tyObject_Int128__9a9axPfb75jdWY25AamJewkA a);
  N_LIB_PRIVATE N_NIMCALL(tyObject_Int128__9a9axPfb75jdWY25AamJewkA, getOrdValue__types_161)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_Int128__9a9axPfb75jdWY25AamJewkA onError);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_475)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, lastSon__ast_4832)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_480)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(void, genTupleInfo__jsgen_574)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ, tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* name);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, genTupleFields__jsgen_548)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ);
  static N_INLINE(NI, len__ast_4002)(tyObject_TType__facALICuu8zUj0hjvbTLFg* n);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_562)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, reprEnum)(NI e, TNimType* typ);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_4002)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(void, createObjInitList__jsgen_3943)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ, tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* excludedFieldIDs, tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** output);
  N_LIB_PRIVATE N_NIMCALL(NI, len__ropes_10)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* a);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_3949)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(void, createRecordVarAux__jsgen_3795)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* rec, tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* excludedFieldIDs, tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** output);
  static N_INLINE(NIM_BOOL, isEmptyType__ast_4779)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
  N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, contains__astalgo_3496)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* s, NI key);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_3938)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_4012)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, needsNoCopy__jsgen_2483)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* y);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_4160)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, getTemp__jsgen_838)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, NIM_BOOL defineInLocals);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_846)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_4213)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newNodeI__ast_3356)(tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
  N_LIB_PRIVATE N_NIMCALL(void, genCopyForParamIfNeeded__jsgen_3260)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_3298)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_3364)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_3369)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_2827)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_2822)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(void, genConstant__jsgen_776)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* c);
  static N_INLINE(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, getBody__modulegraphs_11241)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
  N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, loadProcBody__icZic_8390)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* config, tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw* cache, tySequence__rQHmYk1HzcwNxKBymIFHpA** g, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
  N_LIB_PRIVATE N_NIMCALL(TGenericSeq*, incrSeqV3)(TGenericSeq* s, TNimType* typ);
  N_LIB_PRIVATE N_NIMCALL(void, genProcForSymIfNeeded__jsgen_3222)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
  N_LIB_PRIVATE N_NIMCALL(void, attachProc__jsgen_3214)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* content, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_6385)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(tyEnum_FloatClass__pPga1yW9b8J9cwNnm9b1aPRnA, classify__pureZmath_147)(NF x);
  static N_INLINE(NIM_BOOL, signbit__astalgo_926)(NF x);
  N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, toStrMaxPrecision__astalgo_920)(NF f);
  N_LIB_PRIVATE N_NIMCALL(void, genLineDir__jsgen_1818)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___cgen_19262)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_1834)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(void, genMagic__jsgen_4598)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w* r);
  N_LIB_PRIVATE N_NIMCALL(void, genOr__jsgen_903)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b, tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w* r);
  N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isSimpleExpr__jsgen_821)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
  static N_INLINE(NIM_BOOL, isAtom__ast_4768)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_917)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  static N_INLINE(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, rdLoc__jsgen_188)(tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w a);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___cgen_6775)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_922)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_885)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(void, genAnd__jsgen_856)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b, tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w* r);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_871)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_876)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(void, arith__jsgen_1716)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w* r, tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg op);
  N_LIB_PRIVATE N_NIMCALL(void, binaryUintExpr__jsgen_1721)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w* r, NimStringDesc* op);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, unsignedTrimmerJS__jsgen_1101)(NI64 size);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_1734)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_1761)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(void, arithAux__jsgen_1135)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w* r, tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg op);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_1163)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_1168)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_1173)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_1178)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_1183)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_1188)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_1193)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_1198)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_1203)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_1208)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_1253)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_1272)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_1281)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_1291)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_1300)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_1309)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_1318)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_1327)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_1336)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_1345)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_1386)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___cgen_19065)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___cgen_19070)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___cgen_19075)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___cgen_19153)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_1579)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___cgen_18935)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_1588)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_1597)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_1602)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___cgen_19257)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_1615)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_1624)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_1649)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_1658)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_1667)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_1684)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_1770)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_1784)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(void, genRepr__jsgen_4500)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w* r);
  N_LIB_PRIVATE N_NIMCALL(void, genReprAux__jsgen_4482)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w* r, NimStringDesc* magic, tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* typ);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___cgen_11991)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(void, genSwap__jsgen_2717)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_2739)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_2744)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_4625)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(void, maybeMakeTemp__jsgen_964)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w x, tyTuple__nsNHL3sm0TZE9bootw2pEXw* Result);
  N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, needsTemp__jsgen_951)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_985)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_993)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_4642)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_4650)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_4669)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_4681)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(void, genConStrStr__jsgen_4413)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w* r);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_4424)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_4429)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_4448)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_4453)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_4472)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_4477)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_4704)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_4723)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_4742)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, contains__pureZstrutils_1631)(NimStringDesc* s, NimStringDesc* sub);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_4759)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_4766)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(void, genNew__jsgen_4346)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_1950)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_4366)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_4371)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(void, genJSArrayConstr__jsgen_4569)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w* r);
  N_LIB_PRIVATE N_NIMCALL(void, genOrd__jsgen_4391)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w* r);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_4408)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_4794)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_4799)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_4814)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_4819)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(void, binaryUintExpr__jsgen_4829)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w* r, NimStringDesc* op);
  N_LIB_PRIVATE N_NIMCALL(void, maybeMakeTempAssignable__jsgen_1002)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w x, tyTuple__nsNHL3sm0TZE9bootw2pEXw* Result);
  N_LIB_PRIVATE N_NIMCALL(tyObject_Int128__9a9axPfb75jdWY25AamJewkA, firstOrd__types_1353)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
  N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, eqeq___int495056_759)(tyObject_Int128__9a9axPfb75jdWY25AamJewkA a, NI64 b);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_1056)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_1061)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_1066)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_4845)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_4868)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_4889)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_4924)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_4945)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_4964)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_4982)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_4994)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_5013)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_5032)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_5051)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_5070)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_5089)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_5108)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_5127)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_5146)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_5165)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(void, genNewSeq__jsgen_4376)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_4386)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_5177)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(void, genOf__jsgen_4506)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w* r);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_4522)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_4527)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(void, genDefault__jsgen_4532)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w* r);
  N_LIB_PRIVATE N_NIMCALL(void, genReset__jsgen_4536)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_4545)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_4554)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(void, genEcho__jsgen_3758)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w* r);
  N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, skipConv__types_3588)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
  N_LIB_PRIVATE N_NIMCALL(void, genArgNoParam__jsgen_3485)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w* r);
  N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nsuFormatSingleElem)(NimStringDesc* formatstr, NimStringDesc* a);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_5190)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_5202)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(void, genCall__jsgen_3735)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w* r);
  N_LIB_PRIVATE N_NIMCALL(void, genArgs__jsgen_3551)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w* r, NI start);
  N_LIB_PRIVATE N_NIMCALL(void, genArg__jsgen_3494)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* param, tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w* r, NI* emitted);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_3538)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_2817)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_5214)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(void, genMove__jsgen_4559)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w* r);
  N_LIB_PRIVATE N_NIMCALL(void, genInfixCall__jsgen_3688)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w* r);
  N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, contains__pureZstrutils_1635)(NimStringDesc* s, tySet_tyChar__nmiMWKVIe46vacnhAFrQvw chars);
  N_LIB_PRIVATE N_NIMCALL(void, genPatternCall__jsgen_3641)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NimStringDesc* pat, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ, tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w* r);
  N_LIB_PRIVATE N_NIMCALL(void, genOtherArg__jsgen_3606)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI i, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ, NI* generated, tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w* r);
  N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar___systemZdollars_3)(NI x);
  N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, substr__system_7743)(NimStringDesc* s, NI first, NI last);
  N_LIB_PRIVATE N_NIMCALL(void, genSetConstr__jsgen_5219)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w* r);
  N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isDeepConstExpr__trees_171)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NIM_BOOL preventInheritance);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_2940)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(void, genArrayConstr__jsgen_5263)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w* r);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_5275)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(void, genTupleConstr__jsgen_5289)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w* r);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_5314)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_5323)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(void, genObjConstr__jsgen_5328)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w* r);
  N_LIB_PRIVATE N_NIMCALL(void, incl__pureZcollectionsZintsets_55)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* s, NI key);
  N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, lookupFieldAgain__types_4053)(tyObject_TType__facALICuu8zUj0hjvbTLFg* ty, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* field);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_5414)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_5423)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_5433)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(void, genConv__jsgen_5438)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w* r);
  static N_INLINE(NIM_BOOL, contains__semfold_938)(tyObject_HSlice__HjDAjiFsTWGmlZ9cd8nEusA s, tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag value);
  static N_INLINE(tyObject_HSlice__HjDAjiFsTWGmlZ9cd8nEusA, dotdot___semfold_916)(tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag a, tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag b);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_5711)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_5720)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_5725)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(void, genAddr__jsgen_2875)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w* r);
  N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar___jsgen_3124)(tyTuple__Fb1Z8PVtzpSjrvQ67oA88w x);
  N_LIB_PRIVATE N_NIMCALL(void, addQuoted__pureZos_440)(NimStringDesc** s, NimStringDesc* x);
  N_LIB_PRIVATE N_NIMCALL(void, addQuoted__jsgen_3158)(NimStringDesc** s, tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw x);
  N_LIB_PRIVATE N_NIMCALL(void, genCheckedFieldOp__jsgen_2879)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TType__facALICuu8zUj0hjvbTLFg* addrTyp, tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w* r);
  N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, genFieldDefect__astmsgs_61)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, NimStringDesc* field, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* disc);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_2956)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_2946)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_2951)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___cgen_7439)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(void, genFieldAddr__jsgen_2753)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w* r);
  N_LIB_PRIVATE N_NIMCALL(NI, getFieldPosition__jsgen_2749)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* f);
  N_LIB_PRIVATE N_NIMCALL(void, genFieldAccess__jsgen_2791)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w* r);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___cgen_13309)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(void, genArrayAddr__jsgen_2973)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w* r);
  N_LIB_PRIVATE N_NIMCALL(void, genDeref__jsgen_3452)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w* r);
  N_LIB_PRIVATE N_NIMCALL(void, genArrayAccess__jsgen_3014)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w* r);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_3038)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(void, upConv__jsgen_5730)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w* r);
  N_LIB_PRIVATE N_NIMCALL(void, genCast__jsgen_6047)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w* r);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_6324)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_6331)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_6348)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(void, genRangeChck__jsgen_5735)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w* r, NimStringDesc* magic);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_5757)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(void, convStrToCStr__jsgen_5762)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w* r);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_5778)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(void, convCStrToStr__jsgen_5783)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w* r);
  N_LIB_PRIVATE N_NIMCALL(void, genBlock__jsgen_2248)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w* r);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_2273)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(TGenericSeq*, setLengthSeqV2)(TGenericSeq* s, TNimType* typ, NI newLen);
  N_LIB_PRIVATE N_NIMCALL(void, genIf__jsgen_2358)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w* r);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_2012)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_2395)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(void, moveInto__jsgen_1938)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w* src, tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w dest);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___cgen_7770)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nsuRepeatChar)(NIM_CHAR c, NI count);
  N_LIB_PRIVATE N_NIMCALL(void, genWhileStmt__jsgen_1839)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
  static N_INLINE(tyObject_TBlock__46cd0Xw9aDJ1QWTE8nV4mLg*, X5BX5D___jsgen_1858)(tyObject_TBlock__46cd0Xw9aDJ1QWTE8nV4mLg* s, NI sLen_0, NI i);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_1881)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_1895)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(void, genVarStmt__jsgen_4260)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
  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);
  N_LIB_PRIVATE N_NIMCALL(void, genCaseJS__jsgen_2140)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w* r);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_2154)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___cgen_13684)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, copyNode__ast_4336)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* src);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___cgen_15312)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___cgen_7416)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_2226)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(void, genReturnStmt__jsgen_5803)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_5816)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(void, genBreakStmt__jsgen_2292)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_2325)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(void, genAsgn__jsgen_2701)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
  N_LIB_PRIVATE N_NIMCALL(void, genAsgnAux__jsgen_2511)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* y, NIM_BOOL noCopyNeeded);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_2539)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_2561)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_2566)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_2584)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_2593)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_2610)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar___jsgen_2635)(tyTuple__QVkyTCL0msoEdWvhK6TYrw x);
  N_LIB_PRIVATE N_NIMCALL(void, addQuoted__jsgen_2669)(NimStringDesc** s, tyEnum_TJSTypeKind__9aFSCXgaSEq2m81RJRMKDeA x);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_2692)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(void, genFastAsgn__jsgen_2706)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, amp___ropes_144)(NimStringDesc* a, tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* b);
  N_LIB_PRIVATE N_NIMCALL(void, genAsmOrEmitStmt__jsgen_2330)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
  N_LIB_PRIVATE N_NIMCALL(void, genTry__jsgen_1959)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w* r);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_1982)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_1990)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_1995)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isInfixAs__ast_4935)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
  N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isImportedException__ast_4904)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_2057)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_2062)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_2067)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_2076)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_2095)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(void, genRaiseStmt__jsgen_2123)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_2135)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(void, genPragma__jsgen_6039)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
  N_LIB_PRIVATE N_NIMCALL(tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw, whichPragma__trees_244)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___cgen_13931)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_6587)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
  N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, myProcess__jsgen_6596)(tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w* b, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
  N_LIB_PRIVATE N_NIMCALL(void, add__ast_4797)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* father, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* son);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, genHeader__jsgen_6526)(void);
  N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nsuFormatVarargs)(NimStringDesc* formatstr, NimStringDesc** a, NI aLen_0);
  N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nsuUnindent)(NimStringDesc* s, NI count, NimStringDesc* padding);
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, wholeCode__jsgen_6607)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TJSGen__qij68Ti2EwJQHH6sSdkSdw* m);
  N_LIB_PRIVATE N_NIMCALL(void, attachProc__jsgen_3218)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
  N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, generateMethodDispatchers__cgmeth_546)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g);
  N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, prepareToWriteOutput__options_4058)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf);
  N_LIB_PRIVATE N_NIMCALL(void, genSourceMap__sourcemap_896)(NimStringDesc* source, NimStringDesc* outFile, tyTuple__wb7Ftwo1Ba9cOF5RERh5YIg* Result);
  N_LIB_PRIVATE N_NIMCALL(void, writeFile__systemZio_476)(NimStringDesc* filename, NimStringDesc* content);
  N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar___pureZjson_4465)(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* node);
  N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*, percent___jsgen_6732)(tyObject_SourceMapcolonObjectType___m1S8ZVbfoQLk0xvz8tc6ww* o);
  N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*, newJNull__pureZjson_90)(void);
  N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*, percent___jsgen_6739)(tyObject_SourceMapcolonObjectType___m1S8ZVbfoQLk0xvz8tc6ww o);
  N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*, newJObject__pureZjson_92)(void);
  static N_INLINE(void, X5BX5Deq___pureZjson_1923)(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* obj, NimStringDesc* key, tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* val);
  N_LIB_PRIVATE N_NIMCALL(void, X5BX5Deq___pureZjson_287)(tyObject_OrderedTable__ZZvSdVkA2s2sIyifu4cpkg* t, NimStringDesc* key, tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* val);
  N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*, percent___pureZjson_1800)(NI n);
  N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*, percent___jsgen_6746)(NimStringDesc** elements, NI elementsLen_0);
  N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*, newJArray__pureZjson_123)(void);
  N_LIB_PRIVATE N_NIMCALL(void, add__pureZjson_222)(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* father, tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* child);
  N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*, percent___pureZjson_1790)(NimStringDesc* s);
  N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, writeRopeIfNotEqual__ropes_458)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* r, NimStringDesc* filename);
  extern TNimType NTItpasscontext__Hb6rFM0ecvtlLf2kv9aU75w_;
  N_LIB_PRIVATE TNimType NTItjsgen__qij68Ti2EwJQHH6sSdkSdw_;
  extern TNimType NTIpsym__dG2QVH5Z69aMUY38zTqWxaA_;
  extern TNimType NTImodulegraph__KfdHSsl8vyUCSI9b3inBcww_;
  extern TNimType NTIconfigref__a8lycfSA25OQltN3OMeBsA_;
  extern TNimType NTIcounttable__tUMxxU9cRgLolsrW9b7IBGsQ_;
  N_LIB_PRIVATE TNimType NTIbmodule__O09bHTFgtn9cJLLJxiNhuKUA_;
  extern TNimType NTIrootobj__ytyiCJqK439aF9cIibuRVpAg_;
  N_LIB_PRIVATE TNimType NTIpglobals58objecttype__nWsHZg3qCUsABoCNYLliag_;
  extern TNimType NTIrope__4hi0XQqK9aLiPuWT9acsXm9aQ_;
  extern TNimType NTIseqLpsymT__eHqUwlHGGaPw0TDPDeL79cQ_;
  extern TNimType NTIpackedset__IhxwDBRi51nGrosBGFKcsA_;
  extern TNimType NTIint__rR5Bzr1D5krxoo1NcNyeMA_;
  extern TNimType NTIbool__VaVACK0bpYmqIQ0mKcHfQQ_;
  N_LIB_PRIVATE TNimType NTIpglobals__Q8XTeJJ39cPFyNvJXj9bmcMQ_;
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_4, "myProcess", 9);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_6, "/home/runner/work/nightlies/nightlies/nim/compiler/jsgen.nim", 60);
  static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__BxLwT0mhrtgTPodf1v3xjg_5 = {((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_6),
  ((NI) 2714),
  ((NI) 35)}
  ;
  N_LIB_PRIVATE TNimType NTItproc__AFoo8FBR6Z1RtIhjuHkU2Q_;
  extern TNimType NTIpnode__fKfcLzXYiz5jNu3NH3Tv8Q_;
  extern TNimType NTItoptions__7MnKRybmCNh5j9bDRLMkxLw_;
  N_LIB_PRIVATE TNimType NTItblock__46cd0Xw9aDJ1QWTE8nV4mLg_;
  N_LIB_PRIVATE TNimType NTIseqLtblockT__8fytVdU59b5aj319cog2ztLw_;
  N_LIB_PRIVATE TNimType NTIpproc__OFWibP8T8afo89apFNGZiwA_;
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_9, "  ", 2);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_10, "var F = {procname: $1, prev: framePtr, filename: $2, line: 0};$n", 64);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_11, "framePtr = F;$n", 15);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_12, "\"", 1);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_13, "\\n", 2);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_14, "\\r", 2);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_15, "\\t", 2);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_16, "\\b", 2);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_17, "\\a", 2);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_18, "\\e", 2);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_19, "\\v", 2);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_20, "\\\\", 2);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_21, "\\\"", 2);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_22, "module ", 7);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_23, "_loaded", 7);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_24, "var $1;$n", 9);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_25, "}\012", 2);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_26, "if ($1 == undefined) {$n", 24);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_27, "symbol has no generated name: ", 30);
  static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__BxLwT0mhrtgTPodf1v3xjg_28 = {((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_6),
  ((NI) 1399),
  ((NI) 19)}
  ;
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_29, "abstract", 8);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_30, "await", 5);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_31, "boolean", 7);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_32, "break", 5);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_33, "byte", 4);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_34, "case", 4);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_35, "catch", 5);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_36, "char", 4);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_37, "class", 5);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_38, "const", 5);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_39, "continue", 8);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_40, "debugger", 8);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_41, "default", 7);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_42, "delete", 6);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_43, "do", 2);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_44, "double", 6);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_45, "else", 4);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_46, "enum", 4);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_47, "export", 6);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_48, "extends", 7);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_49, "false", 5);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_50, "final", 5);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_51, "finally", 7);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_52, "float", 5);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_53, "for", 3);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_54, "function", 8);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_55, "goto", 4);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_56, "if", 2);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_57, "implements", 10);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_58, "import", 6);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_59, "in", 2);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_60, "instanceof", 10);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_61, "int", 3);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_62, "interface", 9);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_63, "let", 3);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_64, "long", 4);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_65, "native", 6);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_66, "new", 3);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_67, "null", 4);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_68, "package", 7);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_69, "private", 7);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_70, "protected", 9);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_71, "public", 6);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_72, "return", 6);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_73, "short", 5);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_74, "static", 6);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_75, "super", 5);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_76, "switch", 6);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_77, "synchronized", 12);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_78, "this", 4);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_79, "throw", 5);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_80, "throws", 6);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_81, "transient", 9);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_82, "true", 4);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_83, "try", 3);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_84, "typeof", 6);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_85, "var", 3);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_86, "void", 4);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_87, "volatile", 8);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_88, "while", 5);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_89, "with", 4);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_90, "yield", 5);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_91, "HEX", 3);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_92, "_", 1);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_93, "if ($1 === undefined) {$n", 25);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_94, "if (globalThis.$1 === undefined) {$n", 36);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_95, "globalThis.", 11);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_96, "var $2", 6);
  static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__BxLwT0mhrtgTPodf1v3xjg_97 = {
  0x10, 0xa9, 0x00, 0x00, 0x00, 0x60, 0x80, 0x00,
  0x00}
  ;
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_98, "jsgen.nim(212, 38) `false` ", 27);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_99, "var $1 = null;$n", 16);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_100, "var $1_Idx = 0;$n", 17);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_101, " = $3;$n", 8);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_102, "bigint", 6);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_103, "[$1]", 4);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_104, "0n", 2);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_105, "0", 1);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_106, "0.0", 3);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_107, "{}", 2);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_108, "Int32Array", 10);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_109, "Int16Array", 10);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_110, "Int8Array", 9);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_111, "Uint32Array", 11);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_112, "Uint16Array", 11);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_113, "Uint8Array", 10);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_114, "Float32Array", 12);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_115, "Float64Array", 12);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_116, "new $1($2)", 10);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_117, "(", 1);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_118, ", ", 2);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_119, ")", 1);
  static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__BxLwT0mhrtgTPodf1v3xjg_120 = {((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_6),
  ((NI) 301),
  ((NI) 19)}
  ;
  extern NIM_CONST tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q unknownLineInfo__lineinfos_280;
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_121, "_Idx", 4);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_122, "var $# = null;$n", 16);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_123, "var $#_Idx = 0;$n", 17);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_124, "var $# = $#;$n", 14);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_125, "return [$#, $#];$n", 18);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_126, "return $#;$n", 12);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_127, "/* line $2 \"$1\" */$n", 20);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_128, " {$n$#$#$#$#$#", 14);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_129, "\012", 1);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_130, "BeforeRet: do {$n", 17);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_131, "} while (false);$n", 18);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_132, "try {$n$1} catch (e) {$n alert(\"Unhandled exception:\\n\" + e.message + \"\\n\"$n}", 77);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_133, "framePtr = F.prev;\012", 19);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_134, "IMLP", 4);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_135, "\012function $#() { return $#.apply(this, arguments); }$n", 54);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_136, "\012function $#($#) {$n$#$#$#$#$#", 30);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_137, "system module needs: ", 21);
  static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__BxLwT0mhrtgTPodf1v3xjg_138 = {((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_6),
  ((NI) 307),
  ((NI) 17)}
  ;
  static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__BxLwT0mhrtgTPodf1v3xjg_139 = {((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_6),
  ((NI) 309),
  ((NI) 16)}
  ;
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_140, "arrayConstr", 11);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_141, "nimCopy", 7);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_142, "arrayConstr($1, $2, $3)", 23);
  static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__BxLwT0mhrtgTPodf1v3xjg_143 = {
  0x10, 0x28, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00,
  0x00}
  ;
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_144, "NTI$1", 5);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_145, "var $1 = {size: 0,kind: $2,base: null,node: null,finalizer: null};$n", 68);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_146, "var $1 = {size: 0, kind: $2, base: null, node: null, finalizer: null};$n", 72);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_147, "$1.base = $2;$n", 15);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_148, "genEnumInfo", 11);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_150, "/home/runner/work/nightlies/nightlies/nim/compiler/jstypes.nim", 62);
  static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__BxLwT0mhrtgTPodf1v3xjg_149 = {((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_150),
  ((NI) 107),
  ((NI) 46)}
  ;
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_151, ", \012", 3);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_152, "\"$1\": {kind: 1, offset: $1, typ: $2, name: $3, len: 0, sons: null}", 66);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_153, "var NNI$1 = {kind: 2, offset: 0, typ: null, name: null, len: $2, sons: {$3}};$n", 79);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_154, "$1.node = NNI$2;$n", 18);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_155, "var NNI$1 = $2;$n", 17);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_156, "{kind: 2, len: $1, offset: 0, typ: null, name: null, sons: [$2]}", 64);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_157, "{kind: 1, offset: \"$1\", len: 0, typ: $2, name: $3, sons: null}", 62);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_158, "genObjectFields", 15);
  static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__BxLwT0mhrtgTPodf1v3xjg_159 = {((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_150),
  ((NI) 42),
  ((NI) 42)}
  ;
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_160, "genObjectFields; nkOfBranch broken", 34);
  static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__BxLwT0mhrtgTPodf1v3xjg_161 = {((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_150),
  ((NI) 51),
  ((NI) 23)}
  ;
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_162, "[$1, $2]", 8);
  extern NIM_CONST tyObject_Int128__9a9axPfb75jdWY25AamJewkA Max__int495056_27;
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_163, "genObjectFields(nkRecCase)", 26);
  static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__BxLwT0mhrtgTPodf1v3xjg_164 = {((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_150),
  ((NI) 61),
  ((NI) 25)}
  ;
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_165, "[setConstr($1), $2]", 19);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_166, "{kind: 3, offset: \"$1\", len: $3, typ: $2, name: $4, sons: [$5]}", 63);
  static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__BxLwT0mhrtgTPodf1v3xjg_167 = {((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_150),
  ((NI) 69),
  ((NI) 21)}
  ;
  static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__BxLwT0mhrtgTPodf1v3xjg_168 = {
  0x10, 0x09, 0xe0, 0x00, 0x00, 0xe0, 0x80, 0x00,
  0x00}
  ;
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_169, "{kind: 1, offset: \"Field$1\", len: 0, typ: $2, name: \"Field$1\", sons: null}", 74);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_170, "genTypeInfo(", 12);
  extern TNimType NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_;
  static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__BxLwT0mhrtgTPodf1v3xjg_171 = {((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_150),
  ((NI) 155),
  ((NI) 23)}
  ;
  static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__BxLwT0mhrtgTPodf1v3xjg_172 = {((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_150),
  ((NI) 156),
  ((NI) 21)}
  ;
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_173, "[", 1);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_174, "]", 1);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_175, "{", 1);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_176, "Field$1: $2", 11);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_177, "}", 1);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_178, "m_type: $1", 10);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_179, "$#: ", 4);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_180, "createRecordVarAux", 18);
  static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__BxLwT0mhrtgTPodf1v3xjg_181 = {((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_6),
  ((NI) 1657),
  ((NI) 21)}
  ;
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_182, "({$1})", 6);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_183, "[null, 0]", 9);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_184, "[]", 2);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_185, "createVar: ", 11);
  static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__BxLwT0mhrtgTPodf1v3xjg_186 = {((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_6),
  ((NI) 1747),
  ((NI) 19)}
  ;
  static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__BxLwT0mhrtgTPodf1v3xjg_187 = {((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_6),
  ((NI) 1750),
  ((NI) 17)}
  ;
  static NIM_CONST tySet_tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw TM__BxLwT0mhrtgTPodf1v3xjg_188 = {
  0xe0, 0x07, 0x77, 0xfc, 0x61, 0x02, 0x00, 0x00,
  0x80, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x01}
  ;
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_189, "nimCopy(null, $1, $2)", 21);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_190, " = $3, $2_Idx = $4;$n", 21);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_191, " = [[$3, $4]];$n", 16);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_192, " = [$3, $4];$n", 14);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_193, "Temporary$1", 11);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_194, "var $1 = $2, $3 = $1[0], $3_Idx = $1[1];$n", 42);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_195, " = [$3];$n", 10);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_196, "couldn\'t find the owner proc of the closed over param: ", 55);
  static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__BxLwT0mhrtgTPodf1v3xjg_197 = {((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_6),
  ((NI) 1384),
  ((NI) 19)}
  ;
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_198, "$1 = nimCopy(null, $1, $2);$n", 29);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_199, "$1[0][0]", 8);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_200, "$1[0][1]", 8);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_201, "$1[0]", 5);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_202, "$1[1]", 5);
  static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__BxLwT0mhrtgTPodf1v3xjg_203 = {((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_6),
  ((NI) 1424),
  ((NI) 19)}
  ;
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_204, "request to generate code for .compileTime proc: ", 48);
  static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__BxLwT0mhrtgTPodf1v3xjg_205 = {((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_6),
  ((NI) 1428),
  ((NI) 16)}
  ;
  static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__BxLwT0mhrtgTPodf1v3xjg_206 = {((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_6),
  ((NI) 1444),
  ((NI) 19)}
  ;
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_207, "false", 5);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_208, "true", 4);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_209, "null", 4);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_210, "0", 1);
  static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__BxLwT0mhrtgTPodf1v3xjg_211 = {
  0x10, 0xa9, 0x90, 0x00, 0x00, 0x60, 0x80, 0x00,
  0x00}
  ;
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_212, "makeNimstrLit", 13);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_213, "makeNimstrLit($1)", 17);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_214, "[]", 2);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_215, "-NaN", 4);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_216, "NaN", 3);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_217, "-0.0", 4);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_218, "0.0", 3);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_219, "Infinity", 8);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_220, "-Infinity", 9);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_221, "F.line = $1;$n", 14);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_222, "($1 || $2)", 10);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_223, "if ($1) $2 = true; else {", 25);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_224, "$2 = $1;", 8);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_225, "($1 && $2)", 10);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_226, "if (!$1) $2 = false; else {", 27);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_227, "& 0xff", 6);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_228, "& 0xffff", 8);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_229, ">>> 0", 5);
  extern NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag abstractRange__types_101;
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_230, "(($1 $2 $3) $4)", 15);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_231, "+", 1);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_232, "-", 1);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_233, "*", 1);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_234, "/", 1);
  static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__BxLwT0mhrtgTPodf1v3xjg_235 = {
  0x10, 0xa9, 0x10, 0x00, 0x00, 0x60, 0x80, 0x00,
  0x00}
  ;
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_236, "Math.trunc($1)", 14);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_237, "addInt", 6);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_238, "subInt", 6);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_239, "mulInt", 6);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_240, "divInt", 6);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_241, "modInt", 6);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_242, "nimMin", 6);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_243, "nimMax", 6);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_244, "negInt", 6);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_245, "negInt64", 8);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_246, "absInt", 6);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_247, "nimCharToStr", 12);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_248, "nimBoolToStr", 12);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_249, "cstrToNimstr", 12);
  N_LIB_PRIVATE NIM_CONST tyArray__k29ck4gbaHsaWs9bvWKy0w5w jsMagics__jsgen_941 = {{((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_237),
  ((NimStringDesc*) NIM_NIL)}
  ,
  {((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_238),
  ((NimStringDesc*) NIM_NIL)}
  ,
  {((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_239),
  ((NimStringDesc*) NIM_NIL)}
  ,
  {((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_240),
  ((NimStringDesc*) NIM_NIL)}
  ,
  {((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_241),
  ((NimStringDesc*) NIM_NIL)}
  ,
  {((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_237),
  ((NimStringDesc*) NIM_NIL)}
  ,
  {((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_238),
  ((NimStringDesc*) NIM_NIL)}
  ,
  {((NimStringDesc*) NIM_NIL),
  ((NimStringDesc*) NIM_NIL)}
  ,
  {((NimStringDesc*) NIM_NIL),
  ((NimStringDesc*) NIM_NIL)}
  ,
  {((NimStringDesc*) NIM_NIL),
  ((NimStringDesc*) NIM_NIL)}
  ,
  {((NimStringDesc*) NIM_NIL),
  ((NimStringDesc*) NIM_NIL)}
  ,
  {((NimStringDesc*) NIM_NIL),
  ((NimStringDesc*) NIM_NIL)}
  ,
  {((NimStringDesc*) NIM_NIL),
  ((NimStringDesc*) NIM_NIL)}
  ,
  {((NimStringDesc*) NIM_NIL),
  ((NimStringDesc*) NIM_NIL)}
  ,
  {((NimStringDesc*) NIM_NIL),
  ((NimStringDesc*) NIM_NIL)}
  ,
  {((NimStringDesc*) NIM_NIL),
  ((NimStringDesc*) NIM_NIL)}
  ,
  {((NimStringDesc*) NIM_NIL),
  ((NimStringDesc*) NIM_NIL)}
  ,
  {((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_242),
  ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_242)}
  ,
  {((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_243),
  ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_243)}
  ,
  {((NimStringDesc*) NIM_NIL),
  ((NimStringDesc*) NIM_NIL)}
  ,
  {((NimStringDesc*) NIM_NIL),
  ((NimStringDesc*) NIM_NIL)}
  ,
  {((NimStringDesc*) NIM_NIL),
  ((NimStringDesc*) NIM_NIL)}
  ,
  {((NimStringDesc*) NIM_NIL),
  ((NimStringDesc*) NIM_NIL)}
  ,
  {((NimStringDesc*) NIM_NIL),
  ((NimStringDesc*) NIM_NIL)}
  ,
  {((NimStringDesc*) NIM_NIL),
  ((NimStringDesc*) NIM_NIL)}
  ,
  {((NimStringDesc*) NIM_NIL),
  ((NimStringDesc*) NIM_NIL)}
  ,
  {((NimStringDesc*) NIM_NIL),
  ((NimStringDesc*) NIM_NIL)}
  ,
  {((NimStringDesc*) NIM_NIL),
  ((NimStringDesc*) NIM_NIL)}
  ,
  {((NimStringDesc*) NIM_NIL),
  ((NimStringDesc*) NIM_NIL)}
  ,
  {((NimStringDesc*) NIM_NIL),
  ((NimStringDesc*) NIM_NIL)}
  ,
  {((NimStringDesc*) NIM_NIL),
  ((NimStringDesc*) NIM_NIL)}
  ,
  {((NimStringDesc*) NIM_NIL),
  ((NimStringDesc*) NIM_NIL)}
  ,
  {((NimStringDesc*) NIM_NIL),
  ((NimStringDesc*) NIM_NIL)}
  ,
  {((NimStringDesc*) NIM_NIL),
  ((NimStringDesc*) NIM_NIL)}
  ,
  {((NimStringDesc*) NIM_NIL),
  ((NimStringDesc*) NIM_NIL)}
  ,
  {((NimStringDesc*) NIM_NIL),
  ((NimStringDesc*) NIM_NIL)}
  ,
  {((NimStringDesc*) NIM_NIL),
  ((NimStringDesc*) NIM_NIL)}
  ,
  {((NimStringDesc*) NIM_NIL),
  ((NimStringDesc*) NIM_NIL)}
  ,
  {((NimStringDesc*) NIM_NIL),
  ((NimStringDesc*) NIM_NIL)}
  ,
  {((NimStringDesc*) NIM_NIL),
  ((NimStringDesc*) NIM_NIL)}
  ,
  {((NimStringDesc*) NIM_NIL),
  ((NimStringDesc*) NIM_NIL)}
  ,
  {((NimStringDesc*) NIM_NIL),
  ((NimStringDesc*) NIM_NIL)}
  ,
  {((NimStringDesc*) NIM_NIL),
  ((NimStringDesc*) NIM_NIL)}
  ,
  {((NimStringDesc*) NIM_NIL),
  ((NimStringDesc*) NIM_NIL)}
  ,
  {((NimStringDesc*) NIM_NIL),
  ((NimStringDesc*) NIM_NIL)}
  ,
  {((NimStringDesc*) NIM_NIL),
  ((NimStringDesc*) NIM_NIL)}
  ,
  {((NimStringDesc*) NIM_NIL),
  ((NimStringDesc*) NIM_NIL)}
  ,
  {((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_244),
  ((NimStringDesc*) NIM_NIL)}
  ,
  {((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_245),
  ((NimStringDesc*) NIM_NIL)}
  ,
  {((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_246),
  ((NimStringDesc*) NIM_NIL)}
  ,
  {((NimStringDesc*) NIM_NIL),
  ((NimStringDesc*) NIM_NIL)}
  ,
  {((NimStringDesc*) NIM_NIL),
  ((NimStringDesc*) NIM_NIL)}
  ,
  {((NimStringDesc*) NIM_NIL),
  ((NimStringDesc*) NIM_NIL)}
  ,
  {((NimStringDesc*) NIM_NIL),
  ((NimStringDesc*) NIM_NIL)}
  ,
  {((NimStringDesc*) NIM_NIL),
  ((NimStringDesc*) NIM_NIL)}
  ,
  {((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_247),
  ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_247)}
  ,
  {((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_248),
  ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_248)}
  ,
  {((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_249),
  ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_249)}
  ,
  {((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_249),
  ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_249)}
  ,
  {((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_249),
  ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_249)}
  ,
  {((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_249),
  ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_249)}
  ,
  {((NimStringDesc*) NIM_NIL),
  ((NimStringDesc*) NIM_NIL)}
  }
  ;
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_250, "addInt($1, $2)", 14);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_251, "($1 + $2)", 9);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_252, "subInt($1, $2)", 14);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_253, "($1 - $2)", 9);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_254, "mulInt($1, $2)", 14);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_255, "($1 * $2)", 9);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_256, "divInt($1, $2)", 14);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_257, "Math.trunc($1 / $2)", 19);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_258, "modInt($1, $2)", 14);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_259, "Math.trunc($1 % $2)", 19);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_260, "($1 / $2)", 9);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_261, "($1 << $2)", 10);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_262, "($1 * Math.pow(2, $2))", 22);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_263, "($1 >> $2)", 10);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_264, "Math.floor($1 / Math.pow(2, $2))", 32);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_265, "($1 & $2)", 9);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_266, "($1 | $2)", 9);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_267, "($1 ^ $2)", 9);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_268, "nimMin($1, $2)", 14);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_269, "nimMax($1, $2)", 14);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_270, "($1 % $2)", 9);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_271, "negInt($1)", 10);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_272, "negInt64($1)", 12);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_273, "absInt($1)", 10);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_274, "Math.abs($1)", 12);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_275, "+($1)", 5);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_276, "~($1)", 5);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_277, "nimCharToStr($1)", 16);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_278, "nimBoolToStr($1)", 16);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_279, "cstrToNimstr(($1) + \"\")", 23);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_280, "cstrToNimstr($1)", 16);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_281, "($1 >>> $2)", 11);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_282, "($# == $# && $# == $#)", 22);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_283, "reprAny", 7);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_284, ", null", 6);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_285, "reprInt", 7);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_286, "reprChar", 8);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_287, "reprBool", 8);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_288, "reprFloat", 9);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_289, "reprStr", 7);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_290, "reprEnum", 8);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_291, "reprSet", 7);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_292, "\'repr\' doesn\'t support \'void\' type", 34);
  static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__BxLwT0mhrtgTPodf1v3xjg_293 = {((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_6),
  ((NI) 1946),
  ((NI) 14)}
  ;
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_294, "reprPointer", 11);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_295, "reprJSONStringify", 17);
  static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__BxLwT0mhrtgTPodf1v3xjg_296 = {
  0x10, 0xa9, 0x80, 0x00, 0x00, 0xe0, 0x80, 0x00,
  0x00}
  ;
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_297, "genSwap", 7);
  static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__BxLwT0mhrtgTPodf1v3xjg_298 = {((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_6),
  ((NI) 1124),
  ((NI) 19)}
  ;
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_299, "var $1 = $2; $2 = $3; $3 = $1;$n", 32);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_300, "var $1 = $2; $2 = $3; $3 = $1;", 30);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_301, "addChar", 7);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_302, "addChar($1, $2);", 16);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_303, "$1[0][$1[1]]", 12);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_304, "($1 = $2, $1)", 13);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_305, "if (null != $1) { if (null == $2) $2 = $3; else $2 += $3; }", 59);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_306, "$1.push.apply($3, $2);", 22);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_307, "$1.push($2);", 12);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_308, "var $1 = nimCopy(null, $2, $3);$n", 33);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_309, "[$1].concat(", 12);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_310, "($1 || []).concat(", 18);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_311, "[$1],", 5);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_312, "$1 || [],", 9);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_313, "[$1])", 5);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_314, "$1 || [])", 9);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_315, "eqStrings", 9);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_316, "eqStrings($1, $2)", 17);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_317, "cmpStrings", 10);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_318, "(cmpStrings($1, $2) <= 0)", 25);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_319, "(cmpStrings($1, $2) < 0)", 24);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_320, "($1 == null)", 12);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_321, "$2", 2);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_322, "($# == null && $# === 0)", 24);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_323, "$1 = $2;$n", 10);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_324, "$1 = [$3]; $2 = 0;$n", 20);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_325, "$1 = [[$2], 0];$n", 17);
  static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__BxLwT0mhrtgTPodf1v3xjg_326 = {
  0x10, 0xa9, 0x90, 0x00, 0x00, 0xe0, 0x80, 0x00,
  0x00}
  ;
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_327, "($1 \? 1 : 0)", 12);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_328, "genOrd", 6);
  static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__BxLwT0mhrtgTPodf1v3xjg_329 = {((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_6),
  ((NI) 1881),
  ((NI) 21)}
  ;
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_330, "(($1) == null \? 0 : ($2).length)", 32);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_331, "($1).length", 11);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_332, "(($1) == null \? -1 : ($2).length - 1)", 37);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_333, "($1).length - 1", 15);
  static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__BxLwT0mhrtgTPodf1v3xjg_334 = {
  0x10, 0xa9, 0xe0, 0x00, 0x00, 0xe0, 0x80, 0x00,
  0x00}
  ;
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_335, "chckIndx", 8);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_336, "chckIndx($1, 0, ($2).length - 1)", 32);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_337, "chckIndx($1, $2, ($3).length + ($2) - 1) - ($2)", 47);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_338, "($1) - ($2)", 11);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_339, "$1 = (($5 $2 $3) $4)", 20);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_340, "$1 += $2", 8);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_341, "$1 = addInt($3, $2)", 19);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_342, "$1 -= $2", 8);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_343, "$1 = subInt($3, $2)", 19);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_344, "mnewString", 10);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_345, "($1.length = $2)", 16);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_346, "if ($1.length < $2) { for (var i = $4.length ; i < $5 ; ++i) $4.push($3); }\012               else { $4.length = $5; }", 115);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_347, "SetCard", 7);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_348, "SetCard($1)", 11);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_349, "SetLt", 5);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_350, "SetLt($1, $2)", 13);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_351, "SetLe", 5);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_352, "SetLe($1, $2)", 13);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_353, "SetEq", 5);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_354, "SetEq($1, $2)", 13);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_355, "SetMul", 6);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_356, "SetMul($1, $2)", 14);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_357, "SetPlus", 7);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_358, "SetPlus($1, $2)", 15);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_359, "SetMinus", 8);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_360, "SetMinus($1, $2)", 16);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_361, "$1[$2] = true", 13);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_362, "delete $1[$2]", 13);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_363, "($1[$2] != undefined)", 21);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_364, "$1 = new Array($2); for (var i = 0 ; i < $2 ; ++i) { $1[i] = $3; }", 66);
  static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__BxLwT0mhrtgTPodf1v3xjg_365 = {
  0x10, 0xa9, 0xf0, 0x00, 0x00, 0xe0, 0x80, 0x00,
  0x00}
  ;
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_366, "($1.m_type == $2)", 17);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_367, "isObj", 5);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_368, "isObj($1.m_type, $2)", 20);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_369, "genericReset", 12);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_370, "$1 = null, $2 = 0;$n", 20);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_371, "$1 = genericReset($3, $2);$n", 28);
  static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__BxLwT0mhrtgTPodf1v3xjg_372 = {((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_6),
  ((NI) 1624),
  ((NI) 17)}
  ;
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_373, "toJSStr", 7);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_374, "rawEcho", 7);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_375, "rawEcho(", 8);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_376, "\'$1\' can only be used in compile-time context", 45);
  static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__BxLwT0mhrtgTPodf1v3xjg_377 = {((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_6),
  ((NI) 2141),
  ((NI) 14)}
  ;
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_378, "mnewString($1)", 14);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_379, "mnewString(0)", 13);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_380, "($1 = $2, $1[0]), $1[1]", 23);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_381, "($1 = $2, $1)[0]", 16);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_382, "nimParseBiggestFloat", 20);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_383, "($1.slice($2, $3 + 1))", 22);
  static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__BxLwT0mhrtgTPodf1v3xjg_384 = {((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_6),
  ((NI) 1590),
  ((NI) 19)}
  ;
  static NIM_CONST tySet_tyChar__nmiMWKVIe46vacnhAFrQvw TM__BxLwT0mhrtgTPodf1v3xjg_385 = {
  0x00, 0x00, 0x00, 0x00, 0x08, 0x01, 0x00, 0x00,
  0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
  ;
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_386, "wrong importcpp pattern; expected parameter at position ", 56);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_387, " but got only: ", 15);
  static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__BxLwT0mhrtgTPodf1v3xjg_388 = {((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_6),
  ((NI) 1536),
  ((NI) 15)}
  ;
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_389, "#", 1);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_390, "@", 1);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_391, "cannot invoke with infix syntax", 31);
  static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__BxLwT0mhrtgTPodf1v3xjg_392 = {((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_6),
  ((NI) 1600),
  ((NI) 19)}
  ;
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_393, ".", 1);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_394, "setConstr", 9);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_395, "setConstr(", 10);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_396, "ConstSet", 8);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_397, "var $1 = $2;$n", 14);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_398, "new $1([", 8);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_399, "])", 2);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_400, "Field$#: [$#, $#]", 17);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_401, "Field$#: $#", 11);
  static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__BxLwT0mhrtgTPodf1v3xjg_402 = {((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_6),
  ((NI) 2242),
  ((NI) 19)}
  ;
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_403, "$#: [$#, $#]", 12);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_404, "$#: $#", 6);
  static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__BxLwT0mhrtgTPodf1v3xjg_405 = {
  0x10, 0xa9, 0xe0, 0x00, 0x00, 0xe0, 0x80, 0x00,
  0x00}
  ;
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_406, "{$1}", 4);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_407, "($1 $2)", 7);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_408, "(!!($1))", 8);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_409, "(($1) | 0)", 10);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_410, "genAddr: 3", 10);
  static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__BxLwT0mhrtgTPodf1v3xjg_411 = {((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_6),
  ((NI) 1295),
  ((NI) 36)}
  ;
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_412, "[0]", 3);
  extern TNimType NTItsymkind__cNCW9acsSznmEccl1fgQwkw_;
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_413, ",", 1);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_414, "genAddr: 2", 10);
  static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__BxLwT0mhrtgTPodf1v3xjg_415 = {((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_6),
  ((NI) 1322),
  ((NI) 23)}
  ;
  static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__BxLwT0mhrtgTPodf1v3xjg_416 = {((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_6),
  ((NI) 1183),
  ((NI) 17)}
  ;
  static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__BxLwT0mhrtgTPodf1v3xjg_417 = {((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_6),
  ((NI) 1195),
  ((NI) 17)}
  ;
  static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__BxLwT0mhrtgTPodf1v3xjg_418 = {((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_6),
  ((NI) 1199),
  ((NI) 17)}
  ;
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_419, "raiseFieldError2", 16);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_420, "reprDiscriminant", 16);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_421, "if ($1[$2.$3]$4undefined) { raiseFieldError2(makeNimstrLit($5), reprDiscriminant($2.$3, $6)); }$n", 97);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_422, "!==", 3);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_423, "===", 3);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_424, "Field", 5);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_425, "genFieldPosition", 16);
  static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__BxLwT0mhrtgTPodf1v3xjg_426 = {((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_6),
  ((NI) 1135),
  ((NI) 21)}
  ;
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_427, "genFieldAddr", 12);
  static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__BxLwT0mhrtgTPodf1v3xjg_428 = {((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_6),
  ((NI) 1145),
  ((NI) 40)}
  ;
  static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__BxLwT0mhrtgTPodf1v3xjg_429 = {((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_6),
  ((NI) 1149),
  ((NI) 17)}
  ;
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_430, "genFieldAccess", 14);
  static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__BxLwT0mhrtgTPodf1v3xjg_431 = {((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_6),
  ((NI) 1173),
  ((NI) 40)}
  ;
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_432, "expr(nkBracketExpr, ", 20);
  static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__BxLwT0mhrtgTPodf1v3xjg_433 = {((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_6),
  ((NI) 1341),
  ((NI) 25)}
  ;
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_434, "genAddr for complex nkStmtListExpr", 34);
  static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__BxLwT0mhrtgTPodf1v3xjg_435 = {((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_6),
  ((NI) 1350),
  ((NI) 23)}
  ;
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_436, "genAddr: ", 9);
  extern TNimType NTItnodekind__G4E4Gxe7oI2Cm03rkiOzQw_;
  static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__BxLwT0mhrtgTPodf1v3xjg_437 = {((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_6),
  ((NI) 1357),
  ((NI) 19)}
  ;
  static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__BxLwT0mhrtgTPodf1v3xjg_438 = {((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_6),
  ((NI) 1359),
  ((NI) 17)}
  ;
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_439, "genDeref", 8);
  static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__BxLwT0mhrtgTPodf1v3xjg_440 = {((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_6),
  ((NI) 1468),
  ((NI) 19)}
  ;
  static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__BxLwT0mhrtgTPodf1v3xjg_441 = {((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_6),
  ((NI) 1264),
  ((NI) 21)}
  ;
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_442, "genArrayAccess", 14);
  static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__BxLwT0mhrtgTPodf1v3xjg_443 = {((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_6),
  ((NI) 1266),
  ((NI) 32)}
  ;
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_444, "$1.charCodeAt($2)", 17);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_445, "($1 | 0)", 8);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_446, "0xfe", 4);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_447, "0xfffe", 6);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_448, "0xfffffffe", 10);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_449, "($1 - ($2 $3))", 14);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_450, "chckRange", 9);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_451, "chckRange($1, $2, $3)", 21);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_452, "chckRangeF", 10);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_453, "chckRange64", 11);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_454, "convStrToCStr", 13);
  static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__BxLwT0mhrtgTPodf1v3xjg_455 = {((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_6),
  ((NI) 2307),
  ((NI) 34)}
  ;
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_456, "toJSStr($1)", 11);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_457, "convCStrToStr", 13);
  static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__BxLwT0mhrtgTPodf1v3xjg_458 = {((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_6),
  ((NI) 2319),
  ((NI) 34)}
  ;
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_459, "genBlock", 8);
  static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__BxLwT0mhrtgTPodf1v3xjg_460 = {((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_6),
  ((NI) 920),
  ((NI) 42)}
  ;
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_461, "Label$1: do {$n", 15);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_462, "else {$n", 8);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_463, "if ($1) {$n", 11);
  static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__BxLwT0mhrtgTPodf1v3xjg_464 = {((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_6),
  ((NI) 715),
  ((NI) 17)}
  ;
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_465, "Label$1: while (true) {$n", 25);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_466, "if (!$1) break Label$2;$n", 25);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_467, "for statement not eliminated", 28);
  static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__BxLwT0mhrtgTPodf1v3xjg_468 = {((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_6),
  ((NI) 2607),
  ((NI) 17)}
  ;
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_469, "switch (toJSStr($1)) {$n", 24);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_470, "Your case statement contains too many branches, consider using if/else instead!", 79);
  static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__BxLwT0mhrtgTPodf1v3xjg_471 = {((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_6),
  ((NI) 887),
  ((NI) 22)}
  ;
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_472, "jsgen.genCaseStmt: 2", 20);
  static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__BxLwT0mhrtgTPodf1v3xjg_473 = {((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_6),
  ((NI) 898),
  ((NI) 31)}
  ;
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_474, "default: $n", 11);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_475, "jsgen.genCaseStmt", 17);
  static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__BxLwT0mhrtgTPodf1v3xjg_476 = {((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_6),
  ((NI) 912),
  ((NI) 23)}
  ;
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_477, "genReturnStmt", 13);
  static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__BxLwT0mhrtgTPodf1v3xjg_478 = {((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_6),
  ((NI) 2325),
  ((NI) 36)}
  ;
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_479, "break BeforeRet;$n", 18);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_480, "no loop to break", 16);
  static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__BxLwT0mhrtgTPodf1v3xjg_481 = {((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_6),
  ((NI) 946),
  ((NI) 19)}
  ;
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_482, "break Label$1;$n", 16);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_483, "cstring doesn\'t support `[]=` operator", 38);
  static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__BxLwT0mhrtgTPodf1v3xjg_484 = {((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_6),
  ((NI) 1051),
  ((NI) 14)}
  ;
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_485, "$1 = nimCopy(null, $2, $3);$n", 29);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_486, "nimCopy($1, $2, $3);$n", 22);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_487, "$1 = nimCopy($1, $2, $3);$n", 27);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_488, "var $1 = $4; $2 = $1[0]; $3 = $1[1];$n", 38);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_489, "$# = [$#, $#];$n", 16);
  static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__BxLwT0mhrtgTPodf1v3xjg_490 = {((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_6),
  ((NI) 1089),
  ((NI) 23)}
  ;
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_491, "$# = [$#, 0];$n", 15);
  N_LIB_PRIVATE TNimType NTItjstypekind__9aFSCXgaSEq2m81RJRMKDeA_;
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_495, "genAsgn", 7);
  static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__BxLwT0mhrtgTPodf1v3xjg_496 = {((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_6),
  ((NI) 1096),
  ((NI) 21)}
  ;
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_497, "$1 = $2; $3 = $4;$n", 19);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_498, "var _ = ", 8);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_499, "++excHandler;\012", 14);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_500, "F", 1);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_501, " = framePtr;\012", 13);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_502, "try {$n", 7);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_503, "--excHandler;$n} catch (EXCEPTION) {$n var prevJSError = lastJSError;$n lastJSError = EXCEPTION;$n --excHandler;$n", 114);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_504, "framePtr = $1;$n", 16);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_505, "jsgen.nim(807, 20) `orExpr == nil` ", 35);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_506, "genTryStmt", 10);
  static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__BxLwT0mhrtgTPodf1v3xjg_507 = {((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_6),
  ((NI) 811),
  ((NI) 23)}
  ;
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_508, "||", 2);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_509, "lastJSError instanceof $1", 25);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_510, "isObj(lastJSError.m_type, $1)", 29);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_511, "else ", 5);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_512, "if (lastJSError && ($1)) {$n", 28);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_513, "var $1 = lastJSError;$n", 23);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_514, "reraiseException", 16);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_515, "else {\012", 7);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_516, "\011reraiseException();\012", 21);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_517, "lastJSError = prevJSError;$n", 28);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_518, "} finally {\012", 12);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_519, "raiseException", 14);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_520, "raiseException($1, $2);$n", 25);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_521, "reraiseException();\012", 20);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_522, "Closure iterators are not supported by JS backend!", 50);
  static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__BxLwT0mhrtgTPodf1v3xjg_523 = {((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_6),
  ((NI) 2627),
  ((NI) 17)}
  ;
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_524, "First class iterators not implemented", 37);
  static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__BxLwT0mhrtgTPodf1v3xjg_525 = {((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_6),
  ((NI) 2635),
  ((NI) 15)}
  ;
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_526, "gen: unknown node type: ", 24);
  static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__BxLwT0mhrtgTPodf1v3xjg_527 = {((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_6),
  ((NI) 2639),
  ((NI) 21)}
  ;
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_528, "$1 = true;$n", 12);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_529, "/* Generated by the Nim Compiler v$1 */\012    var framePtr = null;\012    var excHandler = 0;\012    var lastJSError = null;\012  ", 119);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_530, " ", 1);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_532, "1.6.2", 5);
  static NIM_CONST tyArray__nHXaesL0DJZHyVS07ARPRA TM__BxLwT0mhrtgTPodf1v3xjg_531 = {((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_532)}
  ;
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_533, ".map", 4);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_534, "version", 7);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_535, "sources", 7);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_536, "names", 5);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_537, "mappings", 8);
  STRING_LITERAL(TM__BxLwT0mhrtgTPodf1v3xjg_538, "file", 4);
  extern tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ gch__system_5217;
  static N_NIMCALL(void, Marker_tyRef__O09bHTFgtn9cJLLJxiNhuKUA)(void* p, NI op) {
  	tyObject_TJSGen__qij68Ti2EwJQHH6sSdkSdw* a;
  	a = (tyObject_TJSGen__qij68Ti2EwJQHH6sSdkSdw*)p;
  	nimGCvisit((void*)(*a).Sup.idgen, op);
  	nimGCvisit((void*)(*a).module, op);
  	nimGCvisit((void*)(*a).graph, op);
  	nimGCvisit((void*)(*a).config, op);
  	nimGCvisit((void*)(*a).sigConflicts.data, op);
  }
  static N_INLINE(NI, pluspercent___system_696)(NI x, NI y) {
  	NI result;
  	result = (NI)0;
  	result = ((NI) ((NU)((NU32)(((NU) (x))) + (NU32)(((NU) (y))))));
  	return result;
  }
  static N_INLINE(void, incRef__system_5308)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
  	(*c).refcount = pluspercent___system_696((*c).refcount, ((NI) 8));
  }
  static N_INLINE(NI, minuspercent___system_716)(NI x, NI y) {
  	NI result;
  	result = (NI)0;
  	result = ((NI) ((NU)((NU32)(((NU) (x))) - (NU32)(((NU) (y))))));
  	return result;
  }
  static N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*, usrToCell__system_5270)(void* usr) {
  	tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* result;
  	NI T1_;
  	result = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
  	T1_ = (NI)0;
  	T1_ = minuspercent___system_716(((NI) (ptrdiff_t) (usr)), ((NI) 8));
  	result = ((tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*) (T1_));
  	return result;
  }
  static N_INLINE(NIM_BOOL, ltpercent___system_1005)(NI x, NI y) {
  	NIM_BOOL result;
  	result = (NIM_BOOL)0;
  	result = ((NU32)(((NU) (x))) < (NU32)(((NU) (y))));
  	return result;
  }
  static N_INLINE(void, rtlAddZCT__system_5313)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
  	addZCT__system_5264((&gch__system_5217.zct), c);
  }
  static N_INLINE(void, decRef__system_5315)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
  	(*c).refcount = minuspercent___system_716((*c).refcount, ((NI) 8));
  	{
  		NIM_BOOL T3_;
  		T3_ = (NIM_BOOL)0;
  		T3_ = ltpercent___system_1005((*c).refcount, ((NI) 8));
  		if (!T3_) goto LA4_;
  		rtlAddZCT__system_5313(c);
  	}
  	LA4_: ;
  }
  static N_INLINE(void, asgnRef)(void** dest, void* src) {
  	{
  		tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T5_;
  		if (!!((src == NIM_NIL))) goto LA3_;
  		T5_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
  		T5_ = usrToCell__system_5270(src);
  		incRef__system_5308(T5_);
  	}
  	LA3_: ;
  	{
  		tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T10_;
  		if (!!(((*dest) == NIM_NIL))) goto LA8_;
  		T10_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
  		T10_ = usrToCell__system_5270((*dest));
  		decRef__system_5315(T10_);
  	}
  	LA8_: ;
  	(*dest) = src;
  }
  static N_NIMCALL(void, Marker_tyRef__Q8XTeJJ39cPFyNvJXj9bmcMQ)(void* p, NI op) {
  	tyObject_PGlobalscolonObjectType___nWsHZg3qCUsABoCNYLliag* a;
  	NI T1_;
  	NI T2_;
  	a = (tyObject_PGlobalscolonObjectType___nWsHZg3qCUsABoCNYLliag*)p;
  	nimGCvisit((void*)(*a).typeInfo, op);
  	nimGCvisit((void*)(*a).constants, op);
  	nimGCvisit((void*)(*a).code, op);
  	nimGCvisit((void*)(*a).forwarded, op);
  	nimGCvisit((void*)(*a).generatedSyms.head, op);
  	nimGCvisit((void*)(*a).generatedSyms.data, op);
  	T1_ = (NI)0;
  	nimGCvisit((void*)(*a).typeInfoGenerated.head, op);
  	nimGCvisit((void*)(*a).typeInfoGenerated.data, op);
  	T2_ = (NI)0;
  }
  static N_INLINE(void, nimGCunrefRC1)(void* p) {
  	tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T1_;
  	T1_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
  	T1_ = usrToCell__system_5270(p);
  	decRef__system_5315(T1_);
  }
  static N_INLINE(void, initIntSet__pureZcollectionsZintsets_238)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* Result) {
  	initPackedSet__pureZcollectionsZintsets_16(Result);
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_PGlobalscolonObjectType___nWsHZg3qCUsABoCNYLliag*, newGlobals__jsgen_141)(void) {
  	tyObject_PGlobalscolonObjectType___nWsHZg3qCUsABoCNYLliag* result;
  	result = NIM_NIL;
  	result = (tyObject_PGlobalscolonObjectType___nWsHZg3qCUsABoCNYLliag*) newObj((&NTIpglobals__Q8XTeJJ39cPFyNvJXj9bmcMQ_), sizeof(tyObject_PGlobalscolonObjectType___nWsHZg3qCUsABoCNYLliag));
  	(*result).Sup.m_type = (&NTIpglobals58objecttype__nWsHZg3qCUsABoCNYLliag_);
  	if ((*result).forwarded) { nimGCunrefRC1((*result).forwarded); (*result).forwarded = NIM_NIL; }
  	initIntSet__pureZcollectionsZintsets_238((&(*result).generatedSyms));
  	initIntSet__pureZcollectionsZintsets_238((&(*result).typeInfoGenerated));
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_TJSGen__qij68Ti2EwJQHH6sSdkSdw*, newModule__jsgen_6499)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* module) {
  	tyObject_TJSGen__qij68Ti2EwJQHH6sSdkSdw* result;
  	result = NIM_NIL;
  	result = (tyObject_TJSGen__qij68Ti2EwJQHH6sSdkSdw*) newObj((&NTIbmodule__O09bHTFgtn9cJLLJxiNhuKUA_), sizeof(tyObject_TJSGen__qij68Ti2EwJQHH6sSdkSdw));
  	(*result).Sup.Sup.m_type = (&NTItjsgen__qij68Ti2EwJQHH6sSdkSdw_);
  	asgnRef((void**) (&(*result).module), module);
  	initCountTable__cgen_28210(((NI) 32), (&(*result).sigConflicts));
  	{
  		tyObject_PGlobalscolonObjectType___nWsHZg3qCUsABoCNYLliag* T5_;
  		if (!((*g).backend == ((RootObj*) NIM_NIL))) goto LA3_;
  		T5_ = NIM_NIL;
  		T5_ = newGlobals__jsgen_141();
  		asgnRef((void**) (&(*g).backend), &T5_->Sup);
  	}
  	LA3_: ;
  	asgnRef((void**) (&(*result).graph), g);
  	asgnRef((void**) (&(*result).config), (*g).config);
  	{
  		if (!(((*module).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 15))&63U)))!=0)) goto LA8_;
  		(*(*((tyObject_PGlobalscolonObjectType___nWsHZg3qCUsABoCNYLliag**) (&((*g).backend))))).inSystem = NIM_TRUE;
  	}
  	LA8_: ;
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w*, myOpen__jsgen_6757)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen) {
  	tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w* result;
  	tyObject_TJSGen__qij68Ti2EwJQHH6sSdkSdw* T1_;
  	result = NIM_NIL;
  	T1_ = NIM_NIL;
  	T1_ = newModule__jsgen_6499(graph, s);
  	result = &T1_->Sup;
  	asgnRef((void**) (&(*result).idgen), idgen);
  	return result;
  }
  static N_INLINE(NIM_BOOL, skipCodegen__passes_49)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* config, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
  	NIM_BOOL result;
  	result = (NIM_BOOL)0;
  	result = (((NI) 0) < (*config).errorCounter);
  	return result;
  }
  static N_NIMCALL(void, Marker_tySequence__8fytVdU59b5aj319cog2ztLw)(void* p, NI op) {
  	tySequence__8fytVdU59b5aj319cog2ztLw* a;
  	NI T1_;
  	a = (tySequence__8fytVdU59b5aj319cog2ztLw*)p;
  	T1_ = (NI)0;
  }
  static N_NIMCALL(void, Marker_tyRef__OFWibP8T8afo89apFNGZiwA)(void* p, NI op) {
  	tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* a;
  	NI T1_;
  	NI T2_;
  	a = (tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q*)p;
  	nimGCvisit((void*)(*a).procDef, op);
  	nimGCvisit((void*)(*a).prc, op);
  	nimGCvisit((void*)(*a).globals, op);
  	nimGCvisit((void*)(*a).locals, op);
  	nimGCvisit((void*)(*a).body, op);
  	nimGCvisit((void*)(*a).module, op);
  	nimGCvisit((void*)(*a).g, op);
  	nimGCvisit((void*)(*a).generatedParamCopies.head, op);
  	nimGCvisit((void*)(*a).generatedParamCopies.data, op);
  	T1_ = (NI)0;
  	nimGCvisit((void*)(*a).blocks, op);
  	nimGCvisit((void*)(*a).up, op);
  	nimGCvisit((void*)(*a).declaredGlobals.head, op);
  	nimGCvisit((void*)(*a).declaredGlobals.data, op);
  	T2_ = (NI)0;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q*, newProc__jsgen_200)(tyObject_PGlobalscolonObjectType___nWsHZg3qCUsABoCNYLliag* globals, tyObject_TJSGen__qij68Ti2EwJQHH6sSdkSdw* module, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* procDef, tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg options) {
  	tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* result;
  	tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* T1_;
  	result = NIM_NIL;
  	T1_ = NIM_NIL;
  	T1_ = (tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q*) newObj((&NTIpproc__OFWibP8T8afo89apFNGZiwA_), sizeof(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q));
  	if ((*T1_).blocks) { nimGCunrefRC1((*T1_).blocks); (*T1_).blocks = NIM_NIL; }
  	(*T1_).options = options;
  	asgnRef((void**) (&(*T1_).module), module);
  	asgnRef((void**) (&(*T1_).procDef), procDef);
  	asgnRef((void**) (&(*T1_).g), globals);
  	(*T1_).extraIndent = ((NI) (!((procDef == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))));
  	result = T1_;
  	{
  		if (!!((procDef == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA4_;
  		asgnRef((void**) (&(*result).prc), (*(*procDef)._kind_6.sons->data[((NI) 0)])._kind_4.sym);
  	}
  	LA4_: ;
  	return result;
  }
  static N_INLINE(void, nimSetMem__systemZmemory_7)(void* a, int v, NI size) {
  	void* T1_;
  	T1_ = (void*)0;
  	T1_ = memset(a, v, ((size_t) (size)));
  }
  static N_INLINE(void, nimZeroMem)(void* p, NI size) {
  	nimSetMem__systemZmemory_7(p, ((int) 0), size);
  }
  N_LIB_PRIVATE N_NIMCALL(tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg, initProcOptions__jsgen_237)(tyObject_TJSGen__qij68Ti2EwJQHH6sSdkSdw* module) {
  	tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg result;
  	nimZeroMem((void*)(&result), sizeof(tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg));
  	result = (*(*module).config).options;
  	{
  		if (!(*(*((tyObject_PGlobalscolonObjectType___nWsHZg3qCUsABoCNYLliag**) (&((*(*module).graph).backend))))).inSystem) goto LA3_;
  		result &= ~(((NU32)1) << ((((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 17)) & 31));
  	}
  	LA3_: ;
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q*, newInitProc__jsgen_244)(tyObject_PGlobalscolonObjectType___nWsHZg3qCUsABoCNYLliag* globals, tyObject_TJSGen__qij68Ti2EwJQHH6sSdkSdw* module) {
  	tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* result;
  	tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg T1_;
  	result = NIM_NIL;
  	T1_ = initProcOptions__jsgen_237(module);
  	result = newProc__jsgen_200(globals, module, ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL), T1_);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, indentLine__jsgen_97)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* r) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p_2;
  	result = NIM_NIL;
  	result = r;
  	p_2 = p;
  	{
  		while (1) {
  			{
  				NI i;
  				NI colontmp_;
  				NI T4_;
  				NI i_2;
  				i = (NI)0;
  				colontmp_ = (NI)0;
  				T4_ = ((*p_2).blocks ? (*p_2).blocks->Sup.len : 0);
  				colontmp_ = (NI)(T4_ + (*p_2).extraIndent);
  				i_2 = ((NI) 0);
  				{
  					while (1) {
  						tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T7_;
  						if (!(i_2 < colontmp_)) goto LA6;
  						i = i_2;
  						T7_ = NIM_NIL;
  						T7_ = rope__ropes_109(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_9));
  						prepend__ropes_265(&result, T7_);
  						i_2 += ((NI) 1);
  					} LA6: ;
  				}
  			}
  			{
  				NIM_BOOL T10_;
  				T10_ = (NIM_BOOL)0;
  				T10_ = ((*p_2).up == ((tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q*) NIM_NIL));
  				if (T10_) goto LA11_;
  				T10_ = !(((*(*p_2).up).prc == (*(*p_2).prc).owner));
  				LA11_: ;
  				if (!T10_) goto LA12_;
  				goto LA1;
  			}
  			LA12_: ;
  			p_2 = (*p_2).up;
  		}
  	} LA1: ;
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_5827)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_10), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_5832)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_11), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, frameCreate__jsgen_5821)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* procname, tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* filename) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	tyArray__mrugoXXRZUEeG9bEXo9auBKw T1_;
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T2_;
  	tyArray__qTjAvTvKF9anytN1At69aJMQ T3_;
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T4_;
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T5_;
  	result = NIM_NIL;
  	nimZeroMem((void*)T1_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  	T1_[0] = procname;
  	T1_[1] = filename;
  	T2_ = NIM_NIL;
  	T2_ = percent___jsgen_5827(T1_, 2);
  	result = indentLine__jsgen_97(p, T2_);
  	nimZeroMem((void*)T3_, sizeof(tyArray__qTjAvTvKF9anytN1At69aJMQ));
  	T4_ = NIM_NIL;
  	T4_ = percent___jsgen_5832(T3_, 0);
  	T5_ = NIM_NIL;
  	T5_ = indentLine__jsgen_97(p, T4_);
  	add__ropes_159(&result, T5_);
  	return result;
  }
  static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size) {
  	void* T1_;
  	T1_ = (void*)0;
  	T1_ = memcpy(dest, source, ((size_t) (size)));
  }
  static N_INLINE(void, copyMem__system_1727)(void* dest, void* source, NI size) {
  	nimCopyMem(dest, source, size);
  }
  static N_INLINE(void, appendString)(NimStringDesc* dest, NimStringDesc* src) {
  	{
  		if (!!((src == ((NimStringDesc*) NIM_NIL)))) goto LA3_;
  		copyMem__system_1727(((void*) ((&(*dest).data[(*dest).Sup.len]))), ((void*) ((*src).data)), ((NI) ((NI)((*src).Sup.len + ((NI) 1)))));
  		(*dest).Sup.len += (*src).Sup.len;
  	}
  	LA3_: ;
  }
  N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, escapeJSString__jsgen_370)(NimStringDesc* s) {
  	NimStringDesc* result;
  	result = NIM_NIL;
  	result = rawNewString(((NI) ((NI)((s ? s->Sup.len : 0) + (NI)((NI32)((s ? s->Sup.len : 0)) >> (NU32)(((NI) 2)))))));
  	result = resizeString(result, 1);
  appendString(result, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_12));
  	{
  		NIM_CHAR c;
  		NI i;
  		NI L;
  		c = (NIM_CHAR)0;
  		i = ((NI) 0);
  		L = (s ? s->Sup.len : 0);
  		{
  			while (1) {
  				if (!(i < L)) goto LA3;
  				c = s->data[i];
  				switch (((NU8)(c))) {
  				case 10:
  				{
  					result = resizeString(result, 2);
  appendString(result, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_13));
  				}
  				break;
  				case 13:
  				{
  					result = resizeString(result, 2);
  appendString(result, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_14));
  				}
  				break;
  				case 9:
  				{
  					result = resizeString(result, 2);
  appendString(result, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_15));
  				}
  				break;
  				case 8:
  				{
  					result = resizeString(result, 2);
  appendString(result, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_16));
  				}
  				break;
  				case 7:
  				{
  					result = resizeString(result, 2);
  appendString(result, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_17));
  				}
  				break;
  				case 27:
  				{
  					result = resizeString(result, 2);
  appendString(result, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_18));
  				}
  				break;
  				case 11:
  				{
  					result = resizeString(result, 2);
  appendString(result, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_19));
  				}
  				break;
  				case 92:
  				{
  					result = resizeString(result, 2);
  appendString(result, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_20));
  				}
  				break;
  				case 34:
  				{
  					result = resizeString(result, 2);
  appendString(result, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_21));
  				}
  				break;
  				default:
  				{
  					result = addChar(result, c);
  				}
  				break;
  				}
  				i += ((NI) 1);
  			} LA3: ;
  		}
  	}
  	result = resizeString(result, 1);
  appendString(result, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_12));
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, makeJSString__jsgen_378)(NimStringDesc* s, NIM_BOOL escapeNonAscii) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	{
  		NimStringDesc* T5_;
  		if (!escapeNonAscii) goto LA3_;
  		T5_ = NIM_NIL;
  		T5_ = nsuEscape(s, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_12), ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_12));
  		result = rope__ropes_109(T5_);
  	}
  	goto LA1_;
  	LA3_: ;
  	{
  		NimStringDesc* T7_;
  		T7_ = NIM_NIL;
  		T7_ = escapeJSString__jsgen_370(s);
  		result = rope__ropes_109(T7_);
  	}
  	LA1_: ;
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_851)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_24), args, argsLen_0);
  	return result;
  }
  static N_INLINE(NI, len__ast_3198)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
  	NI result;
  	NI T1_;
  	result = (NI)0;
  	T1_ = ((*n)._kind_6.sons ? (*n)._kind_6.sons->Sup.len : 0);
  	result = T1_;
  	return result;
  }
  static N_INLINE(NI, safeLen__ast_3191)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
  	NI result;
  	result = (NI)0;
  	{
  		if (!((*n).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 0) && (*n).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23))) goto LA3_;
  		result = ((NI) 0);
  	}
  	goto LA1_;
  	LA3_: ;
  	{
  		result = len__ast_3198(n);
  	}
  	LA1_: ;
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_6551)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_26), args, argsLen_0);
  	return result;
  }
  static N_INLINE(int, nimCmpMem)(void* a, void* b, NI size) {
  	int result;
  	result = (int)0;
  	result = memcmp(a, b, ((size_t) (size)));
  	return result;
  }
  static N_INLINE(NIM_BOOL, equalMem__system_1735)(void* a, void* b, NI size) {
  	NIM_BOOL result;
  	int T1_;
  	result = (NIM_BOOL)0;
  	T1_ = (int)0;
  	T1_ = nimCmpMem(a, b, size);
  	result = (T1_ == ((NI32) 0));
  	return result;
  }
  static N_INLINE(NIM_BOOL, eqStrings)(NimStringDesc* a, NimStringDesc* b) {
  	NIM_BOOL result;
  	NI alen;
  	NI blen;
  {	result = (NIM_BOOL)0;
  	alen = (a ? a->Sup.len : 0);
  	blen = (b ? b->Sup.len : 0);
  	{
  		if (!(alen == blen)) goto LA3_;
  		{
  			if (!(alen == ((NI) 0))) goto LA7_;
  			result = NIM_TRUE;
  			goto BeforeRet_;
  		}
  		LA7_: ;
  		result = equalMem__system_1735(((void*) ((&a->data[((NI) 0)]))), ((void*) ((&b->data[((NI) 0)]))), ((NI) (alen)));
  		goto BeforeRet_;
  	}
  	LA3_: ;
  	}BeforeRet_: ;
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, validJsName__jsgen_312)(NimStringDesc* name) {
  	NIM_BOOL result;
  {	result = (NIM_BOOL)0;
  	result = NIM_TRUE;
  	switch (hashString(name) & 63) {
  	case 2: 
  if (eqStrings(name, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_49))) goto LA1_;
  break;
  	case 5: 
  if (eqStrings(name, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_74))) goto LA1_;
  break;
  	case 6: 
  if (eqStrings(name, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_90))) goto LA1_;
  break;
  	case 7: 
  if (eqStrings(name, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_56))) goto LA1_;
  if (eqStrings(name, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_65))) goto LA1_;
  break;
  	case 8: 
  if (eqStrings(name, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_44))) goto LA1_;
  break;
  	case 10: 
  if (eqStrings(name, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_63))) goto LA1_;
  break;
  	case 11: 
  if (eqStrings(name, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_59))) goto LA1_;
  break;
  	case 12: 
  if (eqStrings(name, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_62))) goto LA1_;
  break;
  	case 13: 
  if (eqStrings(name, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_47))) goto LA1_;
  if (eqStrings(name, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_66))) goto LA1_;
  break;
  	case 14: 
  if (eqStrings(name, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_48))) goto LA1_;
  break;
  	case 15: 
  if (eqStrings(name, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_32))) goto LA1_;
  if (eqStrings(name, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_78))) goto LA1_;
  break;
  	case 19: 
  if (eqStrings(name, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_40))) goto LA1_;
  if (eqStrings(name, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_53))) goto LA1_;
  break;
  	case 20: 
  if (eqStrings(name, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_69))) goto LA1_;
  break;
  	case 21: 
  if (eqStrings(name, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_41))) goto LA1_;
  if (eqStrings(name, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_45))) goto LA1_;
  break;
  	case 23: 
  if (eqStrings(name, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_67))) goto LA1_;
  break;
  	case 25: 
  if (eqStrings(name, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_33))) goto LA1_;
  break;
  	case 26: 
  if (eqStrings(name, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_38))) goto LA1_;
  if (eqStrings(name, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_50))) goto LA1_;
  break;
  	case 28: 
  if (eqStrings(name, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_42))) goto LA1_;
  break;
  	case 29: 
  if (eqStrings(name, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_29))) goto LA1_;
  if (eqStrings(name, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_37))) goto LA1_;
  if (eqStrings(name, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_39))) goto LA1_;
  break;
  	case 30: 
  if (eqStrings(name, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_89))) goto LA1_;
  break;
  	case 32: 
  if (eqStrings(name, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_60))) goto LA1_;
  break;
  	case 34: 
  if (eqStrings(name, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_54))) goto LA1_;
  if (eqStrings(name, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_61))) goto LA1_;
  if (eqStrings(name, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_77))) goto LA1_;
  break;
  	case 36: 
  if (eqStrings(name, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_43))) goto LA1_;
  break;
  	case 37: 
  if (eqStrings(name, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_82))) goto LA1_;
  if (eqStrings(name, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_86))) goto LA1_;
  break;
  	case 38: 
  if (eqStrings(name, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_34))) goto LA1_;
  if (eqStrings(name, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_81))) goto LA1_;
  break;
  	case 40: 
  if (eqStrings(name, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_31))) goto LA1_;
  if (eqStrings(name, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_73))) goto LA1_;
  if (eqStrings(name, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_84))) goto LA1_;
  break;
  	case 41: 
  if (eqStrings(name, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_52))) goto LA1_;
  break;
  	case 44: 
  if (eqStrings(name, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_46))) goto LA1_;
  if (eqStrings(name, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_64))) goto LA1_;
  if (eqStrings(name, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_71))) goto LA1_;
  if (eqStrings(name, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_85))) goto LA1_;
  break;
  	case 45: 
  if (eqStrings(name, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_55))) goto LA1_;
  break;
  	case 47: 
  if (eqStrings(name, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_57))) goto LA1_;
  break;
  	case 49: 
  if (eqStrings(name, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_79))) goto LA1_;
  if (eqStrings(name, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_87))) goto LA1_;
  break;
  	case 52: 
  if (eqStrings(name, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_70))) goto LA1_;
  if (eqStrings(name, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_75))) goto LA1_;
  break;
  	case 55: 
  if (eqStrings(name, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_58))) goto LA1_;
  if (eqStrings(name, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_68))) goto LA1_;
  if (eqStrings(name, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_72))) goto LA1_;
  break;
  	case 56: 
  if (eqStrings(name, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_51))) goto LA1_;
  break;
  	case 57: 
  if (eqStrings(name, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_88))) goto LA1_;
  break;
  	case 59: 
  if (eqStrings(name, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_36))) goto LA1_;
  if (eqStrings(name, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_76))) goto LA1_;
  if (eqStrings(name, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_83))) goto LA1_;
  break;
  	case 61: 
  if (eqStrings(name, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_30))) goto LA1_;
  break;
  	case 62: 
  if (eqStrings(name, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_35))) goto LA1_;
  break;
  	case 63: 
  if (eqStrings(name, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_80))) goto LA1_;
  break;
  	}
  	goto LA2_;
  	LA1_: ;
  	{
  		result = NIM_FALSE;
  		goto BeforeRet_;
  	}
  	goto LA3_;
  	LA2_: ;
  	{
  	}
  	LA3_: ;
  	{
  		if (!(((NU8)(name->data[((NI) 0)])) >= ((NU8)(48)) && ((NU8)(name->data[((NI) 0)])) <= ((NU8)(57)))) goto LA8_;
  		result = NIM_FALSE;
  		goto BeforeRet_;
  	}
  	LA8_: ;
  	{
  		NIM_CHAR chr;
  		NI i;
  		NI L;
  		chr = (NIM_CHAR)0;
  		i = ((NI) 0);
  		L = (name ? name->Sup.len : 0);
  		{
  			while (1) {
  				if (!(i < L)) goto LA12;
  				chr = name->data[i];
  				{
  					if (!!((((NU8)(chr)) >= ((NU8)(65)) && ((NU8)(chr)) <= ((NU8)(90)) || ((NU8)(chr)) >= ((NU8)(97)) && ((NU8)(chr)) <= ((NU8)(122)) || ((NU8)(chr)) == ((NU8)(95)) || ((NU8)(chr)) == ((NU8)(36)) || ((NU8)(chr)) >= ((NU8)(48)) && ((NU8)(chr)) <= ((NU8)(57))))) goto LA15_;
  					result = NIM_FALSE;
  					goto BeforeRet_;
  				}
  				LA15_: ;
  				i += ((NI) 1);
  			} LA12: ;
  		}
  	}
  	}BeforeRet_: ;
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, mangleName__jsgen_308)(tyObject_TJSGen__qij68Ti2EwJQHH6sSdkSdw* m, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = (*s).loc.r;
  	{
  		if (!(result == ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL))) goto LA3_;
  		{
  			NIM_BOOL T7_;
  			T7_ = (NIM_BOOL)0;
  			T7_ = ((*s).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 19));
  			if (!(T7_)) goto LA8_;
  			T7_ = validJsName__jsgen_312((*(*s).name).s);
  			LA8_: ;
  			if (!T7_) goto LA9_;
  			result = rope__ropes_109((*(*s).name).s);
  		}
  		goto LA5_;
  		LA9_: ;
  		{
  			NimStringDesc* T14_;
  			if (!((*s).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 5))) goto LA12_;
  			T14_ = NIM_NIL;
  			T14_ = mangle__ccgutils_112((*(*s).name).s);
  			result = rope__ropes_109(T14_);
  		}
  		goto LA5_;
  		LA12_: ;
  		{
  			NimStringDesc* x;
  			NI i;
  			x = rawNewString(((NI) (((*(*s).name).s ? (*(*s).name).s->Sup.len : 0))));
  			i = ((NI) 0);
  			{
  				while (1) {
  					NIM_CHAR c;
  					if (!(i < ((*(*s).name).s ? (*(*s).name).s->Sup.len : 0))) goto LA17;
  					c = (*(*s).name).s->data[i];
  					switch (((NU8)(c))) {
  					case 65 ... 90:
  					case 97 ... 122:
  					case 95:
  					case 48 ... 57:
  					{
  						x = addChar(x, c);
  					}
  					break;
  					default:
  					{
  						NimStringDesc* T20_;
  						NimStringDesc* T21_;
  						T20_ = NIM_NIL;
  						T21_ = NIM_NIL;
  						T21_ = toHex__pureZstrutils_1792(((NU8)(c)), ((NI) 2));
  						T20_ = rawNewString((T21_ ? T21_->Sup.len : 0) + 3);
  appendString(T20_, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_91));
  appendString(T20_, T21_);
  						x = resizeString(x, (T20_ ? T20_->Sup.len : 0) + 0);
  appendString(x, T20_);
  					}
  					break;
  					}
  					i += ((NI) 1);
  				} LA17: ;
  			}
  			result = rope__ropes_109(x);
  		}
  		LA5_: ;
  		{
  			if (!!(((*s).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 19)))) goto LA24_;
  			{
  				NIM_BOOL T28_;
  				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T31_;
  				T28_ = (NIM_BOOL)0;
  				T28_ = hcrOn__options_569((*m).config);
  				if (!T28_) goto LA29_;
  				T31_ = NIM_NIL;
  				T31_ = idOrSig__sighashes_2057(s, (*(*(*m).module).name).s, (&(*m).sigConflicts));
  				add__ropes_159(&result, T31_);
  			}
  			goto LA26_;
  			LA29_: ;
  			{
  				tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym15_;
  				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T33_;
  				add__ropes_162(&result, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_92));
  				xX60gensym15_ = s;
  				T33_ = NIM_NIL;
  				T33_ = rope__ropes_115(((NI64) ((NI)((NI)((NU32)(((NI) ((*xX60gensym15_).Sup.itemId.module))) << (NU32)(((NI) 20))) + ((NI) ((*xX60gensym15_).Sup.itemId.item))))));
  				add__ropes_159(&result, T33_);
  			}
  			LA26_: ;
  		}
  		LA24_: ;
  		asgnRef((void**) (&(*s).loc.r), result);
  	}
  	LA3_: ;
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_4072)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_93), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_4081)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_94), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyEnum_TJSTypeKind__9aFSCXgaSEq2m81RJRMKDeA, mapType__jsgen_277)(tyObject_TType__facALICuu8zUj0hjvbTLFg* typ) {
  	tyEnum_TJSTypeKind__9aFSCXgaSEq2m81RJRMKDeA result;
  	tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
  	result = (tyEnum_TJSTypeKind__9aFSCXgaSEq2m81RJRMKDeA)0;
  	t = skipTypes__ast_3735(typ, TM__BxLwT0mhrtgTPodf1v3xjg_97);
  	switch ((*t).kind) {
  	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23):
  	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22):
  	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21):
  	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47):
  	{
  		{
  			tyObject_TType__facALICuu8zUj0hjvbTLFg* T4_;
  			tyObject_TType__facALICuu8zUj0hjvbTLFg* T5_;
  			T4_ = NIM_NIL;
  			T4_ = lastSon__ast_3743(t);
  			T5_ = NIM_NIL;
  			T5_ = skipTypes__ast_3735(T4_, TM__BxLwT0mhrtgTPodf1v3xjg_97);
  			if (!((*T5_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17) || (*T5_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 16) || (*T5_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18) || (*T5_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 27) || (*T5_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 19) || (*T5_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 48))) goto LA6_;
  			result = ((tyEnum_TJSTypeKind__9aFSCXgaSEq2m81RJRMKDeA) 8);
  		}
  		goto LA2_;
  		LA6_: ;
  		{
  			result = ((tyEnum_TJSTypeKind__9aFSCXgaSEq2m81RJRMKDeA) 9);
  		}
  		LA2_: ;
  	}
  	break;
  	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 26):
  	{
  		result = ((tyEnum_TJSTypeKind__9aFSCXgaSEq2m81RJRMKDeA) 9);
  	}
  	break;
  	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 20):
  	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 13):
  	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 15):
  	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 50):
  	{
  		result = mapType__jsgen_277((*t).sons->data[((NI) 0)]);
  	}
  	break;
  	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 35):
  	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 40) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 44):
  	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 14):
  	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 2):
  	{
  		result = ((tyEnum_TJSTypeKind__9aFSCXgaSEq2m81RJRMKDeA) 5);
  	}
  	break;
  	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 1):
  	{
  		result = ((tyEnum_TJSTypeKind__9aFSCXgaSEq2m81RJRMKDeA) 3);
  	}
  	break;
  	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 36) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 39):
  	{
  		result = ((tyEnum_TJSTypeKind__9aFSCXgaSEq2m81RJRMKDeA) 6);
  	}
  	break;
  	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 19):
  	{
  		result = ((tyEnum_TJSTypeKind__9aFSCXgaSEq2m81RJRMKDeA) 8);
  	}
  	break;
  	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 28):
  	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 24):
  	{
  		result = ((tyEnum_TJSTypeKind__9aFSCXgaSEq2m81RJRMKDeA) 4);
  	}
  	break;
  	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17):
  	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 16):
  	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18):
  	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 27):
  	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 48):
  	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 49):
  	{
  		result = ((tyEnum_TJSTypeKind__9aFSCXgaSEq2m81RJRMKDeA) 8);
  	}
  	break;
  	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 5):
  	{
  		result = ((tyEnum_TJSTypeKind__9aFSCXgaSEq2m81RJRMKDeA) 1);
  	}
  	break;
  	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 12):
  	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 10):
  	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 9):
  	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 0):
  	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 61):
  	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 30):
  	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 3):
  	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 6):
  	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 7):
  	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8):
  	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 51):
  	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 54):
  	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 56):
  	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 57):
  	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 58):
  	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 59):
  	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 63):
  	{
  		result = ((tyEnum_TJSTypeKind__9aFSCXgaSEq2m81RJRMKDeA) 0);
  	}
  	break;
  	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 11):
  	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 55):
  	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 4):
  	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 52):
  	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 53):
  	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 46):
  	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 45):
  	{
  		tyObject_TType__facALICuu8zUj0hjvbTLFg* T20_;
  		T20_ = NIM_NIL;
  		T20_ = lastSon__ast_3743(typ);
  		result = mapType__jsgen_277(T20_);
  	}
  	break;
  	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60):
  	{
  		{
  			tyObject_TType__facALICuu8zUj0hjvbTLFg* T26_;
  			if (!!(((*t).n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA24_;
  			T26_ = NIM_NIL;
  			T26_ = lastSon__ast_3743(t);
  			result = mapType__jsgen_277(T26_);
  		}
  		goto LA22_;
  		LA24_: ;
  		{
  			result = ((tyEnum_TJSTypeKind__9aFSCXgaSEq2m81RJRMKDeA) 0);
  		}
  		LA22_: ;
  	}
  	break;
  	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25):
  	{
  		result = ((tyEnum_TJSTypeKind__9aFSCXgaSEq2m81RJRMKDeA) 2);
  	}
  	break;
  	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 29):
  	{
  		result = ((tyEnum_TJSTypeKind__9aFSCXgaSEq2m81RJRMKDeA) 7);
  	}
  	break;
  	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 62):
  	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 64):
  	{
  		{
  			if (!NIM_TRUE) goto LA33_;
  			failedAssertImpl__systemZassertions_56(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_98));
  		}
  		LA33_: ;
  	}
  	break;
  	}
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyEnum_TJSTypeKind__9aFSCXgaSEq2m81RJRMKDeA, mapType__jsgen_304)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ) {
  	tyEnum_TJSTypeKind__9aFSCXgaSEq2m81RJRMKDeA result;
  	result = (tyEnum_TJSTypeKind__9aFSCXgaSEq2m81RJRMKDeA)0;
  	result = mapType__jsgen_277(typ);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_4124)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_99), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_4129)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_100), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_1262)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) NIM_NIL), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_3786)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_103), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, putToSeq__jsgen_3782)(NimStringDesc* s, NIM_BOOL indirect) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = rope__ropes_109(s);
  	{
  		tyArray__JiWwrsTRC6xqNlGcBthSVA T5_;
  		if (!indirect) goto LA3_;
  		nimZeroMem((void*)T5_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
  		T5_[0] = result;
  		result = percent___jsgen_3786(T5_, 1);
  	}
  	LA3_: ;
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, arrayTypeForElemType__jsgen_3959)(tyObject_TType__facALICuu8zUj0hjvbTLFg* typ) {
  	NimStringDesc* result;
  	result = NIM_NIL;
  	switch ((*typ).kind) {
  	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31):
  	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 34):
  	{
  		result = copyString(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_108));
  	}
  	break;
  	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 33):
  	{
  		result = copyString(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_109));
  	}
  	break;
  	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 32):
  	{
  		result = copyString(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_110));
  	}
  	break;
  	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 40):
  	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 43):
  	{
  		result = copyString(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_111));
  	}
  	break;
  	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 42):
  	{
  		result = copyString(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_112));
  	}
  	break;
  	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 41):
  	{
  		result = copyString(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_113));
  	}
  	break;
  	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 37):
  	{
  		result = copyString(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_114));
  	}
  	break;
  	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 38):
  	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 36):
  	{
  		result = copyString(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_115));
  	}
  	break;
  	default:
  	{
  		result = ((NimStringDesc*) NIM_NIL);
  	}
  	break;
  	}
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_3974)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_116), args, argsLen_0);
  	return result;
  }
  static N_INLINE(void, addInt__stdZprivateZdigitsutils_189)(NimStringDesc** result, NI x) {
  	addInt__stdZprivateZdigitsutils_167(result, ((NI64) (x)));
  }
  static N_INLINE(NimStringDesc*, toFileLineCol__msgs_615)(tyTuple__kN8up2W6YKc5YA9avn5mV5w info) {
  	NimStringDesc* result;
  	result = NIM_NIL;
  	result = resizeString(result, (info.Field0 ? info.Field0->Sup.len : 0) + 0);
  appendString(result, info.Field0);
  	{
  		if (!(((NI) 0) < info.Field1)) goto LA3_;
  		result = resizeString(result, 1);
  appendString(result, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_117));
  		addInt__stdZprivateZdigitsutils_189((&result), info.Field1);
  		{
  			if (!(((NI) 0) < (NI)(info.Field2 + ((NI) 1)))) goto LA7_;
  			result = resizeString(result, 2);
  appendString(result, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_118));
  			addInt__stdZprivateZdigitsutils_189((&result), (NI)(info.Field2 + ((NI) 1)));
  		}
  		LA7_: ;
  		result = resizeString(result, 1);
  appendString(result, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_119));
  	}
  	LA3_: ;
  	return result;
  }
  static N_INLINE(NIM_BOOL, isCompileTimeOnly__types_3519)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
  	NIM_BOOL result;
  	result = (NIM_BOOL)0;
  	result = ((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8) || (*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60));
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, generateHeader__jsgen_2418)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL);
  	{
  		NI i;
  		NI colontmp_;
  		NI i_2;
  		i = (NI)0;
  		colontmp_ = (NI)0;
  		colontmp_ = len__ast_3198((*typ).n);
  		i_2 = ((NI) 1);
  		{
  			while (1) {
  				if (!(i_2 < colontmp_)) goto LA3;
  				i = i_2;
  				{
  					tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* param;
  					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* name;
  					param = (*(*(*typ).n)._kind_6.sons->data[i])._kind_4.sym;
  					{
  						NIM_BOOL T7_;
  						T7_ = (NIM_BOOL)0;
  						T7_ = isCompileTimeOnly__types_3519((*param).typ);
  						if (!T7_) goto LA8_;
  						goto LA4;
  					}
  					LA8_: ;
  					{
  						if (!!((result == ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL)))) goto LA12_;
  						add__ropes_162(&result, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_118));
  					}
  					LA12_: ;
  					name = mangleName__jsgen_308((*p).module, param);
  					add__ropes_159(&result, name);
  					{
  						tyEnum_TJSTypeKind__9aFSCXgaSEq2m81RJRMKDeA T16_;
  						T16_ = (tyEnum_TJSTypeKind__9aFSCXgaSEq2m81RJRMKDeA)0;
  						T16_ = mapType__jsgen_277((*param).typ);
  						if (!(T16_ == ((tyEnum_TJSTypeKind__9aFSCXgaSEq2m81RJRMKDeA) 9))) goto LA17_;
  						add__ropes_162(&result, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_118));
  						add__ropes_159(&result, name);
  						add__ropes_162(&result, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_121));
  					}
  					LA17_: ;
  				} LA4: ;
  				i_2 += ((NI) 1);
  			} LA3: ;
  		}
  	}
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_5921)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_122), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_5926)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_123), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_5954)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_124), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_5964)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_125), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_5969)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_126), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_1813)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_127), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, lineDir__jsgen_1808)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* config, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, NI line) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	tyArray__mrugoXXRZUEeG9bEXo9auBKw T1_;
  	NimStringDesc* T2_;
  	result = NIM_NIL;
  	nimZeroMem((void*)T1_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  	T2_ = NIM_NIL;
  	T2_ = toFullPath__msgs_538(config, info.fileIndex);
  	T1_[0] = rope__ropes_109(T2_);
  	T1_[1] = rope__ropes_115(((NI64) (line)));
  	result = percent___jsgen_1813(T1_, 2);
  	return result;
  }
  static N_INLINE(NI, toLinenumber__msgs_609)(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info) {
  	NI result;
  	result = (NI)0;
  	result = ((NI) (info.line));
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, optionalLine__jsgen_5862)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* p) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  {	result = NIM_NIL;
  	{
  		if (!(p == ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL))) goto LA3_;
  		result = ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL);
  		goto BeforeRet_;
  	}
  	goto LA1_;
  	LA3_: ;
  	{
  		result = amp___ropes_140(p, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_129));
  		goto BeforeRet_;
  	}
  	LA1_: ;
  	}BeforeRet_: ;
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasFrameInfo__jsgen_1789)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p) {
  	NIM_BOOL result;
  	NIM_BOOL T1_;
  	NIM_BOOL T3_;
  	result = (NIM_BOOL)0;
  	T1_ = (NIM_BOOL)0;
  	T1_ = ((655360 & (*p).options) == 655360);
  	if (!(T1_)) goto LA2_;
  	T3_ = (NIM_BOOL)0;
  	T3_ = ((*p).prc == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
  	if (T3_) goto LA4_;
  	T3_ = !((((*(*p).prc).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 11))&63U)))!=0));
  	LA4_: ;
  	T1_ = T3_;
  	LA2_: ;
  	result = T1_;
  	return result;
  }
  static N_INLINE(void, appendChar)(NimStringDesc* dest, NIM_CHAR c) {
  	(*dest).data[(*dest).Sup.len] = c;
  	(*dest).data[(NI)((*dest).Sup.len + ((NI) 1))] = 0;
  	(*dest).Sup.len += ((NI) 1);
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_5844)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_130), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_2287)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_131), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_5857)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_132), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, frameDestroy__jsgen_5837)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T1_;
  	result = NIM_NIL;
  	T1_ = NIM_NIL;
  	T1_ = rope__ropes_109(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_133));
  	result = indentLine__jsgen_97(p, T1_);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, genProcBody__jsgen_5840)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* prc) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	{
  		NIM_BOOL T3_;
  		NimStringDesc* T6_;
  		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T7_;
  		NimStringDesc* T8_;
  		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T9_;
  		T3_ = (NIM_BOOL)0;
  		T3_ = hasFrameInfo__jsgen_1789(p);
  		if (!T3_) goto LA4_;
  		T6_ = NIM_NIL;
  		T6_ = rawNewString(((*(*(*prc).owner).name).s ? (*(*(*prc).owner).name).s->Sup.len : 0) + ((*(*prc).name).s ? (*(*prc).name).s->Sup.len : 0) + 1);
  appendString(T6_, (*(*(*prc).owner).name).s);
  appendChar(T6_, 46);
  appendString(T6_, (*(*prc).name).s);
  		T7_ = NIM_NIL;
  		T7_ = makeJSString__jsgen_378(T6_, NIM_TRUE);
  		T8_ = NIM_NIL;
  		T8_ = toFilenameOption__msgs_590((*(*p).module).config, (*prc).info.fileIndex, ((tyEnum_FilenameOption__eL86bAtPxXWHj24F5gOMFQ) 5));
  		T9_ = NIM_NIL;
  		T9_ = makeJSString__jsgen_378(T8_, NIM_TRUE);
  		result = frameCreate__jsgen_5821(p, T7_, T9_);
  	}
  	goto LA1_;
  	LA4_: ;
  	{
  		result = ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL);
  	}
  	LA1_: ;
  	{
  		tyArray__qTjAvTvKF9anytN1At69aJMQ T15_;
  		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T16_;
  		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T17_;
  		tyArray__qTjAvTvKF9anytN1At69aJMQ T18_;
  		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T19_;
  		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T20_;
  		if (!(*p).beforeRetNeeded) goto LA13_;
  		nimZeroMem((void*)T15_, sizeof(tyArray__qTjAvTvKF9anytN1At69aJMQ));
  		T16_ = NIM_NIL;
  		T16_ = percent___jsgen_5844(T15_, 0);
  		T17_ = NIM_NIL;
  		T17_ = indentLine__jsgen_97(p, T16_);
  		add__ropes_159(&result, T17_);
  		add__ropes_159(&result, (*p).body);
  		nimZeroMem((void*)T18_, sizeof(tyArray__qTjAvTvKF9anytN1At69aJMQ));
  		T19_ = NIM_NIL;
  		T19_ = percent___jsgen_2287(T18_, 0);
  		T20_ = NIM_NIL;
  		T20_ = indentLine__jsgen_97(p, T19_);
  		add__ropes_159(&result, T20_);
  	}
  	goto LA11_;
  	LA13_: ;
  	{
  		add__ropes_159(&result, (*p).body);
  	}
  	LA11_: ;
  	{
  		tyArray__JiWwrsTRC6xqNlGcBthSVA T26_;
  		if (!((*(*prc).typ).callConv == ((tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA) 4))) goto LA24_;
  		nimZeroMem((void*)T26_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
  		T26_[0] = result;
  		result = percent___jsgen_5857(T26_, 1);
  	}
  	LA24_: ;
  	{
  		NIM_BOOL T29_;
  		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T32_;
  		T29_ = (NIM_BOOL)0;
  		T29_ = hasFrameInfo__jsgen_1789(p);
  		if (!T29_) goto LA30_;
  		T32_ = NIM_NIL;
  		T32_ = frameDestroy__jsgen_5837(p);
  		add__ropes_159(&result, T32_);
  	}
  	LA30_: ;
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_6000)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_135), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_6005)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_136), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, genProc__jsgen_773)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* oldProc, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* prc) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* resultSym;
  	tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w a;
  	tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p;
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* returnStmt;
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* resultAsgn;
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* name;
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* header;
  	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* transformedBody;
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* def;
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T69_;
  	tyArray__qTjAvTvKF9anytN1At69aJMQ T70_;
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T71_;
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T72_;
  	result = NIM_NIL;
  	resultSym = NIM_NIL;
  	nimZeroMem((void*)(&a), sizeof(tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w));
  	p = newProc__jsgen_200((*oldProc).g, (*oldProc).module, (*prc).ast, (*prc).options);
  	asgnRef((void**) (&(*p).up), oldProc);
  	returnStmt = ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL);
  	resultAsgn = ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL);
  	name = mangleName__jsgen_308((*p).module, prc);
  	header = generateHeader__jsgen_2418(p, (*prc).typ);
  	{
  		NIM_BOOL T3_;
  		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* mname;
  		T3_ = (NIM_BOOL)0;
  		T3_ = !(((*(*prc).typ).sons->data[((NI) 0)] == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
  		if (!(T3_)) goto LA4_;
  		T3_ = !((((*prc).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 11))&63U)))!=0));
  		LA4_: ;
  		if (!T3_) goto LA5_;
  		resultSym = (*(*(*prc).ast)._kind_6.sons->data[((NI) 7)])._kind_4.sym;
  		mname = mangleName__jsgen_308((*p).module, resultSym);
  		{
  			NIM_BOOL T9_;
  			NIM_BOOL T10_;
  			tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* vX60gensym1132_;
  			NIM_BOOL T11_;
  			NIM_BOOL T12_;
  			tyEnum_TJSTypeKind__9aFSCXgaSEq2m81RJRMKDeA T17_;
  			tyArray__JiWwrsTRC6xqNlGcBthSVA T20_;
  			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T21_;
  			tyArray__JiWwrsTRC6xqNlGcBthSVA T22_;
  			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T23_;
  			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T24_;
  			T9_ = (NIM_BOOL)0;
  			T10_ = (NIM_BOOL)0;
  			vX60gensym1132_ = resultSym;
  			T11_ = (NIM_BOOL)0;
  			T12_ = (NIM_BOOL)0;
  			T12_ = !(((131080 & (*vX60gensym1132_).flags) == 0));
  			if (!(T12_)) goto LA13_;
  			T12_ = ((192 & (*vX60gensym1132_).flags) == 0);
  			LA13_: ;
  			T11_ = T12_;
  			if (!(T11_)) goto LA14_;
  			T11_ = !(((128544 &((NU32)1<<((NU)((*vX60gensym1132_).kind)&31U)))!=0));
  			LA14_: ;
  			T10_ = !(T11_);
  			if (!(T10_)) goto LA15_;
  			T10_ = ((*(*resultSym).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23) || (*(*resultSym).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21) || (*(*resultSym).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47) || (*(*resultSym).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22) || (*(*resultSym).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 45));
  			LA15_: ;
  			T9_ = T10_;
  			if (!(T9_)) goto LA16_;
  			T17_ = (tyEnum_TJSTypeKind__9aFSCXgaSEq2m81RJRMKDeA)0;
  			T17_ = mapType__jsgen_304(p, (*resultSym).typ);
  			T9_ = (T17_ == ((tyEnum_TJSTypeKind__9aFSCXgaSEq2m81RJRMKDeA) 9));
  			LA16_: ;
  			if (!T9_) goto LA18_;
  			nimZeroMem((void*)T20_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
  			T20_[0] = mname;
  			T21_ = NIM_NIL;
  			T21_ = percent___jsgen_5921(T20_, 1);
  			resultAsgn = indentLine__jsgen_97(p, T21_);
  			nimZeroMem((void*)T22_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
  			T22_[0] = mname;
  			T23_ = NIM_NIL;
  			T23_ = percent___jsgen_5926(T22_, 1);
  			T24_ = NIM_NIL;
  			T24_ = indentLine__jsgen_97(p, T23_);
  			add__ropes_159(&resultAsgn, T24_);
  		}
  		goto LA7_;
  		LA18_: ;
  		{
  			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* resVar;
  			tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* vX60gensym1136_;
  			NIM_BOOL T26_;
  			NIM_BOOL T27_;
  			tyArray__mrugoXXRZUEeG9bEXo9auBKw T30_;
  			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T31_;
  			vX60gensym1136_ = resultSym;
  			T26_ = (NIM_BOOL)0;
  			T27_ = (NIM_BOOL)0;
  			T27_ = !(((131080 & (*vX60gensym1136_).flags) == 0));
  			if (!(T27_)) goto LA28_;
  			T27_ = ((192 & (*vX60gensym1136_).flags) == 0);
  			LA28_: ;
  			T26_ = T27_;
  			if (!(T26_)) goto LA29_;
  			T26_ = !(((128544 &((NU32)1<<((NU)((*vX60gensym1136_).kind)&31U)))!=0));
  			LA29_: ;
  			resVar = createVar__jsgen_3791(p, (*resultSym).typ, T26_);
  			nimZeroMem((void*)T30_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  			T30_[0] = mname;
  			T30_[1] = resVar;
  			T31_ = NIM_NIL;
  			T31_ = percent___jsgen_5954(T30_, 2);
  			resultAsgn = indentLine__jsgen_97(p, T31_);
  		}
  		LA7_: ;
  		gen__jsgen_766(p, (*(*prc).ast)._kind_6.sons->data[((NI) 7)], (&a));
  		{
  			tyEnum_TJSTypeKind__9aFSCXgaSEq2m81RJRMKDeA T34_;
  			tyArray__mrugoXXRZUEeG9bEXo9auBKw T37_;
  			T34_ = (tyEnum_TJSTypeKind__9aFSCXgaSEq2m81RJRMKDeA)0;
  			T34_ = mapType__jsgen_304(p, (*resultSym).typ);
  			if (!(T34_ == ((tyEnum_TJSTypeKind__9aFSCXgaSEq2m81RJRMKDeA) 9))) goto LA35_;
  			nimZeroMem((void*)T37_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  			T37_[0] = a.address;
  			T37_[1] = a.res;
  			returnStmt = percent___jsgen_5964(T37_, 2);
  		}
  		goto LA32_;
  		LA35_: ;
  		{
  			tyArray__JiWwrsTRC6xqNlGcBthSVA T39_;
  			nimZeroMem((void*)T39_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
  			T39_[0] = a.res;
  			returnStmt = percent___jsgen_5969(T39_, 1);
  		}
  		LA32_: ;
  	}
  	LA5_: ;
  	transformedBody = transformBody__transf_16((*(*p).module).graph, (*(*p).module).Sup.idgen, prc, NIM_FALSE);
  	{
  		if (!(((*prc).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 42))&63U)))!=0)) goto LA42_;
  		transformedBody = injectDestructorCalls__injectdestructors_10100((*(*p).module).graph, (*(*p).module).Sup.idgen, prc, transformedBody);
  	}
  	LA42_: ;
  	(*p).extraIndent += ((NI) 1);
  	genStmt__jsgen_770(p, transformedBody);
  	(*p).extraIndent -= ((NI) 1);
  	{
  		NI T48_;
  		if (!(((*(*(*p).module).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0)) goto LA46_;
  		T48_ = (NI)0;
  		T48_ = toLinenumber__msgs_609((*prc).info);
  		result = lineDir__jsgen_1808((*(*p).module).config, (*prc).info, T48_);
  	}
  	LA46_: ;
  	def = NIM_NIL;
  	{
  		NimStringDesc* T53_;
  		tyArray__wm6rkCVggH4IozhLUEP19bg T54_;
  		tyArray__qTjAvTvKF9anytN1At69aJMQ T55_;
  		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T56_;
  		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T57_;
  		if (!!(((*prc).constraint == 0))) goto LA51_;
  		T53_ = NIM_NIL;
  		T53_ = rawNewString(((*(*prc).constraint)._kind_3.strVal ? (*(*prc).constraint)._kind_3.strVal->Sup.len : 0) + 14);
  appendString(T53_, (*(*prc).constraint)._kind_3.strVal);
  appendString(T53_, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_128));
  		nimZeroMem((void*)T54_, sizeof(tyArray__wm6rkCVggH4IozhLUEP19bg));
  		nimZeroMem((void*)T55_, sizeof(tyArray__qTjAvTvKF9anytN1At69aJMQ));
  		T54_[0] = percent___jsgen_1262(T55_, 0);
  		T54_[1] = name;
  		T54_[2] = header;
  		T54_[3] = optionalLine__jsgen_5862((*p).globals);
  		T54_[4] = optionalLine__jsgen_5862((*p).locals);
  		T54_[5] = optionalLine__jsgen_5862(resultAsgn);
  		T56_ = NIM_NIL;
  		T56_ = genProcBody__jsgen_5840(p, prc);
  		T54_[6] = optionalLine__jsgen_5862(T56_);
  		T57_ = NIM_NIL;
  		T57_ = indentLine__jsgen_97(p, returnStmt);
  		T54_[7] = optionalLine__jsgen_5862(T57_);
  		def = runtimeFormat__ropes_271(T53_, T54_, 8);
  	}
  	goto LA49_;
  	LA51_: ;
  	{
  		tyArray__YcHYlgE5mhtkt9a3rnoucVg T66_;
  		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T67_;
  		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T68_;
  		{
  			NIM_BOOL T61_;
  			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* thunkName;
  			tyArray__mrugoXXRZUEeG9bEXo9auBKw T64_;
  			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T65_;
  			T61_ = (NIM_BOOL)0;
  			T61_ = hcrOn__options_569((*(*p).module).config);
  			if (!T61_) goto LA62_;
  			thunkName = name;
  			name = amp___ropes_140(name, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_134));
  			nimZeroMem((void*)T64_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  			T64_[0] = thunkName;
  			T64_[1] = name;
  			T65_ = NIM_NIL;
  			T65_ = percent___jsgen_6000(T64_, 2);
  			add__ropes_159(&result, T65_);
  		}
  		LA62_: ;
  		nimZeroMem((void*)T66_, sizeof(tyArray__YcHYlgE5mhtkt9a3rnoucVg));
  		T66_[0] = name;
  		T66_[1] = header;
  		T66_[2] = optionalLine__jsgen_5862((*p).globals);
  		T66_[3] = optionalLine__jsgen_5862((*p).locals);
  		T66_[4] = optionalLine__jsgen_5862(resultAsgn);
  		T67_ = NIM_NIL;
  		T67_ = genProcBody__jsgen_5840(p, prc);
  		T66_[5] = optionalLine__jsgen_5862(T67_);
  		T68_ = NIM_NIL;
  		T68_ = indentLine__jsgen_97(p, returnStmt);
  		T66_[6] = optionalLine__jsgen_5862(T68_);
  		def = percent___jsgen_6005(T66_, 7);
  	}
  	LA49_: ;
  	(*p).extraIndent -= ((NI) 1);
  	T69_ = NIM_NIL;
  	T69_ = indentLine__jsgen_97(p, def);
  	add__ropes_159(&result, T69_);
  	nimZeroMem((void*)T70_, sizeof(tyArray__qTjAvTvKF9anytN1At69aJMQ));
  	T71_ = NIM_NIL;
  	T71_ = percent___cgen_7505(T70_, 0);
  	T72_ = NIM_NIL;
  	T72_ = indentLine__jsgen_97(p, T71_);
  	add__ropes_159(&result, T72_);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(void, useMagic__jsgen_779)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, NimStringDesc* name) {
  	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
  {	{
  		if (!((name ? name->Sup.len : 0) == ((NI) 0))) goto LA3_;
  		goto BeforeRet_;
  	}
  	LA3_: ;
  	s = getCompilerProc__magicsys_145((*(*p).module).graph, name);
  	{
  		if (!!((s == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA7_;
  		{
  			NimStringDesc* argX60gensym96_;
  			if (!!(((94208 &((NU32)1<<((NU)((*s).kind)&31U)))!=0))) goto LA11_;
  			argX60gensym96_ = toFileLineCol__msgs_615(TM__BxLwT0mhrtgTPodf1v3xjg_120);
  			internalErrorImpl__msgs_1431((*(*p).module).config, unknownLineInfo__lineinfos_280, argX60gensym96_, TM__BxLwT0mhrtgTPodf1v3xjg_120);
  		}
  		LA11_: ;
  		{
  			tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym98_;
  			NIM_BOOL T15_;
  			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* code;
  			xX60gensym98_ = s;
  			T15_ = (NIM_BOOL)0;
  			T15_ = containsOrIncl__astalgo_402((&(*(*p).g).generatedSyms), (NI)((NI)((NU32)(((NI) ((*xX60gensym98_).Sup.itemId.module))) << (NU32)(((NI) 20))) + ((NI) ((*xX60gensym98_).Sup.itemId.item))));
  			if (!!(T15_)) goto LA16_;
  			code = genProc__jsgen_773(p, s);
  			add__ropes_159(&(*(*p).g).constants, code);
  		}
  		LA16_: ;
  	}
  	goto LA5_;
  	LA7_: ;
  	{
  		{
  			NimStringDesc* T23_;
  			if (!!(((*p).prc == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA21_;
  			T23_ = NIM_NIL;
  			T23_ = rawNewString((name ? name->Sup.len : 0) + 21);
  appendString(T23_, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_137));
  appendString(T23_, name);
  			liMessage__msgs_1118((*(*p).module).config, (*(*p).prc).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T23_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 2), TM__BxLwT0mhrtgTPodf1v3xjg_138, NIM_FALSE);
  		}
  		goto LA19_;
  		LA21_: ;
  		{
  			NimStringDesc* T25_;
  			T25_ = NIM_NIL;
  			T25_ = rawNewString((name ? name->Sup.len : 0) + 21);
  appendString(T25_, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_137));
  appendString(T25_, name);
  			liMessage__msgs_1118((*(*p).module).config, unknownLineInfo__lineinfos_280, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T25_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 1), TM__BxLwT0mhrtgTPodf1v3xjg_139, NIM_FALSE);
  		}
  		LA19_: ;
  	}
  	LA5_: ;
  	}BeforeRet_: ;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_3979)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_142), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_689)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_144), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_719)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_145), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_505)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_146), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_543)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_147), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_631)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_152), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_645)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_153), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_528)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_154), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(void, genEnumInfo__jsgen_606)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ, tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* name) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* s;
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* n;
  	tyArray__wqYjTJU9ab2ZgEFMaQc3vNA T19_;
  	tyObject_TType__facALICuu8zUj0hjvbTLFg* xX60gensym73_;
  	NI T20_;
  	tyArray__mrugoXXRZUEeG9bEXo9auBKw T21_;
  	tyArray__mrugoXXRZUEeG9bEXo9auBKw T22_;
  	tyObject_TType__facALICuu8zUj0hjvbTLFg* xX60gensym74_;
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T23_;
  	s = ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL);
  	{
  		NI i;
  		NI colontmp_;
  		NI i_2;
  		i = (NI)0;
  		colontmp_ = (NI)0;
  		colontmp_ = len__ast_3198((*typ).n);
  		i_2 = ((NI) 0);
  		{
  			while (1) {
  				tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* field;
  				NimStringDesc* extName;
  				tyArray__wqYjTJU9ab2ZgEFMaQc3vNA T17_;
  				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T18_;
  				if (!(i_2 < colontmp_)) goto LA3;
  				i = i_2;
  				{
  					if (!!(((*(*(*typ).n)._kind_6.sons->data[i]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3)))) goto LA6_;
  					internalErrorImpl__msgs_1431((*(*p).module).config, (*(*typ).n).info, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_148), TM__BxLwT0mhrtgTPodf1v3xjg_149);
  				}
  				LA6_: ;
  				field = (*(*(*typ).n)._kind_6.sons->data[i])._kind_4.sym;
  				{
  					if (!(((NI) 0) < i)) goto LA10_;
  					add__ropes_162(&s, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_151));
  				}
  				LA10_: ;
  				{
  					if (!((*field).ast == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL))) goto LA14_;
  					extName = (*(*field).name).s;
  				}
  				goto LA12_;
  				LA14_: ;
  				{
  					extName = (*(*field).ast)._kind_3.strVal;
  				}
  				LA12_: ;
  				nimZeroMem((void*)T17_, sizeof(tyArray__wqYjTJU9ab2ZgEFMaQc3vNA));
  				T17_[0] = rope__ropes_115(((NI64) ((*field).position)));
  				T17_[1] = name;
  				T17_[2] = makeJSString__jsgen_378(extName, NIM_TRUE);
  				T18_ = NIM_NIL;
  				T18_ = percent___jsgen_631(T17_, 3);
  				add__ropes_159(&s, T18_);
  				i_2 += ((NI) 1);
  			} LA3: ;
  		}
  	}
  	nimZeroMem((void*)T19_, sizeof(tyArray__wqYjTJU9ab2ZgEFMaQc3vNA));
  	xX60gensym73_ = typ;
  	T19_[0] = rope__ropes_115(((NI64) ((NI)((NI)((NU32)(((NI) ((*xX60gensym73_).Sup.itemId.module))) << (NU32)(((NI) 20))) + ((NI) ((*xX60gensym73_).Sup.itemId.item))))));
  	T20_ = (NI)0;
  	T20_ = len__ast_3198((*typ).n);
  	T19_[1] = rope__ropes_115(((NI64) (T20_)));
  	T19_[2] = s;
  	n = percent___jsgen_645(T19_, 3);
  	nimZeroMem((void*)T21_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  	T21_[0] = name;
  	T21_[1] = rope__ropes_115(((NI64) ((*typ).kind)));
  	s = percent___jsgen_505(T21_, 2);
  	prepend__ropes_265(&(*(*p).g).typeInfo, s);
  	add__ropes_159(&(*(*p).g).typeInfo, n);
  	nimZeroMem((void*)T22_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  	T22_[0] = name;
  	xX60gensym74_ = typ;
  	T22_[1] = rope__ropes_115(((NI64) ((NI)((NI)((NU32)(((NI) ((*xX60gensym74_).Sup.itemId.module))) << (NU32)(((NI) 20))) + ((NI) ((*xX60gensym74_).Sup.itemId.item))))));
  	T23_ = NIM_NIL;
  	T23_ = percent___jsgen_528(T22_, 2);
  	add__ropes_159(&(*(*p).g).typeInfo, T23_);
  	{
  		tyArray__mrugoXXRZUEeG9bEXo9auBKw T28_;
  		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T29_;
  		if (!!(((*typ).sons->data[((NI) 0)] == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA26_;
  		nimZeroMem((void*)T28_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  		T28_[0] = name;
  		T28_[1] = genTypeInfo__jsgen_385(p, (*typ).sons->data[((NI) 0)]);
  		T29_ = NIM_NIL;
  		T29_ = percent___jsgen_543(T28_, 2);
  		add__ropes_159(&(*(*p).g).typeInfo, T29_);
  	}
  	LA26_: ;
  }
  static N_INLINE(NIM_BOOL, objHasTypeField__jsgen_485)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
  	NIM_BOOL result;
  	NIM_BOOL T1_;
  	result = (NIM_BOOL)0;
  	T1_ = (NIM_BOOL)0;
  	T1_ = (((*t).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 3))&63U)))!=0);
  	if (T1_) goto LA2_;
  	T1_ = !(((*t).sons->data[((NI) 0)] == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
  	LA2_: ;
  	result = T1_;
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_517)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_155), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_413)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_156), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_418)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_157), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_462)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_162), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, rope__jsgen_382)(tyObject_Int128__9a9axPfb75jdWY25AamJewkA arg) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	NimStringDesc* T1_;
  	result = NIM_NIL;
  	T1_ = NIM_NIL;
  	T1_ = dollar___int495056_53(arg);
  	result = rope__ropes_109(T1_);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_475)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_165), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_480)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_166), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, genObjectFields__jsgen_388)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* s;
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* u;
  	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* field;
  	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b;
  	result = NIM_NIL;
  	s = NIM_NIL;
  	u = NIM_NIL;
  	field = NIM_NIL;
  	b = NIM_NIL;
  	result = ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL);
  	switch ((*n).kind) {
  	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 138):
  	{
  		{
  			NI T4_;
  			T4_ = (NI)0;
  			T4_ = len__ast_3198(n);
  			if (!(T4_ == ((NI) 1))) goto LA5_;
  			result = genObjectFields__jsgen_388(p, typ, (*n)._kind_6.sons->data[((NI) 0)]);
  		}
  		goto LA2_;
  		LA5_: ;
  		{
  			tyArray__mrugoXXRZUEeG9bEXo9auBKw T16_;
  			NI T17_;
  			s = ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL);
  			{
  				NI i;
  				NI colontmp_;
  				NI i_2;
  				i = (NI)0;
  				colontmp_ = (NI)0;
  				colontmp_ = len__ast_3198(n);
  				i_2 = ((NI) 0);
  				{
  					while (1) {
  						tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T15_;
  						if (!(i_2 < colontmp_)) goto LA10;
  						i = i_2;
  						{
  							if (!(((NI) 0) < i)) goto LA13_;
  							add__ropes_162(&s, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_151));
  						}
  						LA13_: ;
  						T15_ = NIM_NIL;
  						T15_ = genObjectFields__jsgen_388(p, typ, (*n)._kind_6.sons->data[i]);
  						add__ropes_159(&s, T15_);
  						i_2 += ((NI) 1);
  					} LA10: ;
  				}
  			}
  			nimZeroMem((void*)T16_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  			T17_ = (NI)0;
  			T17_ = len__ast_3198(n);
  			T16_[0] = rope__ropes_115(((NI64) (T17_)));
  			T16_[1] = s;
  			result = percent___jsgen_413(T16_, 2);
  		}
  		LA2_: ;
  	}
  	break;
  	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
  	{
  		tyArray__wqYjTJU9ab2ZgEFMaQc3vNA T19_;
  		field = (*n)._kind_4.sym;
  		s = genTypeInfo__jsgen_385(p, (*field).typ);
  		nimZeroMem((void*)T19_, sizeof(tyArray__wqYjTJU9ab2ZgEFMaQc3vNA));
  		T19_[0] = mangleName__jsgen_308((*p).module, field);
  		T19_[1] = s;
  		T19_[2] = makeJSString__jsgen_378((*(*field).name).s, NIM_TRUE);
  		result = percent___jsgen_418(T19_, 3);
  	}
  	break;
  	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 139):
  	{
  		tyArray__duFhZXIIlrbrM62cWjNekg T63_;
  		tyObject_Int128__9a9axPfb75jdWY25AamJewkA T64_;
  		{
  			if (!!(((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3)))) goto LA23_;
  			internalErrorImpl__msgs_1431((*(*p).module).config, (*n).info, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_158), TM__BxLwT0mhrtgTPodf1v3xjg_159);
  		}
  		LA23_: ;
  		field = (*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym;
  		s = genTypeInfo__jsgen_385(p, (*field).typ);
  		{
  			NI i_3;
  			NI colontmp__2;
  			NI i_4;
  			i_3 = (NI)0;
  			colontmp__2 = (NI)0;
  			colontmp__2 = len__ast_3198(n);
  			i_4 = ((NI) 1);
  			{
  				while (1) {
  					tyArray__mrugoXXRZUEeG9bEXo9auBKw T60_;
  					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T61_;
  					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T62_;
  					if (!(i_4 < colontmp__2)) goto LA27;
  					i_3 = i_4;
  					b = (*n)._kind_6.sons->data[i_3];
  					u = ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL);
  					switch ((*b).kind) {
  					case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 85):
  					{
  						{
  							NI T31_;
  							T31_ = (NI)0;
  							T31_ = len__ast_3198(b);
  							if (!(T31_ < ((NI) 2))) goto LA32_;
  							internalErrorImpl__msgs_1431((*(*p).module).config, (*b).info, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_160), TM__BxLwT0mhrtgTPodf1v3xjg_161);
  						}
  						LA32_: ;
  						{
  							NI j;
  							NI colontmp__3;
  							NI T35_;
  							NI i_5;
  							j = (NI)0;
  							colontmp__3 = (NI)0;
  							T35_ = (NI)0;
  							T35_ = len__ast_3198(b);
  							colontmp__3 = (NI)(T35_ - ((NI) 1));
  							i_5 = ((NI) 0);
  							{
  								while (1) {
  									if (!(i_5 < colontmp__3)) goto LA37;
  									j = i_5;
  									{
  										if (!!((u == ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL)))) goto LA40_;
  										add__ropes_162(&u, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_118));
  									}
  									LA40_: ;
  									{
  										tyArray__mrugoXXRZUEeG9bEXo9auBKw T46_;
  										tyObject_Int128__9a9axPfb75jdWY25AamJewkA T47_;
  										tyObject_Int128__9a9axPfb75jdWY25AamJewkA T48_;
  										tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T49_;
  										if (!((*(*b)._kind_6.sons->data[j]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 44))) goto LA44_;
  										nimZeroMem((void*)T46_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  										T47_ = getOrdValue__types_161((*(*b)._kind_6.sons->data[j])._kind_6.sons->data[((NI) 0)], Max__int495056_27);
  										T46_[0] = rope__jsgen_382(T47_);
  										T48_ = getOrdValue__types_161((*(*b)._kind_6.sons->data[j])._kind_6.sons->data[((NI) 1)], Max__int495056_27);
  										T46_[1] = rope__jsgen_382(T48_);
  										T49_ = NIM_NIL;
  										T49_ = percent___jsgen_462(T46_, 2);
  										add__ropes_159(&u, T49_);
  									}
  									goto LA42_;
  									LA44_: ;
  									{
  										tyObject_Int128__9a9axPfb75jdWY25AamJewkA T51_;
  										tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T52_;
  										T51_ = getOrdValue__types_161((*b)._kind_6.sons->data[j], Max__int495056_27);
  										T52_ = NIM_NIL;
  										T52_ = rope__jsgen_382(T51_);
  										add__ropes_159(&u, T52_);
  									}
  									LA42_: ;
  									i_5 += ((NI) 1);
  								} LA37: ;
  							}
  						}
  					}
  					break;
  					case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 88):
  					{
  						tyObject_Int128__9a9axPfb75jdWY25AamJewkA T54_;
  						T54_ = lengthOrd__types_1652((*(*p).module).config, (*field).typ);
  						u = rope__jsgen_382(T54_);
  					}
  					break;
  					default:
  					{
  						internalErrorImpl__msgs_1431((*(*p).module).config, (*n).info, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_163), TM__BxLwT0mhrtgTPodf1v3xjg_164);
  					}
  					break;
  					}
  					{
  						if (!!((result == ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL)))) goto LA58_;
  						add__ropes_162(&result, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_151));
  					}
  					LA58_: ;
  					nimZeroMem((void*)T60_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  					T60_[0] = u;
  					T61_ = NIM_NIL;
  					T61_ = lastSon__ast_4832(b);
  					T60_[1] = genObjectFields__jsgen_388(p, typ, T61_);
  					T62_ = NIM_NIL;
  					T62_ = percent___jsgen_475(T60_, 2);
  					add__ropes_159(&result, T62_);
  					i_4 += ((NI) 1);
  				} LA27: ;
  			}
  		}
  		nimZeroMem((void*)T63_, sizeof(tyArray__duFhZXIIlrbrM62cWjNekg));
  		T63_[0] = mangleName__jsgen_308((*p).module, field);
  		T63_[1] = s;
  		T64_ = lengthOrd__types_1652((*(*p).module).config, (*field).typ);
  		T63_[2] = rope__jsgen_382(T64_);
  		T63_[3] = makeJSString__jsgen_378((*(*field).name).s, NIM_TRUE);
  		T63_[4] = result;
  		result = percent___jsgen_480(T63_, 5);
  	}
  	break;
  	default:
  	{
  		internalErrorImpl__msgs_1431((*(*p).module).config, (*n).info, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_158), TM__BxLwT0mhrtgTPodf1v3xjg_167);
  	}
  	break;
  	}
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(void, genObjectInfo__jsgen_497)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ, tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* name) {
  	tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kind;
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* s;
  	tyArray__mrugoXXRZUEeG9bEXo9auBKw T7_;
  	tyArray__mrugoXXRZUEeG9bEXo9auBKw T8_;
  	tyObject_TType__facALICuu8zUj0hjvbTLFg* xX60gensym50_;
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T9_;
  	tyArray__mrugoXXRZUEeG9bEXo9auBKw T10_;
  	tyObject_TType__facALICuu8zUj0hjvbTLFg* xX60gensym52_;
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T11_;
  	{
  		NIM_BOOL T3_;
  		T3_ = (NIM_BOOL)0;
  		T3_ = objHasTypeField__jsgen_485(typ);
  		if (!T3_) goto LA4_;
  		kind = ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17);
  	}
  	goto LA1_;
  	LA4_: ;
  	{
  		kind = ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18);
  	}
  	LA1_: ;
  	nimZeroMem((void*)T7_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  	T7_[0] = name;
  	T7_[1] = rope__ropes_115(((NI64) (kind)));
  	s = percent___jsgen_505(T7_, 2);
  	prepend__ropes_265(&(*(*p).g).typeInfo, s);
  	nimZeroMem((void*)T8_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  	xX60gensym50_ = typ;
  	T8_[0] = rope__ropes_115(((NI64) ((NI)((NI)((NU32)(((NI) ((*xX60gensym50_).Sup.itemId.module))) << (NU32)(((NI) 20))) + ((NI) ((*xX60gensym50_).Sup.itemId.item))))));
  	T8_[1] = genObjectFields__jsgen_388(p, typ, (*typ).n);
  	T9_ = NIM_NIL;
  	T9_ = percent___jsgen_517(T8_, 2);
  	add__ropes_159(&(*(*p).g).typeInfo, T9_);
  	nimZeroMem((void*)T10_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  	T10_[0] = name;
  	xX60gensym52_ = typ;
  	T10_[1] = rope__ropes_115(((NI64) ((NI)((NI)((NU32)(((NI) ((*xX60gensym52_).Sup.itemId.module))) << (NU32)(((NI) 20))) + ((NI) ((*xX60gensym52_).Sup.itemId.item))))));
  	T11_ = NIM_NIL;
  	T11_ = percent___jsgen_528(T10_, 2);
  	add__ropes_159(&(*(*p).g).typeInfo, T11_);
  	{
  		NIM_BOOL T14_;
  		tyArray__mrugoXXRZUEeG9bEXo9auBKw T18_;
  		tyObject_TType__facALICuu8zUj0hjvbTLFg* T19_;
  		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T20_;
  		T14_ = (NIM_BOOL)0;
  		T14_ = ((*typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17));
  		if (!(T14_)) goto LA15_;
  		T14_ = !(((*typ).sons->data[((NI) 0)] == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
  		LA15_: ;
  		if (!T14_) goto LA16_;
  		nimZeroMem((void*)T18_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  		T18_[0] = name;
  		T19_ = NIM_NIL;
  		T19_ = skipTypes__ast_3735((*typ).sons->data[((NI) 0)], TM__BxLwT0mhrtgTPodf1v3xjg_168);
  		T18_[1] = genTypeInfo__jsgen_385(p, T19_);
  		T20_ = NIM_NIL;
  		T20_ = percent___jsgen_543(T18_, 2);
  		add__ropes_159(&(*(*p).g).typeInfo, T20_);
  	}
  	LA16_: ;
  }
  static N_INLINE(NI, len__ast_4002)(tyObject_TType__facALICuu8zUj0hjvbTLFg* n) {
  	NI result;
  	NI T1_;
  	result = (NI)0;
  	T1_ = ((*n).sons ? (*n).sons->Sup.len : 0);
  	result = T1_;
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_562)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_169), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, genTupleFields__jsgen_548)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* s;
  	tyArray__mrugoXXRZUEeG9bEXo9auBKw T10_;
  	NI T11_;
  	result = NIM_NIL;
  	s = ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL);
  	{
  		NI i;
  		NI colontmp_;
  		NI i_2;
  		i = (NI)0;
  		colontmp_ = (NI)0;
  		colontmp_ = len__ast_4002(typ);
  		i_2 = ((NI) 0);
  		{
  			while (1) {
  				tyArray__mrugoXXRZUEeG9bEXo9auBKw T8_;
  				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T9_;
  				if (!(i_2 < colontmp_)) goto LA3;
  				i = i_2;
  				{
  					if (!(((NI) 0) < i)) goto LA6_;
  					add__ropes_162(&s, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_151));
  				}
  				LA6_: ;
  				nimZeroMem((void*)T8_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  				T8_[0] = rope__ropes_115(((NI64) (i)));
  				T8_[1] = genTypeInfo__jsgen_385(p, (*typ).sons->data[i]);
  				T9_ = NIM_NIL;
  				T9_ = percent___jsgen_562(T8_, 2);
  				add__ropes_159(&s, T9_);
  				i_2 += ((NI) 1);
  			} LA3: ;
  		}
  	}
  	nimZeroMem((void*)T10_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  	T11_ = (NI)0;
  	T11_ = len__ast_4002(typ);
  	T10_[0] = rope__ropes_115(((NI64) (T11_)));
  	T10_[1] = s;
  	result = percent___jsgen_413(T10_, 2);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(void, genTupleInfo__jsgen_574)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ, tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* name) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* s;
  	tyArray__mrugoXXRZUEeG9bEXo9auBKw T1_;
  	tyArray__mrugoXXRZUEeG9bEXo9auBKw T2_;
  	tyObject_TType__facALICuu8zUj0hjvbTLFg* xX60gensym61_;
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T3_;
  	tyArray__mrugoXXRZUEeG9bEXo9auBKw T4_;
  	tyObject_TType__facALICuu8zUj0hjvbTLFg* xX60gensym63_;
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T5_;
  	nimZeroMem((void*)T1_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  	T1_[0] = name;
  	T1_[1] = rope__ropes_115(((NI64) ((*typ).kind)));
  	s = percent___jsgen_505(T1_, 2);
  	prepend__ropes_265(&(*(*p).g).typeInfo, s);
  	nimZeroMem((void*)T2_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  	xX60gensym61_ = typ;
  	T2_[0] = rope__ropes_115(((NI64) ((NI)((NI)((NU32)(((NI) ((*xX60gensym61_).Sup.itemId.module))) << (NU32)(((NI) 20))) + ((NI) ((*xX60gensym61_).Sup.itemId.item))))));
  	T2_[1] = genTupleFields__jsgen_548(p, typ);
  	T3_ = NIM_NIL;
  	T3_ = percent___jsgen_517(T2_, 2);
  	add__ropes_159(&(*(*p).g).typeInfo, T3_);
  	nimZeroMem((void*)T4_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  	T4_[0] = name;
  	xX60gensym63_ = typ;
  	T4_[1] = rope__ropes_115(((NI64) ((NI)((NI)((NU32)(((NI) ((*xX60gensym63_).Sup.itemId.module))) << (NU32)(((NI) 20))) + ((NI) ((*xX60gensym63_).Sup.itemId.item))))));
  	T5_ = NIM_NIL;
  	T5_ = percent___jsgen_528(T4_, 2);
  	add__ropes_159(&(*(*p).g).typeInfo, T5_);
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, genTypeInfo__jsgen_385)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
  	tyArray__JiWwrsTRC6xqNlGcBthSVA T1_;
  	tyObject_TType__facALICuu8zUj0hjvbTLFg* xX60gensym80_;
  {	result = NIM_NIL;
  	t = skipTypes__ast_3735(typ, TM__BxLwT0mhrtgTPodf1v3xjg_143);
  	nimZeroMem((void*)T1_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
  	xX60gensym80_ = t;
  	T1_[0] = rope__ropes_115(((NI64) ((NI)((NI)((NU32)(((NI) ((*xX60gensym80_).Sup.itemId.module))) << (NU32)(((NI) 20))) + ((NI) ((*xX60gensym80_).Sup.itemId.item))))));
  	result = percent___jsgen_689(T1_, 1);
  	{
  		tyObject_TType__facALICuu8zUj0hjvbTLFg* xX60gensym81_;
  		NIM_BOOL T4_;
  		xX60gensym81_ = t;
  		T4_ = (NIM_BOOL)0;
  		T4_ = containsOrIncl__astalgo_402((&(*(*p).g).typeInfoGenerated), (NI)((NI)((NU32)(((NI) ((*xX60gensym81_).Sup.itemId.module))) << (NU32)(((NI) 20))) + ((NI) ((*xX60gensym81_).Sup.itemId.item))));
  		if (!T4_) goto LA5_;
  		goto BeforeRet_;
  	}
  	LA5_: ;
  	switch ((*t).kind) {
  	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 13):
  	{
  		result = genTypeInfo__jsgen_385(p, (*t).sons->data[((NI) 0)]);
  	}
  	break;
  	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 26):
  	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25):
  	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 1):
  	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 2):
  	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 29):
  	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 28):
  	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 44):
  	{
  		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* s;
  		tyArray__mrugoXXRZUEeG9bEXo9auBKw T9_;
  		nimZeroMem((void*)T9_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  		T9_[0] = result;
  		T9_[1] = rope__ropes_115(((NI64) ((*t).kind)));
  		s = percent___jsgen_719(T9_, 2);
  		prepend__ropes_265(&(*(*p).g).typeInfo, s);
  	}
  	break;
  	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23):
  	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47):
  	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22):
  	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21):
  	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 24):
  	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 20):
  	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 19):
  	{
  		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* s_2;
  		tyArray__mrugoXXRZUEeG9bEXo9auBKw T11_;
  		tyArray__mrugoXXRZUEeG9bEXo9auBKw T12_;
  		tyObject_TType__facALICuu8zUj0hjvbTLFg* T13_;
  		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T14_;
  		nimZeroMem((void*)T11_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  		T11_[0] = result;
  		T11_[1] = rope__ropes_115(((NI64) ((*t).kind)));
  		s_2 = percent___jsgen_505(T11_, 2);
  		prepend__ropes_265(&(*(*p).g).typeInfo, s_2);
  		nimZeroMem((void*)T12_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  		T12_[0] = result;
  		T13_ = NIM_NIL;
  		T13_ = lastSon__ast_3743(t);
  		T12_[1] = genTypeInfo__jsgen_385(p, T13_);
  		T14_ = NIM_NIL;
  		T14_ = percent___jsgen_543(T12_, 2);
  		add__ropes_159(&(*(*p).g).typeInfo, T14_);
  	}
  	break;
  	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 16):
  	{
  		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* s_3;
  		tyArray__mrugoXXRZUEeG9bEXo9auBKw T16_;
  		tyArray__mrugoXXRZUEeG9bEXo9auBKw T17_;
  		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T18_;
  		nimZeroMem((void*)T16_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  		T16_[0] = result;
  		T16_[1] = rope__ropes_115(((NI64) ((*t).kind)));
  		s_3 = percent___jsgen_505(T16_, 2);
  		prepend__ropes_265(&(*(*p).g).typeInfo, s_3);
  		nimZeroMem((void*)T17_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  		T17_[0] = result;
  		T17_[1] = genTypeInfo__jsgen_385(p, (*t).sons->data[((NI) 1)]);
  		T18_ = NIM_NIL;
  		T18_ = percent___jsgen_543(T17_, 2);
  		add__ropes_159(&(*(*p).g).typeInfo, T18_);
  	}
  	break;
  	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 14):
  	{
  		genEnumInfo__jsgen_606(p, t, result);
  	}
  	break;
  	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17):
  	{
  		genObjectInfo__jsgen_497(p, t, result);
  	}
  	break;
  	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18):
  	{
  		genTupleInfo__jsgen_574(p, t, result);
  	}
  	break;
  	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60):
  	{
  		{
  			tyObject_TType__facALICuu8zUj0hjvbTLFg* T27_;
  			if (!!(((*t).n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA25_;
  			T27_ = NIM_NIL;
  			T27_ = lastSon__ast_3743(t);
  			result = genTypeInfo__jsgen_385(p, T27_);
  		}
  		goto LA23_;
  		LA25_: ;
  		{
  			NimStringDesc* T29_;
  			T29_ = NIM_NIL;
  			T29_ = rawNewString((reprEnum((NI)(*t).kind, (&NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_)) ? reprEnum((NI)(*t).kind, (&NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_))->Sup.len : 0) + 13);
  appendString(T29_, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_170));
  appendString(T29_, reprEnum((NI)(*t).kind, (&NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_)));
  appendChar(T29_, 41);
  			internalErrorImpl__msgs_1431((*(*p).module).config, unknownLineInfo__lineinfos_280, T29_, TM__BxLwT0mhrtgTPodf1v3xjg_171);
  		}
  		LA23_: ;
  	}
  	break;
  	default:
  	{
  		NimStringDesc* T31_;
  		T31_ = NIM_NIL;
  		T31_ = rawNewString((reprEnum((NI)(*t).kind, (&NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_)) ? reprEnum((NI)(*t).kind, (&NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_))->Sup.len : 0) + 13);
  appendString(T31_, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_170));
  appendString(T31_, reprEnum((NI)(*t).kind, (&NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_)));
  appendChar(T31_, 41);
  		internalErrorImpl__msgs_1431((*(*p).module).config, unknownLineInfo__lineinfos_280, T31_, TM__BxLwT0mhrtgTPodf1v3xjg_172);
  	}
  	break;
  	}
  	}BeforeRet_: ;
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_4002)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_176), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_3949)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_178), args, argsLen_0);
  	return result;
  }
  static N_INLINE(NIM_BOOL, isEmptyType__ast_4779)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
  	NIM_BOOL result;
  	NIM_BOOL T1_;
  	result = (NIM_BOOL)0;
  	T1_ = (NIM_BOOL)0;
  	T1_ = (t == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
  	if (T1_) goto LA2_;
  	T1_ = ((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 63) || (*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 7));
  	LA2_: ;
  	result = T1_;
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_3938)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_179), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(void, createRecordVarAux__jsgen_3795)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* rec, tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* excludedFieldIDs, tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** output) {
  {	switch ((*rec).kind) {
  	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 138):
  	{
  		{
  			NI i;
  			NI colontmp_;
  			NI i_2;
  			i = (NI)0;
  			colontmp_ = (NI)0;
  			colontmp_ = len__ast_3198(rec);
  			i_2 = ((NI) 0);
  			{
  				while (1) {
  					if (!(i_2 < colontmp_)) goto LA4;
  					i = i_2;
  					createRecordVarAux__jsgen_3795(p, (*rec)._kind_6.sons->data[i], excludedFieldIDs, output);
  					i_2 += ((NI) 1);
  				} LA4: ;
  			}
  		}
  	}
  	break;
  	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 139):
  	{
  		createRecordVarAux__jsgen_3795(p, (*rec)._kind_6.sons->data[((NI) 0)], excludedFieldIDs, output);
  		{
  			NI i_3;
  			NI colontmp__2;
  			NI i_4;
  			i_3 = (NI)0;
  			colontmp__2 = (NI)0;
  			colontmp__2 = len__ast_3198(rec);
  			i_4 = ((NI) 1);
  			{
  				while (1) {
  					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T9_;
  					if (!(i_4 < colontmp__2)) goto LA8;
  					i_3 = i_4;
  					T9_ = NIM_NIL;
  					T9_ = lastSon__ast_4832((*rec)._kind_6.sons->data[i_3]);
  					createRecordVarAux__jsgen_3795(p, T9_, excludedFieldIDs, output);
  					i_4 += ((NI) 1);
  				} LA8: ;
  			}
  		}
  	}
  	break;
  	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
  	{
  		{
  			NIM_BOOL T13_;
  			T13_ = (NIM_BOOL)0;
  			T13_ = isEmptyType__ast_4779((*(*rec)._kind_4.sym).typ);
  			if (!T13_) goto LA14_;
  			goto BeforeRet_;
  		}
  		LA14_: ;
  		{
  			tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym766_;
  			NIM_BOOL T18_;
  			tyArray__JiWwrsTRC6xqNlGcBthSVA T26_;
  			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T27_;
  			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T28_;
  			xX60gensym766_ = (*rec)._kind_4.sym;
  			T18_ = (NIM_BOOL)0;
  			T18_ = contains__astalgo_3496(excludedFieldIDs, (NI)((NI)((NU32)(((NI) ((*xX60gensym766_).Sup.itemId.module))) << (NU32)(((NI) 20))) + ((NI) ((*xX60gensym766_).Sup.itemId.item))));
  			if (!!(T18_)) goto LA19_;
  			{
  				NI T23_;
  				T23_ = (NI)0;
  				T23_ = len__ropes_10((*output));
  				if (!(((NI) 0) < T23_)) goto LA24_;
  				add__ropes_162(output, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_118));
  			}
  			LA24_: ;
  			nimZeroMem((void*)T26_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
  			T26_[0] = mangleName__jsgen_308((*p).module, (*rec)._kind_4.sym);
  			T27_ = NIM_NIL;
  			T27_ = percent___jsgen_3938(T26_, 1);
  			add__ropes_159(output, T27_);
  			T28_ = NIM_NIL;
  			T28_ = createVar__jsgen_3791(p, (*(*rec)._kind_4.sym).typ, NIM_FALSE);
  			add__ropes_159(output, T28_);
  		}
  		LA19_: ;
  	}
  	break;
  	default:
  	{
  		internalErrorImpl__msgs_1431((*(*p).module).config, (*rec).info, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_180), TM__BxLwT0mhrtgTPodf1v3xjg_181);
  	}
  	break;
  	}
  	}BeforeRet_: ;
  }
  N_LIB_PRIVATE N_NIMCALL(void, createObjInitList__jsgen_3943)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ, tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* excludedFieldIDs, tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** output) {
  	tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
  	t = typ;
  	{
  		NIM_BOOL T3_;
  		tyArray__JiWwrsTRC6xqNlGcBthSVA T11_;
  		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T12_;
  		T3_ = (NIM_BOOL)0;
  		T3_ = objHasTypeField__jsgen_485(t);
  		if (!T3_) goto LA4_;
  		{
  			NI T8_;
  			T8_ = (NI)0;
  			T8_ = len__ropes_10((*output));
  			if (!(((NI) 0) < T8_)) goto LA9_;
  			add__ropes_162(output, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_118));
  		}
  		LA9_: ;
  		nimZeroMem((void*)T11_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
  		T11_[0] = genTypeInfo__jsgen_385(p, t);
  		T12_ = NIM_NIL;
  		T12_ = percent___jsgen_3949(T11_, 1);
  		add__ropes_159(output, T12_);
  	}
  	LA4_: ;
  	{
  		while (1) {
  			if (!!((t == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA14;
  			t = skipTypes__ast_3735(t, TM__BxLwT0mhrtgTPodf1v3xjg_168);
  			createRecordVarAux__jsgen_3795(p, (*t).n, excludedFieldIDs, output);
  			t = (*t).sons->data[((NI) 0)];
  		} LA14: ;
  	}
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_4012)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_182), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, createVar__jsgen_3791)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ, NIM_BOOL indirect) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
  	result = NIM_NIL;
  	t = skipTypes__ast_3735(typ, TM__BxLwT0mhrtgTPodf1v3xjg_97);
  	switch ((*t).kind) {
  	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 35):
  	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 40) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 44):
  	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 14):
  	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 2):
  	{
  		{
  			NimStringDesc* T4_;
  			T4_ = NIM_NIL;
  			T4_ = dollar___ropes_250((*(*t).sym).loc.r);
  			if (!eqStrings(T4_, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_102))) goto LA5_;
  			result = putToSeq__jsgen_3782(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_104), indirect);
  		}
  		goto LA2_;
  		LA5_: ;
  		{
  			result = putToSeq__jsgen_3782(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_105), indirect);
  		}
  		LA2_: ;
  	}
  	break;
  	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 36) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 39):
  	{
  		result = putToSeq__jsgen_3782(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_106), indirect);
  	}
  	break;
  	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 20):
  	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 11):
  	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 4):
  	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 46):
  	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 45):
  	{
  		tyObject_TType__facALICuu8zUj0hjvbTLFg* T10_;
  		T10_ = NIM_NIL;
  		T10_ = lastSon__ast_3743(typ);
  		result = createVar__jsgen_3791(p, T10_, indirect);
  	}
  	break;
  	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 19):
  	{
  		result = putToSeq__jsgen_3782(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_107), indirect);
  	}
  	break;
  	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 1):
  	{
  		result = putToSeq__jsgen_3782(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_49), indirect);
  	}
  	break;
  	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 5):
  	{
  		result = putToSeq__jsgen_3782(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_67), indirect);
  	}
  	break;
  	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 16):
  	{
  		NI length;
  		tyObject_Int128__9a9axPfb75jdWY25AamJewkA T15_;
  		tyObject_TType__facALICuu8zUj0hjvbTLFg* e;
  		NimStringDesc* jsTyp;
  		T15_ = lengthOrd__types_1652((*(*p).module).config, t);
  		length = toInt__int495056_170(T15_);
  		e = elemType__types_263(t);
  		jsTyp = arrayTypeForElemType__jsgen_3959(e);
  		{
  			tyArray__mrugoXXRZUEeG9bEXo9auBKw T20_;
  			if (!(((NI) 0) < (jsTyp ? jsTyp->Sup.len : 0))) goto LA18_;
  			nimZeroMem((void*)T20_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  			T20_[0] = rope__ropes_109(jsTyp);
  			T20_[1] = rope__ropes_115(((NI64) (length)));
  			result = percent___jsgen_3974(T20_, 2);
  		}
  		goto LA16_;
  		LA18_: ;
  		{
  			tyArray__wqYjTJU9ab2ZgEFMaQc3vNA T24_;
  			if (!(((NI) 32) < length)) goto LA22_;
  			useMagic__jsgen_779(p, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_140));
  			useMagic__jsgen_779(p, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_141));
  			nimZeroMem((void*)T24_, sizeof(tyArray__wqYjTJU9ab2ZgEFMaQc3vNA));
  			T24_[0] = rope__ropes_115(((NI64) (length)));
  			T24_[1] = createVar__jsgen_3791(p, e, NIM_FALSE);
  			T24_[2] = genTypeInfo__jsgen_385(p, e);
  			result = percent___jsgen_3979(T24_, 3);
  		}
  		goto LA16_;
  		LA22_: ;
  		{
  			NI i;
  			result = rope__ropes_109(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_173));
  			i = ((NI) 0);
  			{
  				while (1) {
  					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T32_;
  					if (!(i < length)) goto LA27;
  					{
  						if (!(((NI) 0) < i)) goto LA30_;
  						add__ropes_162(&result, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_118));
  					}
  					LA30_: ;
  					T32_ = NIM_NIL;
  					T32_ = createVar__jsgen_3791(p, e, NIM_FALSE);
  					add__ropes_159(&result, T32_);
  					i += ((NI) 1);
  				} LA27: ;
  			}
  			add__ropes_162(&result, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_174));
  		}
  		LA16_: ;
  		{
  			tyArray__JiWwrsTRC6xqNlGcBthSVA T37_;
  			if (!indirect) goto LA35_;
  			nimZeroMem((void*)T37_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
  			T37_[0] = result;
  			result = percent___jsgen_3786(T37_, 1);
  		}
  		LA35_: ;
  	}
  	break;
  	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18):
  	{
  		result = rope__ropes_109(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_175));
  		{
  			NI i_2;
  			NI colontmp_;
  			NI i_3;
  			i_2 = (NI)0;
  			colontmp_ = (NI)0;
  			colontmp_ = len__ast_4002(t);
  			i_3 = ((NI) 0);
  			{
  				while (1) {
  					tyArray__mrugoXXRZUEeG9bEXo9auBKw T46_;
  					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T47_;
  					if (!(i_3 < colontmp_)) goto LA41;
  					i_2 = i_3;
  					{
  						if (!(((NI) 0) < i_2)) goto LA44_;
  						add__ropes_162(&result, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_118));
  					}
  					LA44_: ;
  					nimZeroMem((void*)T46_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  					T46_[0] = rope__ropes_115(((NI64) (i_2)));
  					T46_[1] = createVar__jsgen_3791(p, (*t).sons->data[i_2], NIM_FALSE);
  					T47_ = NIM_NIL;
  					T47_ = percent___jsgen_4002(T46_, 2);
  					add__ropes_159(&result, T47_);
  					i_3 += ((NI) 1);
  				} LA41: ;
  			}
  		}
  		add__ropes_162(&result, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_177));
  		{
  			tyArray__JiWwrsTRC6xqNlGcBthSVA T52_;
  			if (!indirect) goto LA50_;
  			nimZeroMem((void*)T52_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
  			T52_[0] = result;
  			result = percent___jsgen_3786(T52_, 1);
  		}
  		LA50_: ;
  	}
  	break;
  	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17):
  	{
  		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* initList;
  		tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA T54_;
  		tyArray__JiWwrsTRC6xqNlGcBthSVA T55_;
  		initList = NIM_NIL;
  		nimZeroMem((void*)(&T54_), sizeof(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA));
  		initIntSet__pureZcollectionsZintsets_238((&T54_));
  		createObjInitList__jsgen_3943(p, t, (&T54_), &initList);
  		nimZeroMem((void*)T55_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
  		T55_[0] = initList;
  		result = percent___jsgen_4012(T55_, 1);
  		{
  			tyArray__JiWwrsTRC6xqNlGcBthSVA T60_;
  			if (!indirect) goto LA58_;
  			nimZeroMem((void*)T60_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
  			T60_[0] = result;
  			result = percent___jsgen_3786(T60_, 1);
  		}
  		LA58_: ;
  	}
  	break;
  	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23):
  	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21):
  	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47):
  	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22):
  	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 26):
  	{
  		{
  			tyEnum_TJSTypeKind__9aFSCXgaSEq2m81RJRMKDeA T64_;
  			T64_ = (tyEnum_TJSTypeKind__9aFSCXgaSEq2m81RJRMKDeA)0;
  			T64_ = mapType__jsgen_304(p, t);
  			if (!(T64_ == ((tyEnum_TJSTypeKind__9aFSCXgaSEq2m81RJRMKDeA) 9))) goto LA65_;
  			result = putToSeq__jsgen_3782(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_183), indirect);
  		}
  		goto LA62_;
  		LA65_: ;
  		{
  			result = putToSeq__jsgen_3782(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_67), indirect);
  		}
  		LA62_: ;
  	}
  	break;
  	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 24):
  	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 28):
  	{
  		result = putToSeq__jsgen_3782(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_184), indirect);
  	}
  	break;
  	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 29):
  	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25):
  	{
  		result = putToSeq__jsgen_3782(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_67), indirect);
  	}
  	break;
  	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60):
  	{
  		{
  			tyObject_TType__facALICuu8zUj0hjvbTLFg* T75_;
  			if (!!(((*t).n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA73_;
  			T75_ = NIM_NIL;
  			T75_ = lastSon__ast_3743(t);
  			result = createVar__jsgen_3791(p, T75_, indirect);
  		}
  		goto LA71_;
  		LA73_: ;
  		{
  			NimStringDesc* T77_;
  			T77_ = NIM_NIL;
  			T77_ = rawNewString((reprEnum((NI)(*t).kind, (&NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_)) ? reprEnum((NI)(*t).kind, (&NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_))->Sup.len : 0) + 11);
  appendString(T77_, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_185));
  appendString(T77_, reprEnum((NI)(*t).kind, (&NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_)));
  			internalErrorImpl__msgs_1431((*(*p).module).config, unknownLineInfo__lineinfos_280, T77_, TM__BxLwT0mhrtgTPodf1v3xjg_186);
  			result = ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL);
  		}
  		LA71_: ;
  	}
  	break;
  	default:
  	{
  		NimStringDesc* T79_;
  		T79_ = NIM_NIL;
  		T79_ = rawNewString((reprEnum((NI)(*t).kind, (&NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_)) ? reprEnum((NI)(*t).kind, (&NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_))->Sup.len : 0) + 11);
  appendString(T79_, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_185));
  appendString(T79_, reprEnum((NI)(*t).kind, (&NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_)));
  		internalErrorImpl__msgs_1431((*(*p).module).config, unknownLineInfo__lineinfos_280, T79_, TM__BxLwT0mhrtgTPodf1v3xjg_187);
  		result = ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL);
  	}
  	break;
  	}
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, needsNoCopy__jsgen_2483)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* y) {
  	NIM_BOOL result;
  	NIM_BOOL T1_;
  	NIM_BOOL T3_;
  	NIM_BOOL T4_;
  	tyEnum_TJSTypeKind__9aFSCXgaSEq2m81RJRMKDeA T5_;
  	NIM_BOOL T7_;
  	tyObject_TType__facALICuu8zUj0hjvbTLFg* T10_;
  {	result = (NIM_BOOL)0;
  	T1_ = (NIM_BOOL)0;
  	T1_ = ((TM__BxLwT0mhrtgTPodf1v3xjg_188[(NU)((*y).kind)>>3] &(1U<<((NU)((*y).kind)&7U)))!=0);
  	if (T1_) goto LA2_;
  	T3_ = (NIM_BOOL)0;
  	T4_ = (NIM_BOOL)0;
  	T5_ = (tyEnum_TJSTypeKind__9aFSCXgaSEq2m81RJRMKDeA)0;
  	T5_ = mapType__jsgen_277((*y).typ);
  	T4_ = !((T5_ == ((tyEnum_TJSTypeKind__9aFSCXgaSEq2m81RJRMKDeA) 9)));
  	if (T4_) goto LA6_;
  	T7_ = (NIM_BOOL)0;
  	T7_ = ((*y).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
  	if (!(T7_)) goto LA8_;
  	T7_ = ((*(*y)._kind_4.sym).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
  	LA8_: ;
  	T4_ = T7_;
  	LA6_: ;
  	T3_ = T4_;
  	if (!(T3_)) goto LA9_;
  	T10_ = NIM_NIL;
  	T10_ = skipTypes__ast_3735((*y).typ, TM__BxLwT0mhrtgTPodf1v3xjg_97);
  	T3_ = ((*T10_).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 1) && (*T10_).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 2) || (*T10_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 14) || (*T10_).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21) && (*T10_).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23) || (*T10_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25) || (*T10_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 29) || (*T10_).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31) && (*T10_).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 45) || (*T10_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47));
  	LA9_: ;
  	T1_ = T3_;
  	LA2_: ;
  	result = T1_;
  	goto BeforeRet_;
  	}BeforeRet_: ;
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_4160)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_189), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_846)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_193), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, getTemp__jsgen_838)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, NIM_BOOL defineInLocals) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	tyArray__JiWwrsTRC6xqNlGcBthSVA T1_;
  	result = NIM_NIL;
  	(*p).unique += ((NI) 1);
  	nimZeroMem((void*)T1_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
  	T1_[0] = rope__ropes_115(((NI64) ((*p).unique)));
  	result = percent___jsgen_846(T1_, 1);
  	{
  		tyArray__JiWwrsTRC6xqNlGcBthSVA T6_;
  		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T7_;
  		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T8_;
  		if (!defineInLocals) goto LA4_;
  		nimZeroMem((void*)T6_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
  		T6_[0] = result;
  		T7_ = NIM_NIL;
  		T7_ = percent___jsgen_851(T6_, 1);
  		T8_ = NIM_NIL;
  		T8_ = indentLine__jsgen_97(p, T7_);
  		add__ropes_159(&(*p).locals, T8_);
  	}
  	LA4_: ;
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_4213)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_194), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(void, genVarInit__jsgen_3304)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* v, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
  	tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w a;
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* s;
  	NimStringDesc* varCode;
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* varName;
  	NIM_BOOL useReloadingGuard;
  	NIM_BOOL T1_;
  	NIM_BOOL useGlobalPragmas;
  	NIM_BOOL T3_;
  {	nimZeroMem((void*)(&a), sizeof(tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w));
  	s = NIM_NIL;
  	varCode = NIM_NIL;
  	varName = mangleName__jsgen_308((*p).module, v);
  	T1_ = (NIM_BOOL)0;
  	T1_ = (((*v).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 3))&63U)))!=0);
  	if (!(T1_)) goto LA2_;
  	T1_ = hcrOn__options_569((*(*p).module).config);
  	LA2_: ;
  	useReloadingGuard = T1_;
  	T3_ = (NIM_BOOL)0;
  	T3_ = (((*v).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 3))&63U)))!=0);
  	if (!(T3_)) goto LA4_;
  	T3_ = !(((67110912 & (*v).flags) == 0));
  	LA4_: ;
  	useGlobalPragmas = T3_;
  	{
  		if (!((*v).constraint == 0)) goto LA7_;
  		{
  			tyArray__JiWwrsTRC6xqNlGcBthSVA T13_;
  			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T14_;
  			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T15_;
  			tyArray__JiWwrsTRC6xqNlGcBthSVA T16_;
  			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T17_;
  			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T18_;
  			if (!useReloadingGuard) goto LA11_;
  			nimZeroMem((void*)T13_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
  			T13_[0] = varName;
  			T14_ = NIM_NIL;
  			T14_ = percent___jsgen_851(T13_, 1);
  			T15_ = NIM_NIL;
  			T15_ = indentLine__jsgen_97(p, T14_);
  			add__ropes_159(&(*p).body, T15_);
  			nimZeroMem((void*)T16_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
  			T16_[0] = varName;
  			T17_ = NIM_NIL;
  			T17_ = percent___jsgen_4072(T16_, 1);
  			T18_ = NIM_NIL;
  			T18_ = indentLine__jsgen_97(p, T17_);
  			add__ropes_159(&(*p).body, T18_);
  			varCode = dollar___ropes_250(varName);
  			(*p).extraIndent += ((NI) 1);
  		}
  		goto LA9_;
  		LA11_: ;
  		{
  			tyArray__JiWwrsTRC6xqNlGcBthSVA T22_;
  			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T23_;
  			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T24_;
  			NimStringDesc* T25_;
  			NimStringDesc* T26_;
  			if (!useGlobalPragmas) goto LA20_;
  			nimZeroMem((void*)T22_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
  			T22_[0] = varName;
  			T23_ = NIM_NIL;
  			T23_ = percent___jsgen_4081(T22_, 1);
  			T24_ = NIM_NIL;
  			T24_ = indentLine__jsgen_97(p, T23_);
  			add__ropes_159(&(*p).body, T24_);
  			T25_ = NIM_NIL;
  			T26_ = NIM_NIL;
  			T26_ = dollar___ropes_250(varName);
  			T25_ = rawNewString((T26_ ? T26_->Sup.len : 0) + 11);
  appendString(T25_, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_95));
  appendString(T25_, T26_);
  			varCode = T25_;
  			(*p).extraIndent += ((NI) 1);
  		}
  		goto LA9_;
  		LA20_: ;
  		{
  			varCode = copyString(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_96));
  		}
  		LA9_: ;
  	}
  	goto LA5_;
  	LA7_: ;
  	{
  		varCode = copyString((*(*v).constraint)._kind_3.strVal);
  	}
  	LA5_: ;
  	{
  		if (!((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1))) goto LA31_;
  		{
  			NIM_BOOL T35_;
  			NIM_BOOL T36_;
  			tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* vX60gensym797_;
  			NIM_BOOL T37_;
  			NIM_BOOL T38_;
  			tyEnum_TJSTypeKind__9aFSCXgaSEq2m81RJRMKDeA T43_;
  			tyArray__JiWwrsTRC6xqNlGcBthSVA T46_;
  			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T47_;
  			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T48_;
  			tyArray__JiWwrsTRC6xqNlGcBthSVA T49_;
  			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T50_;
  			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T51_;
  			T35_ = (NIM_BOOL)0;
  			T36_ = (NIM_BOOL)0;
  			vX60gensym797_ = v;
  			T37_ = (NIM_BOOL)0;
  			T38_ = (NIM_BOOL)0;
  			T38_ = !(((131080 & (*vX60gensym797_).flags) == 0));
  			if (!(T38_)) goto LA39_;
  			T38_ = ((192 & (*vX60gensym797_).flags) == 0);
  			LA39_: ;
  			T37_ = T38_;
  			if (!(T37_)) goto LA40_;
  			T37_ = !(((128544 &((NU32)1<<((NU)((*vX60gensym797_).kind)&31U)))!=0));
  			LA40_: ;
  			T36_ = !(T37_);
  			if (!(T36_)) goto LA41_;
  			T36_ = ((*(*v).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23) || (*(*v).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21) || (*(*v).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47) || (*(*v).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22) || (*(*v).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 45));
  			LA41_: ;
  			T35_ = T36_;
  			if (!(T35_)) goto LA42_;
  			T43_ = (tyEnum_TJSTypeKind__9aFSCXgaSEq2m81RJRMKDeA)0;
  			T43_ = mapType__jsgen_304(p, (*v).typ);
  			T35_ = (T43_ == ((tyEnum_TJSTypeKind__9aFSCXgaSEq2m81RJRMKDeA) 9));
  			LA42_: ;
  			if (!T35_) goto LA44_;
  			nimZeroMem((void*)T46_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
  			T46_[0] = varName;
  			T47_ = NIM_NIL;
  			T47_ = percent___jsgen_4124(T46_, 1);
  			T48_ = NIM_NIL;
  			T48_ = indentLine__jsgen_97(p, T47_);
  			add__ropes_159(&(*p).body, T48_);
  			nimZeroMem((void*)T49_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
  			T49_[0] = varName;
  			T50_ = NIM_NIL;
  			T50_ = percent___jsgen_4129(T49_, 1);
  			T51_ = NIM_NIL;
  			T51_ = indentLine__jsgen_97(p, T50_);
  			add__ropes_159(&(*p).body, T51_);
  		}
  		goto LA33_;
  		LA44_: ;
  		{
  			NimStringDesc* T53_;
  			tyArray__wqYjTJU9ab2ZgEFMaQc3vNA T54_;
  			tyArray__qTjAvTvKF9anytN1At69aJMQ T55_;
  			tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* vX60gensym805_;
  			NIM_BOOL T56_;
  			NIM_BOOL T57_;
  			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T60_;
  			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T61_;
  			T53_ = NIM_NIL;
  			T53_ = rawNewString((varCode ? varCode->Sup.len : 0) + 8);
  appendString(T53_, varCode);
  appendString(T53_, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_101));
  			nimZeroMem((void*)T54_, sizeof(tyArray__wqYjTJU9ab2ZgEFMaQc3vNA));
  			nimZeroMem((void*)T55_, sizeof(tyArray__qTjAvTvKF9anytN1At69aJMQ));
  			T54_[0] = percent___jsgen_1262(T55_, 0);
  			T54_[1] = varName;
  			vX60gensym805_ = v;
  			T56_ = (NIM_BOOL)0;
  			T57_ = (NIM_BOOL)0;
  			T57_ = !(((131080 & (*vX60gensym805_).flags) == 0));
  			if (!(T57_)) goto LA58_;
  			T57_ = ((192 & (*vX60gensym805_).flags) == 0);
  			LA58_: ;
  			T56_ = T57_;
  			if (!(T56_)) goto LA59_;
  			T56_ = !(((128544 &((NU32)1<<((NU)((*vX60gensym805_).kind)&31U)))!=0));
  			LA59_: ;
  			T54_[2] = createVar__jsgen_3791(p, (*v).typ, T56_);
  			T60_ = NIM_NIL;
  			T60_ = runtimeFormat__ropes_271(T53_, T54_, 3);
  			T61_ = NIM_NIL;
  			T61_ = indentLine__jsgen_97(p, T60_);
  			add__ropes_159(&(*p).body, T61_);
  		}
  		LA33_: ;
  	}
  	goto LA29_;
  	LA31_: ;
  	{
  		tyEnum_TJSTypeKind__9aFSCXgaSEq2m81RJRMKDeA T63_;
  		gen__jsgen_766(p, n, (&a));
  		T63_ = (tyEnum_TJSTypeKind__9aFSCXgaSEq2m81RJRMKDeA)0;
  		T63_ = mapType__jsgen_304(p, (*v).typ);
  		switch (T63_) {
  		case ((tyEnum_TJSTypeKind__9aFSCXgaSEq2m81RJRMKDeA) 8):
  		case ((tyEnum_TJSTypeKind__9aFSCXgaSEq2m81RJRMKDeA) 4):
  		{
  			{
  				NIM_BOOL T67_;
  				T67_ = (NIM_BOOL)0;
  				T67_ = needsNoCopy__jsgen_2483(p, n);
  				if (!T67_) goto LA68_;
  				s = a.res;
  			}
  			goto LA65_;
  			LA68_: ;
  			{
  				tyArray__mrugoXXRZUEeG9bEXo9auBKw T71_;
  				useMagic__jsgen_779(p, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_141));
  				nimZeroMem((void*)T71_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  				T71_[0] = a.res;
  				T71_[1] = genTypeInfo__jsgen_385(p, (*n).typ);
  				s = percent___jsgen_4160(T71_, 2);
  			}
  			LA65_: ;
  		}
  		break;
  		case ((tyEnum_TJSTypeKind__9aFSCXgaSEq2m81RJRMKDeA) 9):
  		{
  			NIM_BOOL targetBaseIndex;
  			targetBaseIndex = ((131080 & (*v).flags) == 0);
  			{
  				if (!(a.typ == ((tyEnum_TJSTypeKind__9aFSCXgaSEq2m81RJRMKDeA) 9))) goto LA75_;
  				{
  					NimStringDesc* T81_;
  					tyArray__f7nG5LD47BH5K9c6mASit3g T82_;
  					tyArray__qTjAvTvKF9anytN1At69aJMQ T83_;
  					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T84_;
  					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T85_;
  					if (!targetBaseIndex) goto LA79_;
  					T81_ = NIM_NIL;
  					T81_ = rawNewString((varCode ? varCode->Sup.len : 0) + 21);
  appendString(T81_, varCode);
  appendString(T81_, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_190));
  					nimZeroMem((void*)T82_, sizeof(tyArray__f7nG5LD47BH5K9c6mASit3g));
  					nimZeroMem((void*)T83_, sizeof(tyArray__qTjAvTvKF9anytN1At69aJMQ));
  					T82_[0] = percent___jsgen_1262(T83_, 0);
  					T82_[1] = (*v).loc.r;
  					T82_[2] = a.address;
  					T82_[3] = a.res;
  					T84_ = NIM_NIL;
  					T84_ = runtimeFormat__ropes_271(T81_, T82_, 4);
  					T85_ = NIM_NIL;
  					T85_ = indentLine__jsgen_97(p, T84_);
  					add__ropes_159(&(*p).body, T85_);
  				}
  				goto LA77_;
  				LA79_: ;
  				{
  					{
  						tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* vX60gensym812_;
  						NIM_BOOL T89_;
  						NIM_BOOL T90_;
  						NimStringDesc* T95_;
  						tyArray__f7nG5LD47BH5K9c6mASit3g T96_;
  						tyArray__qTjAvTvKF9anytN1At69aJMQ T97_;
  						tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T98_;
  						tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T99_;
  						vX60gensym812_ = v;
  						T89_ = (NIM_BOOL)0;
  						T90_ = (NIM_BOOL)0;
  						T90_ = !(((131080 & (*vX60gensym812_).flags) == 0));
  						if (!(T90_)) goto LA91_;
  						T90_ = ((192 & (*vX60gensym812_).flags) == 0);
  						LA91_: ;
  						T89_ = T90_;
  						if (!(T89_)) goto LA92_;
  						T89_ = !(((128544 &((NU32)1<<((NU)((*vX60gensym812_).kind)&31U)))!=0));
  						LA92_: ;
  						if (!T89_) goto LA93_;
  						T95_ = NIM_NIL;
  						T95_ = rawNewString((varCode ? varCode->Sup.len : 0) + 16);
  appendString(T95_, varCode);
  appendString(T95_, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_191));
  						nimZeroMem((void*)T96_, sizeof(tyArray__f7nG5LD47BH5K9c6mASit3g));
  						nimZeroMem((void*)T97_, sizeof(tyArray__qTjAvTvKF9anytN1At69aJMQ));
  						T96_[0] = percent___jsgen_1262(T97_, 0);
  						T96_[1] = (*v).loc.r;
  						T96_[2] = a.address;
  						T96_[3] = a.res;
  						T98_ = NIM_NIL;
  						T98_ = runtimeFormat__ropes_271(T95_, T96_, 4);
  						T99_ = NIM_NIL;
  						T99_ = indentLine__jsgen_97(p, T98_);
  						add__ropes_159(&(*p).body, T99_);
  					}
  					goto LA87_;
  					LA93_: ;
  					{
  						NimStringDesc* T101_;
  						tyArray__f7nG5LD47BH5K9c6mASit3g T102_;
  						tyArray__qTjAvTvKF9anytN1At69aJMQ T103_;
  						tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T104_;
  						tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T105_;
  						T101_ = NIM_NIL;
  						T101_ = rawNewString((varCode ? varCode->Sup.len : 0) + 14);
  appendString(T101_, varCode);
  appendString(T101_, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_192));
  						nimZeroMem((void*)T102_, sizeof(tyArray__f7nG5LD47BH5K9c6mASit3g));
  						nimZeroMem((void*)T103_, sizeof(tyArray__qTjAvTvKF9anytN1At69aJMQ));
  						T102_[0] = percent___jsgen_1262(T103_, 0);
  						T102_[1] = (*v).loc.r;
  						T102_[2] = a.address;
  						T102_[3] = a.res;
  						T104_ = NIM_NIL;
  						T104_ = runtimeFormat__ropes_271(T101_, T102_, 4);
  						T105_ = NIM_NIL;
  						T105_ = indentLine__jsgen_97(p, T104_);
  						add__ropes_159(&(*p).body, T105_);
  					}
  					LA87_: ;
  				}
  				LA77_: ;
  			}
  			goto LA73_;
  			LA75_: ;
  			{
  				{
  					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* tmp;
  					tyArray__wqYjTJU9ab2ZgEFMaQc3vNA T111_;
  					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T112_;
  					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T113_;
  					if (!targetBaseIndex) goto LA109_;
  					tmp = getTemp__jsgen_838(p, NIM_TRUE);
  					nimZeroMem((void*)T111_, sizeof(tyArray__wqYjTJU9ab2ZgEFMaQc3vNA));
  					T111_[0] = tmp;
  					T111_[1] = a.res;
  					T111_[2] = (*v).loc.r;
  					T112_ = NIM_NIL;
  					T112_ = percent___jsgen_4213(T111_, 3);
  					T113_ = NIM_NIL;
  					T113_ = indentLine__jsgen_97(p, T112_);
  					add__ropes_159(&(*p).body, T113_);
  				}
  				goto LA107_;
  				LA109_: ;
  				{
  					NimStringDesc* T115_;
  					tyArray__wqYjTJU9ab2ZgEFMaQc3vNA T116_;
  					tyArray__qTjAvTvKF9anytN1At69aJMQ T117_;
  					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T118_;
  					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T119_;
  					T115_ = NIM_NIL;
  					T115_ = rawNewString((varCode ? varCode->Sup.len : 0) + 8);
  appendString(T115_, varCode);
  appendString(T115_, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_101));
  					nimZeroMem((void*)T116_, sizeof(tyArray__wqYjTJU9ab2ZgEFMaQc3vNA));
  					nimZeroMem((void*)T117_, sizeof(tyArray__qTjAvTvKF9anytN1At69aJMQ));
  					T116_[0] = percent___jsgen_1262(T117_, 0);
  					T116_[1] = (*v).loc.r;
  					T116_[2] = a.res;
  					T118_ = NIM_NIL;
  					T118_ = runtimeFormat__ropes_271(T115_, T116_, 3);
  					T119_ = NIM_NIL;
  					T119_ = indentLine__jsgen_97(p, T118_);
  					add__ropes_159(&(*p).body, T119_);
  				}
  				LA107_: ;
  			}
  			LA73_: ;
  			goto BeforeRet_;
  		}
  		break;
  		default:
  		{
  			s = a.res;
  		}
  		break;
  		}
  		{
  			tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* vX60gensym825_;
  			NIM_BOOL T123_;
  			NIM_BOOL T124_;
  			NimStringDesc* T129_;
  			tyArray__wqYjTJU9ab2ZgEFMaQc3vNA T130_;
  			tyArray__qTjAvTvKF9anytN1At69aJMQ T131_;
  			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T132_;
  			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T133_;
  			vX60gensym825_ = v;
  			T123_ = (NIM_BOOL)0;
  			T124_ = (NIM_BOOL)0;
  			T124_ = !(((131080 & (*vX60gensym825_).flags) == 0));
  			if (!(T124_)) goto LA125_;
  			T124_ = ((192 & (*vX60gensym825_).flags) == 0);
  			LA125_: ;
  			T123_ = T124_;
  			if (!(T123_)) goto LA126_;
  			T123_ = !(((128544 &((NU32)1<<((NU)((*vX60gensym825_).kind)&31U)))!=0));
  			LA126_: ;
  			if (!T123_) goto LA127_;
  			T129_ = NIM_NIL;
  			T129_ = rawNewString((varCode ? varCode->Sup.len : 0) + 10);
  appendString(T129_, varCode);
  appendString(T129_, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_195));
  			nimZeroMem((void*)T130_, sizeof(tyArray__wqYjTJU9ab2ZgEFMaQc3vNA));
  			nimZeroMem((void*)T131_, sizeof(tyArray__qTjAvTvKF9anytN1At69aJMQ));
  			T130_[0] = percent___jsgen_1262(T131_, 0);
  			T130_[1] = (*v).loc.r;
  			T130_[2] = s;
  			T132_ = NIM_NIL;
  			T132_ = runtimeFormat__ropes_271(T129_, T130_, 3);
  			T133_ = NIM_NIL;
  			T133_ = indentLine__jsgen_97(p, T132_);
  			add__ropes_159(&(*p).body, T133_);
  		}
  		goto LA121_;
  		LA127_: ;
  		{
  			NimStringDesc* T135_;
  			tyArray__wqYjTJU9ab2ZgEFMaQc3vNA T136_;
  			tyArray__qTjAvTvKF9anytN1At69aJMQ T137_;
  			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T138_;
  			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T139_;
  			T135_ = NIM_NIL;
  			T135_ = rawNewString((varCode ? varCode->Sup.len : 0) + 8);
  appendString(T135_, varCode);
  appendString(T135_, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_101));
  			nimZeroMem((void*)T136_, sizeof(tyArray__wqYjTJU9ab2ZgEFMaQc3vNA));
  			nimZeroMem((void*)T137_, sizeof(tyArray__qTjAvTvKF9anytN1At69aJMQ));
  			T136_[0] = percent___jsgen_1262(T137_, 0);
  			T136_[1] = (*v).loc.r;
  			T136_[2] = s;
  			T138_ = NIM_NIL;
  			T138_ = runtimeFormat__ropes_271(T135_, T136_, 3);
  			T139_ = NIM_NIL;
  			T139_ = indentLine__jsgen_97(p, T138_);
  			add__ropes_159(&(*p).body, T139_);
  		}
  		LA121_: ;
  	}
  	LA29_: ;
  	{
  		NIM_BOOL T142_;
  		tyArray__qTjAvTvKF9anytN1At69aJMQ T146_;
  		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T147_;
  		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T148_;
  		T142_ = (NIM_BOOL)0;
  		T142_ = useReloadingGuard;
  		if (T142_) goto LA143_;
  		T142_ = useGlobalPragmas;
  		LA143_: ;
  		if (!T142_) goto LA144_;
  		(*p).extraIndent -= ((NI) 1);
  		nimZeroMem((void*)T146_, sizeof(tyArray__qTjAvTvKF9anytN1At69aJMQ));
  		T147_ = NIM_NIL;
  		T147_ = percent___cgen_7505(T146_, 0);
  		T148_ = NIM_NIL;
  		T148_ = indentLine__jsgen_97(p, T147_);
  		add__ropes_159(&(*p).body, T148_);
  	}
  	LA144_: ;
  	}BeforeRet_: ;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_3298)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_198), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(void, genCopyForParamIfNeeded__jsgen_3260)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
  	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
  	tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* owner;
  {	s = (*n)._kind_4.sym;
  	{
  		NIM_BOOL T3_;
  		T3_ = (NIM_BOOL)0;
  		T3_ = ((*p).prc == (*s).owner);
  		if (T3_) goto LA4_;
  		T3_ = needsNoCopy__jsgen_2483(p, n);
  		LA4_: ;
  		if (!T3_) goto LA5_;
  		goto BeforeRet_;
  	}
  	LA5_: ;
  	owner = (*p).up;
  	{
  		while (1) {
  			{
  				NimStringDesc* T13_;
  				if (!(owner == ((tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q*) NIM_NIL))) goto LA11_;
  				T13_ = NIM_NIL;
  				T13_ = rawNewString(((*(*s).name).s ? (*(*s).name).s->Sup.len : 0) + 55);
  appendString(T13_, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_196));
  appendString(T13_, (*(*s).name).s);
  				internalErrorImpl__msgs_1431((*(*p).module).config, (*n).info, T13_, TM__BxLwT0mhrtgTPodf1v3xjg_197);
  			}
  			LA11_: ;
  			{
  				if (!((*owner).prc == (*s).owner)) goto LA16_;
  				{
  					tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym679_;
  					NIM_BOOL T20_;
  					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* copy;
  					tyArray__mrugoXXRZUEeG9bEXo9auBKw T23_;
  					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T24_;
  					xX60gensym679_ = s;
  					T20_ = (NIM_BOOL)0;
  					T20_ = containsOrIncl__astalgo_402((&(*owner).generatedParamCopies), (NI)((NI)((NU32)(((NI) ((*xX60gensym679_).Sup.itemId.module))) << (NU32)(((NI) 20))) + ((NI) ((*xX60gensym679_).Sup.itemId.item))));
  					if (!!(T20_)) goto LA21_;
  					nimZeroMem((void*)T23_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  					T23_[0] = (*s).loc.r;
  					T23_[1] = genTypeInfo__jsgen_385(p, (*s).typ);
  					copy = percent___jsgen_3298(T23_, 2);
  					T24_ = NIM_NIL;
  					T24_ = indentLine__jsgen_97(owner, copy);
  					add__ropes_159(&(*owner).locals, T24_);
  				}
  				LA21_: ;
  				goto BeforeRet_;
  			}
  			LA16_: ;
  			owner = (*owner).up;
  		}
  	}
  	}BeforeRet_: ;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_3364)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_199), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_3369)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_200), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_2827)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_201), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_2822)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_202), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(void, genConstant__jsgen_776)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* c) {
  	{
  		NIM_BOOL T3_;
  		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym849_;
  		NIM_BOOL T5_;
  		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* oldBody;
  		T3_ = (NIM_BOOL)0;
  		T3_ = !((((*c).loc.flags &((NU16)1<<((NU)(((tyEnum_TLocFlag__o2bqJgR4ceIupnUSpxiudA) 3))&15U)))!=0));
  		if (!(T3_)) goto LA4_;
  		xX60gensym849_ = c;
  		T5_ = (NIM_BOOL)0;
  		T5_ = containsOrIncl__astalgo_402((&(*(*p).g).generatedSyms), (NI)((NI)((NU32)(((NI) ((*xX60gensym849_).Sup.itemId.module))) << (NU32)(((NI) 20))) + ((NI) ((*xX60gensym849_).Sup.itemId.item))));
  		T3_ = !(T5_);
  		LA4_: ;
  		if (!T3_) goto LA6_;
  		oldBody = (*p).body;
  		asgnRef((void**) (&(*p).body), ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL));
  		genVarInit__jsgen_3304(p, c, (*c).ast);
  		add__ropes_159(&(*(*p).g).constants, (*p).body);
  		asgnRef((void**) (&(*p).body), oldBody);
  	}
  	LA6_: ;
  }
  static N_INLINE(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, getBody__modulegraphs_11241)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s) {
  	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
  	result = NIM_NIL;
  	result = (*(*s).ast)._kind_6.sons->data[((NI) 6)];
  	{
  		NIM_BOOL T3_;
  		T3_ = (NIM_BOOL)0;
  		T3_ = (result == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
  		if (!(T3_)) goto LA4_;
  		T3_ = ((28 &((NU8)1<<((NU)((*(*g).config).symbolFiles)&7U)))!=0);
  		LA4_: ;
  		if (!T3_) goto LA5_;
  		result = loadProcBody__icZic_8390((*g).config, (*g).cache, (&(*g).packed_0), s);
  		asgnRef((void**) (&(*(*s).ast)._kind_6.sons->data[((NI) 6)]), result);
  	}
  	LA5_: ;
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(void, attachProc__jsgen_3214)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* content, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s) {
  	add__ropes_159(&(*(*p).g).code, content);
  }
  N_LIB_PRIVATE N_NIMCALL(void, genProcForSymIfNeeded__jsgen_3222)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s) {
  	{
  		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym672_;
  		NIM_BOOL T3_;
  		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* newp;
  		tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* owner;
  		xX60gensym672_ = s;
  		T3_ = (NIM_BOOL)0;
  		T3_ = containsOrIncl__astalgo_402((&(*(*p).g).generatedSyms), (NI)((NI)((NU32)(((NI) ((*xX60gensym672_).Sup.itemId.module))) << (NU32)(((NI) 20))) + ((NI) ((*xX60gensym672_).Sup.itemId.item))));
  		if (!!(T3_)) goto LA4_;
  		newp = genProc__jsgen_773(p, s);
  		owner = p;
  		{
  			while (1) {
  				NIM_BOOL T8_;
  				T8_ = (NIM_BOOL)0;
  				T8_ = !((owner == ((tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q*) NIM_NIL)));
  				if (!(T8_)) goto LA9_;
  				T8_ = !(((*owner).prc == (*s).owner));
  				LA9_: ;
  				if (!T8_) goto LA7;
  				owner = (*owner).up;
  			} LA7: ;
  		}
  		{
  			if (!!((owner == ((tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q*) NIM_NIL)))) goto LA12_;
  			add__ropes_159(&(*owner).locals, newp);
  		}
  		goto LA10_;
  		LA12_: ;
  		{
  			attachProc__jsgen_3214(p, newp, s);
  		}
  		LA10_: ;
  	}
  	LA4_: ;
  }
  N_LIB_PRIVATE N_NIMCALL(void, genSym__jsgen_3308)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w* r) {
  	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
  	s = (*n)._kind_4.sym;
  	switch ((*s).kind) {
  	case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 8):
  	case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 9):
  	case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3):
  	case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 5):
  	case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 11):
  	case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 21):
  	{
  		tyEnum_TJSTypeKind__9aFSCXgaSEq2m81RJRMKDeA k;
  		{
  			NimStringDesc* T6_;
  			if (!((*s).loc.r == ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL))) goto LA4_;
  			T6_ = NIM_NIL;
  			T6_ = rawNewString(((*(*s).name).s ? (*(*s).name).s->Sup.len : 0) + 30);
  appendString(T6_, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_27));
  appendString(T6_, (*(*s).name).s);
  			internalErrorImpl__msgs_1431((*(*p).module).config, (*n).info, T6_, TM__BxLwT0mhrtgTPodf1v3xjg_28);
  		}
  		LA4_: ;
  		{
  			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T11_;
  			if (!(((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 28))&63U)))!=0)) goto LA9_;
  			T11_ = NIM_NIL;
  			{
  				if (!!(((*s).ast == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA14_;
  				T11_ = (*s).ast;
  			}
  			goto LA12_;
  			LA14_: ;
  			{
  				T11_ = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1), (*s).info);
  			}
  			LA12_: ;
  			genVarInit__jsgen_3304(p, s, T11_);
  		}
  		LA9_: ;
  		{
  			if (!((*s).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3))) goto LA19_;
  			genCopyForParamIfNeeded__jsgen_3260(p, n);
  		}
  		LA19_: ;
  		k = mapType__jsgen_304(p, (*s).typ);
  		{
  			if (!(k == ((tyEnum_TJSTypeKind__9aFSCXgaSEq2m81RJRMKDeA) 9))) goto LA23_;
  			(*r).typ = ((tyEnum_TJSTypeKind__9aFSCXgaSEq2m81RJRMKDeA) 9);
  			{
  				if (!!(((131080 & (*s).flags) == 0))) goto LA27_;
  				{
  					tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* vX60gensym686_;
  					NIM_BOOL T31_;
  					NIM_BOOL T32_;
  					tyArray__JiWwrsTRC6xqNlGcBthSVA T37_;
  					tyArray__JiWwrsTRC6xqNlGcBthSVA T38_;
  					vX60gensym686_ = s;
  					T31_ = (NIM_BOOL)0;
  					T32_ = (NIM_BOOL)0;
  					T32_ = !(((131080 & (*vX60gensym686_).flags) == 0));
  					if (!(T32_)) goto LA33_;
  					T32_ = ((192 & (*vX60gensym686_).flags) == 0);
  					LA33_: ;
  					T31_ = T32_;
  					if (!(T31_)) goto LA34_;
  					T31_ = !(((128544 &((NU32)1<<((NU)((*vX60gensym686_).kind)&31U)))!=0));
  					LA34_: ;
  					if (!T31_) goto LA35_;
  					nimZeroMem((void*)T37_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
  					T37_[0] = (*s).loc.r;
  					unsureAsgnRef((void**) (&(*r).address), percent___jsgen_3364(T37_, 1));
  					nimZeroMem((void*)T38_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
  					T38_[0] = (*s).loc.r;
  					unsureAsgnRef((void**) (&(*r).res), percent___jsgen_3369(T38_, 1));
  				}
  				goto LA29_;
  				LA35_: ;
  				{
  					tyArray__JiWwrsTRC6xqNlGcBthSVA T40_;
  					tyArray__JiWwrsTRC6xqNlGcBthSVA T41_;
  					nimZeroMem((void*)T40_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
  					T40_[0] = (*s).loc.r;
  					unsureAsgnRef((void**) (&(*r).address), percent___jsgen_2827(T40_, 1));
  					nimZeroMem((void*)T41_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
  					T41_[0] = (*s).loc.r;
  					unsureAsgnRef((void**) (&(*r).res), percent___jsgen_2822(T41_, 1));
  				}
  				LA29_: ;
  			}
  			goto LA25_;
  			LA27_: ;
  			{
  				unsureAsgnRef((void**) (&(*r).address), (*s).loc.r);
  				unsureAsgnRef((void**) (&(*r).res), amp___ropes_140((*s).loc.r, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_121)));
  			}
  			LA25_: ;
  		}
  		goto LA21_;
  		LA23_: ;
  		{
  			tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* vX60gensym689_;
  			NIM_BOOL T44_;
  			NIM_BOOL T45_;
  			tyArray__JiWwrsTRC6xqNlGcBthSVA T50_;
  			vX60gensym689_ = s;
  			T44_ = (NIM_BOOL)0;
  			T45_ = (NIM_BOOL)0;
  			T45_ = !(((131080 & (*vX60gensym689_).flags) == 0));
  			if (!(T45_)) goto LA46_;
  			T45_ = ((192 & (*vX60gensym689_).flags) == 0);
  			LA46_: ;
  			T44_ = T45_;
  			if (!(T44_)) goto LA47_;
  			T44_ = !(((128544 &((NU32)1<<((NU)((*vX60gensym689_).kind)&31U)))!=0));
  			LA47_: ;
  			if (!T44_) goto LA48_;
  			nimZeroMem((void*)T50_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
  			T50_[0] = (*s).loc.r;
  			unsureAsgnRef((void**) (&(*r).res), percent___jsgen_2827(T50_, 1));
  		}
  		goto LA21_;
  		LA48_: ;
  		{
  			unsureAsgnRef((void**) (&(*r).res), (*s).loc.r);
  		}
  		LA21_: ;
  	}
  	break;
  	case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 10):
  	{
  		genConstant__jsgen_776(p, s);
  		{
  			NimStringDesc* T57_;
  			if (!((*s).loc.r == ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL))) goto LA55_;
  			T57_ = NIM_NIL;
  			T57_ = rawNewString(((*(*s).name).s ? (*(*s).name).s->Sup.len : 0) + 30);
  appendString(T57_, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_27));
  appendString(T57_, (*(*s).name).s);
  			internalErrorImpl__msgs_1431((*(*p).module).config, (*n).info, T57_, TM__BxLwT0mhrtgTPodf1v3xjg_203);
  		}
  		LA55_: ;
  		unsureAsgnRef((void**) (&(*r).res), (*s).loc.r);
  	}
  	break;
  	case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 12):
  	case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 13):
  	case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 16):
  	case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 14):
  	{
  		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T64_;
  		{
  			NimStringDesc* T63_;
  			if (!(((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 28))&63U)))!=0)) goto LA61_;
  			T63_ = NIM_NIL;
  			T63_ = rawNewString(((*(*s).name).s ? (*(*s).name).s->Sup.len : 0) + 48);
  appendString(T63_, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_204));
  appendString(T63_, (*(*s).name).s);
  			liMessage__msgs_1118((*(*p).module).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T63_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__BxLwT0mhrtgTPodf1v3xjg_205, NIM_FALSE);
  		}
  		LA61_: ;
  		T64_ = NIM_NIL;
  		T64_ = mangleName__jsgen_308((*p).module, s);
  		(void)(T64_);
  		unsureAsgnRef((void**) (&(*r).res), (*s).loc.r);
  		{
  			NIM_BOOL T67_;
  			NIM_BOOL T68_;
  			T67_ = (NIM_BOOL)0;
  			T68_ = (NIM_BOOL)0;
  			T68_ = (((*s).loc.flags &((NU16)1<<((NU)(((tyEnum_TLocFlag__o2bqJgR4ceIupnUSpxiudA) 3))&15U)))!=0);
  			if (T68_) goto LA69_;
  			T68_ = !(((*s).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 0) || (*s).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 155)));
  			LA69_: ;
  			T67_ = T68_;
  			if (T67_) goto LA70_;
  			T67_ = !(((IL64(4294967360) & (*s).flags) == 0));
  			LA70_: ;
  			if (!T67_) goto LA71_;
  		}
  		goto LA65_;
  		LA71_: ;
  		{
  			NIM_BOOL T74_;
  			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T76_;
  			T74_ = (NIM_BOOL)0;
  			T74_ = ((*s).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 14));
  			if (!(T74_)) goto LA75_;
  			T76_ = NIM_NIL;
  			T76_ = getBody__modulegraphs_11241((*(*p).module).graph, s);
  			T74_ = ((*T76_).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1));
  			LA75_: ;
  			if (!T74_) goto LA77_;
  		}
  		goto LA65_;
  		LA77_: ;
  		{
  			NI T82_;
  			if (!(((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 4))&63U)))!=0)) goto LA80_;
  			asgnRef((void**) (&(*(*p).g).forwarded), (tySequence__eHqUwlHGGaPw0TDPDeL79cQ*) incrSeqV3((TGenericSeq*)((*(*p).g).forwarded), (&NTIseqLpsymT__eHqUwlHGGaPw0TDPDeL79cQ_)));
  			T82_ = (*(*p).g).forwarded->Sup.len++;
  			asgnRef((void**) (&(*(*p).g).forwarded->data[T82_]), s);
  		}
  		goto LA65_;
  		LA80_: ;
  		{
  			genProcForSymIfNeeded__jsgen_3222(p, s);
  		}
  		LA65_: ;
  	}
  	break;
  	default:
  	{
  		{
  			NimStringDesc* T89_;
  			if (!((*s).loc.r == ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL))) goto LA87_;
  			T89_ = NIM_NIL;
  			T89_ = rawNewString(((*(*s).name).s ? (*(*s).name).s->Sup.len : 0) + 30);
  appendString(T89_, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_27));
  appendString(T89_, (*(*s).name).s);
  			internalErrorImpl__msgs_1431((*(*p).module).config, (*n).info, T89_, TM__BxLwT0mhrtgTPodf1v3xjg_206);
  		}
  		LA87_: ;
  		unsureAsgnRef((void**) (&(*r).res), (*s).loc.r);
  	}
  	break;
  	}
  	(*r).kind = ((tyEnum_TResKind__EoayJcDa8SxU1YPfjU8L9bg) 2);
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_6385)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_213), args, argsLen_0);
  	return result;
  }
  static N_INLINE(NIM_BOOL, signbit__astalgo_926)(NF x) {
  	NIM_BOOL result;
  	int T1_;
  	result = (NIM_BOOL)0;
  	T1_ = (int)0;
  	T1_ = signbit(x);
  	result = !((T1_ == ((NI32) 0)));
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_1834)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_221), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(void, genLineDir__jsgen_1818)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
  	NI line;
  {	line = toLinenumber__msgs_609((*n).info);
  	{
  		if (!(line < ((NI) 0))) goto LA3_;
  		goto BeforeRet_;
  	}
  	LA3_: ;
  	{
  		NIM_BOOL T7_;
  		tyArray__JiWwrsTRC6xqNlGcBthSVA T11_;
  		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T12_;
  		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T13_;
  		T7_ = (NIM_BOOL)0;
  		T7_ = (((*p).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0);
  		if (T7_) goto LA8_;
  		T7_ = (((*(*(*p).module).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0);
  		LA8_: ;
  		if (!T7_) goto LA9_;
  		nimZeroMem((void*)T11_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
  		T11_[0] = lineDir__jsgen_1808((*(*p).module).config, (*n).info, line);
  		T12_ = NIM_NIL;
  		T12_ = percent___cgen_19262(T11_, 1);
  		T13_ = NIM_NIL;
  		T13_ = indentLine__jsgen_97(p, T12_);
  		add__ropes_159(&(*p).body, T13_);
  	}
  	LA9_: ;
  	{
  		NIM_BOOL T16_;
  		tyArray__JiWwrsTRC6xqNlGcBthSVA T19_;
  		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T20_;
  		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T21_;
  		T16_ = (NIM_BOOL)0;
  		T16_ = hasFrameInfo__jsgen_1789(p);
  		if (!T16_) goto LA17_;
  		nimZeroMem((void*)T19_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
  		T19_[0] = rope__ropes_115(((NI64) (line)));
  		T20_ = NIM_NIL;
  		T20_ = percent___jsgen_1834(T19_, 1);
  		T21_ = NIM_NIL;
  		T21_ = indentLine__jsgen_97(p, T20_);
  		add__ropes_159(&(*p).body, T21_);
  	}
  	LA17_: ;
  	}BeforeRet_: ;
  }
  static N_INLINE(NIM_BOOL, isAtom__ast_4768)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
  	NIM_BOOL result;
  	NIM_BOOL T1_;
  	result = (NIM_BOOL)0;
  	T1_ = (NIM_BOOL)0;
  	T1_ = (((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 0) <= (*n).kind);
  	if (!(T1_)) goto LA2_;
  	T1_ = ((*n).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23));
  	LA2_: ;
  	result = T1_;
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isSimpleExpr__jsgen_821)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
  	NIM_BOOL result;
  {	result = (NIM_BOOL)0;
  	{
  		NIM_BOOL T3_;
  		T3_ = (NIM_BOOL)0;
  		T3_ = ((*n).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 26) && (*n).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 32) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 37) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 42) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 45) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 160));
  		if (T3_) goto LA4_;
  		T3_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 38) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 41) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 39));
  		LA4_: ;
  		if (!T3_) goto LA5_;
  		{
  			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* c;
  			c = NIM_NIL;
  			{
  				NI i;
  				NI colontmp_;
  				NI i_2;
  				i = (NI)0;
  				colontmp_ = (NI)0;
  				colontmp_ = safeLen__ast_3191(n);
  				i_2 = ((NI) 0);
  				{
  					while (1) {
  						if (!(i_2 < colontmp_)) goto LA10;
  						i = i_2;
  						c = (*n)._kind_6.sons->data[i];
  						{
  							NIM_BOOL T13_;
  							T13_ = (NIM_BOOL)0;
  							T13_ = isSimpleExpr__jsgen_821(p, c);
  							if (!!(T13_)) goto LA14_;
  							result = NIM_FALSE;
  							goto BeforeRet_;
  						}
  						LA14_: ;
  						i_2 += ((NI) 1);
  					} LA10: ;
  				}
  			}
  		}
  		result = NIM_TRUE;
  	}
  	goto LA1_;
  	LA5_: ;
  	{
  		NIM_BOOL T17_;
  		T17_ = (NIM_BOOL)0;
  		T17_ = isAtom__ast_4768(n);
  		if (!T17_) goto LA18_;
  		result = NIM_TRUE;
  	}
  	goto LA1_;
  	LA18_: ;
  	LA1_: ;
  	}BeforeRet_: ;
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_917)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_222), args, argsLen_0);
  	return result;
  }
  static N_INLINE(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, rdLoc__jsgen_188)(tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w a) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	{
  		if (!!((a.typ == ((tyEnum_TJSTypeKind__9aFSCXgaSEq2m81RJRMKDeA) 9)))) goto LA3_;
  		result = a.res;
  	}
  	goto LA1_;
  	LA3_: ;
  	{
  		tyArray__mrugoXXRZUEeG9bEXo9auBKw T6_;
  		nimZeroMem((void*)T6_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  		T6_[0] = a.address;
  		T6_[1] = a.res;
  		result = percent___cgen_6775(T6_, 2);
  	}
  	LA1_: ;
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_922)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_223), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_885)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_224), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(void, genOr__jsgen_903)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b, tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w* r) {
  	tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w x;
  	tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w y;
  	nimZeroMem((void*)(&x), sizeof(tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w));
  	nimZeroMem((void*)(&y), sizeof(tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w));
  	{
  		NIM_BOOL T3_;
  		tyArray__mrugoXXRZUEeG9bEXo9auBKw T7_;
  		T3_ = (NIM_BOOL)0;
  		T3_ = isSimpleExpr__jsgen_821(p, a);
  		if (!(T3_)) goto LA4_;
  		T3_ = isSimpleExpr__jsgen_821(p, b);
  		LA4_: ;
  		if (!T3_) goto LA5_;
  		gen__jsgen_766(p, a, (&x));
  		gen__jsgen_766(p, b, (&y));
  		(*r).kind = ((tyEnum_TResKind__EoayJcDa8SxU1YPfjU8L9bg) 1);
  		nimZeroMem((void*)T7_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  		T7_[0] = rdLoc__jsgen_188(x);
  		T7_[1] = rdLoc__jsgen_188(y);
  		unsureAsgnRef((void**) (&(*r).res), percent___jsgen_917(T7_, 2));
  	}
  	goto LA1_;
  	LA5_: ;
  	{
  		tyArray__mrugoXXRZUEeG9bEXo9auBKw T9_;
  		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T10_;
  		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T11_;
  		tyArray__mrugoXXRZUEeG9bEXo9auBKw T12_;
  		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T13_;
  		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T14_;
  		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T15_;
  		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T16_;
  		unsureAsgnRef((void**) (&(*r).res), getTemp__jsgen_838(p, NIM_TRUE));
  		(*r).kind = ((tyEnum_TResKind__EoayJcDa8SxU1YPfjU8L9bg) 2);
  		gen__jsgen_766(p, a, (&x));
  		nimZeroMem((void*)T9_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  		T9_[0] = rdLoc__jsgen_188(x);
  		T9_[1] = rdLoc__jsgen_188((*r));
  		T10_ = NIM_NIL;
  		T10_ = percent___jsgen_922(T9_, 2);
  		T11_ = NIM_NIL;
  		T11_ = indentLine__jsgen_97(p, T10_);
  		add__ropes_159(&(*p).body, T11_);
  		(*p).extraIndent += ((NI) 1);
  		gen__jsgen_766(p, b, (&y));
  		nimZeroMem((void*)T12_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  		T12_[0] = rdLoc__jsgen_188(y);
  		T12_[1] = rdLoc__jsgen_188((*r));
  		T13_ = NIM_NIL;
  		T13_ = percent___jsgen_885(T12_, 2);
  		T14_ = NIM_NIL;
  		T14_ = indentLine__jsgen_97(p, T13_);
  		add__ropes_159(&(*p).body, T14_);
  		(*p).extraIndent -= ((NI) 1);
  		T15_ = NIM_NIL;
  		T15_ = rope__ropes_109(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_177));
  		T16_ = NIM_NIL;
  		T16_ = indentLine__jsgen_97(p, T15_);
  		add__ropes_159(&(*p).body, T16_);
  	}
  	LA1_: ;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_871)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_225), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_876)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_226), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(void, genAnd__jsgen_856)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b, tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w* r) {
  	tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w x;
  	tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w y;
  	nimZeroMem((void*)(&x), sizeof(tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w));
  	nimZeroMem((void*)(&y), sizeof(tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w));
  	{
  		NIM_BOOL T3_;
  		tyArray__mrugoXXRZUEeG9bEXo9auBKw T7_;
  		T3_ = (NIM_BOOL)0;
  		T3_ = isSimpleExpr__jsgen_821(p, a);
  		if (!(T3_)) goto LA4_;
  		T3_ = isSimpleExpr__jsgen_821(p, b);
  		LA4_: ;
  		if (!T3_) goto LA5_;
  		gen__jsgen_766(p, a, (&x));
  		gen__jsgen_766(p, b, (&y));
  		(*r).kind = ((tyEnum_TResKind__EoayJcDa8SxU1YPfjU8L9bg) 1);
  		nimZeroMem((void*)T7_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  		T7_[0] = rdLoc__jsgen_188(x);
  		T7_[1] = rdLoc__jsgen_188(y);
  		unsureAsgnRef((void**) (&(*r).res), percent___jsgen_871(T7_, 2));
  	}
  	goto LA1_;
  	LA5_: ;
  	{
  		tyArray__mrugoXXRZUEeG9bEXo9auBKw T9_;
  		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T10_;
  		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T11_;
  		tyArray__mrugoXXRZUEeG9bEXo9auBKw T12_;
  		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T13_;
  		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T14_;
  		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T15_;
  		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T16_;
  		unsureAsgnRef((void**) (&(*r).res), getTemp__jsgen_838(p, NIM_TRUE));
  		(*r).kind = ((tyEnum_TResKind__EoayJcDa8SxU1YPfjU8L9bg) 2);
  		gen__jsgen_766(p, a, (&x));
  		nimZeroMem((void*)T9_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  		T9_[0] = rdLoc__jsgen_188(x);
  		T9_[1] = rdLoc__jsgen_188((*r));
  		T10_ = NIM_NIL;
  		T10_ = percent___jsgen_876(T9_, 2);
  		T11_ = NIM_NIL;
  		T11_ = indentLine__jsgen_97(p, T10_);
  		add__ropes_159(&(*p).body, T11_);
  		(*p).extraIndent += ((NI) 1);
  		gen__jsgen_766(p, b, (&y));
  		nimZeroMem((void*)T12_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  		T12_[0] = rdLoc__jsgen_188(y);
  		T12_[1] = rdLoc__jsgen_188((*r));
  		T13_ = NIM_NIL;
  		T13_ = percent___jsgen_885(T12_, 2);
  		T14_ = NIM_NIL;
  		T14_ = indentLine__jsgen_97(p, T13_);
  		add__ropes_159(&(*p).body, T14_);
  		(*p).extraIndent -= ((NI) 1);
  		T15_ = NIM_NIL;
  		T15_ = rope__ropes_109(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_177));
  		T16_ = NIM_NIL;
  		T16_ = indentLine__jsgen_97(p, T15_);
  		add__ropes_159(&(*p).body, T16_);
  	}
  	LA1_: ;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, unsignedTrimmerJS__jsgen_1101)(NI64 size) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	switch (size) {
  	case ((NI) 1):
  	{
  		result = rope__ropes_109(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_227));
  	}
  	break;
  	case ((NI) 2):
  	{
  		result = rope__ropes_109(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_228));
  	}
  	break;
  	case ((NI) 4):
  	{
  		result = rope__ropes_109(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_229));
  	}
  	break;
  	default:
  	{
  		result = rope__ropes_109(((NimStringDesc*) NIM_NIL));
  	}
  	break;
  	}
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_1734)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_230), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(void, binaryUintExpr__jsgen_1721)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w* r, NimStringDesc* op) {
  	tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w x;
  	tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w y;
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* trimmer;
  	tyObject_TType__facALICuu8zUj0hjvbTLFg* T1_;
  	tyArray__f7nG5LD47BH5K9c6mASit3g T2_;
  	nimZeroMem((void*)(&x), sizeof(tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w));
  	nimZeroMem((void*)(&y), sizeof(tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w));
  	gen__jsgen_766(p, (*n)._kind_6.sons->data[((NI) 1)], (&x));
  	gen__jsgen_766(p, (*n)._kind_6.sons->data[((NI) 2)], (&y));
  	T1_ = NIM_NIL;
  	T1_ = skipTypes__ast_3735((*(*n)._kind_6.sons->data[((NI) 1)]).typ, abstractRange__types_101);
  	trimmer = unsignedTrimmerJS__jsgen_1101((*T1_).size);
  	nimZeroMem((void*)T2_, sizeof(tyArray__f7nG5LD47BH5K9c6mASit3g));
  	T2_[0] = rdLoc__jsgen_188(x);
  	T2_[1] = rope__ropes_109(op);
  	T2_[2] = rdLoc__jsgen_188(y);
  	T2_[3] = trimmer;
  	unsureAsgnRef((void**) (&(*r).res), percent___jsgen_1734(T2_, 4));
  	(*r).kind = ((tyEnum_TResKind__EoayJcDa8SxU1YPfjU8L9bg) 1);
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_1761)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_236), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_1163)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_250), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_1168)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_251), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_1173)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_252), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_1178)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_253), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_1183)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_254), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_1188)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_255), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_1193)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_256), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_1198)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_257), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_1203)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_258), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_1208)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_259), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_1253)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_260), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_1272)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_261), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_1281)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_262), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_1291)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_263), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_1300)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_264), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_1309)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_265), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_1318)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_266), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_1327)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_267), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_1336)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_268), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_1345)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_269), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_1386)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_270), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_1579)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_271), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_1588)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_272), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_1597)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_273), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_1602)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_274), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_1615)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_275), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_1624)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_276), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_1649)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_277), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_1658)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_278), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_1667)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_279), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_1684)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_280), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(void, arithAux__jsgen_1135)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w* r, tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg op) {
  	tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w x;
  	tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w y;
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* xLoc;
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* yLoc;
  	NI i;
  	nimZeroMem((void*)(&x), sizeof(tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w));
  	nimZeroMem((void*)(&y), sizeof(tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w));
  	xLoc = NIM_NIL;
  	yLoc = NIM_NIL;
  	i = !((((*p).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 5))&31U)))!=0));
  	useMagic__jsgen_779(p, jsMagics__jsgen_941[(op)- 46][(i)- 0]);
  	{
  		NI T3_;
  		T3_ = (NI)0;
  		T3_ = len__ast_3198(n);
  		if (!(((NI) 2) < T3_)) goto LA4_;
  		gen__jsgen_766(p, (*n)._kind_6.sons->data[((NI) 1)], (&x));
  		gen__jsgen_766(p, (*n)._kind_6.sons->data[((NI) 2)], (&y));
  		xLoc = rdLoc__jsgen_188(x);
  		yLoc = rdLoc__jsgen_188(y);
  	}
  	goto LA1_;
  	LA4_: ;
  	{
  		gen__jsgen_766(p, (*n)._kind_6.sons->data[((NI) 1)], r);
  		xLoc = rdLoc__jsgen_188((*r));
  	}
  	LA1_: ;
  	switch (op) {
  	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 46):
  	{
  		{
  			tyArray__mrugoXXRZUEeG9bEXo9auBKw T12_;
  			if (!(i == ((NI) 0))) goto LA10_;
  			nimZeroMem((void*)T12_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  			T12_[0] = xLoc;
  			T12_[1] = yLoc;
  			unsureAsgnRef((void**) (&(*r).res), percent___jsgen_1163(T12_, 2));
  		}
  		goto LA8_;
  		LA10_: ;
  		{
  			tyArray__mrugoXXRZUEeG9bEXo9auBKw T14_;
  			nimZeroMem((void*)T14_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  			T14_[0] = xLoc;
  			T14_[1] = yLoc;
  			unsureAsgnRef((void**) (&(*r).res), percent___jsgen_1168(T14_, 2));
  		}
  		LA8_: ;
  	}
  	break;
  	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 47):
  	{
  		{
  			tyArray__mrugoXXRZUEeG9bEXo9auBKw T20_;
  			if (!(i == ((NI) 0))) goto LA18_;
  			nimZeroMem((void*)T20_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  			T20_[0] = xLoc;
  			T20_[1] = yLoc;
  			unsureAsgnRef((void**) (&(*r).res), percent___jsgen_1173(T20_, 2));
  		}
  		goto LA16_;
  		LA18_: ;
  		{
  			tyArray__mrugoXXRZUEeG9bEXo9auBKw T22_;
  			nimZeroMem((void*)T22_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  			T22_[0] = xLoc;
  			T22_[1] = yLoc;
  			unsureAsgnRef((void**) (&(*r).res), percent___jsgen_1178(T22_, 2));
  		}
  		LA16_: ;
  	}
  	break;
  	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 48):
  	{
  		{
  			tyArray__mrugoXXRZUEeG9bEXo9auBKw T28_;
  			if (!(i == ((NI) 0))) goto LA26_;
  			nimZeroMem((void*)T28_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  			T28_[0] = xLoc;
  			T28_[1] = yLoc;
  			unsureAsgnRef((void**) (&(*r).res), percent___jsgen_1183(T28_, 2));
  		}
  		goto LA24_;
  		LA26_: ;
  		{
  			tyArray__mrugoXXRZUEeG9bEXo9auBKw T30_;
  			nimZeroMem((void*)T30_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  			T30_[0] = xLoc;
  			T30_[1] = yLoc;
  			unsureAsgnRef((void**) (&(*r).res), percent___jsgen_1188(T30_, 2));
  		}
  		LA24_: ;
  	}
  	break;
  	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 49):
  	{
  		{
  			tyArray__mrugoXXRZUEeG9bEXo9auBKw T36_;
  			if (!(i == ((NI) 0))) goto LA34_;
  			nimZeroMem((void*)T36_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  			T36_[0] = xLoc;
  			T36_[1] = yLoc;
  			unsureAsgnRef((void**) (&(*r).res), percent___jsgen_1193(T36_, 2));
  		}
  		goto LA32_;
  		LA34_: ;
  		{
  			tyArray__mrugoXXRZUEeG9bEXo9auBKw T38_;
  			nimZeroMem((void*)T38_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  			T38_[0] = xLoc;
  			T38_[1] = yLoc;
  			unsureAsgnRef((void**) (&(*r).res), percent___jsgen_1198(T38_, 2));
  		}
  		LA32_: ;
  	}
  	break;
  	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 50):
  	{
  		{
  			tyArray__mrugoXXRZUEeG9bEXo9auBKw T44_;
  			if (!(i == ((NI) 0))) goto LA42_;
  			nimZeroMem((void*)T44_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  			T44_[0] = xLoc;
  			T44_[1] = yLoc;
  			unsureAsgnRef((void**) (&(*r).res), percent___jsgen_1203(T44_, 2));
  		}
  		goto LA40_;
  		LA42_: ;
  		{
  			tyArray__mrugoXXRZUEeG9bEXo9auBKw T46_;
  			nimZeroMem((void*)T46_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  			T46_[0] = xLoc;
  			T46_[1] = yLoc;
  			unsureAsgnRef((void**) (&(*r).res), percent___jsgen_1208(T46_, 2));
  		}
  		LA40_: ;
  	}
  	break;
  	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 51):
  	{
  		{
  			tyArray__mrugoXXRZUEeG9bEXo9auBKw T52_;
  			if (!(i == ((NI) 0))) goto LA50_;
  			nimZeroMem((void*)T52_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  			T52_[0] = xLoc;
  			T52_[1] = yLoc;
  			unsureAsgnRef((void**) (&(*r).res), percent___jsgen_1163(T52_, 2));
  		}
  		goto LA48_;
  		LA50_: ;
  		{
  			tyArray__mrugoXXRZUEeG9bEXo9auBKw T54_;
  			nimZeroMem((void*)T54_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  			T54_[0] = xLoc;
  			T54_[1] = yLoc;
  			unsureAsgnRef((void**) (&(*r).res), percent___jsgen_1168(T54_, 2));
  		}
  		LA48_: ;
  	}
  	break;
  	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 52):
  	{
  		{
  			tyArray__mrugoXXRZUEeG9bEXo9auBKw T60_;
  			if (!(i == ((NI) 0))) goto LA58_;
  			nimZeroMem((void*)T60_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  			T60_[0] = xLoc;
  			T60_[1] = yLoc;
  			unsureAsgnRef((void**) (&(*r).res), percent___jsgen_1173(T60_, 2));
  		}
  		goto LA56_;
  		LA58_: ;
  		{
  			tyArray__mrugoXXRZUEeG9bEXo9auBKw T62_;
  			nimZeroMem((void*)T62_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  			T62_[0] = xLoc;
  			T62_[1] = yLoc;
  			unsureAsgnRef((void**) (&(*r).res), percent___jsgen_1178(T62_, 2));
  		}
  		LA56_: ;
  	}
  	break;
  	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 53):
  	{
  		{
  			tyArray__mrugoXXRZUEeG9bEXo9auBKw T68_;
  			if (!(i == ((NI) 0))) goto LA66_;
  			nimZeroMem((void*)T68_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  			T68_[0] = xLoc;
  			T68_[1] = yLoc;
  			unsureAsgnRef((void**) (&(*r).res), percent___jsgen_1168(T68_, 2));
  		}
  		goto LA64_;
  		LA66_: ;
  		{
  			tyArray__mrugoXXRZUEeG9bEXo9auBKw T70_;
  			nimZeroMem((void*)T70_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  			T70_[0] = xLoc;
  			T70_[1] = yLoc;
  			unsureAsgnRef((void**) (&(*r).res), percent___jsgen_1168(T70_, 2));
  		}
  		LA64_: ;
  	}
  	break;
  	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 54):
  	{
  		{
  			tyArray__mrugoXXRZUEeG9bEXo9auBKw T76_;
  			if (!(i == ((NI) 0))) goto LA74_;
  			nimZeroMem((void*)T76_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  			T76_[0] = xLoc;
  			T76_[1] = yLoc;
  			unsureAsgnRef((void**) (&(*r).res), percent___jsgen_1178(T76_, 2));
  		}
  		goto LA72_;
  		LA74_: ;
  		{
  			tyArray__mrugoXXRZUEeG9bEXo9auBKw T78_;
  			nimZeroMem((void*)T78_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  			T78_[0] = xLoc;
  			T78_[1] = yLoc;
  			unsureAsgnRef((void**) (&(*r).res), percent___jsgen_1178(T78_, 2));
  		}
  		LA72_: ;
  	}
  	break;
  	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 55):
  	{
  		{
  			tyArray__mrugoXXRZUEeG9bEXo9auBKw T84_;
  			if (!(i == ((NI) 0))) goto LA82_;
  			nimZeroMem((void*)T84_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  			T84_[0] = xLoc;
  			T84_[1] = yLoc;
  			unsureAsgnRef((void**) (&(*r).res), percent___jsgen_1188(T84_, 2));
  		}
  		goto LA80_;
  		LA82_: ;
  		{
  			tyArray__mrugoXXRZUEeG9bEXo9auBKw T86_;
  			nimZeroMem((void*)T86_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  			T86_[0] = xLoc;
  			T86_[1] = yLoc;
  			unsureAsgnRef((void**) (&(*r).res), percent___jsgen_1188(T86_, 2));
  		}
  		LA80_: ;
  	}
  	break;
  	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 56):
  	{
  		{
  			tyArray__mrugoXXRZUEeG9bEXo9auBKw T92_;
  			if (!(i == ((NI) 0))) goto LA90_;
  			nimZeroMem((void*)T92_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  			T92_[0] = xLoc;
  			T92_[1] = yLoc;
  			unsureAsgnRef((void**) (&(*r).res), percent___jsgen_1253(T92_, 2));
  		}
  		goto LA88_;
  		LA90_: ;
  		{
  			tyArray__mrugoXXRZUEeG9bEXo9auBKw T94_;
  			nimZeroMem((void*)T94_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  			T94_[0] = xLoc;
  			T94_[1] = yLoc;
  			unsureAsgnRef((void**) (&(*r).res), percent___jsgen_1253(T94_, 2));
  		}
  		LA88_: ;
  	}
  	break;
  	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 57):
  	{
  		{
  			tyArray__mrugoXXRZUEeG9bEXo9auBKw T100_;
  			if (!(i == ((NI) 0))) goto LA98_;
  			nimZeroMem((void*)T100_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  			T100_[0] = xLoc;
  			T100_[1] = yLoc;
  			unsureAsgnRef((void**) (&(*r).res), percent___jsgen_1262(T100_, 2));
  		}
  		goto LA96_;
  		LA98_: ;
  		{
  			tyArray__mrugoXXRZUEeG9bEXo9auBKw T102_;
  			nimZeroMem((void*)T102_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  			T102_[0] = xLoc;
  			T102_[1] = yLoc;
  			unsureAsgnRef((void**) (&(*r).res), percent___jsgen_1262(T102_, 2));
  		}
  		LA96_: ;
  	}
  	break;
  	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 58):
  	{
  		{
  			if (!((*(*(*n)._kind_6.sons->data[((NI) 1)]).typ).size <= IL64(4))) goto LA106_;
  			{
  				tyArray__mrugoXXRZUEeG9bEXo9auBKw T112_;
  				if (!(i == ((NI) 0))) goto LA110_;
  				nimZeroMem((void*)T112_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  				T112_[0] = xLoc;
  				T112_[1] = yLoc;
  				unsureAsgnRef((void**) (&(*r).res), percent___jsgen_1272(T112_, 2));
  			}
  			goto LA108_;
  			LA110_: ;
  			{
  				tyArray__mrugoXXRZUEeG9bEXo9auBKw T114_;
  				nimZeroMem((void*)T114_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  				T114_[0] = xLoc;
  				T114_[1] = yLoc;
  				unsureAsgnRef((void**) (&(*r).res), percent___jsgen_1272(T114_, 2));
  			}
  			LA108_: ;
  		}
  		goto LA104_;
  		LA106_: ;
  		{
  			{
  				tyArray__mrugoXXRZUEeG9bEXo9auBKw T120_;
  				if (!(i == ((NI) 0))) goto LA118_;
  				nimZeroMem((void*)T120_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  				T120_[0] = xLoc;
  				T120_[1] = yLoc;
  				unsureAsgnRef((void**) (&(*r).res), percent___jsgen_1281(T120_, 2));
  			}
  			goto LA116_;
  			LA118_: ;
  			{
  				tyArray__mrugoXXRZUEeG9bEXo9auBKw T122_;
  				nimZeroMem((void*)T122_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  				T122_[0] = xLoc;
  				T122_[1] = yLoc;
  				unsureAsgnRef((void**) (&(*r).res), percent___jsgen_1281(T122_, 2));
  			}
  			LA116_: ;
  		}
  		LA104_: ;
  	}
  	break;
  	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 59):
  	{
  		{
  			if (!((*(*(*n)._kind_6.sons->data[((NI) 1)]).typ).size <= IL64(4))) goto LA126_;
  			{
  				tyArray__mrugoXXRZUEeG9bEXo9auBKw T132_;
  				if (!(i == ((NI) 0))) goto LA130_;
  				nimZeroMem((void*)T132_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  				T132_[0] = xLoc;
  				T132_[1] = yLoc;
  				unsureAsgnRef((void**) (&(*r).res), percent___jsgen_1291(T132_, 2));
  			}
  			goto LA128_;
  			LA130_: ;
  			{
  				tyArray__mrugoXXRZUEeG9bEXo9auBKw T134_;
  				nimZeroMem((void*)T134_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  				T134_[0] = xLoc;
  				T134_[1] = yLoc;
  				unsureAsgnRef((void**) (&(*r).res), percent___jsgen_1291(T134_, 2));
  			}
  			LA128_: ;
  		}
  		goto LA124_;
  		LA126_: ;
  		{
  			{
  				tyArray__mrugoXXRZUEeG9bEXo9auBKw T140_;
  				if (!(i == ((NI) 0))) goto LA138_;
  				nimZeroMem((void*)T140_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  				T140_[0] = xLoc;
  				T140_[1] = yLoc;
  				unsureAsgnRef((void**) (&(*r).res), percent___jsgen_1300(T140_, 2));
  			}
  			goto LA136_;
  			LA138_: ;
  			{
  				tyArray__mrugoXXRZUEeG9bEXo9auBKw T142_;
  				nimZeroMem((void*)T142_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  				T142_[0] = xLoc;
  				T142_[1] = yLoc;
  				unsureAsgnRef((void**) (&(*r).res), percent___jsgen_1300(T142_, 2));
  			}
  			LA136_: ;
  		}
  		LA124_: ;
  	}
  	break;
  	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 60):
  	{
  		{
  			tyArray__mrugoXXRZUEeG9bEXo9auBKw T148_;
  			if (!(i == ((NI) 0))) goto LA146_;
  			nimZeroMem((void*)T148_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  			T148_[0] = xLoc;
  			T148_[1] = yLoc;
  			unsureAsgnRef((void**) (&(*r).res), percent___jsgen_1309(T148_, 2));
  		}
  		goto LA144_;
  		LA146_: ;
  		{
  			tyArray__mrugoXXRZUEeG9bEXo9auBKw T150_;
  			nimZeroMem((void*)T150_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  			T150_[0] = xLoc;
  			T150_[1] = yLoc;
  			unsureAsgnRef((void**) (&(*r).res), percent___jsgen_1309(T150_, 2));
  		}
  		LA144_: ;
  	}
  	break;
  	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 61):
  	{
  		{
  			tyArray__mrugoXXRZUEeG9bEXo9auBKw T156_;
  			if (!(i == ((NI) 0))) goto LA154_;
  			nimZeroMem((void*)T156_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  			T156_[0] = xLoc;
  			T156_[1] = yLoc;
  			unsureAsgnRef((void**) (&(*r).res), percent___jsgen_1318(T156_, 2));
  		}
  		goto LA152_;
  		LA154_: ;
  		{
  			tyArray__mrugoXXRZUEeG9bEXo9auBKw T158_;
  			nimZeroMem((void*)T158_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  			T158_[0] = xLoc;
  			T158_[1] = yLoc;
  			unsureAsgnRef((void**) (&(*r).res), percent___jsgen_1318(T158_, 2));
  		}
  		LA152_: ;
  	}
  	break;
  	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 62):
  	{
  		{
  			tyArray__mrugoXXRZUEeG9bEXo9auBKw T164_;
  			if (!(i == ((NI) 0))) goto LA162_;
  			nimZeroMem((void*)T164_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  			T164_[0] = xLoc;
  			T164_[1] = yLoc;
  			unsureAsgnRef((void**) (&(*r).res), percent___jsgen_1327(T164_, 2));
  		}
  		goto LA160_;
  		LA162_: ;
  		{
  			tyArray__mrugoXXRZUEeG9bEXo9auBKw T166_;
  			nimZeroMem((void*)T166_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  			T166_[0] = xLoc;
  			T166_[1] = yLoc;
  			unsureAsgnRef((void**) (&(*r).res), percent___jsgen_1327(T166_, 2));
  		}
  		LA160_: ;
  	}
  	break;
  	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 63):
  	{
  		{
  			tyArray__mrugoXXRZUEeG9bEXo9auBKw T172_;
  			if (!(i == ((NI) 0))) goto LA170_;
  			nimZeroMem((void*)T172_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  			T172_[0] = xLoc;
  			T172_[1] = yLoc;
  			unsureAsgnRef((void**) (&(*r).res), percent___jsgen_1336(T172_, 2));
  		}
  		goto LA168_;
  		LA170_: ;
  		{
  			tyArray__mrugoXXRZUEeG9bEXo9auBKw T174_;
  			nimZeroMem((void*)T174_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  			T174_[0] = xLoc;
  			T174_[1] = yLoc;
  			unsureAsgnRef((void**) (&(*r).res), percent___jsgen_1336(T174_, 2));
  		}
  		LA168_: ;
  	}
  	break;
  	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 64):
  	{
  		{
  			tyArray__mrugoXXRZUEeG9bEXo9auBKw T180_;
  			if (!(i == ((NI) 0))) goto LA178_;
  			nimZeroMem((void*)T180_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  			T180_[0] = xLoc;
  			T180_[1] = yLoc;
  			unsureAsgnRef((void**) (&(*r).res), percent___jsgen_1345(T180_, 2));
  		}
  		goto LA176_;
  		LA178_: ;
  		{
  			tyArray__mrugoXXRZUEeG9bEXo9auBKw T182_;
  			nimZeroMem((void*)T182_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  			T182_[0] = xLoc;
  			T182_[1] = yLoc;
  			unsureAsgnRef((void**) (&(*r).res), percent___jsgen_1345(T182_, 2));
  		}
  		LA176_: ;
  	}
  	break;
  	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 65):
  	{
  		{
  			tyArray__mrugoXXRZUEeG9bEXo9auBKw T188_;
  			if (!(i == ((NI) 0))) goto LA186_;
  			nimZeroMem((void*)T188_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  			T188_[0] = xLoc;
  			T188_[1] = yLoc;
  			unsureAsgnRef((void**) (&(*r).res), percent___jsgen_1262(T188_, 2));
  		}
  		goto LA184_;
  		LA186_: ;
  		{
  			tyArray__mrugoXXRZUEeG9bEXo9auBKw T190_;
  			nimZeroMem((void*)T190_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  			T190_[0] = xLoc;
  			T190_[1] = yLoc;
  			unsureAsgnRef((void**) (&(*r).res), percent___jsgen_1262(T190_, 2));
  		}
  		LA184_: ;
  	}
  	break;
  	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 66):
  	{
  		{
  			tyArray__mrugoXXRZUEeG9bEXo9auBKw T196_;
  			if (!(i == ((NI) 0))) goto LA194_;
  			nimZeroMem((void*)T196_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  			T196_[0] = xLoc;
  			T196_[1] = yLoc;
  			unsureAsgnRef((void**) (&(*r).res), percent___jsgen_1262(T196_, 2));
  		}
  		goto LA192_;
  		LA194_: ;
  		{
  			tyArray__mrugoXXRZUEeG9bEXo9auBKw T198_;
  			nimZeroMem((void*)T198_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  			T198_[0] = xLoc;
  			T198_[1] = yLoc;
  			unsureAsgnRef((void**) (&(*r).res), percent___jsgen_1262(T198_, 2));
  		}
  		LA192_: ;
  	}
  	break;
  	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 67):
  	{
  		{
  			tyArray__mrugoXXRZUEeG9bEXo9auBKw T204_;
  			if (!(i == ((NI) 0))) goto LA202_;
  			nimZeroMem((void*)T204_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  			T204_[0] = xLoc;
  			T204_[1] = yLoc;
  			unsureAsgnRef((void**) (&(*r).res), percent___jsgen_1262(T204_, 2));
  		}
  		goto LA200_;
  		LA202_: ;
  		{
  			tyArray__mrugoXXRZUEeG9bEXo9auBKw T206_;
  			nimZeroMem((void*)T206_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  			T206_[0] = xLoc;
  			T206_[1] = yLoc;
  			unsureAsgnRef((void**) (&(*r).res), percent___jsgen_1262(T206_, 2));
  		}
  		LA200_: ;
  	}
  	break;
  	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 68):
  	{
  		{
  			tyArray__mrugoXXRZUEeG9bEXo9auBKw T212_;
  			if (!(i == ((NI) 0))) goto LA210_;
  			nimZeroMem((void*)T212_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  			T212_[0] = xLoc;
  			T212_[1] = yLoc;
  			unsureAsgnRef((void**) (&(*r).res), percent___jsgen_1262(T212_, 2));
  		}
  		goto LA208_;
  		LA210_: ;
  		{
  			tyArray__mrugoXXRZUEeG9bEXo9auBKw T214_;
  			nimZeroMem((void*)T214_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  			T214_[0] = xLoc;
  			T214_[1] = yLoc;
  			unsureAsgnRef((void**) (&(*r).res), percent___jsgen_1262(T214_, 2));
  		}
  		LA208_: ;
  	}
  	break;
  	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 69):
  	{
  		{
  			tyArray__mrugoXXRZUEeG9bEXo9auBKw T220_;
  			if (!(i == ((NI) 0))) goto LA218_;
  			nimZeroMem((void*)T220_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  			T220_[0] = xLoc;
  			T220_[1] = yLoc;
  			unsureAsgnRef((void**) (&(*r).res), percent___jsgen_1386(T220_, 2));
  		}
  		goto LA216_;
  		LA218_: ;
  		{
  			tyArray__mrugoXXRZUEeG9bEXo9auBKw T222_;
  			nimZeroMem((void*)T222_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  			T222_[0] = xLoc;
  			T222_[1] = yLoc;
  			unsureAsgnRef((void**) (&(*r).res), percent___jsgen_1386(T222_, 2));
  		}
  		LA216_: ;
  	}
  	break;
  	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 70):
  	{
  		{
  			tyArray__mrugoXXRZUEeG9bEXo9auBKw T228_;
  			if (!(i == ((NI) 0))) goto LA226_;
  			nimZeroMem((void*)T228_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  			T228_[0] = xLoc;
  			T228_[1] = yLoc;
  			unsureAsgnRef((void**) (&(*r).res), percent___cgen_19065(T228_, 2));
  		}
  		goto LA224_;
  		LA226_: ;
  		{
  			tyArray__mrugoXXRZUEeG9bEXo9auBKw T230_;
  			nimZeroMem((void*)T230_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  			T230_[0] = xLoc;
  			T230_[1] = yLoc;
  			unsureAsgnRef((void**) (&(*r).res), percent___cgen_19065(T230_, 2));
  		}
  		LA224_: ;
  	}
  	break;
  	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 71):
  	{
  		{
  			tyArray__mrugoXXRZUEeG9bEXo9auBKw T236_;
  			if (!(i == ((NI) 0))) goto LA234_;
  			nimZeroMem((void*)T236_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  			T236_[0] = xLoc;
  			T236_[1] = yLoc;
  			unsureAsgnRef((void**) (&(*r).res), percent___cgen_19070(T236_, 2));
  		}
  		goto LA232_;
  		LA234_: ;
  		{
  			tyArray__mrugoXXRZUEeG9bEXo9auBKw T238_;
  			nimZeroMem((void*)T238_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  			T238_[0] = xLoc;
  			T238_[1] = yLoc;
  			unsureAsgnRef((void**) (&(*r).res), percent___cgen_19070(T238_, 2));
  		}
  		LA232_: ;
  	}
  	break;
  	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 72):
  	{
  		{
  			tyArray__mrugoXXRZUEeG9bEXo9auBKw T244_;
  			if (!(i == ((NI) 0))) goto LA242_;
  			nimZeroMem((void*)T244_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  			T244_[0] = xLoc;
  			T244_[1] = yLoc;
  			unsureAsgnRef((void**) (&(*r).res), percent___cgen_19075(T244_, 2));
  		}
  		goto LA240_;
  		LA242_: ;
  		{
  			tyArray__mrugoXXRZUEeG9bEXo9auBKw T246_;
  			nimZeroMem((void*)T246_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  			T246_[0] = xLoc;
  			T246_[1] = yLoc;
  			unsureAsgnRef((void**) (&(*r).res), percent___cgen_19075(T246_, 2));
  		}
  		LA240_: ;
  	}
  	break;
  	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 73):
  	{
  		{
  			tyArray__mrugoXXRZUEeG9bEXo9auBKw T252_;
  			if (!(i == ((NI) 0))) goto LA250_;
  			nimZeroMem((void*)T252_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  			T252_[0] = xLoc;
  			T252_[1] = yLoc;
  			unsureAsgnRef((void**) (&(*r).res), percent___cgen_19065(T252_, 2));
  		}
  		goto LA248_;
  		LA250_: ;
  		{
  			tyArray__mrugoXXRZUEeG9bEXo9auBKw T254_;
  			nimZeroMem((void*)T254_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  			T254_[0] = xLoc;
  			T254_[1] = yLoc;
  			unsureAsgnRef((void**) (&(*r).res), percent___cgen_19065(T254_, 2));
  		}
  		LA248_: ;
  	}
  	break;
  	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 74):
  	{
  		{
  			tyArray__mrugoXXRZUEeG9bEXo9auBKw T260_;
  			if (!(i == ((NI) 0))) goto LA258_;
  			nimZeroMem((void*)T260_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  			T260_[0] = xLoc;
  			T260_[1] = yLoc;
  			unsureAsgnRef((void**) (&(*r).res), percent___cgen_19070(T260_, 2));
  		}
  		goto LA256_;
  		LA258_: ;
  		{
  			tyArray__mrugoXXRZUEeG9bEXo9auBKw T262_;
  			nimZeroMem((void*)T262_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  			T262_[0] = xLoc;
  			T262_[1] = yLoc;
  			unsureAsgnRef((void**) (&(*r).res), percent___cgen_19070(T262_, 2));
  		}
  		LA256_: ;
  	}
  	break;
  	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 75):
  	{
  		{
  			tyArray__mrugoXXRZUEeG9bEXo9auBKw T268_;
  			if (!(i == ((NI) 0))) goto LA266_;
  			nimZeroMem((void*)T268_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  			T268_[0] = xLoc;
  			T268_[1] = yLoc;
  			unsureAsgnRef((void**) (&(*r).res), percent___cgen_19075(T268_, 2));
  		}
  		goto LA264_;
  		LA266_: ;
  		{
  			tyArray__mrugoXXRZUEeG9bEXo9auBKw T270_;
  			nimZeroMem((void*)T270_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  			T270_[0] = xLoc;
  			T270_[1] = yLoc;
  			unsureAsgnRef((void**) (&(*r).res), percent___cgen_19075(T270_, 2));
  		}
  		LA264_: ;
  	}
  	break;
  	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 76):
  	{
  		{
  			tyArray__mrugoXXRZUEeG9bEXo9auBKw T276_;
  			if (!(i == ((NI) 0))) goto LA274_;
  			nimZeroMem((void*)T276_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  			T276_[0] = xLoc;
  			T276_[1] = yLoc;
  			unsureAsgnRef((void**) (&(*r).res), percent___cgen_19070(T276_, 2));
  		}
  		goto LA272_;
  		LA274_: ;
  		{
  			tyArray__mrugoXXRZUEeG9bEXo9auBKw T278_;
  			nimZeroMem((void*)T278_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  			T278_[0] = xLoc;
  			T278_[1] = yLoc;
  			unsureAsgnRef((void**) (&(*r).res), percent___cgen_19070(T278_, 2));
  		}
  		LA272_: ;
  	}
  	break;
  	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 77):
  	{
  		{
  			tyArray__mrugoXXRZUEeG9bEXo9auBKw T284_;
  			if (!(i == ((NI) 0))) goto LA282_;
  			nimZeroMem((void*)T284_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  			T284_[0] = xLoc;
  			T284_[1] = yLoc;
  			unsureAsgnRef((void**) (&(*r).res), percent___cgen_19075(T284_, 2));
  		}
  		goto LA280_;
  		LA282_: ;
  		{
  			tyArray__mrugoXXRZUEeG9bEXo9auBKw T286_;
  			nimZeroMem((void*)T286_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  			T286_[0] = xLoc;
  			T286_[1] = yLoc;
  			unsureAsgnRef((void**) (&(*r).res), percent___cgen_19075(T286_, 2));
  		}
  		LA280_: ;
  	}
  	break;
  	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 78):
  	{
  		{
  			tyArray__mrugoXXRZUEeG9bEXo9auBKw T292_;
  			if (!(i == ((NI) 0))) goto LA290_;
  			nimZeroMem((void*)T292_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  			T292_[0] = xLoc;
  			T292_[1] = yLoc;
  			unsureAsgnRef((void**) (&(*r).res), percent___cgen_19065(T292_, 2));
  		}
  		goto LA288_;
  		LA290_: ;
  		{
  			tyArray__mrugoXXRZUEeG9bEXo9auBKw T294_;
  			nimZeroMem((void*)T294_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  			T294_[0] = xLoc;
  			T294_[1] = yLoc;
  			unsureAsgnRef((void**) (&(*r).res), percent___cgen_19065(T294_, 2));
  		}
  		LA288_: ;
  	}
  	break;
  	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 79):
  	{
  		{
  			tyArray__mrugoXXRZUEeG9bEXo9auBKw T300_;
  			if (!(i == ((NI) 0))) goto LA298_;
  			nimZeroMem((void*)T300_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  			T300_[0] = xLoc;
  			T300_[1] = yLoc;
  			unsureAsgnRef((void**) (&(*r).res), percent___cgen_19070(T300_, 2));
  		}
  		goto LA296_;
  		LA298_: ;
  		{
  			tyArray__mrugoXXRZUEeG9bEXo9auBKw T302_;
  			nimZeroMem((void*)T302_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  			T302_[0] = xLoc;
  			T302_[1] = yLoc;
  			unsureAsgnRef((void**) (&(*r).res), percent___cgen_19070(T302_, 2));
  		}
  		LA296_: ;
  	}
  	break;
  	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 80):
  	{
  		{
  			tyArray__mrugoXXRZUEeG9bEXo9auBKw T308_;
  			if (!(i == ((NI) 0))) goto LA306_;
  			nimZeroMem((void*)T308_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  			T308_[0] = xLoc;
  			T308_[1] = yLoc;
  			unsureAsgnRef((void**) (&(*r).res), percent___cgen_19075(T308_, 2));
  		}
  		goto LA304_;
  		LA306_: ;
  		{
  			tyArray__mrugoXXRZUEeG9bEXo9auBKw T310_;
  			nimZeroMem((void*)T310_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  			T310_[0] = xLoc;
  			T310_[1] = yLoc;
  			unsureAsgnRef((void**) (&(*r).res), percent___cgen_19075(T310_, 2));
  		}
  		LA304_: ;
  	}
  	break;
  	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 81):
  	{
  		{
  			tyArray__mrugoXXRZUEeG9bEXo9auBKw T316_;
  			if (!(i == ((NI) 0))) goto LA314_;
  			nimZeroMem((void*)T316_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  			T316_[0] = xLoc;
  			T316_[1] = yLoc;
  			unsureAsgnRef((void**) (&(*r).res), percent___cgen_19065(T316_, 2));
  		}
  		goto LA312_;
  		LA314_: ;
  		{
  			tyArray__mrugoXXRZUEeG9bEXo9auBKw T318_;
  			nimZeroMem((void*)T318_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  			T318_[0] = xLoc;
  			T318_[1] = yLoc;
  			unsureAsgnRef((void**) (&(*r).res), percent___cgen_19065(T318_, 2));
  		}
  		LA312_: ;
  	}
  	break;
  	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 82):
  	{
  		{
  			tyArray__mrugoXXRZUEeG9bEXo9auBKw T324_;
  			if (!(i == ((NI) 0))) goto LA322_;
  			nimZeroMem((void*)T324_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  			T324_[0] = xLoc;
  			T324_[1] = yLoc;
  			unsureAsgnRef((void**) (&(*r).res), percent___cgen_19070(T324_, 2));
  		}
  		goto LA320_;
  		LA322_: ;
  		{
  			tyArray__mrugoXXRZUEeG9bEXo9auBKw T326_;
  			nimZeroMem((void*)T326_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  			T326_[0] = xLoc;
  			T326_[1] = yLoc;
  			unsureAsgnRef((void**) (&(*r).res), percent___cgen_19070(T326_, 2));
  		}
  		LA320_: ;
  	}
  	break;
  	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 83):
  	{
  		{
  			tyArray__mrugoXXRZUEeG9bEXo9auBKw T332_;
  			if (!(i == ((NI) 0))) goto LA330_;
  			nimZeroMem((void*)T332_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  			T332_[0] = xLoc;
  			T332_[1] = yLoc;
  			unsureAsgnRef((void**) (&(*r).res), percent___cgen_19075(T332_, 2));
  		}
  		goto LA328_;
  		LA330_: ;
  		{
  			tyArray__mrugoXXRZUEeG9bEXo9auBKw T334_;
  			nimZeroMem((void*)T334_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  			T334_[0] = xLoc;
  			T334_[1] = yLoc;
  			unsureAsgnRef((void**) (&(*r).res), percent___cgen_19075(T334_, 2));
  		}
  		LA328_: ;
  	}
  	break;
  	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 84):
  	{
  		{
  			tyArray__mrugoXXRZUEeG9bEXo9auBKw T340_;
  			if (!(i == ((NI) 0))) goto LA338_;
  			nimZeroMem((void*)T340_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  			T340_[0] = xLoc;
  			T340_[1] = yLoc;
  			unsureAsgnRef((void**) (&(*r).res), percent___cgen_19065(T340_, 2));
  		}
  		goto LA336_;
  		LA338_: ;
  		{
  			tyArray__mrugoXXRZUEeG9bEXo9auBKw T342_;
  			nimZeroMem((void*)T342_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  			T342_[0] = xLoc;
  			T342_[1] = yLoc;
  			unsureAsgnRef((void**) (&(*r).res), percent___cgen_19065(T342_, 2));
  		}
  		LA336_: ;
  	}
  	break;
  	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 85):
  	{
  		{
  			tyArray__mrugoXXRZUEeG9bEXo9auBKw T348_;
  			if (!(i == ((NI) 0))) goto LA346_;
  			nimZeroMem((void*)T348_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  			T348_[0] = xLoc;
  			T348_[1] = yLoc;
  			unsureAsgnRef((void**) (&(*r).res), percent___cgen_19070(T348_, 2));
  		}
  		goto LA344_;
  		LA346_: ;
  		{
  			tyArray__mrugoXXRZUEeG9bEXo9auBKw T350_;
  			nimZeroMem((void*)T350_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  			T350_[0] = xLoc;
  			T350_[1] = yLoc;
  			unsureAsgnRef((void**) (&(*r).res), percent___cgen_19070(T350_, 2));
  		}
  		LA344_: ;
  	}
  	break;
  	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 86):
  	{
  		{
  			tyArray__mrugoXXRZUEeG9bEXo9auBKw T356_;
  			if (!(i == ((NI) 0))) goto LA354_;
  			nimZeroMem((void*)T356_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  			T356_[0] = xLoc;
  			T356_[1] = yLoc;
  			unsureAsgnRef((void**) (&(*r).res), percent___cgen_19075(T356_, 2));
  		}
  		goto LA352_;
  		LA354_: ;
  		{
  			tyArray__mrugoXXRZUEeG9bEXo9auBKw T358_;
  			nimZeroMem((void*)T358_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  			T358_[0] = xLoc;
  			T358_[1] = yLoc;
  			unsureAsgnRef((void**) (&(*r).res), percent___cgen_19075(T358_, 2));
  		}
  		LA352_: ;
  	}
  	break;
  	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 87):
  	{
  		{
  			tyArray__mrugoXXRZUEeG9bEXo9auBKw T364_;
  			if (!(i == ((NI) 0))) goto LA362_;
  			nimZeroMem((void*)T364_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  			T364_[0] = xLoc;
  			T364_[1] = yLoc;
  			unsureAsgnRef((void**) (&(*r).res), percent___cgen_19065(T364_, 2));
  		}
  		goto LA360_;
  		LA362_: ;
  		{
  			tyArray__mrugoXXRZUEeG9bEXo9auBKw T366_;
  			nimZeroMem((void*)T366_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  			T366_[0] = xLoc;
  			T366_[1] = yLoc;
  			unsureAsgnRef((void**) (&(*r).res), percent___cgen_19065(T366_, 2));
  		}
  		LA360_: ;
  	}
  	break;
  	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 88):
  	{
  		{
  			tyArray__mrugoXXRZUEeG9bEXo9auBKw T372_;
  			if (!(i == ((NI) 0))) goto LA370_;
  			nimZeroMem((void*)T372_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  			T372_[0] = xLoc;
  			T372_[1] = yLoc;
  			unsureAsgnRef((void**) (&(*r).res), percent___cgen_19070(T372_, 2));
  		}
  		goto LA368_;
  		LA370_: ;
  		{
  			tyArray__mrugoXXRZUEeG9bEXo9auBKw T374_;
  			nimZeroMem((void*)T374_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  			T374_[0] = xLoc;
  			T374_[1] = yLoc;
  			unsureAsgnRef((void**) (&(*r).res), percent___cgen_19070(T374_, 2));
  		}
  		LA368_: ;
  	}
  	break;
  	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 89):
  	{
  		{
  			tyArray__mrugoXXRZUEeG9bEXo9auBKw T380_;
  			if (!(i == ((NI) 0))) goto LA378_;
  			nimZeroMem((void*)T380_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  			T380_[0] = xLoc;
  			T380_[1] = yLoc;
  			unsureAsgnRef((void**) (&(*r).res), percent___cgen_19075(T380_, 2));
  		}
  		goto LA376_;
  		LA378_: ;
  		{
  			tyArray__mrugoXXRZUEeG9bEXo9auBKw T382_;
  			nimZeroMem((void*)T382_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  			T382_[0] = xLoc;
  			T382_[1] = yLoc;
  			unsureAsgnRef((void**) (&(*r).res), percent___cgen_19075(T382_, 2));
  		}
  		LA376_: ;
  	}
  	break;
  	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 90):
  	{
  		{
  			tyArray__mrugoXXRZUEeG9bEXo9auBKw T388_;
  			if (!(i == ((NI) 0))) goto LA386_;
  			nimZeroMem((void*)T388_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  			T388_[0] = xLoc;
  			T388_[1] = yLoc;
  			unsureAsgnRef((void**) (&(*r).res), percent___cgen_19153(T388_, 2));
  		}
  		goto LA384_;
  		LA386_: ;
  		{
  			tyArray__mrugoXXRZUEeG9bEXo9auBKw T390_;
  			nimZeroMem((void*)T390_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  			T390_[0] = xLoc;
  			T390_[1] = yLoc;
  			unsureAsgnRef((void**) (&(*r).res), percent___cgen_19153(T390_, 2));
  		}
  		LA384_: ;
  	}
  	break;
  	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 91):
  	{
  		{
  			tyArray__mrugoXXRZUEeG9bEXo9auBKw T396_;
  			if (!(i == ((NI) 0))) goto LA394_;
  			nimZeroMem((void*)T396_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  			T396_[0] = xLoc;
  			T396_[1] = yLoc;
  			unsureAsgnRef((void**) (&(*r).res), percent___cgen_19065(T396_, 2));
  		}
  		goto LA392_;
  		LA394_: ;
  		{
  			tyArray__mrugoXXRZUEeG9bEXo9auBKw T398_;
  			nimZeroMem((void*)T398_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  			T398_[0] = xLoc;
  			T398_[1] = yLoc;
  			unsureAsgnRef((void**) (&(*r).res), percent___cgen_19065(T398_, 2));
  		}
  		LA392_: ;
  	}
  	break;
  	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 92):
  	{
  		{
  			tyArray__mrugoXXRZUEeG9bEXo9auBKw T404_;
  			if (!(i == ((NI) 0))) goto LA402_;
  			nimZeroMem((void*)T404_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  			T404_[0] = xLoc;
  			T404_[1] = yLoc;
  			unsureAsgnRef((void**) (&(*r).res), percent___cgen_19065(T404_, 2));
  		}
  		goto LA400_;
  		LA402_: ;
  		{
  			tyArray__mrugoXXRZUEeG9bEXo9auBKw T406_;
  			nimZeroMem((void*)T406_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  			T406_[0] = xLoc;
  			T406_[1] = yLoc;
  			unsureAsgnRef((void**) (&(*r).res), percent___cgen_19065(T406_, 2));
  		}
  		LA400_: ;
  	}
  	break;
  	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 93):
  	{
  		{
  			tyArray__mrugoXXRZUEeG9bEXo9auBKw T412_;
  			if (!(i == ((NI) 0))) goto LA410_;
  			nimZeroMem((void*)T412_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  			T412_[0] = xLoc;
  			T412_[1] = yLoc;
  			unsureAsgnRef((void**) (&(*r).res), percent___jsgen_1579(T412_, 2));
  		}
  		goto LA408_;
  		LA410_: ;
  		{
  			tyArray__mrugoXXRZUEeG9bEXo9auBKw T414_;
  			nimZeroMem((void*)T414_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  			T414_[0] = xLoc;
  			T414_[1] = yLoc;
  			unsureAsgnRef((void**) (&(*r).res), percent___cgen_18935(T414_, 2));
  		}
  		LA408_: ;
  	}
  	break;
  	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 94):
  	{
  		{
  			tyArray__mrugoXXRZUEeG9bEXo9auBKw T420_;
  			if (!(i == ((NI) 0))) goto LA418_;
  			nimZeroMem((void*)T420_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  			T420_[0] = xLoc;
  			T420_[1] = yLoc;
  			unsureAsgnRef((void**) (&(*r).res), percent___jsgen_1588(T420_, 2));
  		}
  		goto LA416_;
  		LA418_: ;
  		{
  			tyArray__mrugoXXRZUEeG9bEXo9auBKw T422_;
  			nimZeroMem((void*)T422_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  			T422_[0] = xLoc;
  			T422_[1] = yLoc;
  			unsureAsgnRef((void**) (&(*r).res), percent___cgen_18935(T422_, 2));
  		}
  		LA416_: ;
  	}
  	break;
  	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 95):
  	{
  		{
  			tyArray__mrugoXXRZUEeG9bEXo9auBKw T428_;
  			if (!(i == ((NI) 0))) goto LA426_;
  			nimZeroMem((void*)T428_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  			T428_[0] = xLoc;
  			T428_[1] = yLoc;
  			unsureAsgnRef((void**) (&(*r).res), percent___jsgen_1597(T428_, 2));
  		}
  		goto LA424_;
  		LA426_: ;
  		{
  			tyArray__mrugoXXRZUEeG9bEXo9auBKw T430_;
  			nimZeroMem((void*)T430_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  			T430_[0] = xLoc;
  			T430_[1] = yLoc;
  			unsureAsgnRef((void**) (&(*r).res), percent___jsgen_1602(T430_, 2));
  		}
  		LA424_: ;
  	}
  	break;
  	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 96):
  	{
  		{
  			tyArray__mrugoXXRZUEeG9bEXo9auBKw T436_;
  			if (!(i == ((NI) 0))) goto LA434_;
  			nimZeroMem((void*)T436_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  			T436_[0] = xLoc;
  			T436_[1] = yLoc;
  			unsureAsgnRef((void**) (&(*r).res), percent___cgen_19257(T436_, 2));
  		}
  		goto LA432_;
  		LA434_: ;
  		{
  			tyArray__mrugoXXRZUEeG9bEXo9auBKw T438_;
  			nimZeroMem((void*)T438_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  			T438_[0] = xLoc;
  			T438_[1] = yLoc;
  			unsureAsgnRef((void**) (&(*r).res), percent___cgen_19257(T438_, 2));
  		}
  		LA432_: ;
  	}
  	break;
  	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 97):
  	{
  		{
  			tyArray__mrugoXXRZUEeG9bEXo9auBKw T444_;
  			if (!(i == ((NI) 0))) goto LA442_;
  			nimZeroMem((void*)T444_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  			T444_[0] = xLoc;
  			T444_[1] = yLoc;
  			unsureAsgnRef((void**) (&(*r).res), percent___jsgen_1615(T444_, 2));
  		}
  		goto LA440_;
  		LA442_: ;
  		{
  			tyArray__mrugoXXRZUEeG9bEXo9auBKw T446_;
  			nimZeroMem((void*)T446_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  			T446_[0] = xLoc;
  			T446_[1] = yLoc;
  			unsureAsgnRef((void**) (&(*r).res), percent___jsgen_1615(T446_, 2));
  		}
  		LA440_: ;
  	}
  	break;
  	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 98):
  	{
  		{
  			tyArray__mrugoXXRZUEeG9bEXo9auBKw T452_;
  			if (!(i == ((NI) 0))) goto LA450_;
  			nimZeroMem((void*)T452_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  			T452_[0] = xLoc;
  			T452_[1] = yLoc;
  			unsureAsgnRef((void**) (&(*r).res), percent___jsgen_1624(T452_, 2));
  		}
  		goto LA448_;
  		LA450_: ;
  		{
  			tyArray__mrugoXXRZUEeG9bEXo9auBKw T454_;
  			nimZeroMem((void*)T454_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  			T454_[0] = xLoc;
  			T454_[1] = yLoc;
  			unsureAsgnRef((void**) (&(*r).res), percent___jsgen_1624(T454_, 2));
  		}
  		LA448_: ;
  	}
  	break;
  	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 99):
  	{
  		{
  			tyArray__mrugoXXRZUEeG9bEXo9auBKw T460_;
  			if (!(i == ((NI) 0))) goto LA458_;
  			nimZeroMem((void*)T460_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  			T460_[0] = xLoc;
  			T460_[1] = yLoc;
  			unsureAsgnRef((void**) (&(*r).res), percent___jsgen_1615(T460_, 2));
  		}
  		goto LA456_;
  		LA458_: ;
  		{
  			tyArray__mrugoXXRZUEeG9bEXo9auBKw T462_;
  			nimZeroMem((void*)T462_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  			T462_[0] = xLoc;
  			T462_[1] = yLoc;
  			unsureAsgnRef((void**) (&(*r).res), percent___jsgen_1615(T462_, 2));
  		}
  		LA456_: ;
  	}
  	break;
  	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 100):
  	{
  		{
  			tyArray__mrugoXXRZUEeG9bEXo9auBKw T468_;
  			if (!(i == ((NI) 0))) goto LA466_;
  			nimZeroMem((void*)T468_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  			T468_[0] = xLoc;
  			T468_[1] = yLoc;
  			unsureAsgnRef((void**) (&(*r).res), percent___cgen_18935(T468_, 2));
  		}
  		goto LA464_;
  		LA466_: ;
  		{
  			tyArray__mrugoXXRZUEeG9bEXo9auBKw T470_;
  			nimZeroMem((void*)T470_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  			T470_[0] = xLoc;
  			T470_[1] = yLoc;
  			unsureAsgnRef((void**) (&(*r).res), percent___cgen_18935(T470_, 2));
  		}
  		LA464_: ;
  	}
  	break;
  	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 101):
  	{
  		{
  			tyArray__mrugoXXRZUEeG9bEXo9auBKw T476_;
  			if (!(i == ((NI) 0))) goto LA474_;
  			nimZeroMem((void*)T476_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  			T476_[0] = xLoc;
  			T476_[1] = yLoc;
  			unsureAsgnRef((void**) (&(*r).res), percent___jsgen_1649(T476_, 2));
  		}
  		goto LA472_;
  		LA474_: ;
  		{
  			tyArray__mrugoXXRZUEeG9bEXo9auBKw T478_;
  			nimZeroMem((void*)T478_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  			T478_[0] = xLoc;
  			T478_[1] = yLoc;
  			unsureAsgnRef((void**) (&(*r).res), percent___jsgen_1649(T478_, 2));
  		}
  		LA472_: ;
  	}
  	break;
  	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 102):
  	{
  		{
  			tyArray__mrugoXXRZUEeG9bEXo9auBKw T484_;
  			if (!(i == ((NI) 0))) goto LA482_;
  			nimZeroMem((void*)T484_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  			T484_[0] = xLoc;
  			T484_[1] = yLoc;
  			unsureAsgnRef((void**) (&(*r).res), percent___jsgen_1658(T484_, 2));
  		}
  		goto LA480_;
  		LA482_: ;
  		{
  			tyArray__mrugoXXRZUEeG9bEXo9auBKw T486_;
  			nimZeroMem((void*)T486_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  			T486_[0] = xLoc;
  			T486_[1] = yLoc;
  			unsureAsgnRef((void**) (&(*r).res), percent___jsgen_1658(T486_, 2));
  		}
  		LA480_: ;
  	}
  	break;
  	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 103):
  	{
  		{
  			tyArray__mrugoXXRZUEeG9bEXo9auBKw T492_;
  			if (!(i == ((NI) 0))) goto LA490_;
  			nimZeroMem((void*)T492_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  			T492_[0] = xLoc;
  			T492_[1] = yLoc;
  			unsureAsgnRef((void**) (&(*r).res), percent___jsgen_1667(T492_, 2));
  		}
  		goto LA488_;
  		LA490_: ;
  		{
  			tyArray__mrugoXXRZUEeG9bEXo9auBKw T494_;
  			nimZeroMem((void*)T494_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  			T494_[0] = xLoc;
  			T494_[1] = yLoc;
  			unsureAsgnRef((void**) (&(*r).res), percent___jsgen_1667(T494_, 2));
  		}
  		LA488_: ;
  	}
  	break;
  	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 104):
  	{
  		{
  			tyArray__mrugoXXRZUEeG9bEXo9auBKw T500_;
  			if (!(i == ((NI) 0))) goto LA498_;
  			nimZeroMem((void*)T500_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  			T500_[0] = xLoc;
  			T500_[1] = yLoc;
  			unsureAsgnRef((void**) (&(*r).res), percent___jsgen_1667(T500_, 2));
  		}
  		goto LA496_;
  		LA498_: ;
  		{
  			tyArray__mrugoXXRZUEeG9bEXo9auBKw T502_;
  			nimZeroMem((void*)T502_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  			T502_[0] = xLoc;
  			T502_[1] = yLoc;
  			unsureAsgnRef((void**) (&(*r).res), percent___jsgen_1667(T502_, 2));
  		}
  		LA496_: ;
  	}
  	break;
  	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 106):
  	{
  		{
  			tyArray__mrugoXXRZUEeG9bEXo9auBKw T508_;
  			if (!(i == ((NI) 0))) goto LA506_;
  			nimZeroMem((void*)T508_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  			T508_[0] = xLoc;
  			T508_[1] = yLoc;
  			unsureAsgnRef((void**) (&(*r).res), percent___jsgen_1684(T508_, 2));
  		}
  		goto LA504_;
  		LA506_: ;
  		{
  			tyArray__mrugoXXRZUEeG9bEXo9auBKw T510_;
  			nimZeroMem((void*)T510_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  			T510_[0] = xLoc;
  			T510_[1] = yLoc;
  			unsureAsgnRef((void**) (&(*r).res), percent___jsgen_1684(T510_, 2));
  		}
  		LA504_: ;
  	}
  	break;
  	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 107):
  	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 153):
  	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 155):
  	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 154):
  	{
  		{
  			tyArray__mrugoXXRZUEeG9bEXo9auBKw T516_;
  			if (!(i == ((NI) 0))) goto LA514_;
  			nimZeroMem((void*)T516_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  			T516_[0] = xLoc;
  			T516_[1] = yLoc;
  			unsureAsgnRef((void**) (&(*r).res), percent___cgen_19262(T516_, 2));
  		}
  		goto LA512_;
  		LA514_: ;
  		{
  			tyArray__mrugoXXRZUEeG9bEXo9auBKw T518_;
  			nimZeroMem((void*)T518_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  			T518_[0] = xLoc;
  			T518_[1] = yLoc;
  			unsureAsgnRef((void**) (&(*r).res), percent___cgen_19262(T518_, 2));
  		}
  		LA512_: ;
  	}
  	break;
  	default:
  	{
  	}
  	break;
  	}
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_1770)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_281), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_1784)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_282), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(void, arith__jsgen_1716)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w* r, tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg op) {
  	switch (op) {
  	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 65):
  	{
  		binaryUintExpr__jsgen_1721(p, n, r, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_231));
  	}
  	break;
  	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 66):
  	{
  		binaryUintExpr__jsgen_1721(p, n, r, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_232));
  	}
  	break;
  	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 67):
  	{
  		binaryUintExpr__jsgen_1721(p, n, r, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_233));
  	}
  	break;
  	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 68):
  	{
  		binaryUintExpr__jsgen_1721(p, n, r, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_234));
  		{
  			tyObject_TType__facALICuu8zUj0hjvbTLFg* T7_;
  			tyArray__JiWwrsTRC6xqNlGcBthSVA T10_;
  			T7_ = NIM_NIL;
  			T7_ = skipTypes__ast_3735((*(*n)._kind_6.sons->data[((NI) 1)]).typ, TM__BxLwT0mhrtgTPodf1v3xjg_235);
  			if (!((*T7_).size == IL64(8))) goto LA8_;
  			nimZeroMem((void*)T10_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
  			T10_[0] = (*r).res;
  			unsureAsgnRef((void**) (&(*r).res), percent___jsgen_1761(T10_, 1));
  		}
  		LA8_: ;
  	}
  	break;
  	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 49):
  	{
  		arithAux__jsgen_1135(p, n, r, op);
  	}
  	break;
  	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 50):
  	{
  		arithAux__jsgen_1135(p, n, r, op);
  	}
  	break;
  	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 57):
  	{
  		tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w x;
  		tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w y;
  		tyArray__mrugoXXRZUEeG9bEXo9auBKw T14_;
  		nimZeroMem((void*)(&x), sizeof(tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w));
  		nimZeroMem((void*)(&y), sizeof(tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w));
  		gen__jsgen_766(p, (*n)._kind_6.sons->data[((NI) 1)], (&x));
  		gen__jsgen_766(p, (*n)._kind_6.sons->data[((NI) 2)], (&y));
  		nimZeroMem((void*)T14_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  		T14_[0] = rdLoc__jsgen_188(x);
  		T14_[1] = rdLoc__jsgen_188(y);
  		unsureAsgnRef((void**) (&(*r).res), percent___jsgen_1770(T14_, 2));
  	}
  	break;
  	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 101):
  	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 102):
  	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 103):
  	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 104):
  	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 106):
  	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 107):
  	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 108):
  	{
  		arithAux__jsgen_1135(p, n, r, op);
  	}
  	break;
  	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 87):
  	{
  		{
  			tyEnum_TJSTypeKind__9aFSCXgaSEq2m81RJRMKDeA T19_;
  			T19_ = (tyEnum_TJSTypeKind__9aFSCXgaSEq2m81RJRMKDeA)0;
  			T19_ = mapType__jsgen_277((*(*n)._kind_6.sons->data[((NI) 1)]).typ);
  			if (!!((T19_ == ((tyEnum_TJSTypeKind__9aFSCXgaSEq2m81RJRMKDeA) 9)))) goto LA20_;
  			arithAux__jsgen_1135(p, n, r, op);
  		}
  		goto LA17_;
  		LA20_: ;
  		{
  			tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w x_2;
  			tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w y_2;
  			tyArray__f7nG5LD47BH5K9c6mASit3g T23_;
  			nimZeroMem((void*)(&x_2), sizeof(tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w));
  			nimZeroMem((void*)(&y_2), sizeof(tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w));
  			gen__jsgen_766(p, (*n)._kind_6.sons->data[((NI) 1)], (&x_2));
  			gen__jsgen_766(p, (*n)._kind_6.sons->data[((NI) 2)], (&y_2));
  			nimZeroMem((void*)T23_, sizeof(tyArray__f7nG5LD47BH5K9c6mASit3g));
  			T23_[0] = x_2.address;
  			T23_[1] = y_2.address;
  			T23_[2] = x_2.res;
  			T23_[3] = y_2.res;
  			unsureAsgnRef((void**) (&(*r).res), percent___jsgen_1784(T23_, 4));
  		}
  		LA17_: ;
  	}
  	break;
  	default:
  	{
  		arithAux__jsgen_1135(p, n, r, op);
  	}
  	break;
  	}
  	(*r).kind = ((tyEnum_TResKind__EoayJcDa8SxU1YPfjU8L9bg) 1);
  }
  N_LIB_PRIVATE N_NIMCALL(void, genReprAux__jsgen_4482)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w* r, NimStringDesc* magic, tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* typ) {
  	NimStringDesc* T1_;
  	tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w a;
  	useMagic__jsgen_779(p, magic);
  	T1_ = NIM_NIL;
  	T1_ = rawNewString((magic ? magic->Sup.len : 0) + 1);
  appendString(T1_, magic);
  appendString(T1_, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_117));
  	add__ropes_162(&(*r).res, T1_);
  	nimZeroMem((void*)(&a), sizeof(tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w));
  	gen__jsgen_766(p, (*n)._kind_6.sons->data[((NI) 1)], (&a));
  	{
  		if (!eqStrings(magic, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_283))) goto LA4_;
  		{
  			if (!(a.address == 0)) goto LA8_;
  			add__ropes_159(&(*r).res, a.res);
  			add__ropes_162(&(*r).res, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_284));
  		}
  		goto LA6_;
  		LA8_: ;
  		{
  			tyArray__mrugoXXRZUEeG9bEXo9auBKw T11_;
  			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T12_;
  			nimZeroMem((void*)T11_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  			T11_[0] = a.address;
  			T11_[1] = a.res;
  			T12_ = NIM_NIL;
  			T12_ = percent___cgen_11991(T11_, 2);
  			add__ropes_159(&(*r).res, T12_);
  		}
  		LA6_: ;
  	}
  	goto LA2_;
  	LA4_: ;
  	{
  		add__ropes_159(&(*r).res, a.res);
  	}
  	LA2_: ;
  	{
  		if (!!((typ == 0))) goto LA16_;
  		add__ropes_162(&(*r).res, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_118));
  		add__ropes_159(&(*r).res, typ);
  	}
  	LA16_: ;
  	add__ropes_162(&(*r).res, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_119));
  }
  N_LIB_PRIVATE N_NIMCALL(void, genRepr__jsgen_4500)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w* r) {
  	tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
  	t = skipTypes__ast_3735((*(*n)._kind_6.sons->data[((NI) 1)]).typ, TM__BxLwT0mhrtgTPodf1v3xjg_211);
  	switch ((*t).kind) {
  	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 35):
  	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 40) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 44):
  	{
  		genReprAux__jsgen_4482(p, n, r, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_285), ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL));
  	}
  	break;
  	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 2):
  	{
  		genReprAux__jsgen_4482(p, n, r, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_286), ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL));
  	}
  	break;
  	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 1):
  	{
  		genReprAux__jsgen_4482(p, n, r, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_287), ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL));
  	}
  	break;
  	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 36) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 39):
  	{
  		genReprAux__jsgen_4482(p, n, r, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_288), ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL));
  	}
  	break;
  	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 28):
  	{
  		genReprAux__jsgen_4482(p, n, r, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_289), ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL));
  	}
  	break;
  	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 14):
  	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 15):
  	{
  		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T7_;
  		T7_ = NIM_NIL;
  		T7_ = genTypeInfo__jsgen_385(p, t);
  		genReprAux__jsgen_4482(p, n, r, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_290), T7_);
  	}
  	break;
  	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 19):
  	{
  		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T9_;
  		T9_ = NIM_NIL;
  		T9_ = genTypeInfo__jsgen_385(p, t);
  		genReprAux__jsgen_4482(p, n, r, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_291), T9_);
  	}
  	break;
  	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 3):
  	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 63):
  	{
  		liMessage__msgs_1118((*(*p).module).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_292), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__BxLwT0mhrtgTPodf1v3xjg_293, NIM_FALSE);
  	}
  	break;
  	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 26):
  	{
  		genReprAux__jsgen_4482(p, n, r, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_294), ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL));
  	}
  	break;
  	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 27):
  	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 48):
  	{
  		genReprAux__jsgen_4482(p, n, r, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_295), ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL));
  	}
  	break;
  	default:
  	{
  		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T14_;
  		T14_ = NIM_NIL;
  		T14_ = genTypeInfo__jsgen_385(p, t);
  		genReprAux__jsgen_4482(p, n, r, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_283), T14_);
  	}
  	break;
  	}
  	(*r).kind = ((tyEnum_TResKind__EoayJcDa8SxU1YPfjU8L9bg) 1);
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_2739)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_299), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_2744)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_300), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(void, genSwap__jsgen_2717)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
  	tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w a;
  	tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w b;
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* tmp;
  	tyArray__wqYjTJU9ab2ZgEFMaQc3vNA T16_;
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T17_;
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T18_;
  	nimZeroMem((void*)(&a), sizeof(tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w));
  	nimZeroMem((void*)(&b), sizeof(tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w));
  	gen__jsgen_766(p, (*n)._kind_6.sons->data[((NI) 1)], (&a));
  	gen__jsgen_766(p, (*n)._kind_6.sons->data[((NI) 2)], (&b));
  	tmp = getTemp__jsgen_838(p, NIM_FALSE);
  	{
  		tyObject_TType__facALICuu8zUj0hjvbTLFg* T3_;
  		tyEnum_TJSTypeKind__9aFSCXgaSEq2m81RJRMKDeA T4_;
  		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* tmp2;
  		tyArray__wqYjTJU9ab2ZgEFMaQc3vNA T13_;
  		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T14_;
  		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T15_;
  		T3_ = NIM_NIL;
  		T3_ = skipTypes__ast_3735((*(*n)._kind_6.sons->data[((NI) 1)]).typ, TM__BxLwT0mhrtgTPodf1v3xjg_296);
  		T4_ = (tyEnum_TJSTypeKind__9aFSCXgaSEq2m81RJRMKDeA)0;
  		T4_ = mapType__jsgen_304(p, T3_);
  		if (!(T4_ == ((tyEnum_TJSTypeKind__9aFSCXgaSEq2m81RJRMKDeA) 9))) goto LA5_;
  		tmp2 = getTemp__jsgen_838(p, NIM_FALSE);
  		{
  			NIM_BOOL T9_;
  			T9_ = (NIM_BOOL)0;
  			T9_ = !((a.typ == ((tyEnum_TJSTypeKind__9aFSCXgaSEq2m81RJRMKDeA) 9)));
  			if (T9_) goto LA10_;
  			T9_ = !((b.typ == ((tyEnum_TJSTypeKind__9aFSCXgaSEq2m81RJRMKDeA) 9)));
  			LA10_: ;
  			if (!T9_) goto LA11_;
  			internalErrorImpl__msgs_1431((*(*p).module).config, (*n).info, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_297), TM__BxLwT0mhrtgTPodf1v3xjg_298);
  		}
  		LA11_: ;
  		nimZeroMem((void*)T13_, sizeof(tyArray__wqYjTJU9ab2ZgEFMaQc3vNA));
  		T13_[0] = tmp;
  		T13_[1] = a.address;
  		T13_[2] = b.address;
  		T14_ = NIM_NIL;
  		T14_ = percent___jsgen_2739(T13_, 3);
  		T15_ = NIM_NIL;
  		T15_ = indentLine__jsgen_97(p, T14_);
  		add__ropes_159(&(*p).body, T15_);
  		tmp = tmp2;
  	}
  	LA5_: ;
  	nimZeroMem((void*)T16_, sizeof(tyArray__wqYjTJU9ab2ZgEFMaQc3vNA));
  	T16_[0] = tmp;
  	T16_[1] = a.res;
  	T16_[2] = b.res;
  	T17_ = NIM_NIL;
  	T17_ = percent___jsgen_2744(T16_, 3);
  	T18_ = NIM_NIL;
  	T18_ = indentLine__jsgen_97(p, T17_);
  	add__ropes_159(&(*p).body, T18_);
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_4625)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_302), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, needsTemp__jsgen_951)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
  	NIM_BOOL result;
  {	result = (NIM_BOOL)0;
  	{
  		if (!((*n).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 26) && (*n).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 32) || (*n).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 38) && (*n).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 39) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 41) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 160))) goto LA3_;
  		result = NIM_TRUE;
  		goto BeforeRet_;
  	}
  	LA3_: ;
  	{
  		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* c;
  		c = NIM_NIL;
  		{
  			NI i;
  			NI colontmp_;
  			NI i_2;
  			i = (NI)0;
  			colontmp_ = (NI)0;
  			colontmp_ = safeLen__ast_3191(n);
  			i_2 = ((NI) 0);
  			{
  				while (1) {
  					if (!(i_2 < colontmp_)) goto LA8;
  					i = i_2;
  					c = (*n)._kind_6.sons->data[i];
  					{
  						NIM_BOOL T11_;
  						T11_ = (NIM_BOOL)0;
  						T11_ = needsTemp__jsgen_951(p, c);
  						if (!T11_) goto LA12_;
  						result = NIM_TRUE;
  						goto BeforeRet_;
  					}
  					LA12_: ;
  					i_2 += ((NI) 1);
  				} LA8: ;
  			}
  		}
  	}
  	}BeforeRet_: ;
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_985)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_303), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_993)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_304), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(void, maybeMakeTemp__jsgen_964)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w x, tyTuple__nsNHL3sm0TZE9bootw2pEXw* Result) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* a;
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* b;
  	a = rdLoc__jsgen_188(x);
  	b = a;
  	{
  		NIM_BOOL T3_;
  		T3_ = (NIM_BOOL)0;
  		T3_ = needsTemp__jsgen_951(p, n);
  		if (!T3_) goto LA4_;
  		{
  			NIM_BOOL T8_;
  			NIM_BOOL T10_;
  			tyEnum_TJSTypeKind__9aFSCXgaSEq2m81RJRMKDeA T11_;
  			tyArray__JiWwrsTRC6xqNlGcBthSVA T15_;
  			T8_ = (NIM_BOOL)0;
  			T8_ = !((x.tmpLoc == ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL)));
  			if (!(T8_)) goto LA9_;
  			T10_ = (NIM_BOOL)0;
  			T11_ = (tyEnum_TJSTypeKind__9aFSCXgaSEq2m81RJRMKDeA)0;
  			T11_ = mapType__jsgen_277((*n).typ);
  			T10_ = (T11_ == ((tyEnum_TJSTypeKind__9aFSCXgaSEq2m81RJRMKDeA) 9));
  			if (T10_) goto LA12_;
  			T10_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 65) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 47));
  			LA12_: ;
  			T8_ = T10_;
  			LA9_: ;
  			if (!T8_) goto LA13_;
  			nimZeroMem((void*)T15_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
  			T15_[0] = x.tmpLoc;
  			b = percent___jsgen_985(T15_, 1);
  			unsureAsgnRef((void**) (&(*Result).Field0), a);
  			unsureAsgnRef((void**) (&(*Result).Field1), b);
  		}
  		goto LA6_;
  		LA13_: ;
  		{
  			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* tmp;
  			tyArray__mrugoXXRZUEeG9bEXo9auBKw T17_;
  			tmp = getTemp__jsgen_838(p, NIM_TRUE);
  			b = tmp;
  			nimZeroMem((void*)T17_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  			T17_[0] = tmp;
  			T17_[1] = a;
  			a = percent___jsgen_993(T17_, 2);
  			unsureAsgnRef((void**) (&(*Result).Field0), a);
  			unsureAsgnRef((void**) (&(*Result).Field1), b);
  		}
  		LA6_: ;
  	}
  	goto LA1_;
  	LA4_: ;
  	{
  		unsureAsgnRef((void**) (&(*Result).Field0), a);
  		unsureAsgnRef((void**) (&(*Result).Field1), b);
  	}
  	LA1_: ;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_4642)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_305), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_4650)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_306), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_4669)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_307), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_4681)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_308), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_4424)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_309), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_4429)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_310), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_4448)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_311), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_4453)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_312), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_4472)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_313), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_4477)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_314), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(void, genConStrStr__jsgen_4413)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w* r) {
  	tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w a;
  	NI T25_;
  	nimZeroMem((void*)(&a), sizeof(tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w));
  	gen__jsgen_766(p, (*n)._kind_6.sons->data[((NI) 1)], (&a));
  	(*r).kind = ((tyEnum_TResKind__EoayJcDa8SxU1YPfjU8L9bg) 1);
  	{
  		tyObject_TType__facALICuu8zUj0hjvbTLFg* T3_;
  		tyArray__JiWwrsTRC6xqNlGcBthSVA T6_;
  		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T7_;
  		T3_ = NIM_NIL;
  		T3_ = skipTypes__ast_3735((*(*n)._kind_6.sons->data[((NI) 1)]).typ, TM__BxLwT0mhrtgTPodf1v3xjg_211);
  		if (!((*T3_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 2))) goto LA4_;
  		nimZeroMem((void*)T6_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
  		T6_[0] = a.res;
  		T7_ = NIM_NIL;
  		T7_ = percent___jsgen_4424(T6_, 1);
  		add__ropes_159(&(*r).res, T7_);
  	}
  	goto LA1_;
  	LA4_: ;
  	{
  		tyArray__JiWwrsTRC6xqNlGcBthSVA T9_;
  		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T10_;
  		nimZeroMem((void*)T9_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
  		T9_[0] = a.res;
  		T10_ = NIM_NIL;
  		T10_ = percent___jsgen_4429(T9_, 1);
  		add__ropes_159(&(*r).res, T10_);
  	}
  	LA1_: ;
  	{
  		NI i;
  		NI colontmp_;
  		NI T12_;
  		NI i_2;
  		i = (NI)0;
  		colontmp_ = (NI)0;
  		T12_ = (NI)0;
  		T12_ = len__ast_3198(n);
  		colontmp_ = (NI)(T12_ - ((NI) 1));
  		i_2 = ((NI) 2);
  		{
  			while (1) {
  				if (!(i_2 < colontmp_)) goto LA14;
  				i = i_2;
  				gen__jsgen_766(p, (*n)._kind_6.sons->data[i], (&a));
  				{
  					tyObject_TType__facALICuu8zUj0hjvbTLFg* T17_;
  					tyArray__JiWwrsTRC6xqNlGcBthSVA T20_;
  					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T21_;
  					T17_ = NIM_NIL;
  					T17_ = skipTypes__ast_3735((*(*n)._kind_6.sons->data[i]).typ, TM__BxLwT0mhrtgTPodf1v3xjg_211);
  					if (!((*T17_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 2))) goto LA18_;
  					nimZeroMem((void*)T20_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
  					T20_[0] = a.res;
  					T21_ = NIM_NIL;
  					T21_ = percent___jsgen_4448(T20_, 1);
  					add__ropes_159(&(*r).res, T21_);
  				}
  				goto LA15_;
  				LA18_: ;
  				{
  					tyArray__JiWwrsTRC6xqNlGcBthSVA T23_;
  					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T24_;
  					nimZeroMem((void*)T23_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
  					T23_[0] = a.res;
  					T24_ = NIM_NIL;
  					T24_ = percent___jsgen_4453(T23_, 1);
  					add__ropes_159(&(*r).res, T24_);
  				}
  				LA15_: ;
  				i_2 += ((NI) 1);
  			} LA14: ;
  		}
  	}
  	T25_ = (NI)0;
  	T25_ = len__ast_3198(n);
  	gen__jsgen_766(p, (*n)._kind_6.sons->data[(NI)(T25_ - ((NI) 1))], (&a));
  	{
  		NI T28_;
  		tyObject_TType__facALICuu8zUj0hjvbTLFg* T29_;
  		tyArray__JiWwrsTRC6xqNlGcBthSVA T32_;
  		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T33_;
  		T28_ = (NI)0;
  		T28_ = len__ast_3198(n);
  		T29_ = NIM_NIL;
  		T29_ = skipTypes__ast_3735((*(*n)._kind_6.sons->data[(NI)(T28_ - ((NI) 1))]).typ, TM__BxLwT0mhrtgTPodf1v3xjg_211);
  		if (!((*T29_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 2))) goto LA30_;
  		nimZeroMem((void*)T32_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
  		T32_[0] = a.res;
  		T33_ = NIM_NIL;
  		T33_ = percent___jsgen_4472(T32_, 1);
  		add__ropes_159(&(*r).res, T33_);
  	}
  	goto LA26_;
  	LA30_: ;
  	{
  		tyArray__JiWwrsTRC6xqNlGcBthSVA T35_;
  		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T36_;
  		nimZeroMem((void*)T35_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
  		T35_[0] = a.res;
  		T36_ = NIM_NIL;
  		T36_ = percent___jsgen_4477(T35_, 1);
  		add__ropes_159(&(*r).res, T36_);
  	}
  	LA26_: ;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_4704)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_316), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_4723)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_318), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_4742)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_319), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_4759)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_320), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_4766)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_322), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_1950)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_323), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_4366)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_324), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_4371)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_325), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(void, genNew__jsgen_4346)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
  	tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w a;
  	tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
  	tyObject_TType__facALICuu8zUj0hjvbTLFg* T1_;
  	nimZeroMem((void*)(&a), sizeof(tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w));
  	gen__jsgen_766(p, (*n)._kind_6.sons->data[((NI) 1)], (&a));
  	T1_ = NIM_NIL;
  	T1_ = skipTypes__ast_3735((*(*n)._kind_6.sons->data[((NI) 1)]).typ, TM__BxLwT0mhrtgTPodf1v3xjg_296);
  	t = (*T1_).sons->data[((NI) 0)];
  	{
  		tyEnum_TJSTypeKind__9aFSCXgaSEq2m81RJRMKDeA T4_;
  		tyArray__mrugoXXRZUEeG9bEXo9auBKw T7_;
  		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T8_;
  		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T9_;
  		T4_ = (tyEnum_TJSTypeKind__9aFSCXgaSEq2m81RJRMKDeA)0;
  		T4_ = mapType__jsgen_277(t);
  		if (!(T4_ == ((tyEnum_TJSTypeKind__9aFSCXgaSEq2m81RJRMKDeA) 8))) goto LA5_;
  		nimZeroMem((void*)T7_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  		T7_[0] = rdLoc__jsgen_188(a);
  		T7_[1] = createVar__jsgen_3791(p, t, NIM_FALSE);
  		T8_ = NIM_NIL;
  		T8_ = percent___jsgen_1950(T7_, 2);
  		T9_ = NIM_NIL;
  		T9_ = indentLine__jsgen_97(p, T8_);
  		add__ropes_159(&(*p).body, T9_);
  	}
  	goto LA2_;
  	LA5_: ;
  	{
  		tyArray__wqYjTJU9ab2ZgEFMaQc3vNA T13_;
  		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T14_;
  		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T15_;
  		if (!(a.typ == ((tyEnum_TJSTypeKind__9aFSCXgaSEq2m81RJRMKDeA) 9))) goto LA11_;
  		nimZeroMem((void*)T13_, sizeof(tyArray__wqYjTJU9ab2ZgEFMaQc3vNA));
  		T13_[0] = a.address;
  		T13_[1] = a.res;
  		T13_[2] = createVar__jsgen_3791(p, t, NIM_FALSE);
  		T14_ = NIM_NIL;
  		T14_ = percent___jsgen_4366(T13_, 3);
  		T15_ = NIM_NIL;
  		T15_ = indentLine__jsgen_97(p, T14_);
  		add__ropes_159(&(*p).body, T15_);
  	}
  	goto LA2_;
  	LA11_: ;
  	{
  		tyArray__mrugoXXRZUEeG9bEXo9auBKw T17_;
  		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T18_;
  		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T19_;
  		nimZeroMem((void*)T17_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  		T17_[0] = rdLoc__jsgen_188(a);
  		T17_[1] = createVar__jsgen_3791(p, t, NIM_FALSE);
  		T18_ = NIM_NIL;
  		T18_ = percent___jsgen_4371(T17_, 2);
  		T19_ = NIM_NIL;
  		T19_ = indentLine__jsgen_97(p, T18_);
  		add__ropes_159(&(*p).body, T19_);
  	}
  	LA2_: ;
  }
  N_LIB_PRIVATE N_NIMCALL(void, genJSArrayConstr__jsgen_4569)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w* r) {
  	tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w a;
  	nimZeroMem((void*)(&a), sizeof(tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w));
  	unsureAsgnRef((void**) (&(*r).res), rope__ropes_109(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_173)));
  	(*r).kind = ((tyEnum_TResKind__EoayJcDa8SxU1YPfjU8L9bg) 1);
  	{
  		NI i;
  		NI colontmp_;
  		NI i_2;
  		i = (NI)0;
  		colontmp_ = (NI)0;
  		colontmp_ = len__ast_3198(n);
  		i_2 = ((NI) 0);
  		{
  			while (1) {
  				if (!(i_2 < colontmp_)) goto LA3;
  				i = i_2;
  				{
  					if (!(((NI) 0) < i)) goto LA6_;
  					add__ropes_162(&(*r).res, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_118));
  				}
  				LA6_: ;
  				gen__jsgen_766(p, (*n)._kind_6.sons->data[i], (&a));
  				{
  					tyArray__mrugoXXRZUEeG9bEXo9auBKw T12_;
  					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T13_;
  					if (!(a.typ == ((tyEnum_TJSTypeKind__9aFSCXgaSEq2m81RJRMKDeA) 9))) goto LA10_;
  					nimZeroMem((void*)T12_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  					T12_[0] = a.address;
  					T12_[1] = a.res;
  					T13_ = NIM_NIL;
  					T13_ = percent___jsgen_462(T12_, 2);
  					add__ropes_159(&(*r).res, T13_);
  				}
  				goto LA8_;
  				LA10_: ;
  				{
  					{
  						NIM_BOOL T17_;
  						tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
  						tyArray__mrugoXXRZUEeG9bEXo9auBKw T20_;
  						T17_ = (NIM_BOOL)0;
  						T17_ = needsNoCopy__jsgen_2483(p, (*n)._kind_6.sons->data[i]);
  						if (!!(T17_)) goto LA18_;
  						typ = skipTypes__ast_3735((*(*n)._kind_6.sons->data[i]).typ, TM__BxLwT0mhrtgTPodf1v3xjg_97);
  						useMagic__jsgen_779(p, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_141));
  						nimZeroMem((void*)T20_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  						T20_[0] = rdLoc__jsgen_188(a);
  						T20_[1] = genTypeInfo__jsgen_385(p, typ);
  						a.res = percent___jsgen_4160(T20_, 2);
  					}
  					LA18_: ;
  					add__ropes_159(&(*r).res, a.res);
  				}
  				LA8_: ;
  				i_2 += ((NI) 1);
  			} LA3: ;
  		}
  	}
  	add__ropes_162(&(*r).res, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_174));
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_4408)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_327), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(void, genOrd__jsgen_4391)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w* r) {
  	tyObject_TType__facALICuu8zUj0hjvbTLFg* T1_;
  	T1_ = NIM_NIL;
  	T1_ = skipTypes__ast_3735((*(*n)._kind_6.sons->data[((NI) 1)]).typ, TM__BxLwT0mhrtgTPodf1v3xjg_326);
  	switch ((*T1_).kind) {
  	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 14):
  	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 44):
  	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 2):
  	{
  		gen__jsgen_766(p, (*n)._kind_6.sons->data[((NI) 1)], r);
  	}
  	break;
  	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 1):
  	{
  		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* aX60gensym863_;
  		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* tmpX60gensym863_;
  		tyArray__mrugoXXRZUEeG9bEXo9auBKw T9_;
  		useMagic__jsgen_779(p, ((NimStringDesc*) NIM_NIL));
  		gen__jsgen_766(p, (*n)._kind_6.sons->data[((NI) 1)], r);
  		aX60gensym863_ = rdLoc__jsgen_188((*r));
  		tmpX60gensym863_ = rdLoc__jsgen_188((*r));
  		{
  			NIM_BOOL T6_;
  			tyTuple__nsNHL3sm0TZE9bootw2pEXw _;
  			T6_ = (NIM_BOOL)0;
  			T6_ = contains__pureZstrutils_1631(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_327), ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_321));
  			if (!T6_) goto LA7_;
  			nimZeroMem((void*)(&_), sizeof(tyTuple__nsNHL3sm0TZE9bootw2pEXw));
  			maybeMakeTemp__jsgen_964(p, (*n)._kind_6.sons->data[((NI) 1)], (*r), (&_));
  			aX60gensym863_ = _.Field0;
  			tmpX60gensym863_ = _.Field1;
  		}
  		LA7_: ;
  		nimZeroMem((void*)T9_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  		T9_[0] = aX60gensym863_;
  		T9_[1] = tmpX60gensym863_;
  		unsureAsgnRef((void**) (&(*r).res), percent___jsgen_4408(T9_, 2));
  		(*r).kind = ((tyEnum_TResKind__EoayJcDa8SxU1YPfjU8L9bg) 1);
  	}
  	break;
  	default:
  	{
  		internalErrorImpl__msgs_1431((*(*p).module).config, (*n).info, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_328), TM__BxLwT0mhrtgTPodf1v3xjg_329);
  	}
  	break;
  	}
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_4794)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_330), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_4799)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_331), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_4814)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_332), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_4819)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_333), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_1056)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_336), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_1061)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_337), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_1066)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_338), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(void, maybeMakeTempAssignable__jsgen_1002)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w x, tyTuple__nsNHL3sm0TZE9bootw2pEXw* Result) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* a;
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* b;
  	a = rdLoc__jsgen_188(x);
  	b = a;
  	{
  		NIM_BOOL T3_;
  		T3_ = (NIM_BOOL)0;
  		T3_ = needsTemp__jsgen_951(p, n);
  		if (!T3_) goto LA4_;
  		{
  			NIM_BOOL T8_;
  			NIM_BOOL T10_;
  			tyEnum_TJSTypeKind__9aFSCXgaSEq2m81RJRMKDeA T11_;
  			tyArray__JiWwrsTRC6xqNlGcBthSVA T15_;
  			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* colontmp_;
  			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* colontmp__2;
  			T8_ = (NIM_BOOL)0;
  			T8_ = !((x.tmpLoc == ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL)));
  			if (!(T8_)) goto LA9_;
  			T10_ = (NIM_BOOL)0;
  			T11_ = (tyEnum_TJSTypeKind__9aFSCXgaSEq2m81RJRMKDeA)0;
  			T11_ = mapType__jsgen_277((*n).typ);
  			T10_ = (T11_ == ((tyEnum_TJSTypeKind__9aFSCXgaSEq2m81RJRMKDeA) 9));
  			if (T10_) goto LA12_;
  			T10_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 65) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 47));
  			LA12_: ;
  			T8_ = T10_;
  			LA9_: ;
  			if (!T8_) goto LA13_;
  			nimZeroMem((void*)T15_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
  			T15_[0] = x.tmpLoc;
  			b = percent___jsgen_985(T15_, 1);
  			colontmp_ = a;
  			colontmp__2 = b;
  			unsureAsgnRef((void**) (&(*Result).Field0), colontmp_);
  			unsureAsgnRef((void**) (&(*Result).Field1), colontmp__2);
  		}
  		goto LA6_;
  		LA13_: ;
  		{
  			NIM_BOOL T17_;
  			tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w address;
  			tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w index;
  			tyObject_Int128__9a9axPfb75jdWY25AamJewkA first;
  			tyTuple__nsNHL3sm0TZE9bootw2pEXw T21_;
  			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* m1;
  			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* tmp1;
  			tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
  			tyTuple__nsNHL3sm0TZE9bootw2pEXw T44_;
  			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* n1;
  			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* tmp2;
  			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* colontmp__3;
  			tyArray__mrugoXXRZUEeG9bEXo9auBKw T45_;
  			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* colontmp__4;
  			tyArray__mrugoXXRZUEeG9bEXo9auBKw T46_;
  			T17_ = (NIM_BOOL)0;
  			T17_ = !((x.tmpLoc == ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL)));
  			if (!(T17_)) goto LA18_;
  			T17_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 42));
  			LA18_: ;
  			if (!T17_) goto LA19_;
  			nimZeroMem((void*)(&address), sizeof(tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w));
  			nimZeroMem((void*)(&index), sizeof(tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w));
  			nimZeroMem((void*)(&first), sizeof(tyObject_Int128__9a9axPfb75jdWY25AamJewkA));
  			gen__jsgen_766(p, (*n)._kind_6.sons->data[((NI) 0)], (&address));
  			gen__jsgen_766(p, (*n)._kind_6.sons->data[((NI) 1)], (&index));
  			nimZeroMem((void*)(&T21_), sizeof(tyTuple__nsNHL3sm0TZE9bootw2pEXw));
  			maybeMakeTemp__jsgen_964(p, (*n)._kind_6.sons->data[((NI) 0)], address, (&T21_));
  			m1 = NIM_NIL;
  			m1 = T21_.Field0;
  			tmp1 = NIM_NIL;
  			tmp1 = T21_.Field1;
  			typ = skipTypes__ast_3735((*(*n)._kind_6.sons->data[((NI) 0)]).typ, TM__BxLwT0mhrtgTPodf1v3xjg_334);
  			{
  				if (!((*typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 16))) goto LA24_;
  				first = firstOrd__types_1353((*(*p).module).config, (*typ).sons->data[((NI) 0)]);
  			}
  			LA24_: ;
  			{
  				if (!(((*p).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 4))&31U)))!=0)) goto LA28_;
  				useMagic__jsgen_779(p, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_335));
  				{
  					NIM_BOOL T32_;
  					tyArray__mrugoXXRZUEeG9bEXo9auBKw T35_;
  					T32_ = (NIM_BOOL)0;
  					T32_ = eqeq___int495056_759(first, IL64(0));
  					if (!T32_) goto LA33_;
  					nimZeroMem((void*)T35_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  					T35_[0] = index.res;
  					T35_[1] = tmp1;
  					index.res = percent___jsgen_1056(T35_, 2);
  				}
  				goto LA30_;
  				LA33_: ;
  				{
  					tyArray__wqYjTJU9ab2ZgEFMaQc3vNA T37_;
  					nimZeroMem((void*)T37_, sizeof(tyArray__wqYjTJU9ab2ZgEFMaQc3vNA));
  					T37_[0] = index.res;
  					T37_[1] = rope__jsgen_382(first);
  					T37_[2] = tmp1;
  					index.res = percent___jsgen_1061(T37_, 3);
  				}
  				LA30_: ;
  			}
  			goto LA26_;
  			LA28_: ;
  			{
  				NIM_BOOL T39_;
  				tyArray__mrugoXXRZUEeG9bEXo9auBKw T42_;
  				T39_ = (NIM_BOOL)0;
  				T39_ = eqeq___int495056_759(first, IL64(0));
  				if (!!(T39_)) goto LA40_;
  				nimZeroMem((void*)T42_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  				T42_[0] = index.res;
  				T42_[1] = rope__jsgen_382(first);
  				index.res = percent___jsgen_1066(T42_, 2);
  			}
  			goto LA26_;
  			LA40_: ;
  			{
  			}
  			LA26_: ;
  			nimZeroMem((void*)(&T44_), sizeof(tyTuple__nsNHL3sm0TZE9bootw2pEXw));
  			maybeMakeTemp__jsgen_964(p, (*n)._kind_6.sons->data[((NI) 1)], index, (&T44_));
  			n1 = NIM_NIL;
  			n1 = T44_.Field0;
  			tmp2 = NIM_NIL;
  			tmp2 = T44_.Field1;
  			nimZeroMem((void*)T45_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  			T45_[0] = m1;
  			T45_[1] = n1;
  			colontmp__3 = percent___cgen_6775(T45_, 2);
  			nimZeroMem((void*)T46_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  			T46_[0] = tmp1;
  			T46_[1] = tmp2;
  			colontmp__4 = percent___cgen_6775(T46_, 2);
  			unsureAsgnRef((void**) (&(*Result).Field0), colontmp__3);
  			unsureAsgnRef((void**) (&(*Result).Field1), colontmp__4);
  		}
  		goto LA6_;
  		LA19_: ;
  		{
  			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* colontmp__5;
  			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* colontmp__6;
  			colontmp__5 = a;
  			colontmp__6 = b;
  			unsureAsgnRef((void**) (&(*Result).Field0), colontmp__5);
  			unsureAsgnRef((void**) (&(*Result).Field1), colontmp__6);
  		}
  		LA6_: ;
  	}
  	goto LA1_;
  	LA4_: ;
  	{
  		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* colontmp__7;
  		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* colontmp__8;
  		colontmp__7 = a;
  		colontmp__8 = b;
  		unsureAsgnRef((void**) (&(*Result).Field0), colontmp__7);
  		unsureAsgnRef((void**) (&(*Result).Field1), colontmp__8);
  	}
  	LA1_: ;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_4845)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_339), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(void, binaryUintExpr__jsgen_4829)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w* r, NimStringDesc* op) {
  	tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w x;
  	tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w y;
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* trimmer;
  	tyObject_TType__facALICuu8zUj0hjvbTLFg* T1_;
  	tyTuple__nsNHL3sm0TZE9bootw2pEXw T2_;
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* a;
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* tmp;
  	tyArray__duFhZXIIlrbrM62cWjNekg T3_;
  	nimZeroMem((void*)(&x), sizeof(tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w));
  	nimZeroMem((void*)(&y), sizeof(tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w));
  	gen__jsgen_766(p, (*n)._kind_6.sons->data[((NI) 1)], (&x));
  	gen__jsgen_766(p, (*n)._kind_6.sons->data[((NI) 2)], (&y));
  	T1_ = NIM_NIL;
  	T1_ = skipTypes__ast_3735((*(*n)._kind_6.sons->data[((NI) 1)]).typ, abstractRange__types_101);
  	trimmer = unsignedTrimmerJS__jsgen_1101((*T1_).size);
  	nimZeroMem((void*)(&T2_), sizeof(tyTuple__nsNHL3sm0TZE9bootw2pEXw));
  	maybeMakeTempAssignable__jsgen_1002(p, (*n)._kind_6.sons->data[((NI) 1)], x, (&T2_));
  	a = NIM_NIL;
  	a = T2_.Field0;
  	tmp = NIM_NIL;
  	tmp = T2_.Field1;
  	nimZeroMem((void*)T3_, sizeof(tyArray__duFhZXIIlrbrM62cWjNekg));
  	T3_[0] = a;
  	T3_[1] = rope__ropes_109(op);
  	T3_[2] = rdLoc__jsgen_188(y);
  	T3_[3] = trimmer;
  	T3_[4] = tmp;
  	unsureAsgnRef((void**) (&(*r).res), percent___jsgen_4845(T3_, 5));
  	(*r).kind = ((tyEnum_TResKind__EoayJcDa8SxU1YPfjU8L9bg) 1);
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_4868)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_340), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_4889)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_341), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_4924)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_342), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_4945)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_343), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_4964)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_345), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_4982)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_346), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_4994)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_348), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_5013)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_350), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_5032)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_352), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_5051)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_354), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_5070)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_356), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_5089)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_358), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_5108)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_360), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_5127)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_361), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_5146)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_362), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_5165)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_363), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_4386)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_364), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(void, genNewSeq__jsgen_4376)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
  	tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w x;
  	tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w y;
  	tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
  	tyObject_TType__facALICuu8zUj0hjvbTLFg* T1_;
  	tyArray__wqYjTJU9ab2ZgEFMaQc3vNA T2_;
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T3_;
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T4_;
  	nimZeroMem((void*)(&x), sizeof(tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w));
  	nimZeroMem((void*)(&y), sizeof(tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w));
  	gen__jsgen_766(p, (*n)._kind_6.sons->data[((NI) 1)], (&x));
  	gen__jsgen_766(p, (*n)._kind_6.sons->data[((NI) 2)], (&y));
  	T1_ = NIM_NIL;
  	T1_ = skipTypes__ast_3735((*(*n)._kind_6.sons->data[((NI) 1)]).typ, TM__BxLwT0mhrtgTPodf1v3xjg_296);
  	t = (*T1_).sons->data[((NI) 0)];
  	nimZeroMem((void*)T2_, sizeof(tyArray__wqYjTJU9ab2ZgEFMaQc3vNA));
  	T2_[0] = rdLoc__jsgen_188(x);
  	T2_[1] = rdLoc__jsgen_188(y);
  	T2_[2] = createVar__jsgen_3791(p, t, NIM_FALSE);
  	T3_ = NIM_NIL;
  	T3_ = percent___jsgen_4386(T2_, 3);
  	T4_ = NIM_NIL;
  	T4_ = indentLine__jsgen_97(p, T3_);
  	add__ropes_159(&(*p).body, T4_);
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_5177)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_184), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_4522)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_366), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_4527)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_368), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(void, genOf__jsgen_4506)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w* r) {
  	tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w x;
  	tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
  	nimZeroMem((void*)(&x), sizeof(tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w));
  	t = skipTypes__ast_3735((*(*n)._kind_6.sons->data[((NI) 2)]).typ, TM__BxLwT0mhrtgTPodf1v3xjg_365);
  	gen__jsgen_766(p, (*n)._kind_6.sons->data[((NI) 1)], (&x));
  	{
  		tyArray__mrugoXXRZUEeG9bEXo9auBKw T5_;
  		if (!(((*t).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 2))&63U)))!=0)) goto LA3_;
  		nimZeroMem((void*)T5_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  		T5_[0] = x.res;
  		T5_[1] = genTypeInfo__jsgen_385(p, t);
  		unsureAsgnRef((void**) (&(*r).res), percent___jsgen_4522(T5_, 2));
  	}
  	goto LA1_;
  	LA3_: ;
  	{
  		tyArray__mrugoXXRZUEeG9bEXo9auBKw T7_;
  		useMagic__jsgen_779(p, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_367));
  		nimZeroMem((void*)T7_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  		T7_[0] = x.res;
  		T7_[1] = genTypeInfo__jsgen_385(p, t);
  		unsureAsgnRef((void**) (&(*r).res), percent___jsgen_4527(T7_, 2));
  	}
  	LA1_: ;
  	(*r).kind = ((tyEnum_TResKind__EoayJcDa8SxU1YPfjU8L9bg) 1);
  }
  N_LIB_PRIVATE N_NIMCALL(void, genDefault__jsgen_4532)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w* r) {
  	unsureAsgnRef((void**) (&(*r).res), createVar__jsgen_3791(p, (*n).typ, NIM_FALSE));
  	(*r).kind = ((tyEnum_TResKind__EoayJcDa8SxU1YPfjU8L9bg) 1);
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_4545)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_370), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_4554)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_371), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(void, genReset__jsgen_4536)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
  	tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w x;
  	nimZeroMem((void*)(&x), sizeof(tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w));
  	useMagic__jsgen_779(p, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_369));
  	gen__jsgen_766(p, (*n)._kind_6.sons->data[((NI) 1)], (&x));
  	{
  		tyArray__mrugoXXRZUEeG9bEXo9auBKw T5_;
  		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T6_;
  		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T7_;
  		if (!(x.typ == ((tyEnum_TJSTypeKind__9aFSCXgaSEq2m81RJRMKDeA) 9))) goto LA3_;
  		nimZeroMem((void*)T5_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  		T5_[0] = x.address;
  		T5_[1] = x.res;
  		T6_ = NIM_NIL;
  		T6_ = percent___jsgen_4545(T5_, 2);
  		T7_ = NIM_NIL;
  		T7_ = indentLine__jsgen_97(p, T6_);
  		add__ropes_159(&(*p).body, T7_);
  	}
  	goto LA1_;
  	LA3_: ;
  	{
  		tyTuple__nsNHL3sm0TZE9bootw2pEXw T9_;
  		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* a;
  		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* tmp;
  		tyArray__wqYjTJU9ab2ZgEFMaQc3vNA T10_;
  		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T11_;
  		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T12_;
  		nimZeroMem((void*)(&T9_), sizeof(tyTuple__nsNHL3sm0TZE9bootw2pEXw));
  		maybeMakeTempAssignable__jsgen_1002(p, (*n)._kind_6.sons->data[((NI) 1)], x, (&T9_));
  		a = NIM_NIL;
  		a = T9_.Field0;
  		tmp = NIM_NIL;
  		tmp = T9_.Field1;
  		nimZeroMem((void*)T10_, sizeof(tyArray__wqYjTJU9ab2ZgEFMaQc3vNA));
  		T10_[0] = a;
  		T10_[1] = genTypeInfo__jsgen_385(p, (*(*n)._kind_6.sons->data[((NI) 1)]).typ);
  		T10_[2] = tmp;
  		T11_ = NIM_NIL;
  		T11_ = percent___jsgen_4554(T10_, 3);
  		T12_ = NIM_NIL;
  		T12_ = indentLine__jsgen_97(p, T11_);
  		add__ropes_159(&(*p).body, T12_);
  	}
  	LA1_: ;
  }
  N_LIB_PRIVATE N_NIMCALL(void, genArgNoParam__jsgen_3485)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w* r) {
  	tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w a;
  	nimZeroMem((void*)(&a), sizeof(tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w));
  	gen__jsgen_766(p, n, (&a));
  	{
  		if (!(a.typ == ((tyEnum_TJSTypeKind__9aFSCXgaSEq2m81RJRMKDeA) 9))) goto LA3_;
  		add__ropes_159(&(*r).res, a.address);
  		add__ropes_162(&(*r).res, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_118));
  		add__ropes_159(&(*r).res, a.res);
  	}
  	goto LA1_;
  	LA3_: ;
  	{
  		add__ropes_159(&(*r).res, a.res);
  	}
  	LA1_: ;
  }
  N_LIB_PRIVATE N_NIMCALL(void, genEcho__jsgen_3758)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w* r) {
  	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n_2;
  	n_2 = skipConv__types_3588((*n)._kind_6.sons->data[((NI) 1)]);
  	{
  		NimStringDesc* argX60gensym758_;
  		if (!!(((*n_2).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 41)))) goto LA3_;
  		argX60gensym758_ = toFileLineCol__msgs_615(TM__BxLwT0mhrtgTPodf1v3xjg_372);
  		internalErrorImpl__msgs_1431((*(*p).module).config, unknownLineInfo__lineinfos_280, argX60gensym758_, TM__BxLwT0mhrtgTPodf1v3xjg_372);
  	}
  	LA3_: ;
  	useMagic__jsgen_779(p, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_373));
  	useMagic__jsgen_779(p, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_374));
  	add__ropes_162(&(*r).res, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_375));
  	{
  		NI i;
  		NI colontmp_;
  		NI i_2;
  		i = (NI)0;
  		colontmp_ = (NI)0;
  		colontmp_ = len__ast_3198(n_2);
  		i_2 = ((NI) 0);
  		{
  			while (1) {
  				if (!(i_2 < colontmp_)) goto LA7;
  				i = i_2;
  				{
  					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* it;
  					it = (*n_2)._kind_6.sons->data[i];
  					{
  						NIM_BOOL T11_;
  						T11_ = (NIM_BOOL)0;
  						T11_ = isCompileTimeOnly__types_3519((*it).typ);
  						if (!T11_) goto LA12_;
  						goto LA8;
  					}
  					LA12_: ;
  					{
  						if (!(((NI) 0) < i)) goto LA16_;
  						add__ropes_162(&(*r).res, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_118));
  					}
  					LA16_: ;
  					genArgNoParam__jsgen_3485(p, it, r);
  				} LA8: ;
  				i_2 += ((NI) 1);
  			} LA7: ;
  		}
  	}
  	add__ropes_162(&(*r).res, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_119));
  	(*r).kind = ((tyEnum_TResKind__EoayJcDa8SxU1YPfjU8L9bg) 1);
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_5190)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_378), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_5202)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_379), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_3538)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_380), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(void, genArg__jsgen_3494)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* param, tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w* r, NI* emitted) {
  	tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w a;
  	nimZeroMem((void*)(&a), sizeof(tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w));
  	gen__jsgen_766(p, n, (&a));
  	{
  		NIM_BOOL T3_;
  		tyObject_TType__facALICuu8zUj0hjvbTLFg* T4_;
  		tyArray__mrugoXXRZUEeG9bEXo9auBKw T8_;
  		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T9_;
  		T3_ = (NIM_BOOL)0;
  		T4_ = NIM_NIL;
  		T4_ = skipTypes__ast_3735((*param).typ, TM__BxLwT0mhrtgTPodf1v3xjg_296);
  		T3_ = ((*T4_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 27) || (*T4_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 48));
  		if (!(T3_)) goto LA5_;
  		T3_ = (a.typ == ((tyEnum_TJSTypeKind__9aFSCXgaSEq2m81RJRMKDeA) 9));
  		LA5_: ;
  		if (!T3_) goto LA6_;
  		nimZeroMem((void*)T8_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  		T8_[0] = a.address;
  		T8_[1] = a.res;
  		T9_ = NIM_NIL;
  		T9_ = percent___cgen_6775(T8_, 2);
  		add__ropes_159(&(*r).res, T9_);
  	}
  	goto LA1_;
  	LA6_: ;
  	{
  		if (!(a.typ == ((tyEnum_TJSTypeKind__9aFSCXgaSEq2m81RJRMKDeA) 9))) goto LA11_;
  		add__ropes_159(&(*r).res, a.address);
  		add__ropes_162(&(*r).res, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_118));
  		add__ropes_159(&(*r).res, a.res);
  		{
  			if (!!((emitted == ((NI*) NIM_NIL)))) goto LA15_;
  			(*emitted) += ((NI) 1);
  		}
  		LA15_: ;
  	}
  	goto LA1_;
  	LA11_: ;
  	{
  		NIM_BOOL T18_;
  		NIM_BOOL T19_;
  		tyEnum_TJSTypeKind__9aFSCXgaSEq2m81RJRMKDeA T22_;
  		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* tmp;
  		tyArray__mrugoXXRZUEeG9bEXo9auBKw T25_;
  		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T26_;
  		T18_ = (NIM_BOOL)0;
  		T19_ = (NIM_BOOL)0;
  		T19_ = ((*(*n).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23) || (*(*n).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21) || (*(*n).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22) || (*(*n).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47) || (*(*n).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 45));
  		if (!(T19_)) goto LA20_;
  		T19_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 29) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 30) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 31) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 26) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 28) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 32));
  		LA20_: ;
  		T18_ = T19_;
  		if (!(T18_)) goto LA21_;
  		T22_ = (tyEnum_TJSTypeKind__9aFSCXgaSEq2m81RJRMKDeA)0;
  		T22_ = mapType__jsgen_277((*param).typ);
  		T18_ = (T22_ == ((tyEnum_TJSTypeKind__9aFSCXgaSEq2m81RJRMKDeA) 9));
  		LA21_: ;
  		if (!T18_) goto LA23_;
  		tmp = getTemp__jsgen_838(p, NIM_TRUE);
  		nimZeroMem((void*)T25_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  		T25_[0] = tmp;
  		T25_[1] = rdLoc__jsgen_188(a);
  		T26_ = NIM_NIL;
  		T26_ = percent___jsgen_3538(T25_, 2);
  		add__ropes_159(&(*r).res, T26_);
  		{
  			if (!!((emitted == ((NI*) NIM_NIL)))) goto LA29_;
  			(*emitted) += ((NI) 1);
  		}
  		LA29_: ;
  	}
  	goto LA1_;
  	LA23_: ;
  	{
  		add__ropes_159(&(*r).res, a.res);
  	}
  	LA1_: ;
  }
  N_LIB_PRIVATE N_NIMCALL(void, genArgs__jsgen_3551)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w* r, NI start) {
  	NIM_BOOL hasArgs;
  	tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
  	NI emitted;
  	add__ropes_162(&(*r).res, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_117));
  	hasArgs = NIM_FALSE;
  	typ = skipTypes__ast_3735((*(*n)._kind_6.sons->data[((NI) 0)]).typ, TM__BxLwT0mhrtgTPodf1v3xjg_97);
  	emitted = (NI)(start - ((NI) 1));
  	{
  		NI i;
  		NI colontmp_;
  		NI i_2;
  		i = (NI)0;
  		colontmp_ = (NI)0;
  		colontmp_ = len__ast_3198(n);
  		i_2 = start;
  		{
  			while (1) {
  				if (!(i_2 < colontmp_)) goto LA3;
  				i = i_2;
  				{
  					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* it;
  					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* paramType;
  					it = (*n)._kind_6.sons->data[i];
  					paramType = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL);
  					{
  						NI T7_;
  						T7_ = (NI)0;
  						T7_ = len__ast_4002(typ);
  						if (!(i < T7_)) goto LA8_;
  						paramType = (*(*typ).n)._kind_6.sons->data[i];
  						{
  							NIM_BOOL T12_;
  							T12_ = (NIM_BOOL)0;
  							T12_ = isCompileTimeOnly__types_3519((*paramType).typ);
  							if (!T12_) goto LA13_;
  							goto LA4;
  						}
  						LA13_: ;
  					}
  					LA8_: ;
  					{
  						if (!hasArgs) goto LA17_;
  						add__ropes_162(&(*r).res, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_118));
  					}
  					LA17_: ;
  					{
  						if (!(paramType == 0)) goto LA21_;
  						genArgNoParam__jsgen_3485(p, it, r);
  					}
  					goto LA19_;
  					LA21_: ;
  					{
  						genArg__jsgen_3494(p, it, (*paramType)._kind_4.sym, r, (&emitted));
  					}
  					LA19_: ;
  					emitted += ((NI) 1);
  					hasArgs = NIM_TRUE;
  				} LA4: ;
  				i_2 += ((NI) 1);
  			} LA3: ;
  		}
  	}
  	add__ropes_162(&(*r).res, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_119));
  	(*r).kind = ((tyEnum_TResKind__EoayJcDa8SxU1YPfjU8L9bg) 1);
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_2817)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_381), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(void, genCall__jsgen_3735)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w* r) {
  	gen__jsgen_766(p, (*n)._kind_6.sons->data[((NI) 0)], r);
  	genArgs__jsgen_3551(p, n, r, ((NI) 1));
  	{
  		tyEnum_TJSTypeKind__9aFSCXgaSEq2m81RJRMKDeA t;
  		if (!!(((*n).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA3_;
  		t = mapType__jsgen_277((*n).typ);
  		{
  			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* tmp;
  			tyArray__mrugoXXRZUEeG9bEXo9auBKw T9_;
  			tyArray__JiWwrsTRC6xqNlGcBthSVA T10_;
  			if (!(t == ((tyEnum_TJSTypeKind__9aFSCXgaSEq2m81RJRMKDeA) 9))) goto LA7_;
  			tmp = getTemp__jsgen_838(p, NIM_TRUE);
  			nimZeroMem((void*)T9_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  			T9_[0] = tmp;
  			T9_[1] = rdLoc__jsgen_188((*r));
  			unsureAsgnRef((void**) (&(*r).address), percent___jsgen_2817(T9_, 2));
  			nimZeroMem((void*)T10_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
  			T10_[0] = tmp;
  			unsureAsgnRef((void**) (&(*r).res), percent___jsgen_2822(T10_, 1));
  			unsureAsgnRef((void**) (&(*r).tmpLoc), tmp);
  			(*r).typ = t;
  		}
  		LA7_: ;
  	}
  	LA3_: ;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_5214)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_383), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(void, genMove__jsgen_4559)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w* r) {
  	tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w a;
  	tyArray__mrugoXXRZUEeG9bEXo9auBKw T1_;
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T2_;
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T3_;
  	nimZeroMem((void*)(&a), sizeof(tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w));
  	(*r).kind = ((tyEnum_TResKind__EoayJcDa8SxU1YPfjU8L9bg) 2);
  	unsureAsgnRef((void**) (&(*r).res), getTemp__jsgen_838(p, NIM_TRUE));
  	gen__jsgen_766(p, (*n)._kind_6.sons->data[((NI) 1)], (&a));
  	nimZeroMem((void*)T1_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  	T1_[0] = rdLoc__jsgen_188((*r));
  	T1_[1] = rdLoc__jsgen_188(a);
  	T2_ = NIM_NIL;
  	T2_ = percent___jsgen_1950(T1_, 2);
  	T3_ = NIM_NIL;
  	T3_ = indentLine__jsgen_97(p, T2_);
  	add__ropes_159(&(*p).body, T3_);
  	genReset__jsgen_4536(p, n);
  }
  N_LIB_PRIVATE N_NIMCALL(void, genMagic__jsgen_4598)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w* r) {
  	tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w a;
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* line;
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* filen;
  	tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg op;
  	nimZeroMem((void*)(&a), sizeof(tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w));
  	line = NIM_NIL;
  	filen = NIM_NIL;
  	op = (*(*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym).magic;
  	switch (op) {
  	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 110):
  	{
  		genOr__jsgen_903(p, (*n)._kind_6.sons->data[((NI) 1)], (*n)._kind_6.sons->data[((NI) 2)], r);
  	}
  	break;
  	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 109):
  	{
  		genAnd__jsgen_856(p, (*n)._kind_6.sons->data[((NI) 1)], (*n)._kind_6.sons->data[((NI) 2)], r);
  	}
  	break;
  	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 46) ... ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 107):
  	{
  		arith__jsgen_1716(p, n, r, op);
  	}
  	break;
  	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 135):
  	{
  		genRepr__jsgen_4500(p, n, r);
  	}
  	break;
  	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 142):
  	{
  		genSwap__jsgen_2717(p, n);
  	}
  	break;
  	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 131):
  	{
  		tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w xX60gensym905_;
  		tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w yX60gensym905_;
  		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* aX60gensym905_;
  		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* tmpX60gensym905_;
  		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* bX60gensym905_;
  		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* tmp2X60gensym905_;
  		tyArray__f7nG5LD47BH5K9c6mASit3g T7_;
  		nimZeroMem((void*)(&xX60gensym905_), sizeof(tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w));
  		nimZeroMem((void*)(&yX60gensym905_), sizeof(tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w));
  		useMagic__jsgen_779(p, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_301));
  		gen__jsgen_766(p, (*n)._kind_6.sons->data[((NI) 1)], (&xX60gensym905_));
  		gen__jsgen_766(p, (*n)._kind_6.sons->data[((NI) 2)], (&yX60gensym905_));
  		aX60gensym905_ = rdLoc__jsgen_188(xX60gensym905_);
  		tmpX60gensym905_ = rdLoc__jsgen_188(xX60gensym905_);
  		bX60gensym905_ = rdLoc__jsgen_188(yX60gensym905_);
  		tmp2X60gensym905_ = rdLoc__jsgen_188(yX60gensym905_);
  		nimZeroMem((void*)T7_, sizeof(tyArray__f7nG5LD47BH5K9c6mASit3g));
  		T7_[0] = aX60gensym905_;
  		T7_[1] = bX60gensym905_;
  		T7_[2] = tmpX60gensym905_;
  		T7_[3] = tmp2X60gensym905_;
  		unsureAsgnRef((void**) (&(*r).res), percent___jsgen_4625(T7_, 4));
  		(*r).kind = ((tyEnum_TResKind__EoayJcDa8SxU1YPfjU8L9bg) 1);
  	}
  	break;
  	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 132):
  	{
  		tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w lhs;
  		tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w rhs;
  		nimZeroMem((void*)(&lhs), sizeof(tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w));
  		nimZeroMem((void*)(&rhs), sizeof(tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w));
  		gen__jsgen_766(p, (*n)._kind_6.sons->data[((NI) 1)], (&lhs));
  		gen__jsgen_766(p, (*n)._kind_6.sons->data[((NI) 2)], (&rhs));
  		{
  			tyObject_TType__facALICuu8zUj0hjvbTLFg* T11_;
  			tyTuple__nsNHL3sm0TZE9bootw2pEXw T14_;
  			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* b;
  			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* tmp;
  			tyArray__wqYjTJU9ab2ZgEFMaQc3vNA T15_;
  			T11_ = NIM_NIL;
  			T11_ = skipTypes__ast_3735((*(*n)._kind_6.sons->data[((NI) 1)]).typ, TM__BxLwT0mhrtgTPodf1v3xjg_211);
  			if (!((*T11_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 29))) goto LA12_;
  			nimZeroMem((void*)(&T14_), sizeof(tyTuple__nsNHL3sm0TZE9bootw2pEXw));
  			maybeMakeTemp__jsgen_964(p, (*n)._kind_6.sons->data[((NI) 2)], rhs, (&T14_));
  			b = NIM_NIL;
  			b = T14_.Field0;
  			tmp = NIM_NIL;
  			tmp = T14_.Field1;
  			nimZeroMem((void*)T15_, sizeof(tyArray__wqYjTJU9ab2ZgEFMaQc3vNA));
  			T15_[0] = b;
  			T15_[1] = rdLoc__jsgen_188(lhs);
  			T15_[2] = tmp;
  			unsureAsgnRef((void**) (&(*r).res), percent___jsgen_4642(T15_, 3));
  		}
  		goto LA9_;
  		LA12_: ;
  		{
  			tyTuple__nsNHL3sm0TZE9bootw2pEXw T17_;
  			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* a_2;
  			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* tmp_2;
  			tyArray__wqYjTJU9ab2ZgEFMaQc3vNA T18_;
  			nimZeroMem((void*)(&T17_), sizeof(tyTuple__nsNHL3sm0TZE9bootw2pEXw));
  			maybeMakeTemp__jsgen_964(p, (*n)._kind_6.sons->data[((NI) 1)], lhs, (&T17_));
  			a_2 = NIM_NIL;
  			a_2 = T17_.Field0;
  			tmp_2 = NIM_NIL;
  			tmp_2 = T17_.Field1;
  			nimZeroMem((void*)T18_, sizeof(tyArray__wqYjTJU9ab2ZgEFMaQc3vNA));
  			T18_[0] = a_2;
  			T18_[1] = rdLoc__jsgen_188(rhs);
  			T18_[2] = tmp_2;
  			unsureAsgnRef((void**) (&(*r).res), percent___jsgen_4650(T18_, 3));
  		}
  		LA9_: ;
  		(*r).kind = ((tyEnum_TResKind__EoayJcDa8SxU1YPfjU8L9bg) 1);
  	}
  	break;
  	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 133):
  	{
  		tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w x;
  		tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w y;
  		nimZeroMem((void*)(&x), sizeof(tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w));
  		nimZeroMem((void*)(&y), sizeof(tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w));
  		gen__jsgen_766(p, (*n)._kind_6.sons->data[((NI) 1)], (&x));
  		gen__jsgen_766(p, (*n)._kind_6.sons->data[((NI) 2)], (&y));
  		{
  			tyEnum_TJSTypeKind__9aFSCXgaSEq2m81RJRMKDeA T22_;
  			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* c;
  			tyArray__mrugoXXRZUEeG9bEXo9auBKw T25_;
  			tyArray__mrugoXXRZUEeG9bEXo9auBKw T26_;
  			T22_ = (tyEnum_TJSTypeKind__9aFSCXgaSEq2m81RJRMKDeA)0;
  			T22_ = mapType__jsgen_277((*(*n)._kind_6.sons->data[((NI) 2)]).typ);
  			if (!(T22_ == ((tyEnum_TJSTypeKind__9aFSCXgaSEq2m81RJRMKDeA) 9))) goto LA23_;
  			nimZeroMem((void*)T25_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  			T25_[0] = y.address;
  			T25_[1] = y.res;
  			c = percent___jsgen_462(T25_, 2);
  			nimZeroMem((void*)T26_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  			T26_[0] = rdLoc__jsgen_188(x);
  			T26_[1] = c;
  			unsureAsgnRef((void**) (&(*r).res), percent___jsgen_4669(T26_, 2));
  		}
  		goto LA20_;
  		LA23_: ;
  		{
  			NIM_BOOL T28_;
  			tyArray__mrugoXXRZUEeG9bEXo9auBKw T31_;
  			T28_ = (NIM_BOOL)0;
  			T28_ = needsNoCopy__jsgen_2483(p, (*n)._kind_6.sons->data[((NI) 2)]);
  			if (!T28_) goto LA29_;
  			nimZeroMem((void*)T31_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  			T31_[0] = rdLoc__jsgen_188(x);
  			T31_[1] = rdLoc__jsgen_188(y);
  			unsureAsgnRef((void**) (&(*r).res), percent___jsgen_4669(T31_, 2));
  		}
  		goto LA20_;
  		LA29_: ;
  		{
  			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* c_2;
  			tyArray__wqYjTJU9ab2ZgEFMaQc3vNA T33_;
  			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T34_;
  			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T35_;
  			tyArray__mrugoXXRZUEeG9bEXo9auBKw T36_;
  			useMagic__jsgen_779(p, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_141));
  			c_2 = getTemp__jsgen_838(p, NIM_FALSE);
  			nimZeroMem((void*)T33_, sizeof(tyArray__wqYjTJU9ab2ZgEFMaQc3vNA));
  			T33_[0] = c_2;
  			T33_[1] = rdLoc__jsgen_188(y);
  			T33_[2] = genTypeInfo__jsgen_385(p, (*(*n)._kind_6.sons->data[((NI) 2)]).typ);
  			T34_ = NIM_NIL;
  			T34_ = percent___jsgen_4681(T33_, 3);
  			T35_ = NIM_NIL;
  			T35_ = indentLine__jsgen_97(p, T34_);
  			add__ropes_159(&(*p).body, T35_);
  			nimZeroMem((void*)T36_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  			T36_[0] = rdLoc__jsgen_188(x);
  			T36_[1] = c_2;
  			unsureAsgnRef((void**) (&(*r).res), percent___jsgen_4669(T36_, 2));
  		}
  		LA20_: ;
  		(*r).kind = ((tyEnum_TResKind__EoayJcDa8SxU1YPfjU8L9bg) 1);
  	}
  	break;
  	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 125):
  	{
  		genConStrStr__jsgen_4413(p, n, r);
  	}
  	break;
  	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 116):
  	{
  		tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w xX60gensym921_;
  		tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w yX60gensym921_;
  		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* aX60gensym921_;
  		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* tmpX60gensym921_;
  		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* bX60gensym921_;
  		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* tmp2X60gensym921_;
  		tyArray__f7nG5LD47BH5K9c6mASit3g T39_;
  		nimZeroMem((void*)(&xX60gensym921_), sizeof(tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w));
  		nimZeroMem((void*)(&yX60gensym921_), sizeof(tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w));
  		useMagic__jsgen_779(p, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_315));
  		gen__jsgen_766(p, (*n)._kind_6.sons->data[((NI) 1)], (&xX60gensym921_));
  		gen__jsgen_766(p, (*n)._kind_6.sons->data[((NI) 2)], (&yX60gensym921_));
  		aX60gensym921_ = rdLoc__jsgen_188(xX60gensym921_);
  		tmpX60gensym921_ = rdLoc__jsgen_188(xX60gensym921_);
  		bX60gensym921_ = rdLoc__jsgen_188(yX60gensym921_);
  		tmp2X60gensym921_ = rdLoc__jsgen_188(yX60gensym921_);
  		nimZeroMem((void*)T39_, sizeof(tyArray__f7nG5LD47BH5K9c6mASit3g));
  		T39_[0] = aX60gensym921_;
  		T39_[1] = bX60gensym921_;
  		T39_[2] = tmpX60gensym921_;
  		T39_[3] = tmp2X60gensym921_;
  		unsureAsgnRef((void**) (&(*r).res), percent___jsgen_4704(T39_, 4));
  		(*r).kind = ((tyEnum_TResKind__EoayJcDa8SxU1YPfjU8L9bg) 1);
  	}
  	break;
  	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 117):
  	{
  		tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w xX60gensym926_;
  		tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w yX60gensym926_;
  		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* aX60gensym926_;
  		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* tmpX60gensym926_;
  		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* bX60gensym926_;
  		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* tmp2X60gensym926_;
  		tyArray__f7nG5LD47BH5K9c6mASit3g T41_;
  		nimZeroMem((void*)(&xX60gensym926_), sizeof(tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w));
  		nimZeroMem((void*)(&yX60gensym926_), sizeof(tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w));
  		useMagic__jsgen_779(p, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_317));
  		gen__jsgen_766(p, (*n)._kind_6.sons->data[((NI) 1)], (&xX60gensym926_));
  		gen__jsgen_766(p, (*n)._kind_6.sons->data[((NI) 2)], (&yX60gensym926_));
  		aX60gensym926_ = rdLoc__jsgen_188(xX60gensym926_);
  		tmpX60gensym926_ = rdLoc__jsgen_188(xX60gensym926_);
  		bX60gensym926_ = rdLoc__jsgen_188(yX60gensym926_);
  		tmp2X60gensym926_ = rdLoc__jsgen_188(yX60gensym926_);
  		nimZeroMem((void*)T41_, sizeof(tyArray__f7nG5LD47BH5K9c6mASit3g));
  		T41_[0] = aX60gensym926_;
  		T41_[1] = bX60gensym926_;
  		T41_[2] = tmpX60gensym926_;
  		T41_[3] = tmp2X60gensym926_;
  		unsureAsgnRef((void**) (&(*r).res), percent___jsgen_4723(T41_, 4));
  		(*r).kind = ((tyEnum_TResKind__EoayJcDa8SxU1YPfjU8L9bg) 1);
  	}
  	break;
  	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 118):
  	{
  		tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w xX60gensym931_;
  		tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w yX60gensym931_;
  		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* aX60gensym931_;
  		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* tmpX60gensym931_;
  		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* bX60gensym931_;
  		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* tmp2X60gensym931_;
  		tyArray__f7nG5LD47BH5K9c6mASit3g T43_;
  		nimZeroMem((void*)(&xX60gensym931_), sizeof(tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w));
  		nimZeroMem((void*)(&yX60gensym931_), sizeof(tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w));
  		useMagic__jsgen_779(p, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_317));
  		gen__jsgen_766(p, (*n)._kind_6.sons->data[((NI) 1)], (&xX60gensym931_));
  		gen__jsgen_766(p, (*n)._kind_6.sons->data[((NI) 2)], (&yX60gensym931_));
  		aX60gensym931_ = rdLoc__jsgen_188(xX60gensym931_);
  		tmpX60gensym931_ = rdLoc__jsgen_188(xX60gensym931_);
  		bX60gensym931_ = rdLoc__jsgen_188(yX60gensym931_);
  		tmp2X60gensym931_ = rdLoc__jsgen_188(yX60gensym931_);
  		nimZeroMem((void*)T43_, sizeof(tyArray__f7nG5LD47BH5K9c6mASit3g));
  		T43_[0] = aX60gensym931_;
  		T43_[1] = bX60gensym931_;
  		T43_[2] = tmpX60gensym931_;
  		T43_[3] = tmp2X60gensym931_;
  		unsureAsgnRef((void**) (&(*r).res), percent___jsgen_4742(T43_, 4));
  		(*r).kind = ((tyEnum_TResKind__EoayJcDa8SxU1YPfjU8L9bg) 1);
  	}
  	break;
  	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 143):
  	{
  		{
  			tyEnum_TJSTypeKind__9aFSCXgaSEq2m81RJRMKDeA T47_;
  			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* aX60gensym938_;
  			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* tmpX60gensym938_;
  			tyArray__mrugoXXRZUEeG9bEXo9auBKw T55_;
  			T47_ = (tyEnum_TJSTypeKind__9aFSCXgaSEq2m81RJRMKDeA)0;
  			T47_ = mapType__jsgen_277((*(*n)._kind_6.sons->data[((NI) 1)]).typ);
  			if (!!((T47_ == ((tyEnum_TJSTypeKind__9aFSCXgaSEq2m81RJRMKDeA) 9)))) goto LA48_;
  			useMagic__jsgen_779(p, ((NimStringDesc*) NIM_NIL));
  			gen__jsgen_766(p, (*n)._kind_6.sons->data[((NI) 1)], r);
  			aX60gensym938_ = rdLoc__jsgen_188((*r));
  			tmpX60gensym938_ = rdLoc__jsgen_188((*r));
  			{
  				NIM_BOOL T52_;
  				tyTuple__nsNHL3sm0TZE9bootw2pEXw _;
  				T52_ = (NIM_BOOL)0;
  				T52_ = contains__pureZstrutils_1631(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_320), ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_321));
  				if (!T52_) goto LA53_;
  				nimZeroMem((void*)(&_), sizeof(tyTuple__nsNHL3sm0TZE9bootw2pEXw));
  				maybeMakeTemp__jsgen_964(p, (*n)._kind_6.sons->data[((NI) 1)], (*r), (&_));
  				aX60gensym938_ = _.Field0;
  				tmpX60gensym938_ = _.Field1;
  			}
  			LA53_: ;
  			nimZeroMem((void*)T55_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  			T55_[0] = aX60gensym938_;
  			T55_[1] = tmpX60gensym938_;
  			unsureAsgnRef((void**) (&(*r).res), percent___jsgen_4759(T55_, 2));
  			(*r).kind = ((tyEnum_TResKind__EoayJcDa8SxU1YPfjU8L9bg) 1);
  		}
  		goto LA45_;
  		LA48_: ;
  		{
  			tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w x_2;
  			tyArray__mrugoXXRZUEeG9bEXo9auBKw T57_;
  			nimZeroMem((void*)(&x_2), sizeof(tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w));
  			gen__jsgen_766(p, (*n)._kind_6.sons->data[((NI) 1)], (&x_2));
  			nimZeroMem((void*)T57_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  			T57_[0] = x_2.address;
  			T57_[1] = x_2.res;
  			unsureAsgnRef((void**) (&(*r).res), percent___jsgen_4766(T57_, 2));
  		}
  		LA45_: ;
  	}
  	break;
  	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 108):
  	{
  		genRepr__jsgen_4500(p, n, r);
  	}
  	break;
  	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 32):
  	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 33):
  	{
  		genNew__jsgen_4346(p, n);
  	}
  	break;
  	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 43):
  	{
  		gen__jsgen_766(p, (*n)._kind_6.sons->data[((NI) 1)], r);
  	}
  	break;
  	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 144):
  	{
  		{
  			if (!((*(*n)._kind_6.sons->data[((NI) 1)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 41))) goto LA64_;
  			genJSArrayConstr__jsgen_4569(p, (*n)._kind_6.sons->data[((NI) 1)], r);
  		}
  		goto LA62_;
  		LA64_: ;
  		{
  			tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w x_3;
  			tyArray__mrugoXXRZUEeG9bEXo9auBKw T67_;
  			nimZeroMem((void*)(&x_3), sizeof(tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w));
  			gen__jsgen_766(p, (*n)._kind_6.sons->data[((NI) 1)], (&x_3));
  			useMagic__jsgen_779(p, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_141));
  			nimZeroMem((void*)T67_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  			T67_[0] = rdLoc__jsgen_188(x_3);
  			T67_[1] = genTypeInfo__jsgen_385(p, (*n).typ);
  			unsureAsgnRef((void**) (&(*r).res), percent___jsgen_4160(T67_, 2));
  		}
  		LA62_: ;
  	}
  	break;
  	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 150):
  	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 151):
  	{
  	}
  	break;
  	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 31):
  	{
  		genOrd__jsgen_4391(p, n, r);
  	}
  	break;
  	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 37):
  	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 39):
  	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 36):
  	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 38):
  	{
  		tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w x_4;
  		nimZeroMem((void*)(&x_4), sizeof(tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w));
  		gen__jsgen_766(p, (*n)._kind_6.sons->data[((NI) 1)], (&x_4));
  		{
  			tyObject_TType__facALICuu8zUj0hjvbTLFg* T73_;
  			tyTuple__nsNHL3sm0TZE9bootw2pEXw T76_;
  			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* a_3;
  			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* tmp_3;
  			tyArray__mrugoXXRZUEeG9bEXo9auBKw T77_;
  			T73_ = NIM_NIL;
  			T73_ = skipTypes__ast_3735((*(*n)._kind_6.sons->data[((NI) 1)]).typ, TM__BxLwT0mhrtgTPodf1v3xjg_97);
  			if (!((*T73_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 29))) goto LA74_;
  			nimZeroMem((void*)(&T76_), sizeof(tyTuple__nsNHL3sm0TZE9bootw2pEXw));
  			maybeMakeTemp__jsgen_964(p, (*n)._kind_6.sons->data[((NI) 1)], x_4, (&T76_));
  			a_3 = NIM_NIL;
  			a_3 = T76_.Field0;
  			tmp_3 = NIM_NIL;
  			tmp_3 = T76_.Field1;
  			nimZeroMem((void*)T77_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  			T77_[0] = a_3;
  			T77_[1] = tmp_3;
  			unsureAsgnRef((void**) (&(*r).res), percent___jsgen_4794(T77_, 2));
  		}
  		goto LA71_;
  		LA74_: ;
  		{
  			tyArray__JiWwrsTRC6xqNlGcBthSVA T79_;
  			nimZeroMem((void*)T79_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
  			T79_[0] = rdLoc__jsgen_188(x_4);
  			unsureAsgnRef((void**) (&(*r).res), percent___jsgen_4799(T79_, 1));
  		}
  		LA71_: ;
  		(*r).kind = ((tyEnum_TResKind__EoayJcDa8SxU1YPfjU8L9bg) 1);
  	}
  	break;
  	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 9):
  	{
  		tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w x_5;
  		nimZeroMem((void*)(&x_5), sizeof(tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w));
  		gen__jsgen_766(p, (*n)._kind_6.sons->data[((NI) 1)], (&x_5));
  		{
  			tyObject_TType__facALICuu8zUj0hjvbTLFg* T83_;
  			tyTuple__nsNHL3sm0TZE9bootw2pEXw T86_;
  			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* a_4;
  			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* tmp_4;
  			tyArray__mrugoXXRZUEeG9bEXo9auBKw T87_;
  			T83_ = NIM_NIL;
  			T83_ = skipTypes__ast_3735((*(*n)._kind_6.sons->data[((NI) 1)]).typ, TM__BxLwT0mhrtgTPodf1v3xjg_97);
  			if (!((*T83_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 29))) goto LA84_;
  			nimZeroMem((void*)(&T86_), sizeof(tyTuple__nsNHL3sm0TZE9bootw2pEXw));
  			maybeMakeTemp__jsgen_964(p, (*n)._kind_6.sons->data[((NI) 1)], x_5, (&T86_));
  			a_4 = NIM_NIL;
  			a_4 = T86_.Field0;
  			tmp_4 = NIM_NIL;
  			tmp_4 = T86_.Field1;
  			nimZeroMem((void*)T87_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  			T87_[0] = a_4;
  			T87_[1] = tmp_4;
  			unsureAsgnRef((void**) (&(*r).res), percent___jsgen_4814(T87_, 2));
  		}
  		goto LA81_;
  		LA84_: ;
  		{
  			tyArray__JiWwrsTRC6xqNlGcBthSVA T89_;
  			nimZeroMem((void*)T89_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
  			T89_[0] = rdLoc__jsgen_188(x_5);
  			unsureAsgnRef((void**) (&(*r).res), percent___jsgen_4819(T89_, 1));
  		}
  		LA81_: ;
  		(*r).kind = ((tyEnum_TResKind__EoayJcDa8SxU1YPfjU8L9bg) 1);
  	}
  	break;
  	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 29):
  	{
  		{
  			tyObject_TType__facALICuu8zUj0hjvbTLFg* T93_;
  			T93_ = NIM_NIL;
  			T93_ = skipTypes__ast_3735((*(*n)._kind_6.sons->data[((NI) 1)]).typ, TM__BxLwT0mhrtgTPodf1v3xjg_235);
  			if (!((*T93_).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 40) && (*T93_).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 44))) goto LA94_;
  			binaryUintExpr__jsgen_4829(p, n, r, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_231));
  		}
  		goto LA91_;
  		LA94_: ;
  		{
  			{
  				tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w xX60gensym961_;
  				tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w yX60gensym961_;
  				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* aX60gensym961_;
  				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* tmpX60gensym961_;
  				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* bX60gensym961_;
  				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* tmp2X60gensym961_;
  				tyArray__f7nG5LD47BH5K9c6mASit3g T101_;
  				if (!!((((*p).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 5))&31U)))!=0))) goto LA99_;
  				nimZeroMem((void*)(&xX60gensym961_), sizeof(tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w));
  				nimZeroMem((void*)(&yX60gensym961_), sizeof(tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w));
  				useMagic__jsgen_779(p, ((NimStringDesc*) NIM_NIL));
  				gen__jsgen_766(p, (*n)._kind_6.sons->data[((NI) 1)], (&xX60gensym961_));
  				gen__jsgen_766(p, (*n)._kind_6.sons->data[((NI) 2)], (&yX60gensym961_));
  				aX60gensym961_ = rdLoc__jsgen_188(xX60gensym961_);
  				tmpX60gensym961_ = rdLoc__jsgen_188(xX60gensym961_);
  				bX60gensym961_ = rdLoc__jsgen_188(yX60gensym961_);
  				tmp2X60gensym961_ = rdLoc__jsgen_188(yX60gensym961_);
  				nimZeroMem((void*)T101_, sizeof(tyArray__f7nG5LD47BH5K9c6mASit3g));
  				T101_[0] = aX60gensym961_;
  				T101_[1] = bX60gensym961_;
  				T101_[2] = tmpX60gensym961_;
  				T101_[3] = tmp2X60gensym961_;
  				unsureAsgnRef((void**) (&(*r).res), percent___jsgen_4868(T101_, 4));
  				(*r).kind = ((tyEnum_TResKind__EoayJcDa8SxU1YPfjU8L9bg) 1);
  			}
  			goto LA97_;
  			LA99_: ;
  			{
  				tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w xX60gensym966_;
  				tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w yX60gensym966_;
  				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* aX60gensym966_;
  				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* tmpX60gensym966_;
  				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* bX60gensym966_;
  				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* tmp2X60gensym966_;
  				tyTuple__nsNHL3sm0TZE9bootw2pEXw __2;
  				tyArray__f7nG5LD47BH5K9c6mASit3g T103_;
  				nimZeroMem((void*)(&xX60gensym966_), sizeof(tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w));
  				nimZeroMem((void*)(&yX60gensym966_), sizeof(tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w));
  				useMagic__jsgen_779(p, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_237));
  				gen__jsgen_766(p, (*n)._kind_6.sons->data[((NI) 1)], (&xX60gensym966_));
  				gen__jsgen_766(p, (*n)._kind_6.sons->data[((NI) 2)], (&yX60gensym966_));
  				aX60gensym966_ = rdLoc__jsgen_188(xX60gensym966_);
  				tmpX60gensym966_ = rdLoc__jsgen_188(xX60gensym966_);
  				bX60gensym966_ = rdLoc__jsgen_188(yX60gensym966_);
  				tmp2X60gensym966_ = rdLoc__jsgen_188(yX60gensym966_);
  				nimZeroMem((void*)(&__2), sizeof(tyTuple__nsNHL3sm0TZE9bootw2pEXw));
  				maybeMakeTempAssignable__jsgen_1002(p, (*n)._kind_6.sons->data[((NI) 1)], xX60gensym966_, (&__2));
  				aX60gensym966_ = __2.Field0;
  				tmpX60gensym966_ = __2.Field1;
  				nimZeroMem((void*)T103_, sizeof(tyArray__f7nG5LD47BH5K9c6mASit3g));
  				T103_[0] = aX60gensym966_;
  				T103_[1] = bX60gensym966_;
  				T103_[2] = tmpX60gensym966_;
  				T103_[3] = tmp2X60gensym966_;
  				unsureAsgnRef((void**) (&(*r).res), percent___jsgen_4889(T103_, 4));
  				(*r).kind = ((tyEnum_TResKind__EoayJcDa8SxU1YPfjU8L9bg) 1);
  			}
  			LA97_: ;
  		}
  		LA91_: ;
  	}
  	break;
  	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 30):
  	{
  		{
  			tyObject_TType__facALICuu8zUj0hjvbTLFg* T107_;
  			T107_ = NIM_NIL;
  			T107_ = skipTypes__ast_3735((*(*n)._kind_6.sons->data[((NI) 1)]).typ, TM__BxLwT0mhrtgTPodf1v3xjg_235);
  			if (!((*T107_).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 40) && (*T107_).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 44))) goto LA108_;
  			binaryUintExpr__jsgen_4829(p, n, r, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_232));
  		}
  		goto LA105_;
  		LA108_: ;
  		{
  			{
  				tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w xX60gensym973_;
  				tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w yX60gensym973_;
  				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* aX60gensym973_;
  				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* tmpX60gensym973_;
  				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* bX60gensym973_;
  				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* tmp2X60gensym973_;
  				tyArray__f7nG5LD47BH5K9c6mASit3g T115_;
  				if (!!((((*p).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 5))&31U)))!=0))) goto LA113_;
  				nimZeroMem((void*)(&xX60gensym973_), sizeof(tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w));
  				nimZeroMem((void*)(&yX60gensym973_), sizeof(tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w));
  				useMagic__jsgen_779(p, ((NimStringDesc*) NIM_NIL));
  				gen__jsgen_766(p, (*n)._kind_6.sons->data[((NI) 1)], (&xX60gensym973_));
  				gen__jsgen_766(p, (*n)._kind_6.sons->data[((NI) 2)], (&yX60gensym973_));
  				aX60gensym973_ = rdLoc__jsgen_188(xX60gensym973_);
  				tmpX60gensym973_ = rdLoc__jsgen_188(xX60gensym973_);
  				bX60gensym973_ = rdLoc__jsgen_188(yX60gensym973_);
  				tmp2X60gensym973_ = rdLoc__jsgen_188(yX60gensym973_);
  				nimZeroMem((void*)T115_, sizeof(tyArray__f7nG5LD47BH5K9c6mASit3g));
  				T115_[0] = aX60gensym973_;
  				T115_[1] = bX60gensym973_;
  				T115_[2] = tmpX60gensym973_;
  				T115_[3] = tmp2X60gensym973_;
  				unsureAsgnRef((void**) (&(*r).res), percent___jsgen_4924(T115_, 4));
  				(*r).kind = ((tyEnum_TResKind__EoayJcDa8SxU1YPfjU8L9bg) 1);
  			}
  			goto LA111_;
  			LA113_: ;
  			{
  				tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w xX60gensym978_;
  				tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w yX60gensym978_;
  				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* aX60gensym978_;
  				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* tmpX60gensym978_;
  				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* bX60gensym978_;
  				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* tmp2X60gensym978_;
  				tyTuple__nsNHL3sm0TZE9bootw2pEXw __3;
  				tyArray__f7nG5LD47BH5K9c6mASit3g T117_;
  				nimZeroMem((void*)(&xX60gensym978_), sizeof(tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w));
  				nimZeroMem((void*)(&yX60gensym978_), sizeof(tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w));
  				useMagic__jsgen_779(p, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_238));
  				gen__jsgen_766(p, (*n)._kind_6.sons->data[((NI) 1)], (&xX60gensym978_));
  				gen__jsgen_766(p, (*n)._kind_6.sons->data[((NI) 2)], (&yX60gensym978_));
  				aX60gensym978_ = rdLoc__jsgen_188(xX60gensym978_);
  				tmpX60gensym978_ = rdLoc__jsgen_188(xX60gensym978_);
  				bX60gensym978_ = rdLoc__jsgen_188(yX60gensym978_);
  				tmp2X60gensym978_ = rdLoc__jsgen_188(yX60gensym978_);
  				nimZeroMem((void*)(&__3), sizeof(tyTuple__nsNHL3sm0TZE9bootw2pEXw));
  				maybeMakeTempAssignable__jsgen_1002(p, (*n)._kind_6.sons->data[((NI) 1)], xX60gensym978_, (&__3));
  				aX60gensym978_ = __3.Field0;
  				tmpX60gensym978_ = __3.Field1;
  				nimZeroMem((void*)T117_, sizeof(tyArray__f7nG5LD47BH5K9c6mASit3g));
  				T117_[0] = aX60gensym978_;
  				T117_[1] = bX60gensym978_;
  				T117_[2] = tmpX60gensym978_;
  				T117_[3] = tmp2X60gensym978_;
  				unsureAsgnRef((void**) (&(*r).res), percent___jsgen_4945(T117_, 4));
  				(*r).kind = ((tyEnum_TResKind__EoayJcDa8SxU1YPfjU8L9bg) 1);
  			}
  			LA111_: ;
  		}
  		LA105_: ;
  	}
  	break;
  	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 137):
  	{
  		tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w xX60gensym982_;
  		tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w yX60gensym982_;
  		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* aX60gensym982_;
  		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* tmpX60gensym982_;
  		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* bX60gensym982_;
  		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* tmp2X60gensym982_;
  		tyArray__f7nG5LD47BH5K9c6mASit3g T119_;
  		nimZeroMem((void*)(&xX60gensym982_), sizeof(tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w));
  		nimZeroMem((void*)(&yX60gensym982_), sizeof(tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w));
  		useMagic__jsgen_779(p, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_344));
  		gen__jsgen_766(p, (*n)._kind_6.sons->data[((NI) 1)], (&xX60gensym982_));
  		gen__jsgen_766(p, (*n)._kind_6.sons->data[((NI) 2)], (&yX60gensym982_));
  		aX60gensym982_ = rdLoc__jsgen_188(xX60gensym982_);
  		tmpX60gensym982_ = rdLoc__jsgen_188(xX60gensym982_);
  		bX60gensym982_ = rdLoc__jsgen_188(yX60gensym982_);
  		tmp2X60gensym982_ = rdLoc__jsgen_188(yX60gensym982_);
  		nimZeroMem((void*)T119_, sizeof(tyArray__f7nG5LD47BH5K9c6mASit3g));
  		T119_[0] = aX60gensym982_;
  		T119_[1] = bX60gensym982_;
  		T119_[2] = tmpX60gensym982_;
  		T119_[3] = tmp2X60gensym982_;
  		unsureAsgnRef((void**) (&(*r).res), percent___jsgen_4964(T119_, 4));
  		(*r).kind = ((tyEnum_TResKind__EoayJcDa8SxU1YPfjU8L9bg) 1);
  	}
  	break;
  	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 138):
  	{
  		tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w x_6;
  		tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w y_2;
  		tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
  		tyObject_TType__facALICuu8zUj0hjvbTLFg* T121_;
  		tyTuple__nsNHL3sm0TZE9bootw2pEXw T122_;
  		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* a_5;
  		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* tmp_5;
  		tyTuple__nsNHL3sm0TZE9bootw2pEXw T123_;
  		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* b_2;
  		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* tmp2;
  		tyArray__duFhZXIIlrbrM62cWjNekg T124_;
  		nimZeroMem((void*)(&x_6), sizeof(tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w));
  		nimZeroMem((void*)(&y_2), sizeof(tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w));
  		gen__jsgen_766(p, (*n)._kind_6.sons->data[((NI) 1)], (&x_6));
  		gen__jsgen_766(p, (*n)._kind_6.sons->data[((NI) 2)], (&y_2));
  		T121_ = NIM_NIL;
  		T121_ = skipTypes__ast_3735((*(*n)._kind_6.sons->data[((NI) 1)]).typ, TM__BxLwT0mhrtgTPodf1v3xjg_296);
  		t = (*T121_).sons->data[((NI) 0)];
  		nimZeroMem((void*)(&T122_), sizeof(tyTuple__nsNHL3sm0TZE9bootw2pEXw));
  		maybeMakeTemp__jsgen_964(p, (*n)._kind_6.sons->data[((NI) 1)], x_6, (&T122_));
  		a_5 = NIM_NIL;
  		a_5 = T122_.Field0;
  		tmp_5 = NIM_NIL;
  		tmp_5 = T122_.Field1;
  		nimZeroMem((void*)(&T123_), sizeof(tyTuple__nsNHL3sm0TZE9bootw2pEXw));
  		maybeMakeTemp__jsgen_964(p, (*n)._kind_6.sons->data[((NI) 2)], y_2, (&T123_));
  		b_2 = NIM_NIL;
  		b_2 = T123_.Field0;
  		tmp2 = NIM_NIL;
  		tmp2 = T123_.Field1;
  		nimZeroMem((void*)T124_, sizeof(tyArray__duFhZXIIlrbrM62cWjNekg));
  		T124_[0] = a_5;
  		T124_[1] = b_2;
  		T124_[2] = createVar__jsgen_3791(p, t, NIM_FALSE);
  		T124_[3] = tmp_5;
  		T124_[4] = tmp2;
  		unsureAsgnRef((void**) (&(*r).res), percent___jsgen_4982(T124_, 5));
  		(*r).kind = ((tyEnum_TResKind__EoayJcDa8SxU1YPfjU8L9bg) 1);
  	}
  	break;
  	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 42):
  	{
  		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* aX60gensym993_;
  		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* tmpX60gensym993_;
  		tyArray__mrugoXXRZUEeG9bEXo9auBKw T131_;
  		useMagic__jsgen_779(p, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_347));
  		gen__jsgen_766(p, (*n)._kind_6.sons->data[((NI) 1)], r);
  		aX60gensym993_ = rdLoc__jsgen_188((*r));
  		tmpX60gensym993_ = rdLoc__jsgen_188((*r));
  		{
  			NIM_BOOL T128_;
  			tyTuple__nsNHL3sm0TZE9bootw2pEXw __4;
  			T128_ = (NIM_BOOL)0;
  			T128_ = contains__pureZstrutils_1631(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_348), ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_321));
  			if (!T128_) goto LA129_;
  			nimZeroMem((void*)(&__4), sizeof(tyTuple__nsNHL3sm0TZE9bootw2pEXw));
  			maybeMakeTemp__jsgen_964(p, (*n)._kind_6.sons->data[((NI) 1)], (*r), (&__4));
  			aX60gensym993_ = __4.Field0;
  			tmpX60gensym993_ = __4.Field1;
  		}
  		LA129_: ;
  		nimZeroMem((void*)T131_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  		T131_[0] = aX60gensym993_;
  		T131_[1] = tmpX60gensym993_;
  		unsureAsgnRef((void**) (&(*r).res), percent___jsgen_4994(T131_, 2));
  		(*r).kind = ((tyEnum_TResKind__EoayJcDa8SxU1YPfjU8L9bg) 1);
  	}
  	break;
  	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 121):
  	{
  		tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w xX60gensym997_;
  		tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w yX60gensym997_;
  		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* aX60gensym997_;
  		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* tmpX60gensym997_;
  		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* bX60gensym997_;
  		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* tmp2X60gensym997_;
  		tyArray__f7nG5LD47BH5K9c6mASit3g T133_;
  		nimZeroMem((void*)(&xX60gensym997_), sizeof(tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w));
  		nimZeroMem((void*)(&yX60gensym997_), sizeof(tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w));
  		useMagic__jsgen_779(p, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_349));
  		gen__jsgen_766(p, (*n)._kind_6.sons->data[((NI) 1)], (&xX60gensym997_));
  		gen__jsgen_766(p, (*n)._kind_6.sons->data[((NI) 2)], (&yX60gensym997_));
  		aX60gensym997_ = rdLoc__jsgen_188(xX60gensym997_);
  		tmpX60gensym997_ = rdLoc__jsgen_188(xX60gensym997_);
  		bX60gensym997_ = rdLoc__jsgen_188(yX60gensym997_);
  		tmp2X60gensym997_ = rdLoc__jsgen_188(yX60gensym997_);
  		nimZeroMem((void*)T133_, sizeof(tyArray__f7nG5LD47BH5K9c6mASit3g));
  		T133_[0] = aX60gensym997_;
  		T133_[1] = bX60gensym997_;
  		T133_[2] = tmpX60gensym997_;
  		T133_[3] = tmp2X60gensym997_;
  		unsureAsgnRef((void**) (&(*r).res), percent___jsgen_5013(T133_, 4));
  		(*r).kind = ((tyEnum_TResKind__EoayJcDa8SxU1YPfjU8L9bg) 1);
  	}
  	break;
  	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 120):
  	{
  		tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w xX60gensym1002_;
  		tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w yX60gensym1002_;
  		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* aX60gensym1002_;
  		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* tmpX60gensym1002_;
  		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* bX60gensym1002_;
  		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* tmp2X60gensym1002_;
  		tyArray__f7nG5LD47BH5K9c6mASit3g T135_;
  		nimZeroMem((void*)(&xX60gensym1002_), sizeof(tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w));
  		nimZeroMem((void*)(&yX60gensym1002_), sizeof(tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w));
  		useMagic__jsgen_779(p, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_351));
  		gen__jsgen_766(p, (*n)._kind_6.sons->data[((NI) 1)], (&xX60gensym1002_));
  		gen__jsgen_766(p, (*n)._kind_6.sons->data[((NI) 2)], (&yX60gensym1002_));
  		aX60gensym1002_ = rdLoc__jsgen_188(xX60gensym1002_);
  		tmpX60gensym1002_ = rdLoc__jsgen_188(xX60gensym1002_);
  		bX60gensym1002_ = rdLoc__jsgen_188(yX60gensym1002_);
  		tmp2X60gensym1002_ = rdLoc__jsgen_188(yX60gensym1002_);
  		nimZeroMem((void*)T135_, sizeof(tyArray__f7nG5LD47BH5K9c6mASit3g));
  		T135_[0] = aX60gensym1002_;
  		T135_[1] = bX60gensym1002_;
  		T135_[2] = tmpX60gensym1002_;
  		T135_[3] = tmp2X60gensym1002_;
  		unsureAsgnRef((void**) (&(*r).res), percent___jsgen_5032(T135_, 4));
  		(*r).kind = ((tyEnum_TResKind__EoayJcDa8SxU1YPfjU8L9bg) 1);
  	}
  	break;
  	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 119):
  	{
  		tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w xX60gensym1007_;
  		tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w yX60gensym1007_;
  		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* aX60gensym1007_;
  		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* tmpX60gensym1007_;
  		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* bX60gensym1007_;
  		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* tmp2X60gensym1007_;
  		tyArray__f7nG5LD47BH5K9c6mASit3g T137_;
  		nimZeroMem((void*)(&xX60gensym1007_), sizeof(tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w));
  		nimZeroMem((void*)(&yX60gensym1007_), sizeof(tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w));
  		useMagic__jsgen_779(p, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_353));
  		gen__jsgen_766(p, (*n)._kind_6.sons->data[((NI) 1)], (&xX60gensym1007_));
  		gen__jsgen_766(p, (*n)._kind_6.sons->data[((NI) 2)], (&yX60gensym1007_));
  		aX60gensym1007_ = rdLoc__jsgen_188(xX60gensym1007_);
  		tmpX60gensym1007_ = rdLoc__jsgen_188(xX60gensym1007_);
  		bX60gensym1007_ = rdLoc__jsgen_188(yX60gensym1007_);
  		tmp2X60gensym1007_ = rdLoc__jsgen_188(yX60gensym1007_);
  		nimZeroMem((void*)T137_, sizeof(tyArray__f7nG5LD47BH5K9c6mASit3g));
  		T137_[0] = aX60gensym1007_;
  		T137_[1] = bX60gensym1007_;
  		T137_[2] = tmpX60gensym1007_;
  		T137_[3] = tmp2X60gensym1007_;
  		unsureAsgnRef((void**) (&(*r).res), percent___jsgen_5051(T137_, 4));
  		(*r).kind = ((tyEnum_TResKind__EoayJcDa8SxU1YPfjU8L9bg) 1);
  	}
  	break;
  	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 122):
  	{
  		tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w xX60gensym1012_;
  		tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w yX60gensym1012_;
  		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* aX60gensym1012_;
  		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* tmpX60gensym1012_;
  		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* bX60gensym1012_;
  		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* tmp2X60gensym1012_;
  		tyArray__f7nG5LD47BH5K9c6mASit3g T139_;
  		nimZeroMem((void*)(&xX60gensym1012_), sizeof(tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w));
  		nimZeroMem((void*)(&yX60gensym1012_), sizeof(tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w));
  		useMagic__jsgen_779(p, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_355));
  		gen__jsgen_766(p, (*n)._kind_6.sons->data[((NI) 1)], (&xX60gensym1012_));
  		gen__jsgen_766(p, (*n)._kind_6.sons->data[((NI) 2)], (&yX60gensym1012_));
  		aX60gensym1012_ = rdLoc__jsgen_188(xX60gensym1012_);
  		tmpX60gensym1012_ = rdLoc__jsgen_188(xX60gensym1012_);
  		bX60gensym1012_ = rdLoc__jsgen_188(yX60gensym1012_);
  		tmp2X60gensym1012_ = rdLoc__jsgen_188(yX60gensym1012_);
  		nimZeroMem((void*)T139_, sizeof(tyArray__f7nG5LD47BH5K9c6mASit3g));
  		T139_[0] = aX60gensym1012_;
  		T139_[1] = bX60gensym1012_;
  		T139_[2] = tmpX60gensym1012_;
  		T139_[3] = tmp2X60gensym1012_;
  		unsureAsgnRef((void**) (&(*r).res), percent___jsgen_5070(T139_, 4));
  		(*r).kind = ((tyEnum_TResKind__EoayJcDa8SxU1YPfjU8L9bg) 1);
  	}
  	break;
  	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 123):
  	{
  		tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w xX60gensym1017_;
  		tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w yX60gensym1017_;
  		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* aX60gensym1017_;
  		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* tmpX60gensym1017_;
  		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* bX60gensym1017_;
  		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* tmp2X60gensym1017_;
  		tyArray__f7nG5LD47BH5K9c6mASit3g T141_;
  		nimZeroMem((void*)(&xX60gensym1017_), sizeof(tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w));
  		nimZeroMem((void*)(&yX60gensym1017_), sizeof(tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w));
  		useMagic__jsgen_779(p, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_357));
  		gen__jsgen_766(p, (*n)._kind_6.sons->data[((NI) 1)], (&xX60gensym1017_));
  		gen__jsgen_766(p, (*n)._kind_6.sons->data[((NI) 2)], (&yX60gensym1017_));
  		aX60gensym1017_ = rdLoc__jsgen_188(xX60gensym1017_);
  		tmpX60gensym1017_ = rdLoc__jsgen_188(xX60gensym1017_);
  		bX60gensym1017_ = rdLoc__jsgen_188(yX60gensym1017_);
  		tmp2X60gensym1017_ = rdLoc__jsgen_188(yX60gensym1017_);
  		nimZeroMem((void*)T141_, sizeof(tyArray__f7nG5LD47BH5K9c6mASit3g));
  		T141_[0] = aX60gensym1017_;
  		T141_[1] = bX60gensym1017_;
  		T141_[2] = tmpX60gensym1017_;
  		T141_[3] = tmp2X60gensym1017_;
  		unsureAsgnRef((void**) (&(*r).res), percent___jsgen_5089(T141_, 4));
  		(*r).kind = ((tyEnum_TResKind__EoayJcDa8SxU1YPfjU8L9bg) 1);
  	}
  	break;
  	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 124):
  	{
  		tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w xX60gensym1022_;
  		tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w yX60gensym1022_;
  		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* aX60gensym1022_;
  		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* tmpX60gensym1022_;
  		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* bX60gensym1022_;
  		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* tmp2X60gensym1022_;
  		tyArray__f7nG5LD47BH5K9c6mASit3g T143_;
  		nimZeroMem((void*)(&xX60gensym1022_), sizeof(tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w));
  		nimZeroMem((void*)(&yX60gensym1022_), sizeof(tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w));
  		useMagic__jsgen_779(p, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_359));
  		gen__jsgen_766(p, (*n)._kind_6.sons->data[((NI) 1)], (&xX60gensym1022_));
  		gen__jsgen_766(p, (*n)._kind_6.sons->data[((NI) 2)], (&yX60gensym1022_));
  		aX60gensym1022_ = rdLoc__jsgen_188(xX60gensym1022_);
  		tmpX60gensym1022_ = rdLoc__jsgen_188(xX60gensym1022_);
  		bX60gensym1022_ = rdLoc__jsgen_188(yX60gensym1022_);
  		tmp2X60gensym1022_ = rdLoc__jsgen_188(yX60gensym1022_);
  		nimZeroMem((void*)T143_, sizeof(tyArray__f7nG5LD47BH5K9c6mASit3g));
  		T143_[0] = aX60gensym1022_;
  		T143_[1] = bX60gensym1022_;
  		T143_[2] = tmpX60gensym1022_;
  		T143_[3] = tmp2X60gensym1022_;
  		unsureAsgnRef((void**) (&(*r).res), percent___jsgen_5108(T143_, 4));
  		(*r).kind = ((tyEnum_TResKind__EoayJcDa8SxU1YPfjU8L9bg) 1);
  	}
  	break;
  	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 40):
  	{
  		tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w xX60gensym1027_;
  		tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w yX60gensym1027_;
  		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* aX60gensym1027_;
  		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* tmpX60gensym1027_;
  		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* bX60gensym1027_;
  		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* tmp2X60gensym1027_;
  		tyArray__f7nG5LD47BH5K9c6mASit3g T145_;
  		nimZeroMem((void*)(&xX60gensym1027_), sizeof(tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w));
  		nimZeroMem((void*)(&yX60gensym1027_), sizeof(tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w));
  		useMagic__jsgen_779(p, ((NimStringDesc*) NIM_NIL));
  		gen__jsgen_766(p, (*n)._kind_6.sons->data[((NI) 1)], (&xX60gensym1027_));
  		gen__jsgen_766(p, (*n)._kind_6.sons->data[((NI) 2)], (&yX60gensym1027_));
  		aX60gensym1027_ = rdLoc__jsgen_188(xX60gensym1027_);
  		tmpX60gensym1027_ = rdLoc__jsgen_188(xX60gensym1027_);
  		bX60gensym1027_ = rdLoc__jsgen_188(yX60gensym1027_);
  		tmp2X60gensym1027_ = rdLoc__jsgen_188(yX60gensym1027_);
  		nimZeroMem((void*)T145_, sizeof(tyArray__f7nG5LD47BH5K9c6mASit3g));
  		T145_[0] = aX60gensym1027_;
  		T145_[1] = bX60gensym1027_;
  		T145_[2] = tmpX60gensym1027_;
  		T145_[3] = tmp2X60gensym1027_;
  		unsureAsgnRef((void**) (&(*r).res), percent___jsgen_5127(T145_, 4));
  		(*r).kind = ((tyEnum_TResKind__EoayJcDa8SxU1YPfjU8L9bg) 1);
  	}
  	break;
  	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 41):
  	{
  		tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w xX60gensym1032_;
  		tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w yX60gensym1032_;
  		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* aX60gensym1032_;
  		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* tmpX60gensym1032_;
  		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* bX60gensym1032_;
  		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* tmp2X60gensym1032_;
  		tyArray__f7nG5LD47BH5K9c6mASit3g T147_;
  		nimZeroMem((void*)(&xX60gensym1032_), sizeof(tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w));
  		nimZeroMem((void*)(&yX60gensym1032_), sizeof(tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w));
  		useMagic__jsgen_779(p, ((NimStringDesc*) NIM_NIL));
  		gen__jsgen_766(p, (*n)._kind_6.sons->data[((NI) 1)], (&xX60gensym1032_));
  		gen__jsgen_766(p, (*n)._kind_6.sons->data[((NI) 2)], (&yX60gensym1032_));
  		aX60gensym1032_ = rdLoc__jsgen_188(xX60gensym1032_);
  		tmpX60gensym1032_ = rdLoc__jsgen_188(xX60gensym1032_);
  		bX60gensym1032_ = rdLoc__jsgen_188(yX60gensym1032_);
  		tmp2X60gensym1032_ = rdLoc__jsgen_188(yX60gensym1032_);
  		nimZeroMem((void*)T147_, sizeof(tyArray__f7nG5LD47BH5K9c6mASit3g));
  		T147_[0] = aX60gensym1032_;
  		T147_[1] = bX60gensym1032_;
  		T147_[2] = tmpX60gensym1032_;
  		T147_[3] = tmp2X60gensym1032_;
  		unsureAsgnRef((void**) (&(*r).res), percent___jsgen_5146(T147_, 4));
  		(*r).kind = ((tyEnum_TResKind__EoayJcDa8SxU1YPfjU8L9bg) 1);
  	}
  	break;
  	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 134):
  	{
  		tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w xX60gensym1037_;
  		tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w yX60gensym1037_;
  		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* aX60gensym1037_;
  		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* tmpX60gensym1037_;
  		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* bX60gensym1037_;
  		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* tmp2X60gensym1037_;
  		tyArray__f7nG5LD47BH5K9c6mASit3g T149_;
  		nimZeroMem((void*)(&xX60gensym1037_), sizeof(tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w));
  		nimZeroMem((void*)(&yX60gensym1037_), sizeof(tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w));
  		useMagic__jsgen_779(p, ((NimStringDesc*) NIM_NIL));
  		gen__jsgen_766(p, (*n)._kind_6.sons->data[((NI) 1)], (&xX60gensym1037_));
  		gen__jsgen_766(p, (*n)._kind_6.sons->data[((NI) 2)], (&yX60gensym1037_));
  		aX60gensym1037_ = rdLoc__jsgen_188(xX60gensym1037_);
  		tmpX60gensym1037_ = rdLoc__jsgen_188(xX60gensym1037_);
  		bX60gensym1037_ = rdLoc__jsgen_188(yX60gensym1037_);
  		tmp2X60gensym1037_ = rdLoc__jsgen_188(yX60gensym1037_);
  		nimZeroMem((void*)T149_, sizeof(tyArray__f7nG5LD47BH5K9c6mASit3g));
  		T149_[0] = aX60gensym1037_;
  		T149_[1] = bX60gensym1037_;
  		T149_[2] = tmpX60gensym1037_;
  		T149_[3] = tmp2X60gensym1037_;
  		unsureAsgnRef((void**) (&(*r).res), percent___jsgen_5165(T149_, 4));
  		(*r).kind = ((tyEnum_TResKind__EoayJcDa8SxU1YPfjU8L9bg) 1);
  	}
  	break;
  	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 34):
  	{
  		genNewSeq__jsgen_4376(p, n);
  	}
  	break;
  	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 35):
  	{
  		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* aX60gensym1042_;
  		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* tmpX60gensym1042_;
  		tyArray__mrugoXXRZUEeG9bEXo9auBKw T157_;
  		useMagic__jsgen_779(p, ((NimStringDesc*) NIM_NIL));
  		gen__jsgen_766(p, (*n)._kind_6.sons->data[((NI) 1)], r);
  		aX60gensym1042_ = rdLoc__jsgen_188((*r));
  		tmpX60gensym1042_ = rdLoc__jsgen_188((*r));
  		{
  			NIM_BOOL T154_;
  			tyTuple__nsNHL3sm0TZE9bootw2pEXw __5;
  			T154_ = (NIM_BOOL)0;
  			T154_ = contains__pureZstrutils_1631(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_184), ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_321));
  			if (!T154_) goto LA155_;
  			nimZeroMem((void*)(&__5), sizeof(tyTuple__nsNHL3sm0TZE9bootw2pEXw));
  			maybeMakeTemp__jsgen_964(p, (*n)._kind_6.sons->data[((NI) 1)], (*r), (&__5));
  			aX60gensym1042_ = __5.Field0;
  			tmpX60gensym1042_ = __5.Field1;
  		}
  		LA155_: ;
  		nimZeroMem((void*)T157_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  		T157_[0] = aX60gensym1042_;
  		T157_[1] = tmpX60gensym1042_;
  		unsureAsgnRef((void**) (&(*r).res), percent___jsgen_5177(T157_, 2));
  		(*r).kind = ((tyEnum_TResKind__EoayJcDa8SxU1YPfjU8L9bg) 1);
  	}
  	break;
  	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 15):
  	{
  		genOf__jsgen_4506(p, n, r);
  	}
  	break;
  	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 152):
  	{
  		genDefault__jsgen_4532(p, n, r);
  	}
  	break;
  	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 158):
  	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 149):
  	{
  		genReset__jsgen_4536(p, n);
  	}
  	break;
  	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 20):
  	{
  		genEcho__jsgen_3758(p, n, r);
  	}
  	break;
  	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 212) ... ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 259):
  	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 22):
  	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 23):
  	{
  		NimStringDesc* T163_;
  		T163_ = NIM_NIL;
  		T163_ = nsuFormatSingleElem(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_376), (*(*(*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym).name).s);
  		liMessage__msgs_1118((*(*p).module).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T163_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__BxLwT0mhrtgTPodf1v3xjg_377, NIM_FALSE);
  	}
  	break;
  	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 145):
  	{
  		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* aX60gensym1050_;
  		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* tmpX60gensym1050_;
  		tyArray__mrugoXXRZUEeG9bEXo9auBKw T170_;
  		useMagic__jsgen_779(p, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_344));
  		gen__jsgen_766(p, (*n)._kind_6.sons->data[((NI) 1)], r);
  		aX60gensym1050_ = rdLoc__jsgen_188((*r));
  		tmpX60gensym1050_ = rdLoc__jsgen_188((*r));
  		{
  			NIM_BOOL T167_;
  			tyTuple__nsNHL3sm0TZE9bootw2pEXw __6;
  			T167_ = (NIM_BOOL)0;
  			T167_ = contains__pureZstrutils_1631(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_378), ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_321));
  			if (!T167_) goto LA168_;
  			nimZeroMem((void*)(&__6), sizeof(tyTuple__nsNHL3sm0TZE9bootw2pEXw));
  			maybeMakeTemp__jsgen_964(p, (*n)._kind_6.sons->data[((NI) 1)], (*r), (&__6));
  			aX60gensym1050_ = __6.Field0;
  			tmpX60gensym1050_ = __6.Field1;
  		}
  		LA168_: ;
  		nimZeroMem((void*)T170_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  		T170_[0] = aX60gensym1050_;
  		T170_[1] = tmpX60gensym1050_;
  		unsureAsgnRef((void**) (&(*r).res), percent___jsgen_5190(T170_, 2));
  		(*r).kind = ((tyEnum_TResKind__EoayJcDa8SxU1YPfjU8L9bg) 1);
  	}
  	break;
  	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 146):
  	{
  		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* aX60gensym1054_;
  		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* tmpX60gensym1054_;
  		tyArray__mrugoXXRZUEeG9bEXo9auBKw T177_;
  		useMagic__jsgen_779(p, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_344));
  		gen__jsgen_766(p, (*n)._kind_6.sons->data[((NI) 1)], r);
  		aX60gensym1054_ = rdLoc__jsgen_188((*r));
  		tmpX60gensym1054_ = rdLoc__jsgen_188((*r));
  		{
  			NIM_BOOL T174_;
  			tyTuple__nsNHL3sm0TZE9bootw2pEXw __7;
  			T174_ = (NIM_BOOL)0;
  			T174_ = contains__pureZstrutils_1631(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_379), ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_321));
  			if (!T174_) goto LA175_;
  			nimZeroMem((void*)(&__7), sizeof(tyTuple__nsNHL3sm0TZE9bootw2pEXw));
  			maybeMakeTemp__jsgen_964(p, (*n)._kind_6.sons->data[((NI) 1)], (*r), (&__7));
  			aX60gensym1054_ = __7.Field0;
  			tmpX60gensym1054_ = __7.Field1;
  		}
  		LA175_: ;
  		nimZeroMem((void*)T177_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  		T177_[0] = aX60gensym1054_;
  		T177_[1] = tmpX60gensym1054_;
  		unsureAsgnRef((void**) (&(*r).res), percent___jsgen_5202(T177_, 2));
  		(*r).kind = ((tyEnum_TResKind__EoayJcDa8SxU1YPfjU8L9bg) 1);
  	}
  	break;
  	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 127):
  	{
  		genProcForSymIfNeeded__jsgen_3222(p, (*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym);
  		genCall__jsgen_3735(p, n, r);
  	}
  	break;
  	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 147):
  	{
  		useMagic__jsgen_779(p, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_382));
  		genCall__jsgen_3735(p, n, r);
  	}
  	break;
  	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 126):
  	{
  		tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w x_7;
  		tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w y_3;
  		tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w z;
  		tyArray__wqYjTJU9ab2ZgEFMaQc3vNA T181_;
  		nimZeroMem((void*)(&x_7), sizeof(tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w));
  		nimZeroMem((void*)(&y_3), sizeof(tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w));
  		nimZeroMem((void*)(&z), sizeof(tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w));
  		gen__jsgen_766(p, (*n)._kind_6.sons->data[((NI) 1)], (&x_7));
  		gen__jsgen_766(p, (*n)._kind_6.sons->data[((NI) 2)], (&y_3));
  		gen__jsgen_766(p, (*n)._kind_6.sons->data[((NI) 3)], (&z));
  		nimZeroMem((void*)T181_, sizeof(tyArray__wqYjTJU9ab2ZgEFMaQc3vNA));
  		T181_[0] = rdLoc__jsgen_188(x_7);
  		T181_[1] = rdLoc__jsgen_188(y_3);
  		T181_[2] = rdLoc__jsgen_188(z);
  		unsureAsgnRef((void**) (&(*r).res), percent___jsgen_5214(T181_, 3));
  		(*r).kind = ((tyEnum_TResKind__EoayJcDa8SxU1YPfjU8L9bg) 1);
  	}
  	break;
  	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 148):
  	{
  		genMove__jsgen_4559(p, n, r);
  	}
  	break;
  	default:
  	{
  		genCall__jsgen_3735(p, n, r);
  	}
  	break;
  	}
  }
  N_LIB_PRIVATE N_NIMCALL(void, genOtherArg__jsgen_3606)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI i, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ, NI* generated, tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w* r) {
  	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* it;
  	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* paramType;
  {	{
  		NI T3_;
  		NimStringDesc* T6_;
  		NimStringDesc* T7_;
  		NI T8_;
  		NimStringDesc* T9_;
  		T3_ = (NI)0;
  		T3_ = len__ast_3198(n);
  		if (!(T3_ <= i)) goto LA4_;
  		T6_ = NIM_NIL;
  		T7_ = NIM_NIL;
  		T7_ = dollar___systemZdollars_3(i);
  		T8_ = (NI)0;
  		T8_ = len__ast_3198(n);
  		T9_ = NIM_NIL;
  		T9_ = dollar___systemZdollars_3((NI)(T8_ - ((NI) 1)));
  		T6_ = rawNewString((T7_ ? T7_->Sup.len : 0) + (T9_ ? T9_->Sup.len : 0) + 71);
  appendString(T6_, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_386));
  appendString(T6_, T7_);
  appendString(T6_, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_387));
  appendString(T6_, T9_);
  		liMessage__msgs_1118((*(*p).module).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T6_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 2), TM__BxLwT0mhrtgTPodf1v3xjg_388, NIM_FALSE);
  	}
  	LA4_: ;
  	it = (*n)._kind_6.sons->data[i];
  	paramType = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL);
  	{
  		NI T12_;
  		T12_ = (NI)0;
  		T12_ = len__ast_4002(typ);
  		if (!(i < T12_)) goto LA13_;
  		paramType = (*(*typ).n)._kind_6.sons->data[i];
  		{
  			NIM_BOOL T17_;
  			T17_ = (NIM_BOOL)0;
  			T17_ = isCompileTimeOnly__types_3519((*paramType).typ);
  			if (!T17_) goto LA18_;
  			goto BeforeRet_;
  		}
  		LA18_: ;
  	}
  	LA13_: ;
  	{
  		if (!(paramType == 0)) goto LA22_;
  		genArgNoParam__jsgen_3485(p, it, r);
  	}
  	goto LA20_;
  	LA22_: ;
  	{
  		genArg__jsgen_3494(p, it, (*paramType)._kind_4.sym, r, ((NI*) NIM_NIL));
  	}
  	LA20_: ;
  	(*generated) += ((NI) 1);
  	}BeforeRet_: ;
  }
  N_LIB_PRIVATE N_NIMCALL(void, genPatternCall__jsgen_3641)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NimStringDesc* pat, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ, tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w* r) {
  	NI i;
  	NI j;
  	i = ((NI) 0);
  	j = ((NI) 1);
  	(*r).kind = ((tyEnum_TResKind__EoayJcDa8SxU1YPfjU8L9bg) 1);
  	{
  		while (1) {
  			if (!(i < (pat ? pat->Sup.len : 0))) goto LA2;
  			switch (((NU8)(pat->data[i]))) {
  			case 64:
  			{
  				NI generated;
  				generated = ((NI) 0);
  				{
  					NI k;
  					NI colontmp_;
  					NI i_2;
  					k = (NI)0;
  					colontmp_ = (NI)0;
  					colontmp_ = len__ast_3198(n);
  					i_2 = j;
  					{
  						while (1) {
  							if (!(i_2 < colontmp_)) goto LA6;
  							k = i_2;
  							{
  								if (!(((NI) 0) < generated)) goto LA9_;
  								add__ropes_162(&(*r).res, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_118));
  							}
  							LA9_: ;
  							genOtherArg__jsgen_3606(p, n, k, typ, (&generated), r);
  							i_2 += ((NI) 1);
  						} LA6: ;
  					}
  				}
  				i += ((NI) 1);
  			}
  			break;
  			case 35:
  			{
  				NI generated_2;
  				generated_2 = ((NI) 0);
  				genOtherArg__jsgen_3606(p, n, j, typ, (&generated_2), r);
  				j += ((NI) 1);
  				i += ((NI) 1);
  			}
  			break;
  			case 31:
  			{
  				add__ropes_162(&(*r).res, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_389));
  				i += ((NI) 1);
  			}
  			break;
  			case 29:
  			{
  				add__ropes_162(&(*r).res, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_390));
  				i += ((NI) 1);
  			}
  			break;
  			default:
  			{
  				NI start;
  				start = i;
  				{
  					while (1) {
  						if (!(i < (pat ? pat->Sup.len : 0))) goto LA16;
  						{
  							if (!!((((NU8)(pat->data[i])) == ((NU8)(64)) || ((NU8)(pat->data[i])) == ((NU8)(35)) || ((NU8)(pat->data[i])) == ((NU8)(31)) || ((NU8)(pat->data[i])) == ((NU8)(29))))) goto LA19_;
  							i += ((NI) 1);
  						}
  						goto LA17_;
  						LA19_: ;
  						{
  							goto LA15;
  						}
  						LA17_: ;
  					} LA16: ;
  				} LA15: ;
  				{
  					NimStringDesc* T26_;
  					if (!(start <= (NI)(i - ((NI) 1)))) goto LA24_;
  					T26_ = NIM_NIL;
  					T26_ = substr__system_7743(pat, start, (NI)(i - ((NI) 1)));
  					add__ropes_162(&(*r).res, T26_);
  				}
  				LA24_: ;
  			}
  			break;
  			}
  		} LA2: ;
  	}
  }
  N_LIB_PRIVATE N_NIMCALL(void, genInfixCall__jsgen_3688)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w* r) {
  	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* f;
  	tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w op;
  {	f = (*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym;
  	{
  		if (!((*f).loc.r == ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL))) goto LA3_;
  		asgnRef((void**) (&(*f).loc.r), mangleName__jsgen_308((*p).module, f));
  	}
  	LA3_: ;
  	{
  		NimStringDesc* pat;
  		if (!(((*f).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 32))&63U)))!=0)) goto LA7_;
  		pat = (*(*(*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym).loc.r).data;
  		{
  			NimStringDesc* argX60gensym743_;
  			if (!!((((NI) 0) < (pat ? pat->Sup.len : 0)))) goto LA11_;
  			argX60gensym743_ = toFileLineCol__msgs_615(TM__BxLwT0mhrtgTPodf1v3xjg_384);
  			internalErrorImpl__msgs_1431((*(*p).module).config, unknownLineInfo__lineinfos_280, argX60gensym743_, TM__BxLwT0mhrtgTPodf1v3xjg_384);
  		}
  		LA11_: ;
  		{
  			NIM_BOOL T15_;
  			tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
  			T15_ = (NIM_BOOL)0;
  			T15_ = contains__pureZstrutils_1635(pat, TM__BxLwT0mhrtgTPodf1v3xjg_385);
  			if (!T15_) goto LA16_;
  			typ = skipTypes__ast_3735((*(*n)._kind_6.sons->data[((NI) 0)]).typ, TM__BxLwT0mhrtgTPodf1v3xjg_97);
  			genPatternCall__jsgen_3641(p, n, pat, typ, r);
  			goto BeforeRet_;
  		}
  		LA16_: ;
  	}
  	LA7_: ;
  	{
  		NI T20_;
  		T20_ = (NI)0;
  		T20_ = len__ast_3198(n);
  		if (!!((T20_ == ((NI) 1)))) goto LA21_;
  		gen__jsgen_766(p, (*n)._kind_6.sons->data[((NI) 1)], r);
  		{
  			tyArray__mrugoXXRZUEeG9bEXo9auBKw T31_;
  			if (!((*r).typ == ((tyEnum_TJSTypeKind__9aFSCXgaSEq2m81RJRMKDeA) 9))) goto LA25_;
  			{
  				if (!((*r).address == ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL))) goto LA29_;
  				liMessage__msgs_1118((*(*p).module).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_391), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 2), TM__BxLwT0mhrtgTPodf1v3xjg_392, NIM_FALSE);
  			}
  			LA29_: ;
  			nimZeroMem((void*)T31_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  			T31_[0] = (*r).address;
  			T31_[1] = (*r).res;
  			unsureAsgnRef((void**) (&(*r).res), percent___cgen_6775(T31_, 2));
  			unsureAsgnRef((void**) (&(*r).address), ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL));
  			(*r).typ = ((tyEnum_TJSTypeKind__9aFSCXgaSEq2m81RJRMKDeA) 0);
  		}
  		LA25_: ;
  		add__ropes_162(&(*r).res, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_393));
  	}
  	LA21_: ;
  	nimZeroMem((void*)(&op), sizeof(tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w));
  	gen__jsgen_766(p, (*n)._kind_6.sons->data[((NI) 0)], (&op));
  	add__ropes_159(&(*r).res, op.res);
  	genArgs__jsgen_3551(p, n, r, ((NI) 2));
  	}BeforeRet_: ;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_2940)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_397), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(void, genSetConstr__jsgen_5219)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w* r) {
  	tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w a;
  	tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w b;
  	nimZeroMem((void*)(&a), sizeof(tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w));
  	nimZeroMem((void*)(&b), sizeof(tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w));
  	useMagic__jsgen_779(p, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_394));
  	unsureAsgnRef((void**) (&(*r).res), rope__ropes_109(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_395)));
  	(*r).kind = ((tyEnum_TResKind__EoayJcDa8SxU1YPfjU8L9bg) 1);
  	{
  		NI i;
  		NI colontmp_;
  		NI i_2;
  		i = (NI)0;
  		colontmp_ = (NI)0;
  		colontmp_ = len__ast_3198(n);
  		i_2 = ((NI) 0);
  		{
  			while (1) {
  				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* it;
  				if (!(i_2 < colontmp_)) goto LA3;
  				i = i_2;
  				{
  					if (!(((NI) 0) < i)) goto LA6_;
  					add__ropes_162(&(*r).res, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_118));
  				}
  				LA6_: ;
  				it = (*n)._kind_6.sons->data[i];
  				{
  					if (!((*it).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 44))) goto LA10_;
  					gen__jsgen_766(p, (*it)._kind_6.sons->data[((NI) 0)], (&a));
  					gen__jsgen_766(p, (*it)._kind_6.sons->data[((NI) 1)], (&b));
  					{
  						tyArray__mrugoXXRZUEeG9bEXo9auBKw T16_;
  						tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T17_;
  						if (!((*(*(*it)._kind_6.sons->data[((NI) 0)]).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 1))) goto LA14_;
  						nimZeroMem((void*)T16_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  						T16_[0] = a.res;
  						T16_[1] = b.res;
  						T17_ = NIM_NIL;
  						T17_ = percent___cgen_11991(T16_, 2);
  						add__ropes_159(&(*r).res, T17_);
  					}
  					goto LA12_;
  					LA14_: ;
  					{
  						tyArray__mrugoXXRZUEeG9bEXo9auBKw T19_;
  						tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T20_;
  						nimZeroMem((void*)T19_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  						T19_[0] = a.res;
  						T19_[1] = b.res;
  						T20_ = NIM_NIL;
  						T20_ = percent___jsgen_462(T19_, 2);
  						add__ropes_159(&(*r).res, T20_);
  					}
  					LA12_: ;
  				}
  				goto LA8_;
  				LA10_: ;
  				{
  					gen__jsgen_766(p, it, (&a));
  					add__ropes_159(&(*r).res, a.res);
  				}
  				LA8_: ;
  				i_2 += ((NI) 1);
  			} LA3: ;
  		}
  	}
  	add__ropes_162(&(*r).res, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_119));
  	{
  		NIM_BOOL T24_;
  		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* tmp;
  		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T27_;
  		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T28_;
  		tyArray__mrugoXXRZUEeG9bEXo9auBKw T29_;
  		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T30_;
  		T24_ = (NIM_BOOL)0;
  		T24_ = isDeepConstExpr__trees_171(n, NIM_FALSE);
  		if (!T24_) goto LA25_;
  		(*(*p).g).unique += ((NI) 1);
  		T27_ = NIM_NIL;
  		T27_ = rope__ropes_109(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_396));
  		T28_ = NIM_NIL;
  		T28_ = rope__ropes_115(((NI64) ((*(*p).g).unique)));
  		tmp = amp___ropes_128(T27_, T28_);
  		nimZeroMem((void*)T29_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  		T29_[0] = tmp;
  		T29_[1] = (*r).res;
  		T30_ = NIM_NIL;
  		T30_ = percent___jsgen_2940(T29_, 2);
  		add__ropes_159(&(*(*p).g).constants, T30_);
  		unsureAsgnRef((void**) (&(*r).res), tmp);
  	}
  	LA25_: ;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_5275)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_398), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(void, genArrayConstr__jsgen_5263)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w* r) {
  	tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
  	tyObject_TType__facALICuu8zUj0hjvbTLFg* e;
  	NimStringDesc* jsTyp;
  	t = skipTypes__ast_3735((*n).typ, TM__BxLwT0mhrtgTPodf1v3xjg_97);
  	e = elemType__types_263(t);
  	jsTyp = arrayTypeForElemType__jsgen_3959(e);
  	{
  		NIM_BOOL T3_;
  		tyObject_TType__facALICuu8zUj0hjvbTLFg* T4_;
  		tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w a;
  		tyArray__JiWwrsTRC6xqNlGcBthSVA T8_;
  		T3_ = (NIM_BOOL)0;
  		T4_ = NIM_NIL;
  		T4_ = skipTypes__ast_3735((*n).typ, TM__BxLwT0mhrtgTPodf1v3xjg_211);
  		T3_ = !(((*T4_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 24)));
  		if (!(T3_)) goto LA5_;
  		T3_ = (((NI) 0) < (jsTyp ? jsTyp->Sup.len : 0));
  		LA5_: ;
  		if (!T3_) goto LA6_;
  		nimZeroMem((void*)(&a), sizeof(tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w));
  		nimZeroMem((void*)T8_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
  		T8_[0] = rope__ropes_109(jsTyp);
  		unsureAsgnRef((void**) (&(*r).res), percent___jsgen_5275(T8_, 1));
  		(*r).kind = ((tyEnum_TResKind__EoayJcDa8SxU1YPfjU8L9bg) 1);
  		{
  			NI i;
  			NI colontmp_;
  			NI i_2;
  			i = (NI)0;
  			colontmp_ = (NI)0;
  			colontmp_ = len__ast_3198(n);
  			i_2 = ((NI) 0);
  			{
  				while (1) {
  					if (!(i_2 < colontmp_)) goto LA11;
  					i = i_2;
  					{
  						if (!(((NI) 0) < i)) goto LA14_;
  						add__ropes_162(&(*r).res, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_118));
  					}
  					LA14_: ;
  					gen__jsgen_766(p, (*n)._kind_6.sons->data[i], (&a));
  					add__ropes_159(&(*r).res, a.res);
  					i_2 += ((NI) 1);
  				} LA11: ;
  			}
  		}
  		add__ropes_162(&(*r).res, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_399));
  	}
  	goto LA1_;
  	LA6_: ;
  	{
  		genJSArrayConstr__jsgen_4569(p, n, r);
  	}
  	LA1_: ;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_5314)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_400), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_5323)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_401), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(void, genTupleConstr__jsgen_5289)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w* r) {
  	tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w a;
  	nimZeroMem((void*)(&a), sizeof(tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w));
  	unsureAsgnRef((void**) (&(*r).res), rope__ropes_109(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_175)));
  	(*r).kind = ((tyEnum_TResKind__EoayJcDa8SxU1YPfjU8L9bg) 1);
  	{
  		NI i;
  		NI colontmp_;
  		NI i_2;
  		i = (NI)0;
  		colontmp_ = (NI)0;
  		colontmp_ = len__ast_3198(n);
  		i_2 = ((NI) 0);
  		{
  			while (1) {
  				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* it;
  				tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
  				if (!(i_2 < colontmp_)) goto LA3;
  				i = i_2;
  				{
  					if (!(((NI) 0) < i)) goto LA6_;
  					add__ropes_162(&(*r).res, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_118));
  				}
  				LA6_: ;
  				it = (*n)._kind_6.sons->data[i];
  				{
  					if (!((*it).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 34))) goto LA10_;
  					it = (*it)._kind_6.sons->data[((NI) 1)];
  				}
  				LA10_: ;
  				gen__jsgen_766(p, it, (&a));
  				typ = skipTypes__ast_3735((*it).typ, TM__BxLwT0mhrtgTPodf1v3xjg_97);
  				{
  					tyArray__wqYjTJU9ab2ZgEFMaQc3vNA T16_;
  					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T17_;
  					if (!(a.typ == ((tyEnum_TJSTypeKind__9aFSCXgaSEq2m81RJRMKDeA) 9))) goto LA14_;
  					nimZeroMem((void*)T16_, sizeof(tyArray__wqYjTJU9ab2ZgEFMaQc3vNA));
  					T16_[0] = rope__ropes_115(((NI64) (i)));
  					T16_[1] = a.address;
  					T16_[2] = a.res;
  					T17_ = NIM_NIL;
  					T17_ = percent___jsgen_5314(T16_, 3);
  					add__ropes_159(&(*r).res, T17_);
  				}
  				goto LA12_;
  				LA14_: ;
  				{
  					tyArray__mrugoXXRZUEeG9bEXo9auBKw T25_;
  					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T26_;
  					{
  						NIM_BOOL T21_;
  						tyArray__mrugoXXRZUEeG9bEXo9auBKw T24_;
  						T21_ = (NIM_BOOL)0;
  						T21_ = needsNoCopy__jsgen_2483(p, it);
  						if (!!(T21_)) goto LA22_;
  						useMagic__jsgen_779(p, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_141));
  						nimZeroMem((void*)T24_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  						T24_[0] = rdLoc__jsgen_188(a);
  						T24_[1] = genTypeInfo__jsgen_385(p, typ);
  						a.res = percent___jsgen_4160(T24_, 2);
  					}
  					LA22_: ;
  					nimZeroMem((void*)T25_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  					T25_[0] = rope__ropes_115(((NI64) (i)));
  					T25_[1] = a.res;
  					T26_ = NIM_NIL;
  					T26_ = percent___jsgen_5323(T25_, 2);
  					add__ropes_159(&(*r).res, T26_);
  				}
  				LA12_: ;
  				i_2 += ((NI) 1);
  			} LA3: ;
  		}
  	}
  	add__ropes_162(&(*r).res, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_177));
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_5414)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_403), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_5423)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_404), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_5433)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_406), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(void, genObjConstr__jsgen_5328)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w* r) {
  	tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w a;
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* initList;
  	tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA fieldIDs;
  	tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
  	tyArray__JiWwrsTRC6xqNlGcBthSVA T31_;
  	nimZeroMem((void*)(&a), sizeof(tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w));
  	(*r).kind = ((tyEnum_TResKind__EoayJcDa8SxU1YPfjU8L9bg) 1);
  	initList = NIM_NIL;
  	nimZeroMem((void*)(&fieldIDs), sizeof(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA));
  	initIntSet__pureZcollectionsZintsets_238((&fieldIDs));
  	{
  		NI i;
  		NI colontmp_;
  		NI i_2;
  		i = (NI)0;
  		colontmp_ = (NI)0;
  		colontmp_ = len__ast_3198(n);
  		i_2 = ((NI) 1);
  		{
  			while (1) {
  				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* it;
  				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* val;
  				tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* f;
  				tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym1086_;
  				tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
  				if (!(i_2 < colontmp_)) goto LA3;
  				i = i_2;
  				{
  					if (!(((NI) 1) < i)) goto LA6_;
  					add__ropes_162(&initList, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_118));
  				}
  				LA6_: ;
  				it = (*n)._kind_6.sons->data[i];
  				{
  					NimStringDesc* argX60gensym1082_;
  					if (!!(((*it).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 34)))) goto LA10_;
  					argX60gensym1082_ = toFileLineCol__msgs_615(TM__BxLwT0mhrtgTPodf1v3xjg_402);
  					internalErrorImpl__msgs_1431((*(*p).module).config, unknownLineInfo__lineinfos_280, argX60gensym1082_, TM__BxLwT0mhrtgTPodf1v3xjg_402);
  				}
  				LA10_: ;
  				val = (*it)._kind_6.sons->data[((NI) 1)];
  				gen__jsgen_766(p, val, (&a));
  				f = (*(*it)._kind_6.sons->data[((NI) 0)])._kind_4.sym;
  				{
  					if (!((*f).loc.r == ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL))) goto LA14_;
  					asgnRef((void**) (&(*f).loc.r), mangleName__jsgen_308((*p).module, f));
  				}
  				LA14_: ;
  				xX60gensym1086_ = lookupFieldAgain__types_4053((*n).typ, f);
  				incl__pureZcollectionsZintsets_55((&fieldIDs), (NI)((NI)((NU32)(((NI) ((*xX60gensym1086_).Sup.itemId.module))) << (NU32)(((NI) 20))) + ((NI) ((*xX60gensym1086_).Sup.itemId.item))));
  				typ = skipTypes__ast_3735((*val).typ, TM__BxLwT0mhrtgTPodf1v3xjg_97);
  				{
  					tyArray__wqYjTJU9ab2ZgEFMaQc3vNA T20_;
  					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T21_;
  					if (!(a.typ == ((tyEnum_TJSTypeKind__9aFSCXgaSEq2m81RJRMKDeA) 9))) goto LA18_;
  					nimZeroMem((void*)T20_, sizeof(tyArray__wqYjTJU9ab2ZgEFMaQc3vNA));
  					T20_[0] = (*f).loc.r;
  					T20_[1] = a.address;
  					T20_[2] = a.res;
  					T21_ = NIM_NIL;
  					T21_ = percent___jsgen_5414(T20_, 3);
  					add__ropes_159(&initList, T21_);
  				}
  				goto LA16_;
  				LA18_: ;
  				{
  					tyArray__mrugoXXRZUEeG9bEXo9auBKw T29_;
  					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T30_;
  					{
  						NIM_BOOL T25_;
  						tyArray__mrugoXXRZUEeG9bEXo9auBKw T28_;
  						T25_ = (NIM_BOOL)0;
  						T25_ = needsNoCopy__jsgen_2483(p, val);
  						if (!!(T25_)) goto LA26_;
  						useMagic__jsgen_779(p, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_141));
  						nimZeroMem((void*)T28_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  						T28_[0] = rdLoc__jsgen_188(a);
  						T28_[1] = genTypeInfo__jsgen_385(p, typ);
  						a.res = percent___jsgen_4160(T28_, 2);
  					}
  					LA26_: ;
  					nimZeroMem((void*)T29_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  					T29_[0] = (*f).loc.r;
  					T29_[1] = a.res;
  					T30_ = NIM_NIL;
  					T30_ = percent___jsgen_5423(T29_, 2);
  					add__ropes_159(&initList, T30_);
  				}
  				LA16_: ;
  				i_2 += ((NI) 1);
  			} LA3: ;
  		}
  	}
  	t = skipTypes__ast_3735((*n).typ, TM__BxLwT0mhrtgTPodf1v3xjg_405);
  	createObjInitList__jsgen_3943(p, t, (&fieldIDs), &initList);
  	nimZeroMem((void*)T31_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
  	T31_[0] = initList;
  	unsureAsgnRef((void**) (&(*r).res), percent___jsgen_5433(T31_, 1));
  }
  static N_INLINE(NIM_BOOL, contains__semfold_938)(tyObject_HSlice__HjDAjiFsTWGmlZ9cd8nEusA s, tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag value) {
  	NIM_BOOL result;
  	NIM_BOOL T1_;
  	result = (NIM_BOOL)0;
  	T1_ = (NIM_BOOL)0;
  	T1_ = (s.a <= value);
  	if (!(T1_)) goto LA2_;
  	T1_ = (value <= s.b);
  	LA2_: ;
  	result = T1_;
  	return result;
  }
  static N_INLINE(tyObject_HSlice__HjDAjiFsTWGmlZ9cd8nEusA, dotdot___semfold_916)(tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag a, tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag b) {
  	tyObject_HSlice__HjDAjiFsTWGmlZ9cd8nEusA result;
  	nimZeroMem((void*)(&result), sizeof(tyObject_HSlice__HjDAjiFsTWGmlZ9cd8nEusA));
  	nimZeroMem((void*)(&result), sizeof(tyObject_HSlice__HjDAjiFsTWGmlZ9cd8nEusA));
  	result.a = a;
  	result.b = b;
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_5711)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_407), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_5720)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_408), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_5725)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_409), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(void, genConv__jsgen_5438)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w* r) {
  	tyObject_TType__facALICuu8zUj0hjvbTLFg* dest;
  	tyObject_TType__facALICuu8zUj0hjvbTLFg* src;
  	NIM_BOOL toInt;
  	tyObject_HSlice__HjDAjiFsTWGmlZ9cd8nEusA T5_;
  	NIM_BOOL fromInt;
  	tyObject_HSlice__HjDAjiFsTWGmlZ9cd8nEusA T6_;
  	NIM_BOOL toUint;
  	tyObject_HSlice__HjDAjiFsTWGmlZ9cd8nEusA T7_;
  	NIM_BOOL fromUint;
  	tyObject_HSlice__HjDAjiFsTWGmlZ9cd8nEusA T8_;
  {	dest = skipTypes__ast_3735((*n).typ, TM__BxLwT0mhrtgTPodf1v3xjg_211);
  	src = skipTypes__ast_3735((*(*n)._kind_6.sons->data[((NI) 1)]).typ, TM__BxLwT0mhrtgTPodf1v3xjg_211);
  	gen__jsgen_766(p, (*n)._kind_6.sons->data[((NI) 1)], r);
  	{
  		if (!((*dest).kind == (*src).kind)) goto LA3_;
  		goto BeforeRet_;
  	}
  	LA3_: ;
  	T5_ = dotdot___semfold_916(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31), ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 34));
  	toInt = contains__semfold_938(T5_, (*dest).kind);
  	T6_ = dotdot___semfold_916(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31), ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 34));
  	fromInt = contains__semfold_938(T6_, (*src).kind);
  	T7_ = dotdot___semfold_916(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 40), ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 43));
  	toUint = contains__semfold_938(T7_, (*dest).kind);
  	T8_ = dotdot___semfold_916(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 40), ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 43));
  	fromUint = contains__semfold_938(T8_, (*src).kind);
  	{
  		NIM_BOOL T11_;
  		NIM_BOOL T13_;
  		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* trimmer;
  		tyArray__mrugoXXRZUEeG9bEXo9auBKw T17_;
  		T11_ = (NIM_BOOL)0;
  		T11_ = toUint;
  		if (!(T11_)) goto LA12_;
  		T13_ = (NIM_BOOL)0;
  		T13_ = fromInt;
  		if (T13_) goto LA14_;
  		T13_ = fromUint;
  		LA14_: ;
  		T11_ = T13_;
  		LA12_: ;
  		if (!T11_) goto LA15_;
  		trimmer = unsignedTrimmerJS__jsgen_1101((*dest).size);
  		nimZeroMem((void*)T17_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  		T17_[0] = (*r).res;
  		T17_[1] = trimmer;
  		unsureAsgnRef((void**) (&(*r).res), percent___jsgen_5711(T17_, 2));
  	}
  	goto LA9_;
  	LA15_: ;
  	{
  		tyArray__JiWwrsTRC6xqNlGcBthSVA T21_;
  		if (!((*dest).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 1))) goto LA19_;
  		nimZeroMem((void*)T21_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
  		T21_[0] = (*r).res;
  		unsureAsgnRef((void**) (&(*r).res), percent___jsgen_5720(T21_, 1));
  		(*r).kind = ((tyEnum_TResKind__EoayJcDa8SxU1YPfjU8L9bg) 1);
  	}
  	goto LA9_;
  	LA19_: ;
  	{
  		tyArray__JiWwrsTRC6xqNlGcBthSVA T25_;
  		if (!toInt) goto LA23_;
  		nimZeroMem((void*)T25_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
  		T25_[0] = (*r).res;
  		unsureAsgnRef((void**) (&(*r).res), percent___jsgen_5725(T25_, 1));
  	}
  	goto LA9_;
  	LA23_: ;
  	{
  	}
  	LA9_: ;
  	}BeforeRet_: ;
  }
  N_LIB_PRIVATE N_NIMCALL(void, addQuoted__jsgen_3158)(NimStringDesc** s, tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw x) {
  	unsureAsgnRef((void**) (&(*s)), resizeString((*s), (reprEnum((NI)x, (&NTItsymkind__cNCW9acsSznmEccl1fgQwkw_)) ? reprEnum((NI)x, (&NTItsymkind__cNCW9acsSznmEccl1fgQwkw_))->Sup.len : 0) + 0));
  appendString((*s), reprEnum((NI)x, (&NTItsymkind__cNCW9acsSznmEccl1fgQwkw_)));
  }
  N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar___jsgen_3124)(tyTuple__Fb1Z8PVtzpSjrvQ67oA88w x) {
  	NimStringDesc* result;
  	NI count;
  	result = NIM_NIL;
  	result = copyString(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_117));
  	count = ((NI) 0);
  	{
  		if (!(((NI) 0) < count)) goto LA3_;
  		result = resizeString(result, 2);
  appendString(result, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_118));
  	}
  	LA3_: ;
  	count += ((NI) 1);
  	addQuoted__pureZos_440((&result), x.Field0);
  	{
  		if (!(((NI) 0) < count)) goto LA7_;
  		result = resizeString(result, 2);
  appendString(result, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_118));
  	}
  	LA7_: ;
  	count += ((NI) 1);
  	addQuoted__jsgen_3158((&result), x.Field1);
  	{
  		if (!(count == ((NI) 1))) goto LA11_;
  		result = resizeString(result, 1);
  appendString(result, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_413));
  	}
  	LA11_: ;
  	result = resizeString(result, 1);
  appendString(result, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_119));
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_2956)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_421), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_2946)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_422), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_2951)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_423), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(void, genCheckedFieldOp__jsgen_2879)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TType__facALICuu8zUj0hjvbTLFg* addrTyp, tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w* r) {
  	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* accessExpr;
  	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* checkExpr;
  	NIM_BOOL negCheck;
  	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* field;
  	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* disc;
  	tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w setx;
  	tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w obj;
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* tmp;
  	tyArray__mrugoXXRZUEeG9bEXo9auBKw T26_;
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T27_;
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T28_;
  	NimStringDesc* msg;
  	tyArray__dNfZYyzVYdaWfURv4pxodA T29_;
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T37_;
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T38_;
  	{
  		NimStringDesc* argX60gensym583_;
  		if (!!(((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 46)))) goto LA3_;
  		argX60gensym583_ = toFileLineCol__msgs_615(TM__BxLwT0mhrtgTPodf1v3xjg_416);
  		internalErrorImpl__msgs_1431((*(*p).module).config, unknownLineInfo__lineinfos_280, argX60gensym583_, TM__BxLwT0mhrtgTPodf1v3xjg_416);
  	}
  	LA3_: ;
  	accessExpr = (*n)._kind_6.sons->data[((NI) 0)];
  	checkExpr = (*n)._kind_6.sons->data[((NI) 1)];
  	negCheck = ((*(*(*checkExpr)._kind_6.sons->data[((NI) 0)])._kind_4.sym).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 96));
  	{
  		NI T9_;
  		if (!negCheck) goto LA7_;
  		T9_ = (NI)0;
  		T9_ = len__ast_3198(checkExpr);
  		checkExpr = (*checkExpr)._kind_6.sons->data[(NI)(T9_ - ((NI) 1))];
  	}
  	LA7_: ;
  	field = (*(*accessExpr)._kind_6.sons->data[((NI) 1)])._kind_4.sym;
  	{
  		NimStringDesc* argX60gensym593_;
  		if (!!(((*field).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 19)))) goto LA12_;
  		argX60gensym593_ = toFileLineCol__msgs_615(TM__BxLwT0mhrtgTPodf1v3xjg_417);
  		internalErrorImpl__msgs_1431((*(*p).module).config, unknownLineInfo__lineinfos_280, argX60gensym593_, TM__BxLwT0mhrtgTPodf1v3xjg_417);
  	}
  	LA12_: ;
  	{
  		if (!((*field).loc.r == ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL))) goto LA16_;
  		asgnRef((void**) (&(*field).loc.r), mangleName__jsgen_308((*p).module, field));
  	}
  	LA16_: ;
  	disc = (*(*checkExpr)._kind_6.sons->data[((NI) 2)])._kind_4.sym;
  	{
  		NimStringDesc* argX60gensym597_;
  		if (!!(((*disc).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 19)))) goto LA20_;
  		argX60gensym597_ = toFileLineCol__msgs_615(TM__BxLwT0mhrtgTPodf1v3xjg_418);
  		internalErrorImpl__msgs_1431((*(*p).module).config, unknownLineInfo__lineinfos_280, argX60gensym597_, TM__BxLwT0mhrtgTPodf1v3xjg_418);
  	}
  	LA20_: ;
  	{
  		if (!((*disc).loc.r == ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL))) goto LA24_;
  		asgnRef((void**) (&(*disc).loc.r), mangleName__jsgen_308((*p).module, disc));
  	}
  	LA24_: ;
  	nimZeroMem((void*)(&setx), sizeof(tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w));
  	gen__jsgen_766(p, (*checkExpr)._kind_6.sons->data[((NI) 1)], (&setx));
  	nimZeroMem((void*)(&obj), sizeof(tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w));
  	gen__jsgen_766(p, (*accessExpr)._kind_6.sons->data[((NI) 0)], (&obj));
  	tmp = getTemp__jsgen_838(p, NIM_TRUE);
  	nimZeroMem((void*)T26_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  	T26_[0] = tmp;
  	T26_[1] = obj.res;
  	T27_ = NIM_NIL;
  	T27_ = percent___jsgen_2940(T26_, 2);
  	T28_ = NIM_NIL;
  	T28_ = indentLine__jsgen_97(p, T27_);
  	add__ropes_159(&(*p).body, T28_);
  	useMagic__jsgen_779(p, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_419));
  	useMagic__jsgen_779(p, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_212));
  	useMagic__jsgen_779(p, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_420));
  	msg = genFieldDefect__astmsgs_61((*(*p).module).config, (*(*field).name).s, disc);
  	nimZeroMem((void*)T29_, sizeof(tyArray__dNfZYyzVYdaWfURv4pxodA));
  	T29_[0] = setx.res;
  	T29_[1] = tmp;
  	T29_[2] = (*disc).loc.r;
  	{
  		tyArray__qTjAvTvKF9anytN1At69aJMQ T34_;
  		if (!negCheck) goto LA32_;
  		nimZeroMem((void*)T34_, sizeof(tyArray__qTjAvTvKF9anytN1At69aJMQ));
  		T29_[3] = percent___jsgen_2946(T34_, 0);
  	}
  	goto LA30_;
  	LA32_: ;
  	{
  		tyArray__qTjAvTvKF9anytN1At69aJMQ T36_;
  		nimZeroMem((void*)T36_, sizeof(tyArray__qTjAvTvKF9anytN1At69aJMQ));
  		T29_[3] = percent___jsgen_2951(T36_, 0);
  	}
  	LA30_: ;
  	T29_[4] = makeJSString__jsgen_378(msg, NIM_TRUE);
  	T29_[5] = genTypeInfo__jsgen_385(p, (*disc).typ);
  	T37_ = NIM_NIL;
  	T37_ = percent___jsgen_2956(T29_, 6);
  	T38_ = NIM_NIL;
  	T38_ = indentLine__jsgen_97(p, T37_);
  	add__ropes_159(&(*p).body, T38_);
  	{
  		NIM_BOOL T41_;
  		tyEnum_TJSTypeKind__9aFSCXgaSEq2m81RJRMKDeA T43_;
  		NimStringDesc* T46_;
  		T41_ = (NIM_BOOL)0;
  		T41_ = !((addrTyp == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
  		if (!(T41_)) goto LA42_;
  		T43_ = (tyEnum_TJSTypeKind__9aFSCXgaSEq2m81RJRMKDeA)0;
  		T43_ = mapType__jsgen_304(p, addrTyp);
  		T41_ = (T43_ == ((tyEnum_TJSTypeKind__9aFSCXgaSEq2m81RJRMKDeA) 9));
  		LA42_: ;
  		if (!T41_) goto LA44_;
  		(*r).typ = ((tyEnum_TJSTypeKind__9aFSCXgaSEq2m81RJRMKDeA) 9);
  		T46_ = NIM_NIL;
  		T46_ = dollar___ropes_250((*field).loc.r);
  		unsureAsgnRef((void**) (&(*r).res), makeJSString__jsgen_378(T46_, NIM_TRUE));
  		unsureAsgnRef((void**) (&(*r).address), tmp);
  	}
  	goto LA39_;
  	LA44_: ;
  	{
  		tyArray__mrugoXXRZUEeG9bEXo9auBKw T48_;
  		(*r).typ = ((tyEnum_TJSTypeKind__9aFSCXgaSEq2m81RJRMKDeA) 0);
  		nimZeroMem((void*)T48_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  		T48_[0] = tmp;
  		T48_[1] = (*field).loc.r;
  		unsureAsgnRef((void**) (&(*r).res), percent___cgen_7439(T48_, 2));
  	}
  	LA39_: ;
  	(*r).kind = ((tyEnum_TResKind__EoayJcDa8SxU1YPfjU8L9bg) 1);
  }
  N_LIB_PRIVATE N_NIMCALL(NI, getFieldPosition__jsgen_2749)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* f) {
  	NI result;
  	result = (NI)0;
  	switch ((*f).kind) {
  	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 15):
  	{
  		result = ((NI) ((*f)._kind_1.intVal));
  	}
  	break;
  	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
  	{
  		result = (*(*f)._kind_4.sym).position;
  	}
  	break;
  	default:
  	{
  		internalErrorImpl__msgs_1431((*(*p).module).config, (*f).info, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_425), TM__BxLwT0mhrtgTPodf1v3xjg_426);
  	}
  	break;
  	}
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(void, genFieldAddr__jsgen_2753)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w* r) {
  	tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w a;
  	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b;
  	nimZeroMem((void*)(&a), sizeof(tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w));
  	(*r).typ = ((tyEnum_TJSTypeKind__9aFSCXgaSEq2m81RJRMKDeA) 9);
  	{
  		if (!((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 64))) goto LA3_;
  		b = (*n)._kind_6.sons->data[((NI) 0)];
  	}
  	goto LA1_;
  	LA3_: ;
  	{
  		b = n;
  	}
  	LA1_: ;
  	gen__jsgen_766(p, (*b)._kind_6.sons->data[((NI) 0)], (&a));
  	{
  		tyObject_TType__facALICuu8zUj0hjvbTLFg* T8_;
  		NimStringDesc* T11_;
  		NI T12_;
  		NimStringDesc* T13_;
  		T8_ = NIM_NIL;
  		T8_ = skipTypes__ast_3735((*(*b)._kind_6.sons->data[((NI) 0)]).typ, TM__BxLwT0mhrtgTPodf1v3xjg_211);
  		if (!((*T8_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18))) goto LA9_;
  		T11_ = NIM_NIL;
  		T12_ = (NI)0;
  		T12_ = getFieldPosition__jsgen_2749(p, (*b)._kind_6.sons->data[((NI) 1)]);
  		T13_ = NIM_NIL;
  		T13_ = dollar___systemZdollars_3(T12_);
  		T11_ = rawNewString((T13_ ? T13_->Sup.len : 0) + 5);
  appendString(T11_, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_424));
  appendString(T11_, T13_);
  		unsureAsgnRef((void**) (&(*r).res), makeJSString__jsgen_378(T11_, NIM_TRUE));
  	}
  	goto LA6_;
  	LA9_: ;
  	{
  		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* f;
  		NimStringDesc* T23_;
  		{
  			if (!!(((*(*b)._kind_6.sons->data[((NI) 1)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3)))) goto LA17_;
  			internalErrorImpl__msgs_1431((*(*p).module).config, (*(*b)._kind_6.sons->data[((NI) 1)]).info, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_427), TM__BxLwT0mhrtgTPodf1v3xjg_428);
  		}
  		LA17_: ;
  		f = (*(*b)._kind_6.sons->data[((NI) 1)])._kind_4.sym;
  		{
  			if (!((*f).loc.r == ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL))) goto LA21_;
  			asgnRef((void**) (&(*f).loc.r), mangleName__jsgen_308((*p).module, f));
  		}
  		LA21_: ;
  		T23_ = NIM_NIL;
  		T23_ = dollar___ropes_250((*f).loc.r);
  		unsureAsgnRef((void**) (&(*r).res), makeJSString__jsgen_378(T23_, NIM_TRUE));
  	}
  	LA6_: ;
  	{
  		NimStringDesc* argX60gensym566_;
  		if (!!(!((a.typ == ((tyEnum_TJSTypeKind__9aFSCXgaSEq2m81RJRMKDeA) 9))))) goto LA26_;
  		argX60gensym566_ = toFileLineCol__msgs_615(TM__BxLwT0mhrtgTPodf1v3xjg_429);
  		internalErrorImpl__msgs_1431((*(*p).module).config, unknownLineInfo__lineinfos_280, argX60gensym566_, TM__BxLwT0mhrtgTPodf1v3xjg_429);
  	}
  	LA26_: ;
  	unsureAsgnRef((void**) (&(*r).address), a.res);
  	(*r).kind = ((tyEnum_TResKind__EoayJcDa8SxU1YPfjU8L9bg) 1);
  }
  N_LIB_PRIVATE N_NIMCALL(void, genFieldAccess__jsgen_2791)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w* r) {
  	tyObject_TType__facALICuu8zUj0hjvbTLFg* otyp;
  	gen__jsgen_766(p, (*n)._kind_6.sons->data[((NI) 0)], r);
  	(*r).typ = mapType__jsgen_277((*n).typ);
  	otyp = skipTypes__ast_3735((*(*n)._kind_6.sons->data[((NI) 0)]).typ, TM__BxLwT0mhrtgTPodf1v3xjg_211);
  	{
  		tyArray__mrugoXXRZUEeG9bEXo9auBKw T5_;
  		NI T6_;
  		if (!((*otyp).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18))) goto LA3_;
  		nimZeroMem((void*)T5_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  		T5_[0] = (*r).res;
  		T6_ = (NI)0;
  		T6_ = getFieldPosition__jsgen_2749(p, (*n)._kind_6.sons->data[((NI) 1)]);
  		T5_[1] = rope__ropes_115(((NI64) (T6_)));
  		unsureAsgnRef((void**) (&(*r).res), percent___cgen_13309(T5_, 2));
  		{
  			if (!((*r).typ == ((tyEnum_TJSTypeKind__9aFSCXgaSEq2m81RJRMKDeA) 9))) goto LA9_;
  			{
  				NIM_BOOL T13_;
  				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* tmpX60gensym571_;
  				tyArray__mrugoXXRZUEeG9bEXo9auBKw T16_;
  				tyArray__JiWwrsTRC6xqNlGcBthSVA T17_;
  				T13_ = (NIM_BOOL)0;
  				T13_ = needsTemp__jsgen_951(p, (*n)._kind_6.sons->data[((NI) 0)]);
  				if (!T13_) goto LA14_;
  				tmpX60gensym571_ = getTemp__jsgen_838(p, NIM_TRUE);
  				nimZeroMem((void*)T16_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  				T16_[0] = tmpX60gensym571_;
  				T16_[1] = (*r).res;
  				unsureAsgnRef((void**) (&(*r).address), percent___jsgen_2817(T16_, 2));
  				nimZeroMem((void*)T17_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
  				T17_[0] = tmpX60gensym571_;
  				unsureAsgnRef((void**) (&(*r).res), percent___jsgen_2822(T17_, 1));
  				unsureAsgnRef((void**) (&(*r).tmpLoc), tmpX60gensym571_);
  			}
  			goto LA11_;
  			LA14_: ;
  			{
  				tyArray__JiWwrsTRC6xqNlGcBthSVA T19_;
  				tyArray__JiWwrsTRC6xqNlGcBthSVA T20_;
  				nimZeroMem((void*)T19_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
  				T19_[0] = (*r).res;
  				unsureAsgnRef((void**) (&(*r).address), percent___jsgen_2827(T19_, 1));
  				nimZeroMem((void*)T20_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
  				T20_[0] = (*r).res;
  				unsureAsgnRef((void**) (&(*r).res), percent___jsgen_2822(T20_, 1));
  			}
  			LA11_: ;
  		}
  		LA9_: ;
  	}
  	goto LA1_;
  	LA3_: ;
  	{
  		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* f;
  		tyArray__mrugoXXRZUEeG9bEXo9auBKw T30_;
  		{
  			if (!!(((*(*n)._kind_6.sons->data[((NI) 1)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3)))) goto LA24_;
  			internalErrorImpl__msgs_1431((*(*p).module).config, (*(*n)._kind_6.sons->data[((NI) 1)]).info, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_430), TM__BxLwT0mhrtgTPodf1v3xjg_431);
  		}
  		LA24_: ;
  		f = (*(*n)._kind_6.sons->data[((NI) 1)])._kind_4.sym;
  		{
  			if (!((*f).loc.r == ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL))) goto LA28_;
  			asgnRef((void**) (&(*f).loc.r), mangleName__jsgen_308((*p).module, f));
  		}
  		LA28_: ;
  		nimZeroMem((void*)T30_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  		T30_[0] = (*r).res;
  		T30_[1] = (*f).loc.r;
  		unsureAsgnRef((void**) (&(*r).res), percent___cgen_7439(T30_, 2));
  		{
  			if (!((*r).typ == ((tyEnum_TJSTypeKind__9aFSCXgaSEq2m81RJRMKDeA) 9))) goto LA33_;
  			{
  				NIM_BOOL T37_;
  				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* tmpX60gensym580_;
  				tyArray__mrugoXXRZUEeG9bEXo9auBKw T40_;
  				tyArray__JiWwrsTRC6xqNlGcBthSVA T41_;
  				T37_ = (NIM_BOOL)0;
  				T37_ = needsTemp__jsgen_951(p, (*n)._kind_6.sons->data[((NI) 1)]);
  				if (!T37_) goto LA38_;
  				tmpX60gensym580_ = getTemp__jsgen_838(p, NIM_TRUE);
  				nimZeroMem((void*)T40_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  				T40_[0] = tmpX60gensym580_;
  				T40_[1] = (*r).res;
  				unsureAsgnRef((void**) (&(*r).address), percent___jsgen_2817(T40_, 2));
  				nimZeroMem((void*)T41_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
  				T41_[0] = tmpX60gensym580_;
  				unsureAsgnRef((void**) (&(*r).res), percent___jsgen_2822(T41_, 1));
  				unsureAsgnRef((void**) (&(*r).tmpLoc), tmpX60gensym580_);
  			}
  			goto LA35_;
  			LA38_: ;
  			{
  				tyArray__JiWwrsTRC6xqNlGcBthSVA T43_;
  				tyArray__JiWwrsTRC6xqNlGcBthSVA T44_;
  				nimZeroMem((void*)T43_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
  				T43_[0] = (*r).res;
  				unsureAsgnRef((void**) (&(*r).address), percent___jsgen_2827(T43_, 1));
  				nimZeroMem((void*)T44_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
  				T44_[0] = (*r).res;
  				unsureAsgnRef((void**) (&(*r).res), percent___jsgen_2822(T44_, 1));
  			}
  			LA35_: ;
  		}
  		LA33_: ;
  	}
  	LA1_: ;
  	(*r).kind = ((tyEnum_TResKind__EoayJcDa8SxU1YPfjU8L9bg) 1);
  }
  N_LIB_PRIVATE N_NIMCALL(void, genArrayAddr__jsgen_2973)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w* r) {
  	tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w a;
  	tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w b;
  	tyObject_Int128__9a9axPfb75jdWY25AamJewkA first;
  	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* m;
  	tyTuple__nsNHL3sm0TZE9bootw2pEXw T6_;
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* x;
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* tmp;
  	tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
  	nimZeroMem((void*)(&a), sizeof(tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w));
  	nimZeroMem((void*)(&b), sizeof(tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w));
  	nimZeroMem((void*)(&first), sizeof(tyObject_Int128__9a9axPfb75jdWY25AamJewkA));
  	(*r).typ = ((tyEnum_TJSTypeKind__9aFSCXgaSEq2m81RJRMKDeA) 9);
  	{
  		if (!((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 64))) goto LA3_;
  		m = (*n)._kind_6.sons->data[((NI) 0)];
  	}
  	goto LA1_;
  	LA3_: ;
  	{
  		m = n;
  	}
  	LA1_: ;
  	gen__jsgen_766(p, (*m)._kind_6.sons->data[((NI) 0)], (&a));
  	gen__jsgen_766(p, (*m)._kind_6.sons->data[((NI) 1)], (&b));
  	nimZeroMem((void*)(&T6_), sizeof(tyTuple__nsNHL3sm0TZE9bootw2pEXw));
  	maybeMakeTemp__jsgen_964(p, (*m)._kind_6.sons->data[((NI) 0)], a, (&T6_));
  	x = NIM_NIL;
  	x = T6_.Field0;
  	tmp = NIM_NIL;
  	tmp = T6_.Field1;
  	unsureAsgnRef((void**) (&(*r).address), x);
  	typ = skipTypes__ast_3735((*(*m)._kind_6.sons->data[((NI) 0)]).typ, TM__BxLwT0mhrtgTPodf1v3xjg_334);
  	{
  		if (!((*typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 16))) goto LA9_;
  		first = firstOrd__types_1353((*(*p).module).config, (*typ).sons->data[((NI) 0)]);
  	}
  	LA9_: ;
  	{
  		if (!(((*p).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 4))&31U)))!=0)) goto LA13_;
  		useMagic__jsgen_779(p, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_335));
  		{
  			NIM_BOOL T17_;
  			tyArray__mrugoXXRZUEeG9bEXo9auBKw T20_;
  			T17_ = (NIM_BOOL)0;
  			T17_ = eqeq___int495056_759(first, IL64(0));
  			if (!T17_) goto LA18_;
  			nimZeroMem((void*)T20_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  			T20_[0] = b.res;
  			T20_[1] = tmp;
  			unsureAsgnRef((void**) (&(*r).res), percent___jsgen_1056(T20_, 2));
  		}
  		goto LA15_;
  		LA18_: ;
  		{
  			tyArray__wqYjTJU9ab2ZgEFMaQc3vNA T22_;
  			nimZeroMem((void*)T22_, sizeof(tyArray__wqYjTJU9ab2ZgEFMaQc3vNA));
  			T22_[0] = b.res;
  			T22_[1] = rope__jsgen_382(first);
  			T22_[2] = tmp;
  			unsureAsgnRef((void**) (&(*r).res), percent___jsgen_1061(T22_, 3));
  		}
  		LA15_: ;
  	}
  	goto LA11_;
  	LA13_: ;
  	{
  		NIM_BOOL T24_;
  		tyArray__mrugoXXRZUEeG9bEXo9auBKw T27_;
  		T24_ = (NIM_BOOL)0;
  		T24_ = eqeq___int495056_759(first, IL64(0));
  		if (!!(T24_)) goto LA25_;
  		nimZeroMem((void*)T27_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  		T27_[0] = b.res;
  		T27_[1] = rope__jsgen_382(first);
  		unsureAsgnRef((void**) (&(*r).res), percent___jsgen_1066(T27_, 2));
  	}
  	goto LA11_;
  	LA25_: ;
  	{
  		unsureAsgnRef((void**) (&(*r).res), b.res);
  	}
  	LA11_: ;
  	(*r).kind = ((tyEnum_TResKind__EoayJcDa8SxU1YPfjU8L9bg) 1);
  }
  N_LIB_PRIVATE N_NIMCALL(void, genAddr__jsgen_2875)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w* r) {
  	switch ((*(*n)._kind_6.sons->data[((NI) 0)]).kind) {
  	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
  	{
  		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
  		s = (*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym;
  		{
  			if (!((*s).loc.r == ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL))) goto LA4_;
  			internalErrorImpl__msgs_1431((*(*p).module).config, (*n).info, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_410), TM__BxLwT0mhrtgTPodf1v3xjg_411);
  		}
  		LA4_: ;
  		switch ((*s).kind) {
  		case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3):
  		{
  			unsureAsgnRef((void**) (&(*r).res), (*s).loc.r);
  			unsureAsgnRef((void**) (&(*r).address), ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL));
  			(*r).typ = ((tyEnum_TJSTypeKind__9aFSCXgaSEq2m81RJRMKDeA) 0);
  		}
  		break;
  		case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 8):
  		case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 9):
  		case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 11):
  		{
  			tyEnum_TJSTypeKind__9aFSCXgaSEq2m81RJRMKDeA jsType;
  			(*r).kind = ((tyEnum_TResKind__EoayJcDa8SxU1YPfjU8L9bg) 1);
  			jsType = mapType__jsgen_304(p, (*n).typ);
  			{
  				if (!(jsType == ((tyEnum_TJSTypeKind__9aFSCXgaSEq2m81RJRMKDeA) 8))) goto LA10_;
  				(*r).typ = ((tyEnum_TJSTypeKind__9aFSCXgaSEq2m81RJRMKDeA) 0);
  				{
  					tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* vX60gensym630_;
  					NIM_BOOL T14_;
  					NIM_BOOL T15_;
  					vX60gensym630_ = s;
  					T14_ = (NIM_BOOL)0;
  					T15_ = (NIM_BOOL)0;
  					T15_ = !(((131080 & (*vX60gensym630_).flags) == 0));
  					if (!(T15_)) goto LA16_;
  					T15_ = ((192 & (*vX60gensym630_).flags) == 0);
  					LA16_: ;
  					T14_ = T15_;
  					if (!(T14_)) goto LA17_;
  					T14_ = !(((128544 &((NU32)1<<((NU)((*vX60gensym630_).kind)&31U)))!=0));
  					LA17_: ;
  					if (!T14_) goto LA18_;
  					unsureAsgnRef((void**) (&(*r).res), amp___ropes_140((*s).loc.r, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_412)));
  				}
  				goto LA12_;
  				LA18_: ;
  				{
  					unsureAsgnRef((void**) (&(*r).res), (*s).loc.r);
  				}
  				LA12_: ;
  				unsureAsgnRef((void**) (&(*r).address), ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL));
  			}
  			goto LA8_;
  			LA10_: ;
  			{
  				NIM_BOOL T22_;
  				T22_ = (NIM_BOOL)0;
  				T22_ = !(((131080 & (*s).flags) == 0));
  				if (T22_) goto LA23_;
  				T22_ = (jsType == ((tyEnum_TJSTypeKind__9aFSCXgaSEq2m81RJRMKDeA) 9));
  				LA23_: ;
  				if (!T22_) goto LA24_;
  				(*r).typ = ((tyEnum_TJSTypeKind__9aFSCXgaSEq2m81RJRMKDeA) 9);
  				unsureAsgnRef((void**) (&(*r).address), (*s).loc.r);
  				unsureAsgnRef((void**) (&(*r).res), rope__ropes_109(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_105)));
  			}
  			goto LA8_;
  			LA24_: ;
  			{
  				gen__jsgen_766(p, (*n)._kind_6.sons->data[((NI) 0)], r);
  			}
  			LA8_: ;
  		}
  		break;
  		default:
  		{
  			tyTuple__Fb1Z8PVtzpSjrvQ67oA88w T28_;
  			NimStringDesc* T29_;
  			nimZeroMem((void*)(&T28_), sizeof(tyTuple__Fb1Z8PVtzpSjrvQ67oA88w));
  			T28_.Field0 = copyString(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_414));
  			T28_.Field1 = (*s).kind;
  			T29_ = NIM_NIL;
  			T29_ = dollar___jsgen_3124(T28_);
  			internalErrorImpl__msgs_1431((*(*p).module).config, (*n).info, T29_, TM__BxLwT0mhrtgTPodf1v3xjg_415);
  		}
  		break;
  		}
  	}
  	break;
  	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 46):
  	{
  		genCheckedFieldOp__jsgen_2879(p, (*n)._kind_6.sons->data[((NI) 0)], (*n).typ, r);
  	}
  	break;
  	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 45):
  	{
  		{
  			tyEnum_TJSTypeKind__9aFSCXgaSEq2m81RJRMKDeA T34_;
  			T34_ = (tyEnum_TJSTypeKind__9aFSCXgaSEq2m81RJRMKDeA)0;
  			T34_ = mapType__jsgen_304(p, (*n).typ);
  			if (!(T34_ == ((tyEnum_TJSTypeKind__9aFSCXgaSEq2m81RJRMKDeA) 9))) goto LA35_;
  			genFieldAddr__jsgen_2753(p, (*n)._kind_6.sons->data[((NI) 0)], r);
  		}
  		goto LA32_;
  		LA35_: ;
  		{
  			genFieldAccess__jsgen_2791(p, (*n)._kind_6.sons->data[((NI) 0)], r);
  		}
  		LA32_: ;
  	}
  	break;
  	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 42):
  	{
  		tyObject_TType__facALICuu8zUj0hjvbTLFg* ty;
  		ty = skipTypes__ast_3735((*(*n)._kind_6.sons->data[((NI) 0)]).typ, TM__BxLwT0mhrtgTPodf1v3xjg_211);
  		{
  			if (!((*ty).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17) || (*ty).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 16) || (*ty).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18) || (*ty).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 27) || (*ty).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 19) || (*ty).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 48))) goto LA41_;
  			gen__jsgen_766(p, (*n)._kind_6.sons->data[((NI) 0)], r);
  		}
  		goto LA39_;
  		LA41_: ;
  		{
  			tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kindOfIndexedExpr;
  			tyObject_TType__facALICuu8zUj0hjvbTLFg* T44_;
  			T44_ = NIM_NIL;
  			T44_ = skipTypes__ast_3735((*(*(*n)._kind_6.sons->data[((NI) 0)])._kind_6.sons->data[((NI) 0)]).typ, TM__BxLwT0mhrtgTPodf1v3xjg_211);
  			kindOfIndexedExpr = (*T44_).kind;
  			switch (kindOfIndexedExpr) {
  			case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 16):
  			case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 27):
  			case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 24):
  			case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 28):
  			case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 29):
  			case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 48):
  			{
  				genArrayAddr__jsgen_2973(p, (*n)._kind_6.sons->data[((NI) 0)], r);
  			}
  			break;
  			case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18):
  			{
  				genFieldAddr__jsgen_2753(p, (*n)._kind_6.sons->data[((NI) 0)], r);
  			}
  			break;
  			default:
  			{
  				NimStringDesc* T48_;
  				T48_ = NIM_NIL;
  				T48_ = rawNewString((reprEnum((NI)kindOfIndexedExpr, (&NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_)) ? reprEnum((NI)kindOfIndexedExpr, (&NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_))->Sup.len : 0) + 21);
  appendString(T48_, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_432));
  appendString(T48_, reprEnum((NI)kindOfIndexedExpr, (&NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_)));
  appendChar(T48_, 41);
  				internalErrorImpl__msgs_1431((*(*p).module).config, (*(*n)._kind_6.sons->data[((NI) 0)]).info, T48_, TM__BxLwT0mhrtgTPodf1v3xjg_433);
  			}
  			break;
  			}
  		}
  		LA39_: ;
  	}
  	break;
  	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 66):
  	{
  		gen__jsgen_766(p, (*n)._kind_6.sons->data[((NI) 0)], r);
  	}
  	break;
  	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 65):
  	{
  		gen__jsgen_766(p, (*n)._kind_6.sons->data[((NI) 0)], r);
  	}
  	break;
  	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 64):
  	{
  		gen__jsgen_766(p, (*n)._kind_6.sons->data[((NI) 0)], r);
  	}
  	break;
  	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126):
  	{
  		{
  			NI T55_;
  			T55_ = (NI)0;
  			T55_ = len__ast_3198(n);
  			if (!(T55_ == ((NI) 1))) goto LA56_;
  			gen__jsgen_766(p, (*n)._kind_6.sons->data[((NI) 0)], r);
  		}
  		goto LA53_;
  		LA56_: ;
  		{
  			internalErrorImpl__msgs_1431((*(*p).module).config, (*(*n)._kind_6.sons->data[((NI) 0)]).info, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_434), TM__BxLwT0mhrtgTPodf1v3xjg_435);
  		}
  		LA53_: ;
  	}
  	break;
  	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 26) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 32):
  	{
  		{
  			if (!((*(*(*n)._kind_6.sons->data[((NI) 0)]).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 27))) goto LA62_;
  			gen__jsgen_766(p, (*n)._kind_6.sons->data[((NI) 0)], r);
  		}
  		goto LA60_;
  		LA62_: ;
  		{
  			NimStringDesc* T65_;
  			T65_ = NIM_NIL;
  			T65_ = rawNewString((reprEnum((NI)(*(*n)._kind_6.sons->data[((NI) 0)]).kind, (&NTItnodekind__G4E4Gxe7oI2Cm03rkiOzQw_)) ? reprEnum((NI)(*(*n)._kind_6.sons->data[((NI) 0)]).kind, (&NTItnodekind__G4E4Gxe7oI2Cm03rkiOzQw_))->Sup.len : 0) + 9);
  appendString(T65_, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_436));
  appendString(T65_, reprEnum((NI)(*(*n)._kind_6.sons->data[((NI) 0)]).kind, (&NTItnodekind__G4E4Gxe7oI2Cm03rkiOzQw_)));
  			internalErrorImpl__msgs_1431((*(*p).module).config, (*(*n)._kind_6.sons->data[((NI) 0)]).info, T65_, TM__BxLwT0mhrtgTPodf1v3xjg_437);
  		}
  		LA60_: ;
  	}
  	break;
  	default:
  	{
  		NimStringDesc* T67_;
  		T67_ = NIM_NIL;
  		T67_ = rawNewString((reprEnum((NI)(*(*n)._kind_6.sons->data[((NI) 0)]).kind, (&NTItnodekind__G4E4Gxe7oI2Cm03rkiOzQw_)) ? reprEnum((NI)(*(*n)._kind_6.sons->data[((NI) 0)]).kind, (&NTItnodekind__G4E4Gxe7oI2Cm03rkiOzQw_))->Sup.len : 0) + 9);
  appendString(T67_, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_436));
  appendString(T67_, reprEnum((NI)(*(*n)._kind_6.sons->data[((NI) 0)]).kind, (&NTItnodekind__G4E4Gxe7oI2Cm03rkiOzQw_)));
  		internalErrorImpl__msgs_1431((*(*p).module).config, (*(*n)._kind_6.sons->data[((NI) 0)]).info, T67_, TM__BxLwT0mhrtgTPodf1v3xjg_438);
  	}
  	break;
  	}
  }
  N_LIB_PRIVATE N_NIMCALL(void, genDeref__jsgen_3452)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w* r) {
  	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* it;
  	tyEnum_TJSTypeKind__9aFSCXgaSEq2m81RJRMKDeA t;
  	it = (*n)._kind_6.sons->data[((NI) 0)];
  	t = mapType__jsgen_304(p, (*it).typ);
  	{
  		if (!(t == ((tyEnum_TJSTypeKind__9aFSCXgaSEq2m81RJRMKDeA) 8))) goto LA3_;
  		gen__jsgen_766(p, it, r);
  	}
  	goto LA1_;
  	LA3_: ;
  	{
  		tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w a;
  		nimZeroMem((void*)(&a), sizeof(tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w));
  		gen__jsgen_766(p, it, (&a));
  		(*r).kind = a.kind;
  		(*r).typ = mapType__jsgen_304(p, (*n).typ);
  		{
  			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* tmp;
  			tyArray__mrugoXXRZUEeG9bEXo9auBKw T10_;
  			tyArray__JiWwrsTRC6xqNlGcBthSVA T11_;
  			if (!((*r).typ == ((tyEnum_TJSTypeKind__9aFSCXgaSEq2m81RJRMKDeA) 9))) goto LA8_;
  			tmp = getTemp__jsgen_838(p, NIM_TRUE);
  			nimZeroMem((void*)T10_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  			T10_[0] = tmp;
  			T10_[1] = rdLoc__jsgen_188(a);
  			unsureAsgnRef((void**) (&(*r).address), percent___jsgen_2817(T10_, 2));
  			nimZeroMem((void*)T11_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
  			T11_[0] = tmp;
  			unsureAsgnRef((void**) (&(*r).res), percent___jsgen_2822(T11_, 1));
  			unsureAsgnRef((void**) (&(*r).tmpLoc), tmp);
  		}
  		goto LA6_;
  		LA8_: ;
  		{
  			if (!(a.typ == ((tyEnum_TJSTypeKind__9aFSCXgaSEq2m81RJRMKDeA) 9))) goto LA13_;
  			{
  				if (!!((a.tmpLoc == ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL)))) goto LA17_;
  				unsureAsgnRef((void**) (&(*r).tmpLoc), a.tmpLoc);
  			}
  			LA17_: ;
  			unsureAsgnRef((void**) (&(*r).res), rdLoc__jsgen_188(a));
  		}
  		goto LA6_;
  		LA13_: ;
  		{
  			internalErrorImpl__msgs_1431((*(*p).module).config, (*n).info, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_439), TM__BxLwT0mhrtgTPodf1v3xjg_440);
  		}
  		LA6_: ;
  	}
  	LA1_: ;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_3038)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_444), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(void, genArrayAccess__jsgen_3014)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w* r) {
  	tyObject_TType__facALICuu8zUj0hjvbTLFg* ty;
  	ty = skipTypes__ast_3735((*(*n)._kind_6.sons->data[((NI) 0)]).typ, TM__BxLwT0mhrtgTPodf1v3xjg_211);
  	{
  		tyObject_TType__facALICuu8zUj0hjvbTLFg* T5_;
  		if (!((*ty).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22) || (*ty).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21) || (*ty).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47) || (*ty).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 45))) goto LA3_;
  		T5_ = NIM_NIL;
  		T5_ = lastSon__ast_3743(ty);
  		ty = skipTypes__ast_3735(T5_, TM__BxLwT0mhrtgTPodf1v3xjg_211);
  	}
  	LA3_: ;
  	switch ((*ty).kind) {
  	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 16):
  	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 27):
  	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 24):
  	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 28):
  	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 29):
  	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 48):
  	{
  		genArrayAddr__jsgen_2973(p, n, r);
  	}
  	break;
  	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18):
  	{
  		genFieldAddr__jsgen_2753(p, n, r);
  	}
  	break;
  	default:
  	{
  		NimStringDesc* T9_;
  		T9_ = NIM_NIL;
  		T9_ = rawNewString((reprEnum((NI)(*ty).kind, (&NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_)) ? reprEnum((NI)(*ty).kind, (&NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_))->Sup.len : 0) + 21);
  appendString(T9_, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_432));
  appendString(T9_, reprEnum((NI)(*ty).kind, (&NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_)));
  appendChar(T9_, 41);
  		internalErrorImpl__msgs_1431((*(*p).module).config, (*n).info, T9_, TM__BxLwT0mhrtgTPodf1v3xjg_441);
  	}
  	break;
  	}
  	(*r).typ = mapType__jsgen_277((*n).typ);
  	{
  		if (!((*r).res == ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL))) goto LA12_;
  		internalErrorImpl__msgs_1431((*(*p).module).config, (*n).info, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_442), TM__BxLwT0mhrtgTPodf1v3xjg_443);
  	}
  	LA12_: ;
  	{
  		tyArray__mrugoXXRZUEeG9bEXo9auBKw T18_;
  		if (!((*ty).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 29))) goto LA16_;
  		nimZeroMem((void*)T18_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  		T18_[0] = (*r).address;
  		T18_[1] = (*r).res;
  		unsureAsgnRef((void**) (&(*r).res), percent___jsgen_3038(T18_, 2));
  	}
  	goto LA14_;
  	LA16_: ;
  	{
  		if (!((*r).typ == ((tyEnum_TJSTypeKind__9aFSCXgaSEq2m81RJRMKDeA) 9))) goto LA20_;
  		{
  			NIM_BOOL T24_;
  			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* tmp;
  			tyArray__mrugoXXRZUEeG9bEXo9auBKw T27_;
  			tyArray__JiWwrsTRC6xqNlGcBthSVA T28_;
  			T24_ = (NIM_BOOL)0;
  			T24_ = needsTemp__jsgen_951(p, (*n)._kind_6.sons->data[((NI) 0)]);
  			if (!T24_) goto LA25_;
  			tmp = getTemp__jsgen_838(p, NIM_TRUE);
  			nimZeroMem((void*)T27_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  			T27_[0] = tmp;
  			T27_[1] = rdLoc__jsgen_188((*r));
  			unsureAsgnRef((void**) (&(*r).address), percent___jsgen_2817(T27_, 2));
  			nimZeroMem((void*)T28_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
  			T28_[0] = tmp;
  			unsureAsgnRef((void**) (&(*r).res), percent___jsgen_2822(T28_, 1));
  			unsureAsgnRef((void**) (&(*r).tmpLoc), tmp);
  		}
  		goto LA22_;
  		LA25_: ;
  		{
  			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* x;
  			tyArray__JiWwrsTRC6xqNlGcBthSVA T30_;
  			tyArray__JiWwrsTRC6xqNlGcBthSVA T31_;
  			x = rdLoc__jsgen_188((*r));
  			nimZeroMem((void*)T30_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
  			T30_[0] = x;
  			unsureAsgnRef((void**) (&(*r).address), percent___jsgen_2827(T30_, 1));
  			nimZeroMem((void*)T31_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
  			T31_[0] = x;
  			unsureAsgnRef((void**) (&(*r).res), percent___jsgen_2822(T31_, 1));
  		}
  		LA22_: ;
  	}
  	goto LA14_;
  	LA20_: ;
  	{
  		tyArray__mrugoXXRZUEeG9bEXo9auBKw T33_;
  		nimZeroMem((void*)T33_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  		T33_[0] = (*r).address;
  		T33_[1] = (*r).res;
  		unsureAsgnRef((void**) (&(*r).res), percent___cgen_6775(T33_, 2));
  	}
  	LA14_: ;
  	(*r).kind = ((tyEnum_TResKind__EoayJcDa8SxU1YPfjU8L9bg) 1);
  }
  N_LIB_PRIVATE N_NIMCALL(void, upConv__jsgen_5730)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w* r) {
  	gen__jsgen_766(p, (*n)._kind_6.sons->data[((NI) 0)], r);
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_6324)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_445), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_6331)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_449), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_6348)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_67), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(void, genCast__jsgen_6047)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w* r) {
  	tyObject_TType__facALICuu8zUj0hjvbTLFg* dest;
  	tyObject_TType__facALICuu8zUj0hjvbTLFg* src;
  	NIM_BOOL toInt;
  	tyObject_HSlice__HjDAjiFsTWGmlZ9cd8nEusA T5_;
  	NIM_BOOL toUint;
  	tyObject_HSlice__HjDAjiFsTWGmlZ9cd8nEusA T6_;
  	NIM_BOOL fromInt;
  	tyObject_HSlice__HjDAjiFsTWGmlZ9cd8nEusA T7_;
  	NIM_BOOL fromUint;
  	tyObject_HSlice__HjDAjiFsTWGmlZ9cd8nEusA T8_;
  {	dest = skipTypes__ast_3735((*n).typ, TM__BxLwT0mhrtgTPodf1v3xjg_211);
  	src = skipTypes__ast_3735((*(*n)._kind_6.sons->data[((NI) 1)]).typ, TM__BxLwT0mhrtgTPodf1v3xjg_211);
  	gen__jsgen_766(p, (*n)._kind_6.sons->data[((NI) 1)], r);
  	{
  		if (!((*dest).kind == (*src).kind)) goto LA3_;
  		goto BeforeRet_;
  	}
  	LA3_: ;
  	T5_ = dotdot___semfold_916(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31), ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 34));
  	toInt = contains__semfold_938(T5_, (*dest).kind);
  	T6_ = dotdot___semfold_916(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 40), ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 43));
  	toUint = contains__semfold_938(T6_, (*dest).kind);
  	T7_ = dotdot___semfold_916(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31), ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 34));
  	fromInt = contains__semfold_938(T7_, (*src).kind);
  	T8_ = dotdot___semfold_916(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 40), ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 43));
  	fromUint = contains__semfold_938(T8_, (*src).kind);
  	{
  		NIM_BOOL T11_;
  		NIM_BOOL T13_;
  		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* trimmer;
  		tyArray__mrugoXXRZUEeG9bEXo9auBKw T17_;
  		T11_ = (NIM_BOOL)0;
  		T11_ = toUint;
  		if (!(T11_)) goto LA12_;
  		T13_ = (NIM_BOOL)0;
  		T13_ = fromInt;
  		if (T13_) goto LA14_;
  		T13_ = fromUint;
  		LA14_: ;
  		T11_ = T13_;
  		LA12_: ;
  		if (!T11_) goto LA15_;
  		trimmer = unsignedTrimmerJS__jsgen_1101((*dest).size);
  		nimZeroMem((void*)T17_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  		T17_[0] = (*r).res;
  		T17_[1] = trimmer;
  		unsureAsgnRef((void**) (&(*r).res), percent___jsgen_5711(T17_, 2));
  	}
  	goto LA9_;
  	LA15_: ;
  	{
  		if (!toInt) goto LA19_;
  		{
  			if (!fromInt) goto LA23_;
  			goto BeforeRet_;
  		}
  		goto LA21_;
  		LA23_: ;
  		{
  			if (!fromUint) goto LA26_;
  			{
  				NIM_BOOL T30_;
  				tyArray__JiWwrsTRC6xqNlGcBthSVA T34_;
  				T30_ = (NIM_BOOL)0;
  				T30_ = ((*src).size == IL64(4));
  				if (!(T30_)) goto LA31_;
  				T30_ = ((*dest).size == IL64(4));
  				LA31_: ;
  				if (!T30_) goto LA32_;
  				nimZeroMem((void*)T34_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
  				T34_[0] = (*r).res;
  				unsureAsgnRef((void**) (&(*r).res), percent___jsgen_6324(T34_, 1));
  			}
  			goto LA28_;
  			LA32_: ;
  			{
  				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* trimmer_2;
  				NimStringDesc* minuend;
  				tyArray__wqYjTJU9ab2ZgEFMaQc3vNA T40_;
  				trimmer_2 = unsignedTrimmerJS__jsgen_1101((*dest).size);
  				switch ((*dest).size) {
  				case ((NI) 1):
  				{
  					minuend = copyString(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_446));
  				}
  				break;
  				case ((NI) 2):
  				{
  					minuend = copyString(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_447));
  				}
  				break;
  				case ((NI) 4):
  				{
  					minuend = copyString(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_448));
  				}
  				break;
  				default:
  				{
  					minuend = ((NimStringDesc*) NIM_NIL);
  				}
  				break;
  				}
  				nimZeroMem((void*)T40_, sizeof(tyArray__wqYjTJU9ab2ZgEFMaQc3vNA));
  				T40_[0] = rope__ropes_109(minuend);
  				T40_[1] = (*r).res;
  				T40_[2] = trimmer_2;
  				unsureAsgnRef((void**) (&(*r).res), percent___jsgen_6331(T40_, 3));
  			}
  			LA28_: ;
  		}
  		goto LA21_;
  		LA26_: ;
  		LA21_: ;
  	}
  	goto LA9_;
  	LA19_: ;
  	{
  		NIM_BOOL T42_;
  		NIM_BOOL T43_;
  		tyEnum_TJSTypeKind__9aFSCXgaSEq2m81RJRMKDeA T45_;
  		tyArray__qTjAvTvKF9anytN1At69aJMQ T49_;
  		T42_ = (NIM_BOOL)0;
  		T43_ = (NIM_BOOL)0;
  		T43_ = ((*src).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21));
  		if (!(T43_)) goto LA44_;
  		T45_ = (tyEnum_TJSTypeKind__9aFSCXgaSEq2m81RJRMKDeA)0;
  		T45_ = mapType__jsgen_304(p, src);
  		T43_ = (T45_ == ((tyEnum_TJSTypeKind__9aFSCXgaSEq2m81RJRMKDeA) 8));
  		LA44_: ;
  		T42_ = T43_;
  		if (!(T42_)) goto LA46_;
  		T42_ = ((*dest).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 26));
  		LA46_: ;
  		if (!T42_) goto LA47_;
  		unsureAsgnRef((void**) (&(*r).address), (*r).res);
  		nimZeroMem((void*)T49_, sizeof(tyArray__qTjAvTvKF9anytN1At69aJMQ));
  		unsureAsgnRef((void**) (&(*r).res), percent___jsgen_6348(T49_, 0));
  		(*r).typ = ((tyEnum_TJSTypeKind__9aFSCXgaSEq2m81RJRMKDeA) 9);
  	}
  	goto LA9_;
  	LA47_: ;
  	{
  		NIM_BOOL T51_;
  		NIM_BOOL T52_;
  		tyEnum_TJSTypeKind__9aFSCXgaSEq2m81RJRMKDeA T54_;
  		T51_ = (NIM_BOOL)0;
  		T52_ = (NIM_BOOL)0;
  		T52_ = ((*dest).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21));
  		if (!(T52_)) goto LA53_;
  		T54_ = (tyEnum_TJSTypeKind__9aFSCXgaSEq2m81RJRMKDeA)0;
  		T54_ = mapType__jsgen_304(p, dest);
  		T52_ = (T54_ == ((tyEnum_TJSTypeKind__9aFSCXgaSEq2m81RJRMKDeA) 8));
  		LA53_: ;
  		T51_ = T52_;
  		if (!(T51_)) goto LA55_;
  		T51_ = ((*src).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 26));
  		LA55_: ;
  		if (!T51_) goto LA56_;
  		unsureAsgnRef((void**) (&(*r).res), (*r).address);
  		(*r).typ = ((tyEnum_TJSTypeKind__9aFSCXgaSEq2m81RJRMKDeA) 8);
  	}
  	goto LA9_;
  	LA56_: ;
  	LA9_: ;
  	}BeforeRet_: ;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_5757)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_451), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(void, genRangeChck__jsgen_5735)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w* r, NimStringDesc* magic) {
  	tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w a;
  	tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w b;
  	nimZeroMem((void*)(&a), sizeof(tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w));
  	nimZeroMem((void*)(&b), sizeof(tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w));
  	gen__jsgen_766(p, (*n)._kind_6.sons->data[((NI) 0)], r);
  	{
  		NIM_BOOL T3_;
  		NIM_BOOL T5_;
  		tyObject_TType__facALICuu8zUj0hjvbTLFg* T6_;
  		T3_ = (NIM_BOOL)0;
  		T3_ = !((((*p).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 3))&31U)))!=0));
  		if (T3_) goto LA4_;
  		T5_ = (NIM_BOOL)0;
  		T6_ = NIM_NIL;
  		T6_ = skipTypes__ast_3735((*n).typ, TM__BxLwT0mhrtgTPodf1v3xjg_296);
  		T5_ = ((*T6_).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 40) && (*T6_).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 44));
  		if (!(T5_)) goto LA7_;
  		T5_ = !((((*(*(*p).module).config).legacyFeatures &((NU8)1<<((NU)(((tyEnum_LegacyFeature__hGCD9aOrxPvpXn4Ne6W6OVA) 1))&7U)))!=0));
  		LA7_: ;
  		T3_ = T5_;
  		LA4_: ;
  		if (!T3_) goto LA8_;
  	}
  	goto LA1_;
  	LA8_: ;
  	{
  		tyArray__wqYjTJU9ab2ZgEFMaQc3vNA T11_;
  		gen__jsgen_766(p, (*n)._kind_6.sons->data[((NI) 1)], (&a));
  		gen__jsgen_766(p, (*n)._kind_6.sons->data[((NI) 2)], (&b));
  		useMagic__jsgen_779(p, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_450));
  		nimZeroMem((void*)T11_, sizeof(tyArray__wqYjTJU9ab2ZgEFMaQc3vNA));
  		T11_[0] = (*r).res;
  		T11_[1] = a.res;
  		T11_[2] = b.res;
  		unsureAsgnRef((void**) (&(*r).res), percent___jsgen_5757(T11_, 3));
  		(*r).kind = ((tyEnum_TResKind__EoayJcDa8SxU1YPfjU8L9bg) 1);
  	}
  	LA1_: ;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_5778)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_456), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(void, convStrToCStr__jsgen_5762)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w* r) {
  	{
  		if (!((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 72))) goto LA3_;
  		gen__jsgen_766(p, (*(*n)._kind_6.sons->data[((NI) 0)])._kind_6.sons->data[((NI) 0)], r);
  	}
  	goto LA1_;
  	LA3_: ;
  	{
  		tyArray__JiWwrsTRC6xqNlGcBthSVA T10_;
  		gen__jsgen_766(p, (*n)._kind_6.sons->data[((NI) 0)], r);
  		{
  			if (!((*r).res == ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL))) goto LA8_;
  			internalErrorImpl__msgs_1431((*(*p).module).config, (*n).info, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_454), TM__BxLwT0mhrtgTPodf1v3xjg_455);
  		}
  		LA8_: ;
  		useMagic__jsgen_779(p, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_373));
  		nimZeroMem((void*)T10_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
  		T10_[0] = (*r).res;
  		unsureAsgnRef((void**) (&(*r).res), percent___jsgen_5778(T10_, 1));
  		(*r).kind = ((tyEnum_TResKind__EoayJcDa8SxU1YPfjU8L9bg) 1);
  	}
  	LA1_: ;
  }
  N_LIB_PRIVATE N_NIMCALL(void, convCStrToStr__jsgen_5783)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w* r) {
  	{
  		if (!((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 71))) goto LA3_;
  		gen__jsgen_766(p, (*(*n)._kind_6.sons->data[((NI) 0)])._kind_6.sons->data[((NI) 0)], r);
  	}
  	goto LA1_;
  	LA3_: ;
  	{
  		tyArray__JiWwrsTRC6xqNlGcBthSVA T10_;
  		gen__jsgen_766(p, (*n)._kind_6.sons->data[((NI) 0)], r);
  		{
  			if (!((*r).res == ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL))) goto LA8_;
  			internalErrorImpl__msgs_1431((*(*p).module).config, (*n).info, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_457), TM__BxLwT0mhrtgTPodf1v3xjg_458);
  		}
  		LA8_: ;
  		useMagic__jsgen_779(p, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_249));
  		nimZeroMem((void*)T10_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
  		T10_[0] = (*r).res;
  		unsureAsgnRef((void**) (&(*r).res), percent___jsgen_1684(T10_, 1));
  		(*r).kind = ((tyEnum_TResKind__EoayJcDa8SxU1YPfjU8L9bg) 1);
  	}
  	LA1_: ;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_2273)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_461), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(void, genBlock__jsgen_2248)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w* r) {
  	NI idx;
  	NI T1_;
  	NI labl;
  	tyArray__JiWwrsTRC6xqNlGcBthSVA T10_;
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T11_;
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T12_;
  	tyArray__JiWwrsTRC6xqNlGcBthSVA T13_;
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T14_;
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T15_;
  	(*p).unique += ((NI) 1);
  	T1_ = ((*p).blocks ? (*p).blocks->Sup.len : 0);
  	idx = T1_;
  	{
  		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym;
  		if (!!(((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA4_;
  		{
  			if (!!(((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3)))) goto LA8_;
  			internalErrorImpl__msgs_1431((*(*p).module).config, (*n).info, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_459), TM__BxLwT0mhrtgTPodf1v3xjg_460);
  		}
  		LA8_: ;
  		sym = (*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym;
  		(*sym).loc.k = ((tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg) 10);
  		(*sym).position = (NI)(idx + ((NI) 1));
  	}
  	LA4_: ;
  	labl = (*p).unique;
  	nimZeroMem((void*)T10_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
  	T10_[0] = rope__ropes_115(((NI64) (labl)));
  	T11_ = NIM_NIL;
  	T11_ = percent___jsgen_2273(T10_, 1);
  	T12_ = NIM_NIL;
  	T12_ = indentLine__jsgen_97(p, T11_);
  	add__ropes_159(&(*p).body, T12_);
  	asgnRef((void**) (&(*p).blocks), (tySequence__8fytVdU59b5aj319cog2ztLw*) setLengthSeqV2(&((*p).blocks)->Sup, (&NTIseqLtblockT__8fytVdU59b5aj319cog2ztLw_), ((NI) ((NI)(idx + ((NI) 1))))));
  	(*p).blocks->data[idx].id = ((NI32)-((*p).unique));
  	gen__jsgen_766(p, (*n)._kind_6.sons->data[((NI) 1)], r);
  	asgnRef((void**) (&(*p).blocks), (tySequence__8fytVdU59b5aj319cog2ztLw*) setLengthSeqV2(&((*p).blocks)->Sup, (&NTIseqLtblockT__8fytVdU59b5aj319cog2ztLw_), ((NI) (idx))));
  	nimZeroMem((void*)T13_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
  	T13_[0] = rope__ropes_115(((NI64) (labl)));
  	T14_ = NIM_NIL;
  	T14_ = percent___jsgen_2287(T13_, 1);
  	T15_ = NIM_NIL;
  	T15_ = indentLine__jsgen_97(p, T14_);
  	add__ropes_159(&(*p).body, T15_);
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_2012)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_462), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_2395)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_463), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(void, moveInto__jsgen_1938)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w* src, tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w dest) {
  	{
  		if (!!(((*src).kind == ((tyEnum_TResKind__EoayJcDa8SxU1YPfjU8L9bg) 0)))) goto LA3_;
  		{
  			tyArray__mrugoXXRZUEeG9bEXo9auBKw T9_;
  			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T10_;
  			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T11_;
  			if (!!((dest.kind == ((tyEnum_TResKind__EoayJcDa8SxU1YPfjU8L9bg) 0)))) goto LA7_;
  			nimZeroMem((void*)T9_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  			T9_[0] = rdLoc__jsgen_188(dest);
  			T9_[1] = rdLoc__jsgen_188((*src));
  			T10_ = NIM_NIL;
  			T10_ = percent___jsgen_1950(T9_, 2);
  			T11_ = NIM_NIL;
  			T11_ = indentLine__jsgen_97(p, T10_);
  			add__ropes_159(&(*p).body, T11_);
  		}
  		goto LA5_;
  		LA7_: ;
  		{
  			tyArray__JiWwrsTRC6xqNlGcBthSVA T13_;
  			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T14_;
  			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T15_;
  			nimZeroMem((void*)T13_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
  			T13_[0] = rdLoc__jsgen_188((*src));
  			T14_ = NIM_NIL;
  			T14_ = percent___cgen_7770(T13_, 1);
  			T15_ = NIM_NIL;
  			T15_ = indentLine__jsgen_97(p, T14_);
  			add__ropes_159(&(*p).body, T15_);
  		}
  		LA5_: ;
  		(*src).kind = ((tyEnum_TResKind__EoayJcDa8SxU1YPfjU8L9bg) 0);
  		unsureAsgnRef((void**) (&(*src).res), ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL));
  	}
  	LA3_: ;
  }
  N_LIB_PRIVATE N_NIMCALL(void, genIf__jsgen_2358)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w* r) {
  	tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w cond;
  	tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w stmt;
  	NI toClose;
  	NimStringDesc* T31_;
  	NimStringDesc* T32_;
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T33_;
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T34_;
  	nimZeroMem((void*)(&cond), sizeof(tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w));
  	nimZeroMem((void*)(&stmt), sizeof(tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w));
  	toClose = ((NI) 0);
  	{
  		NIM_BOOL T3_;
  		T3_ = (NIM_BOOL)0;
  		T3_ = isEmptyType__ast_4779((*n).typ);
  		if (!!(T3_)) goto LA4_;
  		(*r).kind = ((tyEnum_TResKind__EoayJcDa8SxU1YPfjU8L9bg) 2);
  		unsureAsgnRef((void**) (&(*r).res), getTemp__jsgen_838(p, NIM_TRUE));
  	}
  	LA4_: ;
  	{
  		NI i;
  		NI colontmp_;
  		NI i_2;
  		i = (NI)0;
  		colontmp_ = (NI)0;
  		colontmp_ = len__ast_3198(n);
  		i_2 = ((NI) 0);
  		{
  			while (1) {
  				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* it;
  				tyArray__qTjAvTvKF9anytN1At69aJMQ T28_;
  				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T29_;
  				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T30_;
  				if (!(i_2 < colontmp_)) goto LA8;
  				i = i_2;
  				it = (*n)._kind_6.sons->data[i];
  				{
  					NI T11_;
  					tyArray__JiWwrsTRC6xqNlGcBthSVA T21_;
  					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T22_;
  					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T23_;
  					T11_ = (NI)0;
  					T11_ = len__ast_3198(it);
  					if (!!((T11_ == ((NI) 1)))) goto LA12_;
  					{
  						tyArray__qTjAvTvKF9anytN1At69aJMQ T18_;
  						tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T19_;
  						tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T20_;
  						if (!(((NI) 0) < i)) goto LA16_;
  						nimZeroMem((void*)T18_, sizeof(tyArray__qTjAvTvKF9anytN1At69aJMQ));
  						T19_ = NIM_NIL;
  						T19_ = percent___jsgen_2012(T18_, 0);
  						T20_ = NIM_NIL;
  						T20_ = indentLine__jsgen_97(p, T19_);
  						add__ropes_159(&(*p).body, T20_);
  						toClose += ((NI) 1);
  					}
  					LA16_: ;
  					(*p).extraIndent += ((NI) 1);
  					gen__jsgen_766(p, (*it)._kind_6.sons->data[((NI) 0)], (&cond));
  					(*p).extraIndent -= ((NI) 1);
  					nimZeroMem((void*)T21_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
  					T21_[0] = rdLoc__jsgen_188(cond);
  					T22_ = NIM_NIL;
  					T22_ = percent___jsgen_2395(T21_, 1);
  					T23_ = NIM_NIL;
  					T23_ = indentLine__jsgen_97(p, T22_);
  					add__ropes_159(&(*p).body, T23_);
  					gen__jsgen_766(p, (*it)._kind_6.sons->data[((NI) 1)], (&stmt));
  				}
  				goto LA9_;
  				LA12_: ;
  				{
  					tyArray__qTjAvTvKF9anytN1At69aJMQ T25_;
  					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T26_;
  					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T27_;
  					nimZeroMem((void*)T25_, sizeof(tyArray__qTjAvTvKF9anytN1At69aJMQ));
  					T26_ = NIM_NIL;
  					T26_ = percent___jsgen_2012(T25_, 0);
  					T27_ = NIM_NIL;
  					T27_ = indentLine__jsgen_97(p, T26_);
  					add__ropes_159(&(*p).body, T27_);
  					(*p).extraIndent += ((NI) 1);
  					gen__jsgen_766(p, (*it)._kind_6.sons->data[((NI) 0)], (&stmt));
  					(*p).extraIndent -= ((NI) 1);
  				}
  				LA9_: ;
  				moveInto__jsgen_1938(p, (&stmt), (*r));
  				nimZeroMem((void*)T28_, sizeof(tyArray__qTjAvTvKF9anytN1At69aJMQ));
  				T29_ = NIM_NIL;
  				T29_ = percent___cgen_7505(T28_, 0);
  				T30_ = NIM_NIL;
  				T30_ = indentLine__jsgen_97(p, T29_);
  				add__ropes_159(&(*p).body, T30_);
  				i_2 += ((NI) 1);
  			} LA8: ;
  		}
  	}
  	T31_ = NIM_NIL;
  	T32_ = NIM_NIL;
  	T32_ = nsuRepeatChar(125, ((NI) (toClose)));
  	T31_ = rawNewString((T32_ ? T32_->Sup.len : 0) + 1);
  appendString(T31_, T32_);
  appendString(T31_, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_129));
  	T33_ = NIM_NIL;
  	T33_ = rope__ropes_109(T31_);
  	T34_ = NIM_NIL;
  	T34_ = indentLine__jsgen_97(p, T33_);
  	add__ropes_159(&(*p).body, T34_);
  }
  static N_INLINE(tyObject_TBlock__46cd0Xw9aDJ1QWTE8nV4mLg*, X5BX5D___jsgen_1858)(tyObject_TBlock__46cd0Xw9aDJ1QWTE8nV4mLg* s, NI sLen_0, NI i) {
  	tyObject_TBlock__46cd0Xw9aDJ1QWTE8nV4mLg* result;
  	result = (tyObject_TBlock__46cd0Xw9aDJ1QWTE8nV4mLg*)0;
  	result = (&s[(NI)(sLen_0 - i)]);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_1881)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_465), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_1895)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_466), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(void, genWhileStmt__jsgen_1839)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
  	tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w cond;
  	NI T6_;
  	tyObject_TBlock__46cd0Xw9aDJ1QWTE8nV4mLg* T7_;
  	tyObject_TBlock__46cd0Xw9aDJ1QWTE8nV4mLg* T8_;
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* labl;
  	tyArray__JiWwrsTRC6xqNlGcBthSVA T9_;
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T10_;
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T11_;
  	tyArray__mrugoXXRZUEeG9bEXo9auBKw T12_;
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T13_;
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T14_;
  	tyArray__JiWwrsTRC6xqNlGcBthSVA T15_;
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T16_;
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T17_;
  	NI T18_;
  	nimZeroMem((void*)(&cond), sizeof(tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w));
  	{
  		NIM_BOOL T3_;
  		NimStringDesc* argX60gensym353_;
  		T3_ = (NIM_BOOL)0;
  		T3_ = isEmptyType__ast_4779((*n).typ);
  		if (!!(T3_)) goto LA4_;
  		argX60gensym353_ = toFileLineCol__msgs_615(TM__BxLwT0mhrtgTPodf1v3xjg_464);
  		internalErrorImpl__msgs_1431((*(*p).module).config, unknownLineInfo__lineinfos_280, argX60gensym353_, TM__BxLwT0mhrtgTPodf1v3xjg_464);
  	}
  	LA4_: ;
  	genLineDir__jsgen_1818(p, n);
  	(*p).unique += ((NI) 1);
  	T6_ = ((*p).blocks ? (*p).blocks->Sup.len : 0);
  	asgnRef((void**) (&(*p).blocks), (tySequence__8fytVdU59b5aj319cog2ztLw*) setLengthSeqV2(&((*p).blocks)->Sup, (&NTIseqLtblockT__8fytVdU59b5aj319cog2ztLw_), ((NI) ((NI)(T6_ + ((NI) 1))))));
  	T7_ = (tyObject_TBlock__46cd0Xw9aDJ1QWTE8nV4mLg*)0;
  	T7_ = X5BX5D___jsgen_1858((*p).blocks->data, ((*p).blocks ? (*p).blocks->Sup.len : 0), ((NI) 1));
  	(*T7_).id = ((NI32)-((*p).unique));
  	T8_ = (tyObject_TBlock__46cd0Xw9aDJ1QWTE8nV4mLg*)0;
  	T8_ = X5BX5D___jsgen_1858((*p).blocks->data, ((*p).blocks ? (*p).blocks->Sup.len : 0), ((NI) 1));
  	(*T8_).isLoop = NIM_TRUE;
  	labl = rope__ropes_115(((NI64) ((*p).unique)));
  	nimZeroMem((void*)T9_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
  	T9_[0] = labl;
  	T10_ = NIM_NIL;
  	T10_ = percent___jsgen_1881(T9_, 1);
  	T11_ = NIM_NIL;
  	T11_ = indentLine__jsgen_97(p, T10_);
  	add__ropes_159(&(*p).body, T11_);
  	(*p).extraIndent += ((NI) 1);
  	gen__jsgen_766(p, (*n)._kind_6.sons->data[((NI) 0)], (&cond));
  	(*p).extraIndent -= ((NI) 1);
  	nimZeroMem((void*)T12_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  	T12_[0] = cond.res;
  	T12_[1] = labl;
  	T13_ = NIM_NIL;
  	T13_ = percent___jsgen_1895(T12_, 2);
  	T14_ = NIM_NIL;
  	T14_ = indentLine__jsgen_97(p, T13_);
  	add__ropes_159(&(*p).body, T14_);
  	(*p).extraIndent += ((NI) 1);
  	genStmt__jsgen_770(p, (*n)._kind_6.sons->data[((NI) 1)]);
  	(*p).extraIndent -= ((NI) 1);
  	nimZeroMem((void*)T15_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
  	T15_[0] = labl;
  	T16_ = NIM_NIL;
  	T16_ = percent___cgen_7505(T15_, 1);
  	T17_ = NIM_NIL;
  	T17_ = indentLine__jsgen_97(p, T16_);
  	add__ropes_159(&(*p).body, T17_);
  	T18_ = ((*p).blocks ? (*p).blocks->Sup.len : 0);
  	asgnRef((void**) (&(*p).blocks), (tySequence__8fytVdU59b5aj319cog2ztLw*) setLengthSeqV2(&((*p).blocks)->Sup, (&NTIseqLtblockT__8fytVdU59b5aj319cog2ztLw_), ((NI) ((NI)(T18_ - ((NI) 1))))));
  }
  N_LIB_PRIVATE N_NIMCALL(void, genVarStmt__jsgen_4260)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
  	{
  		NI i;
  		NI colontmp_;
  		NI i_2;
  		i = (NI)0;
  		colontmp_ = (NI)0;
  		colontmp_ = len__ast_3198(n);
  		i_2 = ((NI) 0);
  		{
  			while (1) {
  				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a;
  				if (!(i_2 < colontmp_)) goto LA3;
  				i = i_2;
  				a = (*n)._kind_6.sons->data[i];
  				{
  					if (!!(((*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 125)))) goto LA6_;
  					{
  						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* unpacked;
  						if (!((*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 36))) goto LA10_;
  						unpacked = lowerTupleUnpacking__lowerings_116((*(*p).module).graph, a, (*(*p).module).Sup.idgen, (*p).prc);
  						genStmt__jsgen_770(p, unpacked);
  					}
  					goto LA8_;
  					LA10_: ;
  					{
  						tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* v;
  						v = (*(*a)._kind_6.sons->data[((NI) 0)])._kind_4.sym;
  						{
  							NIM_BOOL T15_;
  							T15_ = (NIM_BOOL)0;
  							T15_ = !((((*v).loc.flags &((NU16)1<<((NU)(((tyEnum_TLocFlag__o2bqJgR4ceIupnUSpxiudA) 3))&15U)))!=0));
  							if (!(T15_)) goto LA16_;
  							T15_ = !((((*v).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 6))&63U)))!=0));
  							LA16_: ;
  							if (!T15_) goto LA17_;
  							genLineDir__jsgen_1818(p, a);
  							{
  								if (!!((((*v).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 28))&63U)))!=0))) goto LA21_;
  								genVarInit__jsgen_3304(p, v, (*a)._kind_6.sons->data[((NI) 2)]);
  							}
  							goto LA19_;
  							LA21_: ;
  							{
  								{
  									if (!((*v).ast == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL))) goto LA26_;
  									asgnRef((void**) (&(*v).ast), (*a)._kind_6.sons->data[((NI) 2)]);
  								}
  								LA26_: ;
  							}
  							LA19_: ;
  						}
  						LA17_: ;
  					}
  					LA8_: ;
  				}
  				LA6_: ;
  				i_2 += ((NI) 1);
  			} LA3: ;
  		}
  	}
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_2154)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_469), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_2226)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_474), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(void, genCaseJS__jsgen_2140)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w* r) {
  	tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w cond;
  	tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w stmt;
  	NI totalRange;
  	NIM_BOOL stringSwitch;
  	tyObject_TType__facALICuu8zUj0hjvbTLFg* T1_;
  	tyArray__qTjAvTvKF9anytN1At69aJMQ T65_;
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T66_;
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T67_;
  	nimZeroMem((void*)(&cond), sizeof(tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w));
  	nimZeroMem((void*)(&stmt), sizeof(tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w));
  	totalRange = ((NI) 0);
  	genLineDir__jsgen_1818(p, n);
  	gen__jsgen_766(p, (*n)._kind_6.sons->data[((NI) 0)], (&cond));
  	T1_ = NIM_NIL;
  	T1_ = skipTypes__ast_3735((*(*n)._kind_6.sons->data[((NI) 0)]).typ, TM__BxLwT0mhrtgTPodf1v3xjg_296);
  	stringSwitch = ((*T1_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 28));
  	{
  		tyArray__JiWwrsTRC6xqNlGcBthSVA T6_;
  		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T7_;
  		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T8_;
  		if (!stringSwitch) goto LA4_;
  		useMagic__jsgen_779(p, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_373));
  		nimZeroMem((void*)T6_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
  		T6_[0] = rdLoc__jsgen_188(cond);
  		T7_ = NIM_NIL;
  		T7_ = percent___jsgen_2154(T6_, 1);
  		T8_ = NIM_NIL;
  		T8_ = indentLine__jsgen_97(p, T7_);
  		add__ropes_159(&(*p).body, T8_);
  	}
  	goto LA2_;
  	LA4_: ;
  	{
  		tyArray__JiWwrsTRC6xqNlGcBthSVA T10_;
  		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T11_;
  		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T12_;
  		nimZeroMem((void*)T10_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
  		T10_[0] = rdLoc__jsgen_188(cond);
  		T11_ = NIM_NIL;
  		T11_ = percent___cgen_13684(T10_, 1);
  		T12_ = NIM_NIL;
  		T12_ = indentLine__jsgen_97(p, T11_);
  		add__ropes_159(&(*p).body, T12_);
  	}
  	LA2_: ;
  	{
  		NIM_BOOL T15_;
  		T15_ = (NIM_BOOL)0;
  		T15_ = isEmptyType__ast_4779((*n).typ);
  		if (!!(T15_)) goto LA16_;
  		(*r).kind = ((tyEnum_TResKind__EoayJcDa8SxU1YPfjU8L9bg) 2);
  		unsureAsgnRef((void**) (&(*r).res), getTemp__jsgen_838(p, NIM_TRUE));
  	}
  	LA16_: ;
  	{
  		NI i;
  		NI colontmp_;
  		NI i_2;
  		i = (NI)0;
  		colontmp_ = (NI)0;
  		colontmp_ = len__ast_3198(n);
  		i_2 = ((NI) 1);
  		{
  			while (1) {
  				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* it;
  				if (!(i_2 < colontmp_)) goto LA20;
  				i = i_2;
  				it = (*n)._kind_6.sons->data[i];
  				switch ((*it).kind) {
  				case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 85):
  				{
  					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T53_;
  					tyArray__qTjAvTvKF9anytN1At69aJMQ T54_;
  					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T55_;
  					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T56_;
  					{
  						NI j;
  						NI colontmp__2;
  						NI T23_;
  						NI i_3;
  						j = (NI)0;
  						colontmp__2 = (NI)0;
  						T23_ = (NI)0;
  						T23_ = len__ast_3198(it);
  						colontmp__2 = (NI)(T23_ - ((NI) 1));
  						i_3 = ((NI) 0);
  						{
  							while (1) {
  								tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* e;
  								if (!(i_3 < colontmp__2)) goto LA25;
  								j = i_3;
  								e = (*it)._kind_6.sons->data[j];
  								{
  									tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* v;
  									if (!((*e).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 44))) goto LA28_;
  									v = copyNode__ast_4336((*e)._kind_6.sons->data[((NI) 0)]);
  									totalRange += ((NI) ((NI64)((*(*e)._kind_6.sons->data[((NI) 1)])._kind_1.intVal - (*v)._kind_1.intVal)));
  									{
  										if (!(((NI) 65535) < totalRange)) goto LA32_;
  										liMessage__msgs_1118((*(*p).module).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_470), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__BxLwT0mhrtgTPodf1v3xjg_471, NIM_FALSE);
  									}
  									LA32_: ;
  									{
  										while (1) {
  											tyArray__JiWwrsTRC6xqNlGcBthSVA T36_;
  											tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T37_;
  											tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T38_;
  											if (!((*v)._kind_1.intVal <= (*(*e)._kind_6.sons->data[((NI) 1)])._kind_1.intVal)) goto LA35;
  											gen__jsgen_766(p, v, (&cond));
  											nimZeroMem((void*)T36_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
  											T36_[0] = rdLoc__jsgen_188(cond);
  											T37_ = NIM_NIL;
  											T37_ = percent___cgen_15312(T36_, 1);
  											T38_ = NIM_NIL;
  											T38_ = indentLine__jsgen_97(p, T37_);
  											add__ropes_159(&(*p).body, T38_);
  											(*v)._kind_1.intVal += ((NI) 1);
  										} LA35: ;
  									}
  								}
  								goto LA26_;
  								LA28_: ;
  								{
  									{
  										if (!stringSwitch) goto LA42_;
  										switch ((*e).kind) {
  										case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 20) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 22):
  										{
  											tyArray__JiWwrsTRC6xqNlGcBthSVA T45_;
  											tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T46_;
  											tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T47_;
  											nimZeroMem((void*)T45_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
  											T45_[0] = makeJSString__jsgen_378((*e)._kind_3.strVal, NIM_FALSE);
  											T46_ = NIM_NIL;
  											T46_ = percent___cgen_15312(T45_, 1);
  											T47_ = NIM_NIL;
  											T47_ = indentLine__jsgen_97(p, T46_);
  											add__ropes_159(&(*p).body, T47_);
  										}
  										break;
  										default:
  										{
  											internalErrorImpl__msgs_1431((*(*p).module).config, (*e).info, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_472), TM__BxLwT0mhrtgTPodf1v3xjg_473);
  										}
  										break;
  										}
  									}
  									goto LA40_;
  									LA42_: ;
  									{
  										tyArray__JiWwrsTRC6xqNlGcBthSVA T50_;
  										tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T51_;
  										tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T52_;
  										gen__jsgen_766(p, e, (&cond));
  										nimZeroMem((void*)T50_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
  										T50_[0] = rdLoc__jsgen_188(cond);
  										T51_ = NIM_NIL;
  										T51_ = percent___cgen_15312(T50_, 1);
  										T52_ = NIM_NIL;
  										T52_ = indentLine__jsgen_97(p, T51_);
  										add__ropes_159(&(*p).body, T52_);
  									}
  									LA40_: ;
  								}
  								LA26_: ;
  								i_3 += ((NI) 1);
  							} LA25: ;
  						}
  					}
  					(*p).extraIndent += ((NI) 1);
  					T53_ = NIM_NIL;
  					T53_ = lastSon__ast_4832(it);
  					gen__jsgen_766(p, T53_, (&stmt));
  					moveInto__jsgen_1938(p, (&stmt), (*r));
  					nimZeroMem((void*)T54_, sizeof(tyArray__qTjAvTvKF9anytN1At69aJMQ));
  					T55_ = NIM_NIL;
  					T55_ = percent___cgen_7416(T54_, 0);
  					T56_ = NIM_NIL;
  					T56_ = indentLine__jsgen_97(p, T55_);
  					add__ropes_159(&(*p).body, T56_);
  					(*p).extraIndent -= ((NI) 1);
  				}
  				break;
  				case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 88):
  				{
  					tyArray__qTjAvTvKF9anytN1At69aJMQ T58_;
  					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T59_;
  					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T60_;
  					tyArray__qTjAvTvKF9anytN1At69aJMQ T61_;
  					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T62_;
  					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T63_;
  					nimZeroMem((void*)T58_, sizeof(tyArray__qTjAvTvKF9anytN1At69aJMQ));
  					T59_ = NIM_NIL;
  					T59_ = percent___jsgen_2226(T58_, 0);
  					T60_ = NIM_NIL;
  					T60_ = indentLine__jsgen_97(p, T59_);
  					add__ropes_159(&(*p).body, T60_);
  					(*p).extraIndent += ((NI) 1);
  					gen__jsgen_766(p, (*it)._kind_6.sons->data[((NI) 0)], (&stmt));
  					moveInto__jsgen_1938(p, (&stmt), (*r));
  					nimZeroMem((void*)T61_, sizeof(tyArray__qTjAvTvKF9anytN1At69aJMQ));
  					T62_ = NIM_NIL;
  					T62_ = percent___cgen_7416(T61_, 0);
  					T63_ = NIM_NIL;
  					T63_ = indentLine__jsgen_97(p, T62_);
  					add__ropes_159(&(*p).body, T63_);
  					(*p).extraIndent -= ((NI) 1);
  				}
  				break;
  				default:
  				{
  					internalErrorImpl__msgs_1431((*(*p).module).config, (*it).info, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_475), TM__BxLwT0mhrtgTPodf1v3xjg_476);
  				}
  				break;
  				}
  				i_2 += ((NI) 1);
  			} LA20: ;
  		}
  	}
  	nimZeroMem((void*)T65_, sizeof(tyArray__qTjAvTvKF9anytN1At69aJMQ));
  	T66_ = NIM_NIL;
  	T66_ = percent___cgen_7505(T65_, 0);
  	T67_ = NIM_NIL;
  	T67_ = indentLine__jsgen_97(p, T66_);
  	add__ropes_159(&(*p).body, T67_);
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_5816)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_479), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(void, genReturnStmt__jsgen_5803)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
  	tyArray__qTjAvTvKF9anytN1At69aJMQ T10_;
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T11_;
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T12_;
  	{
  		if (!((*p).procDef == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL))) goto LA3_;
  		internalErrorImpl__msgs_1431((*(*p).module).config, (*n).info, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_477), TM__BxLwT0mhrtgTPodf1v3xjg_478);
  	}
  	LA3_: ;
  	(*p).beforeRetNeeded = NIM_TRUE;
  	{
  		if (!!(((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA7_;
  		genStmt__jsgen_770(p, (*n)._kind_6.sons->data[((NI) 0)]);
  	}
  	goto LA5_;
  	LA7_: ;
  	{
  		genLineDir__jsgen_1818(p, n);
  	}
  	LA5_: ;
  	nimZeroMem((void*)T10_, sizeof(tyArray__qTjAvTvKF9anytN1At69aJMQ));
  	T11_ = NIM_NIL;
  	T11_ = percent___jsgen_5816(T10_, 0);
  	T12_ = NIM_NIL;
  	T12_ = indentLine__jsgen_97(p, T11_);
  	add__ropes_159(&(*p).body, T12_);
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_2325)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_482), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(void, genBreakStmt__jsgen_2292)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
  	NI idx;
  	tyArray__JiWwrsTRC6xqNlGcBthSVA T17_;
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T18_;
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T19_;
  	idx = (NI)0;
  	genLineDir__jsgen_1818(p, n);
  	{
  		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym;
  		if (!!(((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA3_;
  		sym = (*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym;
  		idx = (NI)((*sym).position - ((NI) 1));
  	}
  	goto LA1_;
  	LA3_: ;
  	{
  		NI T6_;
  		T6_ = ((*p).blocks ? (*p).blocks->Sup.len : 0);
  		idx = (NI)(T6_ - ((NI) 1));
  		{
  			while (1) {
  				NIM_BOOL T9_;
  				T9_ = (NIM_BOOL)0;
  				T9_ = (((NI) 0) <= idx);
  				if (!(T9_)) goto LA10_;
  				T9_ = !((*p).blocks->data[idx].isLoop);
  				LA10_: ;
  				if (!T9_) goto LA8;
  				idx -= ((NI) 1);
  			} LA8: ;
  		}
  		{
  			NIM_BOOL T13_;
  			T13_ = (NIM_BOOL)0;
  			T13_ = (idx < ((NI) 0));
  			if (T13_) goto LA14_;
  			T13_ = !((*p).blocks->data[idx].isLoop);
  			LA14_: ;
  			if (!T13_) goto LA15_;
  			internalErrorImpl__msgs_1431((*(*p).module).config, (*n).info, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_480), TM__BxLwT0mhrtgTPodf1v3xjg_481);
  		}
  		LA15_: ;
  	}
  	LA1_: ;
  	(*p).blocks->data[idx].id = ((*p).blocks->data[idx].id > 0? ((*p).blocks->data[idx].id) : -((*p).blocks->data[idx].id));
  	nimZeroMem((void*)T17_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
  	T17_[0] = rope__ropes_115(((NI64) ((*p).blocks->data[idx].id)));
  	T18_ = NIM_NIL;
  	T18_ = percent___jsgen_2325(T17_, 1);
  	T19_ = NIM_NIL;
  	T19_ = indentLine__jsgen_97(p, T18_);
  	add__ropes_159(&(*p).body, T19_);
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_2539)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_485), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_2561)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_486), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_2566)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_487), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_2584)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_488), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_2593)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_489), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_2610)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_491), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(void, addQuoted__jsgen_2669)(NimStringDesc** s, tyEnum_TJSTypeKind__9aFSCXgaSEq2m81RJRMKDeA x) {
  	unsureAsgnRef((void**) (&(*s)), resizeString((*s), (reprEnum((NI)x, (&NTItjstypekind__9aFSCXgaSEq2m81RJRMKDeA_)) ? reprEnum((NI)x, (&NTItjstypekind__9aFSCXgaSEq2m81RJRMKDeA_))->Sup.len : 0) + 0));
  appendString((*s), reprEnum((NI)x, (&NTItjstypekind__9aFSCXgaSEq2m81RJRMKDeA_)));
  }
  N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar___jsgen_2635)(tyTuple__QVkyTCL0msoEdWvhK6TYrw x) {
  	NimStringDesc* result;
  	NI count;
  	result = NIM_NIL;
  	result = copyString(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_117));
  	count = ((NI) 0);
  	{
  		if (!(((NI) 0) < count)) goto LA3_;
  		result = resizeString(result, 2);
  appendString(result, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_118));
  	}
  	LA3_: ;
  	count += ((NI) 1);
  	addQuoted__pureZos_440((&result), x.Field0);
  	{
  		if (!(((NI) 0) < count)) goto LA7_;
  		result = resizeString(result, 2);
  appendString(result, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_118));
  	}
  	LA7_: ;
  	count += ((NI) 1);
  	addQuoted__jsgen_2669((&result), x.Field1);
  	{
  		if (!(((NI) 0) < count)) goto LA11_;
  		result = resizeString(result, 2);
  appendString(result, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_118));
  	}
  	LA11_: ;
  	count += ((NI) 1);
  	addQuoted__jsgen_2669((&result), x.Field2);
  	{
  		if (!(count == ((NI) 1))) goto LA15_;
  		result = resizeString(result, 1);
  appendString(result, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_413));
  	}
  	LA15_: ;
  	result = resizeString(result, 1);
  appendString(result, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_119));
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_2692)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_497), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(void, genAsgnAux__jsgen_2511)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* y, NIM_BOOL noCopyNeeded) {
  	tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w a;
  	tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w b;
  	tyEnum_TJSTypeKind__9aFSCXgaSEq2m81RJRMKDeA xtyp;
  	nimZeroMem((void*)(&a), sizeof(tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w));
  	nimZeroMem((void*)(&b), sizeof(tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w));
  	xtyp = mapType__jsgen_304(p, (*x).typ);
  	{
  		NIM_BOOL T3_;
  		NIM_BOOL T4_;
  		NI T6_;
  		tyObject_TType__facALICuu8zUj0hjvbTLFg* T8_;
  		T3_ = (NIM_BOOL)0;
  		T4_ = (NIM_BOOL)0;
  		T4_ = ((*x).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 42));
  		if (!(T4_)) goto LA5_;
  		T6_ = (NI)0;
  		T6_ = len__ast_3198(x);
  		T4_ = (((NI) 2) <= T6_);
  		LA5_: ;
  		T3_ = T4_;
  		if (!(T3_)) goto LA7_;
  		T8_ = NIM_NIL;
  		T8_ = skipTypes__ast_3735((*(*x)._kind_6.sons->data[((NI) 0)]).typ, TM__BxLwT0mhrtgTPodf1v3xjg_97);
  		T3_ = ((*T8_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 29));
  		LA7_: ;
  		if (!T3_) goto LA9_;
  		liMessage__msgs_1118((*(*p).module).config, (*x).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_483), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__BxLwT0mhrtgTPodf1v3xjg_484, NIM_FALSE);
  	}
  	LA9_: ;
  	gen__jsgen_766(p, x, (&a));
  	genLineDir__jsgen_1818(p, y);
  	gen__jsgen_766(p, y, (&b));
  	{
  		tyObject_TType__facALICuu8zUj0hjvbTLFg* T13_;
  		T13_ = NIM_NIL;
  		T13_ = skipTypes__ast_3735((*x).typ, TM__BxLwT0mhrtgTPodf1v3xjg_97);
  		if (!((*T13_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 24) || (*T13_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 28))) goto LA14_;
  		xtyp = ((tyEnum_TJSTypeKind__9aFSCXgaSEq2m81RJRMKDeA) 4);
  	}
  	LA14_: ;
  	switch (xtyp) {
  	case ((tyEnum_TJSTypeKind__9aFSCXgaSEq2m81RJRMKDeA) 4):
  	{
  		{
  			NIM_BOOL T19_;
  			NIM_BOOL T20_;
  			tyArray__mrugoXXRZUEeG9bEXo9auBKw T25_;
  			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T26_;
  			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T27_;
  			T19_ = (NIM_BOOL)0;
  			T20_ = (NIM_BOOL)0;
  			T20_ = needsNoCopy__jsgen_2483(p, y);
  			if (!(T20_)) goto LA21_;
  			T20_ = needsNoCopy__jsgen_2483(p, x);
  			LA21_: ;
  			T19_ = T20_;
  			if (T19_) goto LA22_;
  			T19_ = noCopyNeeded;
  			LA22_: ;
  			if (!T19_) goto LA23_;
  			nimZeroMem((void*)T25_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  			T25_[0] = rdLoc__jsgen_188(a);
  			T25_[1] = rdLoc__jsgen_188(b);
  			T26_ = NIM_NIL;
  			T26_ = percent___jsgen_1950(T25_, 2);
  			T27_ = NIM_NIL;
  			T27_ = indentLine__jsgen_97(p, T26_);
  			add__ropes_159(&(*p).body, T27_);
  		}
  		goto LA17_;
  		LA23_: ;
  		{
  			tyArray__wqYjTJU9ab2ZgEFMaQc3vNA T29_;
  			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T30_;
  			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T31_;
  			useMagic__jsgen_779(p, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_141));
  			nimZeroMem((void*)T29_, sizeof(tyArray__wqYjTJU9ab2ZgEFMaQc3vNA));
  			T29_[0] = rdLoc__jsgen_188(a);
  			T29_[1] = b.res;
  			T29_[2] = genTypeInfo__jsgen_385(p, (*y).typ);
  			T30_ = NIM_NIL;
  			T30_ = percent___jsgen_2539(T29_, 3);
  			T31_ = NIM_NIL;
  			T31_ = indentLine__jsgen_97(p, T30_);
  			add__ropes_159(&(*p).body, T31_);
  		}
  		LA17_: ;
  	}
  	break;
  	case ((tyEnum_TJSTypeKind__9aFSCXgaSEq2m81RJRMKDeA) 8):
  	{
  		{
  			NIM_BOOL T35_;
  			NIM_BOOL T36_;
  			NIM_BOOL T38_;
  			tyArray__mrugoXXRZUEeG9bEXo9auBKw T43_;
  			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T44_;
  			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T45_;
  			T35_ = (NIM_BOOL)0;
  			T36_ = (NIM_BOOL)0;
  			T36_ = ((*(*x).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23));
  			if (T36_) goto LA37_;
  			T38_ = (NIM_BOOL)0;
  			T38_ = needsNoCopy__jsgen_2483(p, y);
  			if (!(T38_)) goto LA39_;
  			T38_ = needsNoCopy__jsgen_2483(p, x);
  			LA39_: ;
  			T36_ = T38_;
  			LA37_: ;
  			T35_ = T36_;
  			if (T35_) goto LA40_;
  			T35_ = noCopyNeeded;
  			LA40_: ;
  			if (!T35_) goto LA41_;
  			nimZeroMem((void*)T43_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  			T43_[0] = rdLoc__jsgen_188(a);
  			T43_[1] = rdLoc__jsgen_188(b);
  			T44_ = NIM_NIL;
  			T44_ = percent___jsgen_1950(T43_, 2);
  			T45_ = NIM_NIL;
  			T45_ = indentLine__jsgen_97(p, T44_);
  			add__ropes_159(&(*p).body, T45_);
  		}
  		goto LA33_;
  		LA41_: ;
  		{
  			useMagic__jsgen_779(p, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_141));
  			{
  				NIM_BOOL T49_;
  				tyArray__wqYjTJU9ab2ZgEFMaQc3vNA T53_;
  				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T54_;
  				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T55_;
  				T49_ = (NIM_BOOL)0;
  				T49_ = ((*x).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 65) || (*x).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 47));
  				if (!(T49_)) goto LA50_;
  				T49_ = ((*(*x)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27) || (*(*x)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 29) || (*(*x)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 30) || (*(*x)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 31) || (*(*x)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 26) || (*(*x)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 28) || (*(*x)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 32));
  				LA50_: ;
  				if (!T49_) goto LA51_;
  				nimZeroMem((void*)T53_, sizeof(tyArray__wqYjTJU9ab2ZgEFMaQc3vNA));
  				T53_[0] = a.res;
  				T53_[1] = b.res;
  				T53_[2] = genTypeInfo__jsgen_385(p, (*x).typ);
  				T54_ = NIM_NIL;
  				T54_ = percent___jsgen_2561(T53_, 3);
  				T55_ = NIM_NIL;
  				T55_ = indentLine__jsgen_97(p, T54_);
  				add__ropes_159(&(*p).body, T55_);
  			}
  			goto LA47_;
  			LA51_: ;
  			{
  				tyArray__wqYjTJU9ab2ZgEFMaQc3vNA T57_;
  				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T58_;
  				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T59_;
  				nimZeroMem((void*)T57_, sizeof(tyArray__wqYjTJU9ab2ZgEFMaQc3vNA));
  				T57_[0] = a.res;
  				T57_[1] = b.res;
  				T57_[2] = genTypeInfo__jsgen_385(p, (*x).typ);
  				T58_ = NIM_NIL;
  				T58_ = percent___jsgen_2566(T57_, 3);
  				T59_ = NIM_NIL;
  				T59_ = indentLine__jsgen_97(p, T58_);
  				add__ropes_159(&(*p).body, T59_);
  			}
  			LA47_: ;
  		}
  		LA33_: ;
  	}
  	break;
  	case ((tyEnum_TJSTypeKind__9aFSCXgaSEq2m81RJRMKDeA) 9):
  	{
  		{
  			NIM_BOOL T63_;
  			T63_ = (NIM_BOOL)0;
  			T63_ = !((a.typ == ((tyEnum_TJSTypeKind__9aFSCXgaSEq2m81RJRMKDeA) 9)));
  			if (T63_) goto LA64_;
  			T63_ = !((b.typ == ((tyEnum_TJSTypeKind__9aFSCXgaSEq2m81RJRMKDeA) 9)));
  			LA64_: ;
  			if (!T63_) goto LA65_;
  			{
  				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* tmp;
  				tyArray__f7nG5LD47BH5K9c6mASit3g T71_;
  				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T72_;
  				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T73_;
  				if (!((*y).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27))) goto LA69_;
  				tmp = getTemp__jsgen_838(p, NIM_FALSE);
  				nimZeroMem((void*)T71_, sizeof(tyArray__f7nG5LD47BH5K9c6mASit3g));
  				T71_[0] = tmp;
  				T71_[1] = a.address;
  				T71_[2] = a.res;
  				T71_[3] = rdLoc__jsgen_188(b);
  				T72_ = NIM_NIL;
  				T72_ = percent___jsgen_2584(T71_, 4);
  				T73_ = NIM_NIL;
  				T73_ = indentLine__jsgen_97(p, T72_);
  				add__ropes_159(&(*p).body, T73_);
  			}
  			goto LA67_;
  			LA69_: ;
  			{
  				tyArray__wqYjTJU9ab2ZgEFMaQc3vNA T77_;
  				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T78_;
  				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T79_;
  				if (!(b.typ == ((tyEnum_TJSTypeKind__9aFSCXgaSEq2m81RJRMKDeA) 9))) goto LA75_;
  				nimZeroMem((void*)T77_, sizeof(tyArray__wqYjTJU9ab2ZgEFMaQc3vNA));
  				T77_[0] = a.res;
  				T77_[1] = b.address;
  				T77_[2] = b.res;
  				T78_ = NIM_NIL;
  				T78_ = percent___jsgen_2593(T77_, 3);
  				T79_ = NIM_NIL;
  				T79_ = indentLine__jsgen_97(p, T78_);
  				add__ropes_159(&(*p).body, T79_);
  			}
  			goto LA67_;
  			LA75_: ;
  			{
  				tyArray__mrugoXXRZUEeG9bEXo9auBKw T87_;
  				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T88_;
  				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T89_;
  				if (!(b.typ == ((tyEnum_TJSTypeKind__9aFSCXgaSEq2m81RJRMKDeA) 0))) goto LA81_;
  				{
  					NimStringDesc* argX60gensym523_;
  					if (!!((b.address == ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL)))) goto LA85_;
  					argX60gensym523_ = toFileLineCol__msgs_615(TM__BxLwT0mhrtgTPodf1v3xjg_490);
  					internalErrorImpl__msgs_1431((*(*p).module).config, unknownLineInfo__lineinfos_280, argX60gensym523_, TM__BxLwT0mhrtgTPodf1v3xjg_490);
  				}
  				LA85_: ;
  				nimZeroMem((void*)T87_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  				T87_[0] = a.address;
  				T87_[1] = b.res;
  				T88_ = NIM_NIL;
  				T88_ = percent___jsgen_2610(T87_, 2);
  				T89_ = NIM_NIL;
  				T89_ = indentLine__jsgen_97(p, T88_);
  				add__ropes_159(&(*p).body, T89_);
  			}
  			goto LA67_;
  			LA81_: ;
  			{
  				NIM_BOOL T91_;
  				tyArray__wqYjTJU9ab2ZgEFMaQc3vNA T95_;
  				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T96_;
  				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T97_;
  				tyArray__mrugoXXRZUEeG9bEXo9auBKw T98_;
  				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T99_;
  				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T100_;
  				tyArray__mrugoXXRZUEeG9bEXo9auBKw T101_;
  				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T102_;
  				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T103_;
  				T91_ = (NIM_BOOL)0;
  				T91_ = ((*(*x).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23));
  				if (!(T91_)) goto LA92_;
  				T91_ = ((*(*y).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21));
  				LA92_: ;
  				if (!T91_) goto LA93_;
  				nimZeroMem((void*)T95_, sizeof(tyArray__wqYjTJU9ab2ZgEFMaQc3vNA));
  				T95_[0] = a.res;
  				T95_[1] = b.address;
  				T95_[2] = b.res;
  				T96_ = NIM_NIL;
  				T96_ = percent___jsgen_2593(T95_, 3);
  				T97_ = NIM_NIL;
  				T97_ = indentLine__jsgen_97(p, T96_);
  				add__ropes_159(&(*p).body, T97_);
  				nimZeroMem((void*)T98_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  				T98_[0] = a.address;
  				T98_[1] = b.res;
  				T99_ = NIM_NIL;
  				T99_ = percent___jsgen_1950(T98_, 2);
  				T100_ = NIM_NIL;
  				T100_ = indentLine__jsgen_97(p, T99_);
  				add__ropes_159(&(*p).body, T100_);
  				nimZeroMem((void*)T101_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  				T101_[0] = rdLoc__jsgen_188(a);
  				T101_[1] = rdLoc__jsgen_188(b);
  				T102_ = NIM_NIL;
  				T102_ = percent___jsgen_1950(T101_, 2);
  				T103_ = NIM_NIL;
  				T103_ = indentLine__jsgen_97(p, T102_);
  				add__ropes_159(&(*p).body, T103_);
  			}
  			goto LA67_;
  			LA93_: ;
  			{
  				tyTuple__QVkyTCL0msoEdWvhK6TYrw T105_;
  				NimStringDesc* T106_;
  				nimZeroMem((void*)(&T105_), sizeof(tyTuple__QVkyTCL0msoEdWvhK6TYrw));
  				T105_.Field0 = copyString(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_495));
  				T105_.Field1 = b.typ;
  				T105_.Field2 = a.typ;
  				T106_ = NIM_NIL;
  				T106_ = dollar___jsgen_2635(T105_);
  				internalErrorImpl__msgs_1431((*(*p).module).config, (*x).info, T106_, TM__BxLwT0mhrtgTPodf1v3xjg_496);
  			}
  			LA67_: ;
  		}
  		goto LA61_;
  		LA65_: ;
  		{
  			tyArray__f7nG5LD47BH5K9c6mASit3g T108_;
  			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T109_;
  			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T110_;
  			nimZeroMem((void*)T108_, sizeof(tyArray__f7nG5LD47BH5K9c6mASit3g));
  			T108_[0] = a.address;
  			T108_[1] = b.address;
  			T108_[2] = a.res;
  			T108_[3] = b.res;
  			T109_ = NIM_NIL;
  			T109_ = percent___jsgen_2692(T108_, 4);
  			T110_ = NIM_NIL;
  			T110_ = indentLine__jsgen_97(p, T109_);
  			add__ropes_159(&(*p).body, T110_);
  		}
  		LA61_: ;
  	}
  	break;
  	default:
  	{
  		tyArray__mrugoXXRZUEeG9bEXo9auBKw T112_;
  		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T113_;
  		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T114_;
  		nimZeroMem((void*)T112_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  		T112_[0] = rdLoc__jsgen_188(a);
  		T112_[1] = rdLoc__jsgen_188(b);
  		T113_ = NIM_NIL;
  		T113_ = percent___jsgen_1950(T112_, 2);
  		T114_ = NIM_NIL;
  		T114_ = indentLine__jsgen_97(p, T113_);
  		add__ropes_159(&(*p).body, T114_);
  	}
  	break;
  	}
  }
  N_LIB_PRIVATE N_NIMCALL(void, genAsgn__jsgen_2701)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
  	genAsgnAux__jsgen_2511(p, (*n)._kind_6.sons->data[((NI) 0)], (*n)._kind_6.sons->data[((NI) 1)], NIM_FALSE);
  }
  N_LIB_PRIVATE N_NIMCALL(void, genFastAsgn__jsgen_2706)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
  	NIM_BOOL noCopy;
  	tyObject_TType__facALICuu8zUj0hjvbTLFg* T1_;
  	T1_ = NIM_NIL;
  	T1_ = skipTypes__ast_3735((*(*n)._kind_6.sons->data[((NI) 0)]).typ, TM__BxLwT0mhrtgTPodf1v3xjg_97);
  	noCopy = ((*T1_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 24) || (*T1_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 28));
  	genAsgnAux__jsgen_2511(p, (*n)._kind_6.sons->data[((NI) 0)], (*n)._kind_6.sons->data[((NI) 1)], noCopy);
  }
  N_LIB_PRIVATE N_NIMCALL(void, genAsmOrEmitStmt__jsgen_2330)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T1_;
  	genLineDir__jsgen_1818(p, n);
  	T1_ = NIM_NIL;
  	T1_ = indentLine__jsgen_97(p, ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL));
  	add__ropes_159(&(*p).body, T1_);
  	{
  		NI i;
  		NI colontmp_;
  		NI i_2;
  		i = (NI)0;
  		colontmp_ = (NI)0;
  		colontmp_ = len__ast_3198(n);
  		i_2 = ((NI) 0);
  		{
  			while (1) {
  				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* it;
  				if (!(i_2 < colontmp_)) goto LA4;
  				i = i_2;
  				it = (*n)._kind_6.sons->data[i];
  				switch ((*it).kind) {
  				case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 20) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 22):
  				{
  					add__ropes_162(&(*p).body, (*it)._kind_3.strVal);
  				}
  				break;
  				case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
  				{
  					tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* v;
  					v = (*it)._kind_4.sym;
  					{
  						if (!NIM_FALSE) goto LA9_;
  					}
  					goto LA7_;
  					LA9_: ;
  					{
  						tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w r;
  						tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T20_;
  						nimZeroMem((void*)(&r), sizeof(tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w));
  						gen__jsgen_766(p, it, (&r));
  						{
  							if (!((*(*it).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 26))) goto LA14_;
  							r.res = r.address;
  							r.address = ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL);
  							r.typ = ((tyEnum_TJSTypeKind__9aFSCXgaSEq2m81RJRMKDeA) 0);
  						}
  						goto LA12_;
  						LA14_: ;
  						{
  							tyArray__mrugoXXRZUEeG9bEXo9auBKw T19_;
  							if (!(r.typ == ((tyEnum_TJSTypeKind__9aFSCXgaSEq2m81RJRMKDeA) 9))) goto LA17_;
  							nimZeroMem((void*)T19_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  							T19_[0] = r.address;
  							T19_[1] = r.res;
  							r.res = percent___cgen_6775(T19_, 2);
  							r.address = ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL);
  							r.typ = ((tyEnum_TJSTypeKind__9aFSCXgaSEq2m81RJRMKDeA) 0);
  						}
  						goto LA12_;
  						LA17_: ;
  						LA12_: ;
  						T20_ = NIM_NIL;
  						T20_ = rdLoc__jsgen_188(r);
  						add__ropes_159(&(*p).body, T20_);
  					}
  					LA7_: ;
  				}
  				break;
  				default:
  				{
  					tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w r_2;
  					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T22_;
  					nimZeroMem((void*)(&r_2), sizeof(tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w));
  					gen__jsgen_766(p, it, (&r_2));
  					T22_ = NIM_NIL;
  					T22_ = rdLoc__jsgen_188(r_2);
  					add__ropes_159(&(*p).body, T22_);
  				}
  				break;
  				}
  				i_2 += ((NI) 1);
  			} LA4: ;
  		}
  	}
  	add__ropes_162(&(*p).body, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_129));
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_1982)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_502), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_1990)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_503), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_1995)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_504), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_2057)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_509), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_2062)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_510), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_2067)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_512), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_2076)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_513), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_2095)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_517), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(void, genTry__jsgen_1959)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w* r) {
  	NI i;
  	NIM_BOOL catchBranchesExist;
  	NIM_BOOL T6_;
  	NI T7_;
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* tmpFramePtr;
  	tyArray__qTjAvTvKF9anytN1At69aJMQ T19_;
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T20_;
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T21_;
  	tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w a;
  	NIM_BOOL generalCatchBranchExists;
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T124_;
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T125_;
  	tyArray__JiWwrsTRC6xqNlGcBthSVA T126_;
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T127_;
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T128_;
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T136_;
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T137_;
  	genLineDir__jsgen_1818(p, n);
  	{
  		NIM_BOOL T3_;
  		T3_ = (NIM_BOOL)0;
  		T3_ = isEmptyType__ast_4779((*n).typ);
  		if (!!(T3_)) goto LA4_;
  		(*r).kind = ((tyEnum_TResKind__EoayJcDa8SxU1YPfjU8L9bg) 2);
  		unsureAsgnRef((void**) (&(*r).res), getTemp__jsgen_838(p, NIM_TRUE));
  	}
  	LA4_: ;
  	(*p).unique += ((NI) 1);
  	i = ((NI) 1);
  	T6_ = (NIM_BOOL)0;
  	T7_ = (NI)0;
  	T7_ = len__ast_3198(n);
  	T6_ = (((NI) 1) < T7_);
  	if (!(T6_)) goto LA8_;
  	T6_ = ((*(*n)._kind_6.sons->data[i]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 87));
  	LA8_: ;
  	catchBranchesExist = T6_;
  	{
  		if (!catchBranchesExist) goto LA11_;
  		add__ropes_162(&(*p).body, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_499));
  	}
  	LA11_: ;
  	tmpFramePtr = rope__ropes_109(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_500));
  	{
  		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T17_;
  		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T18_;
  		if (!!((((*p).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 17))&31U)))!=0))) goto LA15_;
  		tmpFramePtr = getTemp__jsgen_838(p, NIM_TRUE);
  		T17_ = NIM_NIL;
  		T17_ = amp___ropes_140(tmpFramePtr, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_501));
  		T18_ = NIM_NIL;
  		T18_ = indentLine__jsgen_97(p, T17_);
  		add__ropes_159(&(*p).body, T18_);
  	}
  	LA15_: ;
  	nimZeroMem((void*)T19_, sizeof(tyArray__qTjAvTvKF9anytN1At69aJMQ));
  	T20_ = NIM_NIL;
  	T20_ = percent___jsgen_1982(T19_, 0);
  	T21_ = NIM_NIL;
  	T21_ = indentLine__jsgen_97(p, T20_);
  	add__ropes_159(&(*p).body, T21_);
  	nimZeroMem((void*)(&a), sizeof(tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w));
  	gen__jsgen_766(p, (*n)._kind_6.sons->data[((NI) 0)], (&a));
  	moveInto__jsgen_1938(p, (&a), (*r));
  	generalCatchBranchExists = NIM_FALSE;
  	{
  		tyArray__qTjAvTvKF9anytN1At69aJMQ T26_;
  		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T27_;
  		tyArray__JiWwrsTRC6xqNlGcBthSVA T28_;
  		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T29_;
  		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T30_;
  		if (!catchBranchesExist) goto LA24_;
  		nimZeroMem((void*)T26_, sizeof(tyArray__qTjAvTvKF9anytN1At69aJMQ));
  		T27_ = NIM_NIL;
  		T27_ = percent___jsgen_1990(T26_, 0);
  		add__ropes_159(&(*p).body, T27_);
  		nimZeroMem((void*)T28_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
  		T28_[0] = tmpFramePtr;
  		T29_ = NIM_NIL;
  		T29_ = percent___jsgen_1995(T28_, 1);
  		T30_ = NIM_NIL;
  		T30_ = indentLine__jsgen_97(p, T29_);
  		add__ropes_159(&(*p).body, T30_);
  	}
  	LA24_: ;
  	{
  		while (1) {
  			NIM_BOOL T33_;
  			NI T34_;
  			T33_ = (NIM_BOOL)0;
  			T34_ = (NI)0;
  			T34_ = len__ast_3198(n);
  			T33_ = (i < T34_);
  			if (!(T33_)) goto LA35_;
  			T33_ = ((*(*n)._kind_6.sons->data[i]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 87));
  			LA35_: ;
  			if (!T33_) goto LA32;
  			{
  				NI T38_;
  				T38_ = (NI)0;
  				T38_ = len__ast_3198((*n)._kind_6.sons->data[i]);
  				if (!(T38_ == ((NI) 1))) goto LA39_;
  				generalCatchBranchExists = NIM_TRUE;
  				{
  					tyArray__qTjAvTvKF9anytN1At69aJMQ T45_;
  					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T46_;
  					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T47_;
  					if (!(((NI) 1) < i)) goto LA43_;
  					nimZeroMem((void*)T45_, sizeof(tyArray__qTjAvTvKF9anytN1At69aJMQ));
  					T46_ = NIM_NIL;
  					T46_ = percent___jsgen_2012(T45_, 0);
  					T47_ = NIM_NIL;
  					T47_ = indentLine__jsgen_97(p, T46_);
  					add__ropes_159(&(*p).body, T47_);
  				}
  				LA43_: ;
  				gen__jsgen_766(p, (*(*n)._kind_6.sons->data[i])._kind_6.sons->data[((NI) 0)], (&a));
  				moveInto__jsgen_1938(p, (&a), (*r));
  				{
  					tyArray__qTjAvTvKF9anytN1At69aJMQ T52_;
  					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T53_;
  					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T54_;
  					if (!(((NI) 1) < i)) goto LA50_;
  					nimZeroMem((void*)T52_, sizeof(tyArray__qTjAvTvKF9anytN1At69aJMQ));
  					T53_ = NIM_NIL;
  					T53_ = percent___cgen_7505(T52_, 0);
  					T54_ = NIM_NIL;
  					T54_ = indentLine__jsgen_97(p, T53_);
  					add__ropes_159(&(*p).body, T54_);
  				}
  				LA50_: ;
  			}
  			goto LA36_;
  			LA39_: ;
  			{
  				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* orExpr;
  				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* excAlias;
  				tyArray__JiWwrsTRC6xqNlGcBthSVA T93_;
  				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T94_;
  				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T95_;
  				NI T103_;
  				tyArray__qTjAvTvKF9anytN1At69aJMQ T104_;
  				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T105_;
  				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T106_;
  				orExpr = ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL);
  				excAlias = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL);
  				useMagic__jsgen_779(p, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_367));
  				{
  					NI j;
  					NI colontmp_;
  					NI T57_;
  					NI i_2;
  					j = (NI)0;
  					colontmp_ = (NI)0;
  					T57_ = (NI)0;
  					T57_ = len__ast_3198((*n)._kind_6.sons->data[i]);
  					colontmp_ = (NI)(T57_ - ((NI) 1));
  					i_2 = ((NI) 0);
  					{
  						while (1) {
  							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* throwObj;
  							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* it;
  							if (!(i_2 < colontmp_)) goto LA59;
  							j = i_2;
  							throwObj = NIM_NIL;
  							it = (*(*n)._kind_6.sons->data[i])._kind_6.sons->data[j];
  							{
  								NIM_BOOL T62_;
  								T62_ = (NIM_BOOL)0;
  								T62_ = isInfixAs__ast_4935(it);
  								if (!T62_) goto LA63_;
  								throwObj = (*it)._kind_6.sons->data[((NI) 1)];
  								excAlias = (*it)._kind_6.sons->data[((NI) 2)];
  								{
  									if (!!((orExpr == ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL)))) goto LA67_;
  									failedAssertImpl__systemZassertions_56(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_505));
  								}
  								LA67_: ;
  							}
  							goto LA60_;
  							LA63_: ;
  							{
  								if (!((*it).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 4))) goto LA70_;
  								throwObj = it;
  							}
  							goto LA60_;
  							LA70_: ;
  							{
  								internalErrorImpl__msgs_1431((*(*p).module).config, (*n).info, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_506), TM__BxLwT0mhrtgTPodf1v3xjg_507);
  							}
  							LA60_: ;
  							{
  								if (!!((orExpr == ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL)))) goto LA75_;
  								add__ropes_162(&orExpr, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_508));
  							}
  							LA75_: ;
  							{
  								NIM_BOOL T79_;
  								tyArray__JiWwrsTRC6xqNlGcBthSVA T82_;
  								tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T83_;
  								T79_ = (NIM_BOOL)0;
  								T79_ = isImportedException__ast_4904((*throwObj).typ, (*(*p).module).config);
  								if (!T79_) goto LA80_;
  								nimZeroMem((void*)T82_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
  								T82_[0] = (*(*(*throwObj).typ).sym).loc.r;
  								T83_ = NIM_NIL;
  								T83_ = percent___jsgen_2057(T82_, 1);
  								add__ropes_159(&orExpr, T83_);
  							}
  							goto LA77_;
  							LA80_: ;
  							{
  								tyArray__JiWwrsTRC6xqNlGcBthSVA T85_;
  								tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T86_;
  								nimZeroMem((void*)T85_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
  								T85_[0] = genTypeInfo__jsgen_385(p, (*throwObj).typ);
  								T86_ = NIM_NIL;
  								T86_ = percent___jsgen_2062(T85_, 1);
  								add__ropes_159(&orExpr, T86_);
  							}
  							LA77_: ;
  							i_2 += ((NI) 1);
  						} LA59: ;
  					}
  				}
  				{
  					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T91_;
  					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T92_;
  					if (!(((NI) 1) < i)) goto LA89_;
  					T91_ = NIM_NIL;
  					T91_ = rope__ropes_109(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_511));
  					T92_ = NIM_NIL;
  					T92_ = indentLine__jsgen_97(p, T91_);
  					add__ropes_159(&(*p).body, T92_);
  				}
  				LA89_: ;
  				nimZeroMem((void*)T93_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
  				T93_[0] = orExpr;
  				T94_ = NIM_NIL;
  				T94_ = percent___jsgen_2067(T93_, 1);
  				T95_ = NIM_NIL;
  				T95_ = indentLine__jsgen_97(p, T94_);
  				add__ropes_159(&(*p).body, T95_);
  				{
  					tyArray__JiWwrsTRC6xqNlGcBthSVA T100_;
  					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T101_;
  					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T102_;
  					if (!!((excAlias == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA98_;
  					asgnRef((void**) (&(*(*excAlias)._kind_4.sym).loc.r), mangleName__jsgen_308((*p).module, (*excAlias)._kind_4.sym));
  					nimZeroMem((void*)T100_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
  					T100_[0] = (*(*excAlias)._kind_4.sym).loc.r;
  					T101_ = NIM_NIL;
  					T101_ = percent___jsgen_2076(T100_, 1);
  					T102_ = NIM_NIL;
  					T102_ = indentLine__jsgen_97(p, T101_);
  					add__ropes_159(&(*p).body, T102_);
  				}
  				LA98_: ;
  				T103_ = (NI)0;
  				T103_ = len__ast_3198((*n)._kind_6.sons->data[i]);
  				gen__jsgen_766(p, (*(*n)._kind_6.sons->data[i])._kind_6.sons->data[(NI)(T103_ - ((NI) 1))], (&a));
  				moveInto__jsgen_1938(p, (&a), (*r));
  				nimZeroMem((void*)T104_, sizeof(tyArray__qTjAvTvKF9anytN1At69aJMQ));
  				T105_ = NIM_NIL;
  				T105_ = percent___cgen_7505(T104_, 0);
  				T106_ = NIM_NIL;
  				T106_ = indentLine__jsgen_97(p, T105_);
  				add__ropes_159(&(*p).body, T106_);
  			}
  			LA36_: ;
  			i += ((NI) 1);
  		} LA32: ;
  	}
  	{
  		tyArray__qTjAvTvKF9anytN1At69aJMQ T121_;
  		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T122_;
  		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T123_;
  		if (!catchBranchesExist) goto LA109_;
  		{
  			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T115_;
  			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T116_;
  			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T117_;
  			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T118_;
  			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T119_;
  			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T120_;
  			if (!!(generalCatchBranchExists)) goto LA113_;
  			useMagic__jsgen_779(p, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_514));
  			T115_ = NIM_NIL;
  			T115_ = rope__ropes_109(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_515));
  			T116_ = NIM_NIL;
  			T116_ = indentLine__jsgen_97(p, T115_);
  			add__ropes_159(&(*p).body, T116_);
  			T117_ = NIM_NIL;
  			T117_ = rope__ropes_109(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_516));
  			T118_ = NIM_NIL;
  			T118_ = indentLine__jsgen_97(p, T117_);
  			add__ropes_159(&(*p).body, T118_);
  			T119_ = NIM_NIL;
  			T119_ = rope__ropes_109(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_25));
  			T120_ = NIM_NIL;
  			T120_ = indentLine__jsgen_97(p, T119_);
  			add__ropes_159(&(*p).body, T120_);
  		}
  		LA113_: ;
  		nimZeroMem((void*)T121_, sizeof(tyArray__qTjAvTvKF9anytN1At69aJMQ));
  		T122_ = NIM_NIL;
  		T122_ = percent___jsgen_2095(T121_, 0);
  		T123_ = NIM_NIL;
  		T123_ = indentLine__jsgen_97(p, T122_);
  		add__ropes_159(&(*p).body, T123_);
  	}
  	LA109_: ;
  	T124_ = NIM_NIL;
  	T124_ = rope__ropes_109(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_518));
  	T125_ = NIM_NIL;
  	T125_ = indentLine__jsgen_97(p, T124_);
  	add__ropes_159(&(*p).body, T125_);
  	nimZeroMem((void*)T126_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
  	T126_[0] = tmpFramePtr;
  	T127_ = NIM_NIL;
  	T127_ = percent___jsgen_1995(T126_, 1);
  	T128_ = NIM_NIL;
  	T128_ = indentLine__jsgen_97(p, T127_);
  	add__ropes_159(&(*p).body, T128_);
  	{
  		NIM_BOOL T131_;
  		NI T132_;
  		T131_ = (NIM_BOOL)0;
  		T132_ = (NI)0;
  		T132_ = len__ast_3198(n);
  		T131_ = (i < T132_);
  		if (!(T131_)) goto LA133_;
  		T131_ = ((*(*n)._kind_6.sons->data[i]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 107));
  		LA133_: ;
  		if (!T131_) goto LA134_;
  		genStmt__jsgen_770(p, (*(*n)._kind_6.sons->data[i])._kind_6.sons->data[((NI) 0)]);
  	}
  	LA134_: ;
  	T136_ = NIM_NIL;
  	T136_ = rope__ropes_109(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_25));
  	T137_ = NIM_NIL;
  	T137_ = indentLine__jsgen_97(p, T136_);
  	add__ropes_159(&(*p).body, T137_);
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_2135)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_520), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(void, genRaiseStmt__jsgen_2123)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
  	{
  		tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w a;
  		tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
  		tyArray__mrugoXXRZUEeG9bEXo9auBKw T5_;
  		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T6_;
  		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T7_;
  		if (!!(((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA3_;
  		nimZeroMem((void*)(&a), sizeof(tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w));
  		gen__jsgen_766(p, (*n)._kind_6.sons->data[((NI) 0)], (&a));
  		typ = skipTypes__ast_3735((*(*n)._kind_6.sons->data[((NI) 0)]).typ, TM__BxLwT0mhrtgTPodf1v3xjg_334);
  		genLineDir__jsgen_1818(p, n);
  		useMagic__jsgen_779(p, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_519));
  		nimZeroMem((void*)T5_, sizeof(tyArray__mrugoXXRZUEeG9bEXo9auBKw));
  		T5_[0] = rdLoc__jsgen_188(a);
  		T5_[1] = makeJSString__jsgen_378((*(*(*typ).sym).name).s, NIM_TRUE);
  		T6_ = NIM_NIL;
  		T6_ = percent___jsgen_2135(T5_, 2);
  		T7_ = NIM_NIL;
  		T7_ = indentLine__jsgen_97(p, T6_);
  		add__ropes_159(&(*p).body, T7_);
  	}
  	goto LA1_;
  	LA3_: ;
  	{
  		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T9_;
  		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T10_;
  		genLineDir__jsgen_1818(p, n);
  		useMagic__jsgen_779(p, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_514));
  		T9_ = NIM_NIL;
  		T9_ = rope__ropes_109(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_521));
  		T10_ = NIM_NIL;
  		T10_ = indentLine__jsgen_97(p, T9_);
  		add__ropes_159(&(*p).body, T10_);
  	}
  	LA1_: ;
  }
  N_LIB_PRIVATE N_NIMCALL(void, genPragma__jsgen_6039)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
  	{
  		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** it;
  		tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ* colontmp_;
  		NI i;
  		NI L;
  		NI T2_;
  		it = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw**)0;
  		colontmp_ = NIM_NIL;
  		colontmp_ = (*n)._kind_6.sons;
  		i = ((NI) 0);
  		T2_ = (colontmp_ ? colontmp_->Sup.len : 0);
  		L = T2_;
  		{
  			while (1) {
  				tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw T5_;
  				if (!(i < L)) goto LA4;
  				it = &colontmp_->data[i];
  				T5_ = (tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw)0;
  				T5_ = whichPragma__trees_244((*it));
  				switch (T5_) {
  				case ((tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw) 214):
  				{
  					genAsmOrEmitStmt__jsgen_2330(p, (*(*it))._kind_6.sons->data[((NI) 1)]);
  				}
  				break;
  				default:
  				{
  				}
  				break;
  				}
  				i += ((NI) 1);
  			} LA4: ;
  		}
  	}
  }
  N_LIB_PRIVATE N_NIMCALL(void, gen__jsgen_766)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w* r) {
  	(*r).typ = ((tyEnum_TJSTypeKind__9aFSCXgaSEq2m81RJRMKDeA) 0);
  	{
  		if (!!(((*r).kind == ((tyEnum_TResKind__EoayJcDa8SxU1YPfjU8L9bg) 3)))) goto LA3_;
  		(*r).kind = ((tyEnum_TResKind__EoayJcDa8SxU1YPfjU8L9bg) 0);
  	}
  	LA3_: ;
  	unsureAsgnRef((void**) (&(*r).res), ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL));
  	switch ((*n).kind) {
  	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
  	{
  		genSym__jsgen_3308(p, n, r);
  	}
  	break;
  	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 5) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 15):
  	{
  		{
  			if (!((*(*n).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 1))) goto LA9_;
  			{
  				if (!((*n)._kind_1.intVal == IL64(0))) goto LA13_;
  				unsureAsgnRef((void**) (&(*r).res), rope__ropes_109(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_207)));
  			}
  			goto LA11_;
  			LA13_: ;
  			{
  				unsureAsgnRef((void**) (&(*r).res), rope__ropes_109(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_208)));
  			}
  			LA11_: ;
  		}
  		goto LA7_;
  		LA9_: ;
  		{
  			unsureAsgnRef((void**) (&(*r).res), rope__ropes_115((*n)._kind_1.intVal));
  		}
  		LA7_: ;
  		(*r).kind = ((tyEnum_TResKind__EoayJcDa8SxU1YPfjU8L9bg) 1);
  	}
  	break;
  	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23):
  	{
  		{
  			NIM_BOOL T20_;
  			T20_ = (NIM_BOOL)0;
  			T20_ = isEmptyType__ast_4779((*n).typ);
  			if (!T20_) goto LA21_;
  		}
  		goto LA18_;
  		LA21_: ;
  		{
  			tyEnum_TJSTypeKind__9aFSCXgaSEq2m81RJRMKDeA T24_;
  			T24_ = (tyEnum_TJSTypeKind__9aFSCXgaSEq2m81RJRMKDeA)0;
  			T24_ = mapType__jsgen_304(p, (*n).typ);
  			if (!(T24_ == ((tyEnum_TJSTypeKind__9aFSCXgaSEq2m81RJRMKDeA) 9))) goto LA25_;
  			(*r).typ = ((tyEnum_TJSTypeKind__9aFSCXgaSEq2m81RJRMKDeA) 9);
  			unsureAsgnRef((void**) (&(*r).address), rope__ropes_109(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_209)));
  			unsureAsgnRef((void**) (&(*r).res), rope__ropes_109(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_210)));
  			(*r).kind = ((tyEnum_TResKind__EoayJcDa8SxU1YPfjU8L9bg) 1);
  		}
  		goto LA18_;
  		LA25_: ;
  		{
  			unsureAsgnRef((void**) (&(*r).res), rope__ropes_109(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_209)));
  			(*r).kind = ((tyEnum_TResKind__EoayJcDa8SxU1YPfjU8L9bg) 1);
  		}
  		LA18_: ;
  	}
  	break;
  	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 20) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 22):
  	{
  		{
  			tyObject_TType__facALICuu8zUj0hjvbTLFg* T31_;
  			T31_ = NIM_NIL;
  			T31_ = skipTypes__ast_3735((*n).typ, TM__BxLwT0mhrtgTPodf1v3xjg_211);
  			if (!((*T31_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 28))) goto LA32_;
  			{
  				tyArray__JiWwrsTRC6xqNlGcBthSVA T38_;
  				if (!!((((*n)._kind_3.strVal ? (*n)._kind_3.strVal->Sup.len : 0) == ((NI) 0)))) goto LA36_;
  				useMagic__jsgen_779(p, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_212));
  				nimZeroMem((void*)T38_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
  				T38_[0] = makeJSString__jsgen_378((*n)._kind_3.strVal, NIM_TRUE);
  				unsureAsgnRef((void**) (&(*r).res), percent___jsgen_6385(T38_, 1));
  			}
  			goto LA34_;
  			LA36_: ;
  			{
  				unsureAsgnRef((void**) (&(*r).res), rope__ropes_109(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_214)));
  			}
  			LA34_: ;
  		}
  		goto LA29_;
  		LA32_: ;
  		{
  			unsureAsgnRef((void**) (&(*r).res), makeJSString__jsgen_378((*n)._kind_3.strVal, NIM_FALSE));
  		}
  		LA29_: ;
  		(*r).kind = ((tyEnum_TResKind__EoayJcDa8SxU1YPfjU8L9bg) 1);
  	}
  	break;
  	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 16) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 18):
  	{
  		NF f;
  		tyEnum_FloatClass__pPga1yW9b8J9cwNnm9b1aPRnA T42_;
  		f = (*n)._kind_2.floatVal;
  		T42_ = (tyEnum_FloatClass__pPga1yW9b8J9cwNnm9b1aPRnA)0;
  		T42_ = classify__pureZmath_147(f);
  		switch (T42_) {
  		case ((tyEnum_FloatClass__pPga1yW9b8J9cwNnm9b1aPRnA) 4):
  		{
  			{
  				NIM_BOOL T46_;
  				T46_ = (NIM_BOOL)0;
  				T46_ = signbit__astalgo_926(f);
  				if (!T46_) goto LA47_;
  				unsureAsgnRef((void**) (&(*r).res), rope__ropes_109(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_215)));
  			}
  			goto LA44_;
  			LA47_: ;
  			{
  				unsureAsgnRef((void**) (&(*r).res), rope__ropes_109(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_216)));
  			}
  			LA44_: ;
  		}
  		break;
  		case ((tyEnum_FloatClass__pPga1yW9b8J9cwNnm9b1aPRnA) 3):
  		{
  			unsureAsgnRef((void**) (&(*r).res), rope__ropes_109(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_217)));
  		}
  		break;
  		case ((tyEnum_FloatClass__pPga1yW9b8J9cwNnm9b1aPRnA) 2):
  		{
  			unsureAsgnRef((void**) (&(*r).res), rope__ropes_109(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_218)));
  		}
  		break;
  		case ((tyEnum_FloatClass__pPga1yW9b8J9cwNnm9b1aPRnA) 5):
  		{
  			unsureAsgnRef((void**) (&(*r).res), rope__ropes_109(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_219)));
  		}
  		break;
  		case ((tyEnum_FloatClass__pPga1yW9b8J9cwNnm9b1aPRnA) 6):
  		{
  			unsureAsgnRef((void**) (&(*r).res), rope__ropes_109(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_220)));
  		}
  		break;
  		default:
  		{
  			NimStringDesc* T55_;
  			T55_ = NIM_NIL;
  			T55_ = toStrMaxPrecision__astalgo_920(f);
  			unsureAsgnRef((void**) (&(*r).res), rope__ropes_109(T55_));
  		}
  		break;
  		}
  		(*r).kind = ((tyEnum_TResKind__EoayJcDa8SxU1YPfjU8L9bg) 1);
  	}
  	break;
  	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 26) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 32):
  	{
  		{
  			NIM_BOOL T59_;
  			T59_ = (NIM_BOOL)0;
  			T59_ = isEmptyType__ast_4779((*n).typ);
  			if (!T59_) goto LA60_;
  			genLineDir__jsgen_1818(p, n);
  		}
  		LA60_: ;
  		{
  			NIM_BOOL T64_;
  			T64_ = (NIM_BOOL)0;
  			T64_ = ((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
  			if (!(T64_)) goto LA65_;
  			T64_ = !(((*(*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 0)));
  			LA65_: ;
  			if (!T64_) goto LA66_;
  			genMagic__jsgen_4598(p, n, r);
  		}
  		goto LA62_;
  		LA66_: ;
  		{
  			NIM_BOOL T69_;
  			NIM_BOOL T70_;
  			NI T73_;
  			T69_ = (NIM_BOOL)0;
  			T70_ = (NIM_BOOL)0;
  			T70_ = ((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
  			if (!(T70_)) goto LA71_;
  			T70_ = (((*(*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 32))&63U)))!=0);
  			LA71_: ;
  			T69_ = T70_;
  			if (!(T69_)) goto LA72_;
  			T73_ = (NI)0;
  			T73_ = len__ast_3198(n);
  			T69_ = (((NI) 1) <= T73_);
  			LA72_: ;
  			if (!T69_) goto LA74_;
  			genInfixCall__jsgen_3688(p, n, r);
  		}
  		goto LA62_;
  		LA74_: ;
  		{
  			genCall__jsgen_3735(p, n, r);
  		}
  		LA62_: ;
  	}
  	break;
  	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 155):
  	{
  		gen__jsgen_766(p, (*n)._kind_6.sons->data[((NI) 0)], r);
  	}
  	break;
  	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 39):
  	{
  		genSetConstr__jsgen_5219(p, n, r);
  	}
  	break;
  	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 41):
  	{
  		genArrayConstr__jsgen_5263(p, n, r);
  	}
  	break;
  	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 37):
  	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 160):
  	{
  		genTupleConstr__jsgen_5289(p, n, r);
  	}
  	break;
  	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 38):
  	{
  		genObjConstr__jsgen_5328(p, n, r);
  	}
  	break;
  	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 58):
  	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 59):
  	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 60):
  	{
  		genConv__jsgen_5438(p, n, r);
  	}
  	break;
  	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 63):
  	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 64):
  	{
  		genAddr__jsgen_2875(p, n, r);
  	}
  	break;
  	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 47):
  	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 65):
  	{
  		genDeref__jsgen_3452(p, n, r);
  	}
  	break;
  	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 42):
  	{
  		genArrayAccess__jsgen_3014(p, n, r);
  	}
  	break;
  	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 45):
  	{
  		genFieldAccess__jsgen_2791(p, n, r);
  	}
  	break;
  	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 46):
  	{
  		genCheckedFieldOp__jsgen_2879(p, n, ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL), r);
  	}
  	break;
  	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 66):
  	{
  		gen__jsgen_766(p, (*n)._kind_6.sons->data[((NI) 0)], r);
  	}
  	break;
  	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 67):
  	{
  		upConv__jsgen_5730(p, n, r);
  	}
  	break;
  	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 61):
  	{
  		genCast__jsgen_6047(p, n, r);
  	}
  	break;
  	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 68):
  	{
  		genRangeChck__jsgen_5735(p, n, r, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_452));
  	}
  	break;
  	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 69):
  	{
  		genRangeChck__jsgen_5735(p, n, r, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_453));
  	}
  	break;
  	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 70):
  	{
  		genRangeChck__jsgen_5735(p, n, r, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_450));
  	}
  	break;
  	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 71):
  	{
  		convStrToCStr__jsgen_5762(p, n, r);
  	}
  	break;
  	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 72):
  	{
  		convCStrToStr__jsgen_5783(p, n, r);
  	}
  	break;
  	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1):
  	{
  	}
  	break;
  	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 51) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 52):
  	{
  		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
  		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T98_;
  		s = (*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym;
  		T98_ = NIM_NIL;
  		T98_ = mangleName__jsgen_308((*p).module, s);
  		(void)(T98_);
  		unsureAsgnRef((void**) (&(*r).res), (*s).loc.r);
  		{
  			NIM_BOOL T101_;
  			T101_ = (NIM_BOOL)0;
  			T101_ = (((*s).loc.flags &((NU16)1<<((NU)(((tyEnum_TLocFlag__o2bqJgR4ceIupnUSpxiudA) 3))&15U)))!=0);
  			if (T101_) goto LA102_;
  			T101_ = !(((*s).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 0) || (*s).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 155)));
  			LA102_: ;
  			if (!T101_) goto LA103_;
  		}
  		goto LA99_;
  		LA103_: ;
  		{
  			tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym1175_;
  			NIM_BOOL T106_;
  			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T109_;
  			xX60gensym1175_ = s;
  			T106_ = (NIM_BOOL)0;
  			T106_ = containsOrIncl__astalgo_402((&(*(*p).g).generatedSyms), (NI)((NI)((NU32)(((NI) ((*xX60gensym1175_).Sup.itemId.module))) << (NU32)(((NI) 20))) + ((NI) ((*xX60gensym1175_).Sup.itemId.item))));
  			if (!!(T106_)) goto LA107_;
  			T109_ = NIM_NIL;
  			T109_ = genProc__jsgen_773(p, s);
  			add__ropes_159(&(*p).locals, T109_);
  		}
  		goto LA99_;
  		LA107_: ;
  		LA99_: ;
  	}
  	break;
  	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 4):
  	{
  		unsureAsgnRef((void**) (&(*r).res), genTypeInfo__jsgen_385(p, (*n).typ));
  	}
  	break;
  	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115):
  	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126):
  	{
  		NIM_BOOL isExpr;
  		NIM_BOOL T112_;
  		T112_ = (NIM_BOOL)0;
  		T112_ = isEmptyType__ast_4779((*n).typ);
  		isExpr = !(T112_);
  		{
  			NI i;
  			NI colontmp_;
  			NI T114_;
  			NI i_2;
  			i = (NI)0;
  			colontmp_ = (NI)0;
  			T114_ = (NI)0;
  			T114_ = len__ast_3198(n);
  			colontmp_ = (NI)(T114_ - isExpr);
  			i_2 = ((NI) 0);
  			{
  				while (1) {
  					if (!(i_2 < colontmp_)) goto LA116;
  					i = i_2;
  					genStmt__jsgen_770(p, (*n)._kind_6.sons->data[i]);
  					i_2 += ((NI) 1);
  				} LA116: ;
  			}
  		}
  		{
  			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T121_;
  			if (!isExpr) goto LA119_;
  			T121_ = NIM_NIL;
  			T121_ = lastSon__ast_4832(n);
  			gen__jsgen_766(p, T121_, r);
  		}
  		LA119_: ;
  	}
  	break;
  	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 112):
  	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 127):
  	{
  		genBlock__jsgen_2248(p, n, r);
  	}
  	break;
  	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 92):
  	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 48):
  	{
  		genIf__jsgen_2358(p, n, r);
  	}
  	break;
  	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 93):
  	{
  		gen__jsgen_766(p, (*(*n)._kind_6.sons->data[((NI) 1)])._kind_6.sons->data[((NI) 0)], r);
  	}
  	break;
  	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 96):
  	{
  		genWhileStmt__jsgen_1839(p, n);
  	}
  	break;
  	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 99):
  	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 100):
  	{
  		genVarStmt__jsgen_4260(p, n);
  	}
  	break;
  	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 101):
  	{
  	}
  	break;
  	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 94):
  	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 95):
  	{
  		internalErrorImpl__msgs_1431((*(*p).module).config, (*n).info, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_467), TM__BxLwT0mhrtgTPodf1v3xjg_468);
  	}
  	break;
  	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 97):
  	{
  		genCaseJS__jsgen_2140(p, n, r);
  	}
  	break;
  	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 109):
  	{
  		genReturnStmt__jsgen_5803(p, n);
  	}
  	break;
  	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 110):
  	{
  		genBreakStmt__jsgen_2292(p, n);
  	}
  	break;
  	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 73):
  	{
  		genAsgn__jsgen_2701(p, n);
  	}
  	break;
  	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 74):
  	{
  		genFastAsgn__jsgen_2706(p, n);
  	}
  	break;
  	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 114):
  	{
  		{
  			if (!!(((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA137_;
  			genLineDir__jsgen_1818(p, n);
  			gen__jsgen_766(p, (*n)._kind_6.sons->data[((NI) 0)], r);
  			unsureAsgnRef((void**) (&(*r).res), amp___ropes_144(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_498), (*r).res));
  		}
  		LA137_: ;
  	}
  	break;
  	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 89):
  	{
  		genAsmOrEmitStmt__jsgen_2330(p, n);
  	}
  	break;
  	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 106):
  	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 154):
  	{
  		genTry__jsgen_1959(p, n, r);
  	}
  	break;
  	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 108):
  	{
  		genRaiseStmt__jsgen_2123(p, n);
  	}
  	break;
  	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 98):
  	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 125):
  	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 121):
  	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 116):
  	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 117):
  	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 118):
  	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 119):
  	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 120):
  	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 83):
  	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 82):
  	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 113):
  	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 123):
  	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 122):
  	{
  	}
  	break;
  	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 84):
  	{
  		{
  			if (!((*(*(*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym).typ).callConv == ((tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA) 9))) goto LA146_;
  			liMessage__msgs_1118((*(*p).module).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_522), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 2), TM__BxLwT0mhrtgTPodf1v3xjg_523, NIM_FALSE);
  		}
  		LA146_: ;
  	}
  	break;
  	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 90):
  	{
  		genPragma__jsgen_6039(p, n);
  	}
  	break;
  	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 79):
  	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 159):
  	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 80):
  	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 81):
  	{
  		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s_2;
  		s_2 = (*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym;
  		{
  			if (!((262272 & (*s_2).flags) == 128)) goto LA152_;
  			genSym__jsgen_3308(p, (*n)._kind_6.sons->data[((NI) 0)], r);
  			unsureAsgnRef((void**) (&(*r).res), ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL));
  		}
  		LA152_: ;
  	}
  	break;
  	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 156):
  	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 157):
  	{
  		liMessage__msgs_1118((*(*p).module).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_524), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 2), TM__BxLwT0mhrtgTPodf1v3xjg_525, NIM_FALSE);
  	}
  	break;
  	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 91):
  	{
  		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T156_;
  		T156_ = NIM_NIL;
  		T156_ = lastSon__ast_4832(n);
  		gen__jsgen_766(p, T156_, r);
  	}
  	break;
  	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 24):
  	{
  	}
  	break;
  	default:
  	{
  		NimStringDesc* T159_;
  		T159_ = NIM_NIL;
  		T159_ = rawNewString((reprEnum((NI)(*n).kind, (&NTItnodekind__G4E4Gxe7oI2Cm03rkiOzQw_)) ? reprEnum((NI)(*n).kind, (&NTItnodekind__G4E4Gxe7oI2Cm03rkiOzQw_))->Sup.len : 0) + 24);
  appendString(T159_, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_526));
  appendString(T159_, reprEnum((NI)(*n).kind, (&NTItnodekind__G4E4Gxe7oI2Cm03rkiOzQw_)));
  		internalErrorImpl__msgs_1431((*(*p).module).config, (*n).info, T159_, TM__BxLwT0mhrtgTPodf1v3xjg_527);
  	}
  	break;
  	}
  }
  N_LIB_PRIVATE N_NIMCALL(void, genStmt__jsgen_770)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
  	tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w r;
  	nimZeroMem((void*)(&r), sizeof(tyObject_TCompRes__ZngkNoeBYb0CyBmkEOJi5w));
  	gen__jsgen_766(p, n, (&r));
  	{
  		tyArray__JiWwrsTRC6xqNlGcBthSVA T5_;
  		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T6_;
  		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T7_;
  		if (!!((r.res == ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL)))) goto LA3_;
  		nimZeroMem((void*)T5_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
  		T5_[0] = r.res;
  		T6_ = NIM_NIL;
  		T6_ = percent___cgen_13931(T5_, 1);
  		T7_ = NIM_NIL;
  		T7_ = indentLine__jsgen_97(p, T6_);
  		add__ropes_159(&(*p).body, T7_);
  	}
  	LA3_: ;
  }
  N_LIB_PRIVATE N_NIMCALL(void, addHcrInitGuards__jsgen_6528)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* moduleLoadedVar, NIM_BOOL* inInitGuard) {
  	{
  		if (!((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115))) goto LA3_;
  		{
  			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* child;
  			child = NIM_NIL;
  			{
  				NI i;
  				NI colontmp_;
  				NI i_2;
  				i = (NI)0;
  				colontmp_ = (NI)0;
  				colontmp_ = safeLen__ast_3191(n);
  				i_2 = ((NI) 0);
  				{
  					while (1) {
  						if (!(i_2 < colontmp_)) goto LA8;
  						i = i_2;
  						child = (*n)._kind_6.sons->data[i];
  						addHcrInitGuards__jsgen_6528(p, child, moduleLoadedVar, inInitGuard);
  						i_2 += ((NI) 1);
  					} LA8: ;
  				}
  			}
  		}
  	}
  	goto LA1_;
  	LA3_: ;
  	{
  		NIM_BOOL stmtShouldExecute;
  		NIM_BOOL T10_;
  		T10_ = (NIM_BOOL)0;
  		T10_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 79) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 159) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 80) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 81) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 99) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 100));
  		if (T10_) goto LA11_;
  		T10_ = (((*n).flags &((NU32)1<<((NU)(((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 20))&31U)))!=0);
  		LA11_: ;
  		stmtShouldExecute = T10_;
  		{
  			if (!(*inInitGuard)) goto LA14_;
  			{
  				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T20_;
  				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T21_;
  				if (!stmtShouldExecute) goto LA18_;
  				(*p).extraIndent -= ((NI) 1);
  				T20_ = NIM_NIL;
  				T20_ = rope__ropes_109(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_25));
  				T21_ = NIM_NIL;
  				T21_ = indentLine__jsgen_97(p, T20_);
  				add__ropes_159(&(*p).body, T21_);
  				(*inInitGuard) = NIM_FALSE;
  			}
  			LA18_: ;
  		}
  		goto LA12_;
  		LA14_: ;
  		{
  			{
  				tyArray__JiWwrsTRC6xqNlGcBthSVA T27_;
  				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T28_;
  				tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T29_;
  				if (!!(stmtShouldExecute)) goto LA25_;
  				nimZeroMem((void*)T27_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
  				T27_[0] = moduleLoadedVar;
  				T28_ = NIM_NIL;
  				T28_ = percent___jsgen_6551(T27_, 1);
  				T29_ = NIM_NIL;
  				T29_ = indentLine__jsgen_97(p, T28_);
  				add__ropes_159(&(*p).body, T29_);
  				(*p).extraIndent += ((NI) 1);
  				(*inInitGuard) = NIM_TRUE;
  			}
  			LA25_: ;
  		}
  		LA12_: ;
  		genStmt__jsgen_770(p, n);
  	}
  	LA1_: ;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___jsgen_6587)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	result = NIM_NIL;
  	result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_528), args, argsLen_0);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(void, genModule__jsgen_6560)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
  	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* transformedN;
  	{
  		NimStringDesc* T5_;
  		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T6_;
  		NimStringDesc* T7_;
  		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T8_;
  		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T9_;
  		if (!(((*p).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 17))&31U)))!=0)) goto LA3_;
  		T5_ = NIM_NIL;
  		T5_ = rawNewString(((*(*(*(*p).module).module).name).s ? (*(*(*(*p).module).module).name).s->Sup.len : 0) + 7);
  appendString(T5_, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_22));
  appendString(T5_, (*(*(*(*p).module).module).name).s);
  		T6_ = NIM_NIL;
  		T6_ = makeJSString__jsgen_378(T5_, NIM_TRUE);
  		T7_ = NIM_NIL;
  		T7_ = toFilenameOption__msgs_590((*(*p).module).config, (*(*(*p).module).module).info.fileIndex, ((tyEnum_FilenameOption__eL86bAtPxXWHj24F5gOMFQ) 5));
  		T8_ = NIM_NIL;
  		T8_ = makeJSString__jsgen_378(T7_, NIM_TRUE);
  		T9_ = NIM_NIL;
  		T9_ = frameCreate__jsgen_5821(p, T6_, T8_);
  		add__ropes_159(&(*p).body, T9_);
  	}
  	LA3_: ;
  	transformedN = transformStmt__transf_1873((*(*p).module).graph, (*(*p).module).Sup.idgen, (*(*p).module).module, n);
  	{
  		if (!(((*(*(*p).module).module).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 42))&63U)))!=0)) goto LA12_;
  		transformedN = injectDestructorCalls__injectdestructors_10100((*(*p).module).graph, (*(*p).module).Sup.idgen, (*(*p).module).module, transformedN);
  	}
  	LA12_: ;
  	{
  		NIM_BOOL T16_;
  		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* moduleSym;
  		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* moduleLoadedVar;
  		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T20_;
  		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T21_;
  		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T22_;
  		tyArray__JiWwrsTRC6xqNlGcBthSVA T23_;
  		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T24_;
  		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T25_;
  		NIM_BOOL inGuardedBlock;
  		tyArray__JiWwrsTRC6xqNlGcBthSVA T32_;
  		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T33_;
  		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T34_;
  		T16_ = (NIM_BOOL)0;
  		T16_ = hcrOn__options_569((*(*p).module).config);
  		if (!(T16_)) goto LA17_;
  		T16_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115));
  		LA17_: ;
  		if (!T16_) goto LA18_;
  		moduleSym = (*(*p).module).module;
  		T20_ = NIM_NIL;
  		T20_ = rope__ropes_109((*(*moduleSym).name).s);
  		T21_ = NIM_NIL;
  		T21_ = amp___ropes_140(T20_, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_23));
  		T22_ = NIM_NIL;
  		T22_ = idOrSig__sighashes_2057(moduleSym, (*(*moduleSym).name).s, (&(*(*p).module).sigConflicts));
  		moduleLoadedVar = amp___ropes_128(T21_, T22_);
  		nimZeroMem((void*)T23_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
  		T23_[0] = moduleLoadedVar;
  		T24_ = NIM_NIL;
  		T24_ = percent___jsgen_851(T23_, 1);
  		T25_ = NIM_NIL;
  		T25_ = indentLine__jsgen_97(p, T24_);
  		add__ropes_159(&(*p).body, T25_);
  		inGuardedBlock = NIM_FALSE;
  		addHcrInitGuards__jsgen_6528(p, transformedN, moduleLoadedVar, (&inGuardedBlock));
  		{
  			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T30_;
  			tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T31_;
  			if (!inGuardedBlock) goto LA28_;
  			(*p).extraIndent -= ((NI) 1);
  			T30_ = NIM_NIL;
  			T30_ = rope__ropes_109(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_25));
  			T31_ = NIM_NIL;
  			T31_ = indentLine__jsgen_97(p, T30_);
  			add__ropes_159(&(*p).body, T31_);
  		}
  		LA28_: ;
  		nimZeroMem((void*)T32_, sizeof(tyArray__JiWwrsTRC6xqNlGcBthSVA));
  		T32_[0] = moduleLoadedVar;
  		T33_ = NIM_NIL;
  		T33_ = percent___jsgen_6587(T32_, 1);
  		T34_ = NIM_NIL;
  		T34_ = indentLine__jsgen_97(p, T33_);
  		add__ropes_159(&(*p).body, T34_);
  	}
  	goto LA14_;
  	LA18_: ;
  	{
  		genStmt__jsgen_770(p, transformedN);
  	}
  	LA14_: ;
  	{
  		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T40_;
  		if (!(((*p).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 17))&31U)))!=0)) goto LA38_;
  		T40_ = NIM_NIL;
  		T40_ = frameDestroy__jsgen_5837(p);
  		add__ropes_159(&(*p).body, T40_);
  	}
  	LA38_: ;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, myProcess__jsgen_6596)(tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w* b, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
  	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
  	tyObject_TJSGen__qij68Ti2EwJQHH6sSdkSdw* m;
  	tyObject_PGlobalscolonObjectType___nWsHZg3qCUsABoCNYLliag* globals;
  	tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p;
  {	result = NIM_NIL;
  	result = n;
  	m = ((tyObject_TJSGen__qij68Ti2EwJQHH6sSdkSdw*) (b));
  	{
  		NIM_BOOL T3_;
  		T3_ = (NIM_BOOL)0;
  		T3_ = skipCodegen__passes_49((*m).config, n);
  		if (!T3_) goto LA4_;
  		result = n;
  		goto BeforeRet_;
  	}
  	LA4_: ;
  	{
  		if (!((*m).module == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL))) goto LA8_;
  		internalErrorImpl__msgs_1431((*m).config, (*n).info, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_4), TM__BxLwT0mhrtgTPodf1v3xjg_5);
  	}
  	LA8_: ;
  	globals = (*((tyObject_PGlobalscolonObjectType___nWsHZg3qCUsABoCNYLliag**) (&((*(*m).graph).backend))));
  	p = newInitProc__jsgen_244(globals, m);
  	(*p).unique = (*globals).unique;
  	genModule__jsgen_6560(p, n);
  	add__ropes_159(&(*(*p).g).code, (*p).locals);
  	add__ropes_159(&(*(*p).g).code, (*p).body);
  	}BeforeRet_: ;
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, genHeader__jsgen_6526)(void) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	NimStringDesc* T1_;
  	NimStringDesc* T2_;
  	result = NIM_NIL;
  	T1_ = NIM_NIL;
  	T1_ = nsuUnindent(((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_529), ((NI) 2147483647), ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_530));
  	T2_ = NIM_NIL;
  	T2_ = nsuFormatVarargs(T1_, TM__BxLwT0mhrtgTPodf1v3xjg_531, 1);
  	result = rope__ropes_109(T2_);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(void, attachProc__jsgen_3218)(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* newp;
  	newp = genProc__jsgen_773(p, s);
  	attachProc__jsgen_3214(p, newp, s);
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, wholeCode__jsgen_6607)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TJSGen__qij68Ti2EwJQHH6sSdkSdw* m) {
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
  	tyObject_PGlobalscolonObjectType___nWsHZg3qCUsABoCNYLliag* globals;
  	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* disp;
  	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T18_;
  	result = NIM_NIL;
  	globals = (*((tyObject_PGlobalscolonObjectType___nWsHZg3qCUsABoCNYLliag**) (&((*graph).backend))));
  	{
  		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ** prc;
  		NI i;
  		NI L;
  		NI T2_;
  		prc = (tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ**)0;
  		i = ((NI) 0);
  		T2_ = ((*globals).forwarded ? (*globals).forwarded->Sup.len : 0);
  		L = T2_;
  		{
  			while (1) {
  				if (!(i < L)) goto LA4;
  				prc = &(*globals).forwarded->data[i];
  				{
  					tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym1212_;
  					NIM_BOOL T7_;
  					tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p;
  					xX60gensym1212_ = (*prc);
  					T7_ = (NIM_BOOL)0;
  					T7_ = containsOrIncl__astalgo_402((&(*globals).generatedSyms), (NI)((NI)((NU32)(((NI) ((*xX60gensym1212_).Sup.itemId.module))) << (NU32)(((NI) 20))) + ((NI) ((*xX60gensym1212_).Sup.itemId.item))));
  					if (!!(T7_)) goto LA8_;
  					p = newInitProc__jsgen_244(globals, m);
  					attachProc__jsgen_3218(p, (*prc));
  				}
  				LA8_: ;
  				i += ((NI) 1);
  			} LA4: ;
  		}
  	}
  	disp = generateMethodDispatchers__cgmeth_546(graph);
  	{
  		NI i_2;
  		NI colontmp_;
  		NI i_3;
  		i_2 = (NI)0;
  		colontmp_ = (NI)0;
  		colontmp_ = len__ast_3198(disp);
  		i_3 = ((NI) 0);
  		{
  			while (1) {
  				tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* prc_2;
  				if (!(i_3 < colontmp_)) goto LA12;
  				i_2 = i_3;
  				prc_2 = (*(*disp)._kind_6.sons->data[i_2])._kind_4.sym;
  				{
  					tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym1214_;
  					NIM_BOOL T15_;
  					tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q* p_2;
  					xX60gensym1214_ = prc_2;
  					T15_ = (NIM_BOOL)0;
  					T15_ = containsOrIncl__astalgo_402((&(*globals).generatedSyms), (NI)((NI)((NU32)(((NI) ((*xX60gensym1214_).Sup.itemId.module))) << (NU32)(((NI) 20))) + ((NI) ((*xX60gensym1214_).Sup.itemId.item))));
  					if (!!(T15_)) goto LA16_;
  					p_2 = newInitProc__jsgen_244(globals, m);
  					attachProc__jsgen_3218(p_2, prc_2);
  				}
  				LA16_: ;
  				i_3 += ((NI) 1);
  			} LA12: ;
  		}
  	}
  	T18_ = NIM_NIL;
  	T18_ = amp___ropes_128((*globals).typeInfo, (*globals).constants);
  	result = amp___ropes_128(T18_, (*globals).code);
  	return result;
  }
  static N_INLINE(void, X5BX5Deq___pureZjson_1923)(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* obj, NimStringDesc* key, tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* val) {
  	X5BX5Deq___pureZjson_287((&(*obj)._kind_6.fields), key, val);
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*, percent___jsgen_6746)(NimStringDesc** elements, NI elementsLen_0) {
  	tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* result;
  	result = NIM_NIL;
  	result = newJArray__pureZjson_123();
  	{
  		NimStringDesc** elem;
  		NI i;
  		elem = (NimStringDesc**)0;
  		i = ((NI) 0);
  		{
  			while (1) {
  				tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* T4_;
  				if (!(i < elementsLen_0)) goto LA3;
  				elem = (&elements[i]);
  				T4_ = NIM_NIL;
  				T4_ = percent___pureZjson_1790((*elem));
  				add__pureZjson_222(result, T4_);
  				i += ((NI) 1);
  			} LA3: ;
  		}
  	}
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*, percent___jsgen_6739)(tyObject_SourceMapcolonObjectType___m1S8ZVbfoQLk0xvz8tc6ww o) {
  	tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* result;
  	tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* T1_;
  	tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* T2_;
  	tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* T3_;
  	tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* T4_;
  	tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* T5_;
  	result = NIM_NIL;
  	result = newJObject__pureZjson_92();
  	T1_ = NIM_NIL;
  	T1_ = percent___pureZjson_1800(o.version);
  	X5BX5Deq___pureZjson_1923(result, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_534), T1_);
  	T2_ = NIM_NIL;
  	T2_ = percent___jsgen_6746(o.sources->data, (o.sources ? o.sources->Sup.len : 0));
  	X5BX5Deq___pureZjson_1923(result, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_535), T2_);
  	T3_ = NIM_NIL;
  	T3_ = percent___jsgen_6746(o.names->data, (o.names ? o.names->Sup.len : 0));
  	X5BX5Deq___pureZjson_1923(result, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_536), T3_);
  	T4_ = NIM_NIL;
  	T4_ = percent___pureZjson_1790(o.mappings);
  	X5BX5Deq___pureZjson_1923(result, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_537), T4_);
  	T5_ = NIM_NIL;
  	T5_ = percent___pureZjson_1790(o.file);
  	X5BX5Deq___pureZjson_1923(result, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_538), T5_);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*, percent___jsgen_6732)(tyObject_SourceMapcolonObjectType___m1S8ZVbfoQLk0xvz8tc6ww* o) {
  	tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* result;
  	result = NIM_NIL;
  	{
  		if (!(o == 0)) goto LA3_;
  		result = newJNull__pureZjson_90();
  	}
  	goto LA1_;
  	LA3_: ;
  	{
  		result = percent___jsgen_6739((*o));
  	}
  	LA1_: ;
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, myClose__jsgen_6698)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w* b, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
  	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
  	tyObject_TJSGen__qij68Ti2EwJQHH6sSdkSdw* m;
  {	result = NIM_NIL;
  	result = myProcess__jsgen_6596(b, n);
  	m = ((tyObject_TJSGen__qij68Ti2EwJQHH6sSdkSdw*) (b));
  	{
  		if (!(((*(*m).module).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 14))&63U)))!=0)) goto LA3_;
  		{
  			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** destructorCall;
  			NI i;
  			NI L;
  			NI T6_;
  			destructorCall = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw**)0;
  			i = ((NI) 0);
  			T6_ = ((*graph).globalDestructors ? (*graph).globalDestructors->Sup.len : 0);
  			L = T6_;
  			{
  				while (1) {
  					if (!(i < L)) goto LA8;
  					destructorCall = &(*graph).globalDestructors->data[i];
  					add__ast_4797(n, (*destructorCall));
  					i += ((NI) 1);
  				} LA8: ;
  			}
  		}
  	}
  	LA3_: ;
  	{
  		if (!(((*(*m).module).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 15))&63U)))!=0)) goto LA11_;
  		(*(*((tyObject_PGlobalscolonObjectType___nWsHZg3qCUsABoCNYLliag**) (&((*graph).backend))))).inSystem = NIM_FALSE;
  	}
  	LA11_: ;
  	{
  		NIM_BOOL T15_;
  		T15_ = (NIM_BOOL)0;
  		T15_ = skipCodegen__passes_49((*m).config, n);
  		if (!T15_) goto LA16_;
  		result = n;
  		goto BeforeRet_;
  	}
  	LA16_: ;
  	{
  		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* code;
  		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T22_;
  		tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T23_;
  		NimStringDesc* outFile;
  		NIM_BOOL T32_;
  		if (!(((*(*m).module).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 14))&63U)))!=0)) goto LA20_;
  		T22_ = NIM_NIL;
  		T22_ = genHeader__jsgen_6526();
  		T23_ = NIM_NIL;
  		T23_ = wholeCode__jsgen_6607(graph, m);
  		code = amp___ropes_128(T22_, T23_);
  		outFile = prepareToWriteOutput__options_4058((*m).config);
  		{
  			tyObject_SourceMapcolonObjectType___m1S8ZVbfoQLk0xvz8tc6ww* map;
  			tyTuple__wb7Ftwo1Ba9cOF5RERh5YIg _;
  			NimStringDesc* T28_;
  			NimStringDesc* T29_;
  			tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* T30_;
  			NimStringDesc* T31_;
  			if (!(((*(*m).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 49))&63U)))!=0)) goto LA26_;
  			map = NIM_NIL;
  			nimZeroMem((void*)(&_), sizeof(tyTuple__wb7Ftwo1Ba9cOF5RERh5YIg));
  			T28_ = NIM_NIL;
  			T28_ = dollar___ropes_250(code);
  			genSourceMap__sourcemap_896(T28_, outFile, (&_));
  			code = _.Field0;
  			map = _.Field1;
  			T29_ = NIM_NIL;
  			T29_ = rawNewString((outFile ? outFile->Sup.len : 0) + 4);
  appendString(T29_, outFile);
  appendString(T29_, ((NimStringDesc*) &TM__BxLwT0mhrtgTPodf1v3xjg_533));
  			T30_ = NIM_NIL;
  			T30_ = percent___jsgen_6732(map);
  			T31_ = NIM_NIL;
  			T31_ = dollar___pureZjson_4465(T30_);
  			writeFile__systemZio_476(T29_, T31_);
  		}
  		LA26_: ;
  		T32_ = (NIM_BOOL)0;
  		T32_ = writeRopeIfNotEqual__ropes_458(code, outFile);
  		(void)(T32_);
  	}
  	LA20_: ;
  	}BeforeRet_: ;
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(void, compiler_jsgenDatInit000)(void) {
  static TNimNode* TM__BxLwT0mhrtgTPodf1v3xjg_2_4[4];
  static TNimNode* TM__BxLwT0mhrtgTPodf1v3xjg_3_8[8];
  static TNimNode* TM__BxLwT0mhrtgTPodf1v3xjg_7_15[15];
  static TNimNode* TM__BxLwT0mhrtgTPodf1v3xjg_8_2[2];
  static TNimNode* TM__BxLwT0mhrtgTPodf1v3xjg_492_10[10];
  NI TM__BxLwT0mhrtgTPodf1v3xjg_494;
  static char* NIM_CONST TM__BxLwT0mhrtgTPodf1v3xjg_493[10] = {
  "etyNone", 
  "etyNull", 
  "etyProc", 
  "etyBool", 
  "etySeq", 
  "etyInt", 
  "etyFloat", 
  "etyString", 
  "etyObject", 
  "etyBaseIndex"};
  static TNimNode TM__BxLwT0mhrtgTPodf1v3xjg_0[44];
  NTItjsgen__qij68Ti2EwJQHH6sSdkSdw_.size = sizeof(tyObject_TJSGen__qij68Ti2EwJQHH6sSdkSdw);
  NTItjsgen__qij68Ti2EwJQHH6sSdkSdw_.align = NIM_ALIGNOF(tyObject_TJSGen__qij68Ti2EwJQHH6sSdkSdw);
  NTItjsgen__qij68Ti2EwJQHH6sSdkSdw_.kind = 17;
  NTItjsgen__qij68Ti2EwJQHH6sSdkSdw_.base = (&NTItpasscontext__Hb6rFM0ecvtlLf2kv9aU75w_);
  TM__BxLwT0mhrtgTPodf1v3xjg_2_4[0] = &TM__BxLwT0mhrtgTPodf1v3xjg_0[1];
  TM__BxLwT0mhrtgTPodf1v3xjg_0[1].kind = 1;
  TM__BxLwT0mhrtgTPodf1v3xjg_0[1].offset = offsetof(tyObject_TJSGen__qij68Ti2EwJQHH6sSdkSdw, module);
  TM__BxLwT0mhrtgTPodf1v3xjg_0[1].typ = (&NTIpsym__dG2QVH5Z69aMUY38zTqWxaA_);
  TM__BxLwT0mhrtgTPodf1v3xjg_0[1].name = "module";
  TM__BxLwT0mhrtgTPodf1v3xjg_2_4[1] = &TM__BxLwT0mhrtgTPodf1v3xjg_0[2];
  TM__BxLwT0mhrtgTPodf1v3xjg_0[2].kind = 1;
  TM__BxLwT0mhrtgTPodf1v3xjg_0[2].offset = offsetof(tyObject_TJSGen__qij68Ti2EwJQHH6sSdkSdw, graph);
  TM__BxLwT0mhrtgTPodf1v3xjg_0[2].typ = (&NTImodulegraph__KfdHSsl8vyUCSI9b3inBcww_);
  TM__BxLwT0mhrtgTPodf1v3xjg_0[2].name = "graph";
  TM__BxLwT0mhrtgTPodf1v3xjg_2_4[2] = &TM__BxLwT0mhrtgTPodf1v3xjg_0[3];
  TM__BxLwT0mhrtgTPodf1v3xjg_0[3].kind = 1;
  TM__BxLwT0mhrtgTPodf1v3xjg_0[3].offset = offsetof(tyObject_TJSGen__qij68Ti2EwJQHH6sSdkSdw, config);
  TM__BxLwT0mhrtgTPodf1v3xjg_0[3].typ = (&NTIconfigref__a8lycfSA25OQltN3OMeBsA_);
  TM__BxLwT0mhrtgTPodf1v3xjg_0[3].name = "config";
  TM__BxLwT0mhrtgTPodf1v3xjg_2_4[3] = &TM__BxLwT0mhrtgTPodf1v3xjg_0[4];
  TM__BxLwT0mhrtgTPodf1v3xjg_0[4].kind = 1;
  TM__BxLwT0mhrtgTPodf1v3xjg_0[4].offset = offsetof(tyObject_TJSGen__qij68Ti2EwJQHH6sSdkSdw, sigConflicts);
  TM__BxLwT0mhrtgTPodf1v3xjg_0[4].typ = (&NTIcounttable__tUMxxU9cRgLolsrW9b7IBGsQ_);
  TM__BxLwT0mhrtgTPodf1v3xjg_0[4].name = "sigConflicts";
  TM__BxLwT0mhrtgTPodf1v3xjg_0[0].len = 4; TM__BxLwT0mhrtgTPodf1v3xjg_0[0].kind = 2; TM__BxLwT0mhrtgTPodf1v3xjg_0[0].sons = &TM__BxLwT0mhrtgTPodf1v3xjg_2_4[0];
  NTItjsgen__qij68Ti2EwJQHH6sSdkSdw_.node = &TM__BxLwT0mhrtgTPodf1v3xjg_0[0];
  NTIbmodule__O09bHTFgtn9cJLLJxiNhuKUA_.size = sizeof(tyObject_TJSGen__qij68Ti2EwJQHH6sSdkSdw*);
  NTIbmodule__O09bHTFgtn9cJLLJxiNhuKUA_.align = NIM_ALIGNOF(tyObject_TJSGen__qij68Ti2EwJQHH6sSdkSdw*);
  NTIbmodule__O09bHTFgtn9cJLLJxiNhuKUA_.kind = 22;
  NTIbmodule__O09bHTFgtn9cJLLJxiNhuKUA_.base = (&NTItjsgen__qij68Ti2EwJQHH6sSdkSdw_);
  NTIbmodule__O09bHTFgtn9cJLLJxiNhuKUA_.marker = Marker_tyRef__O09bHTFgtn9cJLLJxiNhuKUA;
  NTIpglobals58objecttype__nWsHZg3qCUsABoCNYLliag_.size = sizeof(tyObject_PGlobalscolonObjectType___nWsHZg3qCUsABoCNYLliag);
  NTIpglobals58objecttype__nWsHZg3qCUsABoCNYLliag_.align = NIM_ALIGNOF(tyObject_PGlobalscolonObjectType___nWsHZg3qCUsABoCNYLliag);
  NTIpglobals58objecttype__nWsHZg3qCUsABoCNYLliag_.kind = 17;
  NTIpglobals58objecttype__nWsHZg3qCUsABoCNYLliag_.base = (&NTIrootobj__ytyiCJqK439aF9cIibuRVpAg_);
  TM__BxLwT0mhrtgTPodf1v3xjg_3_8[0] = &TM__BxLwT0mhrtgTPodf1v3xjg_0[6];
  TM__BxLwT0mhrtgTPodf1v3xjg_0[6].kind = 1;
  TM__BxLwT0mhrtgTPodf1v3xjg_0[6].offset = offsetof(tyObject_PGlobalscolonObjectType___nWsHZg3qCUsABoCNYLliag, typeInfo);
  TM__BxLwT0mhrtgTPodf1v3xjg_0[6].typ = (&NTIrope__4hi0XQqK9aLiPuWT9acsXm9aQ_);
  TM__BxLwT0mhrtgTPodf1v3xjg_0[6].name = "typeInfo";
  TM__BxLwT0mhrtgTPodf1v3xjg_3_8[1] = &TM__BxLwT0mhrtgTPodf1v3xjg_0[7];
  TM__BxLwT0mhrtgTPodf1v3xjg_0[7].kind = 1;
  TM__BxLwT0mhrtgTPodf1v3xjg_0[7].offset = offsetof(tyObject_PGlobalscolonObjectType___nWsHZg3qCUsABoCNYLliag, constants);
  TM__BxLwT0mhrtgTPodf1v3xjg_0[7].typ = (&NTIrope__4hi0XQqK9aLiPuWT9acsXm9aQ_);
  TM__BxLwT0mhrtgTPodf1v3xjg_0[7].name = "constants";
  TM__BxLwT0mhrtgTPodf1v3xjg_3_8[2] = &TM__BxLwT0mhrtgTPodf1v3xjg_0[8];
  TM__BxLwT0mhrtgTPodf1v3xjg_0[8].kind = 1;
  TM__BxLwT0mhrtgTPodf1v3xjg_0[8].offset = offsetof(tyObject_PGlobalscolonObjectType___nWsHZg3qCUsABoCNYLliag, code);
  TM__BxLwT0mhrtgTPodf1v3xjg_0[8].typ = (&NTIrope__4hi0XQqK9aLiPuWT9acsXm9aQ_);
  TM__BxLwT0mhrtgTPodf1v3xjg_0[8].name = "code";
  TM__BxLwT0mhrtgTPodf1v3xjg_3_8[3] = &TM__BxLwT0mhrtgTPodf1v3xjg_0[9];
  TM__BxLwT0mhrtgTPodf1v3xjg_0[9].kind = 1;
  TM__BxLwT0mhrtgTPodf1v3xjg_0[9].offset = offsetof(tyObject_PGlobalscolonObjectType___nWsHZg3qCUsABoCNYLliag, forwarded);
  TM__BxLwT0mhrtgTPodf1v3xjg_0[9].typ = (&NTIseqLpsymT__eHqUwlHGGaPw0TDPDeL79cQ_);
  TM__BxLwT0mhrtgTPodf1v3xjg_0[9].name = "forwarded";
  TM__BxLwT0mhrtgTPodf1v3xjg_3_8[4] = &TM__BxLwT0mhrtgTPodf1v3xjg_0[10];
  TM__BxLwT0mhrtgTPodf1v3xjg_0[10].kind = 1;
  TM__BxLwT0mhrtgTPodf1v3xjg_0[10].offset = offsetof(tyObject_PGlobalscolonObjectType___nWsHZg3qCUsABoCNYLliag, generatedSyms);
  TM__BxLwT0mhrtgTPodf1v3xjg_0[10].typ = (&NTIpackedset__IhxwDBRi51nGrosBGFKcsA_);
  TM__BxLwT0mhrtgTPodf1v3xjg_0[10].name = "generatedSyms";
  TM__BxLwT0mhrtgTPodf1v3xjg_3_8[5] = &TM__BxLwT0mhrtgTPodf1v3xjg_0[11];
  TM__BxLwT0mhrtgTPodf1v3xjg_0[11].kind = 1;
  TM__BxLwT0mhrtgTPodf1v3xjg_0[11].offset = offsetof(tyObject_PGlobalscolonObjectType___nWsHZg3qCUsABoCNYLliag, typeInfoGenerated);
  TM__BxLwT0mhrtgTPodf1v3xjg_0[11].typ = (&NTIpackedset__IhxwDBRi51nGrosBGFKcsA_);
  TM__BxLwT0mhrtgTPodf1v3xjg_0[11].name = "typeInfoGenerated";
  TM__BxLwT0mhrtgTPodf1v3xjg_3_8[6] = &TM__BxLwT0mhrtgTPodf1v3xjg_0[12];
  TM__BxLwT0mhrtgTPodf1v3xjg_0[12].kind = 1;
  TM__BxLwT0mhrtgTPodf1v3xjg_0[12].offset = offsetof(tyObject_PGlobalscolonObjectType___nWsHZg3qCUsABoCNYLliag, unique);
  TM__BxLwT0mhrtgTPodf1v3xjg_0[12].typ = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_);
  TM__BxLwT0mhrtgTPodf1v3xjg_0[12].name = "unique";
  TM__BxLwT0mhrtgTPodf1v3xjg_3_8[7] = &TM__BxLwT0mhrtgTPodf1v3xjg_0[13];
  TM__BxLwT0mhrtgTPodf1v3xjg_0[13].kind = 1;
  TM__BxLwT0mhrtgTPodf1v3xjg_0[13].offset = offsetof(tyObject_PGlobalscolonObjectType___nWsHZg3qCUsABoCNYLliag, inSystem);
  TM__BxLwT0mhrtgTPodf1v3xjg_0[13].typ = (&NTIbool__VaVACK0bpYmqIQ0mKcHfQQ_);
  TM__BxLwT0mhrtgTPodf1v3xjg_0[13].name = "inSystem";
  TM__BxLwT0mhrtgTPodf1v3xjg_0[5].len = 8; TM__BxLwT0mhrtgTPodf1v3xjg_0[5].kind = 2; TM__BxLwT0mhrtgTPodf1v3xjg_0[5].sons = &TM__BxLwT0mhrtgTPodf1v3xjg_3_8[0];
  NTIpglobals58objecttype__nWsHZg3qCUsABoCNYLliag_.node = &TM__BxLwT0mhrtgTPodf1v3xjg_0[5];
  NTIpglobals__Q8XTeJJ39cPFyNvJXj9bmcMQ_.size = sizeof(tyObject_PGlobalscolonObjectType___nWsHZg3qCUsABoCNYLliag*);
  NTIpglobals__Q8XTeJJ39cPFyNvJXj9bmcMQ_.align = NIM_ALIGNOF(tyObject_PGlobalscolonObjectType___nWsHZg3qCUsABoCNYLliag*);
  NTIpglobals__Q8XTeJJ39cPFyNvJXj9bmcMQ_.kind = 22;
  NTIpglobals__Q8XTeJJ39cPFyNvJXj9bmcMQ_.base = (&NTIpglobals58objecttype__nWsHZg3qCUsABoCNYLliag_);
  NTIpglobals__Q8XTeJJ39cPFyNvJXj9bmcMQ_.marker = Marker_tyRef__Q8XTeJJ39cPFyNvJXj9bmcMQ;
  NTItproc__AFoo8FBR6Z1RtIhjuHkU2Q_.size = sizeof(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q);
  NTItproc__AFoo8FBR6Z1RtIhjuHkU2Q_.align = NIM_ALIGNOF(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q);
  NTItproc__AFoo8FBR6Z1RtIhjuHkU2Q_.kind = 18;
  NTItproc__AFoo8FBR6Z1RtIhjuHkU2Q_.base = 0;
  TM__BxLwT0mhrtgTPodf1v3xjg_7_15[0] = &TM__BxLwT0mhrtgTPodf1v3xjg_0[15];
  TM__BxLwT0mhrtgTPodf1v3xjg_0[15].kind = 1;
  TM__BxLwT0mhrtgTPodf1v3xjg_0[15].offset = offsetof(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q, procDef);
  TM__BxLwT0mhrtgTPodf1v3xjg_0[15].typ = (&NTIpnode__fKfcLzXYiz5jNu3NH3Tv8Q_);
  TM__BxLwT0mhrtgTPodf1v3xjg_0[15].name = "procDef";
  TM__BxLwT0mhrtgTPodf1v3xjg_7_15[1] = &TM__BxLwT0mhrtgTPodf1v3xjg_0[16];
  TM__BxLwT0mhrtgTPodf1v3xjg_0[16].kind = 1;
  TM__BxLwT0mhrtgTPodf1v3xjg_0[16].offset = offsetof(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q, prc);
  TM__BxLwT0mhrtgTPodf1v3xjg_0[16].typ = (&NTIpsym__dG2QVH5Z69aMUY38zTqWxaA_);
  TM__BxLwT0mhrtgTPodf1v3xjg_0[16].name = "prc";
  TM__BxLwT0mhrtgTPodf1v3xjg_7_15[2] = &TM__BxLwT0mhrtgTPodf1v3xjg_0[17];
  TM__BxLwT0mhrtgTPodf1v3xjg_0[17].kind = 1;
  TM__BxLwT0mhrtgTPodf1v3xjg_0[17].offset = offsetof(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q, globals);
  TM__BxLwT0mhrtgTPodf1v3xjg_0[17].typ = (&NTIrope__4hi0XQqK9aLiPuWT9acsXm9aQ_);
  TM__BxLwT0mhrtgTPodf1v3xjg_0[17].name = "globals";
  TM__BxLwT0mhrtgTPodf1v3xjg_7_15[3] = &TM__BxLwT0mhrtgTPodf1v3xjg_0[18];
  TM__BxLwT0mhrtgTPodf1v3xjg_0[18].kind = 1;
  TM__BxLwT0mhrtgTPodf1v3xjg_0[18].offset = offsetof(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q, locals);
  TM__BxLwT0mhrtgTPodf1v3xjg_0[18].typ = (&NTIrope__4hi0XQqK9aLiPuWT9acsXm9aQ_);
  TM__BxLwT0mhrtgTPodf1v3xjg_0[18].name = "locals";
  TM__BxLwT0mhrtgTPodf1v3xjg_7_15[4] = &TM__BxLwT0mhrtgTPodf1v3xjg_0[19];
  TM__BxLwT0mhrtgTPodf1v3xjg_0[19].kind = 1;
  TM__BxLwT0mhrtgTPodf1v3xjg_0[19].offset = offsetof(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q, body);
  TM__BxLwT0mhrtgTPodf1v3xjg_0[19].typ = (&NTIrope__4hi0XQqK9aLiPuWT9acsXm9aQ_);
  TM__BxLwT0mhrtgTPodf1v3xjg_0[19].name = "body";
  TM__BxLwT0mhrtgTPodf1v3xjg_7_15[5] = &TM__BxLwT0mhrtgTPodf1v3xjg_0[20];
  TM__BxLwT0mhrtgTPodf1v3xjg_0[20].kind = 1;
  TM__BxLwT0mhrtgTPodf1v3xjg_0[20].offset = offsetof(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q, options);
  TM__BxLwT0mhrtgTPodf1v3xjg_0[20].typ = (&NTItoptions__7MnKRybmCNh5j9bDRLMkxLw_);
  TM__BxLwT0mhrtgTPodf1v3xjg_0[20].name = "options";
  TM__BxLwT0mhrtgTPodf1v3xjg_7_15[6] = &TM__BxLwT0mhrtgTPodf1v3xjg_0[21];
  TM__BxLwT0mhrtgTPodf1v3xjg_0[21].kind = 1;
  TM__BxLwT0mhrtgTPodf1v3xjg_0[21].offset = offsetof(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q, module);
  TM__BxLwT0mhrtgTPodf1v3xjg_0[21].typ = (&NTIbmodule__O09bHTFgtn9cJLLJxiNhuKUA_);
  TM__BxLwT0mhrtgTPodf1v3xjg_0[21].name = "module";
  TM__BxLwT0mhrtgTPodf1v3xjg_7_15[7] = &TM__BxLwT0mhrtgTPodf1v3xjg_0[22];
  TM__BxLwT0mhrtgTPodf1v3xjg_0[22].kind = 1;
  TM__BxLwT0mhrtgTPodf1v3xjg_0[22].offset = offsetof(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q, g);
  TM__BxLwT0mhrtgTPodf1v3xjg_0[22].typ = (&NTIpglobals__Q8XTeJJ39cPFyNvJXj9bmcMQ_);
  TM__BxLwT0mhrtgTPodf1v3xjg_0[22].name = "g";
  TM__BxLwT0mhrtgTPodf1v3xjg_7_15[8] = &TM__BxLwT0mhrtgTPodf1v3xjg_0[23];
  TM__BxLwT0mhrtgTPodf1v3xjg_0[23].kind = 1;
  TM__BxLwT0mhrtgTPodf1v3xjg_0[23].offset = offsetof(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q, generatedParamCopies);
  TM__BxLwT0mhrtgTPodf1v3xjg_0[23].typ = (&NTIpackedset__IhxwDBRi51nGrosBGFKcsA_);
  TM__BxLwT0mhrtgTPodf1v3xjg_0[23].name = "generatedParamCopies";
  TM__BxLwT0mhrtgTPodf1v3xjg_7_15[9] = &TM__BxLwT0mhrtgTPodf1v3xjg_0[24];
  TM__BxLwT0mhrtgTPodf1v3xjg_0[24].kind = 1;
  TM__BxLwT0mhrtgTPodf1v3xjg_0[24].offset = offsetof(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q, beforeRetNeeded);
  TM__BxLwT0mhrtgTPodf1v3xjg_0[24].typ = (&NTIbool__VaVACK0bpYmqIQ0mKcHfQQ_);
  TM__BxLwT0mhrtgTPodf1v3xjg_0[24].name = "beforeRetNeeded";
  TM__BxLwT0mhrtgTPodf1v3xjg_7_15[10] = &TM__BxLwT0mhrtgTPodf1v3xjg_0[25];
  TM__BxLwT0mhrtgTPodf1v3xjg_0[25].kind = 1;
  TM__BxLwT0mhrtgTPodf1v3xjg_0[25].offset = offsetof(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q, unique);
  TM__BxLwT0mhrtgTPodf1v3xjg_0[25].typ = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_);
  TM__BxLwT0mhrtgTPodf1v3xjg_0[25].name = "unique";
  TM__BxLwT0mhrtgTPodf1v3xjg_7_15[11] = &TM__BxLwT0mhrtgTPodf1v3xjg_0[26];
  NTItblock__46cd0Xw9aDJ1QWTE8nV4mLg_.size = sizeof(tyObject_TBlock__46cd0Xw9aDJ1QWTE8nV4mLg);
  NTItblock__46cd0Xw9aDJ1QWTE8nV4mLg_.align = NIM_ALIGNOF(tyObject_TBlock__46cd0Xw9aDJ1QWTE8nV4mLg);
  NTItblock__46cd0Xw9aDJ1QWTE8nV4mLg_.kind = 18;
  NTItblock__46cd0Xw9aDJ1QWTE8nV4mLg_.base = 0;
  NTItblock__46cd0Xw9aDJ1QWTE8nV4mLg_.flags = 1;
  TM__BxLwT0mhrtgTPodf1v3xjg_8_2[0] = &TM__BxLwT0mhrtgTPodf1v3xjg_0[28];
  TM__BxLwT0mhrtgTPodf1v3xjg_0[28].kind = 1;
  TM__BxLwT0mhrtgTPodf1v3xjg_0[28].offset = offsetof(tyObject_TBlock__46cd0Xw9aDJ1QWTE8nV4mLg, id);
  TM__BxLwT0mhrtgTPodf1v3xjg_0[28].typ = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_);
  TM__BxLwT0mhrtgTPodf1v3xjg_0[28].name = "id";
  TM__BxLwT0mhrtgTPodf1v3xjg_8_2[1] = &TM__BxLwT0mhrtgTPodf1v3xjg_0[29];
  TM__BxLwT0mhrtgTPodf1v3xjg_0[29].kind = 1;
  TM__BxLwT0mhrtgTPodf1v3xjg_0[29].offset = offsetof(tyObject_TBlock__46cd0Xw9aDJ1QWTE8nV4mLg, isLoop);
  TM__BxLwT0mhrtgTPodf1v3xjg_0[29].typ = (&NTIbool__VaVACK0bpYmqIQ0mKcHfQQ_);
  TM__BxLwT0mhrtgTPodf1v3xjg_0[29].name = "isLoop";
  TM__BxLwT0mhrtgTPodf1v3xjg_0[27].len = 2; TM__BxLwT0mhrtgTPodf1v3xjg_0[27].kind = 2; TM__BxLwT0mhrtgTPodf1v3xjg_0[27].sons = &TM__BxLwT0mhrtgTPodf1v3xjg_8_2[0];
  NTItblock__46cd0Xw9aDJ1QWTE8nV4mLg_.node = &TM__BxLwT0mhrtgTPodf1v3xjg_0[27];
  NTIseqLtblockT__8fytVdU59b5aj319cog2ztLw_.size = sizeof(tySequence__8fytVdU59b5aj319cog2ztLw*);
  NTIseqLtblockT__8fytVdU59b5aj319cog2ztLw_.align = NIM_ALIGNOF(tySequence__8fytVdU59b5aj319cog2ztLw*);
  NTIseqLtblockT__8fytVdU59b5aj319cog2ztLw_.kind = 24;
  NTIseqLtblockT__8fytVdU59b5aj319cog2ztLw_.base = (&NTItblock__46cd0Xw9aDJ1QWTE8nV4mLg_);
  NTIseqLtblockT__8fytVdU59b5aj319cog2ztLw_.marker = Marker_tySequence__8fytVdU59b5aj319cog2ztLw;
  TM__BxLwT0mhrtgTPodf1v3xjg_0[26].kind = 1;
  TM__BxLwT0mhrtgTPodf1v3xjg_0[26].offset = offsetof(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q, blocks);
  TM__BxLwT0mhrtgTPodf1v3xjg_0[26].typ = (&NTIseqLtblockT__8fytVdU59b5aj319cog2ztLw_);
  TM__BxLwT0mhrtgTPodf1v3xjg_0[26].name = "blocks";
  TM__BxLwT0mhrtgTPodf1v3xjg_7_15[12] = &TM__BxLwT0mhrtgTPodf1v3xjg_0[30];
  TM__BxLwT0mhrtgTPodf1v3xjg_0[30].kind = 1;
  TM__BxLwT0mhrtgTPodf1v3xjg_0[30].offset = offsetof(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q, extraIndent);
  TM__BxLwT0mhrtgTPodf1v3xjg_0[30].typ = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_);
  TM__BxLwT0mhrtgTPodf1v3xjg_0[30].name = "extraIndent";
  TM__BxLwT0mhrtgTPodf1v3xjg_7_15[13] = &TM__BxLwT0mhrtgTPodf1v3xjg_0[31];
  TM__BxLwT0mhrtgTPodf1v3xjg_0[31].kind = 1;
  TM__BxLwT0mhrtgTPodf1v3xjg_0[31].offset = offsetof(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q, up);
  TM__BxLwT0mhrtgTPodf1v3xjg_0[31].typ = (&NTIpproc__OFWibP8T8afo89apFNGZiwA_);
  TM__BxLwT0mhrtgTPodf1v3xjg_0[31].name = "up";
  TM__BxLwT0mhrtgTPodf1v3xjg_7_15[14] = &TM__BxLwT0mhrtgTPodf1v3xjg_0[32];
  TM__BxLwT0mhrtgTPodf1v3xjg_0[32].kind = 1;
  TM__BxLwT0mhrtgTPodf1v3xjg_0[32].offset = offsetof(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q, declaredGlobals);
  TM__BxLwT0mhrtgTPodf1v3xjg_0[32].typ = (&NTIpackedset__IhxwDBRi51nGrosBGFKcsA_);
  TM__BxLwT0mhrtgTPodf1v3xjg_0[32].name = "declaredGlobals";
  TM__BxLwT0mhrtgTPodf1v3xjg_0[14].len = 15; TM__BxLwT0mhrtgTPodf1v3xjg_0[14].kind = 2; TM__BxLwT0mhrtgTPodf1v3xjg_0[14].sons = &TM__BxLwT0mhrtgTPodf1v3xjg_7_15[0];
  NTItproc__AFoo8FBR6Z1RtIhjuHkU2Q_.node = &TM__BxLwT0mhrtgTPodf1v3xjg_0[14];
  NTIpproc__OFWibP8T8afo89apFNGZiwA_.size = sizeof(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q*);
  NTIpproc__OFWibP8T8afo89apFNGZiwA_.align = NIM_ALIGNOF(tyObject_TProc__AFoo8FBR6Z1RtIhjuHkU2Q*);
  NTIpproc__OFWibP8T8afo89apFNGZiwA_.kind = 22;
  NTIpproc__OFWibP8T8afo89apFNGZiwA_.base = (&NTItproc__AFoo8FBR6Z1RtIhjuHkU2Q_);
  NTIpproc__OFWibP8T8afo89apFNGZiwA_.marker = Marker_tyRef__OFWibP8T8afo89apFNGZiwA;
  NTItjstypekind__9aFSCXgaSEq2m81RJRMKDeA_.size = sizeof(tyEnum_TJSTypeKind__9aFSCXgaSEq2m81RJRMKDeA);
  NTItjstypekind__9aFSCXgaSEq2m81RJRMKDeA_.align = NIM_ALIGNOF(tyEnum_TJSTypeKind__9aFSCXgaSEq2m81RJRMKDeA);
  NTItjstypekind__9aFSCXgaSEq2m81RJRMKDeA_.kind = 14;
  NTItjstypekind__9aFSCXgaSEq2m81RJRMKDeA_.base = 0;
  NTItjstypekind__9aFSCXgaSEq2m81RJRMKDeA_.flags = 3;
  for (TM__BxLwT0mhrtgTPodf1v3xjg_494 = 0; TM__BxLwT0mhrtgTPodf1v3xjg_494 < 10; TM__BxLwT0mhrtgTPodf1v3xjg_494++) {
  TM__BxLwT0mhrtgTPodf1v3xjg_0[TM__BxLwT0mhrtgTPodf1v3xjg_494+33].kind = 1;
  TM__BxLwT0mhrtgTPodf1v3xjg_0[TM__BxLwT0mhrtgTPodf1v3xjg_494+33].offset = TM__BxLwT0mhrtgTPodf1v3xjg_494;
  TM__BxLwT0mhrtgTPodf1v3xjg_0[TM__BxLwT0mhrtgTPodf1v3xjg_494+33].name = TM__BxLwT0mhrtgTPodf1v3xjg_493[TM__BxLwT0mhrtgTPodf1v3xjg_494];
  TM__BxLwT0mhrtgTPodf1v3xjg_492_10[TM__BxLwT0mhrtgTPodf1v3xjg_494] = &TM__BxLwT0mhrtgTPodf1v3xjg_0[TM__BxLwT0mhrtgTPodf1v3xjg_494+33];
  }
  TM__BxLwT0mhrtgTPodf1v3xjg_0[43].len = 10; TM__BxLwT0mhrtgTPodf1v3xjg_0[43].kind = 2; TM__BxLwT0mhrtgTPodf1v3xjg_0[43].sons = &TM__BxLwT0mhrtgTPodf1v3xjg_492_10[0];
  NTItjstypekind__9aFSCXgaSEq2m81RJRMKDeA_.node = &TM__BxLwT0mhrtgTPodf1v3xjg_0[43];
  }
  
  