nwaku/nimcache/release/quicksim/@m..@s..@s..@svendor@snim-eth@seth@sp2p@skademlia.nim.c

537 lines
34 KiB
C

/* Generated by Nim Compiler v1.2.6 */
/* (c) 2020 Andreas Rumpf */
/* The generated code is subject to the original license. */
/* Compiled for: Linux, amd64, gcc */
/* Command for C compiler:
gcc -c -w -pthread -I/home/runner/work/nim-waku/nim-waku/vendor/nim-libbacktrace -I/home/runner/work/nim-waku/nim-waku/vendor/nim-libbacktrace/install/usr/include -I/home/runner/work/nim-waku/nim-waku/vendor/nim-bearssl/bearssl/csources/src -I/home/runner/work/nim-waku/nim-waku/vendor/nim-bearssl/bearssl/csources/inc -I/home/runner/work/nim-waku/nim-waku/vendor/nim-bearssl/bearssl/csources/tools -DBR_USE_UNIX_TIME=1 -DBR_USE_URANDOM=1 -DBR_LE_UNALIGNED=1 -DBR_64=1 -DBR_amd64=1 -DBR_INT128=1 -I/home/runner/work/nim-waku/nim-waku/vendor/nim-bearssl/bearssl/certs -I/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1_wrapper -I/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1_wrapper/secp256k1 -I/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1_wrapper/secp256k1/src -DHAVE_CONFIG_H -DHAVE_BUILTIN_EXPECT -march=native -g3 -Og -O3 -fno-strict-aliasing -fno-ident -I/home/runner/work/nim-waku/nim-waku/vendor/nimbus-build-system/vendor/Nim/lib -I/home/runner/work/nim-waku/nim-waku/waku/v1/node -o nimcache/release/quicksim/@m..@s..@s..@svendor@snim-eth@seth@sp2p@skademlia.nim.c.o nimcache/release/quicksim/@m..@s..@s..@svendor@snim-eth@seth@sp2p@skademlia.nim.c */
#define NIM_INTBITS 64
#include "nimbase.h"
#include <string.h>
#include "bearssl_rand.h"
#include "bearssl_hash.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_NodecolonObjectType___qHnzRdH4zCCluGzY2Ao49cg tyObject_NodecolonObjectType___qHnzRdH4zCCluGzY2Ao49cg;
typedef struct tyObject_ENode__bNRDNKJGQnqT2sH89bsDhBw tyObject_ENode__bNRDNKJGQnqT2sH89bsDhBw;
typedef struct tyObject_SkPublicKey__YxxaGK7KOKaWCOaZ44rHMA tyObject_SkPublicKey__YxxaGK7KOKaWCOaZ44rHMA;
typedef struct tyObject_secp256k1_pubkey__GYc9aFo1e2qOLdmAqUvIikQ tyObject_secp256k1_pubkey__GYc9aFo1e2qOLdmAqUvIikQ;
typedef struct tyObject_Address__x5U8qnsjGWstAJoOadUZ9aA tyObject_Address__x5U8qnsjGWstAJoOadUZ9aA;
typedef struct tyObject_IpAddress__t0yd6ha54oWXm7nwZ4QqfA tyObject_IpAddress__t0yd6ha54oWXm7nwZ4QqfA;
typedef struct tyObject_StUint__zk9cGwjKuqNvWysDWG2FjHg tyObject_StUint__zk9cGwjKuqNvWysDWG2FjHg;
typedef struct tyObject_UintImpl__3RPAuTAh9bcIRq9bgsNKRahA tyObject_UintImpl__3RPAuTAh9bcIRq9bgsNKRahA;
typedef struct tyObject_UintImpl__7gzUBTJUlPE55RUsMXYp5g tyObject_UintImpl__7gzUBTJUlPE55RUsMXYp5g;
typedef struct TNimType TNimType;
typedef struct TNimNode TNimNode;
typedef struct tyObject_KademliaProtocolcolonObjectType___oABmn9coQwe3jYAuBTgenUw tyObject_KademliaProtocolcolonObjectType___oABmn9coQwe3jYAuBTgenUw;
typedef struct tyObject_DiscoveryProtocolcolonObjectType___waQyUBIS0phbKWz5xVV9bTg tyObject_DiscoveryProtocolcolonObjectType___waQyUBIS0phbKWz5xVV9bTg;
typedef struct tyObject_RoutingTable__wrJgHm52cMnVGGTyRmqsGw tyObject_RoutingTable__wrJgHm52cMnVGGTyRmqsGw;
typedef struct tySequence__8y8hhoTs9bVn1no7HCdDJwQ tySequence__8y8hhoTs9bVn1no7HCdDJwQ;
typedef struct tyObject_Table__gZoQEO4V3muc0g6lD9aIb2Q tyObject_Table__gZoQEO4V3muc0g6lD9aIb2Q;
typedef struct tySequence__ZGDdbXPD9bUBYNLtwtuTWrA tySequence__ZGDdbXPD9bUBYNLtwtuTWrA;
typedef struct tyObject_Table__G9cDI1Dr3nt9bkFZ69cYb2hpA tyObject_Table__G9cDI1Dr3nt9bkFZ69cYb2hpA;
typedef struct tySequence__bqBMFIjg0BA9aW4cUrDr4aw tySequence__bqBMFIjg0BA9aW4cUrDr4aw;
typedef struct tyObject_Table__4n5kcfi9ae2XAgDxZKNVtjg tyObject_Table__4n5kcfi9ae2XAgDxZKNVtjg;
typedef struct tySequence__Yjh7j69bRJilZ9ctrRBprjIw tySequence__Yjh7j69bRJilZ9ctrRBprjIw;
typedef struct tyObject_KBucketcolonObjectType___WQiQdZ7rHpARW9cCKtu1c9aA tyObject_KBucketcolonObjectType___WQiQdZ7rHpARW9cCKtu1c9aA;
typedef struct tySequence__Wq0ZcI6MO5RSp6EwbCW5fA tySequence__Wq0ZcI6MO5RSp6EwbCW5fA;
typedef struct TGenericSeq TGenericSeq;
typedef struct tyTuple__JfHvHzMrhKkWAUvQKe0i1A tyTuple__JfHvHzMrhKkWAUvQKe0i1A;
typedef struct tyObject_Env_kademliadotnim___diB2NTuAIWY0FO9c5IUJRGg tyObject_Env_kademliadotnim___diB2NTuAIWY0FO9c5IUJRGg;
typedef struct NimStringDesc NimStringDesc;
typedef struct tyTuple__Qptir78YkKhpx9ams3lvtsw tyTuple__Qptir78YkKhpx9ams3lvtsw;
typedef struct tySequence__6H5Oh5UUvVCLiakt9aTwtUQ tySequence__6H5Oh5UUvVCLiakt9aTwtUQ;
typedef struct tyObject_FuturecolonObjectType___7r4oeIrX2n9aOSLbv8vKLiw tyObject_FuturecolonObjectType___7r4oeIrX2n9aOSLbv8vKLiw;
typedef struct tyTuple__MsTR86jOxY4TjADGXDQ9cYw tyTuple__MsTR86jOxY4TjADGXDQ9cYw;
typedef struct tyTuple__beG4ILF8HR8pW2ufrKnHug tyTuple__beG4ILF8HR8pW2ufrKnHug;
typedef NU8 tyArray__w5VB8h5K8DB3oWrO5U2wqg[64];
struct tyObject_secp256k1_pubkey__GYc9aFo1e2qOLdmAqUvIikQ {tyArray__w5VB8h5K8DB3oWrO5U2wqg data;
};
struct tyObject_SkPublicKey__YxxaGK7KOKaWCOaZ44rHMA {tyObject_secp256k1_pubkey__GYc9aFo1e2qOLdmAqUvIikQ data;
};
typedef NU8 tyEnum_IpAddressFamily__iqqacz9cr9bcNjYY74E10wPA;
typedef NU8 tyArray__qtqsWM5aXmcpMIVmvq3kAA[16];
typedef NU8 tyArray__H8qf9bpC2ziYA2earmO8m7w[4];
struct tyObject_IpAddress__t0yd6ha54oWXm7nwZ4QqfA {tyEnum_IpAddressFamily__iqqacz9cr9bcNjYY74E10wPA family;
union{
struct {tyArray__qtqsWM5aXmcpMIVmvq3kAA address_v6;
} _family_1;
struct {tyArray__H8qf9bpC2ziYA2earmO8m7w address_v4;
} _family_2;
};
};
struct tyObject_Address__x5U8qnsjGWstAJoOadUZ9aA {tyObject_IpAddress__t0yd6ha54oWXm7nwZ4QqfA ip;
NU16 udpPort;
NU16 tcpPort;
};
struct tyObject_ENode__bNRDNKJGQnqT2sH89bsDhBw {tyObject_SkPublicKey__YxxaGK7KOKaWCOaZ44rHMA pubkey;
tyObject_Address__x5U8qnsjGWstAJoOadUZ9aA address;
};
struct tyObject_UintImpl__7gzUBTJUlPE55RUsMXYp5g {NU64 lo;
NU64 hi;
};
struct tyObject_UintImpl__3RPAuTAh9bcIRq9bgsNKRahA {tyObject_UintImpl__7gzUBTJUlPE55RUsMXYp5g lo;
tyObject_UintImpl__7gzUBTJUlPE55RUsMXYp5g hi;
};
struct tyObject_StUint__zk9cGwjKuqNvWysDWG2FjHg {tyObject_UintImpl__3RPAuTAh9bcIRq9bgsNKRahA data;
};
struct tyObject_NodecolonObjectType___qHnzRdH4zCCluGzY2Ao49cg {tyObject_ENode__bNRDNKJGQnqT2sH89bsDhBw node;
tyObject_StUint__zk9cGwjKuqNvWysDWG2FjHg id;
};
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;
tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A kind;
tySet_tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ flags;
TNimType* base;
TNimNode* node;
void* finalizer;
tyProc__ojoeKfW4VYIm36I9cpDTQIg marker;
tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ deepcopy;
NCSTRING name;
TNimType* nextType;
NI instances;
NI sizes;
};
typedef NU8 tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ;
struct TNimNode {tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ kind;
NI offset;
TNimType* typ;
NCSTRING name;
NI len;
TNimNode** sons;
};
struct tyObject_RoutingTable__wrJgHm52cMnVGGTyRmqsGw {tyObject_NodecolonObjectType___qHnzRdH4zCCluGzY2Ao49cg* thisNode;
tySequence__8y8hhoTs9bVn1no7HCdDJwQ* buckets;
};
struct tyObject_Table__gZoQEO4V3muc0g6lD9aIb2Q {tySequence__ZGDdbXPD9bUBYNLtwtuTWrA* data;
NI counter;
};
struct tyObject_Table__G9cDI1Dr3nt9bkFZ69cYb2hpA {tySequence__bqBMFIjg0BA9aW4cUrDr4aw* data;
NI counter;
};
struct tyObject_Table__4n5kcfi9ae2XAgDxZKNVtjg {tySequence__Yjh7j69bRJilZ9ctrRBprjIw* data;
NI counter;
};
struct tyObject_KademliaProtocolcolonObjectType___oABmn9coQwe3jYAuBTgenUw {tyObject_DiscoveryProtocolcolonObjectType___waQyUBIS0phbKWz5xVV9bTg* wire;
tyObject_NodecolonObjectType___qHnzRdH4zCCluGzY2Ao49cg* thisNode;
tyObject_RoutingTable__wrJgHm52cMnVGGTyRmqsGw routing;
tyObject_Table__gZoQEO4V3muc0g6lD9aIb2Q pongFutures;
tyObject_Table__G9cDI1Dr3nt9bkFZ69cYb2hpA pingFutures;
tyObject_Table__4n5kcfi9ae2XAgDxZKNVtjg neighboursCallbacks;
br_hmac_drbg_context* rng;
};
struct tyObject_KBucketcolonObjectType___WQiQdZ7rHpARW9cCKtu1c9aA {tyObject_StUint__zk9cGwjKuqNvWysDWG2FjHg istart;
tyObject_StUint__zk9cGwjKuqNvWysDWG2FjHg iend;
tySequence__Wq0ZcI6MO5RSp6EwbCW5fA* nodes;
tySequence__Wq0ZcI6MO5RSp6EwbCW5fA* replacementCache;
NF lastUpdated;
};
struct TGenericSeq {NI len;
NI reserved;
};
struct tyTuple__JfHvHzMrhKkWAUvQKe0i1A {
void* Field0;
tyObject_Env_kademliadotnim___diB2NTuAIWY0FO9c5IUJRGg* Field1;
};
struct NimStringDesc { TGenericSeq Sup;NIM_CHAR data[SEQ_DECL_SIZE];
};
struct tyTuple__Qptir78YkKhpx9ams3lvtsw {
NI Field0;
tySequence__6H5Oh5UUvVCLiakt9aTwtUQ* Field1;
tyObject_FuturecolonObjectType___7r4oeIrX2n9aOSLbv8vKLiw* Field2;
};
struct tyTuple__MsTR86jOxY4TjADGXDQ9cYw {
NI Field0;
tyObject_NodecolonObjectType___qHnzRdH4zCCluGzY2Ao49cg* Field1;
tyObject_FuturecolonObjectType___7r4oeIrX2n9aOSLbv8vKLiw* Field2;
};
typedef struct {
N_NIMCALL_PTR(void, ClP_0) (tySequence__Wq0ZcI6MO5RSp6EwbCW5fA* n_0, void* ClE_0);
void* ClE_0;
} tyProc__Vj8L5mSqv3cWTixxMAusYg;
struct tyTuple__beG4ILF8HR8pW2ufrKnHug {
NI Field0;
tyObject_NodecolonObjectType___qHnzRdH4zCCluGzY2Ao49cg* Field1;
tyProc__Vj8L5mSqv3cWTixxMAusYg Field2;
};
typedef unsigned char tyArray__A1SHJCPZVISPTujoygIPEQ[64];
typedef N_CDECL_PTR(void, tyProc__3qI9bVHqiq07sTQRU9bkkkYQ) (br_prng_class** ctx, void* params, void* seed, NI seedLen);
typedef N_CDECL_PTR(void, tyProc__hquUwNr88w4T5ldt8BqLLQ) (br_prng_class** ctx, void* out_0, NI len_0);
typedef N_CDECL_PTR(void, tyProc__bF2JFxTs1q6Lq365NU79a2Q) (br_hash_class** ctx);
typedef N_CDECL_PTR(void, tyProc__Dc9br5a6SHw9cxie3cas0KTA) (br_hash_class** ctx, void* data_0, NI len_0);
typedef N_CDECL_PTR(void, tyProc__JETfgzvEnx6Tz9bYRct9a51g) (br_hash_class** ctx, void* dst);
typedef N_CDECL_PTR(NU64, tyProc__e9bd9aJH2sCZh75q9aAcv7ylg) (br_hash_class** ctx, void* dst);
typedef N_CDECL_PTR(void, tyProc__g9c2vH2tlPaPmvfTZ3PeWQQ) (br_hash_class** ctx, void* stb, NU64 count_0);
struct tySequence__8y8hhoTs9bVn1no7HCdDJwQ { TGenericSeq Sup; tyObject_KBucketcolonObjectType___WQiQdZ7rHpARW9cCKtu1c9aA* data[SEQ_DECL_SIZE];};struct tySequence__6H5Oh5UUvVCLiakt9aTwtUQ { TGenericSeq Sup; NU8 data[SEQ_DECL_SIZE];};struct tySequence__ZGDdbXPD9bUBYNLtwtuTWrA { TGenericSeq Sup; tyTuple__Qptir78YkKhpx9ams3lvtsw data[SEQ_DECL_SIZE];};struct tySequence__bqBMFIjg0BA9aW4cUrDr4aw { TGenericSeq Sup; tyTuple__MsTR86jOxY4TjADGXDQ9cYw data[SEQ_DECL_SIZE];};struct tySequence__Yjh7j69bRJilZ9ctrRBprjIw { TGenericSeq Sup; tyTuple__beG4ILF8HR8pW2ufrKnHug data[SEQ_DECL_SIZE];};struct tySequence__Wq0ZcI6MO5RSp6EwbCW5fA { TGenericSeq Sup; tyObject_NodecolonObjectType___qHnzRdH4zCCluGzY2Ao49cg* data[SEQ_DECL_SIZE];};static N_NIMCALL(void, Marker_tyRef__dXv1y2c2nNbnKs59aRY70QA)(void* p, NI op);
N_LIB_PRIVATE N_NIMCALL(void, nimGCvisit)(void* d, NI op);
static N_NIMCALL(void, Marker_tyRef__jFNSFkkjkI148WdvXdbxjA)(void* p, NI op);
static N_NIMCALL(void, Marker_tySequence__8y8hhoTs9bVn1no7HCdDJwQ)(void* p, NI op);
static N_NIMCALL(void, Marker_tyRef__r47tWgnBw9c0VOULJ9bQeLYg)(void* p, NI op);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, copyString)(NimStringDesc* src);
static N_INLINE(void, appendString)(NimStringDesc* dest, NimStringDesc* src);
static N_INLINE(void, copyMem__i80o3k0SgEI5gTRCzYdyWAsystem)(void* dest, void* source, NI size);
static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar___cbhSLBlQm0h9cO9cfQ8lXDaw)(tyObject_IpAddress__t0yd6ha54oWXm7nwZ4QqfA address);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar___RkX9btpg5sQIaP8yYXB6tbA)(NU64 x);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, rawNewString)(NI space);
N_LIB_PRIVATE N_NIMCALL(NI, hash__CiCiZV9c7F9alrF1xV3QD1ag_2)(NU8* x_0, NI x_0Len_0);
N_LIB_PRIVATE N_NIMCALL(void, toRaw__W9bYIkOOHQ8dZSTz9aIjEPEQ)(tyObject_SkPublicKey__YxxaGK7KOKaWCOaZ44rHMA* pubkey, tyArray__w5VB8h5K8DB3oWrO5U2wqg Result);
static N_INLINE(void, nimZeroMem)(void* p, NI size);
static N_INLINE(void, nimSetMem__zxfKBYntu9cBapkhrCOk1fgmemory)(void* a, int v, NI size);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, eqeq___zJO9bCgds9b4PyWAoL25AVCg)(tyObject_SkPublicKey__YxxaGK7KOKaWCOaZ44rHMA* lhs, tyObject_SkPublicKey__YxxaGK7KOKaWCOaZ44rHMA* rhs);
N_LIB_PRIVATE TNimType NTI__qHnzRdH4zCCluGzY2Ao49cg_;
extern TNimType NTI__bNRDNKJGQnqT2sH89bsDhBw_;
extern TNimType NTI__zk9cGwjKuqNvWysDWG2FjHg_;
N_LIB_PRIVATE TNimType NTI__dXv1y2c2nNbnKs59aRY70QA_;
N_LIB_PRIVATE TNimType NTI__oABmn9coQwe3jYAuBTgenUw_;
extern TNimType NTI__y9bIPDAY22JKpDx249caf7iw_;
N_LIB_PRIVATE TNimType NTI__wrJgHm52cMnVGGTyRmqsGw_;
N_LIB_PRIVATE TNimType NTI__WQiQdZ7rHpARW9cCKtu1c9aA_;
extern TNimType NTI__Wq0ZcI6MO5RSp6EwbCW5fA_;
extern TNimType NTI__w9bl9a1ul9ctRJWiMl9cNnIMvg_;
N_LIB_PRIVATE TNimType NTI__jFNSFkkjkI148WdvXdbxjA_;
N_LIB_PRIVATE TNimType NTI__8y8hhoTs9bVn1no7HCdDJwQ_;
extern TNimType NTI__gZoQEO4V3muc0g6lD9aIb2Q_;
extern TNimType NTI__G9cDI1Dr3nt9bkFZ69cYb2hpA_;
N_LIB_PRIVATE TNimType NTI__Vj8L5mSqv3cWTixxMAusYg_;
extern TNimType NTI__vr5DoT1jILTGdRlYv1OYpw_;
extern TNimType NTI__HsJiUUcO9cHBdUCi0HwkSTA_;
extern TNimType NTI__4n5kcfi9ae2XAgDxZKNVtjg_;
extern TNimType NTI__RuNvFuo5ptASsihINNteSw_;
N_LIB_PRIVATE TNimType NTI__r47tWgnBw9c0VOULJ9bQeLYg_;
STRING_LITERAL(TM__hHMuvF9aunJcOicmgc4deRw_7, "Node[local]", 11);
STRING_LITERAL(TM__hHMuvF9aunJcOicmgc4deRw_8, "Node[", 5);
STRING_LITERAL(TM__hHMuvF9aunJcOicmgc4deRw_9, ":", 1);
STRING_LITERAL(TM__hHMuvF9aunJcOicmgc4deRw_10, "]", 1);
extern TNimType* nimTypeRoot;
static N_NIMCALL(void, Marker_tyRef__dXv1y2c2nNbnKs59aRY70QA)(void* p, NI op) {
tyObject_NodecolonObjectType___qHnzRdH4zCCluGzY2Ao49cg* a;
NI T1_; NI T2_; NI T3_; a = (tyObject_NodecolonObjectType___qHnzRdH4zCCluGzY2Ao49cg*)p;
T1_ = (NI)0; switch ((*a).node.address.ip.family) {
case ((tyEnum_IpAddressFamily__iqqacz9cr9bcNjYY74E10wPA) 0):
T2_ = (NI)0; break;
case ((tyEnum_IpAddressFamily__iqqacz9cr9bcNjYY74E10wPA) 1):
T3_ = (NI)0; break;
}
}
static N_NIMCALL(void, Marker_tyRef__jFNSFkkjkI148WdvXdbxjA)(void* p, NI op) {
tyObject_KBucketcolonObjectType___WQiQdZ7rHpARW9cCKtu1c9aA* a;
a = (tyObject_KBucketcolonObjectType___WQiQdZ7rHpARW9cCKtu1c9aA*)p;
nimGCvisit((void*)(*a).nodes, op); nimGCvisit((void*)(*a).replacementCache, op);}
static N_NIMCALL(void, Marker_tySequence__8y8hhoTs9bVn1no7HCdDJwQ)(void* p, NI op) {
tySequence__8y8hhoTs9bVn1no7HCdDJwQ* a;
NI T1_; a = (tySequence__8y8hhoTs9bVn1no7HCdDJwQ*)p;
T1_ = (NI)0; for (T1_ = 0; T1_ < (a ? a->Sup.len : 0); T1_++) {
nimGCvisit((void*)a->data[T1_], op); }
}
static N_NIMCALL(void, Marker_tyRef__r47tWgnBw9c0VOULJ9bQeLYg)(void* p, NI op) {
tyObject_KademliaProtocolcolonObjectType___oABmn9coQwe3jYAuBTgenUw* a;
a = (tyObject_KademliaProtocolcolonObjectType___oABmn9coQwe3jYAuBTgenUw*)p;
nimGCvisit((void*)(*a).wire, op); nimGCvisit((void*)(*a).thisNode, op); nimGCvisit((void*)(*a).routing.thisNode, op); nimGCvisit((void*)(*a).routing.buckets, op); nimGCvisit((void*)(*a).pongFutures.data, op); nimGCvisit((void*)(*a).pingFutures.data, op); nimGCvisit((void*)(*a).neighboursCallbacks.data, op); nimGCvisit((void*)(*a).rng, op);}
#line 11 "/home/runner/work/nim-waku/nim-waku/vendor/nimbus-build-system/vendor/Nim/lib/system/memory.nim"
static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size) { void* T1_;
#line 13 "/home/runner/work/nim-waku/nim-waku/vendor/nimbus-build-system/vendor/Nim/lib/system/memory.nim"
#line 13 "/home/runner/work/nim-waku/nim-waku/vendor/nimbus-build-system/vendor/Nim/lib/system/memory.nim"
T1_ = (void*)0; T1_ = memcpy(dest, source, ((size_t) (size)));}
#line 2112 "/home/runner/work/nim-waku/nim-waku/vendor/nimbus-build-system/vendor/Nim/lib/system.nim"
static N_INLINE(void, copyMem__i80o3k0SgEI5gTRCzYdyWAsystem)(void* dest, void* source, NI size) {
#line 2113 "/home/runner/work/nim-waku/nim-waku/vendor/nimbus-build-system/vendor/Nim/lib/system.nim"
#line 2113 "/home/runner/work/nim-waku/nim-waku/vendor/nimbus-build-system/vendor/Nim/lib/system.nim"
nimCopyMem(dest, source, size);
}
#line 217 "/home/runner/work/nim-waku/nim-waku/vendor/nimbus-build-system/vendor/Nim/lib/system/sysstr.nim"
static N_INLINE(void, appendString)(NimStringDesc* dest, NimStringDesc* src) {
#line 218 "/home/runner/work/nim-waku/nim-waku/vendor/nimbus-build-system/vendor/Nim/lib/system/sysstr.nim"
{
#line 218 "/home/runner/work/nim-waku/nim-waku/vendor/nimbus-build-system/vendor/Nim/lib/system/sysstr.nim"
#line 218 "/home/runner/work/nim-waku/nim-waku/vendor/nimbus-build-system/vendor/Nim/lib/system/sysstr.nim"
if (!!((src == NIM_NIL))) goto LA3_;
#line 219 "/home/runner/work/nim-waku/nim-waku/vendor/nimbus-build-system/vendor/Nim/lib/system/sysstr.nim"
#line 219 "/home/runner/work/nim-waku/nim-waku/vendor/nimbus-build-system/vendor/Nim/lib/system/sysstr.nim"
#line 219 "/home/runner/work/nim-waku/nim-waku/vendor/nimbus-build-system/vendor/Nim/lib/system/sysstr.nim"
copyMem__i80o3k0SgEI5gTRCzYdyWAsystem(((void*) ((&(*dest).data[(*dest).Sup.len]))), ((void*) ((*src).data)), ((NI) ((NI)((*src).Sup.len + ((NI) 1)))));
#line 220 "/home/runner/work/nim-waku/nim-waku/vendor/nimbus-build-system/vendor/Nim/lib/system/sysstr.nim"
(*dest).Sup.len += (*src).Sup.len; }
LA3_: ;
}
#line 74 "/home/runner/work/nim-waku/nim-waku/vendor/nim-eth/eth/p2p/kademlia.nim"
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar___QMl2M41LkzE0PN9bJVRUG5Q)(tyObject_NodecolonObjectType___qHnzRdH4zCCluGzY2Ao49cg* n_0) { NimStringDesc* result; result = (NimStringDesc*)0;
#line 75 "/home/runner/work/nim-waku/nim-waku/vendor/nim-eth/eth/p2p/kademlia.nim"
#line 75 "/home/runner/work/nim-waku/nim-waku/vendor/nim-eth/eth/p2p/kademlia.nim"
{
#line 75 "/home/runner/work/nim-waku/nim-waku/vendor/nim-eth/eth/p2p/kademlia.nim"
if (!(n_0 == NIM_NIL)) goto LA3_;
result = copyString(((NimStringDesc*) &TM__hHMuvF9aunJcOicmgc4deRw_7)); }
goto LA1_;
LA3_: ;
{ NimStringDesc* T6_; NimStringDesc* T7_; NimStringDesc* T8_;
#line 78 "/home/runner/work/nim-waku/nim-waku/vendor/nim-eth/eth/p2p/kademlia.nim"
T6_ = (NimStringDesc*)0;
#line 78 "/home/runner/work/nim-waku/nim-waku/vendor/nim-eth/eth/p2p/kademlia.nim"
#line 78 "/home/runner/work/nim-waku/nim-waku/vendor/nim-eth/eth/p2p/kademlia.nim"
T7_ = (NimStringDesc*)0; T7_ = dollar___cbhSLBlQm0h9cO9cfQ8lXDaw((*n_0).node.address.ip);
#line 78 "/home/runner/work/nim-waku/nim-waku/vendor/nim-eth/eth/p2p/kademlia.nim"
#line 78 "/home/runner/work/nim-waku/nim-waku/vendor/nim-eth/eth/p2p/kademlia.nim"
T8_ = (NimStringDesc*)0; T8_ = dollar___RkX9btpg5sQIaP8yYXB6tbA((*n_0).node.address.udpPort); T6_ = rawNewString((T7_ ? T7_->Sup.len : 0) + (T8_ ? T8_->Sup.len : 0) + 7);appendString(T6_, ((NimStringDesc*) &TM__hHMuvF9aunJcOicmgc4deRw_8));appendString(T6_, T7_);appendString(T6_, ((NimStringDesc*) &TM__hHMuvF9aunJcOicmgc4deRw_9));appendString(T6_, T8_);appendString(T6_, ((NimStringDesc*) &TM__hHMuvF9aunJcOicmgc4deRw_10)); result = T6_; }
LA1_: ;
return result;}
#line 22 "/home/runner/work/nim-waku/nim-waku/vendor/nimbus-build-system/vendor/Nim/lib/system/memory.nim"
static N_INLINE(void, nimSetMem__zxfKBYntu9cBapkhrCOk1fgmemory)(void* a, int v, NI size) { void* T1_;
#line 24 "/home/runner/work/nim-waku/nim-waku/vendor/nimbus-build-system/vendor/Nim/lib/system/memory.nim"
#line 24 "/home/runner/work/nim-waku/nim-waku/vendor/nimbus-build-system/vendor/Nim/lib/system/memory.nim"
T1_ = (void*)0; T1_ = memset(a, v, ((size_t) (size)));}
#line 33 "/home/runner/work/nim-waku/nim-waku/vendor/nimbus-build-system/vendor/Nim/lib/system/memory.nim"
static N_INLINE(void, nimZeroMem)(void* p, NI size) {
#line 34 "/home/runner/work/nim-waku/nim-waku/vendor/nimbus-build-system/vendor/Nim/lib/system/memory.nim"
#line 34 "/home/runner/work/nim-waku/nim-waku/vendor/nimbus-build-system/vendor/Nim/lib/system/memory.nim"
nimSetMem__zxfKBYntu9cBapkhrCOk1fgmemory(p, ((int) 0), size);
}
#line 80 "/home/runner/work/nim-waku/nim-waku/vendor/nim-eth/eth/p2p/kademlia.nim"
N_LIB_PRIVATE N_NIMCALL(NI, hash__CaMh2m9bdzg1ocusi53bWtg)(tyObject_NodecolonObjectType___qHnzRdH4zCCluGzY2Ao49cg* n_0) { NI result; tyArray__w5VB8h5K8DB3oWrO5U2wqg T1_; result = (NI)0;
#line 80 "/home/runner/work/nim-waku/nim-waku/vendor/nim-eth/eth/p2p/kademlia.nim"
#line 80 "/home/runner/work/nim-waku/nim-waku/vendor/nim-eth/eth/p2p/kademlia.nim"
#line 80 "/home/runner/work/nim-waku/nim-waku/vendor/nim-eth/eth/p2p/kademlia.nim"
nimZeroMem((void*)T1_, sizeof(tyArray__w5VB8h5K8DB3oWrO5U2wqg)); toRaw__W9bYIkOOHQ8dZSTz9aIjEPEQ((&(*n_0).node.pubkey), T1_);
#line 80 "/home/runner/work/nim-waku/nim-waku/vendor/nim-eth/eth/p2p/kademlia.nim"
result = hash__CiCiZV9c7F9alrF1xV3QD1ag_2(T1_, 64); return result;}
#line 81 "/home/runner/work/nim-waku/nim-waku/vendor/nim-eth/eth/p2p/kademlia.nim"
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, eqeq___Td9a9afRPwnI6qVx9ahUdIcew)(tyObject_NodecolonObjectType___qHnzRdH4zCCluGzY2Ao49cg* a, tyObject_NodecolonObjectType___qHnzRdH4zCCluGzY2Ao49cg* b) { NIM_BOOL result; NIM_BOOL T1_; NIM_BOOL T2_; NIM_BOOL T5_; NIM_BOOL T6_; result = (NIM_BOOL)0;
#line 81 "/home/runner/work/nim-waku/nim-waku/vendor/nim-eth/eth/p2p/kademlia.nim"
#line 81 "/home/runner/work/nim-waku/nim-waku/vendor/nim-eth/eth/p2p/kademlia.nim"
T1_ = (NIM_BOOL)0;
#line 81 "/home/runner/work/nim-waku/nim-waku/vendor/nim-eth/eth/p2p/kademlia.nim"
T2_ = (NIM_BOOL)0;
#line 81 "/home/runner/work/nim-waku/nim-waku/vendor/nim-eth/eth/p2p/kademlia.nim"
T2_ = (a == 0); if (!(T2_)) goto LA3_;
#line 81 "/home/runner/work/nim-waku/nim-waku/vendor/nim-eth/eth/p2p/kademlia.nim"
T2_ = (b == 0); LA3_: ;
T1_ = T2_; if (T1_) goto LA4_;
#line 81 "/home/runner/work/nim-waku/nim-waku/vendor/nim-eth/eth/p2p/kademlia.nim"
T5_ = (NIM_BOOL)0;
#line 81 "/home/runner/work/nim-waku/nim-waku/vendor/nim-eth/eth/p2p/kademlia.nim"
T6_ = (NIM_BOOL)0;
#line 81 "/home/runner/work/nim-waku/nim-waku/vendor/nim-eth/eth/p2p/kademlia.nim"
#line 81 "/home/runner/work/nim-waku/nim-waku/vendor/nim-eth/eth/p2p/kademlia.nim"
T6_ = !((a == 0)); if (!(T6_)) goto LA7_;
#line 81 "/home/runner/work/nim-waku/nim-waku/vendor/nim-eth/eth/p2p/kademlia.nim"
#line 81 "/home/runner/work/nim-waku/nim-waku/vendor/nim-eth/eth/p2p/kademlia.nim"
T6_ = !((b == 0)); LA7_: ;
T5_ = T6_; if (!(T5_)) goto LA8_;
#line 81 "/home/runner/work/nim-waku/nim-waku/vendor/nim-eth/eth/p2p/kademlia.nim"
#line 81 "/home/runner/work/nim-waku/nim-waku/vendor/nim-eth/eth/p2p/kademlia.nim"
T5_ = eqeq___zJO9bCgds9b4PyWAoL25AVCg((&(*a).node.pubkey), (&(*b).node.pubkey)); LA8_: ;
T1_ = T5_; LA4_: ;
result = T1_; return result;}
N_LIB_PRIVATE N_NIMCALL(void, eth_kademliaDatInit000)(void) {
#line 999999 "generated_not_to_break_here"
static TNimNode* TM__hHMuvF9aunJcOicmgc4deRw_2_2[2];
static TNimNode* TM__hHMuvF9aunJcOicmgc4deRw_3_7[7];
static TNimNode* TM__hHMuvF9aunJcOicmgc4deRw_4_2[2];
static TNimNode* TM__hHMuvF9aunJcOicmgc4deRw_5_5[5];
static TNimNode* TM__hHMuvF9aunJcOicmgc4deRw_6_2[2];
static TNimNode TM__hHMuvF9aunJcOicmgc4deRw_0[23];NTI__qHnzRdH4zCCluGzY2Ao49cg_.size = sizeof(tyObject_NodecolonObjectType___qHnzRdH4zCCluGzY2Ao49cg);
NTI__qHnzRdH4zCCluGzY2Ao49cg_.kind = 18;
NTI__qHnzRdH4zCCluGzY2Ao49cg_.base = 0;
NTI__qHnzRdH4zCCluGzY2Ao49cg_.flags = 3;
NTI__qHnzRdH4zCCluGzY2Ao49cg_.name = "Node:ObjectType";
NTI__qHnzRdH4zCCluGzY2Ao49cg_.nextType = nimTypeRoot; nimTypeRoot=&NTI__qHnzRdH4zCCluGzY2Ao49cg_;
TM__hHMuvF9aunJcOicmgc4deRw_2_2[0] = &TM__hHMuvF9aunJcOicmgc4deRw_0[1];
TM__hHMuvF9aunJcOicmgc4deRw_0[1].kind = 1;
TM__hHMuvF9aunJcOicmgc4deRw_0[1].offset = offsetof(tyObject_NodecolonObjectType___qHnzRdH4zCCluGzY2Ao49cg, node);
TM__hHMuvF9aunJcOicmgc4deRw_0[1].typ = (&NTI__bNRDNKJGQnqT2sH89bsDhBw_);
TM__hHMuvF9aunJcOicmgc4deRw_0[1].name = "node";
TM__hHMuvF9aunJcOicmgc4deRw_2_2[1] = &TM__hHMuvF9aunJcOicmgc4deRw_0[2];
TM__hHMuvF9aunJcOicmgc4deRw_0[2].kind = 1;
TM__hHMuvF9aunJcOicmgc4deRw_0[2].offset = offsetof(tyObject_NodecolonObjectType___qHnzRdH4zCCluGzY2Ao49cg, id);
TM__hHMuvF9aunJcOicmgc4deRw_0[2].typ = (&NTI__zk9cGwjKuqNvWysDWG2FjHg_);
TM__hHMuvF9aunJcOicmgc4deRw_0[2].name = "id";
TM__hHMuvF9aunJcOicmgc4deRw_0[0].len = 2; TM__hHMuvF9aunJcOicmgc4deRw_0[0].kind = 2; TM__hHMuvF9aunJcOicmgc4deRw_0[0].sons = &TM__hHMuvF9aunJcOicmgc4deRw_2_2[0];
NTI__qHnzRdH4zCCluGzY2Ao49cg_.node = &TM__hHMuvF9aunJcOicmgc4deRw_0[0];
NTI__dXv1y2c2nNbnKs59aRY70QA_.size = sizeof(tyObject_NodecolonObjectType___qHnzRdH4zCCluGzY2Ao49cg*);
NTI__dXv1y2c2nNbnKs59aRY70QA_.kind = 22;
NTI__dXv1y2c2nNbnKs59aRY70QA_.base = (&NTI__qHnzRdH4zCCluGzY2Ao49cg_);
NTI__dXv1y2c2nNbnKs59aRY70QA_.flags = 2;
NTI__dXv1y2c2nNbnKs59aRY70QA_.name = "Node";
NTI__dXv1y2c2nNbnKs59aRY70QA_.nextType = nimTypeRoot; nimTypeRoot=&NTI__dXv1y2c2nNbnKs59aRY70QA_;
NTI__dXv1y2c2nNbnKs59aRY70QA_.marker = Marker_tyRef__dXv1y2c2nNbnKs59aRY70QA;
NTI__oABmn9coQwe3jYAuBTgenUw_.size = sizeof(tyObject_KademliaProtocolcolonObjectType___oABmn9coQwe3jYAuBTgenUw);
NTI__oABmn9coQwe3jYAuBTgenUw_.kind = 18;
NTI__oABmn9coQwe3jYAuBTgenUw_.base = 0;
NTI__oABmn9coQwe3jYAuBTgenUw_.name = "KademliaProtocol[discovery.DiscoveryProtocol]";
NTI__oABmn9coQwe3jYAuBTgenUw_.nextType = nimTypeRoot; nimTypeRoot=&NTI__oABmn9coQwe3jYAuBTgenUw_;
TM__hHMuvF9aunJcOicmgc4deRw_3_7[0] = &TM__hHMuvF9aunJcOicmgc4deRw_0[4];
TM__hHMuvF9aunJcOicmgc4deRw_0[4].kind = 1;
TM__hHMuvF9aunJcOicmgc4deRw_0[4].offset = offsetof(tyObject_KademliaProtocolcolonObjectType___oABmn9coQwe3jYAuBTgenUw, wire);
TM__hHMuvF9aunJcOicmgc4deRw_0[4].typ = (&NTI__y9bIPDAY22JKpDx249caf7iw_);
TM__hHMuvF9aunJcOicmgc4deRw_0[4].name = "wire";
TM__hHMuvF9aunJcOicmgc4deRw_3_7[1] = &TM__hHMuvF9aunJcOicmgc4deRw_0[5];
TM__hHMuvF9aunJcOicmgc4deRw_0[5].kind = 1;
TM__hHMuvF9aunJcOicmgc4deRw_0[5].offset = offsetof(tyObject_KademliaProtocolcolonObjectType___oABmn9coQwe3jYAuBTgenUw, thisNode);
TM__hHMuvF9aunJcOicmgc4deRw_0[5].typ = (&NTI__dXv1y2c2nNbnKs59aRY70QA_);
TM__hHMuvF9aunJcOicmgc4deRw_0[5].name = "thisNode";
TM__hHMuvF9aunJcOicmgc4deRw_3_7[2] = &TM__hHMuvF9aunJcOicmgc4deRw_0[6];
NTI__wrJgHm52cMnVGGTyRmqsGw_.size = sizeof(tyObject_RoutingTable__wrJgHm52cMnVGGTyRmqsGw);
NTI__wrJgHm52cMnVGGTyRmqsGw_.kind = 18;
NTI__wrJgHm52cMnVGGTyRmqsGw_.base = 0;
NTI__wrJgHm52cMnVGGTyRmqsGw_.flags = 2;
NTI__wrJgHm52cMnVGGTyRmqsGw_.name = "RoutingTable";
NTI__wrJgHm52cMnVGGTyRmqsGw_.nextType = nimTypeRoot; nimTypeRoot=&NTI__wrJgHm52cMnVGGTyRmqsGw_;
TM__hHMuvF9aunJcOicmgc4deRw_4_2[0] = &TM__hHMuvF9aunJcOicmgc4deRw_0[8];
TM__hHMuvF9aunJcOicmgc4deRw_0[8].kind = 1;
TM__hHMuvF9aunJcOicmgc4deRw_0[8].offset = offsetof(tyObject_RoutingTable__wrJgHm52cMnVGGTyRmqsGw, thisNode);
TM__hHMuvF9aunJcOicmgc4deRw_0[8].typ = (&NTI__dXv1y2c2nNbnKs59aRY70QA_);
TM__hHMuvF9aunJcOicmgc4deRw_0[8].name = "thisNode";
TM__hHMuvF9aunJcOicmgc4deRw_4_2[1] = &TM__hHMuvF9aunJcOicmgc4deRw_0[9];
NTI__WQiQdZ7rHpARW9cCKtu1c9aA_.size = sizeof(tyObject_KBucketcolonObjectType___WQiQdZ7rHpARW9cCKtu1c9aA);
NTI__WQiQdZ7rHpARW9cCKtu1c9aA_.kind = 18;
NTI__WQiQdZ7rHpARW9cCKtu1c9aA_.base = 0;
NTI__WQiQdZ7rHpARW9cCKtu1c9aA_.flags = 2;
NTI__WQiQdZ7rHpARW9cCKtu1c9aA_.name = "KBucket:ObjectType";
NTI__WQiQdZ7rHpARW9cCKtu1c9aA_.nextType = nimTypeRoot; nimTypeRoot=&NTI__WQiQdZ7rHpARW9cCKtu1c9aA_;
TM__hHMuvF9aunJcOicmgc4deRw_5_5[0] = &TM__hHMuvF9aunJcOicmgc4deRw_0[11];
TM__hHMuvF9aunJcOicmgc4deRw_0[11].kind = 1;
TM__hHMuvF9aunJcOicmgc4deRw_0[11].offset = offsetof(tyObject_KBucketcolonObjectType___WQiQdZ7rHpARW9cCKtu1c9aA, istart);
TM__hHMuvF9aunJcOicmgc4deRw_0[11].typ = (&NTI__zk9cGwjKuqNvWysDWG2FjHg_);
TM__hHMuvF9aunJcOicmgc4deRw_0[11].name = "istart";
TM__hHMuvF9aunJcOicmgc4deRw_5_5[1] = &TM__hHMuvF9aunJcOicmgc4deRw_0[12];
TM__hHMuvF9aunJcOicmgc4deRw_0[12].kind = 1;
TM__hHMuvF9aunJcOicmgc4deRw_0[12].offset = offsetof(tyObject_KBucketcolonObjectType___WQiQdZ7rHpARW9cCKtu1c9aA, iend);
TM__hHMuvF9aunJcOicmgc4deRw_0[12].typ = (&NTI__zk9cGwjKuqNvWysDWG2FjHg_);
TM__hHMuvF9aunJcOicmgc4deRw_0[12].name = "iend";
TM__hHMuvF9aunJcOicmgc4deRw_5_5[2] = &TM__hHMuvF9aunJcOicmgc4deRw_0[13];
TM__hHMuvF9aunJcOicmgc4deRw_0[13].kind = 1;
TM__hHMuvF9aunJcOicmgc4deRw_0[13].offset = offsetof(tyObject_KBucketcolonObjectType___WQiQdZ7rHpARW9cCKtu1c9aA, nodes);
TM__hHMuvF9aunJcOicmgc4deRw_0[13].typ = (&NTI__Wq0ZcI6MO5RSp6EwbCW5fA_);
TM__hHMuvF9aunJcOicmgc4deRw_0[13].name = "nodes";
TM__hHMuvF9aunJcOicmgc4deRw_5_5[3] = &TM__hHMuvF9aunJcOicmgc4deRw_0[14];
TM__hHMuvF9aunJcOicmgc4deRw_0[14].kind = 1;
TM__hHMuvF9aunJcOicmgc4deRw_0[14].offset = offsetof(tyObject_KBucketcolonObjectType___WQiQdZ7rHpARW9cCKtu1c9aA, replacementCache);
TM__hHMuvF9aunJcOicmgc4deRw_0[14].typ = (&NTI__Wq0ZcI6MO5RSp6EwbCW5fA_);
TM__hHMuvF9aunJcOicmgc4deRw_0[14].name = "replacementCache";
TM__hHMuvF9aunJcOicmgc4deRw_5_5[4] = &TM__hHMuvF9aunJcOicmgc4deRw_0[15];
TM__hHMuvF9aunJcOicmgc4deRw_0[15].kind = 1;
TM__hHMuvF9aunJcOicmgc4deRw_0[15].offset = offsetof(tyObject_KBucketcolonObjectType___WQiQdZ7rHpARW9cCKtu1c9aA, lastUpdated);
TM__hHMuvF9aunJcOicmgc4deRw_0[15].typ = (&NTI__w9bl9a1ul9ctRJWiMl9cNnIMvg_);
TM__hHMuvF9aunJcOicmgc4deRw_0[15].name = "lastUpdated";
TM__hHMuvF9aunJcOicmgc4deRw_0[10].len = 5; TM__hHMuvF9aunJcOicmgc4deRw_0[10].kind = 2; TM__hHMuvF9aunJcOicmgc4deRw_0[10].sons = &TM__hHMuvF9aunJcOicmgc4deRw_5_5[0];
NTI__WQiQdZ7rHpARW9cCKtu1c9aA_.node = &TM__hHMuvF9aunJcOicmgc4deRw_0[10];
NTI__jFNSFkkjkI148WdvXdbxjA_.size = sizeof(tyObject_KBucketcolonObjectType___WQiQdZ7rHpARW9cCKtu1c9aA*);
NTI__jFNSFkkjkI148WdvXdbxjA_.kind = 22;
NTI__jFNSFkkjkI148WdvXdbxjA_.base = (&NTI__WQiQdZ7rHpARW9cCKtu1c9aA_);
NTI__jFNSFkkjkI148WdvXdbxjA_.flags = 2;
NTI__jFNSFkkjkI148WdvXdbxjA_.name = "KBucket";
NTI__jFNSFkkjkI148WdvXdbxjA_.nextType = nimTypeRoot; nimTypeRoot=&NTI__jFNSFkkjkI148WdvXdbxjA_;
NTI__jFNSFkkjkI148WdvXdbxjA_.marker = Marker_tyRef__jFNSFkkjkI148WdvXdbxjA;
NTI__8y8hhoTs9bVn1no7HCdDJwQ_.size = sizeof(tySequence__8y8hhoTs9bVn1no7HCdDJwQ*);
NTI__8y8hhoTs9bVn1no7HCdDJwQ_.kind = 24;
NTI__8y8hhoTs9bVn1no7HCdDJwQ_.base = (&NTI__jFNSFkkjkI148WdvXdbxjA_);
NTI__8y8hhoTs9bVn1no7HCdDJwQ_.flags = 2;
NTI__8y8hhoTs9bVn1no7HCdDJwQ_.name = "seq[KBucket]";
NTI__8y8hhoTs9bVn1no7HCdDJwQ_.nextType = nimTypeRoot; nimTypeRoot=&NTI__8y8hhoTs9bVn1no7HCdDJwQ_;
NTI__8y8hhoTs9bVn1no7HCdDJwQ_.marker = Marker_tySequence__8y8hhoTs9bVn1no7HCdDJwQ;
TM__hHMuvF9aunJcOicmgc4deRw_0[9].kind = 1;
TM__hHMuvF9aunJcOicmgc4deRw_0[9].offset = offsetof(tyObject_RoutingTable__wrJgHm52cMnVGGTyRmqsGw, buckets);
TM__hHMuvF9aunJcOicmgc4deRw_0[9].typ = (&NTI__8y8hhoTs9bVn1no7HCdDJwQ_);
TM__hHMuvF9aunJcOicmgc4deRw_0[9].name = "buckets";
TM__hHMuvF9aunJcOicmgc4deRw_0[7].len = 2; TM__hHMuvF9aunJcOicmgc4deRw_0[7].kind = 2; TM__hHMuvF9aunJcOicmgc4deRw_0[7].sons = &TM__hHMuvF9aunJcOicmgc4deRw_4_2[0];
NTI__wrJgHm52cMnVGGTyRmqsGw_.node = &TM__hHMuvF9aunJcOicmgc4deRw_0[7];
TM__hHMuvF9aunJcOicmgc4deRw_0[6].kind = 1;
TM__hHMuvF9aunJcOicmgc4deRw_0[6].offset = offsetof(tyObject_KademliaProtocolcolonObjectType___oABmn9coQwe3jYAuBTgenUw, routing);
TM__hHMuvF9aunJcOicmgc4deRw_0[6].typ = (&NTI__wrJgHm52cMnVGGTyRmqsGw_);
TM__hHMuvF9aunJcOicmgc4deRw_0[6].name = "routing";
TM__hHMuvF9aunJcOicmgc4deRw_3_7[3] = &TM__hHMuvF9aunJcOicmgc4deRw_0[16];
TM__hHMuvF9aunJcOicmgc4deRw_0[16].kind = 1;
TM__hHMuvF9aunJcOicmgc4deRw_0[16].offset = offsetof(tyObject_KademliaProtocolcolonObjectType___oABmn9coQwe3jYAuBTgenUw, pongFutures);
TM__hHMuvF9aunJcOicmgc4deRw_0[16].typ = (&NTI__gZoQEO4V3muc0g6lD9aIb2Q_);
TM__hHMuvF9aunJcOicmgc4deRw_0[16].name = "pongFutures";
TM__hHMuvF9aunJcOicmgc4deRw_3_7[4] = &TM__hHMuvF9aunJcOicmgc4deRw_0[17];
TM__hHMuvF9aunJcOicmgc4deRw_0[17].kind = 1;
TM__hHMuvF9aunJcOicmgc4deRw_0[17].offset = offsetof(tyObject_KademliaProtocolcolonObjectType___oABmn9coQwe3jYAuBTgenUw, pingFutures);
TM__hHMuvF9aunJcOicmgc4deRw_0[17].typ = (&NTI__G9cDI1Dr3nt9bkFZ69cYb2hpA_);
TM__hHMuvF9aunJcOicmgc4deRw_0[17].name = "pingFutures";
TM__hHMuvF9aunJcOicmgc4deRw_3_7[5] = &TM__hHMuvF9aunJcOicmgc4deRw_0[18];
NTI__Vj8L5mSqv3cWTixxMAusYg_.size = sizeof(tyTuple__JfHvHzMrhKkWAUvQKe0i1A);
NTI__Vj8L5mSqv3cWTixxMAusYg_.kind = 18;
NTI__Vj8L5mSqv3cWTixxMAusYg_.base = 0;
NTI__Vj8L5mSqv3cWTixxMAusYg_.name = "tuple of (pointer, ref object)";
NTI__Vj8L5mSqv3cWTixxMAusYg_.nextType = nimTypeRoot; nimTypeRoot=&NTI__Vj8L5mSqv3cWTixxMAusYg_;
TM__hHMuvF9aunJcOicmgc4deRw_6_2[0] = &TM__hHMuvF9aunJcOicmgc4deRw_0[20];
TM__hHMuvF9aunJcOicmgc4deRw_0[20].kind = 1;
TM__hHMuvF9aunJcOicmgc4deRw_0[20].offset = offsetof(tyTuple__JfHvHzMrhKkWAUvQKe0i1A, Field0);
TM__hHMuvF9aunJcOicmgc4deRw_0[20].typ = (&NTI__vr5DoT1jILTGdRlYv1OYpw_);
TM__hHMuvF9aunJcOicmgc4deRw_0[20].name = "Field0";
TM__hHMuvF9aunJcOicmgc4deRw_6_2[1] = &TM__hHMuvF9aunJcOicmgc4deRw_0[21];
TM__hHMuvF9aunJcOicmgc4deRw_0[21].kind = 1;
TM__hHMuvF9aunJcOicmgc4deRw_0[21].offset = offsetof(tyTuple__JfHvHzMrhKkWAUvQKe0i1A, Field1);
TM__hHMuvF9aunJcOicmgc4deRw_0[21].typ = (&NTI__HsJiUUcO9cHBdUCi0HwkSTA_);
TM__hHMuvF9aunJcOicmgc4deRw_0[21].name = "Field1";
TM__hHMuvF9aunJcOicmgc4deRw_0[19].len = 2; TM__hHMuvF9aunJcOicmgc4deRw_0[19].kind = 2; TM__hHMuvF9aunJcOicmgc4deRw_0[19].sons = &TM__hHMuvF9aunJcOicmgc4deRw_6_2[0];
NTI__Vj8L5mSqv3cWTixxMAusYg_.node = &TM__hHMuvF9aunJcOicmgc4deRw_0[19];
TM__hHMuvF9aunJcOicmgc4deRw_0[18].kind = 1;
TM__hHMuvF9aunJcOicmgc4deRw_0[18].offset = offsetof(tyObject_KademliaProtocolcolonObjectType___oABmn9coQwe3jYAuBTgenUw, neighboursCallbacks);
TM__hHMuvF9aunJcOicmgc4deRw_0[18].typ = (&NTI__4n5kcfi9ae2XAgDxZKNVtjg_);
TM__hHMuvF9aunJcOicmgc4deRw_0[18].name = "neighboursCallbacks";
TM__hHMuvF9aunJcOicmgc4deRw_3_7[6] = &TM__hHMuvF9aunJcOicmgc4deRw_0[22];
TM__hHMuvF9aunJcOicmgc4deRw_0[22].kind = 1;
TM__hHMuvF9aunJcOicmgc4deRw_0[22].offset = offsetof(tyObject_KademliaProtocolcolonObjectType___oABmn9coQwe3jYAuBTgenUw, rng);
TM__hHMuvF9aunJcOicmgc4deRw_0[22].typ = (&NTI__RuNvFuo5ptASsihINNteSw_);
TM__hHMuvF9aunJcOicmgc4deRw_0[22].name = "rng";
TM__hHMuvF9aunJcOicmgc4deRw_0[3].len = 7; TM__hHMuvF9aunJcOicmgc4deRw_0[3].kind = 2; TM__hHMuvF9aunJcOicmgc4deRw_0[3].sons = &TM__hHMuvF9aunJcOicmgc4deRw_3_7[0];
NTI__oABmn9coQwe3jYAuBTgenUw_.node = &TM__hHMuvF9aunJcOicmgc4deRw_0[3];
NTI__r47tWgnBw9c0VOULJ9bQeLYg_.size = sizeof(tyObject_KademliaProtocolcolonObjectType___oABmn9coQwe3jYAuBTgenUw*);
NTI__r47tWgnBw9c0VOULJ9bQeLYg_.kind = 22;
NTI__r47tWgnBw9c0VOULJ9bQeLYg_.base = (&NTI__oABmn9coQwe3jYAuBTgenUw_);
NTI__r47tWgnBw9c0VOULJ9bQeLYg_.name = "KademliaProtocol[discovery.DiscoveryProtocol]";
NTI__r47tWgnBw9c0VOULJ9bQeLYg_.nextType = nimTypeRoot; nimTypeRoot=&NTI__r47tWgnBw9c0VOULJ9bQeLYg_;
NTI__r47tWgnBw9c0VOULJ9bQeLYg_.marker = Marker_tyRef__r47tWgnBw9c0VOULJ9bQeLYg;
}