/* 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-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 -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-nat-traversal/vendor/miniupnp/miniupnpc -I/home/runner/work/nim-waku/nim-waku/vendor/nim-nat-traversal/vendor/libnatpmp-upstream -DENABLE_STRNATPMPERR -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/v2/node -o nimcache/release/wakunode2/@m..@s..@s..@svendor@snim-libp2p@slibp2p@scrypto@secnist.nim.c.o nimcache/release/wakunode2/@m..@s..@s..@svendor@snim-libp2p@slibp2p@scrypto@secnist.nim.c */ #define NIM_INTBITS 64 #include "nimbase.h" #include "bearssl_ec.h" #include #include "bearssl_hash.h" #include #include #include "bearssl_rand.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_EcPrivateKeycolonObjectType___OJbV39curmS5TCBXopR7itA tyObject_EcPrivateKeycolonObjectType___OJbV39curmS5TCBXopR7itA; typedef struct TNimType TNimType; typedef struct TNimNode TNimNode; typedef struct tyObject_EcPublicKeycolonObjectType___2rc9bUkP8wBzp3UeWWgE9b5Q tyObject_EcPublicKeycolonObjectType___2rc9bUkP8wBzp3UeWWgE9b5Q; typedef struct tyObject_Result__4V9aavu9bX80MVc5K82Pp59aA tyObject_Result__4V9aavu9bX80MVc5K82Pp59aA; typedef struct tySequence__6H5Oh5UUvVCLiakt9aTwtUQ tySequence__6H5Oh5UUvVCLiakt9aTwtUQ; typedef struct TGenericSeq TGenericSeq; typedef struct tyObject_Result__9aXs39benOLqEdFqQiLtaoMg tyObject_Result__9aXs39benOLqEdFqQiLtaoMg; typedef struct tyObject_Asn1Buffer__a5EmYcJjKFxSSJOn8BKx9bA tyObject_Asn1Buffer__a5EmYcJjKFxSSJOn8BKx9bA; typedef struct RootObj RootObj; typedef struct tyObject_Asn1Composite__nDo9cwlNrRu8ntu170HnAFg tyObject_Asn1Composite__nDo9cwlNrRu8ntu170HnAFg; typedef struct NimStringDesc NimStringDesc; typedef struct tyObject_Result__cx3gWYymz9cZkL0oOUI2lQg tyObject_Result__cx3gWYymz9cZkL0oOUI2lQg; typedef struct tyObject_Asn1Field__AJb9cQQSJ8hA8TA2i9b34qGg tyObject_Asn1Field__AJb9cQQSJ8hA8TA2i9b34qGg; typedef struct tyObject_Result__0EVVlocCiIWh0JVzIL7m2A tyObject_Result__0EVVlocCiIWh0JVzIL7m2A; typedef struct tyObject_Result__fBI8BlURc7uRx2jML3oTSg tyObject_Result__fBI8BlURc7uRx2jML3oTSg; typedef struct tyObject_Result__Wf60IuU9b2deDkGInMnfWDg tyObject_Result__Wf60IuU9b2deDkGInMnfWDg; typedef struct tyObject_EcSignaturecolonObjectType___MVVOg89cY9cYypBpNfm27WSQ tyObject_EcSignaturecolonObjectType___MVVOg89cY9cYypBpNfm27WSQ; 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 tyObject_SharedList__JI9cx34TL8n3aOKF6tSMBUw tyObject_SharedList__JI9cx34TL8n3aOKF6tSMBUw; typedef struct tyObject_SharedListNodecolonObjectType___KGw0YAw6W9aSz3Sr9aXGu7zg tyObject_SharedListNodecolonObjectType___KGw0YAw6W9aSz3Sr9aXGu7zg; typedef struct tyObject_EcKeyPair__bsR3ZYy78BmQsv6nJi4PSw tyObject_EcKeyPair__bsR3ZYy78BmQsv6nJi4PSw; typedef struct tyObject_Result__aacdVUZDJjOWP9bH69asqFVg tyObject_Result__aacdVUZDJjOWP9bH69asqFVg; typedef struct tyObject_Result__oOsFQPbY2q7ayTTSab5TvA tyObject_Result__oOsFQPbY2q7ayTTSab5TvA; typedef NU8 tyArray__JmtzaGPqh6ulXN2kVElCqA[72]; struct tyObject_EcPrivateKeycolonObjectType___OJbV39curmS5TCBXopR7itA {tyArray__JmtzaGPqh6ulXN2kVElCqA buffer; br_ec_private_key key; }; 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; }; typedef NU8 tyArray__5fET4L16EkHaikTXaOXHsQ[145]; struct tyObject_EcPublicKeycolonObjectType___2rc9bUkP8wBzp3UeWWgE9b5Q {tyArray__5fET4L16EkHaikTXaOXHsQ buffer; br_ec_public_key key; }; typedef NU8 tyEnum_EcError__uEgxZ29b8TyXtXI1lvZiARA; struct tyObject_Result__4V9aavu9bX80MVc5K82Pp59aA {NIM_BOOL o; union{ struct {tyEnum_EcError__uEgxZ29b8TyXtXI1lvZiARA e; } _o_1; struct {tySequence__6H5Oh5UUvVCLiakt9aTwtUQ* v; } _o_2; }; }; struct TGenericSeq {NI len; NI reserved; }; struct tyObject_Result__9aXs39benOLqEdFqQiLtaoMg {NIM_BOOL o; union{ struct {tyEnum_EcError__uEgxZ29b8TyXtXI1lvZiARA e; } _o_1; struct {NI v; } _o_2; }; }; struct RootObj {TNimType* m_type;}; struct tyObject_Asn1Buffer__a5EmYcJjKFxSSJOn8BKx9bA { RootObj Sup;tySequence__6H5Oh5UUvVCLiakt9aTwtUQ* buffer; NI offset; NI length; }; typedef NU8 tyEnum_Asn1Tag__hBLeLVrzEfHzr0vieTv9ayg; struct tyObject_Asn1Composite__nDo9cwlNrRu8ntu170HnAFg { tyObject_Asn1Buffer__a5EmYcJjKFxSSJOn8BKx9bA Sup;tyEnum_Asn1Tag__hBLeLVrzEfHzr0vieTv9ayg tag; NI idx; }; typedef NU8 tyArray__HhO8EAlttg7Yo1LAKdC6hQ[7]; typedef NU8 tyArray__cdsir9aPB24hAk6k77P9b9bCA[8]; typedef NU8 tyArray__39cnIm4v9c7pQp5XFRxTMpFg[5]; struct NimStringDesc { TGenericSeq Sup;NIM_CHAR data[SEQ_DECL_SIZE]; }; typedef NU8 tyEnum_Asn1Error__42d3XKMvE9ci9aEfsFxnW0EA; struct tyObject_Result__cx3gWYymz9cZkL0oOUI2lQg {NIM_BOOL o; union{ struct {tyEnum_Asn1Error__42d3XKMvE9ci9aEfsFxnW0EA e; } _o_1; }; }; typedef NU8 tyEnum_Asn1Class__FtwzcKvXucMBl21sNqjtJA; struct tyObject_Asn1Field__AJb9cQQSJ8hA8TA2i9b34qGg {tyEnum_Asn1Class__FtwzcKvXucMBl21sNqjtJA klass; NI index; NI offset; NI length; tySequence__6H5Oh5UUvVCLiakt9aTwtUQ* buffer; tyEnum_Asn1Tag__hBLeLVrzEfHzr0vieTv9ayg kind; union{ struct {NIM_BOOL vbool; } _kind_1; struct {NU64 vint; } _kind_2; struct {NI ubits; } _kind_3; }; }; struct tyObject_Result__0EVVlocCiIWh0JVzIL7m2A {NIM_BOOL o; union{ struct {tyEnum_Asn1Error__42d3XKMvE9ci9aEfsFxnW0EA e; } _o_1; struct {tyObject_Asn1Field__AJb9cQQSJ8hA8TA2i9b34qGg v; } _o_2; }; }; typedef NU8 tyEnum_EcCurveKind__9a05LORLSq8PdPWJxWhyBXw; typedef NU8 tyArray__bN9bddWn8oiNSHn2MqEJSZQ[2]; typedef N_CDECL_PTR(unsigned char*, tyProc__RsQCUDkcFU21gYyx1MQoag) (int curve_0, NI* len_0); typedef N_CDECL_PTR(NI, tyProc__2OHt7ggxoJzA8VYxj1IhNw) (int curve_0, NI* len_0); typedef N_CDECL_PTR(NU32, tyProc__pzE688NyvZUoJzv9c4TeD5g) (unsigned char* g, NI glen, unsigned char* x_0, NI xlen_0, int curve_0); typedef N_CDECL_PTR(NI, tyProc__kqSrq59bmV4RJ6UmQwOrn2g) (unsigned char* r, unsigned char* x_0, NI xlen_0, int curve_0); typedef N_CDECL_PTR(NU32, tyProc__uplriG9a1p3SVKDigTAcMTQ) (unsigned char* a, unsigned char* b, NI len_0, unsigned char* x_0, NI xlen_0, unsigned char* y_0, NI ylen, int curve_0); struct tyObject_Result__fBI8BlURc7uRx2jML3oTSg {NIM_BOOL o; union{ struct {tyEnum_EcError__uEgxZ29b8TyXtXI1lvZiARA e; } _o_1; struct {tyObject_EcPublicKeycolonObjectType___2rc9bUkP8wBzp3UeWWgE9b5Q* v; } _o_2; }; }; struct tyObject_Result__Wf60IuU9b2deDkGInMnfWDg {NIM_BOOL o; union{ struct {tyEnum_EcError__uEgxZ29b8TyXtXI1lvZiARA e; } _o_1; struct {tyObject_EcSignaturecolonObjectType___MVVOg89cY9cYypBpNfm27WSQ* v; } _o_2; }; }; typedef unsigned char tyArray__A1SHJCPZVISPTujoygIPEQ[64]; typedef NU32 tyArray__FleBT9cC2nxhgiXmSYYnEKA[4]; typedef NU32 tyArray__xsE8WL1yT5DKfrMdYB89bYA[5]; typedef NU32 tyArray__MpWsq9bBH14GsDQQ59cgyxAQ[8]; typedef unsigned char tyArray__9bf43xCSmpsReI1l9ct3f6Sw[128]; typedef NU64 tyArray__9cHI9ce3NOVpqam1bGmXg5vw[8]; typedef NU8 tyArray__vEOa9c5qaE9ajWxR5R4zwfQg[32]; typedef NU8 tySet_tyInt__0Qsu6ykZBzpuXoFSXQGViA[8192]; struct tyObject_EcSignaturecolonObjectType___MVVOg89cY9cYypBpNfm27WSQ {tySequence__6H5Oh5UUvVCLiakt9aTwtUQ* buffer; }; 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__SiRwrEKZdLgxqz9a9aoVBglg[512]; 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__SiRwrEKZdLgxqz9a9aoVBglg 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; NI allocCounter; NI deallocCounter; }; 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; }; typedef long tyArray__xDUyu9aScDpt0JZLU6q9aEZQ[5]; struct tyObject_SharedList__JI9cx34TL8n3aOKF6tSMBUw {tyObject_SharedListNodecolonObjectType___KGw0YAw6W9aSz3Sr9aXGu7zg* head; tyObject_SharedListNodecolonObjectType___KGw0YAw6W9aSz3Sr9aXGu7zg* tail; pthread_mutex_t lock; }; 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; tyObject_SharedList__JI9cx34TL8n3aOKF6tSMBUw toDispose; NI gcThreadId; }; 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); typedef NU8 tySet_tyEnum_HexFlags__1Frk6a29aEzIs9cJdkfOVHJQ; struct tyObject_EcKeyPair__bsR3ZYy78BmQsv6nJi4PSw {tyObject_EcPrivateKeycolonObjectType___OJbV39curmS5TCBXopR7itA* seckey; tyObject_EcPublicKeycolonObjectType___2rc9bUkP8wBzp3UeWWgE9b5Q* pubkey; }; struct tyObject_Result__aacdVUZDJjOWP9bH69asqFVg {NIM_BOOL o; union{ struct {tyEnum_EcError__uEgxZ29b8TyXtXI1lvZiARA e; } _o_1; struct {tyObject_EcKeyPair__bsR3ZYy78BmQsv6nJi4PSw v; } _o_2; }; }; struct tyObject_Result__oOsFQPbY2q7ayTTSab5TvA {NIM_BOOL o; union{ struct {tyEnum_EcError__uEgxZ29b8TyXtXI1lvZiARA e; } _o_1; struct {tyObject_EcPrivateKeycolonObjectType___OJbV39curmS5TCBXopR7itA* v; } _o_2; }; }; typedef NU8 tyArray__7qMeC7YwE9a86azalcjwO6w[66]; 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); struct tySequence__6H5Oh5UUvVCLiakt9aTwtUQ { TGenericSeq Sup; NU8 data[SEQ_DECL_SIZE];};static N_NIMCALL(void, Marker_tyRef__NRNhelyAfMGuaaXZlYQPFA)(void* p, NI op); static N_NIMCALL(void, Marker_tyRef__y9abboQL8NPsqWIoJZmI9aiw)(void* p, NI op); N_LIB_PRIVATE N_NOINLINE(void, chckNil)(void* p); N_LIB_PRIVATE N_NIMCALL(void, unsureAsgnRef)(void** dest, void* src); N_LIB_PRIVATE N_NIMCALL(tySequence__6H5Oh5UUvVCLiakt9aTwtUQ*, newSeq__DpCWN7DIBuAjgoeQ9c29blYQ)(NI len_0); N_LIB_PRIVATE N_NIMCALL(tyObject_Result__9aXs39benOLqEdFqQiLtaoMg, toBytes__h0zKn6mnH9b1WR59a49aVnoqQ)(tyObject_EcPublicKeycolonObjectType___2rc9bUkP8wBzp3UeWWgE9b5Q* pubkey, NU8* data_0, NI data_0Len_0); 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(void, init__5Ms8XzuU9bg8ecal9ab5MTdA)(tyObject_Asn1Buffer__a5EmYcJjKFxSSJOn8BKx9bA* Result); N_LIB_PRIVATE N_NIMCALL(void, init__LR9a2q5Zt539ayB5EKEiJF0g)(tyEnum_Asn1Tag__hBLeLVrzEfHzr0vieTv9ayg tag, tyObject_Asn1Composite__nDo9cwlNrRu8ntu170HnAFg* Result); N_LIB_PRIVATE N_NIMCALL(void, write__z4GCG5BGgGHOIZoLtw5rAw)(tyObject_Asn1Composite__nDo9cwlNrRu8ntu170HnAFg* abc, tyEnum_Asn1Tag__hBLeLVrzEfHzr0vieTv9ayg tag, NU8* value_0, NI value_0Len_0, NI bits); static N_INLINE(void, finish__YlPrmyIivjUbyxfbA1I5fgminasn1)(tyObject_Asn1Composite__nDo9cwlNrRu8ntu170HnAFg* abc); N_LIB_PRIVATE N_NIMCALL(void, write__p2xmP7GdD5UO3rNa9cmx12w)(tyObject_Asn1Composite__nDo9cwlNrRu8ntu170HnAFg* abc, tyObject_Asn1Composite__nDo9cwlNrRu8ntu170HnAFg* value_0); static N_INLINE(NI, getOffset__9cmRmkVGJabfNKyPrYWmKxgecnist)(tyObject_EcPublicKeycolonObjectType___2rc9bUkP8wBzp3UeWWgE9b5Q* pubkey); N_LIB_PRIVATE N_NOINLINE(void, raiseOverflow)(void); N_LIB_PRIVATE N_NOINLINE(void, raiseIndexError)(void); N_LIB_PRIVATE N_NIMCALL(void, write__HuWLOlu2X16vPWQ3bSZ3nA)(tyObject_Asn1Buffer__a5EmYcJjKFxSSJOn8BKx9bA* abc, tyObject_Asn1Composite__nDo9cwlNrRu8ntu170HnAFg* value_0); static N_INLINE(void, finish__TiT6vNUOGDpqGhiAzvnzNwminasn1)(tyObject_Asn1Buffer__a5EmYcJjKFxSSJOn8BKx9bA* abc); static N_INLINE(NI, len__BfeAsaNk9bNqZpKX8OkRGnQminasn1)(tyObject_Asn1Buffer__a5EmYcJjKFxSSJOn8BKx9bA* abc); 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_NOINLINE(void, raiseIndexError2)(NI i, NI n); N_LIB_PRIVATE N_NOINLINE(void, raiseRangeErrorI)(NI64 i, NI64 a, NI64 b); N_LIB_PRIVATE N_NOINLINE(void, raiseFieldError)(NimStringDesc* f); N_LIB_PRIVATE N_NIMCALL(TGenericSeq*, setLengthSeqV2)(TGenericSeq* s, TNimType* typ, NI newLen); N_LIB_PRIVATE N_NIMCALL(void, genericSeqAssign)(void* dest, void* src, TNimType* mt); N_LIB_PRIVATE N_NIMCALL(void, init__FDFzv3pYx3J2sRfYY241sA)(NU8* data_0, NI data_0Len_0, tyObject_Asn1Buffer__a5EmYcJjKFxSSJOn8BKx9bA* Result); N_LIB_PRIVATE N_NIMCALL(void, read__pcAQatFetF1EcQU9bJIK9alg)(tyObject_Asn1Buffer__a5EmYcJjKFxSSJOn8BKx9bA* ab, tyObject_Result__0EVVlocCiIWh0JVzIL7m2A* Result); N_LIB_PRIVATE N_NIMCALL(void, genericAssign)(void* dest, void* src, TNimType* mt); static N_INLINE(void, getBuffer__vfMHrxHl5r9cjWSsGJNOimwminasn1)(tyObject_Asn1Field__AJb9cQQSJ8hA8TA2i9b34qGg* field, tyObject_Asn1Buffer__a5EmYcJjKFxSSJOn8BKx9bA* Result); N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, eqeq___S8lKwyU3mSfHixNjtlBskA)(tyObject_Asn1Field__AJb9cQQSJ8hA8TA2i9b34qGg* field, NU8* data_0, NI data_0Len_0); N_LIB_PRIVATE N_NIMCALL(NU32, checkPublic__PVo5h77ceSvIK9adD3lr3MA)(NU8* key_0, NI key_0Len_0, int curve_0); N_LIB_PRIVATE N_NIMCALL(tySequence__6H5Oh5UUvVCLiakt9aTwtUQ*, at___FKhCG9aXnVoTuyjERVXzd2g)(NU8* a, NI aLen_0); N_LIB_PRIVATE N_NIMCALL(tyObject_EcPublicKeycolonObjectType___2rc9bUkP8wBzp3UeWWgE9b5Q*, new__ECh78eS89cC66Fj2Kok35JQ)(void); N_LIB_PRIVATE N_NIMCALL(tyObject_EcSignaturecolonObjectType___MVVOg89cY9cYypBpNfm27WSQ*, new__W15GkxypjnSVt37Ei5NZWA)(void); N_LIB_PRIVATE N_NIMCALL(void, nimGCvisit)(void* d, NI op); static N_NIMCALL(void, Marker_tyRef__ju5ytUu5N6XBCdxPNbW6wQ)(void* p, NI op); static N_INLINE(void, asgnRef)(void** dest, void* src); static N_INLINE(void, incRef__AT1eRuflKWyTTBdLjEDZbg_3system)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c); static N_INLINE(NI, pluspercent___dgYAo7RfdUVVpvkfKDym8wsystem)(NI x, NI y); static N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*, usrToCell__QFQqcLB3lgOdwipkv9a60xwsystem)(void* usr); static N_INLINE(NI, minuspercent___dgYAo7RfdUVVpvkfKDym8w_2system)(NI x, NI y); static N_INLINE(void, decRef__AT1eRuflKWyTTBdLjEDZbgsystem)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c); static N_INLINE(NIM_BOOL, ltpercent___hPljn3JCDQ00ua1R07X9bxQsystem)(NI x, NI y); static N_INLINE(void, rtlAddZCT__AT1eRuflKWyTTBdLjEDZbg_2system)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c); N_LIB_PRIVATE N_NOINLINE(void, addZCT__Y66tOYFjgwJ0k4aLz4bc0Q)(tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w* s, tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c); N_LIB_PRIVATE N_NIMCALL(tyObject_Result__9aXs39benOLqEdFqQiLtaoMg, toBytes__5zoyzYqfj0YC9cTm02FJ1Ag)(tyObject_EcSignaturecolonObjectType___MVVOg89cY9cYypBpNfm27WSQ* sig, NU8* data_0, NI data_0Len_0); N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, copyString)(NimStringDesc* src); static N_INLINE(NimStringDesc*, toHex__TfeJ361pglyJR5Hz15wCJQutils)(NU8* a, NI aLen_0, NIM_BOOL lowercase); N_NIMCALL(NimStringDesc*, mnewString)(NI len); N_LIB_PRIVATE N_NIMCALL(NI, bytesToHex__TSuuVF9b8JuBk8cjfFOyavA)(NU8* src, NI srcLen_0, NIM_CHAR* dst, NI dstLen_0, tySet_tyEnum_HexFlags__1Frk6a29aEzIs9cJdkfOVHJQ flags_0); N_LIB_PRIVATE N_NIMCALL(void, random__w4Y1PVu9bvsQJnqSLoGMCCQ)(tyEnum_EcCurveKind__9a05LORLSq8PdPWJxWhyBXw kind, br_hmac_drbg_context* rng_0, tyObject_Result__oOsFQPbY2q7ayTTSab5TvA* Result); N_LIB_PRIVATE N_NIMCALL(tyObject_EcPrivateKeycolonObjectType___OJbV39curmS5TCBXopR7itA*, new__xpe9b3j9afmHUq1nj9bNNd6dw)(void); N_LIB_PRIVATE N_NIMCALL(void, getKey__uMuHGMfLCEJnKjbrz3jSbA)(tyObject_EcPrivateKeycolonObjectType___OJbV39curmS5TCBXopR7itA* seckey, tyObject_Result__fBI8BlURc7uRx2jML3oTSg* Result); N_LIB_PRIVATE N_NIMCALL(tyObject_Result__9aXs39benOLqEdFqQiLtaoMg, toRawBytes__h0zKn6mnH9b1WR59a49aVnoqQ_2)(tyObject_EcPublicKeycolonObjectType___2rc9bUkP8wBzp3UeWWgE9b5Q* pubkey, NU8* data_0, NI data_0Len_0); N_LIB_PRIVATE N_NIMCALL(void, failedAssertImpl__W9cjVocn1tjhW7p7xohJj6A)(NimStringDesc* msg); N_LIB_PRIVATE N_NIMCALL(NI, toSecret__sVcxYz7LLCrJMsKXeaoW9bQ)(tyObject_EcPublicKeycolonObjectType___2rc9bUkP8wBzp3UeWWgE9b5Q* pubkey, tyObject_EcPrivateKeycolonObjectType___OJbV39curmS5TCBXopR7itA* seckey, NU8* data_0, NI data_0Len_0); N_LIB_PRIVATE N_NIMCALL(tyObject_EcPublicKeycolonObjectType___2rc9bUkP8wBzp3UeWWgE9b5Q*, scalarMul__Rohx8dcI9ccPprn2v0Y4SEQ)(tyObject_EcPublicKeycolonObjectType___2rc9bUkP8wBzp3UeWWgE9b5Q* pub, tyObject_EcPrivateKeycolonObjectType___OJbV39curmS5TCBXopR7itA* sec); N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, copy__hD12mgCjt0hO35tmAkcs8A)(tyObject_EcPublicKeycolonObjectType___2rc9bUkP8wBzp3UeWWgE9b5Q** dst, tyObject_EcPublicKeycolonObjectType___2rc9bUkP8wBzp3UeWWgE9b5Q* src); static N_INLINE(NI, getOffset__UrACxkxqm9bq5Aul5qsPlGwecnist)(tyObject_EcPrivateKeycolonObjectType___OJbV39curmS5TCBXopR7itA* seckey); N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isEqual__WxQYJ8fOGBPO2T0Kv9aJaEA)(NU8* a, NI aLen_0, NU8* b, NI bLen_0); N_LIB_PRIVATE TNimType NTI__OJbV39curmS5TCBXopR7itA_; extern TNimType NTI__k3HXouOuhqAKq0dx450lXQ_; N_LIB_PRIVATE TNimType NTI__JmtzaGPqh6ulXN2kVElCqA_; extern TNimType NTI__3DhVwKzbGjEfOVOEWVLSGQ_; N_LIB_PRIVATE TNimType NTI__NRNhelyAfMGuaaXZlYQPFA_; N_LIB_PRIVATE TNimType NTI__2rc9bUkP8wBzp3UeWWgE9b5Q_; N_LIB_PRIVATE TNimType NTI__5fET4L16EkHaikTXaOXHsQ_; extern TNimType NTI__3dk7amdL5k7WjErtWrzjGw_; N_LIB_PRIVATE TNimType NTI__y9abboQL8NPsqWIoJZmI9aiw_; extern TNimType NTI__a5EmYcJjKFxSSJOn8BKx9bA_; extern TNimType NTI__nDo9cwlNrRu8ntu170HnAFg_; static NIM_CONST tyArray__HhO8EAlttg7Yo1LAKdC6hQ TM__4AguaBuWiLw9adbLoM9cOsSw_4 = {((NU8) 42), ((NU8) 134), ((NU8) 72), ((NU8) 206), ((NU8) 61), ((NU8) 2), ((NU8) 1)} ; static NIM_CONST tyArray__cdsir9aPB24hAk6k77P9b9bCA TM__4AguaBuWiLw9adbLoM9cOsSw_5 = {((NU8) 42), ((NU8) 134), ((NU8) 72), ((NU8) 206), ((NU8) 61), ((NU8) 3), ((NU8) 1), ((NU8) 7)} ; static NIM_CONST tyArray__39cnIm4v9c7pQp5XFRxTMpFg TM__4AguaBuWiLw9adbLoM9cOsSw_6 = {((NU8) 43), ((NU8) 129), ((NU8) 4), ((NU8) 0), ((NU8) 34)} ; static NIM_CONST tyArray__39cnIm4v9c7pQp5XFRxTMpFg TM__4AguaBuWiLw9adbLoM9cOsSw_7 = {((NU8) 43), ((NU8) 129), ((NU8) 4), ((NU8) 0), ((NU8) 35)} ; STRING_LITERAL(TM__4AguaBuWiLw9adbLoM9cOsSw_11, "\'e\' is not accessible using discriminant \'o\' of type \'Result\'", 61); STRING_LITERAL(TM__4AguaBuWiLw9adbLoM9cOsSw_12, "\'v\' is not accessible using discriminant \'o\' of type \'Result\'", 61); extern TNimType NTI__6H5Oh5UUvVCLiakt9aTwtUQ_; extern TNimType NTI__AJb9cQQSJ8hA8TA2i9b34qGg_; static NIM_CONST tyArray__bN9bddWn8oiNSHn2MqEJSZQ TM__4AguaBuWiLw9adbLoM9cOsSw_13 = {((NU8) 0), ((NU8) 1)} ; N_LIB_PRIVATE NIM_CONST tySet_tyInt__0Qsu6ykZBzpuXoFSXQGViA EcSupportedCurvesCint__ETyWsKcb5WNIIYTvgxxraA = { 0x00, 0x00, 0x80, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} ; N_LIB_PRIVATE TNimType NTI__MVVOg89cY9cYypBpNfm27WSQ_; N_LIB_PRIVATE TNimType NTI__ju5ytUu5N6XBCdxPNbW6wQ_; STRING_LITERAL(TM__4AguaBuWiLw9adbLoM9cOsSw_16, "Empty or uninitialized ECNIST key", 33); STRING_LITERAL(TM__4AguaBuWiLw9adbLoM9cOsSw_17, "Unknown key", 11); STRING_LITERAL(TM__4AguaBuWiLw9adbLoM9cOsSw_18, "Corrupted key", 13); N_LIB_PRIVATE TNimType NTI__bsR3ZYy78BmQsv6nJi4PSw_; N_LIB_PRIVATE TNimType NTI__uEgxZ29b8TyXtXI1lvZiARA_; STRING_LITERAL(TM__4AguaBuWiLw9adbLoM9cOsSw_25, "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/cr" "ypto/ecnist.nim(926, 11) `(not isNil(pubkey)) and (not isNil(sec" "key))` ", 134); STRING_LITERAL(TM__4AguaBuWiLw9adbLoM9cOsSw_26, "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/cr" "ypto/ecnist.nim(907, 11) `(not isNil(pubkey)) and (not isNil(sec" "key))` ", 134); STRING_LITERAL(TM__4AguaBuWiLw9adbLoM9cOsSw_27, "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/cr" "ypto/ecnist.nim(879, 11) `(not isNil(pub)) and (not isNil(sec))`" " ", 128); extern TNimType* nimTypeRoot; extern NIM_THREADVAR tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ gch__IcYaEuuWivYAS86vFMTS3Q; static N_NIMCALL(void, Marker_tyRef__NRNhelyAfMGuaaXZlYQPFA)(void* p, NI op) { tyObject_EcPrivateKeycolonObjectType___OJbV39curmS5TCBXopR7itA* a; NI T1_; a = (tyObject_EcPrivateKeycolonObjectType___OJbV39curmS5TCBXopR7itA*)p; T1_ = (NI)0;} static N_NIMCALL(void, Marker_tyRef__y9abboQL8NPsqWIoJZmI9aiw)(void* p, NI op) { tyObject_EcPublicKeycolonObjectType___2rc9bUkP8wBzp3UeWWgE9b5Q* a; NI T1_; a = (tyObject_EcPublicKeycolonObjectType___2rc9bUkP8wBzp3UeWWgE9b5Q*)p; T1_ = (NI)0;} #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 874 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/minasn1.nim" static N_INLINE(void, finish__YlPrmyIivjUbyxfbA1I5fgminasn1)(tyObject_Asn1Composite__nDo9cwlNrRu8ntu170HnAFg* abc) { #line 876 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/minasn1.nim" (*abc).Sup.offset = ((NI) 0);} #line 129 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" static N_INLINE(NI, getOffset__9cmRmkVGJabfNKyPrYWmKxgecnist)(tyObject_EcPublicKeycolonObjectType___2rc9bUkP8wBzp3UeWWgE9b5Q* pubkey) { NI result; NU o; result = (NI)0; #line 130 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" #line 130 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" o = (NU)((NU64)(((NU) (ptrdiff_t) ((*pubkey).key.q))) - (NU64)(((NU) (ptrdiff_t) ((&(*pubkey).buffer[(((NI) 0))- 0]))))); #line 131 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" { #line 131 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" #line 131 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" if (!((NU64)(((NU) 145)) < (NU64)((NU)((NU64)(o) + (NU64)(((NU) ((*pubkey).key.qlen))))))) goto LA3_; #line 132 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" result = ((NI) -1); } goto LA1_; LA3_: ; { #line 134 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" result = ((NI) (o)); } LA1_: ; return result;} #line 874 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/minasn1.nim" static N_INLINE(void, finish__TiT6vNUOGDpqGhiAzvnzNwminasn1)(tyObject_Asn1Buffer__a5EmYcJjKFxSSJOn8BKx9bA* abc) { #line 876 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/minasn1.nim" (*abc).offset = ((NI) 0);} #line 122 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/minasn1.nim" static N_INLINE(NI, len__BfeAsaNk9bNqZpKX8OkRGnQminasn1)(tyObject_Asn1Buffer__a5EmYcJjKFxSSJOn8BKx9bA* abc) { NI result; NI T1_; NI TM__4AguaBuWiLw9adbLoM9cOsSw_10; result = (NI)0; #line 123 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/minasn1.nim" #line 123 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/minasn1.nim" #line 123 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/minasn1.nim" T1_ = ((*abc).buffer ? (*abc).buffer->Sup.len : 0); if (nimSubInt(T1_, (*abc).offset, &TM__4AguaBuWiLw9adbLoM9cOsSw_10)) { raiseOverflow(); }; result = (NI)(TM__4AguaBuWiLw9adbLoM9cOsSw_10); return result;} #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 407 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" N_LIB_PRIVATE N_NIMCALL(tyObject_Result__9aXs39benOLqEdFqQiLtaoMg, toBytes__h0zKn6mnH9b1WR59a49aVnoqQ)(tyObject_EcPublicKeycolonObjectType___2rc9bUkP8wBzp3UeWWgE9b5Q* pubkey, NU8* data_0, NI data_0Len_0) { tyObject_Result__9aXs39benOLqEdFqQiLtaoMg result;{ nimZeroMem((void*)(&result), sizeof(tyObject_Result__9aXs39benOLqEdFqQiLtaoMg)); #line 408 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" #line 413 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" { #line 413 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" if (!(pubkey == 0)) goto LA3_; #line 414 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" #line 414 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" chckNil((void*)(&result)); nimZeroMem((void*)(&result), sizeof(tyObject_Result__9aXs39benOLqEdFqQiLtaoMg)); result.o = NIM_FALSE; result._o_1.e = ((tyEnum_EcError__uEgxZ29b8TyXtXI1lvZiARA) 3); goto BeforeRet_; } LA3_: ; #line 415 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" { tyObject_Asn1Buffer__a5EmYcJjKFxSSJOn8BKx9bA b; tyObject_Asn1Composite__nDo9cwlNrRu8ntu170HnAFg p_1; tyObject_Asn1Composite__nDo9cwlNrRu8ntu170HnAFg c; NI offset; NI length; NI TM__4AguaBuWiLw9adbLoM9cOsSw_8; NI TM__4AguaBuWiLw9adbLoM9cOsSw_9; NI blen; #line 415 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" if (!((*pubkey).key.curve == ((NI) 23) || (*pubkey).key.curve == ((NI) 24) || (*pubkey).key.curve == ((NI) 25))) goto LA7_; nimZeroMem((void*)(&b), sizeof(tyObject_Asn1Buffer__a5EmYcJjKFxSSJOn8BKx9bA)); b.Sup.m_type = (&NTI__a5EmYcJjKFxSSJOn8BKx9bA_); #line 416 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" #line 416 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" init__5Ms8XzuU9bg8ecal9ab5MTdA((&b)); nimZeroMem((void*)(&p_1), sizeof(tyObject_Asn1Composite__nDo9cwlNrRu8ntu170HnAFg)); p_1.Sup.Sup.m_type = (&NTI__nDo9cwlNrRu8ntu170HnAFg_); #line 417 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" #line 417 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" init__LR9a2q5Zt539ayB5EKEiJF0g(((tyEnum_Asn1Tag__hBLeLVrzEfHzr0vieTv9ayg) 7), (&p_1)); nimZeroMem((void*)(&c), sizeof(tyObject_Asn1Composite__nDo9cwlNrRu8ntu170HnAFg)); c.Sup.Sup.m_type = (&NTI__nDo9cwlNrRu8ntu170HnAFg_); #line 418 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" #line 418 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" init__LR9a2q5Zt539ayB5EKEiJF0g(((tyEnum_Asn1Tag__hBLeLVrzEfHzr0vieTv9ayg) 7), (&c)); #line 419 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" #line 419 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" write__z4GCG5BGgGHOIZoLtw5rAw((&c), ((tyEnum_Asn1Tag__hBLeLVrzEfHzr0vieTv9ayg) 6), TM__4AguaBuWiLw9adbLoM9cOsSw_4, 7, ((NI) 0)); #line 420 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" { #line 420 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" if (!((*pubkey).key.curve == ((NI32) 23))) goto LA11_; #line 421 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" #line 421 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" write__z4GCG5BGgGHOIZoLtw5rAw((&c), ((tyEnum_Asn1Tag__hBLeLVrzEfHzr0vieTv9ayg) 6), TM__4AguaBuWiLw9adbLoM9cOsSw_5, 8, ((NI) 0)); } goto LA9_; LA11_: ; { #line 422 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" if (!((*pubkey).key.curve == ((NI32) 24))) goto LA14_; #line 423 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" #line 423 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" write__z4GCG5BGgGHOIZoLtw5rAw((&c), ((tyEnum_Asn1Tag__hBLeLVrzEfHzr0vieTv9ayg) 6), TM__4AguaBuWiLw9adbLoM9cOsSw_6, 5, ((NI) 0)); } goto LA9_; LA14_: ; { #line 424 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" if (!((*pubkey).key.curve == ((NI32) 25))) goto LA17_; #line 425 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" #line 425 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" write__z4GCG5BGgGHOIZoLtw5rAw((&c), ((tyEnum_Asn1Tag__hBLeLVrzEfHzr0vieTv9ayg) 6), TM__4AguaBuWiLw9adbLoM9cOsSw_7, 5, ((NI) 0)); } goto LA9_; LA17_: ; LA9_: ; #line 426 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" #line 426 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" finish__YlPrmyIivjUbyxfbA1I5fgminasn1((&c)); #line 427 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" #line 427 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" write__p2xmP7GdD5UO3rNa9cmx12w((&p_1), (&c)); #line 428 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" #line 428 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" offset = getOffset__9cmRmkVGJabfNKyPrYWmKxgecnist(pubkey); #line 429 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" length = (*pubkey).key.qlen; #line 430 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" #line 431 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" #line 431 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" if (nimAddInt(offset, length, &TM__4AguaBuWiLw9adbLoM9cOsSw_8)) { raiseOverflow(); }; if (nimSubInt((NI)(TM__4AguaBuWiLw9adbLoM9cOsSw_8), ((NI) 1), &TM__4AguaBuWiLw9adbLoM9cOsSw_9)) { raiseOverflow(); }; if ((NI)(TM__4AguaBuWiLw9adbLoM9cOsSw_9)-offset != -1 && ((NI)(TM__4AguaBuWiLw9adbLoM9cOsSw_9)-offset < -1 || offset < 0 || offset > 144 || (NI)(TM__4AguaBuWiLw9adbLoM9cOsSw_9) < 0 || (NI)(TM__4AguaBuWiLw9adbLoM9cOsSw_9) > 144)){ raiseIndexError(); } #line 430 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" write__z4GCG5BGgGHOIZoLtw5rAw((&p_1), ((tyEnum_Asn1Tag__hBLeLVrzEfHzr0vieTv9ayg) 3), (NU8*)(((*pubkey).buffer)+(offset)), ((NI)(TM__4AguaBuWiLw9adbLoM9cOsSw_9))-(offset)+1, ((NI) 0)); #line 432 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" #line 432 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" finish__YlPrmyIivjUbyxfbA1I5fgminasn1((&p_1)); #line 433 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" #line 433 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" write__HuWLOlu2X16vPWQ3bSZ3nA((&b), (&p_1)); #line 434 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" #line 434 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" finish__TiT6vNUOGDpqGhiAzvnzNwminasn1((&b)); #line 435 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" #line 435 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" blen = len__BfeAsaNk9bNqZpKX8OkRGnQminasn1((&b)); #line 436 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" { #line 436 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" #line 436 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" if (!(blen <= data_0Len_0)) goto LA21_; #line 437 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" if ((NU)(((NI) 0)) >= (NU)(data_0Len_0)){ raiseIndexError2(((NI) 0),data_0Len_0-1); } if ((NU)(((NI) 0)) >= (NU)(b.buffer ? b.buffer->Sup.len : 0)){ raiseIndexError2(((NI) 0),(b.buffer ? b.buffer->Sup.len : 0)-1); } if ((blen) < ((NI) 0) || (blen) > ((NI) IL64(9223372036854775807))){ raiseRangeErrorI(blen, ((NI) 0), ((NI) IL64(9223372036854775807))); } #line 437 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" copyMem__i80o3k0SgEI5gTRCzYdyWAsystem(((void*) ((&data_0[((NI) 0)]))), ((void*) ((&b.buffer->data[((NI) 0)]))), ((NI) (blen))); } LA21_: ; chckNil((void*)(&result)); nimZeroMem((void*)(&result), sizeof(tyObject_Result__9aXs39benOLqEdFqQiLtaoMg)); result.o = NIM_TRUE; result._o_2.v = blen; } goto LA5_; LA7_: ; { chckNil((void*)(&result)); nimZeroMem((void*)(&result), sizeof(tyObject_Result__9aXs39benOLqEdFqQiLtaoMg)); result.o = NIM_FALSE; result._o_1.e = ((tyEnum_EcError__uEgxZ29b8TyXtXI1lvZiARA) 3); } LA5_: ; }BeforeRet_: ; return result;} #line 468 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" N_LIB_PRIVATE N_NIMCALL(void, getBytes__9coFnXXweAFsWW2RRW9bjCeg)(tyObject_EcPublicKeycolonObjectType___2rc9bUkP8wBzp3UeWWgE9b5Q* pubkey, tyObject_Result__4V9aavu9bX80MVc5K82Pp59aA* Result) {{ chckNil((void*)Result); switch ((*Result).o) { case NIM_FALSE: (*Result)._o_1.e = 0; break; case NIM_TRUE: unsureAsgnRef((void**)&(*Result)._o_2.v, NIM_NIL); break; } (*Result).o = 0; #line 469 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" #line 470 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" { #line 470 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" if (!(pubkey == 0)) goto LA3_; #line 471 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" #line 471 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" chckNil((void*)Result); switch ((*Result).o) { case NIM_FALSE: (*Result)._o_1.e = 0; break; case NIM_TRUE: unsureAsgnRef((void**)&(*Result)._o_2.v, NIM_NIL); break; } (*Result).o = 0; (*Result).o = NIM_FALSE; (*Result)._o_1.e = ((tyEnum_EcError__uEgxZ29b8TyXtXI1lvZiARA) 3); goto BeforeRet_; } LA3_: ; #line 472 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" { tySequence__6H5Oh5UUvVCLiakt9aTwtUQ* res; NI length; tyObject_Result__9aXs39benOLqEdFqQiLtaoMg vX60gensym55025026_; tyObject_Result__9aXs39benOLqEdFqQiLtaoMg vX60gensym55035212_; #line 472 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" if (!((*pubkey).key.curve == ((NI) 23) || (*pubkey).key.curve == ((NI) 24) || (*pubkey).key.curve == ((NI) 25))) goto LA7_; #line 473 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" #line 473 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" res = newSeq__DpCWN7DIBuAjgoeQ9c29blYQ(((NI) 0)); #line 474 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" #line 657 "/home/runner/work/nim-waku/nim-waku/vendor/nim-stew/stew/results.nim" #line 474 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" vX60gensym55025026_ = toBytes__h0zKn6mnH9b1WR59a49aVnoqQ(pubkey, res->data, (res ? res->Sup.len : 0)); #line 658 "/home/runner/work/nim-waku/nim-waku/vendor/nim-stew/stew/results.nim" { #line 658 "/home/runner/work/nim-waku/nim-waku/vendor/nim-stew/stew/results.nim" if (!!(vX60gensym55025026_.o)) goto LA11_; #line 662 "/home/runner/work/nim-waku/nim-waku/vendor/nim-stew/stew/results.nim" #line 662 "/home/runner/work/nim-waku/nim-waku/vendor/nim-stew/stew/results.nim" chckNil((void*)Result); switch ((*Result).o) { case NIM_FALSE: (*Result)._o_1.e = 0; break; case NIM_TRUE: unsureAsgnRef((void**)&(*Result)._o_2.v, NIM_NIL); break; } (*Result).o = 0; (*Result).o = NIM_FALSE; if (!(((1 &(1U<<((NU)(vX60gensym55025026_.o)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__4AguaBuWiLw9adbLoM9cOsSw_11)); } (*Result)._o_1.e = vX60gensym55025026_._o_1.e; goto BeforeRet_; } LA11_: ; if (!(((2 &(1U<<((NU)(vX60gensym55025026_.o)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__4AguaBuWiLw9adbLoM9cOsSw_12)); } length = vX60gensym55025026_._o_2.v; #line 475 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" if ((length) < ((NI) 0) || (length) > ((NI) IL64(9223372036854775807))){ raiseRangeErrorI(length, ((NI) 0), ((NI) IL64(9223372036854775807))); } res = (tySequence__6H5Oh5UUvVCLiakt9aTwtUQ*) setLengthSeqV2(&(res)->Sup, (&NTI__6H5Oh5UUvVCLiakt9aTwtUQ_), ((NI) (length))); #line 476 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" #line 657 "/home/runner/work/nim-waku/nim-waku/vendor/nim-stew/stew/results.nim" #line 476 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" vX60gensym55035212_ = toBytes__h0zKn6mnH9b1WR59a49aVnoqQ(pubkey, res->data, (res ? res->Sup.len : 0)); #line 658 "/home/runner/work/nim-waku/nim-waku/vendor/nim-stew/stew/results.nim" { #line 658 "/home/runner/work/nim-waku/nim-waku/vendor/nim-stew/stew/results.nim" if (!!(vX60gensym55035212_.o)) goto LA15_; #line 662 "/home/runner/work/nim-waku/nim-waku/vendor/nim-stew/stew/results.nim" #line 662 "/home/runner/work/nim-waku/nim-waku/vendor/nim-stew/stew/results.nim" chckNil((void*)Result); switch ((*Result).o) { case NIM_FALSE: (*Result)._o_1.e = 0; break; case NIM_TRUE: unsureAsgnRef((void**)&(*Result)._o_2.v, NIM_NIL); break; } (*Result).o = 0; (*Result).o = NIM_FALSE; if (!(((1 &(1U<<((NU)(vX60gensym55035212_.o)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__4AguaBuWiLw9adbLoM9cOsSw_11)); } (*Result)._o_1.e = vX60gensym55035212_._o_1.e; goto BeforeRet_; } LA15_: ; if (!(((2 &(1U<<((NU)(vX60gensym55035212_.o)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__4AguaBuWiLw9adbLoM9cOsSw_12)); } (void)(vX60gensym55035212_._o_2.v); chckNil((void*)Result); switch ((*Result).o) { case NIM_FALSE: (*Result)._o_1.e = 0; break; case NIM_TRUE: unsureAsgnRef((void**)&(*Result)._o_2.v, NIM_NIL); break; } (*Result).o = 0; (*Result).o = NIM_TRUE; genericSeqAssign((&(*Result)._o_2.v), res, (&NTI__6H5Oh5UUvVCLiakt9aTwtUQ_)); } goto LA5_; LA7_: ; { chckNil((void*)Result); switch ((*Result).o) { case NIM_FALSE: (*Result)._o_1.e = 0; break; case NIM_TRUE: unsureAsgnRef((void**)&(*Result)._o_2.v, NIM_NIL); break; } (*Result).o = 0; (*Result).o = NIM_FALSE; (*Result)._o_1.e = ((tyEnum_EcError__uEgxZ29b8TyXtXI1lvZiARA) 3); } LA5_: ; }BeforeRet_: ; } #line 691 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/minasn1.nim" static N_INLINE(void, getBuffer__vfMHrxHl5r9cjWSsGJNOimwminasn1)(tyObject_Asn1Field__AJb9cQQSJ8hA8TA2i9b34qGg* field, tyObject_Asn1Buffer__a5EmYcJjKFxSSJOn8BKx9bA* Result) { #line 692 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/minasn1.nim" chckNil((void*)Result); unsureAsgnRef((void**)&(*Result).buffer, NIM_NIL); (*Result).offset = 0; (*Result).length = 0; (*Result).Sup.m_type = (&NTI__a5EmYcJjKFxSSJOn8BKx9bA_); genericSeqAssign((&(*Result).buffer), (*field).buffer, (&NTI__6H5Oh5UUvVCLiakt9aTwtUQ_)); (*Result).offset = (*field).offset; (*Result).length = (*field).length;} #line 119 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" N_LIB_PRIVATE N_NIMCALL(NU32, checkPublic__PVo5h77ceSvIK9adD3lr3MA)(NU8* key_0, NI key_0Len_0, int curve_0) { NU32 result; tySequence__6H5Oh5UUvVCLiakt9aTwtUQ* ckey; tyArray__bN9bddWn8oiNSHn2MqEJSZQ x_1; br_ec_impl* impl_1; NI orderlen; unsigned char* T1_; NI T2_; result = (NU32)0; #line 121 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" #line 121 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" ckey = at___FKhCG9aXnVoTuyjERVXzd2g(key_0, key_0Len_0); nimZeroMem((void*)x_1, sizeof(tyArray__bN9bddWn8oiNSHn2MqEJSZQ)); #line 122 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" nimCopyMem((void*)x_1, (NIM_CONST void*)TM__4AguaBuWiLw9adbLoM9cOsSw_13, sizeof(tyArray__bN9bddWn8oiNSHn2MqEJSZQ)); #line 123 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" #line 123 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" impl_1 = br_ec_get_default(); #line 124 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" orderlen = ((NI) 0); #line 125 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" #line 125 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" #line 125 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" T1_ = (unsigned char*)0; T1_ = (*impl_1).order(curve_0, (&orderlen)); (void)(T1_); #line 126 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" if ((NU)(((NI) 0)) >= (NU)(ckey ? ckey->Sup.len : 0)){ raiseIndexError2(((NI) 0),(ckey ? ckey->Sup.len : 0)-1); } #line 126 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" T2_ = (ckey ? ckey->Sup.len : 0); #line 126 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" result = (*impl_1).mul(((unsigned char*) ((&ckey->data[((NI) 0)]))), T2_, ((unsigned char*) ((&x_1[(((NI) 0))- 0]))), ((NI) 2), curve_0); return result;} #line 642 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" N_LIB_PRIVATE N_NIMCALL(tyObject_Result__cx3gWYymz9cZkL0oOUI2lQg, init__7YQ9cuZgaQ7VdIDGdMHy1gA)(tyObject_EcPublicKeycolonObjectType___2rc9bUkP8wBzp3UeWWgE9b5Q** pubkey, NU8* data_0, NI data_0Len_0) { tyObject_Result__cx3gWYymz9cZkL0oOUI2lQg result; tyObject_Asn1Field__AJb9cQQSJ8hA8TA2i9b34qGg raw; tyObject_Asn1Field__AJb9cQQSJ8hA8TA2i9b34qGg oid_1; tyObject_Asn1Field__AJb9cQQSJ8hA8TA2i9b34qGg field; int curve_1; tyObject_Asn1Buffer__a5EmYcJjKFxSSJOn8BKx9bA ab; tyObject_Result__0EVVlocCiIWh0JVzIL7m2A vX60gensym55440043_; tyObject_Asn1Buffer__a5EmYcJjKFxSSJOn8BKx9bA ib; tyObject_Result__0EVVlocCiIWh0JVzIL7m2A vX60gensym55465007_; tyObject_Asn1Buffer__a5EmYcJjKFxSSJOn8BKx9bA ob; tyObject_Result__0EVVlocCiIWh0JVzIL7m2A vX60gensym55490007_; tyObject_Result__0EVVlocCiIWh0JVzIL7m2A vX60gensym55530005_; tyObject_Result__0EVVlocCiIWh0JVzIL7m2A vX60gensym55565005_;{ nimZeroMem((void*)(&result), sizeof(tyObject_Result__cx3gWYymz9cZkL0oOUI2lQg)); #line 643 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" nimZeroMem((void*)(&raw), sizeof(tyObject_Asn1Field__AJb9cQQSJ8hA8TA2i9b34qGg)); nimZeroMem((void*)(&oid_1), sizeof(tyObject_Asn1Field__AJb9cQQSJ8hA8TA2i9b34qGg)); nimZeroMem((void*)(&field), sizeof(tyObject_Asn1Field__AJb9cQQSJ8hA8TA2i9b34qGg)); curve_1 = (int)0; nimZeroMem((void*)(&ab), sizeof(tyObject_Asn1Buffer__a5EmYcJjKFxSSJOn8BKx9bA)); ab.Sup.m_type = (&NTI__a5EmYcJjKFxSSJOn8BKx9bA_); #line 650 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" #line 650 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" init__FDFzv3pYx3J2sRfYY241sA(data_0, data_0Len_0, (&ab)); #line 652 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" nimZeroMem((void*)(&vX60gensym55440043_), sizeof(tyObject_Result__0EVVlocCiIWh0JVzIL7m2A)); #line 657 "/home/runner/work/nim-waku/nim-waku/vendor/nim-stew/stew/results.nim" #line 652 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" read__pcAQatFetF1EcQU9bJIK9alg((&ab), (&vX60gensym55440043_)); #line 658 "/home/runner/work/nim-waku/nim-waku/vendor/nim-stew/stew/results.nim" { #line 658 "/home/runner/work/nim-waku/nim-waku/vendor/nim-stew/stew/results.nim" if (!!(vX60gensym55440043_.o)) goto LA3_; #line 662 "/home/runner/work/nim-waku/nim-waku/vendor/nim-stew/stew/results.nim" #line 662 "/home/runner/work/nim-waku/nim-waku/vendor/nim-stew/stew/results.nim" chckNil((void*)(&result)); nimZeroMem((void*)(&result), sizeof(tyObject_Result__cx3gWYymz9cZkL0oOUI2lQg)); result.o = NIM_FALSE; if (!(((1 &(1U<<((NU)(vX60gensym55440043_.o)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__4AguaBuWiLw9adbLoM9cOsSw_11)); } result._o_1.e = vX60gensym55440043_._o_1.e; goto BeforeRet_; } LA3_: ; if (!(((2 &(1U<<((NU)(vX60gensym55440043_.o)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__4AguaBuWiLw9adbLoM9cOsSw_12)); } genericAssign((void*)(&field), (void*)(&vX60gensym55440043_._o_2.v), (&NTI__AJb9cQQSJ8hA8TA2i9b34qGg_)); #line 654 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" { #line 654 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" #line 654 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" if (!!((field.kind == ((tyEnum_Asn1Tag__hBLeLVrzEfHzr0vieTv9ayg) 7)))) goto LA7_; #line 655 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" #line 655 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" chckNil((void*)(&result)); nimZeroMem((void*)(&result), sizeof(tyObject_Result__cx3gWYymz9cZkL0oOUI2lQg)); result.o = NIM_FALSE; result._o_1.e = ((tyEnum_Asn1Error__42d3XKMvE9ci9aEfsFxnW0EA) 3); goto BeforeRet_; } LA7_: ; nimZeroMem((void*)(&ib), sizeof(tyObject_Asn1Buffer__a5EmYcJjKFxSSJOn8BKx9bA)); ib.Sup.m_type = (&NTI__a5EmYcJjKFxSSJOn8BKx9bA_); #line 657 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" #line 657 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" getBuffer__vfMHrxHl5r9cjWSsGJNOimwminasn1((&field), (&ib)); #line 658 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" nimZeroMem((void*)(&vX60gensym55465007_), sizeof(tyObject_Result__0EVVlocCiIWh0JVzIL7m2A)); #line 657 "/home/runner/work/nim-waku/nim-waku/vendor/nim-stew/stew/results.nim" #line 658 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" read__pcAQatFetF1EcQU9bJIK9alg((&ib), (&vX60gensym55465007_)); #line 658 "/home/runner/work/nim-waku/nim-waku/vendor/nim-stew/stew/results.nim" { #line 658 "/home/runner/work/nim-waku/nim-waku/vendor/nim-stew/stew/results.nim" if (!!(vX60gensym55465007_.o)) goto LA11_; #line 662 "/home/runner/work/nim-waku/nim-waku/vendor/nim-stew/stew/results.nim" #line 662 "/home/runner/work/nim-waku/nim-waku/vendor/nim-stew/stew/results.nim" chckNil((void*)(&result)); nimZeroMem((void*)(&result), sizeof(tyObject_Result__cx3gWYymz9cZkL0oOUI2lQg)); result.o = NIM_FALSE; if (!(((1 &(1U<<((NU)(vX60gensym55465007_.o)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__4AguaBuWiLw9adbLoM9cOsSw_11)); } result._o_1.e = vX60gensym55465007_._o_1.e; goto BeforeRet_; } LA11_: ; if (!(((2 &(1U<<((NU)(vX60gensym55465007_.o)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__4AguaBuWiLw9adbLoM9cOsSw_12)); } genericAssign((void*)(&field), (void*)(&vX60gensym55465007_._o_2.v), (&NTI__AJb9cQQSJ8hA8TA2i9b34qGg_)); #line 660 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" { #line 660 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" #line 660 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" if (!!((field.kind == ((tyEnum_Asn1Tag__hBLeLVrzEfHzr0vieTv9ayg) 7)))) goto LA15_; #line 661 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" #line 661 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" chckNil((void*)(&result)); nimZeroMem((void*)(&result), sizeof(tyObject_Result__cx3gWYymz9cZkL0oOUI2lQg)); result.o = NIM_FALSE; result._o_1.e = ((tyEnum_Asn1Error__42d3XKMvE9ci9aEfsFxnW0EA) 3); goto BeforeRet_; } LA15_: ; nimZeroMem((void*)(&ob), sizeof(tyObject_Asn1Buffer__a5EmYcJjKFxSSJOn8BKx9bA)); ob.Sup.m_type = (&NTI__a5EmYcJjKFxSSJOn8BKx9bA_); #line 663 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" #line 663 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" getBuffer__vfMHrxHl5r9cjWSsGJNOimwminasn1((&field), (&ob)); #line 664 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" nimZeroMem((void*)(&vX60gensym55490007_), sizeof(tyObject_Result__0EVVlocCiIWh0JVzIL7m2A)); #line 657 "/home/runner/work/nim-waku/nim-waku/vendor/nim-stew/stew/results.nim" #line 664 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" read__pcAQatFetF1EcQU9bJIK9alg((&ob), (&vX60gensym55490007_)); #line 658 "/home/runner/work/nim-waku/nim-waku/vendor/nim-stew/stew/results.nim" { #line 658 "/home/runner/work/nim-waku/nim-waku/vendor/nim-stew/stew/results.nim" if (!!(vX60gensym55490007_.o)) goto LA19_; #line 662 "/home/runner/work/nim-waku/nim-waku/vendor/nim-stew/stew/results.nim" #line 662 "/home/runner/work/nim-waku/nim-waku/vendor/nim-stew/stew/results.nim" chckNil((void*)(&result)); nimZeroMem((void*)(&result), sizeof(tyObject_Result__cx3gWYymz9cZkL0oOUI2lQg)); result.o = NIM_FALSE; if (!(((1 &(1U<<((NU)(vX60gensym55490007_.o)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__4AguaBuWiLw9adbLoM9cOsSw_11)); } result._o_1.e = vX60gensym55490007_._o_1.e; goto BeforeRet_; } LA19_: ; if (!(((2 &(1U<<((NU)(vX60gensym55490007_.o)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__4AguaBuWiLw9adbLoM9cOsSw_12)); } genericAssign((void*)(&oid_1), (void*)(&vX60gensym55490007_._o_2.v), (&NTI__AJb9cQQSJ8hA8TA2i9b34qGg_)); #line 666 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" { #line 666 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" #line 666 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" if (!!((oid_1.kind == ((tyEnum_Asn1Tag__hBLeLVrzEfHzr0vieTv9ayg) 6)))) goto LA23_; #line 667 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" #line 667 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" chckNil((void*)(&result)); nimZeroMem((void*)(&result), sizeof(tyObject_Result__cx3gWYymz9cZkL0oOUI2lQg)); result.o = NIM_FALSE; result._o_1.e = ((tyEnum_Asn1Error__42d3XKMvE9ci9aEfsFxnW0EA) 3); goto BeforeRet_; } LA23_: ; #line 669 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" { NIM_BOOL T27_; #line 669 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" #line 669 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" #line 669 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" T27_ = (NIM_BOOL)0; T27_ = eqeq___S8lKwyU3mSfHixNjtlBskA((&oid_1), TM__4AguaBuWiLw9adbLoM9cOsSw_4, 7); if (!!(T27_)) goto LA28_; #line 670 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" #line 670 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" chckNil((void*)(&result)); nimZeroMem((void*)(&result), sizeof(tyObject_Result__cx3gWYymz9cZkL0oOUI2lQg)); result.o = NIM_FALSE; result._o_1.e = ((tyEnum_Asn1Error__42d3XKMvE9ci9aEfsFxnW0EA) 3); goto BeforeRet_; } LA28_: ; #line 672 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" nimZeroMem((void*)(&vX60gensym55530005_), sizeof(tyObject_Result__0EVVlocCiIWh0JVzIL7m2A)); #line 657 "/home/runner/work/nim-waku/nim-waku/vendor/nim-stew/stew/results.nim" #line 672 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" read__pcAQatFetF1EcQU9bJIK9alg((&ob), (&vX60gensym55530005_)); #line 658 "/home/runner/work/nim-waku/nim-waku/vendor/nim-stew/stew/results.nim" { #line 658 "/home/runner/work/nim-waku/nim-waku/vendor/nim-stew/stew/results.nim" if (!!(vX60gensym55530005_.o)) goto LA32_; #line 662 "/home/runner/work/nim-waku/nim-waku/vendor/nim-stew/stew/results.nim" #line 662 "/home/runner/work/nim-waku/nim-waku/vendor/nim-stew/stew/results.nim" chckNil((void*)(&result)); nimZeroMem((void*)(&result), sizeof(tyObject_Result__cx3gWYymz9cZkL0oOUI2lQg)); result.o = NIM_FALSE; if (!(((1 &(1U<<((NU)(vX60gensym55530005_.o)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__4AguaBuWiLw9adbLoM9cOsSw_11)); } result._o_1.e = vX60gensym55530005_._o_1.e; goto BeforeRet_; } LA32_: ; if (!(((2 &(1U<<((NU)(vX60gensym55530005_.o)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__4AguaBuWiLw9adbLoM9cOsSw_12)); } genericAssign((void*)(&oid_1), (void*)(&vX60gensym55530005_._o_2.v), (&NTI__AJb9cQQSJ8hA8TA2i9b34qGg_)); #line 674 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" { #line 674 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" #line 674 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" if (!!((oid_1.kind == ((tyEnum_Asn1Tag__hBLeLVrzEfHzr0vieTv9ayg) 6)))) goto LA36_; #line 675 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" #line 675 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" chckNil((void*)(&result)); nimZeroMem((void*)(&result), sizeof(tyObject_Result__cx3gWYymz9cZkL0oOUI2lQg)); result.o = NIM_FALSE; result._o_1.e = ((tyEnum_Asn1Error__42d3XKMvE9ci9aEfsFxnW0EA) 3); goto BeforeRet_; } LA36_: ; #line 677 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" { NIM_BOOL T40_; #line 677 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" #line 677 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" T40_ = (NIM_BOOL)0; T40_ = eqeq___S8lKwyU3mSfHixNjtlBskA((&oid_1), TM__4AguaBuWiLw9adbLoM9cOsSw_5, 8); if (!T40_) goto LA41_; #line 678 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" curve_1 = ((int) (((tyEnum_EcCurveKind__9a05LORLSq8PdPWJxWhyBXw) 23))); } goto LA38_; LA41_: ; { NIM_BOOL T44_; #line 679 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" #line 679 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" T44_ = (NIM_BOOL)0; T44_ = eqeq___S8lKwyU3mSfHixNjtlBskA((&oid_1), TM__4AguaBuWiLw9adbLoM9cOsSw_6, 5); if (!T44_) goto LA45_; #line 680 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" curve_1 = ((int) (((tyEnum_EcCurveKind__9a05LORLSq8PdPWJxWhyBXw) 24))); } goto LA38_; LA45_: ; { NIM_BOOL T48_; #line 681 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" #line 681 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" T48_ = (NIM_BOOL)0; T48_ = eqeq___S8lKwyU3mSfHixNjtlBskA((&oid_1), TM__4AguaBuWiLw9adbLoM9cOsSw_7, 5); if (!T48_) goto LA49_; #line 682 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" curve_1 = ((int) (((tyEnum_EcCurveKind__9a05LORLSq8PdPWJxWhyBXw) 25))); } goto LA38_; LA49_: ; { #line 684 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" #line 684 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" chckNil((void*)(&result)); nimZeroMem((void*)(&result), sizeof(tyObject_Result__cx3gWYymz9cZkL0oOUI2lQg)); result.o = NIM_FALSE; result._o_1.e = ((tyEnum_Asn1Error__42d3XKMvE9ci9aEfsFxnW0EA) 3); goto BeforeRet_; } LA38_: ; #line 686 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" nimZeroMem((void*)(&vX60gensym55565005_), sizeof(tyObject_Result__0EVVlocCiIWh0JVzIL7m2A)); #line 657 "/home/runner/work/nim-waku/nim-waku/vendor/nim-stew/stew/results.nim" #line 686 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" read__pcAQatFetF1EcQU9bJIK9alg((&ib), (&vX60gensym55565005_)); #line 658 "/home/runner/work/nim-waku/nim-waku/vendor/nim-stew/stew/results.nim" { #line 658 "/home/runner/work/nim-waku/nim-waku/vendor/nim-stew/stew/results.nim" if (!!(vX60gensym55565005_.o)) goto LA54_; #line 662 "/home/runner/work/nim-waku/nim-waku/vendor/nim-stew/stew/results.nim" #line 662 "/home/runner/work/nim-waku/nim-waku/vendor/nim-stew/stew/results.nim" chckNil((void*)(&result)); nimZeroMem((void*)(&result), sizeof(tyObject_Result__cx3gWYymz9cZkL0oOUI2lQg)); result.o = NIM_FALSE; if (!(((1 &(1U<<((NU)(vX60gensym55565005_.o)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__4AguaBuWiLw9adbLoM9cOsSw_11)); } result._o_1.e = vX60gensym55565005_._o_1.e; goto BeforeRet_; } LA54_: ; if (!(((2 &(1U<<((NU)(vX60gensym55565005_.o)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__4AguaBuWiLw9adbLoM9cOsSw_12)); } genericAssign((void*)(&raw), (void*)(&vX60gensym55565005_._o_2.v), (&NTI__AJb9cQQSJ8hA8TA2i9b34qGg_)); #line 688 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" { #line 688 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" #line 688 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" if (!!((raw.kind == ((tyEnum_Asn1Tag__hBLeLVrzEfHzr0vieTv9ayg) 3)))) goto LA58_; #line 689 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" #line 689 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" chckNil((void*)(&result)); nimZeroMem((void*)(&result), sizeof(tyObject_Result__cx3gWYymz9cZkL0oOUI2lQg)); result.o = NIM_FALSE; result._o_1.e = ((tyEnum_Asn1Error__42d3XKMvE9ci9aEfsFxnW0EA) 3); goto BeforeRet_; } LA58_: ; #line 691 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" { NI TM__4AguaBuWiLw9adbLoM9cOsSw_14; NI TM__4AguaBuWiLw9adbLoM9cOsSw_15; NU32 T62_; #line 691 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" #line 691 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" #line 691 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" #line 114 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/minasn1.nim" #line 114 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/minasn1.nim" if (nimAddInt(raw.offset, raw.length, &TM__4AguaBuWiLw9adbLoM9cOsSw_14)) { raiseOverflow(); }; if (nimSubInt((NI)(TM__4AguaBuWiLw9adbLoM9cOsSw_14), ((NI) 1), &TM__4AguaBuWiLw9adbLoM9cOsSw_15)) { raiseOverflow(); }; if ((NI)(TM__4AguaBuWiLw9adbLoM9cOsSw_15)-raw.offset != -1 && ((NU)(raw.offset) >= (NU)(raw.buffer ? raw.buffer->Sup.len : 0) || (NU)((NI)(TM__4AguaBuWiLw9adbLoM9cOsSw_15)) >= (NU)(raw.buffer ? raw.buffer->Sup.len : 0))){ raiseIndexError(); } #line 691 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" T62_ = (NU32)0; T62_ = checkPublic__PVo5h77ceSvIK9adD3lr3MA((NU8*)raw.buffer->data+(raw.offset), ((NI)(TM__4AguaBuWiLw9adbLoM9cOsSw_15))-(raw.offset)+1, curve_1); if (!!((T62_ == ((NU32) 0)))) goto LA63_; #line 692 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" #line 692 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" unsureAsgnRef((void**) (&(*pubkey)), new__ECh78eS89cC66Fj2Kok35JQ()); #line 693 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" if ((NU)(raw.offset) >= (NU)(raw.buffer ? raw.buffer->Sup.len : 0)){ raiseIndexError2(raw.offset,(raw.buffer ? raw.buffer->Sup.len : 0)-1); } if ((raw.length) < ((NI) 0) || (raw.length) > ((NI) IL64(9223372036854775807))){ raiseRangeErrorI(raw.length, ((NI) 0), ((NI) IL64(9223372036854775807))); } #line 693 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" copyMem__i80o3k0SgEI5gTRCzYdyWAsystem(((void*) ((&(*(*pubkey)).buffer[(((NI) 0))- 0]))), ((void*) ((&raw.buffer->data[raw.offset]))), ((NI) (raw.length))); #line 694 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" (*(*pubkey)).key.q = ((unsigned char*) ((&(*(*pubkey)).buffer[(((NI) 0))- 0]))); #line 695 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" (*(*pubkey)).key.qlen = raw.length; #line 696 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" (*(*pubkey)).key.curve = curve_1; chckNil((void*)(&result)); nimZeroMem((void*)(&result), sizeof(tyObject_Result__cx3gWYymz9cZkL0oOUI2lQg)); result.o = NIM_TRUE; } goto LA60_; LA63_: ; { chckNil((void*)(&result)); nimZeroMem((void*)(&result), sizeof(tyObject_Result__cx3gWYymz9cZkL0oOUI2lQg)); result.o = NIM_FALSE; result._o_1.e = ((tyEnum_Asn1Error__42d3XKMvE9ci9aEfsFxnW0EA) 3); } LA60_: ; }BeforeRet_: ; return result;} #line 248 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" N_LIB_PRIVATE N_NIMCALL(void, getKey__uMuHGMfLCEJnKjbrz3jSbA)(tyObject_EcPrivateKeycolonObjectType___OJbV39curmS5TCBXopR7itA* seckey, tyObject_Result__fBI8BlURc7uRx2jML3oTSg* Result) { br_ec_impl* ecimp;{ chckNil((void*)Result); switch ((*Result).o) { case NIM_FALSE: (*Result)._o_1.e = 0; break; case NIM_TRUE: unsureAsgnRef((void**)&(*Result)._o_2.v, NIM_NIL); break; } (*Result).o = 0; #line 249 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" #line 250 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" { #line 250 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" if (!(seckey == 0)) goto LA3_; #line 251 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" #line 251 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" chckNil((void*)Result); switch ((*Result).o) { case NIM_FALSE: (*Result)._o_1.e = 0; break; case NIM_TRUE: unsureAsgnRef((void**)&(*Result)._o_2.v, NIM_NIL); break; } (*Result).o = 0; (*Result).o = NIM_FALSE; (*Result)._o_1.e = ((tyEnum_EcError__uEgxZ29b8TyXtXI1lvZiARA) 3); goto BeforeRet_; } LA3_: ; #line 253 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" #line 253 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" ecimp = br_ec_get_default(); #line 254 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" { NI length; tyObject_EcPublicKeycolonObjectType___2rc9bUkP8wBzp3UeWWgE9b5Q* res; #line 254 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" if (!((*seckey).key.curve == ((NI) 23) || (*seckey).key.curve == ((NI) 24) || (*seckey).key.curve == ((NI) 25))) goto LA7_; #line 255 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" #line 255 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" switch (((tyEnum_EcCurveKind__9a05LORLSq8PdPWJxWhyBXw) ((*seckey).key.curve))) { case ((tyEnum_EcCurveKind__9a05LORLSq8PdPWJxWhyBXw) 23): { length = ((NI) 65); } break; case ((tyEnum_EcCurveKind__9a05LORLSq8PdPWJxWhyBXw) 24): { length = ((NI) 97); } break; case ((tyEnum_EcCurveKind__9a05LORLSq8PdPWJxWhyBXw) 25): { length = ((NI) 133); } break; } #line 256 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" #line 256 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" res = new__ECh78eS89cC66Fj2Kok35JQ(); #line 257 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" { NI T14_; #line 258 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" #line 257 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" #line 257 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" T14_ = (NI)0; T14_ = br_ec_compute_pub(ecimp, (&(*res).key), (&(*res).buffer[(((NI) 0))- 0]), (&(*seckey).key)); if (!(T14_ == ((NI) 0))) goto LA15_; chckNil((void*)Result); switch ((*Result).o) { case NIM_FALSE: (*Result)._o_1.e = 0; break; case NIM_TRUE: unsureAsgnRef((void**)&(*Result)._o_2.v, NIM_NIL); break; } (*Result).o = 0; (*Result).o = NIM_FALSE; (*Result)._o_1.e = ((tyEnum_EcError__uEgxZ29b8TyXtXI1lvZiARA) 3); } goto LA12_; LA15_: ; { chckNil((void*)Result); switch ((*Result).o) { case NIM_FALSE: (*Result)._o_1.e = 0; break; case NIM_TRUE: unsureAsgnRef((void**)&(*Result)._o_2.v, NIM_NIL); break; } (*Result).o = 0; (*Result).o = NIM_TRUE; unsureAsgnRef((void**) (&(*Result)._o_2.v), res); } LA12_: ; } goto LA5_; LA7_: ; { chckNil((void*)Result); switch ((*Result).o) { case NIM_FALSE: (*Result)._o_1.e = 0; break; case NIM_TRUE: unsureAsgnRef((void**)&(*Result)._o_2.v, NIM_NIL); break; } (*Result).o = 0; (*Result).o = NIM_FALSE; (*Result)._o_1.e = ((tyEnum_EcError__uEgxZ29b8TyXtXI1lvZiARA) 3); } LA5_: ; }BeforeRet_: ; } static N_NIMCALL(void, Marker_tyRef__ju5ytUu5N6XBCdxPNbW6wQ)(void* p, NI op) { tyObject_EcSignaturecolonObjectType___MVVOg89cY9cYypBpNfm27WSQ* a; a = (tyObject_EcSignaturecolonObjectType___MVVOg89cY9cYypBpNfm27WSQ*)p; nimGCvisit((void*)(*a).buffer, op);} #line 425 "/home/runner/work/nim-waku/nim-waku/vendor/nimbus-build-system/vendor/Nim/lib/system/arithmetics.nim" static N_INLINE(NI, pluspercent___dgYAo7RfdUVVpvkfKDym8wsystem)(NI x, NI y) { NI result; result = (NI)0; #line 426 "/home/runner/work/nim-waku/nim-waku/vendor/nimbus-build-system/vendor/Nim/lib/system/arithmetics.nim" #line 430 "/home/runner/work/nim-waku/nim-waku/vendor/nimbus-build-system/vendor/Nim/lib/system/arithmetics.nim" result = ((NI) ((NU)((NU64)(((NU) (x))) + (NU64)(((NU) (y)))))); return result;} #line 182 "/home/runner/work/nim-waku/nim-waku/vendor/nimbus-build-system/vendor/Nim/lib/system/gc.nim" static N_INLINE(void, incRef__AT1eRuflKWyTTBdLjEDZbg_3system)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) { #line 184 "/home/runner/work/nim-waku/nim-waku/vendor/nimbus-build-system/vendor/Nim/lib/system/gc.nim" #line 184 "/home/runner/work/nim-waku/nim-waku/vendor/nimbus-build-system/vendor/Nim/lib/system/gc.nim" (*c).refcount = pluspercent___dgYAo7RfdUVVpvkfKDym8wsystem((*c).refcount, ((NI) 8));} #line 436 "/home/runner/work/nim-waku/nim-waku/vendor/nimbus-build-system/vendor/Nim/lib/system/arithmetics.nim" static N_INLINE(NI, minuspercent___dgYAo7RfdUVVpvkfKDym8w_2system)(NI x, NI y) { NI result; result = (NI)0; #line 437 "/home/runner/work/nim-waku/nim-waku/vendor/nimbus-build-system/vendor/Nim/lib/system/arithmetics.nim" #line 441 "/home/runner/work/nim-waku/nim-waku/vendor/nimbus-build-system/vendor/Nim/lib/system/arithmetics.nim" result = ((NI) ((NU)((NU64)(((NU) (x))) - (NU64)(((NU) (y)))))); return result;} #line 128 "/home/runner/work/nim-waku/nim-waku/vendor/nimbus-build-system/vendor/Nim/lib/system/gc.nim" static N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*, usrToCell__QFQqcLB3lgOdwipkv9a60xwsystem)(void* usr) { tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* result; NI T1_; result = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0; #line 130 "/home/runner/work/nim-waku/nim-waku/vendor/nimbus-build-system/vendor/Nim/lib/system/gc.nim" #line 130 "/home/runner/work/nim-waku/nim-waku/vendor/nimbus-build-system/vendor/Nim/lib/system/gc.nim" #line 130 "/home/runner/work/nim-waku/nim-waku/vendor/nimbus-build-system/vendor/Nim/lib/system/gc.nim" T1_ = (NI)0; T1_ = minuspercent___dgYAo7RfdUVVpvkfKDym8w_2system(((NI) (ptrdiff_t) (usr)), ((NI) 16)); result = ((tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*) (T1_)); return result;} #line 187 "/home/runner/work/nim-waku/nim-waku/vendor/nimbus-build-system/vendor/Nim/lib/system/comparisons.nim" static N_INLINE(NIM_BOOL, ltpercent___hPljn3JCDQ00ua1R07X9bxQsystem)(NI x, NI y) { NIM_BOOL result; result = (NIM_BOOL)0; #line 188 "/home/runner/work/nim-waku/nim-waku/vendor/nimbus-build-system/vendor/Nim/lib/system/comparisons.nim" #line 190 "/home/runner/work/nim-waku/nim-waku/vendor/nimbus-build-system/vendor/Nim/lib/system/comparisons.nim" result = ((NU64)(((NU) (x))) < (NU64)(((NU) (y)))); return result;} #line 194 "/home/runner/work/nim-waku/nim-waku/vendor/nimbus-build-system/vendor/Nim/lib/system/gc.nim" static N_INLINE(void, rtlAddZCT__AT1eRuflKWyTTBdLjEDZbg_2system)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) { #line 196 "/home/runner/work/nim-waku/nim-waku/vendor/nimbus-build-system/vendor/Nim/lib/system/gc.nim" #line 196 "/home/runner/work/nim-waku/nim-waku/vendor/nimbus-build-system/vendor/Nim/lib/system/gc.nim" addZCT__Y66tOYFjgwJ0k4aLz4bc0Q((&gch__IcYaEuuWivYAS86vFMTS3Q.zct), c); } #line 198 "/home/runner/work/nim-waku/nim-waku/vendor/nimbus-build-system/vendor/Nim/lib/system/gc.nim" static N_INLINE(void, decRef__AT1eRuflKWyTTBdLjEDZbgsystem)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) { #line 201 "/home/runner/work/nim-waku/nim-waku/vendor/nimbus-build-system/vendor/Nim/lib/system/gc.nim" #line 201 "/home/runner/work/nim-waku/nim-waku/vendor/nimbus-build-system/vendor/Nim/lib/system/gc.nim" (*c).refcount = minuspercent___dgYAo7RfdUVVpvkfKDym8w_2system((*c).refcount, ((NI) 8)); #line 202 "/home/runner/work/nim-waku/nim-waku/vendor/nimbus-build-system/vendor/Nim/lib/system/gc.nim" { NIM_BOOL T3_; #line 202 "/home/runner/work/nim-waku/nim-waku/vendor/nimbus-build-system/vendor/Nim/lib/system/gc.nim" #line 202 "/home/runner/work/nim-waku/nim-waku/vendor/nimbus-build-system/vendor/Nim/lib/system/gc.nim" T3_ = (NIM_BOOL)0; T3_ = ltpercent___hPljn3JCDQ00ua1R07X9bxQsystem((*c).refcount, ((NI) 8)); if (!T3_) goto LA4_; #line 203 "/home/runner/work/nim-waku/nim-waku/vendor/nimbus-build-system/vendor/Nim/lib/system/gc.nim" #line 203 "/home/runner/work/nim-waku/nim-waku/vendor/nimbus-build-system/vendor/Nim/lib/system/gc.nim" rtlAddZCT__AT1eRuflKWyTTBdLjEDZbg_2system(c); } LA4_: ; } #line 235 "/home/runner/work/nim-waku/nim-waku/vendor/nimbus-build-system/vendor/Nim/lib/system/gc.nim" static N_INLINE(void, asgnRef)(void** dest, void* src) { #line 239 "/home/runner/work/nim-waku/nim-waku/vendor/nimbus-build-system/vendor/Nim/lib/system/gc.nim" { tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T5_; #line 239 "/home/runner/work/nim-waku/nim-waku/vendor/nimbus-build-system/vendor/Nim/lib/system/gc.nim" #line 239 "/home/runner/work/nim-waku/nim-waku/vendor/nimbus-build-system/vendor/Nim/lib/system/gc.nim" if (!!((src == NIM_NIL))) goto LA3_; #line 239 "/home/runner/work/nim-waku/nim-waku/vendor/nimbus-build-system/vendor/Nim/lib/system/gc.nim" #line 239 "/home/runner/work/nim-waku/nim-waku/vendor/nimbus-build-system/vendor/Nim/lib/system/gc.nim" #line 239 "/home/runner/work/nim-waku/nim-waku/vendor/nimbus-build-system/vendor/Nim/lib/system/gc.nim" T5_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0; T5_ = usrToCell__QFQqcLB3lgOdwipkv9a60xwsystem(src); #line 239 "/home/runner/work/nim-waku/nim-waku/vendor/nimbus-build-system/vendor/Nim/lib/system/gc.nim" incRef__AT1eRuflKWyTTBdLjEDZbg_3system(T5_); } LA3_: ; #line 240 "/home/runner/work/nim-waku/nim-waku/vendor/nimbus-build-system/vendor/Nim/lib/system/gc.nim" { tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T10_; #line 240 "/home/runner/work/nim-waku/nim-waku/vendor/nimbus-build-system/vendor/Nim/lib/system/gc.nim" #line 240 "/home/runner/work/nim-waku/nim-waku/vendor/nimbus-build-system/vendor/Nim/lib/system/gc.nim" if (!!(((*dest) == NIM_NIL))) goto LA8_; #line 240 "/home/runner/work/nim-waku/nim-waku/vendor/nimbus-build-system/vendor/Nim/lib/system/gc.nim" #line 240 "/home/runner/work/nim-waku/nim-waku/vendor/nimbus-build-system/vendor/Nim/lib/system/gc.nim" #line 240 "/home/runner/work/nim-waku/nim-waku/vendor/nimbus-build-system/vendor/Nim/lib/system/gc.nim" T10_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0; T10_ = usrToCell__QFQqcLB3lgOdwipkv9a60xwsystem((*dest)); #line 240 "/home/runner/work/nim-waku/nim-waku/vendor/nimbus-build-system/vendor/Nim/lib/system/gc.nim" decRef__AT1eRuflKWyTTBdLjEDZbgsystem(T10_); } LA8_: ; #line 241 "/home/runner/work/nim-waku/nim-waku/vendor/nimbus-build-system/vendor/Nim/lib/system/gc.nim" (*dest) = src;} #line 933 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" N_LIB_PRIVATE N_NIMCALL(void, sign__TXG5E7oieiOricLieQhPSw)(tyObject_EcPrivateKeycolonObjectType___OJbV39curmS5TCBXopR7itA* seckey, NU8* message, NI messageLen_0, tyObject_Result__Wf60IuU9b2deDkGInMnfWDg* Result) { br_hash_compat_context hc; tyArray__vEOa9c5qaE9ajWxR5R4zwfQg hash_1; br_ec_impl* impl_1;{ chckNil((void*)Result); switch ((*Result).o) { case NIM_FALSE: (*Result)._o_1.e = 0; break; case NIM_TRUE: unsureAsgnRef((void**)&(*Result)._o_2.v, NIM_NIL); break; } (*Result).o = 0; #line 935 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" #line 936 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" { #line 936 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" if (!(seckey == 0)) goto LA3_; #line 937 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" #line 937 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" chckNil((void*)Result); switch ((*Result).o) { case NIM_FALSE: (*Result)._o_1.e = 0; break; case NIM_TRUE: unsureAsgnRef((void**)&(*Result)._o_2.v, NIM_NIL); break; } (*Result).o = 0; (*Result).o = NIM_FALSE; (*Result)._o_1.e = ((tyEnum_EcError__uEgxZ29b8TyXtXI1lvZiARA) 3); goto BeforeRet_; } LA3_: ; nimZeroMem((void*)(&hc), sizeof(br_hash_compat_context)); nimZeroMem((void*)hash_1, sizeof(tyArray__vEOa9c5qaE9ajWxR5R4zwfQg)); #line 940 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" #line 940 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" impl_1 = br_ec_get_default(); #line 941 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" { tyObject_EcSignaturecolonObjectType___MVVOg89cY9cYypBpNfm27WSQ* sig; br_hash_class* kv; NI res; #line 941 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" if (((*seckey).key.curve) < ((NI) 0) || ((*seckey).key.curve) > ((NI) 65535)){ raiseRangeErrorI((*seckey).key.curve, ((NI) 0), ((NI) 65535)); } if (!((EcSupportedCurvesCint__ETyWsKcb5WNIIYTvgxxraA[(NU)(((NI) ((*seckey).key.curve)))>>3] &(1U<<((NU)(((NI) ((*seckey).key.curve)))&7U)))!=0)) goto LA7_; #line 942 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" #line 942 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" sig = new__W15GkxypjnSVt37Ei5NZWA(); #line 943 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" #line 943 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" asgnRef((void**) (&(*sig).buffer), newSeq__DpCWN7DIBuAjgoeQ9c29blYQ(((NI) 256))); #line 944 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" kv = (&br_sha256_vtable); #line 945 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" #line 945 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" (*kv).init(&hc.vtable); #line 946 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" { #line 946 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" #line 946 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" if (!(((NI) 0) < messageLen_0)) goto LA11_; #line 947 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" if ((NU)(((NI) 0)) >= (NU)(messageLen_0)){ raiseIndexError2(((NI) 0),messageLen_0-1); } #line 947 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" #line 947 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" (*kv).update(&hc.vtable, ((void*) ((&message[((NI) 0)]))), messageLen_0); } goto LA9_; LA11_: ; { #line 949 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" #line 949 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" (*kv).update(&hc.vtable, NIM_NIL, ((NI) 0)); } LA9_: ; #line 950 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" #line 950 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" (*kv).out(&hc.vtable, ((void*) ((&hash_1[(((NI) 0))- 0])))); #line 951 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" if ((NU)(((NI) 0)) >= (NU)((*sig).buffer ? (*sig).buffer->Sup.len : 0)){ raiseIndexError2(((NI) 0),((*sig).buffer ? (*sig).buffer->Sup.len : 0)-1); } #line 951 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" res = br_ecdsa_i31_sign_asn1(impl_1, kv, ((void*) ((&hash_1[(((NI) 0))- 0]))), (&(*seckey).key), ((void*) ((&(*sig).buffer->data[((NI) 0)])))); #line 954 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" #line 954 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" (*kv).init(&hc.vtable); #line 955 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" { #line 955 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" #line 955 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" if (!!((res == ((NI) 0)))) goto LA16_; #line 956 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" if ((res) < ((NI) 0) || (res) > ((NI) IL64(9223372036854775807))){ raiseRangeErrorI(res, ((NI) 0), ((NI) IL64(9223372036854775807))); } asgnRef((void**) (&(*sig).buffer), (tySequence__6H5Oh5UUvVCLiakt9aTwtUQ*) setLengthSeqV2(&((*sig).buffer)->Sup, (&NTI__6H5Oh5UUvVCLiakt9aTwtUQ_), ((NI) (res)))); chckNil((void*)Result); switch ((*Result).o) { case NIM_FALSE: (*Result)._o_1.e = 0; break; case NIM_TRUE: unsureAsgnRef((void**)&(*Result)._o_2.v, NIM_NIL); break; } (*Result).o = 0; (*Result).o = NIM_TRUE; unsureAsgnRef((void**) (&(*Result)._o_2.v), sig); } goto LA14_; LA16_: ; { chckNil((void*)Result); switch ((*Result).o) { case NIM_FALSE: (*Result)._o_1.e = 0; break; case NIM_TRUE: unsureAsgnRef((void**)&(*Result)._o_2.v, NIM_NIL); break; } (*Result).o = 0; (*Result).o = NIM_FALSE; (*Result)._o_1.e = ((tyEnum_EcError__uEgxZ29b8TyXtXI1lvZiARA) 4); } LA14_: ; } goto LA5_; LA7_: ; { chckNil((void*)Result); switch ((*Result).o) { case NIM_FALSE: (*Result)._o_1.e = 0; break; case NIM_TRUE: unsureAsgnRef((void**)&(*Result)._o_2.v, NIM_NIL); break; } (*Result).o = 0; (*Result).o = NIM_FALSE; (*Result)._o_1.e = ((tyEnum_EcError__uEgxZ29b8TyXtXI1lvZiARA) 3); } LA5_: ; }BeforeRet_: ; } #line 442 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" N_LIB_PRIVATE N_NIMCALL(tyObject_Result__9aXs39benOLqEdFqQiLtaoMg, toBytes__5zoyzYqfj0YC9cTm02FJ1Ag)(tyObject_EcSignaturecolonObjectType___MVVOg89cY9cYypBpNfm27WSQ* sig, NU8* data_0, NI data_0Len_0) { tyObject_Result__9aXs39benOLqEdFqQiLtaoMg result; NI slen; NI T5_;{ nimZeroMem((void*)(&result), sizeof(tyObject_Result__9aXs39benOLqEdFqQiLtaoMg)); #line 443 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" #line 448 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" { #line 448 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" if (!(sig == 0)) goto LA3_; #line 449 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" #line 449 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" chckNil((void*)(&result)); nimZeroMem((void*)(&result), sizeof(tyObject_Result__9aXs39benOLqEdFqQiLtaoMg)); result.o = NIM_FALSE; result._o_1.e = ((tyEnum_EcError__uEgxZ29b8TyXtXI1lvZiARA) 4); goto BeforeRet_; } LA3_: ; #line 450 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" #line 450 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" T5_ = ((*sig).buffer ? (*sig).buffer->Sup.len : 0); slen = T5_; #line 451 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" { #line 451 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" #line 451 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" if (!(slen <= data_0Len_0)) goto LA8_; #line 452 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" if ((NU)(((NI) 0)) >= (NU)(data_0Len_0)){ raiseIndexError2(((NI) 0),data_0Len_0-1); } if ((NU)(((NI) 0)) >= (NU)((*sig).buffer ? (*sig).buffer->Sup.len : 0)){ raiseIndexError2(((NI) 0),((*sig).buffer ? (*sig).buffer->Sup.len : 0)-1); } if ((slen) < ((NI) 0) || (slen) > ((NI) IL64(9223372036854775807))){ raiseRangeErrorI(slen, ((NI) 0), ((NI) IL64(9223372036854775807))); } #line 452 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" copyMem__i80o3k0SgEI5gTRCzYdyWAsystem(((void*) ((&data_0[((NI) 0)]))), ((void*) ((&(*sig).buffer->data[((NI) 0)]))), ((NI) (slen))); } LA8_: ; chckNil((void*)(&result)); nimZeroMem((void*)(&result), sizeof(tyObject_Result__9aXs39benOLqEdFqQiLtaoMg)); result.o = NIM_TRUE; result._o_2.v = slen; }BeforeRet_: ; return result;} #line 481 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" N_LIB_PRIVATE N_NIMCALL(void, getBytes__N1HyE1kJiiveR7UXV0wuIg)(tyObject_EcSignaturecolonObjectType___MVVOg89cY9cYypBpNfm27WSQ* sig, tyObject_Result__4V9aavu9bX80MVc5K82Pp59aA* Result) { tySequence__6H5Oh5UUvVCLiakt9aTwtUQ* res; NI length; tyObject_Result__9aXs39benOLqEdFqQiLtaoMg vX60gensym55075021_; tyObject_Result__9aXs39benOLqEdFqQiLtaoMg vX60gensym55085212_;{ chckNil((void*)Result); switch ((*Result).o) { case NIM_FALSE: (*Result)._o_1.e = 0; break; case NIM_TRUE: unsureAsgnRef((void**)&(*Result)._o_2.v, NIM_NIL); break; } (*Result).o = 0; #line 482 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" #line 483 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" { #line 483 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" if (!(sig == 0)) goto LA3_; #line 484 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" #line 484 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" chckNil((void*)Result); switch ((*Result).o) { case NIM_FALSE: (*Result)._o_1.e = 0; break; case NIM_TRUE: unsureAsgnRef((void**)&(*Result)._o_2.v, NIM_NIL); break; } (*Result).o = 0; (*Result).o = NIM_FALSE; (*Result)._o_1.e = ((tyEnum_EcError__uEgxZ29b8TyXtXI1lvZiARA) 4); goto BeforeRet_; } LA3_: ; #line 485 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" #line 485 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" res = newSeq__DpCWN7DIBuAjgoeQ9c29blYQ(((NI) 0)); #line 486 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" #line 657 "/home/runner/work/nim-waku/nim-waku/vendor/nim-stew/stew/results.nim" #line 486 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" vX60gensym55075021_ = toBytes__5zoyzYqfj0YC9cTm02FJ1Ag(sig, res->data, (res ? res->Sup.len : 0)); #line 658 "/home/runner/work/nim-waku/nim-waku/vendor/nim-stew/stew/results.nim" { #line 658 "/home/runner/work/nim-waku/nim-waku/vendor/nim-stew/stew/results.nim" if (!!(vX60gensym55075021_.o)) goto LA7_; #line 662 "/home/runner/work/nim-waku/nim-waku/vendor/nim-stew/stew/results.nim" #line 662 "/home/runner/work/nim-waku/nim-waku/vendor/nim-stew/stew/results.nim" chckNil((void*)Result); switch ((*Result).o) { case NIM_FALSE: (*Result)._o_1.e = 0; break; case NIM_TRUE: unsureAsgnRef((void**)&(*Result)._o_2.v, NIM_NIL); break; } (*Result).o = 0; (*Result).o = NIM_FALSE; if (!(((1 &(1U<<((NU)(vX60gensym55075021_.o)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__4AguaBuWiLw9adbLoM9cOsSw_11)); } (*Result)._o_1.e = vX60gensym55075021_._o_1.e; goto BeforeRet_; } LA7_: ; if (!(((2 &(1U<<((NU)(vX60gensym55075021_.o)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__4AguaBuWiLw9adbLoM9cOsSw_12)); } length = vX60gensym55075021_._o_2.v; #line 487 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" if ((length) < ((NI) 0) || (length) > ((NI) IL64(9223372036854775807))){ raiseRangeErrorI(length, ((NI) 0), ((NI) IL64(9223372036854775807))); } res = (tySequence__6H5Oh5UUvVCLiakt9aTwtUQ*) setLengthSeqV2(&(res)->Sup, (&NTI__6H5Oh5UUvVCLiakt9aTwtUQ_), ((NI) (length))); #line 488 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" #line 657 "/home/runner/work/nim-waku/nim-waku/vendor/nim-stew/stew/results.nim" #line 488 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" vX60gensym55085212_ = toBytes__5zoyzYqfj0YC9cTm02FJ1Ag(sig, res->data, (res ? res->Sup.len : 0)); #line 658 "/home/runner/work/nim-waku/nim-waku/vendor/nim-stew/stew/results.nim" { #line 658 "/home/runner/work/nim-waku/nim-waku/vendor/nim-stew/stew/results.nim" if (!!(vX60gensym55085212_.o)) goto LA11_; #line 662 "/home/runner/work/nim-waku/nim-waku/vendor/nim-stew/stew/results.nim" #line 662 "/home/runner/work/nim-waku/nim-waku/vendor/nim-stew/stew/results.nim" chckNil((void*)Result); switch ((*Result).o) { case NIM_FALSE: (*Result)._o_1.e = 0; break; case NIM_TRUE: unsureAsgnRef((void**)&(*Result)._o_2.v, NIM_NIL); break; } (*Result).o = 0; (*Result).o = NIM_FALSE; if (!(((1 &(1U<<((NU)(vX60gensym55085212_.o)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__4AguaBuWiLw9adbLoM9cOsSw_11)); } (*Result)._o_1.e = vX60gensym55085212_._o_1.e; goto BeforeRet_; } LA11_: ; if (!(((2 &(1U<<((NU)(vX60gensym55085212_.o)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__4AguaBuWiLw9adbLoM9cOsSw_12)); } (void)(vX60gensym55085212_._o_2.v); chckNil((void*)Result); switch ((*Result).o) { case NIM_FALSE: (*Result)._o_1.e = 0; break; case NIM_TRUE: unsureAsgnRef((void**)&(*Result)._o_2.v, NIM_NIL); break; } (*Result).o = 0; (*Result).o = NIM_TRUE; genericSeqAssign((&(*Result)._o_2.v), res, (&NTI__6H5Oh5UUvVCLiakt9aTwtUQ_)); }BeforeRet_: ; } #line 701 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" N_LIB_PRIVATE N_NIMCALL(tyObject_Result__cx3gWYymz9cZkL0oOUI2lQg, init__eLagp5Mgogj8PMx6p8nlXw)(tyObject_EcSignaturecolonObjectType___MVVOg89cY9cYypBpNfm27WSQ** sig, NU8* data_0, NI data_0Len_0) { tyObject_Result__cx3gWYymz9cZkL0oOUI2lQg result; nimZeroMem((void*)(&result), sizeof(tyObject_Result__cx3gWYymz9cZkL0oOUI2lQg)); #line 702 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" #line 705 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" { #line 705 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" #line 705 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" if (!(((NI) 0) < data_0Len_0)) goto LA3_; #line 706 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" #line 706 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" unsureAsgnRef((void**) (&(*sig)), new__W15GkxypjnSVt37Ei5NZWA()); #line 707 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" #line 707 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" asgnRef((void**) (&(*(*sig)).buffer), at___FKhCG9aXnVoTuyjERVXzd2g(data_0, data_0Len_0)); chckNil((void*)(&result)); nimZeroMem((void*)(&result), sizeof(tyObject_Result__cx3gWYymz9cZkL0oOUI2lQg)); result.o = NIM_TRUE; } goto LA1_; LA3_: ; { chckNil((void*)(&result)); nimZeroMem((void*)(&result), sizeof(tyObject_Result__cx3gWYymz9cZkL0oOUI2lQg)); result.o = NIM_FALSE; result._o_1.e = ((tyEnum_Asn1Error__42d3XKMvE9ci9aEfsFxnW0EA) 3); } LA1_: ; return result;} #line 150 "/home/runner/work/nim-waku/nim-waku/vendor/nimcrypto/nimcrypto/utils.nim" static N_INLINE(NimStringDesc*, toHex__TfeJ361pglyJR5Hz15wCJQutils)(NU8* a, NI aLen_0, NIM_BOOL lowercase) { NimStringDesc* result; NimStringDesc* res; result = (NimStringDesc*)0; #line 151 "/home/runner/work/nim-waku/nim-waku/vendor/nimcrypto/nimcrypto/utils.nim" #line 151 "/home/runner/work/nim-waku/nim-waku/vendor/nimcrypto/nimcrypto/utils.nim" #line 151 "/home/runner/work/nim-waku/nim-waku/vendor/nimcrypto/nimcrypto/utils.nim" #line 151 "/home/runner/work/nim-waku/nim-waku/vendor/nimcrypto/nimcrypto/utils.nim" #line 151 "/home/runner/work/nim-waku/nim-waku/vendor/nimcrypto/nimcrypto/utils.nim" if (((NI)((NU64)(aLen_0) << (NU64)(((NI) 1)))) < ((NI) 0) || ((NI)((NU64)(aLen_0) << (NU64)(((NI) 1)))) > ((NI) IL64(9223372036854775807))){ raiseRangeErrorI((NI)((NU64)(aLen_0) << (NU64)(((NI) 1))), ((NI) 0), ((NI) IL64(9223372036854775807))); } #line 151 "/home/runner/work/nim-waku/nim-waku/vendor/nimcrypto/nimcrypto/utils.nim" res = mnewString(((NI) ((NI)((NU64)(aLen_0) << (NU64)(((NI) 1)))))); #line 152 "/home/runner/work/nim-waku/nim-waku/vendor/nimcrypto/nimcrypto/utils.nim" { NI T5_; if (!lowercase) goto LA3_; #line 153 "/home/runner/work/nim-waku/nim-waku/vendor/nimcrypto/nimcrypto/utils.nim" #line 153 "/home/runner/work/nim-waku/nim-waku/vendor/nimcrypto/nimcrypto/utils.nim" #line 153 "/home/runner/work/nim-waku/nim-waku/vendor/nimcrypto/nimcrypto/utils.nim" T5_ = (NI)0; T5_ = bytesToHex__TSuuVF9b8JuBk8cjfFOyavA(a, aLen_0, res->data, (res ? res->Sup.len : 0), 1); (void)(T5_); } goto LA1_; LA3_: ; { NI T7_; #line 155 "/home/runner/work/nim-waku/nim-waku/vendor/nimcrypto/nimcrypto/utils.nim" #line 155 "/home/runner/work/nim-waku/nim-waku/vendor/nimcrypto/nimcrypto/utils.nim" #line 155 "/home/runner/work/nim-waku/nim-waku/vendor/nimcrypto/nimcrypto/utils.nim" T7_ = (NI)0; T7_ = bytesToHex__TSuuVF9b8JuBk8cjfFOyavA(a, aLen_0, res->data, (res ? res->Sup.len : 0), 0); (void)(T7_); } LA1_: ; result = copyString(res); return result;} #line 295 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar___5jm8WKXafk9ct9b0HSMcmfDw)(tyObject_EcPublicKeycolonObjectType___2rc9bUkP8wBzp3UeWWgE9b5Q* pubkey) { NimStringDesc* result; result = (NimStringDesc*)0; #line 297 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" { NIM_BOOL T3_; NIM_BOOL T4_; NIM_BOOL T5_; #line 297 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" T3_ = (NIM_BOOL)0; #line 297 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" T4_ = (NIM_BOOL)0; #line 297 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" T5_ = (NIM_BOOL)0; #line 297 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" T5_ = (pubkey == 0); if (T5_) goto LA6_; #line 297 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" T5_ = ((*pubkey).key.curve == ((NI32) 0)); LA6_: ; T4_ = T5_; if (T4_) goto LA7_; #line 297 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" T4_ = ((*pubkey).key.qlen == ((NI) 0)); LA7_: ; T3_ = T4_; if (T3_) goto LA8_; T3_ = NIM_FALSE; LA8_: ; if (!T3_) goto LA9_; #line 299 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" result = copyString(((NimStringDesc*) &TM__4AguaBuWiLw9adbLoM9cOsSw_16)); } goto LA1_; LA9_: ; { #line 301 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" { #line 301 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" #line 301 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" if (!!(((*pubkey).key.curve == ((NI) 23) || (*pubkey).key.curve == ((NI) 24) || (*pubkey).key.curve == ((NI) 25)))) goto LA14_; #line 302 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" result = copyString(((NimStringDesc*) &TM__4AguaBuWiLw9adbLoM9cOsSw_17)); } goto LA12_; LA14_: ; { NI offset; #line 304 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" #line 304 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" offset = getOffset__9cmRmkVGJabfNKyPrYWmKxgecnist(pubkey); #line 305 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" { #line 305 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" if (!(offset < ((NI) 0))) goto LA19_; #line 306 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" result = copyString(((NimStringDesc*) &TM__4AguaBuWiLw9adbLoM9cOsSw_18)); } goto LA17_; LA19_: ; { NI e_1; NI TM__4AguaBuWiLw9adbLoM9cOsSw_19; NI TM__4AguaBuWiLw9adbLoM9cOsSw_20; #line 308 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" #line 308 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" #line 308 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" if (nimAddInt(offset, ((NI) ((*pubkey).key.qlen)), &TM__4AguaBuWiLw9adbLoM9cOsSw_19)) { raiseOverflow(); }; if (nimSubInt((NI)(TM__4AguaBuWiLw9adbLoM9cOsSw_19), ((NI) 1), &TM__4AguaBuWiLw9adbLoM9cOsSw_20)) { raiseOverflow(); }; e_1 = (NI)(TM__4AguaBuWiLw9adbLoM9cOsSw_20); #line 309 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" if (e_1-offset != -1 && (e_1-offset < -1 || offset < 0 || offset > 144 || e_1 < 0 || e_1 > 144)){ raiseIndexError(); } #line 309 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" result = toHex__TfeJ361pglyJR5Hz15wCJQutils((NU8*)(((*pubkey).buffer)+(offset)), (e_1)-(offset)+1, NIM_FALSE); } LA17_: ; } LA12_: ; } LA1_: ; return result;} #line 231 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" N_LIB_PRIVATE N_NIMCALL(void, random__w4Y1PVu9bvsQJnqSLoGMCCQ)(tyEnum_EcCurveKind__9a05LORLSq8PdPWJxWhyBXw kind, br_hmac_drbg_context* rng_0, tyObject_Result__oOsFQPbY2q7ayTTSab5TvA* Result) { br_ec_impl* ecimp; tyObject_EcPrivateKeycolonObjectType___OJbV39curmS5TCBXopR7itA* res; chckNil((void*)Result); switch ((*Result).o) { case NIM_FALSE: (*Result)._o_1.e = 0; break; case NIM_TRUE: unsureAsgnRef((void**)&(*Result)._o_2.v, NIM_NIL); break; } (*Result).o = 0; #line 234 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" #line 239 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" #line 239 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" ecimp = br_ec_get_default(); #line 240 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" #line 240 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" res = new__xpe9b3j9afmHUq1nj9bNNd6dw(); #line 241 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" { NI T3_; #line 243 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" #line 241 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" #line 241 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" T3_ = (NI)0; T3_ = br_ec_keygen(&(*rng_0).vtable, ecimp, (&(*res).key), (&(*res).buffer[(((NI) 0))- 0]), ((int) (kind))); if (!(T3_ == ((NI) 0))) goto LA4_; chckNil((void*)Result); switch ((*Result).o) { case NIM_FALSE: (*Result)._o_1.e = 0; break; case NIM_TRUE: unsureAsgnRef((void**)&(*Result)._o_2.v, NIM_NIL); break; } (*Result).o = 0; (*Result).o = NIM_FALSE; (*Result)._o_1.e = ((tyEnum_EcError__uEgxZ29b8TyXtXI1lvZiARA) 1); } goto LA1_; LA4_: ; { chckNil((void*)Result); switch ((*Result).o) { case NIM_FALSE: (*Result)._o_1.e = 0; break; case NIM_TRUE: unsureAsgnRef((void**)&(*Result)._o_2.v, NIM_NIL); break; } (*Result).o = 0; (*Result).o = NIM_TRUE; unsureAsgnRef((void**) (&(*Result)._o_2.v), res); } LA1_: ; } #line 265 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" N_LIB_PRIVATE N_NIMCALL(void, random__bxw51vYxkPGA3LT5r0LgoQ)(tyEnum_EcCurveKind__9a05LORLSq8PdPWJxWhyBXw kind, br_hmac_drbg_context* rng_0, tyObject_Result__aacdVUZDJjOWP9bH69asqFVg* Result) { tyObject_EcPrivateKeycolonObjectType___OJbV39curmS5TCBXopR7itA* seckey; tyObject_Result__oOsFQPbY2q7ayTTSab5TvA vX60gensym69425034_; tyObject_EcPublicKeycolonObjectType___2rc9bUkP8wBzp3UeWWgE9b5Q* pubkey; tyObject_Result__fBI8BlURc7uRx2jML3oTSg vX60gensym69435205_; tyObject_EcKeyPair__bsR3ZYy78BmQsv6nJi4PSw key_1;{ chckNil((void*)Result); switch ((*Result).o) { case NIM_FALSE: (*Result)._o_1.e = 0; break; case NIM_TRUE: unsureAsgnRef((void**)&(*Result)._o_2.v.seckey, NIM_NIL); unsureAsgnRef((void**)&(*Result)._o_2.v.pubkey, NIM_NIL); break; } (*Result).o = 0; #line 268 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" #line 274 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" nimZeroMem((void*)(&vX60gensym69425034_), sizeof(tyObject_Result__oOsFQPbY2q7ayTTSab5TvA)); #line 657 "/home/runner/work/nim-waku/nim-waku/vendor/nim-stew/stew/results.nim" #line 274 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" random__w4Y1PVu9bvsQJnqSLoGMCCQ(kind, rng_0, (&vX60gensym69425034_)); #line 658 "/home/runner/work/nim-waku/nim-waku/vendor/nim-stew/stew/results.nim" { #line 658 "/home/runner/work/nim-waku/nim-waku/vendor/nim-stew/stew/results.nim" if (!!(vX60gensym69425034_.o)) goto LA3_; #line 662 "/home/runner/work/nim-waku/nim-waku/vendor/nim-stew/stew/results.nim" #line 662 "/home/runner/work/nim-waku/nim-waku/vendor/nim-stew/stew/results.nim" chckNil((void*)Result); switch ((*Result).o) { case NIM_FALSE: (*Result)._o_1.e = 0; break; case NIM_TRUE: unsureAsgnRef((void**)&(*Result)._o_2.v.seckey, NIM_NIL); unsureAsgnRef((void**)&(*Result)._o_2.v.pubkey, NIM_NIL); break; } (*Result).o = 0; (*Result).o = NIM_FALSE; if (!(((1 &(1U<<((NU)(vX60gensym69425034_.o)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__4AguaBuWiLw9adbLoM9cOsSw_11)); } (*Result)._o_1.e = vX60gensym69425034_._o_1.e; goto BeforeRet_; } LA3_: ; if (!(((2 &(1U<<((NU)(vX60gensym69425034_.o)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__4AguaBuWiLw9adbLoM9cOsSw_12)); } seckey = vX60gensym69425034_._o_2.v; #line 275 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" nimZeroMem((void*)(&vX60gensym69435205_), sizeof(tyObject_Result__fBI8BlURc7uRx2jML3oTSg)); #line 657 "/home/runner/work/nim-waku/nim-waku/vendor/nim-stew/stew/results.nim" #line 275 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" getKey__uMuHGMfLCEJnKjbrz3jSbA(seckey, (&vX60gensym69435205_)); #line 658 "/home/runner/work/nim-waku/nim-waku/vendor/nim-stew/stew/results.nim" { #line 658 "/home/runner/work/nim-waku/nim-waku/vendor/nim-stew/stew/results.nim" if (!!(vX60gensym69435205_.o)) goto LA7_; #line 662 "/home/runner/work/nim-waku/nim-waku/vendor/nim-stew/stew/results.nim" #line 662 "/home/runner/work/nim-waku/nim-waku/vendor/nim-stew/stew/results.nim" chckNil((void*)Result); switch ((*Result).o) { case NIM_FALSE: (*Result)._o_1.e = 0; break; case NIM_TRUE: unsureAsgnRef((void**)&(*Result)._o_2.v.seckey, NIM_NIL); unsureAsgnRef((void**)&(*Result)._o_2.v.pubkey, NIM_NIL); break; } (*Result).o = 0; (*Result).o = NIM_FALSE; if (!(((1 &(1U<<((NU)(vX60gensym69435205_.o)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__4AguaBuWiLw9adbLoM9cOsSw_11)); } (*Result)._o_1.e = vX60gensym69435205_._o_1.e; goto BeforeRet_; } LA7_: ; if (!(((2 &(1U<<((NU)(vX60gensym69435205_.o)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__4AguaBuWiLw9adbLoM9cOsSw_12)); } pubkey = vX60gensym69435205_._o_2.v; nimZeroMem((void*)(&key_1), sizeof(tyObject_EcKeyPair__bsR3ZYy78BmQsv6nJi4PSw)); #line 276 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" chckNil((void*)(&key_1)); nimZeroMem((void*)(&key_1), sizeof(tyObject_EcKeyPair__bsR3ZYy78BmQsv6nJi4PSw)); key_1.seckey = seckey; key_1.pubkey = pubkey; chckNil((void*)Result); switch ((*Result).o) { case NIM_FALSE: (*Result)._o_1.e = 0; break; case NIM_TRUE: unsureAsgnRef((void**)&(*Result)._o_2.v.seckey, NIM_NIL); unsureAsgnRef((void**)&(*Result)._o_2.v.pubkey, NIM_NIL); break; } (*Result).o = 0; (*Result).o = NIM_TRUE; unsureAsgnRef((void**) (&(*Result)._o_2.v.seckey), key_1.seckey); unsureAsgnRef((void**) (&(*Result)._o_2.v.pubkey), key_1.pubkey); }BeforeRet_: ; } #line 334 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" N_LIB_PRIVATE N_NIMCALL(tyObject_Result__9aXs39benOLqEdFqQiLtaoMg, toRawBytes__h0zKn6mnH9b1WR59a49aVnoqQ_2)(tyObject_EcPublicKeycolonObjectType___2rc9bUkP8wBzp3UeWWgE9b5Q* pubkey, NU8* data_0, NI data_0Len_0) { tyObject_Result__9aXs39benOLqEdFqQiLtaoMg result;{ nimZeroMem((void*)(&result), sizeof(tyObject_Result__9aXs39benOLqEdFqQiLtaoMg)); #line 335 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" #line 340 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" { #line 340 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" if (!(pubkey == 0)) goto LA3_; #line 341 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" #line 341 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" chckNil((void*)(&result)); nimZeroMem((void*)(&result), sizeof(tyObject_Result__9aXs39benOLqEdFqQiLtaoMg)); result.o = NIM_FALSE; result._o_1.e = ((tyEnum_EcError__uEgxZ29b8TyXtXI1lvZiARA) 3); goto BeforeRet_; } LA3_: ; #line 342 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" { NI klen; #line 342 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" if (!((*pubkey).key.curve == ((NI) 23) || (*pubkey).key.curve == ((NI) 24) || (*pubkey).key.curve == ((NI) 25))) goto LA7_; #line 343 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" #line 343 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" switch (((tyEnum_EcCurveKind__9a05LORLSq8PdPWJxWhyBXw) ((*pubkey).key.curve))) { case ((tyEnum_EcCurveKind__9a05LORLSq8PdPWJxWhyBXw) 23): { klen = ((NI) 65); } break; case ((tyEnum_EcCurveKind__9a05LORLSq8PdPWJxWhyBXw) 24): { klen = ((NI) 97); } break; case ((tyEnum_EcCurveKind__9a05LORLSq8PdPWJxWhyBXw) 25): { klen = ((NI) 133); } break; } #line 344 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" { #line 344 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" #line 344 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" if (!(klen <= data_0Len_0)) goto LA14_; #line 345 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" if ((NU)(((NI) 0)) >= (NU)(data_0Len_0)){ raiseIndexError2(((NI) 0),data_0Len_0-1); } if ((klen) < ((NI) 0) || (klen) > ((NI) IL64(9223372036854775807))){ raiseRangeErrorI(klen, ((NI) 0), ((NI) IL64(9223372036854775807))); } #line 345 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" copyMem__i80o3k0SgEI5gTRCzYdyWAsystem(((void*) ((&data_0[((NI) 0)]))), ((void*) ((&(*pubkey).buffer[(((NI) 0))- 0]))), ((NI) (klen))); } LA14_: ; chckNil((void*)(&result)); nimZeroMem((void*)(&result), sizeof(tyObject_Result__9aXs39benOLqEdFqQiLtaoMg)); result.o = NIM_TRUE; result._o_2.v = klen; } goto LA5_; LA7_: ; { chckNil((void*)(&result)); nimZeroMem((void*)(&result), sizeof(tyObject_Result__9aXs39benOLqEdFqQiLtaoMg)); result.o = NIM_FALSE; result._o_1.e = ((tyEnum_EcError__uEgxZ29b8TyXtXI1lvZiARA) 3); } LA5_: ; }BeforeRet_: ; return result;} #line 504 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" N_LIB_PRIVATE N_NIMCALL(void, getRawBytes__9coFnXXweAFsWW2RRW9bjCeg_2)(tyObject_EcPublicKeycolonObjectType___2rc9bUkP8wBzp3UeWWgE9b5Q* pubkey, tyObject_Result__4V9aavu9bX80MVc5K82Pp59aA* Result) {{ chckNil((void*)Result); switch ((*Result).o) { case NIM_FALSE: (*Result)._o_1.e = 0; break; case NIM_TRUE: unsureAsgnRef((void**)&(*Result)._o_2.v, NIM_NIL); break; } (*Result).o = 0; #line 506 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" { #line 506 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" if (!(pubkey == 0)) goto LA3_; #line 507 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" #line 507 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" chckNil((void*)Result); switch ((*Result).o) { case NIM_FALSE: (*Result)._o_1.e = 0; break; case NIM_TRUE: unsureAsgnRef((void**)&(*Result)._o_2.v, NIM_NIL); break; } (*Result).o = 0; (*Result).o = NIM_FALSE; (*Result)._o_1.e = ((tyEnum_EcError__uEgxZ29b8TyXtXI1lvZiARA) 3); goto BeforeRet_; } LA3_: ; #line 508 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" { tySequence__6H5Oh5UUvVCLiakt9aTwtUQ* res; NI length; tyObject_Result__9aXs39benOLqEdFqQiLtaoMg vX60gensym55175026_; tyObject_Result__9aXs39benOLqEdFqQiLtaoMg vX60gensym55185212_; #line 508 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" if (!((*pubkey).key.curve == ((NI) 23) || (*pubkey).key.curve == ((NI) 24) || (*pubkey).key.curve == ((NI) 25))) goto LA7_; #line 509 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" #line 509 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" res = newSeq__DpCWN7DIBuAjgoeQ9c29blYQ(((NI) 0)); #line 510 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" #line 657 "/home/runner/work/nim-waku/nim-waku/vendor/nim-stew/stew/results.nim" #line 510 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" vX60gensym55175026_ = toRawBytes__h0zKn6mnH9b1WR59a49aVnoqQ_2(pubkey, res->data, (res ? res->Sup.len : 0)); #line 658 "/home/runner/work/nim-waku/nim-waku/vendor/nim-stew/stew/results.nim" { #line 658 "/home/runner/work/nim-waku/nim-waku/vendor/nim-stew/stew/results.nim" if (!!(vX60gensym55175026_.o)) goto LA11_; #line 662 "/home/runner/work/nim-waku/nim-waku/vendor/nim-stew/stew/results.nim" #line 662 "/home/runner/work/nim-waku/nim-waku/vendor/nim-stew/stew/results.nim" chckNil((void*)Result); switch ((*Result).o) { case NIM_FALSE: (*Result)._o_1.e = 0; break; case NIM_TRUE: unsureAsgnRef((void**)&(*Result)._o_2.v, NIM_NIL); break; } (*Result).o = 0; (*Result).o = NIM_FALSE; if (!(((1 &(1U<<((NU)(vX60gensym55175026_.o)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__4AguaBuWiLw9adbLoM9cOsSw_11)); } (*Result)._o_1.e = vX60gensym55175026_._o_1.e; goto BeforeRet_; } LA11_: ; if (!(((2 &(1U<<((NU)(vX60gensym55175026_.o)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__4AguaBuWiLw9adbLoM9cOsSw_12)); } length = vX60gensym55175026_._o_2.v; #line 511 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" if ((length) < ((NI) 0) || (length) > ((NI) IL64(9223372036854775807))){ raiseRangeErrorI(length, ((NI) 0), ((NI) IL64(9223372036854775807))); } res = (tySequence__6H5Oh5UUvVCLiakt9aTwtUQ*) setLengthSeqV2(&(res)->Sup, (&NTI__6H5Oh5UUvVCLiakt9aTwtUQ_), ((NI) (length))); #line 512 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" #line 657 "/home/runner/work/nim-waku/nim-waku/vendor/nim-stew/stew/results.nim" #line 512 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" vX60gensym55185212_ = toRawBytes__h0zKn6mnH9b1WR59a49aVnoqQ_2(pubkey, res->data, (res ? res->Sup.len : 0)); #line 658 "/home/runner/work/nim-waku/nim-waku/vendor/nim-stew/stew/results.nim" { #line 658 "/home/runner/work/nim-waku/nim-waku/vendor/nim-stew/stew/results.nim" if (!!(vX60gensym55185212_.o)) goto LA15_; #line 662 "/home/runner/work/nim-waku/nim-waku/vendor/nim-stew/stew/results.nim" #line 662 "/home/runner/work/nim-waku/nim-waku/vendor/nim-stew/stew/results.nim" chckNil((void*)Result); switch ((*Result).o) { case NIM_FALSE: (*Result)._o_1.e = 0; break; case NIM_TRUE: unsureAsgnRef((void**)&(*Result)._o_2.v, NIM_NIL); break; } (*Result).o = 0; (*Result).o = NIM_FALSE; if (!(((1 &(1U<<((NU)(vX60gensym55185212_.o)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__4AguaBuWiLw9adbLoM9cOsSw_11)); } (*Result)._o_1.e = vX60gensym55185212_._o_1.e; goto BeforeRet_; } LA15_: ; if (!(((2 &(1U<<((NU)(vX60gensym55185212_.o)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__4AguaBuWiLw9adbLoM9cOsSw_12)); } (void)(vX60gensym55185212_._o_2.v); #line 513 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" #line 513 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" chckNil((void*)Result); switch ((*Result).o) { case NIM_FALSE: (*Result)._o_1.e = 0; break; case NIM_TRUE: unsureAsgnRef((void**)&(*Result)._o_2.v, NIM_NIL); break; } (*Result).o = 0; (*Result).o = NIM_TRUE; genericSeqAssign((&(*Result)._o_2.v), res, (&NTI__6H5Oh5UUvVCLiakt9aTwtUQ_)); goto BeforeRet_; } goto LA5_; LA7_: ; { #line 515 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" #line 515 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" chckNil((void*)Result); switch ((*Result).o) { case NIM_FALSE: (*Result)._o_1.e = 0; break; case NIM_TRUE: unsureAsgnRef((void**)&(*Result)._o_2.v, NIM_NIL); break; } (*Result).o = 0; (*Result).o = NIM_FALSE; (*Result)._o_1.e = ((tyEnum_EcError__uEgxZ29b8TyXtXI1lvZiARA) 3); goto BeforeRet_; } LA5_: ; }BeforeRet_: ; } #line 787 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, initRaw__dSPaCDk6zBntpF9ch4vS8wg)(tyObject_EcPublicKeycolonObjectType___2rc9bUkP8wBzp3UeWWgE9b5Q** pubkey, NU8* data_0, NI data_0Len_0) { NIM_BOOL result; int curve_1; result = (NIM_BOOL)0; curve_1 = (int)0; #line 796 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" { #line 796 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" #line 796 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" if (!(((NI) 0) < data_0Len_0)) goto LA3_; #line 797 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" { #line 797 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" if ((NU)(((NI) 0)) >= (NU)(data_0Len_0)){ raiseIndexError2(((NI) 0),data_0Len_0-1); } if (!(data_0[((NI) 0)] == ((NU8) 4))) goto LA7_; #line 798 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" { #line 798 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" #line 798 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" if (!(data_0Len_0 == ((NI) 65))) goto LA11_; #line 799 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" curve_1 = ((int) (((tyEnum_EcCurveKind__9a05LORLSq8PdPWJxWhyBXw) 23))); #line 800 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" result = NIM_TRUE; } goto LA9_; LA11_: ; { #line 801 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" #line 801 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" if (!(data_0Len_0 == ((NI) 97))) goto LA14_; #line 802 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" curve_1 = ((int) (((tyEnum_EcCurveKind__9a05LORLSq8PdPWJxWhyBXw) 24))); #line 803 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" result = NIM_TRUE; } goto LA9_; LA14_: ; { #line 804 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" #line 804 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" if (!(data_0Len_0 == ((NI) 133))) goto LA17_; #line 805 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" curve_1 = ((int) (((tyEnum_EcCurveKind__9a05LORLSq8PdPWJxWhyBXw) 25))); #line 806 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" result = NIM_TRUE; } goto LA9_; LA17_: ; LA9_: ; } LA7_: ; } LA3_: ; #line 807 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" { if (!result) goto LA21_; #line 808 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" result = NIM_FALSE; #line 809 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" { NU32 T25_; NI length; #line 809 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" #line 809 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" #line 809 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" #line 809 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" T25_ = (NU32)0; T25_ = checkPublic__PVo5h77ceSvIK9adD3lr3MA(data_0, data_0Len_0, curve_1); if (!!((T25_ == ((NU32) 0)))) goto LA26_; #line 810 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" #line 810 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" length = data_0Len_0; #line 811 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" #line 811 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" unsureAsgnRef((void**) (&(*pubkey)), new__ECh78eS89cC66Fj2Kok35JQ()); #line 812 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" if ((NU)(((NI) 0)) >= (NU)(data_0Len_0)){ raiseIndexError2(((NI) 0),data_0Len_0-1); } if ((length) < ((NI) 0) || (length) > ((NI) IL64(9223372036854775807))){ raiseRangeErrorI(length, ((NI) 0), ((NI) IL64(9223372036854775807))); } #line 812 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" copyMem__i80o3k0SgEI5gTRCzYdyWAsystem(((void*) ((&(*(*pubkey)).buffer[(((NI) 0))- 0]))), ((void*) ((&data_0[((NI) 0)]))), ((NI) (length))); #line 813 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" (*(*pubkey)).key.q = ((unsigned char*) ((&(*(*pubkey)).buffer[(((NI) 0))- 0]))); #line 814 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" (*(*pubkey)).key.qlen = length; #line 815 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" (*(*pubkey)).key.curve = curve_1; #line 816 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" result = NIM_TRUE; } LA26_: ; } LA21_: ; return result;} #line 161 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, copy__hD12mgCjt0hO35tmAkcs8A)(tyObject_EcPublicKeycolonObjectType___2rc9bUkP8wBzp3UeWWgE9b5Q** dst, tyObject_EcPublicKeycolonObjectType___2rc9bUkP8wBzp3UeWWgE9b5Q* src) { NIM_BOOL result; result = (NIM_BOOL)0; #line 165 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" { #line 165 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" if (!(src == 0)) goto LA3_; #line 166 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" result = NIM_FALSE; } goto LA1_; LA3_: ; { NI length; #line 168 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" #line 168 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" unsureAsgnRef((void**) (&(*dst)), new__ECh78eS89cC66Fj2Kok35JQ()); #line 180 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" length = (*src).key.qlen; #line 181 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" { NIM_BOOL T8_; NI offset; #line 181 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" T8_ = (NIM_BOOL)0; #line 181 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" T8_ = (((NI) 0) < length); if (!(T8_)) goto LA9_; T8_ = NIM_TRUE; LA9_: ; if (!T8_) goto LA10_; #line 182 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" #line 182 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" offset = getOffset__9cmRmkVGJabfNKyPrYWmKxgecnist(src); #line 183 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" { #line 183 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" if (!(((NI) 0) <= offset)) goto LA14_; #line 184 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" nimCopyMem((void*)(*(*dst)).buffer, (NIM_CONST void*)(*src).buffer, sizeof(tyArray__5fET4L16EkHaikTXaOXHsQ)); #line 185 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" (*(*dst)).key.curve = (*src).key.curve; #line 186 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" (*(*dst)).key.qlen = length; #line 187 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" if ((NU)(offset) > (NU)(144)){ raiseIndexError2(offset, 144); } (*(*dst)).key.q = ((unsigned char*) ((&(*(*dst)).buffer[(offset)- 0]))); #line 188 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" result = NIM_TRUE; } LA14_: ; } LA10_: ; } LA1_: ; return result;} #line 136 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" static N_INLINE(NI, getOffset__UrACxkxqm9bq5Aul5qsPlGwecnist)(tyObject_EcPrivateKeycolonObjectType___OJbV39curmS5TCBXopR7itA* seckey) { NI result; NU o; result = (NI)0; #line 137 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" #line 137 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" o = (NU)((NU64)(((NU) (ptrdiff_t) ((*seckey).key.x))) - (NU64)(((NU) (ptrdiff_t) ((&(*seckey).buffer[(((NI) 0))- 0]))))); #line 138 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" { #line 138 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" #line 138 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" if (!((NU64)(((NU) 72)) < (NU64)((NU)((NU64)(o) + (NU64)(((NU) ((*seckey).key.xlen))))))) goto LA3_; #line 139 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" result = ((NI) -1); } goto LA1_; LA3_: ; { #line 141 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" result = ((NI) (o)); } LA1_: ; return result;} #line 875 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" N_LIB_PRIVATE N_NIMCALL(tyObject_EcPublicKeycolonObjectType___2rc9bUkP8wBzp3UeWWgE9b5Q*, scalarMul__Rohx8dcI9ccPprn2v0Y4SEQ)(tyObject_EcPublicKeycolonObjectType___2rc9bUkP8wBzp3UeWWgE9b5Q* pub, tyObject_EcPrivateKeycolonObjectType___OJbV39curmS5TCBXopR7itA* sec) { tyObject_EcPublicKeycolonObjectType___2rc9bUkP8wBzp3UeWWgE9b5Q* result; br_ec_impl* impl_1; result = (tyObject_EcPublicKeycolonObjectType___2rc9bUkP8wBzp3UeWWgE9b5Q*)0; #line 879 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" { NIM_BOOL T3_; #line 879 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" #line 879 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" T3_ = (NIM_BOOL)0; #line 879 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" #line 879 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" T3_ = !((pub == 0)); if (!(T3_)) goto LA4_; #line 879 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" #line 879 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" T3_ = !((sec == 0)); LA4_: ; if (!!(T3_)) goto LA5_; #line 879 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" #line 879 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" failedAssertImpl__W9cjVocn1tjhW7p7xohJj6A(((NimStringDesc*) &TM__4AguaBuWiLw9adbLoM9cOsSw_27)); } LA5_: ; #line 880 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" #line 880 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" impl_1 = br_ec_get_default(); #line 881 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" { #line 881 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" if (!((*sec).key.curve == ((NI) 23) || (*sec).key.curve == ((NI) 24) || (*sec).key.curve == ((NI) 25))) goto LA9_; #line 882 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" { tyObject_EcPublicKeycolonObjectType___2rc9bUkP8wBzp3UeWWgE9b5Q* key_1; #line 882 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" if (!((*pub).key.curve == (*sec).key.curve)) goto LA13_; #line 883 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" #line 883 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" key_1 = new__ECh78eS89cC66Fj2Kok35JQ(); #line 884 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" { NIM_BOOL T17_; NI poffset; NI soffset; #line 884 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" #line 884 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" T17_ = (NIM_BOOL)0; T17_ = copy__hD12mgCjt0hO35tmAkcs8A(&key_1, pub); if (!T17_) goto LA18_; #line 885 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" #line 885 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" poffset = getOffset__9cmRmkVGJabfNKyPrYWmKxgecnist(key_1); #line 886 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" #line 886 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" soffset = getOffset__UrACxkxqm9bq5Aul5qsPlGwecnist(sec); #line 887 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" { NIM_BOOL T22_; NU32 res; #line 887 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" T22_ = (NIM_BOOL)0; #line 887 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" T22_ = (((NI) 0) <= poffset); if (!(T22_)) goto LA23_; #line 887 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" T22_ = (((NI) 0) <= soffset); LA23_: ; if (!T22_) goto LA24_; #line 888 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" if ((NU)(poffset) > (NU)(144)){ raiseIndexError2(poffset, 144); } if ((NU)(soffset) > (NU)(71)){ raiseIndexError2(soffset, 71); } #line 888 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" res = (*impl_1).mul(((unsigned char*) ((&(*key_1).buffer[(poffset)- 0]))), (*key_1).key.qlen, ((unsigned char*) ((&(*sec).buffer[(soffset)- 0]))), (*sec).key.xlen, (*key_1).key.curve); #line 893 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" { #line 893 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" #line 893 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" if (!!((res == ((NU32) 0)))) goto LA28_; #line 894 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" result = key_1; } LA28_: ; } LA24_: ; } LA18_: ; } LA13_: ; } LA9_: ; return result;} #line 896 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" N_LIB_PRIVATE N_NIMCALL(NI, toSecret__sVcxYz7LLCrJMsKXeaoW9bQ)(tyObject_EcPublicKeycolonObjectType___2rc9bUkP8wBzp3UeWWgE9b5Q* pubkey, tyObject_EcPrivateKeycolonObjectType___OJbV39curmS5TCBXopR7itA* seckey, NU8* data_0, NI data_0Len_0) { NI result; tyObject_EcPublicKeycolonObjectType___2rc9bUkP8wBzp3UeWWgE9b5Q* mult; result = (NI)0; #line 907 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" { NIM_BOOL T3_; #line 907 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" #line 907 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" T3_ = (NIM_BOOL)0; #line 907 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" #line 907 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" T3_ = !((pubkey == 0)); if (!(T3_)) goto LA4_; #line 907 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" #line 907 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" T3_ = !((seckey == 0)); LA4_: ; if (!!(T3_)) goto LA5_; #line 907 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" #line 907 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" failedAssertImpl__W9cjVocn1tjhW7p7xohJj6A(((NimStringDesc*) &TM__4AguaBuWiLw9adbLoM9cOsSw_26)); } LA5_: ; #line 908 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" #line 908 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" mult = scalarMul__Rohx8dcI9ccPprn2v0Y4SEQ(pubkey, seckey); #line 909 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" { #line 909 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" #line 909 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" if (!!((mult == 0))) goto LA9_; #line 910 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" { #line 910 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" if (!((*seckey).key.curve == ((NI32) 23))) goto LA13_; #line 911 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" result = ((NI) 32); } goto LA11_; LA13_: ; { #line 912 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" if (!((*seckey).key.curve == ((NI32) 24))) goto LA16_; #line 913 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" result = ((NI) 48); } goto LA11_; LA16_: ; { #line 914 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" if (!((*seckey).key.curve == ((NI32) 25))) goto LA19_; #line 915 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" result = ((NI) 66); } goto LA11_; LA19_: ; LA11_: ; #line 916 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" { void* qplus1; #line 916 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" #line 916 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" if (!(result <= data_0Len_0)) goto LA23_; #line 917 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" #line 917 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" qplus1 = ((void*) ((NU)((NU64)(((NU) (ptrdiff_t) ((*mult).key.q))) + (NU64)(((NU) 1))))); #line 918 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" if ((NU)(((NI) 0)) >= (NU)(data_0Len_0)){ raiseIndexError2(((NI) 0),data_0Len_0-1); } if ((result) < ((NI) 0) || (result) > ((NI) IL64(9223372036854775807))){ raiseRangeErrorI(result, ((NI) 0), ((NI) IL64(9223372036854775807))); } #line 918 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" copyMem__i80o3k0SgEI5gTRCzYdyWAsystem(((void*) ((&data_0[((NI) 0)]))), qplus1, ((NI) (result))); } LA23_: ; } LA9_: ; return result;} #line 920 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" N_LIB_PRIVATE N_NIMCALL(tySequence__6H5Oh5UUvVCLiakt9aTwtUQ*, getSecret__4S3ePcyiwJzcvCemhN69baQ)(tyObject_EcPublicKeycolonObjectType___2rc9bUkP8wBzp3UeWWgE9b5Q* pubkey, tyObject_EcPrivateKeycolonObjectType___OJbV39curmS5TCBXopR7itA* seckey) { tySequence__6H5Oh5UUvVCLiakt9aTwtUQ* result; tyArray__7qMeC7YwE9a86azalcjwO6w data_1; NI res; result = (tySequence__6H5Oh5UUvVCLiakt9aTwtUQ*)0; #line 926 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" { NIM_BOOL T3_; #line 926 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" #line 926 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" T3_ = (NIM_BOOL)0; #line 926 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" #line 926 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" T3_ = !((pubkey == 0)); if (!(T3_)) goto LA4_; #line 926 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" #line 926 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" T3_ = !((seckey == 0)); LA4_: ; if (!!(T3_)) goto LA5_; #line 926 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" #line 926 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" failedAssertImpl__W9cjVocn1tjhW7p7xohJj6A(((NimStringDesc*) &TM__4AguaBuWiLw9adbLoM9cOsSw_25)); } LA5_: ; nimZeroMem((void*)data_1, sizeof(tyArray__7qMeC7YwE9a86azalcjwO6w)); #line 928 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" #line 928 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" res = toSecret__sVcxYz7LLCrJMsKXeaoW9bQ(pubkey, seckey, data_1, 66); #line 929 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" { #line 929 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" if (!(((NI) 0) < res)) goto LA9_; #line 930 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" if ((res) < ((NI) 0) || (res) > ((NI) IL64(9223372036854775807))){ raiseRangeErrorI(res, ((NI) 0), ((NI) IL64(9223372036854775807))); } #line 930 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" result = newSeq__DpCWN7DIBuAjgoeQ9c29blYQ(((NI) (res))); #line 931 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" if ((NU)(((NI) 0)) >= (NU)(result ? result->Sup.len : 0)){ raiseIndexError2(((NI) 0),(result ? result->Sup.len : 0)-1); } if ((res) < ((NI) 0) || (res) > ((NI) IL64(9223372036854775807))){ raiseRangeErrorI(res, ((NI) 0), ((NI) IL64(9223372036854775807))); } #line 931 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" copyMem__i80o3k0SgEI5gTRCzYdyWAsystem(((void*) ((&result->data[((NI) 0)]))), ((void*) ((&data_1[(((NI) 0))- 0]))), ((NI) (res))); } LA9_: ; return result;} #line 527 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, eqeq___skBXeZZS3IQh9cAhY8tM3pA)(tyObject_EcPublicKeycolonObjectType___2rc9bUkP8wBzp3UeWWgE9b5Q* pubkey1, tyObject_EcPublicKeycolonObjectType___2rc9bUkP8wBzp3UeWWgE9b5Q* pubkey2) { NIM_BOOL result;{ result = (NIM_BOOL)0; #line 529 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" { NIM_BOOL T3_; #line 529 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" T3_ = (NIM_BOOL)0; #line 529 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" T3_ = (pubkey1 == 0); if (!(T3_)) goto LA4_; #line 529 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" T3_ = (pubkey2 == 0); LA4_: ; if (!T3_) goto LA5_; #line 530 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" result = NIM_TRUE; } goto LA1_; LA5_: ; { NIM_BOOL T8_; #line 531 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" T8_ = (NIM_BOOL)0; #line 531 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" T8_ = (pubkey1 == 0); if (!(T8_)) goto LA9_; #line 531 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" #line 531 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" T8_ = !((pubkey2 == 0)); LA9_: ; if (!T8_) goto LA10_; #line 532 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" result = NIM_FALSE; } goto LA1_; LA10_: ; { NIM_BOOL T13_; #line 533 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" T13_ = (NIM_BOOL)0; #line 533 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" T13_ = (pubkey2 == 0); if (!(T13_)) goto LA14_; #line 533 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" #line 533 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" T13_ = !((pubkey1 == 0)); LA14_: ; if (!T13_) goto LA15_; #line 534 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" result = NIM_FALSE; } goto LA1_; LA15_: ; { NI op1; NI op2; NI TM__4AguaBuWiLw9adbLoM9cOsSw_28; NI TM__4AguaBuWiLw9adbLoM9cOsSw_29; #line 536 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" { #line 536 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" #line 536 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" if (!!(((*pubkey1).key.curve == (*pubkey2).key.curve))) goto LA20_; #line 537 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" #line 537 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" result = NIM_FALSE; goto BeforeRet_; } LA20_: ; #line 538 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" { #line 538 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" #line 538 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" if (!!(((*pubkey1).key.qlen == (*pubkey2).key.qlen))) goto LA24_; #line 539 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" #line 539 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" result = NIM_FALSE; goto BeforeRet_; } LA24_: ; #line 540 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" #line 540 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" op1 = getOffset__9cmRmkVGJabfNKyPrYWmKxgecnist(pubkey1); #line 541 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" #line 541 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" op2 = getOffset__9cmRmkVGJabfNKyPrYWmKxgecnist(pubkey2); #line 542 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" { NIM_BOOL T28_; #line 542 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" T28_ = (NIM_BOOL)0; #line 542 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" T28_ = (op1 == ((NI) -1)); if (T28_) goto LA29_; #line 542 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" T28_ = (op2 == ((NI) -1)); LA29_: ; if (!T28_) goto LA30_; #line 543 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" #line 543 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" result = NIM_FALSE; goto BeforeRet_; } LA30_: ; #line 544 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" #line 544 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" #line 544 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" if (nimSubInt((*pubkey1).key.qlen, ((NI) 1), &TM__4AguaBuWiLw9adbLoM9cOsSw_28)) { raiseOverflow(); }; if ((NI)(TM__4AguaBuWiLw9adbLoM9cOsSw_28)-op1 != -1 && ((NI)(TM__4AguaBuWiLw9adbLoM9cOsSw_28)-op1 < -1 || op1 < 0 || op1 > 144 || (NI)(TM__4AguaBuWiLw9adbLoM9cOsSw_28) < 0 || (NI)(TM__4AguaBuWiLw9adbLoM9cOsSw_28) > 144)){ raiseIndexError(); } #line 545 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" if (nimSubInt((*pubkey2).key.qlen, ((NI) 1), &TM__4AguaBuWiLw9adbLoM9cOsSw_29)) { raiseOverflow(); }; if ((NI)(TM__4AguaBuWiLw9adbLoM9cOsSw_29)-op2 != -1 && ((NI)(TM__4AguaBuWiLw9adbLoM9cOsSw_29)-op2 < -1 || op2 < 0 || op2 > 144 || (NI)(TM__4AguaBuWiLw9adbLoM9cOsSw_29) < 0 || (NI)(TM__4AguaBuWiLw9adbLoM9cOsSw_29) > 144)){ raiseIndexError(); } #line 544 "/home/runner/work/nim-waku/nim-waku/vendor/nim-libp2p/libp2p/crypto/ecnist.nim" result = isEqual__WxQYJ8fOGBPO2T0Kv9aJaEA((NU8*)(((*pubkey1).buffer)+(op1)), ((NI)(TM__4AguaBuWiLw9adbLoM9cOsSw_28))-(op1)+1, (NU8*)(((*pubkey2).buffer)+(op2)), ((NI)(TM__4AguaBuWiLw9adbLoM9cOsSw_29))-(op2)+1); goto BeforeRet_; } LA1_: ; }BeforeRet_: ; return result;} N_LIB_PRIVATE N_NIMCALL(void, libp2p_ecnistDatInit000)(void) { #line 999999 "generated_not_to_break_here" static TNimNode* TM__4AguaBuWiLw9adbLoM9cOsSw_2_2[2]; static TNimNode* TM__4AguaBuWiLw9adbLoM9cOsSw_3_2[2]; static TNimNode* TM__4AguaBuWiLw9adbLoM9cOsSw_21_2[2]; static TNimNode* TM__4AguaBuWiLw9adbLoM9cOsSw_22_5[5]; NI TM__4AguaBuWiLw9adbLoM9cOsSw_24; static char* NIM_CONST TM__4AguaBuWiLw9adbLoM9cOsSw_23[5] = { "EcRngError", "EcKeyGenError", "EcPublicKeyError", "EcKeyIncorrectError", "EcSignatureError"}; static TNimNode TM__4AguaBuWiLw9adbLoM9cOsSw_0[16];NTI__OJbV39curmS5TCBXopR7itA_.size = sizeof(tyObject_EcPrivateKeycolonObjectType___OJbV39curmS5TCBXopR7itA); NTI__OJbV39curmS5TCBXopR7itA_.kind = 18; NTI__OJbV39curmS5TCBXopR7itA_.base = 0; NTI__OJbV39curmS5TCBXopR7itA_.flags = 3; NTI__OJbV39curmS5TCBXopR7itA_.name = "EcPrivateKey:ObjectType"; NTI__OJbV39curmS5TCBXopR7itA_.nextType = nimTypeRoot; nimTypeRoot=&NTI__OJbV39curmS5TCBXopR7itA_; TM__4AguaBuWiLw9adbLoM9cOsSw_2_2[0] = &TM__4AguaBuWiLw9adbLoM9cOsSw_0[1]; NTI__JmtzaGPqh6ulXN2kVElCqA_.size = sizeof(tyArray__JmtzaGPqh6ulXN2kVElCqA); NTI__JmtzaGPqh6ulXN2kVElCqA_.kind = 16; NTI__JmtzaGPqh6ulXN2kVElCqA_.base = (&NTI__k3HXouOuhqAKq0dx450lXQ_); NTI__JmtzaGPqh6ulXN2kVElCqA_.flags = 3; NTI__JmtzaGPqh6ulXN2kVElCqA_.name = "array[0..71, byte]"; NTI__JmtzaGPqh6ulXN2kVElCqA_.nextType = nimTypeRoot; nimTypeRoot=&NTI__JmtzaGPqh6ulXN2kVElCqA_; TM__4AguaBuWiLw9adbLoM9cOsSw_0[1].kind = 1; TM__4AguaBuWiLw9adbLoM9cOsSw_0[1].offset = offsetof(tyObject_EcPrivateKeycolonObjectType___OJbV39curmS5TCBXopR7itA, buffer); TM__4AguaBuWiLw9adbLoM9cOsSw_0[1].typ = (&NTI__JmtzaGPqh6ulXN2kVElCqA_); TM__4AguaBuWiLw9adbLoM9cOsSw_0[1].name = "buffer"; TM__4AguaBuWiLw9adbLoM9cOsSw_2_2[1] = &TM__4AguaBuWiLw9adbLoM9cOsSw_0[2]; TM__4AguaBuWiLw9adbLoM9cOsSw_0[2].kind = 1; TM__4AguaBuWiLw9adbLoM9cOsSw_0[2].offset = offsetof(tyObject_EcPrivateKeycolonObjectType___OJbV39curmS5TCBXopR7itA, key); TM__4AguaBuWiLw9adbLoM9cOsSw_0[2].typ = (&NTI__3DhVwKzbGjEfOVOEWVLSGQ_); TM__4AguaBuWiLw9adbLoM9cOsSw_0[2].name = "key"; TM__4AguaBuWiLw9adbLoM9cOsSw_0[0].len = 2; TM__4AguaBuWiLw9adbLoM9cOsSw_0[0].kind = 2; TM__4AguaBuWiLw9adbLoM9cOsSw_0[0].sons = &TM__4AguaBuWiLw9adbLoM9cOsSw_2_2[0]; NTI__OJbV39curmS5TCBXopR7itA_.node = &TM__4AguaBuWiLw9adbLoM9cOsSw_0[0]; NTI__NRNhelyAfMGuaaXZlYQPFA_.size = sizeof(tyObject_EcPrivateKeycolonObjectType___OJbV39curmS5TCBXopR7itA*); NTI__NRNhelyAfMGuaaXZlYQPFA_.kind = 22; NTI__NRNhelyAfMGuaaXZlYQPFA_.base = (&NTI__OJbV39curmS5TCBXopR7itA_); NTI__NRNhelyAfMGuaaXZlYQPFA_.flags = 2; NTI__NRNhelyAfMGuaaXZlYQPFA_.name = "EcPrivateKey"; NTI__NRNhelyAfMGuaaXZlYQPFA_.nextType = nimTypeRoot; nimTypeRoot=&NTI__NRNhelyAfMGuaaXZlYQPFA_; NTI__NRNhelyAfMGuaaXZlYQPFA_.marker = Marker_tyRef__NRNhelyAfMGuaaXZlYQPFA; NTI__2rc9bUkP8wBzp3UeWWgE9b5Q_.size = sizeof(tyObject_EcPublicKeycolonObjectType___2rc9bUkP8wBzp3UeWWgE9b5Q); NTI__2rc9bUkP8wBzp3UeWWgE9b5Q_.kind = 18; NTI__2rc9bUkP8wBzp3UeWWgE9b5Q_.base = 0; NTI__2rc9bUkP8wBzp3UeWWgE9b5Q_.flags = 3; NTI__2rc9bUkP8wBzp3UeWWgE9b5Q_.name = "EcPublicKey:ObjectType"; NTI__2rc9bUkP8wBzp3UeWWgE9b5Q_.nextType = nimTypeRoot; nimTypeRoot=&NTI__2rc9bUkP8wBzp3UeWWgE9b5Q_; TM__4AguaBuWiLw9adbLoM9cOsSw_3_2[0] = &TM__4AguaBuWiLw9adbLoM9cOsSw_0[4]; NTI__5fET4L16EkHaikTXaOXHsQ_.size = sizeof(tyArray__5fET4L16EkHaikTXaOXHsQ); NTI__5fET4L16EkHaikTXaOXHsQ_.kind = 16; NTI__5fET4L16EkHaikTXaOXHsQ_.base = (&NTI__k3HXouOuhqAKq0dx450lXQ_); NTI__5fET4L16EkHaikTXaOXHsQ_.flags = 3; NTI__5fET4L16EkHaikTXaOXHsQ_.name = "array[0..144, byte]"; NTI__5fET4L16EkHaikTXaOXHsQ_.nextType = nimTypeRoot; nimTypeRoot=&NTI__5fET4L16EkHaikTXaOXHsQ_; TM__4AguaBuWiLw9adbLoM9cOsSw_0[4].kind = 1; TM__4AguaBuWiLw9adbLoM9cOsSw_0[4].offset = offsetof(tyObject_EcPublicKeycolonObjectType___2rc9bUkP8wBzp3UeWWgE9b5Q, buffer); TM__4AguaBuWiLw9adbLoM9cOsSw_0[4].typ = (&NTI__5fET4L16EkHaikTXaOXHsQ_); TM__4AguaBuWiLw9adbLoM9cOsSw_0[4].name = "buffer"; TM__4AguaBuWiLw9adbLoM9cOsSw_3_2[1] = &TM__4AguaBuWiLw9adbLoM9cOsSw_0[5]; TM__4AguaBuWiLw9adbLoM9cOsSw_0[5].kind = 1; TM__4AguaBuWiLw9adbLoM9cOsSw_0[5].offset = offsetof(tyObject_EcPublicKeycolonObjectType___2rc9bUkP8wBzp3UeWWgE9b5Q, key); TM__4AguaBuWiLw9adbLoM9cOsSw_0[5].typ = (&NTI__3dk7amdL5k7WjErtWrzjGw_); TM__4AguaBuWiLw9adbLoM9cOsSw_0[5].name = "key"; TM__4AguaBuWiLw9adbLoM9cOsSw_0[3].len = 2; TM__4AguaBuWiLw9adbLoM9cOsSw_0[3].kind = 2; TM__4AguaBuWiLw9adbLoM9cOsSw_0[3].sons = &TM__4AguaBuWiLw9adbLoM9cOsSw_3_2[0]; NTI__2rc9bUkP8wBzp3UeWWgE9b5Q_.node = &TM__4AguaBuWiLw9adbLoM9cOsSw_0[3]; NTI__y9abboQL8NPsqWIoJZmI9aiw_.size = sizeof(tyObject_EcPublicKeycolonObjectType___2rc9bUkP8wBzp3UeWWgE9b5Q*); NTI__y9abboQL8NPsqWIoJZmI9aiw_.kind = 22; NTI__y9abboQL8NPsqWIoJZmI9aiw_.base = (&NTI__2rc9bUkP8wBzp3UeWWgE9b5Q_); NTI__y9abboQL8NPsqWIoJZmI9aiw_.flags = 2; NTI__y9abboQL8NPsqWIoJZmI9aiw_.name = "EcPublicKey"; NTI__y9abboQL8NPsqWIoJZmI9aiw_.nextType = nimTypeRoot; nimTypeRoot=&NTI__y9abboQL8NPsqWIoJZmI9aiw_; NTI__y9abboQL8NPsqWIoJZmI9aiw_.marker = Marker_tyRef__y9abboQL8NPsqWIoJZmI9aiw; NTI__MVVOg89cY9cYypBpNfm27WSQ_.size = sizeof(tyObject_EcSignaturecolonObjectType___MVVOg89cY9cYypBpNfm27WSQ); NTI__MVVOg89cY9cYypBpNfm27WSQ_.kind = 18; NTI__MVVOg89cY9cYypBpNfm27WSQ_.base = 0; NTI__MVVOg89cY9cYypBpNfm27WSQ_.flags = 2; NTI__MVVOg89cY9cYypBpNfm27WSQ_.name = "EcSignature:ObjectType"; NTI__MVVOg89cY9cYypBpNfm27WSQ_.nextType = nimTypeRoot; nimTypeRoot=&NTI__MVVOg89cY9cYypBpNfm27WSQ_; TM__4AguaBuWiLw9adbLoM9cOsSw_0[6].kind = 1; TM__4AguaBuWiLw9adbLoM9cOsSw_0[6].offset = offsetof(tyObject_EcSignaturecolonObjectType___MVVOg89cY9cYypBpNfm27WSQ, buffer); TM__4AguaBuWiLw9adbLoM9cOsSw_0[6].typ = (&NTI__6H5Oh5UUvVCLiakt9aTwtUQ_); TM__4AguaBuWiLw9adbLoM9cOsSw_0[6].name = "buffer"; NTI__MVVOg89cY9cYypBpNfm27WSQ_.node = &TM__4AguaBuWiLw9adbLoM9cOsSw_0[6]; NTI__ju5ytUu5N6XBCdxPNbW6wQ_.size = sizeof(tyObject_EcSignaturecolonObjectType___MVVOg89cY9cYypBpNfm27WSQ*); NTI__ju5ytUu5N6XBCdxPNbW6wQ_.kind = 22; NTI__ju5ytUu5N6XBCdxPNbW6wQ_.base = (&NTI__MVVOg89cY9cYypBpNfm27WSQ_); NTI__ju5ytUu5N6XBCdxPNbW6wQ_.flags = 2; NTI__ju5ytUu5N6XBCdxPNbW6wQ_.name = "EcSignature"; NTI__ju5ytUu5N6XBCdxPNbW6wQ_.nextType = nimTypeRoot; nimTypeRoot=&NTI__ju5ytUu5N6XBCdxPNbW6wQ_; NTI__ju5ytUu5N6XBCdxPNbW6wQ_.marker = Marker_tyRef__ju5ytUu5N6XBCdxPNbW6wQ; NTI__bsR3ZYy78BmQsv6nJi4PSw_.size = sizeof(tyObject_EcKeyPair__bsR3ZYy78BmQsv6nJi4PSw); NTI__bsR3ZYy78BmQsv6nJi4PSw_.kind = 18; NTI__bsR3ZYy78BmQsv6nJi4PSw_.base = 0; NTI__bsR3ZYy78BmQsv6nJi4PSw_.flags = 2; NTI__bsR3ZYy78BmQsv6nJi4PSw_.name = "EcKeyPair"; NTI__bsR3ZYy78BmQsv6nJi4PSw_.nextType = nimTypeRoot; nimTypeRoot=&NTI__bsR3ZYy78BmQsv6nJi4PSw_; TM__4AguaBuWiLw9adbLoM9cOsSw_21_2[0] = &TM__4AguaBuWiLw9adbLoM9cOsSw_0[8]; TM__4AguaBuWiLw9adbLoM9cOsSw_0[8].kind = 1; TM__4AguaBuWiLw9adbLoM9cOsSw_0[8].offset = offsetof(tyObject_EcKeyPair__bsR3ZYy78BmQsv6nJi4PSw, seckey); TM__4AguaBuWiLw9adbLoM9cOsSw_0[8].typ = (&NTI__NRNhelyAfMGuaaXZlYQPFA_); TM__4AguaBuWiLw9adbLoM9cOsSw_0[8].name = "seckey"; TM__4AguaBuWiLw9adbLoM9cOsSw_21_2[1] = &TM__4AguaBuWiLw9adbLoM9cOsSw_0[9]; TM__4AguaBuWiLw9adbLoM9cOsSw_0[9].kind = 1; TM__4AguaBuWiLw9adbLoM9cOsSw_0[9].offset = offsetof(tyObject_EcKeyPair__bsR3ZYy78BmQsv6nJi4PSw, pubkey); TM__4AguaBuWiLw9adbLoM9cOsSw_0[9].typ = (&NTI__y9abboQL8NPsqWIoJZmI9aiw_); TM__4AguaBuWiLw9adbLoM9cOsSw_0[9].name = "pubkey"; TM__4AguaBuWiLw9adbLoM9cOsSw_0[7].len = 2; TM__4AguaBuWiLw9adbLoM9cOsSw_0[7].kind = 2; TM__4AguaBuWiLw9adbLoM9cOsSw_0[7].sons = &TM__4AguaBuWiLw9adbLoM9cOsSw_21_2[0]; NTI__bsR3ZYy78BmQsv6nJi4PSw_.node = &TM__4AguaBuWiLw9adbLoM9cOsSw_0[7]; NTI__uEgxZ29b8TyXtXI1lvZiARA_.size = sizeof(tyEnum_EcError__uEgxZ29b8TyXtXI1lvZiARA); NTI__uEgxZ29b8TyXtXI1lvZiARA_.kind = 14; NTI__uEgxZ29b8TyXtXI1lvZiARA_.base = 0; NTI__uEgxZ29b8TyXtXI1lvZiARA_.flags = 3; NTI__uEgxZ29b8TyXtXI1lvZiARA_.name = "EcError"; NTI__uEgxZ29b8TyXtXI1lvZiARA_.nextType = nimTypeRoot; nimTypeRoot=&NTI__uEgxZ29b8TyXtXI1lvZiARA_; for (TM__4AguaBuWiLw9adbLoM9cOsSw_24 = 0; TM__4AguaBuWiLw9adbLoM9cOsSw_24 < 5; TM__4AguaBuWiLw9adbLoM9cOsSw_24++) { TM__4AguaBuWiLw9adbLoM9cOsSw_0[TM__4AguaBuWiLw9adbLoM9cOsSw_24+10].kind = 1; TM__4AguaBuWiLw9adbLoM9cOsSw_0[TM__4AguaBuWiLw9adbLoM9cOsSw_24+10].offset = TM__4AguaBuWiLw9adbLoM9cOsSw_24; TM__4AguaBuWiLw9adbLoM9cOsSw_0[TM__4AguaBuWiLw9adbLoM9cOsSw_24+10].name = TM__4AguaBuWiLw9adbLoM9cOsSw_23[TM__4AguaBuWiLw9adbLoM9cOsSw_24]; TM__4AguaBuWiLw9adbLoM9cOsSw_22_5[TM__4AguaBuWiLw9adbLoM9cOsSw_24] = &TM__4AguaBuWiLw9adbLoM9cOsSw_0[TM__4AguaBuWiLw9adbLoM9cOsSw_24+10]; } TM__4AguaBuWiLw9adbLoM9cOsSw_0[15].len = 5; TM__4AguaBuWiLw9adbLoM9cOsSw_0[15].kind = 2; TM__4AguaBuWiLw9adbLoM9cOsSw_0[15].sons = &TM__4AguaBuWiLw9adbLoM9cOsSw_22_5[0]; NTI__uEgxZ29b8TyXtXI1lvZiARA_.node = &TM__4AguaBuWiLw9adbLoM9cOsSw_0[15]; }