cchecksum 0.3.1__cp310-cp310-macosx_11_0_arm64.whl → 0.3.3__cp310-cp310-macosx_11_0_arm64.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of cchecksum might be problematic. Click here for more details.

cchecksum/_checksum.c CHANGED
@@ -1,4 +1,4 @@
1
- /* Generated by Cython 3.1.1 */
1
+ /* Generated by Cython 3.1.4 */
2
2
 
3
3
  /* BEGIN: Cython Metadata
4
4
  {
@@ -27,8 +27,8 @@ END: Cython Metadata */
27
27
  #elif PY_VERSION_HEX < 0x03080000
28
28
  #error Cython requires Python 3.8+.
29
29
  #else
30
- #define __PYX_ABI_VERSION "3_1_1"
31
- #define CYTHON_HEX_VERSION 0x030101F0
30
+ #define __PYX_ABI_VERSION "3_1_4"
31
+ #define CYTHON_HEX_VERSION 0x030104F0
32
32
  #define CYTHON_FUTURE_DIVISION 1
33
33
  /* CModulePreamble */
34
34
  #include <stddef.h>
@@ -391,6 +391,9 @@ END: Cython Metadata */
391
391
  enum { __pyx_check_sizeof_voidp = 1 / (int)(SIZEOF_VOID_P == sizeof(void*)) };
392
392
  #endif
393
393
  #endif
394
+ #ifndef CYTHON_LOCK_AND_GIL_DEADLOCK_AVOIDANCE_TIME
395
+ #define CYTHON_LOCK_AND_GIL_DEADLOCK_AVOIDANCE_TIME 100
396
+ #endif
394
397
  #ifndef __has_attribute
395
398
  #define __has_attribute(x) 0
396
399
  #endif
@@ -443,7 +446,7 @@ END: Cython Metadata */
443
446
  #define CYTHON_MAYBE_UNUSED_VAR(x) CYTHON_UNUSED_VAR(x)
444
447
  #endif
445
448
  #ifndef CYTHON_NCP_UNUSED
446
- # if CYTHON_COMPILING_IN_CPYTHON
449
+ # if CYTHON_COMPILING_IN_CPYTHON && !CYTHON_COMPILING_IN_CPYTHON_FREETHREADING
447
450
  # define CYTHON_NCP_UNUSED
448
451
  # else
449
452
  # define CYTHON_NCP_UNUSED CYTHON_UNUSED
@@ -888,11 +891,19 @@ static CYTHON_INLINE PyObject * __Pyx_PyDict_GetItemStrWithError(PyObject *dict,
888
891
  #define __Pyx_SET_REFCNT(obj, refcnt) Py_REFCNT(obj) = (refcnt)
889
892
  #define __Pyx_SET_SIZE(obj, size) Py_SIZE(obj) = (size)
890
893
  #endif
891
- #if CYTHON_COMPILING_IN_LIMITED_API || CYTHON_AVOID_BORROWED_REFS || CYTHON_AVOID_THREAD_UNSAFE_BORROWED_REFS || !CYTHON_ASSUME_SAFE_MACROS
894
+ #if CYTHON_AVOID_BORROWED_REFS || CYTHON_AVOID_THREAD_UNSAFE_BORROWED_REFS
895
+ #if __PYX_LIMITED_VERSION_HEX >= 0x030d0000
896
+ #define __Pyx_PyList_GetItemRef(o, i) PyList_GetItemRef(o, i)
897
+ #elif CYTHON_COMPILING_IN_LIMITED_API || !CYTHON_ASSUME_SAFE_MACROS
898
+ #define __Pyx_PyList_GetItemRef(o, i) (likely((i) >= 0) ? PySequence_GetItem(o, i) : (PyErr_SetString(PyExc_IndexError, "list index out of range"), (PyObject*)NULL))
899
+ #else
900
+ #define __Pyx_PyList_GetItemRef(o, i) PySequence_ITEM(o, i)
901
+ #endif
902
+ #elif CYTHON_COMPILING_IN_LIMITED_API || !CYTHON_ASSUME_SAFE_MACROS
892
903
  #if __PYX_LIMITED_VERSION_HEX >= 0x030d0000
893
904
  #define __Pyx_PyList_GetItemRef(o, i) PyList_GetItemRef(o, i)
894
905
  #else
895
- #define __Pyx_PyList_GetItemRef(o, i) PySequence_GetItem(o, i)
906
+ #define __Pyx_PyList_GetItemRef(o, i) __Pyx_XNewRef(PyList_GetItem(o, i))
896
907
  #endif
897
908
  #else
898
909
  #define __Pyx_PyList_GetItemRef(o, i) __Pyx_NewRef(PyList_GET_ITEM(o, i))
@@ -1305,7 +1316,9 @@ static CYTHON_INLINE Py_hash_t __Pyx_PyIndex_AsHash_t(PyObject*);
1305
1316
  #endif /* __GNUC__ */
1306
1317
  /* PretendToInitialize */
1307
1318
  #ifdef __cplusplus
1319
+ #if __cplusplus > 201103L
1308
1320
  #include <type_traits>
1321
+ #endif
1309
1322
  template <typename T>
1310
1323
  static void __Pyx_pretend_to_initialize(T* ptr) {
1311
1324
  #if __cplusplus > 201103L
@@ -2100,18 +2113,18 @@ static PyObject *__pyx_array_get_memview(struct __pyx_array_obj *); /*proto*/
2100
2113
  static CYTHON_INLINE PyObject *__Pyx_GetAttr(PyObject *, PyObject *);
2101
2114
 
2102
2115
  /* GetItemInt.proto */
2103
- #define __Pyx_GetItemInt(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck)\
2116
+ #define __Pyx_GetItemInt(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck, has_gil)\
2104
2117
  (__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\
2105
2118
  __Pyx_GetItemInt_Fast(o, (Py_ssize_t)i, is_list, wraparound, boundscheck) :\
2106
2119
  (is_list ? (PyErr_SetString(PyExc_IndexError, "list index out of range"), (PyObject*)NULL) :\
2107
2120
  __Pyx_GetItemInt_Generic(o, to_py_func(i))))
2108
- #define __Pyx_GetItemInt_List(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck)\
2121
+ #define __Pyx_GetItemInt_List(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck, has_gil)\
2109
2122
  (__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\
2110
2123
  __Pyx_GetItemInt_List_Fast(o, (Py_ssize_t)i, wraparound, boundscheck) :\
2111
2124
  (PyErr_SetString(PyExc_IndexError, "list index out of range"), (PyObject*)NULL))
2112
2125
  static CYTHON_INLINE PyObject *__Pyx_GetItemInt_List_Fast(PyObject *o, Py_ssize_t i,
2113
2126
  int wraparound, int boundscheck);
2114
- #define __Pyx_GetItemInt_Tuple(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck)\
2127
+ #define __Pyx_GetItemInt_Tuple(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck, has_gil)\
2115
2128
  (__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\
2116
2129
  __Pyx_GetItemInt_Tuple_Fast(o, (Py_ssize_t)i, wraparound, boundscheck) :\
2117
2130
  (PyErr_SetString(PyExc_IndexError, "tuple index out of range"), (PyObject*)NULL))
@@ -2292,7 +2305,7 @@ static PyObject* __Pyx_PyObject_Format(PyObject* s, PyObject* f);
2292
2305
  #endif
2293
2306
 
2294
2307
  /* SetItemInt.proto */
2295
- #define __Pyx_SetItemInt(o, i, v, type, is_signed, to_py_func, is_list, wraparound, boundscheck)\
2308
+ #define __Pyx_SetItemInt(o, i, v, type, is_signed, to_py_func, is_list, wraparound, boundscheck, has_gil)\
2296
2309
  (__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\
2297
2310
  __Pyx_SetItemInt_Fast(o, (Py_ssize_t)i, v, is_list, wraparound, boundscheck) :\
2298
2311
  (is_list ? (PyErr_SetString(PyExc_IndexError, "list assignment index out of range"), -1) :\
@@ -2379,6 +2392,15 @@ static CYTHON_INLINE PyObject* __Pyx_decode_c_string(
2379
2392
  static int __Pyx_call_type_traverse(PyObject *o, int always_call, visitproc visit, void *arg);
2380
2393
  #endif
2381
2394
 
2395
+ /* LimitedApiGetTypeDict.proto */
2396
+ #if CYTHON_COMPILING_IN_LIMITED_API
2397
+ static PyObject *__Pyx_GetTypeDict(PyTypeObject *tp);
2398
+ #endif
2399
+
2400
+ /* SetItemOnTypeDict.proto */
2401
+ static int __Pyx__SetItemOnTypeDict(PyTypeObject *tp, PyObject *k, PyObject *v);
2402
+ #define __Pyx_SetItemOnTypeDict(tp, k, v) __Pyx__SetItemOnTypeDict((PyTypeObject*)tp, k, v)
2403
+
2382
2404
  /* FixUpExtensionType.proto */
2383
2405
  static CYTHON_INLINE int __Pyx_fix_up_extension_type_from_spec(PyType_Spec *spec, PyTypeObject *type);
2384
2406
 
@@ -2408,39 +2430,30 @@ static void* __Pyx_GetVtable(PyTypeObject *type);
2408
2430
  /* MergeVTables.proto */
2409
2431
  static int __Pyx_MergeVtables(PyTypeObject *type);
2410
2432
 
2411
- /* LimitedApiGetTypeDict.proto */
2412
- #if CYTHON_COMPILING_IN_LIMITED_API
2413
- static PyObject *__Pyx_GetTypeDict(PyTypeObject *tp);
2414
- #endif
2415
-
2416
2433
  /* DelItemOnTypeDict.proto */
2417
2434
  static int __Pyx__DelItemOnTypeDict(PyTypeObject *tp, PyObject *k);
2418
2435
  #define __Pyx_DelItemOnTypeDict(tp, k) __Pyx__DelItemOnTypeDict((PyTypeObject*)tp, k)
2419
2436
 
2420
- /* SetItemOnTypeDict.proto */
2421
- static int __Pyx__SetItemOnTypeDict(PyTypeObject *tp, PyObject *k, PyObject *v);
2422
- #define __Pyx_SetItemOnTypeDict(tp, k, v) __Pyx__SetItemOnTypeDict((PyTypeObject*)tp, k, v)
2423
-
2424
2437
  /* SetupReduce.proto */
2425
2438
  static int __Pyx_setup_reduce(PyObject* type_obj);
2426
2439
 
2427
2440
  /* TypeImport.proto */
2428
- #ifndef __PYX_HAVE_RT_ImportType_proto_3_1_1
2429
- #define __PYX_HAVE_RT_ImportType_proto_3_1_1
2441
+ #ifndef __PYX_HAVE_RT_ImportType_proto_3_1_4
2442
+ #define __PYX_HAVE_RT_ImportType_proto_3_1_4
2430
2443
  #if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 201112L
2431
2444
  #include <stdalign.h>
2432
2445
  #endif
2433
2446
  #if (defined (__STDC_VERSION__) && __STDC_VERSION__ >= 201112L) || __cplusplus >= 201103L
2434
- #define __PYX_GET_STRUCT_ALIGNMENT_3_1_1(s) alignof(s)
2447
+ #define __PYX_GET_STRUCT_ALIGNMENT_3_1_4(s) alignof(s)
2435
2448
  #else
2436
- #define __PYX_GET_STRUCT_ALIGNMENT_3_1_1(s) sizeof(void*)
2449
+ #define __PYX_GET_STRUCT_ALIGNMENT_3_1_4(s) sizeof(void*)
2437
2450
  #endif
2438
- enum __Pyx_ImportType_CheckSize_3_1_1 {
2439
- __Pyx_ImportType_CheckSize_Error_3_1_1 = 0,
2440
- __Pyx_ImportType_CheckSize_Warn_3_1_1 = 1,
2441
- __Pyx_ImportType_CheckSize_Ignore_3_1_1 = 2
2451
+ enum __Pyx_ImportType_CheckSize_3_1_4 {
2452
+ __Pyx_ImportType_CheckSize_Error_3_1_4 = 0,
2453
+ __Pyx_ImportType_CheckSize_Warn_3_1_4 = 1,
2454
+ __Pyx_ImportType_CheckSize_Ignore_3_1_4 = 2
2442
2455
  };
2443
- static PyTypeObject *__Pyx_ImportType_3_1_1(PyObject* module, const char *module_name, const char *class_name, size_t size, size_t alignment, enum __Pyx_ImportType_CheckSize_3_1_1 check_size);
2456
+ static PyTypeObject *__Pyx_ImportType_3_1_4(PyObject* module, const char *module_name, const char *class_name, size_t size, size_t alignment, enum __Pyx_ImportType_CheckSize_3_1_4 check_size);
2444
2457
  #endif
2445
2458
 
2446
2459
  /* ListPack.proto */
@@ -2453,7 +2466,11 @@ static PyObject *__Pyx_FetchSharedCythonABIModule(void);
2453
2466
  static CYTHON_INLINE PyObject *__Pyx_PyDict_SetDefault(PyObject *d, PyObject *key, PyObject *default_value, int is_safe_type);
2454
2467
 
2455
2468
  /* FetchCommonType.proto */
2456
- static PyTypeObject* __Pyx_FetchCommonTypeFromSpec(PyObject *module, PyType_Spec *spec, PyObject *bases);
2469
+ static PyTypeObject* __Pyx_FetchCommonTypeFromSpec(PyTypeObject *metaclass, PyObject *module, PyType_Spec *spec, PyObject *bases);
2470
+
2471
+ /* CommonTypesMetaclass.proto */
2472
+ static int __pyx_CommonTypesMetaclass_init(PyObject *module);
2473
+ #define __Pyx_CommonTypesMetaclass_USED
2457
2474
 
2458
2475
  /* PyMethodNew.proto */
2459
2476
  static PyObject *__Pyx_PyMethod_New(PyObject *func, PyObject *self, PyObject *typ);
@@ -2846,8 +2863,8 @@ static PyThread_type_lock __pyx_memoryview_thread_locks[8];
2846
2863
  static PyObject *__pyx_f_9cchecksum_9_checksum_to_checksum_address(PyObject *, int __pyx_skip_dispatch); /*proto*/
2847
2864
  static PyObject *__pyx_f_9cchecksum_9_checksum_hexlify(__Pyx_memviewslice, int __pyx_skip_dispatch); /*proto*/
2848
2865
  static __Pyx_memviewslice __pyx_f_9cchecksum_9_checksum_hexlify_unsafe(__Pyx_memviewslice, Py_ssize_t); /*proto*/
2849
- static CYTHON_INLINE void __pyx_f_9cchecksum_9_checksum_hexlify_memview_to_buffer_unsafe(__Pyx_memviewslice, __Pyx_memviewslice, Py_ssize_t); /*proto*/
2850
- static CYTHON_INLINE void __pyx_f_9cchecksum_9_checksum_hexlify_c_string_to_buffer_unsafe(unsigned char const *, __Pyx_memviewslice, Py_ssize_t); /*proto*/
2866
+ static CYTHON_INLINE void __pyx_f_9cchecksum_9_checksum_hexlify_memview_to_buffer(__Pyx_memviewslice, __Pyx_memviewslice, Py_ssize_t); /*proto*/
2867
+ static CYTHON_INLINE void __pyx_f_9cchecksum_9_checksum_hexlify_c_string_to_buffer(unsigned char const *, __Pyx_memviewslice, Py_ssize_t); /*proto*/
2851
2868
  static void __pyx_f_9cchecksum_9_checksum_populate_result_buffer(char *, unsigned char const *, __Pyx_memviewslice); /*proto*/
2852
2869
  static CYTHON_INLINE unsigned char __pyx_f_9cchecksum_9_checksum_get_char(unsigned char); /*proto*/
2853
2870
  static unsigned char *__pyx_f_9cchecksum_9_checksum_lowercase_ascii_and_validate(PyObject *); /*proto*/
@@ -3032,9 +3049,9 @@ static const char __pyx_k_itemsize_0_for_cython_array[] = "itemsize <= 0 for cyt
3032
3049
  static const char __pyx_k_to_checksum_address_line_21[] = "to_checksum_address (line 21)";
3033
3050
  static const char __pyx_k_attempted_to_normalize_to_0x[] = ", attempted to normalize to '0x";
3034
3051
  static const char __pyx_k_unable_to_allocate_array_data[] = "unable to allocate array data.";
3035
- static const char __pyx_k_1A_z_8_9RRSSZZdde_a_1HG1_G1F_a[] = "\320\000)\250\021\360>\000\005)\250\t\260\021\260!\360\010\000\005#\240&\250\002\250)\2601\260A\340\004\007\200z\220\021\220'\230\021\330\010\034\320\0348\270\001\3209R\320RS\320SZ\320Zd\320de\330\010\036\230a\340\t\023\2201\220H\230G\2401\330\010\034\230G\2401\240F\250&\260\001\330\010\036\230a\330\010\024\320\024$\240A\240Q\340\r\016\330\014\020\220\005\220U\230!\2301\330\020\024\320\024'\240q\250\001\340\020\023\2202\220S\230\001\340\025\027\220s\230!\340\025\027\220s\230!\340\025\027\220s\230!\340\025\027\220s\230!\340\025\027\220s\230!\340\025\027\220s\230!\340\025\027\220s\230!\340\025\027\220s\230!\340\025\027\220s\230!\340\025\027\220s\230!\340\025\027\220s\230!\340\025\027\220s\230!\340\025\027\220s\230!\340\025\027\220s\230!\340\025\027\220s\230!\360\006\000\025\033\230*\240A\330\030\032\320\032-\250T\260\021\3202Y\320Yj\320jq\320qr\360\010\000\t\017\210i\220q\330\014\016\320\016%\240T\250\021\250$\250a\250q\360\006\000\005\010\320\007\027\220q\320\030+\2503\250a\330\010\016\210j\230\001\330\014\016\320\016!\240\024\240Q\320&M\320M^\320^e\320ef\360\006\000\005\024\220<\230q\240\001\330\004/\250q\340\t\n\330\010)\250\021\320*:\270-\300q\330\010\036\230a\230\320.C\3001\360\006\000\005\014\210=\230\002\230#\230W\240A\240Q";
3052
+ static const char __pyx_k_1A_z_8_9RRSSZZdde_a_1HG1_G1F_a[] = "\320\000)\250\021\360>\000\005)\250\t\260\021\260!\360\010\000\005#\240&\250\002\250)\2601\260A\340\004\007\200z\220\021\220'\230\021\330\010\034\320\0348\270\001\3209R\320RS\320SZ\320Zd\320de\330\010\036\230a\340\t\023\2201\220H\230G\2401\330\010\034\230G\2401\240F\250&\260\001\330\010\036\230a\330\010\024\320\024$\240A\240Q\340\r\016\330\014\020\220\005\220U\230!\2301\330\020\024\320\024'\240q\250\001\340\020\023\2202\220S\230\001\340\025\027\220s\230!\340\025\027\220s\230!\340\025\027\220s\230!\340\025\027\220s\230!\340\025\027\220s\230!\340\025\027\220s\230!\340\025\027\220s\230!\340\025\027\220s\230!\340\025\027\220s\230!\340\025\027\220s\230!\340\025\027\220s\230!\340\025\027\220s\230!\340\025\027\220s\230!\340\025\027\220s\230!\340\025\027\220s\230!\360\006\000\025\033\230*\240A\330\030\032\320\032-\250T\260\021\3202Y\320Yj\320jq\320qr\360\010\000\t\017\210i\220q\330\014\016\320\016%\240T\250\021\250$\250a\250q\360\006\000\005\010\320\007\027\220q\320\030+\2503\250a\330\010\016\210j\230\001\330\014\016\320\016!\240\024\240Q\320&M\320M^\320^e\320ef\360\006\000\005\024\220<\230q\240\001\330\004/\250q\340\t\n\330\010\"\240!\320#3\260=\300\001\330\010\036\230a\230\177\320.C\3001\360\006\000\005\014\210=\230\002\230#\230W\240A\240Q";
3036
3053
  static const char __pyx_k_strided_and_direct_or_indirect[] = "<strided and direct or indirect>";
3037
- static const char __pyx_k_Convert_an_address_to_its_EIP_5[] = "\n Convert an address to its EIP-55 checksum format.\n\n This function takes an address in any supported format and returns it in the\n checksummed format as defined by EIP-55. It uses a custom Cython implementation\n for the checksum conversion to optimize performance.\n\n Args:\n value: The address to be converted. It can be in any format supported by\n :func:`eth_utils.to_normalized_address`.\n\n Raises:\n ValueError: If the input address is not in a recognized format.\n TypeError: If the input is not a string, bytes, or any address type.\n\n Examples:\n >>> to_checksum_address(\"0xb47e3cd837ddf8e4c57f05d70ab865de6e193bbb\")\n '0xb47e3cd837dDF8e4c57F05d70Ab865de6e193BBB'\n\n >>> to_checksum_address(b'\302\264~<\303\2307\303\235\303\270\303\244\303\205\005\303\227\n\302\270e\303\236n\031;\302\273')\n '0xb47e3cd837dDF8e4c57F05d70Ab865de6e193BBB'\n\n See Also:\n - :func:`eth_utils.to_checksum_address` for the standard implementation.\n - :func:`to_normalized_address` for converting to a normalized address before checksumming.\n ";
3054
+ static const char __pyx_k_Convert_an_address_to_its_EIP_5[] = "\n Convert an address to its EIP-55 checksum format.\n\n This function takes an address in any supported format and returns it in the\n checksummed format as defined by EIP-55. It uses a custom Cython implementation\n for the checksum conversion to optimize performance.\n\n Args:\n value: The address to be converted. It can be in any format supported by\n :func:`eth_utils.to_normalized_address`.\n\n Raises:\n ValueError: If the input address is not in a recognized format.\n TypeError: If the input is not a string, bytes, or any address type.\n\n Examples:\n >>> to_checksum_address(\"0xb47e3cd837ddf8e4c57f05d70ab865de6e193bbb\")\n '0xb47e3cd837dDF8e4c57F05d70Ab865de6e193BBB'\n\n >>> to_checksum_address(b'\302\264~<\303\2307\303\235\303\270\303\244\303\205\177\005\303\227\n\302\270e\303\236n\031;\302\273')\n '0xb47e3cd837dDF8e4c57F05d70Ab865de6e193BBB'\n\n See Also:\n - :func:`eth_utils.to_checksum_address` for the standard implementation.\n - :func:`to_normalized_address` for converting to a normalized address before checksumming.\n ";
3038
3055
  static const char __pyx_k_Must_be_one_of_bool_str_bytes_b[] = "'. Must be one of: bool, str, bytes, bytearray or int.";
3039
3056
  static const char __pyx_k_when_sending_a_str_it_must_be_a[] = "when sending a str, it must be a hex string. Got: ";
3040
3057
  static const char __pyx_k_All_dimensions_preceding_dimensi[] = "All dimensions preceding dimension %d must be indexed and not sliced";
@@ -3162,6 +3179,9 @@ typedef struct {
3162
3179
  PyObject *__pyx_int_184977713;
3163
3180
  PyObject *__pyx_int_neg_1;
3164
3181
  /* #### Code section: module_state_contents ### */
3182
+ /* CommonTypesMetaclass.module_state_decls */
3183
+ PyTypeObject *__pyx_CommonTypesMetaclassType;
3184
+
3165
3185
  /* CachedMethodType.module_state_decls */
3166
3186
  #if CYTHON_COMPILING_IN_LIMITED_API
3167
3187
  PyObject *__Pyx_CachedMethodType;
@@ -8386,7 +8406,7 @@ static PyObject *__pyx_memoryview_convert_item_to_object(struct __pyx_memoryview
8386
8406
  *
8387
8407
  */
8388
8408
  __Pyx_XDECREF(__pyx_r);
8389
- __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_result, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 502, __pyx_L5_except_error)
8409
+ __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_result, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 502, __pyx_L5_except_error)
8390
8410
  __Pyx_GOTREF(__pyx_t_1);
8391
8411
  __pyx_r = __pyx_t_1;
8392
8412
  __pyx_t_1 = 0;
@@ -11233,7 +11253,7 @@ static PyObject *_unellipsify(PyObject *__pyx_v_index, int __pyx_v_ndim) {
11233
11253
  * idx += 1
11234
11254
  *
11235
11255
  */
11236
- if (unlikely((__Pyx_SetItemInt(__pyx_v_result, __pyx_v_idx, __pyx_v_item, Py_ssize_t, 1, PyLong_FromSsize_t, 1, 1, 1) < 0))) __PYX_ERR(1, 694, __pyx_L1_error)
11256
+ if (unlikely((__Pyx_SetItemInt(__pyx_v_result, __pyx_v_idx, __pyx_v_item, Py_ssize_t, 1, PyLong_FromSsize_t, 1, 1, 1, 1) < 0))) __PYX_ERR(1, 694, __pyx_L1_error)
11237
11257
  }
11238
11258
  __pyx_L5:;
11239
11259
 
@@ -17034,7 +17054,7 @@ static PyObject *__pyx_unpickle_Enum__set_state(struct __pyx_MemviewEnum_obj *__
17034
17054
  PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
17035
17055
  __PYX_ERR(1, 12, __pyx_L1_error)
17036
17056
  }
17037
- __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
17057
+ __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
17038
17058
  __Pyx_GOTREF(__pyx_t_1);
17039
17059
  __Pyx_GIVEREF(__pyx_t_1);
17040
17060
  __Pyx_GOTREF(__pyx_v___pyx_result->name);
@@ -17077,7 +17097,7 @@ static PyObject *__pyx_unpickle_Enum__set_state(struct __pyx_MemviewEnum_obj *__
17077
17097
  PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
17078
17098
  __PYX_ERR(1, 14, __pyx_L1_error)
17079
17099
  }
17080
- __pyx_t_7 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 1, long, 1, __Pyx_PyLong_From_long, 0, 0, 1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 14, __pyx_L1_error)
17100
+ __pyx_t_7 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 1, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 14, __pyx_L1_error)
17081
17101
  __Pyx_GOTREF(__pyx_t_7);
17082
17102
  __pyx_t_8 = 0;
17083
17103
  {
@@ -17804,7 +17824,7 @@ static PyObject *__pyx_f_9cchecksum_9_checksum_to_checksum_address(PyObject *__p
17804
17824
  * cdef const unsigned char* hashed_bytestr = hashed_bytes
17805
17825
  *
17806
17826
  * with nogil: # <<<<<<<<<<<<<<
17807
- * hexlify_c_string_to_buffer_unsafe(hashed_bytestr, hash_buffer, 40)
17827
+ * hexlify_c_string_to_buffer(hashed_bytestr, hash_buffer, 40)
17808
17828
  * populate_result_buffer(result_buffer, hex_address_bytestr, hash_buffer)
17809
17829
  */
17810
17830
  {
@@ -17817,15 +17837,15 @@ static PyObject *__pyx_f_9cchecksum_9_checksum_to_checksum_address(PyObject *__p
17817
17837
  /* "cchecksum/_checksum.pyx":122
17818
17838
  *
17819
17839
  * with nogil:
17820
- * hexlify_c_string_to_buffer_unsafe(hashed_bytestr, hash_buffer, 40) # <<<<<<<<<<<<<<
17840
+ * hexlify_c_string_to_buffer(hashed_bytestr, hash_buffer, 40) # <<<<<<<<<<<<<<
17821
17841
  * populate_result_buffer(result_buffer, hex_address_bytestr, hash_buffer)
17822
17842
  *
17823
17843
  */
17824
- __pyx_f_9cchecksum_9_checksum_hexlify_c_string_to_buffer_unsafe(__pyx_v_hashed_bytestr, __pyx_v_hash_buffer, 40);
17844
+ __pyx_f_9cchecksum_9_checksum_hexlify_c_string_to_buffer(__pyx_v_hashed_bytestr, __pyx_v_hash_buffer, 40);
17825
17845
 
17826
17846
  /* "cchecksum/_checksum.pyx":123
17827
17847
  * with nogil:
17828
- * hexlify_c_string_to_buffer_unsafe(hashed_bytestr, hash_buffer, 40)
17848
+ * hexlify_c_string_to_buffer(hashed_bytestr, hash_buffer, 40)
17829
17849
  * populate_result_buffer(result_buffer, hex_address_bytestr, hash_buffer) # <<<<<<<<<<<<<<
17830
17850
  *
17831
17851
  * # It is faster to decode a buffer with a known size ie buffer[:42]
@@ -17837,7 +17857,7 @@ static PyObject *__pyx_f_9cchecksum_9_checksum_to_checksum_address(PyObject *__p
17837
17857
  * cdef const unsigned char* hashed_bytestr = hashed_bytes
17838
17858
  *
17839
17859
  * with nogil: # <<<<<<<<<<<<<<
17840
- * hexlify_c_string_to_buffer_unsafe(hashed_bytestr, hash_buffer, 40)
17860
+ * hexlify_c_string_to_buffer(hashed_bytestr, hash_buffer, 40)
17841
17861
  * populate_result_buffer(result_buffer, hex_address_bytestr, hash_buffer)
17842
17862
  */
17843
17863
  /*finally:*/ {
@@ -17901,7 +17921,7 @@ PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
17901
17921
  PyObject *__pyx_args, PyObject *__pyx_kwds
17902
17922
  #endif
17903
17923
  ); /*proto*/
17904
- PyDoc_STRVAR(__pyx_doc_9cchecksum_9_checksum_to_checksum_address, "to_checksum_address(value: Union[AnyAddress, str, bytes]) -> str\n Convert an address to its EIP-55 checksum format.\n\n This function takes an address in any supported format and returns it in the\n checksummed format as defined by EIP-55. It uses a custom Cython implementation\n for the checksum conversion to optimize performance.\n\n Args:\n value: The address to be converted. It can be in any format supported by\n :func:`eth_utils.to_normalized_address`.\n\n Raises:\n ValueError: If the input address is not in a recognized format.\n TypeError: If the input is not a string, bytes, or any address type.\n\n Examples:\n >>> to_checksum_address(\"0xb47e3cd837ddf8e4c57f05d70ab865de6e193bbb\")\n '0xb47e3cd837dDF8e4c57F05d70Ab865de6e193BBB'\n\n >>> to_checksum_address(b'\302\264~<\303\2307\303\235\303\270\303\244\303\205\005\303\227\n\302\270e\303\236n\031;\302\273')\n '0xb47e3cd837dDF8e4c57F05d70Ab865de6e193BBB'\n\n See Also:\n - :func:`eth_utils.to_checksum_address` for the standard implementation.\n - :func:`to_normalized_address` for converting to a normalized address before checksumming.\n ");
17924
+ PyDoc_STRVAR(__pyx_doc_9cchecksum_9_checksum_to_checksum_address, "to_checksum_address(value: Union[AnyAddress, str, bytes]) -> str\n\n Convert an address to its EIP-55 checksum format.\n\n This function takes an address in any supported format and returns it in the\n checksummed format as defined by EIP-55. It uses a custom Cython implementation\n for the checksum conversion to optimize performance.\n\n Args:\n value: The address to be converted. It can be in any format supported by\n :func:`eth_utils.to_normalized_address`.\n\n Raises:\n ValueError: If the input address is not in a recognized format.\n TypeError: If the input is not a string, bytes, or any address type.\n\n Examples:\n >>> to_checksum_address(\"0xb47e3cd837ddf8e4c57f05d70ab865de6e193bbb\")\n '0xb47e3cd837dDF8e4c57F05d70Ab865de6e193BBB'\n\n >>> to_checksum_address(b'\302\264~<\303\2307\303\235\303\270\303\244\303\205\177\005\303\227\n\302\270e\303\236n\031;\302\273')\n '0xb47e3cd837dDF8e4c57F05d70Ab865de6e193BBB'\n\n See Also:\n - :func:`eth_utils.to_checksum_address` for the standard implementation.\n - :func:`to_normalized_address` for converting to a normalized address before checksumming.\n ");
17905
17925
  static PyMethodDef __pyx_mdef_9cchecksum_9_checksum_1to_checksum_address = {"to_checksum_address", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9cchecksum_9_checksum_1to_checksum_address, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9cchecksum_9_checksum_to_checksum_address};
17906
17926
  static PyObject *__pyx_pw_9cchecksum_9_checksum_1to_checksum_address(PyObject *__pyx_self,
17907
17927
  #if CYTHON_METH_FASTCALL
@@ -18232,7 +18252,7 @@ static __Pyx_memviewslice __pyx_f_9cchecksum_9_checksum_hexlify_unsafe(__Pyx_mem
18232
18252
  * """Make sure your `num_bytes` is correct or ting go boom"""
18233
18253
  * cdef unsigned char[:] result_buffer = bytearray(num_bytes * 2) # contiguous and writeable # <<<<<<<<<<<<<<
18234
18254
  * with nogil:
18235
- * hexlify_memview_to_buffer_unsafe(src_buffer, result_buffer, num_bytes)
18255
+ * hexlify_memview_to_buffer(src_buffer, result_buffer, num_bytes)
18236
18256
  */
18237
18257
  __pyx_t_2 = NULL;
18238
18258
  __Pyx_INCREF((PyObject *)(&PyByteArray_Type));
@@ -18259,7 +18279,7 @@ static __Pyx_memviewslice __pyx_f_9cchecksum_9_checksum_hexlify_unsafe(__Pyx_mem
18259
18279
  * """Make sure your `num_bytes` is correct or ting go boom"""
18260
18280
  * cdef unsigned char[:] result_buffer = bytearray(num_bytes * 2) # contiguous and writeable
18261
18281
  * with nogil: # <<<<<<<<<<<<<<
18262
- * hexlify_memview_to_buffer_unsafe(src_buffer, result_buffer, num_bytes)
18282
+ * hexlify_memview_to_buffer(src_buffer, result_buffer, num_bytes)
18263
18283
  * return result_buffer
18264
18284
  */
18265
18285
  {
@@ -18272,18 +18292,18 @@ static __Pyx_memviewslice __pyx_f_9cchecksum_9_checksum_hexlify_unsafe(__Pyx_mem
18272
18292
  /* "cchecksum/_checksum.pyx":137
18273
18293
  * cdef unsigned char[:] result_buffer = bytearray(num_bytes * 2) # contiguous and writeable
18274
18294
  * with nogil:
18275
- * hexlify_memview_to_buffer_unsafe(src_buffer, result_buffer, num_bytes) # <<<<<<<<<<<<<<
18295
+ * hexlify_memview_to_buffer(src_buffer, result_buffer, num_bytes) # <<<<<<<<<<<<<<
18276
18296
  * return result_buffer
18277
18297
  *
18278
18298
  */
18279
- __pyx_f_9cchecksum_9_checksum_hexlify_memview_to_buffer_unsafe(__pyx_v_src_buffer, __pyx_v_result_buffer, __pyx_v_num_bytes);
18299
+ __pyx_f_9cchecksum_9_checksum_hexlify_memview_to_buffer(__pyx_v_src_buffer, __pyx_v_result_buffer, __pyx_v_num_bytes);
18280
18300
  }
18281
18301
 
18282
18302
  /* "cchecksum/_checksum.pyx":136
18283
18303
  * """Make sure your `num_bytes` is correct or ting go boom"""
18284
18304
  * cdef unsigned char[:] result_buffer = bytearray(num_bytes * 2) # contiguous and writeable
18285
18305
  * with nogil: # <<<<<<<<<<<<<<
18286
- * hexlify_memview_to_buffer_unsafe(src_buffer, result_buffer, num_bytes)
18306
+ * hexlify_memview_to_buffer(src_buffer, result_buffer, num_bytes)
18287
18307
  * return result_buffer
18288
18308
  */
18289
18309
  /*finally:*/ {
@@ -18298,7 +18318,7 @@ static __Pyx_memviewslice __pyx_f_9cchecksum_9_checksum_hexlify_unsafe(__Pyx_mem
18298
18318
 
18299
18319
  /* "cchecksum/_checksum.pyx":138
18300
18320
  * with nogil:
18301
- * hexlify_memview_to_buffer_unsafe(src_buffer, result_buffer, num_bytes)
18321
+ * hexlify_memview_to_buffer(src_buffer, result_buffer, num_bytes)
18302
18322
  * return result_buffer # <<<<<<<<<<<<<<
18303
18323
  *
18304
18324
  *
@@ -18476,145 +18496,6 @@ static CYTHON_INLINE void __pyx_f_9cchecksum_9_checksum_hexlify_c_string_to_buff
18476
18496
  }
18477
18497
 
18478
18498
  /* "cchecksum/_checksum.pyx":167
18479
- *
18480
- *
18481
- * cdef inline void hexlify_memview_to_buffer_unsafe( # <<<<<<<<<<<<<<
18482
- * const unsigned char[:] src_buffer,
18483
- * unsigned char[:] result_buffer,
18484
- */
18485
-
18486
- static CYTHON_INLINE void __pyx_f_9cchecksum_9_checksum_hexlify_memview_to_buffer_unsafe(__Pyx_memviewslice __pyx_v_src_buffer, __Pyx_memviewslice __pyx_v_result_buffer, Py_ssize_t __pyx_v_num_bytes) {
18487
- Py_ssize_t __pyx_v_i;
18488
- unsigned char __pyx_v_c;
18489
- Py_ssize_t __pyx_t_1;
18490
- Py_ssize_t __pyx_t_2;
18491
- Py_ssize_t __pyx_t_3;
18492
- Py_ssize_t __pyx_t_4;
18493
-
18494
- /* "cchecksum/_checksum.pyx":174
18495
- * cdef Py_ssize_t i
18496
- * cdef unsigned char c
18497
- * for i in range(num_bytes): # <<<<<<<<<<<<<<
18498
- * c = src_buffer[i]
18499
- * result_buffer[2*i] = hexdigits[c >> 4]
18500
- */
18501
- __pyx_t_1 = __pyx_v_num_bytes;
18502
- __pyx_t_2 = __pyx_t_1;
18503
- for (__pyx_t_3 = 0; __pyx_t_3 < __pyx_t_2; __pyx_t_3+=1) {
18504
- __pyx_v_i = __pyx_t_3;
18505
-
18506
- /* "cchecksum/_checksum.pyx":175
18507
- * cdef unsigned char c
18508
- * for i in range(num_bytes):
18509
- * c = src_buffer[i] # <<<<<<<<<<<<<<
18510
- * result_buffer[2*i] = hexdigits[c >> 4]
18511
- * result_buffer[2*i+1] = hexdigits[c & 0x0F]
18512
- */
18513
- __pyx_t_4 = __pyx_v_i;
18514
- __pyx_v_c = (*((unsigned char const *) ( /* dim=0 */ (__pyx_v_src_buffer.data + __pyx_t_4 * __pyx_v_src_buffer.strides[0]) )));
18515
-
18516
- /* "cchecksum/_checksum.pyx":176
18517
- * for i in range(num_bytes):
18518
- * c = src_buffer[i]
18519
- * result_buffer[2*i] = hexdigits[c >> 4] # <<<<<<<<<<<<<<
18520
- * result_buffer[2*i+1] = hexdigits[c & 0x0F]
18521
- *
18522
- */
18523
- __pyx_t_4 = (2 * __pyx_v_i);
18524
- *((unsigned char *) ( /* dim=0 */ (__pyx_v_result_buffer.data + __pyx_t_4 * __pyx_v_result_buffer.strides[0]) )) = (__pyx_v_9cchecksum_9_checksum_hexdigits[(__pyx_v_c >> 4)]);
18525
-
18526
- /* "cchecksum/_checksum.pyx":177
18527
- * c = src_buffer[i]
18528
- * result_buffer[2*i] = hexdigits[c >> 4]
18529
- * result_buffer[2*i+1] = hexdigits[c & 0x0F] # <<<<<<<<<<<<<<
18530
- *
18531
- *
18532
- */
18533
- __pyx_t_4 = ((2 * __pyx_v_i) + 1);
18534
- *((unsigned char *) ( /* dim=0 */ (__pyx_v_result_buffer.data + __pyx_t_4 * __pyx_v_result_buffer.strides[0]) )) = (__pyx_v_9cchecksum_9_checksum_hexdigits[(__pyx_v_c & 0x0F)]);
18535
- }
18536
-
18537
- /* "cchecksum/_checksum.pyx":167
18538
- *
18539
- *
18540
- * cdef inline void hexlify_memview_to_buffer_unsafe( # <<<<<<<<<<<<<<
18541
- * const unsigned char[:] src_buffer,
18542
- * unsigned char[:] result_buffer,
18543
- */
18544
-
18545
- /* function exit code */
18546
- }
18547
-
18548
- /* "cchecksum/_checksum.pyx":180
18549
- *
18550
- *
18551
- * cdef inline void hexlify_c_string_to_buffer_unsafe( # <<<<<<<<<<<<<<
18552
- * const unsigned char* src_buffer,
18553
- * unsigned char[:] result_buffer,
18554
- */
18555
-
18556
- static CYTHON_INLINE void __pyx_f_9cchecksum_9_checksum_hexlify_c_string_to_buffer_unsafe(unsigned char const *__pyx_v_src_buffer, __Pyx_memviewslice __pyx_v_result_buffer, Py_ssize_t __pyx_v_num_bytes) {
18557
- Py_ssize_t __pyx_v_i;
18558
- unsigned char __pyx_v_c;
18559
- Py_ssize_t __pyx_t_1;
18560
- Py_ssize_t __pyx_t_2;
18561
- Py_ssize_t __pyx_t_3;
18562
- Py_ssize_t __pyx_t_4;
18563
-
18564
- /* "cchecksum/_checksum.pyx":187
18565
- * cdef Py_ssize_t i
18566
- * cdef unsigned char c
18567
- * for i in range(num_bytes): # <<<<<<<<<<<<<<
18568
- * c = src_buffer[i]
18569
- * result_buffer[2*i] = hexdigits[c >> 4]
18570
- */
18571
- __pyx_t_1 = __pyx_v_num_bytes;
18572
- __pyx_t_2 = __pyx_t_1;
18573
- for (__pyx_t_3 = 0; __pyx_t_3 < __pyx_t_2; __pyx_t_3+=1) {
18574
- __pyx_v_i = __pyx_t_3;
18575
-
18576
- /* "cchecksum/_checksum.pyx":188
18577
- * cdef unsigned char c
18578
- * for i in range(num_bytes):
18579
- * c = src_buffer[i] # <<<<<<<<<<<<<<
18580
- * result_buffer[2*i] = hexdigits[c >> 4]
18581
- * result_buffer[2*i+1] = hexdigits[c & 0x0F]
18582
- */
18583
- __pyx_v_c = (__pyx_v_src_buffer[__pyx_v_i]);
18584
-
18585
- /* "cchecksum/_checksum.pyx":189
18586
- * for i in range(num_bytes):
18587
- * c = src_buffer[i]
18588
- * result_buffer[2*i] = hexdigits[c >> 4] # <<<<<<<<<<<<<<
18589
- * result_buffer[2*i+1] = hexdigits[c & 0x0F]
18590
- *
18591
- */
18592
- __pyx_t_4 = (2 * __pyx_v_i);
18593
- *((unsigned char *) ( /* dim=0 */ (__pyx_v_result_buffer.data + __pyx_t_4 * __pyx_v_result_buffer.strides[0]) )) = (__pyx_v_9cchecksum_9_checksum_hexdigits[(__pyx_v_c >> 4)]);
18594
-
18595
- /* "cchecksum/_checksum.pyx":190
18596
- * c = src_buffer[i]
18597
- * result_buffer[2*i] = hexdigits[c >> 4]
18598
- * result_buffer[2*i+1] = hexdigits[c & 0x0F] # <<<<<<<<<<<<<<
18599
- *
18600
- *
18601
- */
18602
- __pyx_t_4 = ((2 * __pyx_v_i) + 1);
18603
- *((unsigned char *) ( /* dim=0 */ (__pyx_v_result_buffer.data + __pyx_t_4 * __pyx_v_result_buffer.strides[0]) )) = (__pyx_v_9cchecksum_9_checksum_hexdigits[(__pyx_v_c & 0x0F)]);
18604
- }
18605
-
18606
- /* "cchecksum/_checksum.pyx":180
18607
- *
18608
- *
18609
- * cdef inline void hexlify_c_string_to_buffer_unsafe( # <<<<<<<<<<<<<<
18610
- * const unsigned char* src_buffer,
18611
- * unsigned char[:] result_buffer,
18612
- */
18613
-
18614
- /* function exit code */
18615
- }
18616
-
18617
- /* "cchecksum/_checksum.pyx":193
18618
18499
  *
18619
18500
  *
18620
18501
  * cdef void populate_result_buffer( # <<<<<<<<<<<<<<
@@ -18626,7 +18507,7 @@ static void __pyx_f_9cchecksum_9_checksum_populate_result_buffer(char *__pyx_v_b
18626
18507
  Py_ssize_t __pyx_t_1;
18627
18508
  int __pyx_t_2;
18628
18509
 
18629
- /* "cchecksum/_checksum.pyx":218
18510
+ /* "cchecksum/_checksum.pyx":192
18630
18511
  * # `if address_hash_hex_no_0x[x] < 56`
18631
18512
  * # '0' to '7' have ASCII values 48 to 55
18632
18513
  * if address_hash_hex_no_0x[0] < 56: # <<<<<<<<<<<<<<
@@ -18637,7 +18518,7 @@ static void __pyx_f_9cchecksum_9_checksum_populate_result_buffer(char *__pyx_v_b
18637
18518
  __pyx_t_2 = ((*((unsigned char const *) ( /* dim=0 */ (__pyx_v_address_hash_hex_no_0x.data + __pyx_t_1 * __pyx_v_address_hash_hex_no_0x.strides[0]) ))) < 56);
18638
18519
  if (__pyx_t_2) {
18639
18520
 
18640
- /* "cchecksum/_checksum.pyx":219
18521
+ /* "cchecksum/_checksum.pyx":193
18641
18522
  * # '0' to '7' have ASCII values 48 to 55
18642
18523
  * if address_hash_hex_no_0x[0] < 56:
18643
18524
  * buffer[2] = norm_address_no_0x[0] # <<<<<<<<<<<<<<
@@ -18646,7 +18527,7 @@ static void __pyx_f_9cchecksum_9_checksum_populate_result_buffer(char *__pyx_v_b
18646
18527
  */
18647
18528
  (__pyx_v_buffer[2]) = (__pyx_v_norm_address_no_0x[0]);
18648
18529
 
18649
- /* "cchecksum/_checksum.pyx":218
18530
+ /* "cchecksum/_checksum.pyx":192
18650
18531
  * # `if address_hash_hex_no_0x[x] < 56`
18651
18532
  * # '0' to '7' have ASCII values 48 to 55
18652
18533
  * if address_hash_hex_no_0x[0] < 56: # <<<<<<<<<<<<<<
@@ -18656,7 +18537,7 @@ static void __pyx_f_9cchecksum_9_checksum_populate_result_buffer(char *__pyx_v_b
18656
18537
  goto __pyx_L3;
18657
18538
  }
18658
18539
 
18659
- /* "cchecksum/_checksum.pyx":221
18540
+ /* "cchecksum/_checksum.pyx":195
18660
18541
  * buffer[2] = norm_address_no_0x[0]
18661
18542
  * else:
18662
18543
  * buffer[2] = get_char(norm_address_no_0x[0]) # <<<<<<<<<<<<<<
@@ -18668,7 +18549,7 @@ static void __pyx_f_9cchecksum_9_checksum_populate_result_buffer(char *__pyx_v_b
18668
18549
  }
18669
18550
  __pyx_L3:;
18670
18551
 
18671
- /* "cchecksum/_checksum.pyx":222
18552
+ /* "cchecksum/_checksum.pyx":196
18672
18553
  * else:
18673
18554
  * buffer[2] = get_char(norm_address_no_0x[0])
18674
18555
  * if address_hash_hex_no_0x[1] < 56: # <<<<<<<<<<<<<<
@@ -18679,7 +18560,7 @@ static void __pyx_f_9cchecksum_9_checksum_populate_result_buffer(char *__pyx_v_b
18679
18560
  __pyx_t_2 = ((*((unsigned char const *) ( /* dim=0 */ (__pyx_v_address_hash_hex_no_0x.data + __pyx_t_1 * __pyx_v_address_hash_hex_no_0x.strides[0]) ))) < 56);
18680
18561
  if (__pyx_t_2) {
18681
18562
 
18682
- /* "cchecksum/_checksum.pyx":223
18563
+ /* "cchecksum/_checksum.pyx":197
18683
18564
  * buffer[2] = get_char(norm_address_no_0x[0])
18684
18565
  * if address_hash_hex_no_0x[1] < 56:
18685
18566
  * buffer[3] = norm_address_no_0x[1] # <<<<<<<<<<<<<<
@@ -18688,7 +18569,7 @@ static void __pyx_f_9cchecksum_9_checksum_populate_result_buffer(char *__pyx_v_b
18688
18569
  */
18689
18570
  (__pyx_v_buffer[3]) = (__pyx_v_norm_address_no_0x[1]);
18690
18571
 
18691
- /* "cchecksum/_checksum.pyx":222
18572
+ /* "cchecksum/_checksum.pyx":196
18692
18573
  * else:
18693
18574
  * buffer[2] = get_char(norm_address_no_0x[0])
18694
18575
  * if address_hash_hex_no_0x[1] < 56: # <<<<<<<<<<<<<<
@@ -18698,7 +18579,7 @@ static void __pyx_f_9cchecksum_9_checksum_populate_result_buffer(char *__pyx_v_b
18698
18579
  goto __pyx_L4;
18699
18580
  }
18700
18581
 
18701
- /* "cchecksum/_checksum.pyx":225
18582
+ /* "cchecksum/_checksum.pyx":199
18702
18583
  * buffer[3] = norm_address_no_0x[1]
18703
18584
  * else:
18704
18585
  * buffer[3] = get_char(norm_address_no_0x[1]) # <<<<<<<<<<<<<<
@@ -18710,7 +18591,7 @@ static void __pyx_f_9cchecksum_9_checksum_populate_result_buffer(char *__pyx_v_b
18710
18591
  }
18711
18592
  __pyx_L4:;
18712
18593
 
18713
- /* "cchecksum/_checksum.pyx":226
18594
+ /* "cchecksum/_checksum.pyx":200
18714
18595
  * else:
18715
18596
  * buffer[3] = get_char(norm_address_no_0x[1])
18716
18597
  * if address_hash_hex_no_0x[2] < 56: # <<<<<<<<<<<<<<
@@ -18721,7 +18602,7 @@ static void __pyx_f_9cchecksum_9_checksum_populate_result_buffer(char *__pyx_v_b
18721
18602
  __pyx_t_2 = ((*((unsigned char const *) ( /* dim=0 */ (__pyx_v_address_hash_hex_no_0x.data + __pyx_t_1 * __pyx_v_address_hash_hex_no_0x.strides[0]) ))) < 56);
18722
18603
  if (__pyx_t_2) {
18723
18604
 
18724
- /* "cchecksum/_checksum.pyx":227
18605
+ /* "cchecksum/_checksum.pyx":201
18725
18606
  * buffer[3] = get_char(norm_address_no_0x[1])
18726
18607
  * if address_hash_hex_no_0x[2] < 56:
18727
18608
  * buffer[4] = norm_address_no_0x[2] # <<<<<<<<<<<<<<
@@ -18730,7 +18611,7 @@ static void __pyx_f_9cchecksum_9_checksum_populate_result_buffer(char *__pyx_v_b
18730
18611
  */
18731
18612
  (__pyx_v_buffer[4]) = (__pyx_v_norm_address_no_0x[2]);
18732
18613
 
18733
- /* "cchecksum/_checksum.pyx":226
18614
+ /* "cchecksum/_checksum.pyx":200
18734
18615
  * else:
18735
18616
  * buffer[3] = get_char(norm_address_no_0x[1])
18736
18617
  * if address_hash_hex_no_0x[2] < 56: # <<<<<<<<<<<<<<
@@ -18740,7 +18621,7 @@ static void __pyx_f_9cchecksum_9_checksum_populate_result_buffer(char *__pyx_v_b
18740
18621
  goto __pyx_L5;
18741
18622
  }
18742
18623
 
18743
- /* "cchecksum/_checksum.pyx":229
18624
+ /* "cchecksum/_checksum.pyx":203
18744
18625
  * buffer[4] = norm_address_no_0x[2]
18745
18626
  * else:
18746
18627
  * buffer[4] = get_char(norm_address_no_0x[2]) # <<<<<<<<<<<<<<
@@ -18752,7 +18633,7 @@ static void __pyx_f_9cchecksum_9_checksum_populate_result_buffer(char *__pyx_v_b
18752
18633
  }
18753
18634
  __pyx_L5:;
18754
18635
 
18755
- /* "cchecksum/_checksum.pyx":230
18636
+ /* "cchecksum/_checksum.pyx":204
18756
18637
  * else:
18757
18638
  * buffer[4] = get_char(norm_address_no_0x[2])
18758
18639
  * if address_hash_hex_no_0x[3] < 56: # <<<<<<<<<<<<<<
@@ -18763,7 +18644,7 @@ static void __pyx_f_9cchecksum_9_checksum_populate_result_buffer(char *__pyx_v_b
18763
18644
  __pyx_t_2 = ((*((unsigned char const *) ( /* dim=0 */ (__pyx_v_address_hash_hex_no_0x.data + __pyx_t_1 * __pyx_v_address_hash_hex_no_0x.strides[0]) ))) < 56);
18764
18645
  if (__pyx_t_2) {
18765
18646
 
18766
- /* "cchecksum/_checksum.pyx":231
18647
+ /* "cchecksum/_checksum.pyx":205
18767
18648
  * buffer[4] = get_char(norm_address_no_0x[2])
18768
18649
  * if address_hash_hex_no_0x[3] < 56:
18769
18650
  * buffer[5] = norm_address_no_0x[3] # <<<<<<<<<<<<<<
@@ -18772,7 +18653,7 @@ static void __pyx_f_9cchecksum_9_checksum_populate_result_buffer(char *__pyx_v_b
18772
18653
  */
18773
18654
  (__pyx_v_buffer[5]) = (__pyx_v_norm_address_no_0x[3]);
18774
18655
 
18775
- /* "cchecksum/_checksum.pyx":230
18656
+ /* "cchecksum/_checksum.pyx":204
18776
18657
  * else:
18777
18658
  * buffer[4] = get_char(norm_address_no_0x[2])
18778
18659
  * if address_hash_hex_no_0x[3] < 56: # <<<<<<<<<<<<<<
@@ -18782,7 +18663,7 @@ static void __pyx_f_9cchecksum_9_checksum_populate_result_buffer(char *__pyx_v_b
18782
18663
  goto __pyx_L6;
18783
18664
  }
18784
18665
 
18785
- /* "cchecksum/_checksum.pyx":233
18666
+ /* "cchecksum/_checksum.pyx":207
18786
18667
  * buffer[5] = norm_address_no_0x[3]
18787
18668
  * else:
18788
18669
  * buffer[5] = get_char(norm_address_no_0x[3]) # <<<<<<<<<<<<<<
@@ -18794,7 +18675,7 @@ static void __pyx_f_9cchecksum_9_checksum_populate_result_buffer(char *__pyx_v_b
18794
18675
  }
18795
18676
  __pyx_L6:;
18796
18677
 
18797
- /* "cchecksum/_checksum.pyx":234
18678
+ /* "cchecksum/_checksum.pyx":208
18798
18679
  * else:
18799
18680
  * buffer[5] = get_char(norm_address_no_0x[3])
18800
18681
  * if address_hash_hex_no_0x[4] < 56: # <<<<<<<<<<<<<<
@@ -18805,7 +18686,7 @@ static void __pyx_f_9cchecksum_9_checksum_populate_result_buffer(char *__pyx_v_b
18805
18686
  __pyx_t_2 = ((*((unsigned char const *) ( /* dim=0 */ (__pyx_v_address_hash_hex_no_0x.data + __pyx_t_1 * __pyx_v_address_hash_hex_no_0x.strides[0]) ))) < 56);
18806
18687
  if (__pyx_t_2) {
18807
18688
 
18808
- /* "cchecksum/_checksum.pyx":235
18689
+ /* "cchecksum/_checksum.pyx":209
18809
18690
  * buffer[5] = get_char(norm_address_no_0x[3])
18810
18691
  * if address_hash_hex_no_0x[4] < 56:
18811
18692
  * buffer[6] = norm_address_no_0x[4] # <<<<<<<<<<<<<<
@@ -18814,7 +18695,7 @@ static void __pyx_f_9cchecksum_9_checksum_populate_result_buffer(char *__pyx_v_b
18814
18695
  */
18815
18696
  (__pyx_v_buffer[6]) = (__pyx_v_norm_address_no_0x[4]);
18816
18697
 
18817
- /* "cchecksum/_checksum.pyx":234
18698
+ /* "cchecksum/_checksum.pyx":208
18818
18699
  * else:
18819
18700
  * buffer[5] = get_char(norm_address_no_0x[3])
18820
18701
  * if address_hash_hex_no_0x[4] < 56: # <<<<<<<<<<<<<<
@@ -18824,7 +18705,7 @@ static void __pyx_f_9cchecksum_9_checksum_populate_result_buffer(char *__pyx_v_b
18824
18705
  goto __pyx_L7;
18825
18706
  }
18826
18707
 
18827
- /* "cchecksum/_checksum.pyx":237
18708
+ /* "cchecksum/_checksum.pyx":211
18828
18709
  * buffer[6] = norm_address_no_0x[4]
18829
18710
  * else:
18830
18711
  * buffer[6] = get_char(norm_address_no_0x[4]) # <<<<<<<<<<<<<<
@@ -18836,7 +18717,7 @@ static void __pyx_f_9cchecksum_9_checksum_populate_result_buffer(char *__pyx_v_b
18836
18717
  }
18837
18718
  __pyx_L7:;
18838
18719
 
18839
- /* "cchecksum/_checksum.pyx":238
18720
+ /* "cchecksum/_checksum.pyx":212
18840
18721
  * else:
18841
18722
  * buffer[6] = get_char(norm_address_no_0x[4])
18842
18723
  * if address_hash_hex_no_0x[5] < 56: # <<<<<<<<<<<<<<
@@ -18847,7 +18728,7 @@ static void __pyx_f_9cchecksum_9_checksum_populate_result_buffer(char *__pyx_v_b
18847
18728
  __pyx_t_2 = ((*((unsigned char const *) ( /* dim=0 */ (__pyx_v_address_hash_hex_no_0x.data + __pyx_t_1 * __pyx_v_address_hash_hex_no_0x.strides[0]) ))) < 56);
18848
18729
  if (__pyx_t_2) {
18849
18730
 
18850
- /* "cchecksum/_checksum.pyx":239
18731
+ /* "cchecksum/_checksum.pyx":213
18851
18732
  * buffer[6] = get_char(norm_address_no_0x[4])
18852
18733
  * if address_hash_hex_no_0x[5] < 56:
18853
18734
  * buffer[7] = norm_address_no_0x[5] # <<<<<<<<<<<<<<
@@ -18856,7 +18737,7 @@ static void __pyx_f_9cchecksum_9_checksum_populate_result_buffer(char *__pyx_v_b
18856
18737
  */
18857
18738
  (__pyx_v_buffer[7]) = (__pyx_v_norm_address_no_0x[5]);
18858
18739
 
18859
- /* "cchecksum/_checksum.pyx":238
18740
+ /* "cchecksum/_checksum.pyx":212
18860
18741
  * else:
18861
18742
  * buffer[6] = get_char(norm_address_no_0x[4])
18862
18743
  * if address_hash_hex_no_0x[5] < 56: # <<<<<<<<<<<<<<
@@ -18866,7 +18747,7 @@ static void __pyx_f_9cchecksum_9_checksum_populate_result_buffer(char *__pyx_v_b
18866
18747
  goto __pyx_L8;
18867
18748
  }
18868
18749
 
18869
- /* "cchecksum/_checksum.pyx":241
18750
+ /* "cchecksum/_checksum.pyx":215
18870
18751
  * buffer[7] = norm_address_no_0x[5]
18871
18752
  * else:
18872
18753
  * buffer[7] = get_char(norm_address_no_0x[5]) # <<<<<<<<<<<<<<
@@ -18878,7 +18759,7 @@ static void __pyx_f_9cchecksum_9_checksum_populate_result_buffer(char *__pyx_v_b
18878
18759
  }
18879
18760
  __pyx_L8:;
18880
18761
 
18881
- /* "cchecksum/_checksum.pyx":242
18762
+ /* "cchecksum/_checksum.pyx":216
18882
18763
  * else:
18883
18764
  * buffer[7] = get_char(norm_address_no_0x[5])
18884
18765
  * if address_hash_hex_no_0x[6] < 56: # <<<<<<<<<<<<<<
@@ -18889,7 +18770,7 @@ static void __pyx_f_9cchecksum_9_checksum_populate_result_buffer(char *__pyx_v_b
18889
18770
  __pyx_t_2 = ((*((unsigned char const *) ( /* dim=0 */ (__pyx_v_address_hash_hex_no_0x.data + __pyx_t_1 * __pyx_v_address_hash_hex_no_0x.strides[0]) ))) < 56);
18890
18771
  if (__pyx_t_2) {
18891
18772
 
18892
- /* "cchecksum/_checksum.pyx":243
18773
+ /* "cchecksum/_checksum.pyx":217
18893
18774
  * buffer[7] = get_char(norm_address_no_0x[5])
18894
18775
  * if address_hash_hex_no_0x[6] < 56:
18895
18776
  * buffer[8] = norm_address_no_0x[6] # <<<<<<<<<<<<<<
@@ -18898,7 +18779,7 @@ static void __pyx_f_9cchecksum_9_checksum_populate_result_buffer(char *__pyx_v_b
18898
18779
  */
18899
18780
  (__pyx_v_buffer[8]) = (__pyx_v_norm_address_no_0x[6]);
18900
18781
 
18901
- /* "cchecksum/_checksum.pyx":242
18782
+ /* "cchecksum/_checksum.pyx":216
18902
18783
  * else:
18903
18784
  * buffer[7] = get_char(norm_address_no_0x[5])
18904
18785
  * if address_hash_hex_no_0x[6] < 56: # <<<<<<<<<<<<<<
@@ -18908,7 +18789,7 @@ static void __pyx_f_9cchecksum_9_checksum_populate_result_buffer(char *__pyx_v_b
18908
18789
  goto __pyx_L9;
18909
18790
  }
18910
18791
 
18911
- /* "cchecksum/_checksum.pyx":245
18792
+ /* "cchecksum/_checksum.pyx":219
18912
18793
  * buffer[8] = norm_address_no_0x[6]
18913
18794
  * else:
18914
18795
  * buffer[8] = get_char(norm_address_no_0x[6]) # <<<<<<<<<<<<<<
@@ -18920,7 +18801,7 @@ static void __pyx_f_9cchecksum_9_checksum_populate_result_buffer(char *__pyx_v_b
18920
18801
  }
18921
18802
  __pyx_L9:;
18922
18803
 
18923
- /* "cchecksum/_checksum.pyx":246
18804
+ /* "cchecksum/_checksum.pyx":220
18924
18805
  * else:
18925
18806
  * buffer[8] = get_char(norm_address_no_0x[6])
18926
18807
  * if address_hash_hex_no_0x[7] < 56: # <<<<<<<<<<<<<<
@@ -18931,7 +18812,7 @@ static void __pyx_f_9cchecksum_9_checksum_populate_result_buffer(char *__pyx_v_b
18931
18812
  __pyx_t_2 = ((*((unsigned char const *) ( /* dim=0 */ (__pyx_v_address_hash_hex_no_0x.data + __pyx_t_1 * __pyx_v_address_hash_hex_no_0x.strides[0]) ))) < 56);
18932
18813
  if (__pyx_t_2) {
18933
18814
 
18934
- /* "cchecksum/_checksum.pyx":247
18815
+ /* "cchecksum/_checksum.pyx":221
18935
18816
  * buffer[8] = get_char(norm_address_no_0x[6])
18936
18817
  * if address_hash_hex_no_0x[7] < 56:
18937
18818
  * buffer[9] = norm_address_no_0x[7] # <<<<<<<<<<<<<<
@@ -18940,7 +18821,7 @@ static void __pyx_f_9cchecksum_9_checksum_populate_result_buffer(char *__pyx_v_b
18940
18821
  */
18941
18822
  (__pyx_v_buffer[9]) = (__pyx_v_norm_address_no_0x[7]);
18942
18823
 
18943
- /* "cchecksum/_checksum.pyx":246
18824
+ /* "cchecksum/_checksum.pyx":220
18944
18825
  * else:
18945
18826
  * buffer[8] = get_char(norm_address_no_0x[6])
18946
18827
  * if address_hash_hex_no_0x[7] < 56: # <<<<<<<<<<<<<<
@@ -18950,7 +18831,7 @@ static void __pyx_f_9cchecksum_9_checksum_populate_result_buffer(char *__pyx_v_b
18950
18831
  goto __pyx_L10;
18951
18832
  }
18952
18833
 
18953
- /* "cchecksum/_checksum.pyx":249
18834
+ /* "cchecksum/_checksum.pyx":223
18954
18835
  * buffer[9] = norm_address_no_0x[7]
18955
18836
  * else:
18956
18837
  * buffer[9] = get_char(norm_address_no_0x[7]) # <<<<<<<<<<<<<<
@@ -18962,7 +18843,7 @@ static void __pyx_f_9cchecksum_9_checksum_populate_result_buffer(char *__pyx_v_b
18962
18843
  }
18963
18844
  __pyx_L10:;
18964
18845
 
18965
- /* "cchecksum/_checksum.pyx":250
18846
+ /* "cchecksum/_checksum.pyx":224
18966
18847
  * else:
18967
18848
  * buffer[9] = get_char(norm_address_no_0x[7])
18968
18849
  * if address_hash_hex_no_0x[8] < 56: # <<<<<<<<<<<<<<
@@ -18973,7 +18854,7 @@ static void __pyx_f_9cchecksum_9_checksum_populate_result_buffer(char *__pyx_v_b
18973
18854
  __pyx_t_2 = ((*((unsigned char const *) ( /* dim=0 */ (__pyx_v_address_hash_hex_no_0x.data + __pyx_t_1 * __pyx_v_address_hash_hex_no_0x.strides[0]) ))) < 56);
18974
18855
  if (__pyx_t_2) {
18975
18856
 
18976
- /* "cchecksum/_checksum.pyx":251
18857
+ /* "cchecksum/_checksum.pyx":225
18977
18858
  * buffer[9] = get_char(norm_address_no_0x[7])
18978
18859
  * if address_hash_hex_no_0x[8] < 56:
18979
18860
  * buffer[10] = norm_address_no_0x[8] # <<<<<<<<<<<<<<
@@ -18982,7 +18863,7 @@ static void __pyx_f_9cchecksum_9_checksum_populate_result_buffer(char *__pyx_v_b
18982
18863
  */
18983
18864
  (__pyx_v_buffer[10]) = (__pyx_v_norm_address_no_0x[8]);
18984
18865
 
18985
- /* "cchecksum/_checksum.pyx":250
18866
+ /* "cchecksum/_checksum.pyx":224
18986
18867
  * else:
18987
18868
  * buffer[9] = get_char(norm_address_no_0x[7])
18988
18869
  * if address_hash_hex_no_0x[8] < 56: # <<<<<<<<<<<<<<
@@ -18992,7 +18873,7 @@ static void __pyx_f_9cchecksum_9_checksum_populate_result_buffer(char *__pyx_v_b
18992
18873
  goto __pyx_L11;
18993
18874
  }
18994
18875
 
18995
- /* "cchecksum/_checksum.pyx":253
18876
+ /* "cchecksum/_checksum.pyx":227
18996
18877
  * buffer[10] = norm_address_no_0x[8]
18997
18878
  * else:
18998
18879
  * buffer[10] = get_char(norm_address_no_0x[8]) # <<<<<<<<<<<<<<
@@ -19004,7 +18885,7 @@ static void __pyx_f_9cchecksum_9_checksum_populate_result_buffer(char *__pyx_v_b
19004
18885
  }
19005
18886
  __pyx_L11:;
19006
18887
 
19007
- /* "cchecksum/_checksum.pyx":254
18888
+ /* "cchecksum/_checksum.pyx":228
19008
18889
  * else:
19009
18890
  * buffer[10] = get_char(norm_address_no_0x[8])
19010
18891
  * if address_hash_hex_no_0x[9] < 56: # <<<<<<<<<<<<<<
@@ -19015,7 +18896,7 @@ static void __pyx_f_9cchecksum_9_checksum_populate_result_buffer(char *__pyx_v_b
19015
18896
  __pyx_t_2 = ((*((unsigned char const *) ( /* dim=0 */ (__pyx_v_address_hash_hex_no_0x.data + __pyx_t_1 * __pyx_v_address_hash_hex_no_0x.strides[0]) ))) < 56);
19016
18897
  if (__pyx_t_2) {
19017
18898
 
19018
- /* "cchecksum/_checksum.pyx":255
18899
+ /* "cchecksum/_checksum.pyx":229
19019
18900
  * buffer[10] = get_char(norm_address_no_0x[8])
19020
18901
  * if address_hash_hex_no_0x[9] < 56:
19021
18902
  * buffer[11] = norm_address_no_0x[9] # <<<<<<<<<<<<<<
@@ -19024,7 +18905,7 @@ static void __pyx_f_9cchecksum_9_checksum_populate_result_buffer(char *__pyx_v_b
19024
18905
  */
19025
18906
  (__pyx_v_buffer[11]) = (__pyx_v_norm_address_no_0x[9]);
19026
18907
 
19027
- /* "cchecksum/_checksum.pyx":254
18908
+ /* "cchecksum/_checksum.pyx":228
19028
18909
  * else:
19029
18910
  * buffer[10] = get_char(norm_address_no_0x[8])
19030
18911
  * if address_hash_hex_no_0x[9] < 56: # <<<<<<<<<<<<<<
@@ -19034,7 +18915,7 @@ static void __pyx_f_9cchecksum_9_checksum_populate_result_buffer(char *__pyx_v_b
19034
18915
  goto __pyx_L12;
19035
18916
  }
19036
18917
 
19037
- /* "cchecksum/_checksum.pyx":257
18918
+ /* "cchecksum/_checksum.pyx":231
19038
18919
  * buffer[11] = norm_address_no_0x[9]
19039
18920
  * else:
19040
18921
  * buffer[11] = get_char(norm_address_no_0x[9]) # <<<<<<<<<<<<<<
@@ -19046,7 +18927,7 @@ static void __pyx_f_9cchecksum_9_checksum_populate_result_buffer(char *__pyx_v_b
19046
18927
  }
19047
18928
  __pyx_L12:;
19048
18929
 
19049
- /* "cchecksum/_checksum.pyx":258
18930
+ /* "cchecksum/_checksum.pyx":232
19050
18931
  * else:
19051
18932
  * buffer[11] = get_char(norm_address_no_0x[9])
19052
18933
  * if address_hash_hex_no_0x[10] < 56: # <<<<<<<<<<<<<<
@@ -19057,7 +18938,7 @@ static void __pyx_f_9cchecksum_9_checksum_populate_result_buffer(char *__pyx_v_b
19057
18938
  __pyx_t_2 = ((*((unsigned char const *) ( /* dim=0 */ (__pyx_v_address_hash_hex_no_0x.data + __pyx_t_1 * __pyx_v_address_hash_hex_no_0x.strides[0]) ))) < 56);
19058
18939
  if (__pyx_t_2) {
19059
18940
 
19060
- /* "cchecksum/_checksum.pyx":259
18941
+ /* "cchecksum/_checksum.pyx":233
19061
18942
  * buffer[11] = get_char(norm_address_no_0x[9])
19062
18943
  * if address_hash_hex_no_0x[10] < 56:
19063
18944
  * buffer[12] = norm_address_no_0x[10] # <<<<<<<<<<<<<<
@@ -19066,7 +18947,7 @@ static void __pyx_f_9cchecksum_9_checksum_populate_result_buffer(char *__pyx_v_b
19066
18947
  */
19067
18948
  (__pyx_v_buffer[12]) = (__pyx_v_norm_address_no_0x[10]);
19068
18949
 
19069
- /* "cchecksum/_checksum.pyx":258
18950
+ /* "cchecksum/_checksum.pyx":232
19070
18951
  * else:
19071
18952
  * buffer[11] = get_char(norm_address_no_0x[9])
19072
18953
  * if address_hash_hex_no_0x[10] < 56: # <<<<<<<<<<<<<<
@@ -19076,7 +18957,7 @@ static void __pyx_f_9cchecksum_9_checksum_populate_result_buffer(char *__pyx_v_b
19076
18957
  goto __pyx_L13;
19077
18958
  }
19078
18959
 
19079
- /* "cchecksum/_checksum.pyx":261
18960
+ /* "cchecksum/_checksum.pyx":235
19080
18961
  * buffer[12] = norm_address_no_0x[10]
19081
18962
  * else:
19082
18963
  * buffer[12] = get_char(norm_address_no_0x[10]) # <<<<<<<<<<<<<<
@@ -19088,7 +18969,7 @@ static void __pyx_f_9cchecksum_9_checksum_populate_result_buffer(char *__pyx_v_b
19088
18969
  }
19089
18970
  __pyx_L13:;
19090
18971
 
19091
- /* "cchecksum/_checksum.pyx":262
18972
+ /* "cchecksum/_checksum.pyx":236
19092
18973
  * else:
19093
18974
  * buffer[12] = get_char(norm_address_no_0x[10])
19094
18975
  * if address_hash_hex_no_0x[11] < 56: # <<<<<<<<<<<<<<
@@ -19099,7 +18980,7 @@ static void __pyx_f_9cchecksum_9_checksum_populate_result_buffer(char *__pyx_v_b
19099
18980
  __pyx_t_2 = ((*((unsigned char const *) ( /* dim=0 */ (__pyx_v_address_hash_hex_no_0x.data + __pyx_t_1 * __pyx_v_address_hash_hex_no_0x.strides[0]) ))) < 56);
19100
18981
  if (__pyx_t_2) {
19101
18982
 
19102
- /* "cchecksum/_checksum.pyx":263
18983
+ /* "cchecksum/_checksum.pyx":237
19103
18984
  * buffer[12] = get_char(norm_address_no_0x[10])
19104
18985
  * if address_hash_hex_no_0x[11] < 56:
19105
18986
  * buffer[13] = norm_address_no_0x[11] # <<<<<<<<<<<<<<
@@ -19108,7 +18989,7 @@ static void __pyx_f_9cchecksum_9_checksum_populate_result_buffer(char *__pyx_v_b
19108
18989
  */
19109
18990
  (__pyx_v_buffer[13]) = (__pyx_v_norm_address_no_0x[11]);
19110
18991
 
19111
- /* "cchecksum/_checksum.pyx":262
18992
+ /* "cchecksum/_checksum.pyx":236
19112
18993
  * else:
19113
18994
  * buffer[12] = get_char(norm_address_no_0x[10])
19114
18995
  * if address_hash_hex_no_0x[11] < 56: # <<<<<<<<<<<<<<
@@ -19118,7 +18999,7 @@ static void __pyx_f_9cchecksum_9_checksum_populate_result_buffer(char *__pyx_v_b
19118
18999
  goto __pyx_L14;
19119
19000
  }
19120
19001
 
19121
- /* "cchecksum/_checksum.pyx":265
19002
+ /* "cchecksum/_checksum.pyx":239
19122
19003
  * buffer[13] = norm_address_no_0x[11]
19123
19004
  * else:
19124
19005
  * buffer[13] = get_char(norm_address_no_0x[11]) # <<<<<<<<<<<<<<
@@ -19130,7 +19011,7 @@ static void __pyx_f_9cchecksum_9_checksum_populate_result_buffer(char *__pyx_v_b
19130
19011
  }
19131
19012
  __pyx_L14:;
19132
19013
 
19133
- /* "cchecksum/_checksum.pyx":266
19014
+ /* "cchecksum/_checksum.pyx":240
19134
19015
  * else:
19135
19016
  * buffer[13] = get_char(norm_address_no_0x[11])
19136
19017
  * if address_hash_hex_no_0x[12] < 56: # <<<<<<<<<<<<<<
@@ -19141,7 +19022,7 @@ static void __pyx_f_9cchecksum_9_checksum_populate_result_buffer(char *__pyx_v_b
19141
19022
  __pyx_t_2 = ((*((unsigned char const *) ( /* dim=0 */ (__pyx_v_address_hash_hex_no_0x.data + __pyx_t_1 * __pyx_v_address_hash_hex_no_0x.strides[0]) ))) < 56);
19142
19023
  if (__pyx_t_2) {
19143
19024
 
19144
- /* "cchecksum/_checksum.pyx":267
19025
+ /* "cchecksum/_checksum.pyx":241
19145
19026
  * buffer[13] = get_char(norm_address_no_0x[11])
19146
19027
  * if address_hash_hex_no_0x[12] < 56:
19147
19028
  * buffer[14] = norm_address_no_0x[12] # <<<<<<<<<<<<<<
@@ -19150,7 +19031,7 @@ static void __pyx_f_9cchecksum_9_checksum_populate_result_buffer(char *__pyx_v_b
19150
19031
  */
19151
19032
  (__pyx_v_buffer[14]) = (__pyx_v_norm_address_no_0x[12]);
19152
19033
 
19153
- /* "cchecksum/_checksum.pyx":266
19034
+ /* "cchecksum/_checksum.pyx":240
19154
19035
  * else:
19155
19036
  * buffer[13] = get_char(norm_address_no_0x[11])
19156
19037
  * if address_hash_hex_no_0x[12] < 56: # <<<<<<<<<<<<<<
@@ -19160,7 +19041,7 @@ static void __pyx_f_9cchecksum_9_checksum_populate_result_buffer(char *__pyx_v_b
19160
19041
  goto __pyx_L15;
19161
19042
  }
19162
19043
 
19163
- /* "cchecksum/_checksum.pyx":269
19044
+ /* "cchecksum/_checksum.pyx":243
19164
19045
  * buffer[14] = norm_address_no_0x[12]
19165
19046
  * else:
19166
19047
  * buffer[14] = get_char(norm_address_no_0x[12]) # <<<<<<<<<<<<<<
@@ -19172,7 +19053,7 @@ static void __pyx_f_9cchecksum_9_checksum_populate_result_buffer(char *__pyx_v_b
19172
19053
  }
19173
19054
  __pyx_L15:;
19174
19055
 
19175
- /* "cchecksum/_checksum.pyx":270
19056
+ /* "cchecksum/_checksum.pyx":244
19176
19057
  * else:
19177
19058
  * buffer[14] = get_char(norm_address_no_0x[12])
19178
19059
  * if address_hash_hex_no_0x[13] < 56: # <<<<<<<<<<<<<<
@@ -19183,7 +19064,7 @@ static void __pyx_f_9cchecksum_9_checksum_populate_result_buffer(char *__pyx_v_b
19183
19064
  __pyx_t_2 = ((*((unsigned char const *) ( /* dim=0 */ (__pyx_v_address_hash_hex_no_0x.data + __pyx_t_1 * __pyx_v_address_hash_hex_no_0x.strides[0]) ))) < 56);
19184
19065
  if (__pyx_t_2) {
19185
19066
 
19186
- /* "cchecksum/_checksum.pyx":271
19067
+ /* "cchecksum/_checksum.pyx":245
19187
19068
  * buffer[14] = get_char(norm_address_no_0x[12])
19188
19069
  * if address_hash_hex_no_0x[13] < 56:
19189
19070
  * buffer[15] = norm_address_no_0x[13] # <<<<<<<<<<<<<<
@@ -19192,7 +19073,7 @@ static void __pyx_f_9cchecksum_9_checksum_populate_result_buffer(char *__pyx_v_b
19192
19073
  */
19193
19074
  (__pyx_v_buffer[15]) = (__pyx_v_norm_address_no_0x[13]);
19194
19075
 
19195
- /* "cchecksum/_checksum.pyx":270
19076
+ /* "cchecksum/_checksum.pyx":244
19196
19077
  * else:
19197
19078
  * buffer[14] = get_char(norm_address_no_0x[12])
19198
19079
  * if address_hash_hex_no_0x[13] < 56: # <<<<<<<<<<<<<<
@@ -19202,7 +19083,7 @@ static void __pyx_f_9cchecksum_9_checksum_populate_result_buffer(char *__pyx_v_b
19202
19083
  goto __pyx_L16;
19203
19084
  }
19204
19085
 
19205
- /* "cchecksum/_checksum.pyx":273
19086
+ /* "cchecksum/_checksum.pyx":247
19206
19087
  * buffer[15] = norm_address_no_0x[13]
19207
19088
  * else:
19208
19089
  * buffer[15] = get_char(norm_address_no_0x[13]) # <<<<<<<<<<<<<<
@@ -19214,7 +19095,7 @@ static void __pyx_f_9cchecksum_9_checksum_populate_result_buffer(char *__pyx_v_b
19214
19095
  }
19215
19096
  __pyx_L16:;
19216
19097
 
19217
- /* "cchecksum/_checksum.pyx":274
19098
+ /* "cchecksum/_checksum.pyx":248
19218
19099
  * else:
19219
19100
  * buffer[15] = get_char(norm_address_no_0x[13])
19220
19101
  * if address_hash_hex_no_0x[14] < 56: # <<<<<<<<<<<<<<
@@ -19225,7 +19106,7 @@ static void __pyx_f_9cchecksum_9_checksum_populate_result_buffer(char *__pyx_v_b
19225
19106
  __pyx_t_2 = ((*((unsigned char const *) ( /* dim=0 */ (__pyx_v_address_hash_hex_no_0x.data + __pyx_t_1 * __pyx_v_address_hash_hex_no_0x.strides[0]) ))) < 56);
19226
19107
  if (__pyx_t_2) {
19227
19108
 
19228
- /* "cchecksum/_checksum.pyx":275
19109
+ /* "cchecksum/_checksum.pyx":249
19229
19110
  * buffer[15] = get_char(norm_address_no_0x[13])
19230
19111
  * if address_hash_hex_no_0x[14] < 56:
19231
19112
  * buffer[16] = norm_address_no_0x[14] # <<<<<<<<<<<<<<
@@ -19234,7 +19115,7 @@ static void __pyx_f_9cchecksum_9_checksum_populate_result_buffer(char *__pyx_v_b
19234
19115
  */
19235
19116
  (__pyx_v_buffer[16]) = (__pyx_v_norm_address_no_0x[14]);
19236
19117
 
19237
- /* "cchecksum/_checksum.pyx":274
19118
+ /* "cchecksum/_checksum.pyx":248
19238
19119
  * else:
19239
19120
  * buffer[15] = get_char(norm_address_no_0x[13])
19240
19121
  * if address_hash_hex_no_0x[14] < 56: # <<<<<<<<<<<<<<
@@ -19244,7 +19125,7 @@ static void __pyx_f_9cchecksum_9_checksum_populate_result_buffer(char *__pyx_v_b
19244
19125
  goto __pyx_L17;
19245
19126
  }
19246
19127
 
19247
- /* "cchecksum/_checksum.pyx":277
19128
+ /* "cchecksum/_checksum.pyx":251
19248
19129
  * buffer[16] = norm_address_no_0x[14]
19249
19130
  * else:
19250
19131
  * buffer[16] = get_char(norm_address_no_0x[14]) # <<<<<<<<<<<<<<
@@ -19256,7 +19137,7 @@ static void __pyx_f_9cchecksum_9_checksum_populate_result_buffer(char *__pyx_v_b
19256
19137
  }
19257
19138
  __pyx_L17:;
19258
19139
 
19259
- /* "cchecksum/_checksum.pyx":278
19140
+ /* "cchecksum/_checksum.pyx":252
19260
19141
  * else:
19261
19142
  * buffer[16] = get_char(norm_address_no_0x[14])
19262
19143
  * if address_hash_hex_no_0x[15] < 56: # <<<<<<<<<<<<<<
@@ -19267,7 +19148,7 @@ static void __pyx_f_9cchecksum_9_checksum_populate_result_buffer(char *__pyx_v_b
19267
19148
  __pyx_t_2 = ((*((unsigned char const *) ( /* dim=0 */ (__pyx_v_address_hash_hex_no_0x.data + __pyx_t_1 * __pyx_v_address_hash_hex_no_0x.strides[0]) ))) < 56);
19268
19149
  if (__pyx_t_2) {
19269
19150
 
19270
- /* "cchecksum/_checksum.pyx":279
19151
+ /* "cchecksum/_checksum.pyx":253
19271
19152
  * buffer[16] = get_char(norm_address_no_0x[14])
19272
19153
  * if address_hash_hex_no_0x[15] < 56:
19273
19154
  * buffer[17] = norm_address_no_0x[15] # <<<<<<<<<<<<<<
@@ -19276,7 +19157,7 @@ static void __pyx_f_9cchecksum_9_checksum_populate_result_buffer(char *__pyx_v_b
19276
19157
  */
19277
19158
  (__pyx_v_buffer[17]) = (__pyx_v_norm_address_no_0x[15]);
19278
19159
 
19279
- /* "cchecksum/_checksum.pyx":278
19160
+ /* "cchecksum/_checksum.pyx":252
19280
19161
  * else:
19281
19162
  * buffer[16] = get_char(norm_address_no_0x[14])
19282
19163
  * if address_hash_hex_no_0x[15] < 56: # <<<<<<<<<<<<<<
@@ -19286,7 +19167,7 @@ static void __pyx_f_9cchecksum_9_checksum_populate_result_buffer(char *__pyx_v_b
19286
19167
  goto __pyx_L18;
19287
19168
  }
19288
19169
 
19289
- /* "cchecksum/_checksum.pyx":281
19170
+ /* "cchecksum/_checksum.pyx":255
19290
19171
  * buffer[17] = norm_address_no_0x[15]
19291
19172
  * else:
19292
19173
  * buffer[17] = get_char(norm_address_no_0x[15]) # <<<<<<<<<<<<<<
@@ -19298,7 +19179,7 @@ static void __pyx_f_9cchecksum_9_checksum_populate_result_buffer(char *__pyx_v_b
19298
19179
  }
19299
19180
  __pyx_L18:;
19300
19181
 
19301
- /* "cchecksum/_checksum.pyx":282
19182
+ /* "cchecksum/_checksum.pyx":256
19302
19183
  * else:
19303
19184
  * buffer[17] = get_char(norm_address_no_0x[15])
19304
19185
  * if address_hash_hex_no_0x[16] < 56: # <<<<<<<<<<<<<<
@@ -19309,7 +19190,7 @@ static void __pyx_f_9cchecksum_9_checksum_populate_result_buffer(char *__pyx_v_b
19309
19190
  __pyx_t_2 = ((*((unsigned char const *) ( /* dim=0 */ (__pyx_v_address_hash_hex_no_0x.data + __pyx_t_1 * __pyx_v_address_hash_hex_no_0x.strides[0]) ))) < 56);
19310
19191
  if (__pyx_t_2) {
19311
19192
 
19312
- /* "cchecksum/_checksum.pyx":283
19193
+ /* "cchecksum/_checksum.pyx":257
19313
19194
  * buffer[17] = get_char(norm_address_no_0x[15])
19314
19195
  * if address_hash_hex_no_0x[16] < 56:
19315
19196
  * buffer[18] = norm_address_no_0x[16] # <<<<<<<<<<<<<<
@@ -19318,7 +19199,7 @@ static void __pyx_f_9cchecksum_9_checksum_populate_result_buffer(char *__pyx_v_b
19318
19199
  */
19319
19200
  (__pyx_v_buffer[18]) = (__pyx_v_norm_address_no_0x[16]);
19320
19201
 
19321
- /* "cchecksum/_checksum.pyx":282
19202
+ /* "cchecksum/_checksum.pyx":256
19322
19203
  * else:
19323
19204
  * buffer[17] = get_char(norm_address_no_0x[15])
19324
19205
  * if address_hash_hex_no_0x[16] < 56: # <<<<<<<<<<<<<<
@@ -19328,7 +19209,7 @@ static void __pyx_f_9cchecksum_9_checksum_populate_result_buffer(char *__pyx_v_b
19328
19209
  goto __pyx_L19;
19329
19210
  }
19330
19211
 
19331
- /* "cchecksum/_checksum.pyx":285
19212
+ /* "cchecksum/_checksum.pyx":259
19332
19213
  * buffer[18] = norm_address_no_0x[16]
19333
19214
  * else:
19334
19215
  * buffer[18] = get_char(norm_address_no_0x[16]) # <<<<<<<<<<<<<<
@@ -19340,7 +19221,7 @@ static void __pyx_f_9cchecksum_9_checksum_populate_result_buffer(char *__pyx_v_b
19340
19221
  }
19341
19222
  __pyx_L19:;
19342
19223
 
19343
- /* "cchecksum/_checksum.pyx":286
19224
+ /* "cchecksum/_checksum.pyx":260
19344
19225
  * else:
19345
19226
  * buffer[18] = get_char(norm_address_no_0x[16])
19346
19227
  * if address_hash_hex_no_0x[17] < 56: # <<<<<<<<<<<<<<
@@ -19351,7 +19232,7 @@ static void __pyx_f_9cchecksum_9_checksum_populate_result_buffer(char *__pyx_v_b
19351
19232
  __pyx_t_2 = ((*((unsigned char const *) ( /* dim=0 */ (__pyx_v_address_hash_hex_no_0x.data + __pyx_t_1 * __pyx_v_address_hash_hex_no_0x.strides[0]) ))) < 56);
19352
19233
  if (__pyx_t_2) {
19353
19234
 
19354
- /* "cchecksum/_checksum.pyx":287
19235
+ /* "cchecksum/_checksum.pyx":261
19355
19236
  * buffer[18] = get_char(norm_address_no_0x[16])
19356
19237
  * if address_hash_hex_no_0x[17] < 56:
19357
19238
  * buffer[19] = norm_address_no_0x[17] # <<<<<<<<<<<<<<
@@ -19360,7 +19241,7 @@ static void __pyx_f_9cchecksum_9_checksum_populate_result_buffer(char *__pyx_v_b
19360
19241
  */
19361
19242
  (__pyx_v_buffer[19]) = (__pyx_v_norm_address_no_0x[17]);
19362
19243
 
19363
- /* "cchecksum/_checksum.pyx":286
19244
+ /* "cchecksum/_checksum.pyx":260
19364
19245
  * else:
19365
19246
  * buffer[18] = get_char(norm_address_no_0x[16])
19366
19247
  * if address_hash_hex_no_0x[17] < 56: # <<<<<<<<<<<<<<
@@ -19370,7 +19251,7 @@ static void __pyx_f_9cchecksum_9_checksum_populate_result_buffer(char *__pyx_v_b
19370
19251
  goto __pyx_L20;
19371
19252
  }
19372
19253
 
19373
- /* "cchecksum/_checksum.pyx":289
19254
+ /* "cchecksum/_checksum.pyx":263
19374
19255
  * buffer[19] = norm_address_no_0x[17]
19375
19256
  * else:
19376
19257
  * buffer[19] = get_char(norm_address_no_0x[17]) # <<<<<<<<<<<<<<
@@ -19382,7 +19263,7 @@ static void __pyx_f_9cchecksum_9_checksum_populate_result_buffer(char *__pyx_v_b
19382
19263
  }
19383
19264
  __pyx_L20:;
19384
19265
 
19385
- /* "cchecksum/_checksum.pyx":290
19266
+ /* "cchecksum/_checksum.pyx":264
19386
19267
  * else:
19387
19268
  * buffer[19] = get_char(norm_address_no_0x[17])
19388
19269
  * if address_hash_hex_no_0x[18] < 56: # <<<<<<<<<<<<<<
@@ -19393,7 +19274,7 @@ static void __pyx_f_9cchecksum_9_checksum_populate_result_buffer(char *__pyx_v_b
19393
19274
  __pyx_t_2 = ((*((unsigned char const *) ( /* dim=0 */ (__pyx_v_address_hash_hex_no_0x.data + __pyx_t_1 * __pyx_v_address_hash_hex_no_0x.strides[0]) ))) < 56);
19394
19275
  if (__pyx_t_2) {
19395
19276
 
19396
- /* "cchecksum/_checksum.pyx":291
19277
+ /* "cchecksum/_checksum.pyx":265
19397
19278
  * buffer[19] = get_char(norm_address_no_0x[17])
19398
19279
  * if address_hash_hex_no_0x[18] < 56:
19399
19280
  * buffer[20] = norm_address_no_0x[18] # <<<<<<<<<<<<<<
@@ -19402,7 +19283,7 @@ static void __pyx_f_9cchecksum_9_checksum_populate_result_buffer(char *__pyx_v_b
19402
19283
  */
19403
19284
  (__pyx_v_buffer[20]) = (__pyx_v_norm_address_no_0x[18]);
19404
19285
 
19405
- /* "cchecksum/_checksum.pyx":290
19286
+ /* "cchecksum/_checksum.pyx":264
19406
19287
  * else:
19407
19288
  * buffer[19] = get_char(norm_address_no_0x[17])
19408
19289
  * if address_hash_hex_no_0x[18] < 56: # <<<<<<<<<<<<<<
@@ -19412,7 +19293,7 @@ static void __pyx_f_9cchecksum_9_checksum_populate_result_buffer(char *__pyx_v_b
19412
19293
  goto __pyx_L21;
19413
19294
  }
19414
19295
 
19415
- /* "cchecksum/_checksum.pyx":293
19296
+ /* "cchecksum/_checksum.pyx":267
19416
19297
  * buffer[20] = norm_address_no_0x[18]
19417
19298
  * else:
19418
19299
  * buffer[20] = get_char(norm_address_no_0x[18]) # <<<<<<<<<<<<<<
@@ -19424,7 +19305,7 @@ static void __pyx_f_9cchecksum_9_checksum_populate_result_buffer(char *__pyx_v_b
19424
19305
  }
19425
19306
  __pyx_L21:;
19426
19307
 
19427
- /* "cchecksum/_checksum.pyx":294
19308
+ /* "cchecksum/_checksum.pyx":268
19428
19309
  * else:
19429
19310
  * buffer[20] = get_char(norm_address_no_0x[18])
19430
19311
  * if address_hash_hex_no_0x[19] < 56: # <<<<<<<<<<<<<<
@@ -19435,7 +19316,7 @@ static void __pyx_f_9cchecksum_9_checksum_populate_result_buffer(char *__pyx_v_b
19435
19316
  __pyx_t_2 = ((*((unsigned char const *) ( /* dim=0 */ (__pyx_v_address_hash_hex_no_0x.data + __pyx_t_1 * __pyx_v_address_hash_hex_no_0x.strides[0]) ))) < 56);
19436
19317
  if (__pyx_t_2) {
19437
19318
 
19438
- /* "cchecksum/_checksum.pyx":295
19319
+ /* "cchecksum/_checksum.pyx":269
19439
19320
  * buffer[20] = get_char(norm_address_no_0x[18])
19440
19321
  * if address_hash_hex_no_0x[19] < 56:
19441
19322
  * buffer[21] = norm_address_no_0x[19] # <<<<<<<<<<<<<<
@@ -19444,7 +19325,7 @@ static void __pyx_f_9cchecksum_9_checksum_populate_result_buffer(char *__pyx_v_b
19444
19325
  */
19445
19326
  (__pyx_v_buffer[21]) = (__pyx_v_norm_address_no_0x[19]);
19446
19327
 
19447
- /* "cchecksum/_checksum.pyx":294
19328
+ /* "cchecksum/_checksum.pyx":268
19448
19329
  * else:
19449
19330
  * buffer[20] = get_char(norm_address_no_0x[18])
19450
19331
  * if address_hash_hex_no_0x[19] < 56: # <<<<<<<<<<<<<<
@@ -19454,7 +19335,7 @@ static void __pyx_f_9cchecksum_9_checksum_populate_result_buffer(char *__pyx_v_b
19454
19335
  goto __pyx_L22;
19455
19336
  }
19456
19337
 
19457
- /* "cchecksum/_checksum.pyx":297
19338
+ /* "cchecksum/_checksum.pyx":271
19458
19339
  * buffer[21] = norm_address_no_0x[19]
19459
19340
  * else:
19460
19341
  * buffer[21] = get_char(norm_address_no_0x[19]) # <<<<<<<<<<<<<<
@@ -19466,7 +19347,7 @@ static void __pyx_f_9cchecksum_9_checksum_populate_result_buffer(char *__pyx_v_b
19466
19347
  }
19467
19348
  __pyx_L22:;
19468
19349
 
19469
- /* "cchecksum/_checksum.pyx":298
19350
+ /* "cchecksum/_checksum.pyx":272
19470
19351
  * else:
19471
19352
  * buffer[21] = get_char(norm_address_no_0x[19])
19472
19353
  * if address_hash_hex_no_0x[20] < 56: # <<<<<<<<<<<<<<
@@ -19477,7 +19358,7 @@ static void __pyx_f_9cchecksum_9_checksum_populate_result_buffer(char *__pyx_v_b
19477
19358
  __pyx_t_2 = ((*((unsigned char const *) ( /* dim=0 */ (__pyx_v_address_hash_hex_no_0x.data + __pyx_t_1 * __pyx_v_address_hash_hex_no_0x.strides[0]) ))) < 56);
19478
19359
  if (__pyx_t_2) {
19479
19360
 
19480
- /* "cchecksum/_checksum.pyx":299
19361
+ /* "cchecksum/_checksum.pyx":273
19481
19362
  * buffer[21] = get_char(norm_address_no_0x[19])
19482
19363
  * if address_hash_hex_no_0x[20] < 56:
19483
19364
  * buffer[22] = norm_address_no_0x[20] # <<<<<<<<<<<<<<
@@ -19486,7 +19367,7 @@ static void __pyx_f_9cchecksum_9_checksum_populate_result_buffer(char *__pyx_v_b
19486
19367
  */
19487
19368
  (__pyx_v_buffer[22]) = (__pyx_v_norm_address_no_0x[20]);
19488
19369
 
19489
- /* "cchecksum/_checksum.pyx":298
19370
+ /* "cchecksum/_checksum.pyx":272
19490
19371
  * else:
19491
19372
  * buffer[21] = get_char(norm_address_no_0x[19])
19492
19373
  * if address_hash_hex_no_0x[20] < 56: # <<<<<<<<<<<<<<
@@ -19496,7 +19377,7 @@ static void __pyx_f_9cchecksum_9_checksum_populate_result_buffer(char *__pyx_v_b
19496
19377
  goto __pyx_L23;
19497
19378
  }
19498
19379
 
19499
- /* "cchecksum/_checksum.pyx":301
19380
+ /* "cchecksum/_checksum.pyx":275
19500
19381
  * buffer[22] = norm_address_no_0x[20]
19501
19382
  * else:
19502
19383
  * buffer[22] = get_char(norm_address_no_0x[20]) # <<<<<<<<<<<<<<
@@ -19508,7 +19389,7 @@ static void __pyx_f_9cchecksum_9_checksum_populate_result_buffer(char *__pyx_v_b
19508
19389
  }
19509
19390
  __pyx_L23:;
19510
19391
 
19511
- /* "cchecksum/_checksum.pyx":302
19392
+ /* "cchecksum/_checksum.pyx":276
19512
19393
  * else:
19513
19394
  * buffer[22] = get_char(norm_address_no_0x[20])
19514
19395
  * if address_hash_hex_no_0x[21] < 56: # <<<<<<<<<<<<<<
@@ -19519,7 +19400,7 @@ static void __pyx_f_9cchecksum_9_checksum_populate_result_buffer(char *__pyx_v_b
19519
19400
  __pyx_t_2 = ((*((unsigned char const *) ( /* dim=0 */ (__pyx_v_address_hash_hex_no_0x.data + __pyx_t_1 * __pyx_v_address_hash_hex_no_0x.strides[0]) ))) < 56);
19520
19401
  if (__pyx_t_2) {
19521
19402
 
19522
- /* "cchecksum/_checksum.pyx":303
19403
+ /* "cchecksum/_checksum.pyx":277
19523
19404
  * buffer[22] = get_char(norm_address_no_0x[20])
19524
19405
  * if address_hash_hex_no_0x[21] < 56:
19525
19406
  * buffer[23] = norm_address_no_0x[21] # <<<<<<<<<<<<<<
@@ -19528,7 +19409,7 @@ static void __pyx_f_9cchecksum_9_checksum_populate_result_buffer(char *__pyx_v_b
19528
19409
  */
19529
19410
  (__pyx_v_buffer[23]) = (__pyx_v_norm_address_no_0x[21]);
19530
19411
 
19531
- /* "cchecksum/_checksum.pyx":302
19412
+ /* "cchecksum/_checksum.pyx":276
19532
19413
  * else:
19533
19414
  * buffer[22] = get_char(norm_address_no_0x[20])
19534
19415
  * if address_hash_hex_no_0x[21] < 56: # <<<<<<<<<<<<<<
@@ -19538,7 +19419,7 @@ static void __pyx_f_9cchecksum_9_checksum_populate_result_buffer(char *__pyx_v_b
19538
19419
  goto __pyx_L24;
19539
19420
  }
19540
19421
 
19541
- /* "cchecksum/_checksum.pyx":305
19422
+ /* "cchecksum/_checksum.pyx":279
19542
19423
  * buffer[23] = norm_address_no_0x[21]
19543
19424
  * else:
19544
19425
  * buffer[23] = get_char(norm_address_no_0x[21]) # <<<<<<<<<<<<<<
@@ -19550,7 +19431,7 @@ static void __pyx_f_9cchecksum_9_checksum_populate_result_buffer(char *__pyx_v_b
19550
19431
  }
19551
19432
  __pyx_L24:;
19552
19433
 
19553
- /* "cchecksum/_checksum.pyx":306
19434
+ /* "cchecksum/_checksum.pyx":280
19554
19435
  * else:
19555
19436
  * buffer[23] = get_char(norm_address_no_0x[21])
19556
19437
  * if address_hash_hex_no_0x[22] < 56: # <<<<<<<<<<<<<<
@@ -19561,7 +19442,7 @@ static void __pyx_f_9cchecksum_9_checksum_populate_result_buffer(char *__pyx_v_b
19561
19442
  __pyx_t_2 = ((*((unsigned char const *) ( /* dim=0 */ (__pyx_v_address_hash_hex_no_0x.data + __pyx_t_1 * __pyx_v_address_hash_hex_no_0x.strides[0]) ))) < 56);
19562
19443
  if (__pyx_t_2) {
19563
19444
 
19564
- /* "cchecksum/_checksum.pyx":307
19445
+ /* "cchecksum/_checksum.pyx":281
19565
19446
  * buffer[23] = get_char(norm_address_no_0x[21])
19566
19447
  * if address_hash_hex_no_0x[22] < 56:
19567
19448
  * buffer[24] = norm_address_no_0x[22] # <<<<<<<<<<<<<<
@@ -19570,7 +19451,7 @@ static void __pyx_f_9cchecksum_9_checksum_populate_result_buffer(char *__pyx_v_b
19570
19451
  */
19571
19452
  (__pyx_v_buffer[24]) = (__pyx_v_norm_address_no_0x[22]);
19572
19453
 
19573
- /* "cchecksum/_checksum.pyx":306
19454
+ /* "cchecksum/_checksum.pyx":280
19574
19455
  * else:
19575
19456
  * buffer[23] = get_char(norm_address_no_0x[21])
19576
19457
  * if address_hash_hex_no_0x[22] < 56: # <<<<<<<<<<<<<<
@@ -19580,7 +19461,7 @@ static void __pyx_f_9cchecksum_9_checksum_populate_result_buffer(char *__pyx_v_b
19580
19461
  goto __pyx_L25;
19581
19462
  }
19582
19463
 
19583
- /* "cchecksum/_checksum.pyx":309
19464
+ /* "cchecksum/_checksum.pyx":283
19584
19465
  * buffer[24] = norm_address_no_0x[22]
19585
19466
  * else:
19586
19467
  * buffer[24] = get_char(norm_address_no_0x[22]) # <<<<<<<<<<<<<<
@@ -19592,7 +19473,7 @@ static void __pyx_f_9cchecksum_9_checksum_populate_result_buffer(char *__pyx_v_b
19592
19473
  }
19593
19474
  __pyx_L25:;
19594
19475
 
19595
- /* "cchecksum/_checksum.pyx":310
19476
+ /* "cchecksum/_checksum.pyx":284
19596
19477
  * else:
19597
19478
  * buffer[24] = get_char(norm_address_no_0x[22])
19598
19479
  * if address_hash_hex_no_0x[23] < 56: # <<<<<<<<<<<<<<
@@ -19603,7 +19484,7 @@ static void __pyx_f_9cchecksum_9_checksum_populate_result_buffer(char *__pyx_v_b
19603
19484
  __pyx_t_2 = ((*((unsigned char const *) ( /* dim=0 */ (__pyx_v_address_hash_hex_no_0x.data + __pyx_t_1 * __pyx_v_address_hash_hex_no_0x.strides[0]) ))) < 56);
19604
19485
  if (__pyx_t_2) {
19605
19486
 
19606
- /* "cchecksum/_checksum.pyx":311
19487
+ /* "cchecksum/_checksum.pyx":285
19607
19488
  * buffer[24] = get_char(norm_address_no_0x[22])
19608
19489
  * if address_hash_hex_no_0x[23] < 56:
19609
19490
  * buffer[25] = norm_address_no_0x[23] # <<<<<<<<<<<<<<
@@ -19612,7 +19493,7 @@ static void __pyx_f_9cchecksum_9_checksum_populate_result_buffer(char *__pyx_v_b
19612
19493
  */
19613
19494
  (__pyx_v_buffer[25]) = (__pyx_v_norm_address_no_0x[23]);
19614
19495
 
19615
- /* "cchecksum/_checksum.pyx":310
19496
+ /* "cchecksum/_checksum.pyx":284
19616
19497
  * else:
19617
19498
  * buffer[24] = get_char(norm_address_no_0x[22])
19618
19499
  * if address_hash_hex_no_0x[23] < 56: # <<<<<<<<<<<<<<
@@ -19622,7 +19503,7 @@ static void __pyx_f_9cchecksum_9_checksum_populate_result_buffer(char *__pyx_v_b
19622
19503
  goto __pyx_L26;
19623
19504
  }
19624
19505
 
19625
- /* "cchecksum/_checksum.pyx":313
19506
+ /* "cchecksum/_checksum.pyx":287
19626
19507
  * buffer[25] = norm_address_no_0x[23]
19627
19508
  * else:
19628
19509
  * buffer[25] = get_char(norm_address_no_0x[23]) # <<<<<<<<<<<<<<
@@ -19634,7 +19515,7 @@ static void __pyx_f_9cchecksum_9_checksum_populate_result_buffer(char *__pyx_v_b
19634
19515
  }
19635
19516
  __pyx_L26:;
19636
19517
 
19637
- /* "cchecksum/_checksum.pyx":314
19518
+ /* "cchecksum/_checksum.pyx":288
19638
19519
  * else:
19639
19520
  * buffer[25] = get_char(norm_address_no_0x[23])
19640
19521
  * if address_hash_hex_no_0x[24] < 56: # <<<<<<<<<<<<<<
@@ -19645,7 +19526,7 @@ static void __pyx_f_9cchecksum_9_checksum_populate_result_buffer(char *__pyx_v_b
19645
19526
  __pyx_t_2 = ((*((unsigned char const *) ( /* dim=0 */ (__pyx_v_address_hash_hex_no_0x.data + __pyx_t_1 * __pyx_v_address_hash_hex_no_0x.strides[0]) ))) < 56);
19646
19527
  if (__pyx_t_2) {
19647
19528
 
19648
- /* "cchecksum/_checksum.pyx":315
19529
+ /* "cchecksum/_checksum.pyx":289
19649
19530
  * buffer[25] = get_char(norm_address_no_0x[23])
19650
19531
  * if address_hash_hex_no_0x[24] < 56:
19651
19532
  * buffer[26] = norm_address_no_0x[24] # <<<<<<<<<<<<<<
@@ -19654,7 +19535,7 @@ static void __pyx_f_9cchecksum_9_checksum_populate_result_buffer(char *__pyx_v_b
19654
19535
  */
19655
19536
  (__pyx_v_buffer[26]) = (__pyx_v_norm_address_no_0x[24]);
19656
19537
 
19657
- /* "cchecksum/_checksum.pyx":314
19538
+ /* "cchecksum/_checksum.pyx":288
19658
19539
  * else:
19659
19540
  * buffer[25] = get_char(norm_address_no_0x[23])
19660
19541
  * if address_hash_hex_no_0x[24] < 56: # <<<<<<<<<<<<<<
@@ -19664,7 +19545,7 @@ static void __pyx_f_9cchecksum_9_checksum_populate_result_buffer(char *__pyx_v_b
19664
19545
  goto __pyx_L27;
19665
19546
  }
19666
19547
 
19667
- /* "cchecksum/_checksum.pyx":317
19548
+ /* "cchecksum/_checksum.pyx":291
19668
19549
  * buffer[26] = norm_address_no_0x[24]
19669
19550
  * else:
19670
19551
  * buffer[26] = get_char(norm_address_no_0x[24]) # <<<<<<<<<<<<<<
@@ -19676,7 +19557,7 @@ static void __pyx_f_9cchecksum_9_checksum_populate_result_buffer(char *__pyx_v_b
19676
19557
  }
19677
19558
  __pyx_L27:;
19678
19559
 
19679
- /* "cchecksum/_checksum.pyx":318
19560
+ /* "cchecksum/_checksum.pyx":292
19680
19561
  * else:
19681
19562
  * buffer[26] = get_char(norm_address_no_0x[24])
19682
19563
  * if address_hash_hex_no_0x[25] < 56: # <<<<<<<<<<<<<<
@@ -19687,7 +19568,7 @@ static void __pyx_f_9cchecksum_9_checksum_populate_result_buffer(char *__pyx_v_b
19687
19568
  __pyx_t_2 = ((*((unsigned char const *) ( /* dim=0 */ (__pyx_v_address_hash_hex_no_0x.data + __pyx_t_1 * __pyx_v_address_hash_hex_no_0x.strides[0]) ))) < 56);
19688
19569
  if (__pyx_t_2) {
19689
19570
 
19690
- /* "cchecksum/_checksum.pyx":319
19571
+ /* "cchecksum/_checksum.pyx":293
19691
19572
  * buffer[26] = get_char(norm_address_no_0x[24])
19692
19573
  * if address_hash_hex_no_0x[25] < 56:
19693
19574
  * buffer[27] = norm_address_no_0x[25] # <<<<<<<<<<<<<<
@@ -19696,7 +19577,7 @@ static void __pyx_f_9cchecksum_9_checksum_populate_result_buffer(char *__pyx_v_b
19696
19577
  */
19697
19578
  (__pyx_v_buffer[27]) = (__pyx_v_norm_address_no_0x[25]);
19698
19579
 
19699
- /* "cchecksum/_checksum.pyx":318
19580
+ /* "cchecksum/_checksum.pyx":292
19700
19581
  * else:
19701
19582
  * buffer[26] = get_char(norm_address_no_0x[24])
19702
19583
  * if address_hash_hex_no_0x[25] < 56: # <<<<<<<<<<<<<<
@@ -19706,7 +19587,7 @@ static void __pyx_f_9cchecksum_9_checksum_populate_result_buffer(char *__pyx_v_b
19706
19587
  goto __pyx_L28;
19707
19588
  }
19708
19589
 
19709
- /* "cchecksum/_checksum.pyx":321
19590
+ /* "cchecksum/_checksum.pyx":295
19710
19591
  * buffer[27] = norm_address_no_0x[25]
19711
19592
  * else:
19712
19593
  * buffer[27] = get_char(norm_address_no_0x[25]) # <<<<<<<<<<<<<<
@@ -19718,7 +19599,7 @@ static void __pyx_f_9cchecksum_9_checksum_populate_result_buffer(char *__pyx_v_b
19718
19599
  }
19719
19600
  __pyx_L28:;
19720
19601
 
19721
- /* "cchecksum/_checksum.pyx":322
19602
+ /* "cchecksum/_checksum.pyx":296
19722
19603
  * else:
19723
19604
  * buffer[27] = get_char(norm_address_no_0x[25])
19724
19605
  * if address_hash_hex_no_0x[26] < 56: # <<<<<<<<<<<<<<
@@ -19729,7 +19610,7 @@ static void __pyx_f_9cchecksum_9_checksum_populate_result_buffer(char *__pyx_v_b
19729
19610
  __pyx_t_2 = ((*((unsigned char const *) ( /* dim=0 */ (__pyx_v_address_hash_hex_no_0x.data + __pyx_t_1 * __pyx_v_address_hash_hex_no_0x.strides[0]) ))) < 56);
19730
19611
  if (__pyx_t_2) {
19731
19612
 
19732
- /* "cchecksum/_checksum.pyx":323
19613
+ /* "cchecksum/_checksum.pyx":297
19733
19614
  * buffer[27] = get_char(norm_address_no_0x[25])
19734
19615
  * if address_hash_hex_no_0x[26] < 56:
19735
19616
  * buffer[28] = norm_address_no_0x[26] # <<<<<<<<<<<<<<
@@ -19738,7 +19619,7 @@ static void __pyx_f_9cchecksum_9_checksum_populate_result_buffer(char *__pyx_v_b
19738
19619
  */
19739
19620
  (__pyx_v_buffer[28]) = (__pyx_v_norm_address_no_0x[26]);
19740
19621
 
19741
- /* "cchecksum/_checksum.pyx":322
19622
+ /* "cchecksum/_checksum.pyx":296
19742
19623
  * else:
19743
19624
  * buffer[27] = get_char(norm_address_no_0x[25])
19744
19625
  * if address_hash_hex_no_0x[26] < 56: # <<<<<<<<<<<<<<
@@ -19748,7 +19629,7 @@ static void __pyx_f_9cchecksum_9_checksum_populate_result_buffer(char *__pyx_v_b
19748
19629
  goto __pyx_L29;
19749
19630
  }
19750
19631
 
19751
- /* "cchecksum/_checksum.pyx":325
19632
+ /* "cchecksum/_checksum.pyx":299
19752
19633
  * buffer[28] = norm_address_no_0x[26]
19753
19634
  * else:
19754
19635
  * buffer[28] = get_char(norm_address_no_0x[26]) # <<<<<<<<<<<<<<
@@ -19760,7 +19641,7 @@ static void __pyx_f_9cchecksum_9_checksum_populate_result_buffer(char *__pyx_v_b
19760
19641
  }
19761
19642
  __pyx_L29:;
19762
19643
 
19763
- /* "cchecksum/_checksum.pyx":326
19644
+ /* "cchecksum/_checksum.pyx":300
19764
19645
  * else:
19765
19646
  * buffer[28] = get_char(norm_address_no_0x[26])
19766
19647
  * if address_hash_hex_no_0x[27] < 56: # <<<<<<<<<<<<<<
@@ -19771,7 +19652,7 @@ static void __pyx_f_9cchecksum_9_checksum_populate_result_buffer(char *__pyx_v_b
19771
19652
  __pyx_t_2 = ((*((unsigned char const *) ( /* dim=0 */ (__pyx_v_address_hash_hex_no_0x.data + __pyx_t_1 * __pyx_v_address_hash_hex_no_0x.strides[0]) ))) < 56);
19772
19653
  if (__pyx_t_2) {
19773
19654
 
19774
- /* "cchecksum/_checksum.pyx":327
19655
+ /* "cchecksum/_checksum.pyx":301
19775
19656
  * buffer[28] = get_char(norm_address_no_0x[26])
19776
19657
  * if address_hash_hex_no_0x[27] < 56:
19777
19658
  * buffer[29] = norm_address_no_0x[27] # <<<<<<<<<<<<<<
@@ -19780,7 +19661,7 @@ static void __pyx_f_9cchecksum_9_checksum_populate_result_buffer(char *__pyx_v_b
19780
19661
  */
19781
19662
  (__pyx_v_buffer[29]) = (__pyx_v_norm_address_no_0x[27]);
19782
19663
 
19783
- /* "cchecksum/_checksum.pyx":326
19664
+ /* "cchecksum/_checksum.pyx":300
19784
19665
  * else:
19785
19666
  * buffer[28] = get_char(norm_address_no_0x[26])
19786
19667
  * if address_hash_hex_no_0x[27] < 56: # <<<<<<<<<<<<<<
@@ -19790,7 +19671,7 @@ static void __pyx_f_9cchecksum_9_checksum_populate_result_buffer(char *__pyx_v_b
19790
19671
  goto __pyx_L30;
19791
19672
  }
19792
19673
 
19793
- /* "cchecksum/_checksum.pyx":329
19674
+ /* "cchecksum/_checksum.pyx":303
19794
19675
  * buffer[29] = norm_address_no_0x[27]
19795
19676
  * else:
19796
19677
  * buffer[29] = get_char(norm_address_no_0x[27]) # <<<<<<<<<<<<<<
@@ -19802,7 +19683,7 @@ static void __pyx_f_9cchecksum_9_checksum_populate_result_buffer(char *__pyx_v_b
19802
19683
  }
19803
19684
  __pyx_L30:;
19804
19685
 
19805
- /* "cchecksum/_checksum.pyx":330
19686
+ /* "cchecksum/_checksum.pyx":304
19806
19687
  * else:
19807
19688
  * buffer[29] = get_char(norm_address_no_0x[27])
19808
19689
  * if address_hash_hex_no_0x[28] < 56: # <<<<<<<<<<<<<<
@@ -19813,7 +19694,7 @@ static void __pyx_f_9cchecksum_9_checksum_populate_result_buffer(char *__pyx_v_b
19813
19694
  __pyx_t_2 = ((*((unsigned char const *) ( /* dim=0 */ (__pyx_v_address_hash_hex_no_0x.data + __pyx_t_1 * __pyx_v_address_hash_hex_no_0x.strides[0]) ))) < 56);
19814
19695
  if (__pyx_t_2) {
19815
19696
 
19816
- /* "cchecksum/_checksum.pyx":331
19697
+ /* "cchecksum/_checksum.pyx":305
19817
19698
  * buffer[29] = get_char(norm_address_no_0x[27])
19818
19699
  * if address_hash_hex_no_0x[28] < 56:
19819
19700
  * buffer[30] = norm_address_no_0x[28] # <<<<<<<<<<<<<<
@@ -19822,7 +19703,7 @@ static void __pyx_f_9cchecksum_9_checksum_populate_result_buffer(char *__pyx_v_b
19822
19703
  */
19823
19704
  (__pyx_v_buffer[30]) = (__pyx_v_norm_address_no_0x[28]);
19824
19705
 
19825
- /* "cchecksum/_checksum.pyx":330
19706
+ /* "cchecksum/_checksum.pyx":304
19826
19707
  * else:
19827
19708
  * buffer[29] = get_char(norm_address_no_0x[27])
19828
19709
  * if address_hash_hex_no_0x[28] < 56: # <<<<<<<<<<<<<<
@@ -19832,7 +19713,7 @@ static void __pyx_f_9cchecksum_9_checksum_populate_result_buffer(char *__pyx_v_b
19832
19713
  goto __pyx_L31;
19833
19714
  }
19834
19715
 
19835
- /* "cchecksum/_checksum.pyx":333
19716
+ /* "cchecksum/_checksum.pyx":307
19836
19717
  * buffer[30] = norm_address_no_0x[28]
19837
19718
  * else:
19838
19719
  * buffer[30] = get_char(norm_address_no_0x[28]) # <<<<<<<<<<<<<<
@@ -19844,7 +19725,7 @@ static void __pyx_f_9cchecksum_9_checksum_populate_result_buffer(char *__pyx_v_b
19844
19725
  }
19845
19726
  __pyx_L31:;
19846
19727
 
19847
- /* "cchecksum/_checksum.pyx":334
19728
+ /* "cchecksum/_checksum.pyx":308
19848
19729
  * else:
19849
19730
  * buffer[30] = get_char(norm_address_no_0x[28])
19850
19731
  * if address_hash_hex_no_0x[29] < 56: # <<<<<<<<<<<<<<
@@ -19855,7 +19736,7 @@ static void __pyx_f_9cchecksum_9_checksum_populate_result_buffer(char *__pyx_v_b
19855
19736
  __pyx_t_2 = ((*((unsigned char const *) ( /* dim=0 */ (__pyx_v_address_hash_hex_no_0x.data + __pyx_t_1 * __pyx_v_address_hash_hex_no_0x.strides[0]) ))) < 56);
19856
19737
  if (__pyx_t_2) {
19857
19738
 
19858
- /* "cchecksum/_checksum.pyx":335
19739
+ /* "cchecksum/_checksum.pyx":309
19859
19740
  * buffer[30] = get_char(norm_address_no_0x[28])
19860
19741
  * if address_hash_hex_no_0x[29] < 56:
19861
19742
  * buffer[31] = norm_address_no_0x[29] # <<<<<<<<<<<<<<
@@ -19864,7 +19745,7 @@ static void __pyx_f_9cchecksum_9_checksum_populate_result_buffer(char *__pyx_v_b
19864
19745
  */
19865
19746
  (__pyx_v_buffer[31]) = (__pyx_v_norm_address_no_0x[29]);
19866
19747
 
19867
- /* "cchecksum/_checksum.pyx":334
19748
+ /* "cchecksum/_checksum.pyx":308
19868
19749
  * else:
19869
19750
  * buffer[30] = get_char(norm_address_no_0x[28])
19870
19751
  * if address_hash_hex_no_0x[29] < 56: # <<<<<<<<<<<<<<
@@ -19874,7 +19755,7 @@ static void __pyx_f_9cchecksum_9_checksum_populate_result_buffer(char *__pyx_v_b
19874
19755
  goto __pyx_L32;
19875
19756
  }
19876
19757
 
19877
- /* "cchecksum/_checksum.pyx":337
19758
+ /* "cchecksum/_checksum.pyx":311
19878
19759
  * buffer[31] = norm_address_no_0x[29]
19879
19760
  * else:
19880
19761
  * buffer[31] = get_char(norm_address_no_0x[29]) # <<<<<<<<<<<<<<
@@ -19886,7 +19767,7 @@ static void __pyx_f_9cchecksum_9_checksum_populate_result_buffer(char *__pyx_v_b
19886
19767
  }
19887
19768
  __pyx_L32:;
19888
19769
 
19889
- /* "cchecksum/_checksum.pyx":338
19770
+ /* "cchecksum/_checksum.pyx":312
19890
19771
  * else:
19891
19772
  * buffer[31] = get_char(norm_address_no_0x[29])
19892
19773
  * if address_hash_hex_no_0x[30] < 56: # <<<<<<<<<<<<<<
@@ -19897,7 +19778,7 @@ static void __pyx_f_9cchecksum_9_checksum_populate_result_buffer(char *__pyx_v_b
19897
19778
  __pyx_t_2 = ((*((unsigned char const *) ( /* dim=0 */ (__pyx_v_address_hash_hex_no_0x.data + __pyx_t_1 * __pyx_v_address_hash_hex_no_0x.strides[0]) ))) < 56);
19898
19779
  if (__pyx_t_2) {
19899
19780
 
19900
- /* "cchecksum/_checksum.pyx":339
19781
+ /* "cchecksum/_checksum.pyx":313
19901
19782
  * buffer[31] = get_char(norm_address_no_0x[29])
19902
19783
  * if address_hash_hex_no_0x[30] < 56:
19903
19784
  * buffer[32] = norm_address_no_0x[30] # <<<<<<<<<<<<<<
@@ -19906,7 +19787,7 @@ static void __pyx_f_9cchecksum_9_checksum_populate_result_buffer(char *__pyx_v_b
19906
19787
  */
19907
19788
  (__pyx_v_buffer[32]) = (__pyx_v_norm_address_no_0x[30]);
19908
19789
 
19909
- /* "cchecksum/_checksum.pyx":338
19790
+ /* "cchecksum/_checksum.pyx":312
19910
19791
  * else:
19911
19792
  * buffer[31] = get_char(norm_address_no_0x[29])
19912
19793
  * if address_hash_hex_no_0x[30] < 56: # <<<<<<<<<<<<<<
@@ -19916,7 +19797,7 @@ static void __pyx_f_9cchecksum_9_checksum_populate_result_buffer(char *__pyx_v_b
19916
19797
  goto __pyx_L33;
19917
19798
  }
19918
19799
 
19919
- /* "cchecksum/_checksum.pyx":341
19800
+ /* "cchecksum/_checksum.pyx":315
19920
19801
  * buffer[32] = norm_address_no_0x[30]
19921
19802
  * else:
19922
19803
  * buffer[32] = get_char(norm_address_no_0x[30]) # <<<<<<<<<<<<<<
@@ -19928,7 +19809,7 @@ static void __pyx_f_9cchecksum_9_checksum_populate_result_buffer(char *__pyx_v_b
19928
19809
  }
19929
19810
  __pyx_L33:;
19930
19811
 
19931
- /* "cchecksum/_checksum.pyx":342
19812
+ /* "cchecksum/_checksum.pyx":316
19932
19813
  * else:
19933
19814
  * buffer[32] = get_char(norm_address_no_0x[30])
19934
19815
  * if address_hash_hex_no_0x[31] < 56: # <<<<<<<<<<<<<<
@@ -19939,7 +19820,7 @@ static void __pyx_f_9cchecksum_9_checksum_populate_result_buffer(char *__pyx_v_b
19939
19820
  __pyx_t_2 = ((*((unsigned char const *) ( /* dim=0 */ (__pyx_v_address_hash_hex_no_0x.data + __pyx_t_1 * __pyx_v_address_hash_hex_no_0x.strides[0]) ))) < 56);
19940
19821
  if (__pyx_t_2) {
19941
19822
 
19942
- /* "cchecksum/_checksum.pyx":343
19823
+ /* "cchecksum/_checksum.pyx":317
19943
19824
  * buffer[32] = get_char(norm_address_no_0x[30])
19944
19825
  * if address_hash_hex_no_0x[31] < 56:
19945
19826
  * buffer[33] = norm_address_no_0x[31] # <<<<<<<<<<<<<<
@@ -19948,7 +19829,7 @@ static void __pyx_f_9cchecksum_9_checksum_populate_result_buffer(char *__pyx_v_b
19948
19829
  */
19949
19830
  (__pyx_v_buffer[33]) = (__pyx_v_norm_address_no_0x[31]);
19950
19831
 
19951
- /* "cchecksum/_checksum.pyx":342
19832
+ /* "cchecksum/_checksum.pyx":316
19952
19833
  * else:
19953
19834
  * buffer[32] = get_char(norm_address_no_0x[30])
19954
19835
  * if address_hash_hex_no_0x[31] < 56: # <<<<<<<<<<<<<<
@@ -19958,7 +19839,7 @@ static void __pyx_f_9cchecksum_9_checksum_populate_result_buffer(char *__pyx_v_b
19958
19839
  goto __pyx_L34;
19959
19840
  }
19960
19841
 
19961
- /* "cchecksum/_checksum.pyx":345
19842
+ /* "cchecksum/_checksum.pyx":319
19962
19843
  * buffer[33] = norm_address_no_0x[31]
19963
19844
  * else:
19964
19845
  * buffer[33] = get_char(norm_address_no_0x[31]) # <<<<<<<<<<<<<<
@@ -19970,7 +19851,7 @@ static void __pyx_f_9cchecksum_9_checksum_populate_result_buffer(char *__pyx_v_b
19970
19851
  }
19971
19852
  __pyx_L34:;
19972
19853
 
19973
- /* "cchecksum/_checksum.pyx":346
19854
+ /* "cchecksum/_checksum.pyx":320
19974
19855
  * else:
19975
19856
  * buffer[33] = get_char(norm_address_no_0x[31])
19976
19857
  * if address_hash_hex_no_0x[32] < 56: # <<<<<<<<<<<<<<
@@ -19981,7 +19862,7 @@ static void __pyx_f_9cchecksum_9_checksum_populate_result_buffer(char *__pyx_v_b
19981
19862
  __pyx_t_2 = ((*((unsigned char const *) ( /* dim=0 */ (__pyx_v_address_hash_hex_no_0x.data + __pyx_t_1 * __pyx_v_address_hash_hex_no_0x.strides[0]) ))) < 56);
19982
19863
  if (__pyx_t_2) {
19983
19864
 
19984
- /* "cchecksum/_checksum.pyx":347
19865
+ /* "cchecksum/_checksum.pyx":321
19985
19866
  * buffer[33] = get_char(norm_address_no_0x[31])
19986
19867
  * if address_hash_hex_no_0x[32] < 56:
19987
19868
  * buffer[34] = norm_address_no_0x[32] # <<<<<<<<<<<<<<
@@ -19990,7 +19871,7 @@ static void __pyx_f_9cchecksum_9_checksum_populate_result_buffer(char *__pyx_v_b
19990
19871
  */
19991
19872
  (__pyx_v_buffer[34]) = (__pyx_v_norm_address_no_0x[32]);
19992
19873
 
19993
- /* "cchecksum/_checksum.pyx":346
19874
+ /* "cchecksum/_checksum.pyx":320
19994
19875
  * else:
19995
19876
  * buffer[33] = get_char(norm_address_no_0x[31])
19996
19877
  * if address_hash_hex_no_0x[32] < 56: # <<<<<<<<<<<<<<
@@ -20000,7 +19881,7 @@ static void __pyx_f_9cchecksum_9_checksum_populate_result_buffer(char *__pyx_v_b
20000
19881
  goto __pyx_L35;
20001
19882
  }
20002
19883
 
20003
- /* "cchecksum/_checksum.pyx":349
19884
+ /* "cchecksum/_checksum.pyx":323
20004
19885
  * buffer[34] = norm_address_no_0x[32]
20005
19886
  * else:
20006
19887
  * buffer[34] = get_char(norm_address_no_0x[32]) # <<<<<<<<<<<<<<
@@ -20012,7 +19893,7 @@ static void __pyx_f_9cchecksum_9_checksum_populate_result_buffer(char *__pyx_v_b
20012
19893
  }
20013
19894
  __pyx_L35:;
20014
19895
 
20015
- /* "cchecksum/_checksum.pyx":350
19896
+ /* "cchecksum/_checksum.pyx":324
20016
19897
  * else:
20017
19898
  * buffer[34] = get_char(norm_address_no_0x[32])
20018
19899
  * if address_hash_hex_no_0x[33] < 56: # <<<<<<<<<<<<<<
@@ -20023,7 +19904,7 @@ static void __pyx_f_9cchecksum_9_checksum_populate_result_buffer(char *__pyx_v_b
20023
19904
  __pyx_t_2 = ((*((unsigned char const *) ( /* dim=0 */ (__pyx_v_address_hash_hex_no_0x.data + __pyx_t_1 * __pyx_v_address_hash_hex_no_0x.strides[0]) ))) < 56);
20024
19905
  if (__pyx_t_2) {
20025
19906
 
20026
- /* "cchecksum/_checksum.pyx":351
19907
+ /* "cchecksum/_checksum.pyx":325
20027
19908
  * buffer[34] = get_char(norm_address_no_0x[32])
20028
19909
  * if address_hash_hex_no_0x[33] < 56:
20029
19910
  * buffer[35] = norm_address_no_0x[33] # <<<<<<<<<<<<<<
@@ -20032,7 +19913,7 @@ static void __pyx_f_9cchecksum_9_checksum_populate_result_buffer(char *__pyx_v_b
20032
19913
  */
20033
19914
  (__pyx_v_buffer[35]) = (__pyx_v_norm_address_no_0x[33]);
20034
19915
 
20035
- /* "cchecksum/_checksum.pyx":350
19916
+ /* "cchecksum/_checksum.pyx":324
20036
19917
  * else:
20037
19918
  * buffer[34] = get_char(norm_address_no_0x[32])
20038
19919
  * if address_hash_hex_no_0x[33] < 56: # <<<<<<<<<<<<<<
@@ -20042,7 +19923,7 @@ static void __pyx_f_9cchecksum_9_checksum_populate_result_buffer(char *__pyx_v_b
20042
19923
  goto __pyx_L36;
20043
19924
  }
20044
19925
 
20045
- /* "cchecksum/_checksum.pyx":353
19926
+ /* "cchecksum/_checksum.pyx":327
20046
19927
  * buffer[35] = norm_address_no_0x[33]
20047
19928
  * else:
20048
19929
  * buffer[35] = get_char(norm_address_no_0x[33]) # <<<<<<<<<<<<<<
@@ -20054,7 +19935,7 @@ static void __pyx_f_9cchecksum_9_checksum_populate_result_buffer(char *__pyx_v_b
20054
19935
  }
20055
19936
  __pyx_L36:;
20056
19937
 
20057
- /* "cchecksum/_checksum.pyx":354
19938
+ /* "cchecksum/_checksum.pyx":328
20058
19939
  * else:
20059
19940
  * buffer[35] = get_char(norm_address_no_0x[33])
20060
19941
  * if address_hash_hex_no_0x[34] < 56: # <<<<<<<<<<<<<<
@@ -20065,7 +19946,7 @@ static void __pyx_f_9cchecksum_9_checksum_populate_result_buffer(char *__pyx_v_b
20065
19946
  __pyx_t_2 = ((*((unsigned char const *) ( /* dim=0 */ (__pyx_v_address_hash_hex_no_0x.data + __pyx_t_1 * __pyx_v_address_hash_hex_no_0x.strides[0]) ))) < 56);
20066
19947
  if (__pyx_t_2) {
20067
19948
 
20068
- /* "cchecksum/_checksum.pyx":355
19949
+ /* "cchecksum/_checksum.pyx":329
20069
19950
  * buffer[35] = get_char(norm_address_no_0x[33])
20070
19951
  * if address_hash_hex_no_0x[34] < 56:
20071
19952
  * buffer[36] = norm_address_no_0x[34] # <<<<<<<<<<<<<<
@@ -20074,7 +19955,7 @@ static void __pyx_f_9cchecksum_9_checksum_populate_result_buffer(char *__pyx_v_b
20074
19955
  */
20075
19956
  (__pyx_v_buffer[36]) = (__pyx_v_norm_address_no_0x[34]);
20076
19957
 
20077
- /* "cchecksum/_checksum.pyx":354
19958
+ /* "cchecksum/_checksum.pyx":328
20078
19959
  * else:
20079
19960
  * buffer[35] = get_char(norm_address_no_0x[33])
20080
19961
  * if address_hash_hex_no_0x[34] < 56: # <<<<<<<<<<<<<<
@@ -20084,7 +19965,7 @@ static void __pyx_f_9cchecksum_9_checksum_populate_result_buffer(char *__pyx_v_b
20084
19965
  goto __pyx_L37;
20085
19966
  }
20086
19967
 
20087
- /* "cchecksum/_checksum.pyx":357
19968
+ /* "cchecksum/_checksum.pyx":331
20088
19969
  * buffer[36] = norm_address_no_0x[34]
20089
19970
  * else:
20090
19971
  * buffer[36] = get_char(norm_address_no_0x[34]) # <<<<<<<<<<<<<<
@@ -20096,7 +19977,7 @@ static void __pyx_f_9cchecksum_9_checksum_populate_result_buffer(char *__pyx_v_b
20096
19977
  }
20097
19978
  __pyx_L37:;
20098
19979
 
20099
- /* "cchecksum/_checksum.pyx":358
19980
+ /* "cchecksum/_checksum.pyx":332
20100
19981
  * else:
20101
19982
  * buffer[36] = get_char(norm_address_no_0x[34])
20102
19983
  * if address_hash_hex_no_0x[35] < 56: # <<<<<<<<<<<<<<
@@ -20107,7 +19988,7 @@ static void __pyx_f_9cchecksum_9_checksum_populate_result_buffer(char *__pyx_v_b
20107
19988
  __pyx_t_2 = ((*((unsigned char const *) ( /* dim=0 */ (__pyx_v_address_hash_hex_no_0x.data + __pyx_t_1 * __pyx_v_address_hash_hex_no_0x.strides[0]) ))) < 56);
20108
19989
  if (__pyx_t_2) {
20109
19990
 
20110
- /* "cchecksum/_checksum.pyx":359
19991
+ /* "cchecksum/_checksum.pyx":333
20111
19992
  * buffer[36] = get_char(norm_address_no_0x[34])
20112
19993
  * if address_hash_hex_no_0x[35] < 56:
20113
19994
  * buffer[37] = norm_address_no_0x[35] # <<<<<<<<<<<<<<
@@ -20116,7 +19997,7 @@ static void __pyx_f_9cchecksum_9_checksum_populate_result_buffer(char *__pyx_v_b
20116
19997
  */
20117
19998
  (__pyx_v_buffer[37]) = (__pyx_v_norm_address_no_0x[35]);
20118
19999
 
20119
- /* "cchecksum/_checksum.pyx":358
20000
+ /* "cchecksum/_checksum.pyx":332
20120
20001
  * else:
20121
20002
  * buffer[36] = get_char(norm_address_no_0x[34])
20122
20003
  * if address_hash_hex_no_0x[35] < 56: # <<<<<<<<<<<<<<
@@ -20126,7 +20007,7 @@ static void __pyx_f_9cchecksum_9_checksum_populate_result_buffer(char *__pyx_v_b
20126
20007
  goto __pyx_L38;
20127
20008
  }
20128
20009
 
20129
- /* "cchecksum/_checksum.pyx":361
20010
+ /* "cchecksum/_checksum.pyx":335
20130
20011
  * buffer[37] = norm_address_no_0x[35]
20131
20012
  * else:
20132
20013
  * buffer[37] = get_char(norm_address_no_0x[35]) # <<<<<<<<<<<<<<
@@ -20138,7 +20019,7 @@ static void __pyx_f_9cchecksum_9_checksum_populate_result_buffer(char *__pyx_v_b
20138
20019
  }
20139
20020
  __pyx_L38:;
20140
20021
 
20141
- /* "cchecksum/_checksum.pyx":362
20022
+ /* "cchecksum/_checksum.pyx":336
20142
20023
  * else:
20143
20024
  * buffer[37] = get_char(norm_address_no_0x[35])
20144
20025
  * if address_hash_hex_no_0x[36] < 56: # <<<<<<<<<<<<<<
@@ -20149,7 +20030,7 @@ static void __pyx_f_9cchecksum_9_checksum_populate_result_buffer(char *__pyx_v_b
20149
20030
  __pyx_t_2 = ((*((unsigned char const *) ( /* dim=0 */ (__pyx_v_address_hash_hex_no_0x.data + __pyx_t_1 * __pyx_v_address_hash_hex_no_0x.strides[0]) ))) < 56);
20150
20031
  if (__pyx_t_2) {
20151
20032
 
20152
- /* "cchecksum/_checksum.pyx":363
20033
+ /* "cchecksum/_checksum.pyx":337
20153
20034
  * buffer[37] = get_char(norm_address_no_0x[35])
20154
20035
  * if address_hash_hex_no_0x[36] < 56:
20155
20036
  * buffer[38] = norm_address_no_0x[36] # <<<<<<<<<<<<<<
@@ -20158,7 +20039,7 @@ static void __pyx_f_9cchecksum_9_checksum_populate_result_buffer(char *__pyx_v_b
20158
20039
  */
20159
20040
  (__pyx_v_buffer[38]) = (__pyx_v_norm_address_no_0x[36]);
20160
20041
 
20161
- /* "cchecksum/_checksum.pyx":362
20042
+ /* "cchecksum/_checksum.pyx":336
20162
20043
  * else:
20163
20044
  * buffer[37] = get_char(norm_address_no_0x[35])
20164
20045
  * if address_hash_hex_no_0x[36] < 56: # <<<<<<<<<<<<<<
@@ -20168,7 +20049,7 @@ static void __pyx_f_9cchecksum_9_checksum_populate_result_buffer(char *__pyx_v_b
20168
20049
  goto __pyx_L39;
20169
20050
  }
20170
20051
 
20171
- /* "cchecksum/_checksum.pyx":365
20052
+ /* "cchecksum/_checksum.pyx":339
20172
20053
  * buffer[38] = norm_address_no_0x[36]
20173
20054
  * else:
20174
20055
  * buffer[38] = get_char(norm_address_no_0x[36]) # <<<<<<<<<<<<<<
@@ -20180,7 +20061,7 @@ static void __pyx_f_9cchecksum_9_checksum_populate_result_buffer(char *__pyx_v_b
20180
20061
  }
20181
20062
  __pyx_L39:;
20182
20063
 
20183
- /* "cchecksum/_checksum.pyx":366
20064
+ /* "cchecksum/_checksum.pyx":340
20184
20065
  * else:
20185
20066
  * buffer[38] = get_char(norm_address_no_0x[36])
20186
20067
  * if address_hash_hex_no_0x[37] < 56: # <<<<<<<<<<<<<<
@@ -20191,7 +20072,7 @@ static void __pyx_f_9cchecksum_9_checksum_populate_result_buffer(char *__pyx_v_b
20191
20072
  __pyx_t_2 = ((*((unsigned char const *) ( /* dim=0 */ (__pyx_v_address_hash_hex_no_0x.data + __pyx_t_1 * __pyx_v_address_hash_hex_no_0x.strides[0]) ))) < 56);
20192
20073
  if (__pyx_t_2) {
20193
20074
 
20194
- /* "cchecksum/_checksum.pyx":367
20075
+ /* "cchecksum/_checksum.pyx":341
20195
20076
  * buffer[38] = get_char(norm_address_no_0x[36])
20196
20077
  * if address_hash_hex_no_0x[37] < 56:
20197
20078
  * buffer[39] = norm_address_no_0x[37] # <<<<<<<<<<<<<<
@@ -20200,7 +20081,7 @@ static void __pyx_f_9cchecksum_9_checksum_populate_result_buffer(char *__pyx_v_b
20200
20081
  */
20201
20082
  (__pyx_v_buffer[39]) = (__pyx_v_norm_address_no_0x[37]);
20202
20083
 
20203
- /* "cchecksum/_checksum.pyx":366
20084
+ /* "cchecksum/_checksum.pyx":340
20204
20085
  * else:
20205
20086
  * buffer[38] = get_char(norm_address_no_0x[36])
20206
20087
  * if address_hash_hex_no_0x[37] < 56: # <<<<<<<<<<<<<<
@@ -20210,7 +20091,7 @@ static void __pyx_f_9cchecksum_9_checksum_populate_result_buffer(char *__pyx_v_b
20210
20091
  goto __pyx_L40;
20211
20092
  }
20212
20093
 
20213
- /* "cchecksum/_checksum.pyx":369
20094
+ /* "cchecksum/_checksum.pyx":343
20214
20095
  * buffer[39] = norm_address_no_0x[37]
20215
20096
  * else:
20216
20097
  * buffer[39] = get_char(norm_address_no_0x[37]) # <<<<<<<<<<<<<<
@@ -20222,7 +20103,7 @@ static void __pyx_f_9cchecksum_9_checksum_populate_result_buffer(char *__pyx_v_b
20222
20103
  }
20223
20104
  __pyx_L40:;
20224
20105
 
20225
- /* "cchecksum/_checksum.pyx":370
20106
+ /* "cchecksum/_checksum.pyx":344
20226
20107
  * else:
20227
20108
  * buffer[39] = get_char(norm_address_no_0x[37])
20228
20109
  * if address_hash_hex_no_0x[38] < 56: # <<<<<<<<<<<<<<
@@ -20233,7 +20114,7 @@ static void __pyx_f_9cchecksum_9_checksum_populate_result_buffer(char *__pyx_v_b
20233
20114
  __pyx_t_2 = ((*((unsigned char const *) ( /* dim=0 */ (__pyx_v_address_hash_hex_no_0x.data + __pyx_t_1 * __pyx_v_address_hash_hex_no_0x.strides[0]) ))) < 56);
20234
20115
  if (__pyx_t_2) {
20235
20116
 
20236
- /* "cchecksum/_checksum.pyx":371
20117
+ /* "cchecksum/_checksum.pyx":345
20237
20118
  * buffer[39] = get_char(norm_address_no_0x[37])
20238
20119
  * if address_hash_hex_no_0x[38] < 56:
20239
20120
  * buffer[40] = norm_address_no_0x[38] # <<<<<<<<<<<<<<
@@ -20242,7 +20123,7 @@ static void __pyx_f_9cchecksum_9_checksum_populate_result_buffer(char *__pyx_v_b
20242
20123
  */
20243
20124
  (__pyx_v_buffer[40]) = (__pyx_v_norm_address_no_0x[38]);
20244
20125
 
20245
- /* "cchecksum/_checksum.pyx":370
20126
+ /* "cchecksum/_checksum.pyx":344
20246
20127
  * else:
20247
20128
  * buffer[39] = get_char(norm_address_no_0x[37])
20248
20129
  * if address_hash_hex_no_0x[38] < 56: # <<<<<<<<<<<<<<
@@ -20252,7 +20133,7 @@ static void __pyx_f_9cchecksum_9_checksum_populate_result_buffer(char *__pyx_v_b
20252
20133
  goto __pyx_L41;
20253
20134
  }
20254
20135
 
20255
- /* "cchecksum/_checksum.pyx":373
20136
+ /* "cchecksum/_checksum.pyx":347
20256
20137
  * buffer[40] = norm_address_no_0x[38]
20257
20138
  * else:
20258
20139
  * buffer[40] = get_char(norm_address_no_0x[38]) # <<<<<<<<<<<<<<
@@ -20264,7 +20145,7 @@ static void __pyx_f_9cchecksum_9_checksum_populate_result_buffer(char *__pyx_v_b
20264
20145
  }
20265
20146
  __pyx_L41:;
20266
20147
 
20267
- /* "cchecksum/_checksum.pyx":374
20148
+ /* "cchecksum/_checksum.pyx":348
20268
20149
  * else:
20269
20150
  * buffer[40] = get_char(norm_address_no_0x[38])
20270
20151
  * if address_hash_hex_no_0x[39] < 56: # <<<<<<<<<<<<<<
@@ -20275,7 +20156,7 @@ static void __pyx_f_9cchecksum_9_checksum_populate_result_buffer(char *__pyx_v_b
20275
20156
  __pyx_t_2 = ((*((unsigned char const *) ( /* dim=0 */ (__pyx_v_address_hash_hex_no_0x.data + __pyx_t_1 * __pyx_v_address_hash_hex_no_0x.strides[0]) ))) < 56);
20276
20157
  if (__pyx_t_2) {
20277
20158
 
20278
- /* "cchecksum/_checksum.pyx":375
20159
+ /* "cchecksum/_checksum.pyx":349
20279
20160
  * buffer[40] = get_char(norm_address_no_0x[38])
20280
20161
  * if address_hash_hex_no_0x[39] < 56:
20281
20162
  * buffer[41] = norm_address_no_0x[39] # <<<<<<<<<<<<<<
@@ -20284,7 +20165,7 @@ static void __pyx_f_9cchecksum_9_checksum_populate_result_buffer(char *__pyx_v_b
20284
20165
  */
20285
20166
  (__pyx_v_buffer[41]) = (__pyx_v_norm_address_no_0x[39]);
20286
20167
 
20287
- /* "cchecksum/_checksum.pyx":374
20168
+ /* "cchecksum/_checksum.pyx":348
20288
20169
  * else:
20289
20170
  * buffer[40] = get_char(norm_address_no_0x[38])
20290
20171
  * if address_hash_hex_no_0x[39] < 56: # <<<<<<<<<<<<<<
@@ -20294,7 +20175,7 @@ static void __pyx_f_9cchecksum_9_checksum_populate_result_buffer(char *__pyx_v_b
20294
20175
  goto __pyx_L42;
20295
20176
  }
20296
20177
 
20297
- /* "cchecksum/_checksum.pyx":377
20178
+ /* "cchecksum/_checksum.pyx":351
20298
20179
  * buffer[41] = norm_address_no_0x[39]
20299
20180
  * else:
20300
20181
  * buffer[41] = get_char(norm_address_no_0x[39]) # <<<<<<<<<<<<<<
@@ -20306,7 +20187,7 @@ static void __pyx_f_9cchecksum_9_checksum_populate_result_buffer(char *__pyx_v_b
20306
20187
  }
20307
20188
  __pyx_L42:;
20308
20189
 
20309
- /* "cchecksum/_checksum.pyx":193
20190
+ /* "cchecksum/_checksum.pyx":167
20310
20191
  *
20311
20192
  *
20312
20193
  * cdef void populate_result_buffer( # <<<<<<<<<<<<<<
@@ -20317,7 +20198,7 @@ static void __pyx_f_9cchecksum_9_checksum_populate_result_buffer(char *__pyx_v_b
20317
20198
  /* function exit code */
20318
20199
  }
20319
20200
 
20320
- /* "cchecksum/_checksum.pyx":380
20201
+ /* "cchecksum/_checksum.pyx":354
20321
20202
  *
20322
20203
  *
20323
20204
  * cdef inline unsigned char get_char(unsigned char c) noexcept nogil: # <<<<<<<<<<<<<<
@@ -20328,7 +20209,7 @@ static void __pyx_f_9cchecksum_9_checksum_populate_result_buffer(char *__pyx_v_b
20328
20209
  static CYTHON_INLINE unsigned char __pyx_f_9cchecksum_9_checksum_get_char(unsigned char __pyx_v_c) {
20329
20210
  unsigned char __pyx_r;
20330
20211
 
20331
- /* "cchecksum/_checksum.pyx":385
20212
+ /* "cchecksum/_checksum.pyx":359
20332
20213
  * the character is capitalized.
20333
20214
  * """
20334
20215
  * if c == 97: # a # <<<<<<<<<<<<<<
@@ -20338,7 +20219,7 @@ static CYTHON_INLINE unsigned char __pyx_f_9cchecksum_9_checksum_get_char(unsign
20338
20219
  switch (__pyx_v_c) {
20339
20220
  case 97:
20340
20221
 
20341
- /* "cchecksum/_checksum.pyx":386
20222
+ /* "cchecksum/_checksum.pyx":360
20342
20223
  * """
20343
20224
  * if c == 97: # a
20344
20225
  * return 65 # A # <<<<<<<<<<<<<<
@@ -20348,7 +20229,7 @@ static CYTHON_INLINE unsigned char __pyx_f_9cchecksum_9_checksum_get_char(unsign
20348
20229
  __pyx_r = 65;
20349
20230
  goto __pyx_L0;
20350
20231
 
20351
- /* "cchecksum/_checksum.pyx":385
20232
+ /* "cchecksum/_checksum.pyx":359
20352
20233
  * the character is capitalized.
20353
20234
  * """
20354
20235
  * if c == 97: # a # <<<<<<<<<<<<<<
@@ -20358,7 +20239,7 @@ static CYTHON_INLINE unsigned char __pyx_f_9cchecksum_9_checksum_get_char(unsign
20358
20239
  break;
20359
20240
  case 98:
20360
20241
 
20361
- /* "cchecksum/_checksum.pyx":388
20242
+ /* "cchecksum/_checksum.pyx":362
20362
20243
  * return 65 # A
20363
20244
  * elif c == 98: # b
20364
20245
  * return 66 # B # <<<<<<<<<<<<<<
@@ -20368,7 +20249,7 @@ static CYTHON_INLINE unsigned char __pyx_f_9cchecksum_9_checksum_get_char(unsign
20368
20249
  __pyx_r = 66;
20369
20250
  goto __pyx_L0;
20370
20251
 
20371
- /* "cchecksum/_checksum.pyx":387
20252
+ /* "cchecksum/_checksum.pyx":361
20372
20253
  * if c == 97: # a
20373
20254
  * return 65 # A
20374
20255
  * elif c == 98: # b # <<<<<<<<<<<<<<
@@ -20378,7 +20259,7 @@ static CYTHON_INLINE unsigned char __pyx_f_9cchecksum_9_checksum_get_char(unsign
20378
20259
  break;
20379
20260
  case 99:
20380
20261
 
20381
- /* "cchecksum/_checksum.pyx":390
20262
+ /* "cchecksum/_checksum.pyx":364
20382
20263
  * return 66 # B
20383
20264
  * elif c == 99: # c
20384
20265
  * return 67 # C # <<<<<<<<<<<<<<
@@ -20388,7 +20269,7 @@ static CYTHON_INLINE unsigned char __pyx_f_9cchecksum_9_checksum_get_char(unsign
20388
20269
  __pyx_r = 67;
20389
20270
  goto __pyx_L0;
20390
20271
 
20391
- /* "cchecksum/_checksum.pyx":389
20272
+ /* "cchecksum/_checksum.pyx":363
20392
20273
  * elif c == 98: # b
20393
20274
  * return 66 # B
20394
20275
  * elif c == 99: # c # <<<<<<<<<<<<<<
@@ -20398,7 +20279,7 @@ static CYTHON_INLINE unsigned char __pyx_f_9cchecksum_9_checksum_get_char(unsign
20398
20279
  break;
20399
20280
  case 0x64:
20400
20281
 
20401
- /* "cchecksum/_checksum.pyx":392
20282
+ /* "cchecksum/_checksum.pyx":366
20402
20283
  * return 67 # C
20403
20284
  * elif c == 100: # d
20404
20285
  * return 68 # D # <<<<<<<<<<<<<<
@@ -20408,7 +20289,7 @@ static CYTHON_INLINE unsigned char __pyx_f_9cchecksum_9_checksum_get_char(unsign
20408
20289
  __pyx_r = 68;
20409
20290
  goto __pyx_L0;
20410
20291
 
20411
- /* "cchecksum/_checksum.pyx":391
20292
+ /* "cchecksum/_checksum.pyx":365
20412
20293
  * elif c == 99: # c
20413
20294
  * return 67 # C
20414
20295
  * elif c == 100: # d # <<<<<<<<<<<<<<
@@ -20418,7 +20299,7 @@ static CYTHON_INLINE unsigned char __pyx_f_9cchecksum_9_checksum_get_char(unsign
20418
20299
  break;
20419
20300
  case 0x65:
20420
20301
 
20421
- /* "cchecksum/_checksum.pyx":394
20302
+ /* "cchecksum/_checksum.pyx":368
20422
20303
  * return 68 # D
20423
20304
  * elif c == 101: # e
20424
20305
  * return 69 # E # <<<<<<<<<<<<<<
@@ -20428,7 +20309,7 @@ static CYTHON_INLINE unsigned char __pyx_f_9cchecksum_9_checksum_get_char(unsign
20428
20309
  __pyx_r = 69;
20429
20310
  goto __pyx_L0;
20430
20311
 
20431
- /* "cchecksum/_checksum.pyx":393
20312
+ /* "cchecksum/_checksum.pyx":367
20432
20313
  * elif c == 100: # d
20433
20314
  * return 68 # D
20434
20315
  * elif c == 101: # e # <<<<<<<<<<<<<<
@@ -20438,7 +20319,7 @@ static CYTHON_INLINE unsigned char __pyx_f_9cchecksum_9_checksum_get_char(unsign
20438
20319
  break;
20439
20320
  case 0x66:
20440
20321
 
20441
- /* "cchecksum/_checksum.pyx":396
20322
+ /* "cchecksum/_checksum.pyx":370
20442
20323
  * return 69 # E
20443
20324
  * elif c == 102: # f
20444
20325
  * return 70 # F # <<<<<<<<<<<<<<
@@ -20448,7 +20329,7 @@ static CYTHON_INLINE unsigned char __pyx_f_9cchecksum_9_checksum_get_char(unsign
20448
20329
  __pyx_r = 70;
20449
20330
  goto __pyx_L0;
20450
20331
 
20451
- /* "cchecksum/_checksum.pyx":395
20332
+ /* "cchecksum/_checksum.pyx":369
20452
20333
  * elif c == 101: # e
20453
20334
  * return 69 # E
20454
20335
  * elif c == 102: # f # <<<<<<<<<<<<<<
@@ -20458,7 +20339,7 @@ static CYTHON_INLINE unsigned char __pyx_f_9cchecksum_9_checksum_get_char(unsign
20458
20339
  break;
20459
20340
  default:
20460
20341
 
20461
- /* "cchecksum/_checksum.pyx":398
20342
+ /* "cchecksum/_checksum.pyx":372
20462
20343
  * return 70 # F
20463
20344
  * else:
20464
20345
  * return c # <<<<<<<<<<<<<<
@@ -20470,7 +20351,7 @@ static CYTHON_INLINE unsigned char __pyx_f_9cchecksum_9_checksum_get_char(unsign
20470
20351
  break;
20471
20352
  }
20472
20353
 
20473
- /* "cchecksum/_checksum.pyx":380
20354
+ /* "cchecksum/_checksum.pyx":354
20474
20355
  *
20475
20356
  *
20476
20357
  * cdef inline unsigned char get_char(unsigned char c) noexcept nogil: # <<<<<<<<<<<<<<
@@ -20483,7 +20364,7 @@ static CYTHON_INLINE unsigned char __pyx_f_9cchecksum_9_checksum_get_char(unsign
20483
20364
  return __pyx_r;
20484
20365
  }
20485
20366
 
20486
- /* "cchecksum/_checksum.pyx":401
20367
+ /* "cchecksum/_checksum.pyx":375
20487
20368
  *
20488
20369
  *
20489
20370
  * cdef unsigned char* lowercase_ascii_and_validate(bytes src): # <<<<<<<<<<<<<<
@@ -20518,7 +20399,7 @@ static unsigned char *__pyx_f_9cchecksum_9_checksum_lowercase_ascii_and_validate
20518
20399
  int __pyx_clineno = 0;
20519
20400
  __Pyx_RefNannySetupContext("lowercase_ascii_and_validate", 0);
20520
20401
 
20521
- /* "cchecksum/_checksum.pyx":406
20402
+ /* "cchecksum/_checksum.pyx":380
20522
20403
  * cdef unsigned char c
20523
20404
  *
20524
20405
  * src_len = PyBytes_GET_SIZE(src) # <<<<<<<<<<<<<<
@@ -20527,7 +20408,7 @@ static unsigned char *__pyx_f_9cchecksum_9_checksum_lowercase_ascii_and_validate
20527
20408
  */
20528
20409
  __pyx_v_src_len = PyBytes_GET_SIZE(__pyx_v_src);
20529
20410
 
20530
- /* "cchecksum/_checksum.pyx":407
20411
+ /* "cchecksum/_checksum.pyx":381
20531
20412
  *
20532
20413
  * src_len = PyBytes_GET_SIZE(src)
20533
20414
  * c_string = src # <<<<<<<<<<<<<<
@@ -20536,12 +20417,12 @@ static unsigned char *__pyx_f_9cchecksum_9_checksum_lowercase_ascii_and_validate
20536
20417
  */
20537
20418
  if (unlikely(__pyx_v_src == Py_None)) {
20538
20419
  PyErr_SetString(PyExc_TypeError, "expected bytes, NoneType found");
20539
- __PYX_ERR(0, 407, __pyx_L1_error)
20420
+ __PYX_ERR(0, 381, __pyx_L1_error)
20540
20421
  }
20541
- __pyx_t_1 = __Pyx_PyBytes_AsWritableUString(__pyx_v_src); if (unlikely((!__pyx_t_1) && PyErr_Occurred())) __PYX_ERR(0, 407, __pyx_L1_error)
20422
+ __pyx_t_1 = __Pyx_PyBytes_AsWritableUString(__pyx_v_src); if (unlikely((!__pyx_t_1) && PyErr_Occurred())) __PYX_ERR(0, 381, __pyx_L1_error)
20542
20423
  __pyx_v_c_string = __pyx_t_1;
20543
20424
 
20544
- /* "cchecksum/_checksum.pyx":409
20425
+ /* "cchecksum/_checksum.pyx":383
20545
20426
  * c_string = src
20546
20427
  *
20547
20428
  * with nogil: # <<<<<<<<<<<<<<
@@ -20555,7 +20436,7 @@ static unsigned char *__pyx_f_9cchecksum_9_checksum_lowercase_ascii_and_validate
20555
20436
  __Pyx_FastGIL_Remember();
20556
20437
  /*try:*/ {
20557
20438
 
20558
- /* "cchecksum/_checksum.pyx":411
20439
+ /* "cchecksum/_checksum.pyx":385
20559
20440
  * with nogil:
20560
20441
  * # if c_string[0] == b"0" and c_string[1] in (b"X", b"x")
20561
20442
  * if c_string[0] == 48 and c_string[1] in (88, 120): # <<<<<<<<<<<<<<
@@ -20583,7 +20464,7 @@ static unsigned char *__pyx_f_9cchecksum_9_checksum_lowercase_ascii_and_validate
20583
20464
  __pyx_L7_bool_binop_done:;
20584
20465
  if (__pyx_t_2) {
20585
20466
 
20586
- /* "cchecksum/_checksum.pyx":412
20467
+ /* "cchecksum/_checksum.pyx":386
20587
20468
  * # if c_string[0] == b"0" and c_string[1] in (b"X", b"x")
20588
20469
  * if c_string[0] == 48 and c_string[1] in (88, 120):
20589
20470
  * range_start = 2 # <<<<<<<<<<<<<<
@@ -20592,7 +20473,7 @@ static unsigned char *__pyx_f_9cchecksum_9_checksum_lowercase_ascii_and_validate
20592
20473
  */
20593
20474
  __pyx_v_range_start = 2;
20594
20475
 
20595
- /* "cchecksum/_checksum.pyx":411
20476
+ /* "cchecksum/_checksum.pyx":385
20596
20477
  * with nogil:
20597
20478
  * # if c_string[0] == b"0" and c_string[1] in (b"X", b"x")
20598
20479
  * if c_string[0] == 48 and c_string[1] in (88, 120): # <<<<<<<<<<<<<<
@@ -20602,7 +20483,7 @@ static unsigned char *__pyx_f_9cchecksum_9_checksum_lowercase_ascii_and_validate
20602
20483
  goto __pyx_L6;
20603
20484
  }
20604
20485
 
20605
- /* "cchecksum/_checksum.pyx":414
20486
+ /* "cchecksum/_checksum.pyx":388
20606
20487
  * range_start = 2
20607
20488
  * else:
20608
20489
  * range_start = 0 # <<<<<<<<<<<<<<
@@ -20614,7 +20495,7 @@ static unsigned char *__pyx_f_9cchecksum_9_checksum_lowercase_ascii_and_validate
20614
20495
  }
20615
20496
  __pyx_L6:;
20616
20497
 
20617
- /* "cchecksum/_checksum.pyx":416
20498
+ /* "cchecksum/_checksum.pyx":390
20618
20499
  * range_start = 0
20619
20500
  *
20620
20501
  * for i in range(range_start, src_len): # <<<<<<<<<<<<<<
@@ -20626,7 +20507,7 @@ static unsigned char *__pyx_f_9cchecksum_9_checksum_lowercase_ascii_and_validate
20626
20507
  for (__pyx_t_8 = __pyx_v_range_start; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) {
20627
20508
  __pyx_v_i = __pyx_t_8;
20628
20509
 
20629
- /* "cchecksum/_checksum.pyx":417
20510
+ /* "cchecksum/_checksum.pyx":391
20630
20511
  *
20631
20512
  * for i in range(range_start, src_len):
20632
20513
  * c = c_string[i] # <<<<<<<<<<<<<<
@@ -20635,7 +20516,7 @@ static unsigned char *__pyx_f_9cchecksum_9_checksum_lowercase_ascii_and_validate
20635
20516
  */
20636
20517
  __pyx_v_c = (__pyx_v_c_string[__pyx_v_i]);
20637
20518
 
20638
- /* "cchecksum/_checksum.pyx":419
20519
+ /* "cchecksum/_checksum.pyx":393
20639
20520
  * c = c_string[i]
20640
20521
  *
20641
20522
  * if 65 <= c <= 90: # <<<<<<<<<<<<<<
@@ -20648,7 +20529,7 @@ static unsigned char *__pyx_f_9cchecksum_9_checksum_lowercase_ascii_and_validate
20648
20529
  }
20649
20530
  if (__pyx_t_2) {
20650
20531
 
20651
- /* "cchecksum/_checksum.pyx":420
20532
+ /* "cchecksum/_checksum.pyx":394
20652
20533
  *
20653
20534
  * if 65 <= c <= 90:
20654
20535
  * c += 32 # <<<<<<<<<<<<<<
@@ -20657,7 +20538,7 @@ static unsigned char *__pyx_f_9cchecksum_9_checksum_lowercase_ascii_and_validate
20657
20538
  */
20658
20539
  __pyx_v_c = (__pyx_v_c + 32);
20659
20540
 
20660
- /* "cchecksum/_checksum.pyx":421
20541
+ /* "cchecksum/_checksum.pyx":395
20661
20542
  * if 65 <= c <= 90:
20662
20543
  * c += 32
20663
20544
  * c_string[i] = c # <<<<<<<<<<<<<<
@@ -20666,7 +20547,7 @@ static unsigned char *__pyx_f_9cchecksum_9_checksum_lowercase_ascii_and_validate
20666
20547
  */
20667
20548
  (__pyx_v_c_string[__pyx_v_i]) = __pyx_v_c;
20668
20549
 
20669
- /* "cchecksum/_checksum.pyx":419
20550
+ /* "cchecksum/_checksum.pyx":393
20670
20551
  * c = c_string[i]
20671
20552
  *
20672
20553
  * if 65 <= c <= 90: # <<<<<<<<<<<<<<
@@ -20675,7 +20556,7 @@ static unsigned char *__pyx_f_9cchecksum_9_checksum_lowercase_ascii_and_validate
20675
20556
  */
20676
20557
  }
20677
20558
 
20678
- /* "cchecksum/_checksum.pyx":423
20559
+ /* "cchecksum/_checksum.pyx":397
20679
20560
  * c_string[i] = c
20680
20561
  *
20681
20562
  * if c == 48: # 0 # <<<<<<<<<<<<<<
@@ -20687,7 +20568,7 @@ static unsigned char *__pyx_f_9cchecksum_9_checksum_lowercase_ascii_and_validate
20687
20568
  break;
20688
20569
  case 49:
20689
20570
 
20690
- /* "cchecksum/_checksum.pyx":425
20571
+ /* "cchecksum/_checksum.pyx":399
20691
20572
  * if c == 48: # 0
20692
20573
  * pass
20693
20574
  * elif c == 49: # 1 # <<<<<<<<<<<<<<
@@ -20697,7 +20578,7 @@ static unsigned char *__pyx_f_9cchecksum_9_checksum_lowercase_ascii_and_validate
20697
20578
  break;
20698
20579
  case 50:
20699
20580
 
20700
- /* "cchecksum/_checksum.pyx":427
20581
+ /* "cchecksum/_checksum.pyx":401
20701
20582
  * elif c == 49: # 1
20702
20583
  * pass
20703
20584
  * elif c == 50: # 2 # <<<<<<<<<<<<<<
@@ -20707,7 +20588,7 @@ static unsigned char *__pyx_f_9cchecksum_9_checksum_lowercase_ascii_and_validate
20707
20588
  break;
20708
20589
  case 51:
20709
20590
 
20710
- /* "cchecksum/_checksum.pyx":429
20591
+ /* "cchecksum/_checksum.pyx":403
20711
20592
  * elif c == 50: # 2
20712
20593
  * pass
20713
20594
  * elif c == 51: # 3 # <<<<<<<<<<<<<<
@@ -20717,7 +20598,7 @@ static unsigned char *__pyx_f_9cchecksum_9_checksum_lowercase_ascii_and_validate
20717
20598
  break;
20718
20599
  case 52:
20719
20600
 
20720
- /* "cchecksum/_checksum.pyx":431
20601
+ /* "cchecksum/_checksum.pyx":405
20721
20602
  * elif c == 51: # 3
20722
20603
  * pass
20723
20604
  * elif c == 52: # 4 # <<<<<<<<<<<<<<
@@ -20727,7 +20608,7 @@ static unsigned char *__pyx_f_9cchecksum_9_checksum_lowercase_ascii_and_validate
20727
20608
  break;
20728
20609
  case 53:
20729
20610
 
20730
- /* "cchecksum/_checksum.pyx":433
20611
+ /* "cchecksum/_checksum.pyx":407
20731
20612
  * elif c == 52: # 4
20732
20613
  * pass
20733
20614
  * elif c == 53: # 5 # <<<<<<<<<<<<<<
@@ -20737,7 +20618,7 @@ static unsigned char *__pyx_f_9cchecksum_9_checksum_lowercase_ascii_and_validate
20737
20618
  break;
20738
20619
  case 54:
20739
20620
 
20740
- /* "cchecksum/_checksum.pyx":435
20621
+ /* "cchecksum/_checksum.pyx":409
20741
20622
  * elif c == 53: # 5
20742
20623
  * pass
20743
20624
  * elif c == 54: # 6 # <<<<<<<<<<<<<<
@@ -20747,7 +20628,7 @@ static unsigned char *__pyx_f_9cchecksum_9_checksum_lowercase_ascii_and_validate
20747
20628
  break;
20748
20629
  case 55:
20749
20630
 
20750
- /* "cchecksum/_checksum.pyx":437
20631
+ /* "cchecksum/_checksum.pyx":411
20751
20632
  * elif c == 54: # 6
20752
20633
  * pass
20753
20634
  * elif c == 55: # 7 # <<<<<<<<<<<<<<
@@ -20757,7 +20638,7 @@ static unsigned char *__pyx_f_9cchecksum_9_checksum_lowercase_ascii_and_validate
20757
20638
  break;
20758
20639
  case 56:
20759
20640
 
20760
- /* "cchecksum/_checksum.pyx":439
20641
+ /* "cchecksum/_checksum.pyx":413
20761
20642
  * elif c == 55: # 7
20762
20643
  * pass
20763
20644
  * elif c == 56: # 8 # <<<<<<<<<<<<<<
@@ -20767,7 +20648,7 @@ static unsigned char *__pyx_f_9cchecksum_9_checksum_lowercase_ascii_and_validate
20767
20648
  break;
20768
20649
  case 57:
20769
20650
 
20770
- /* "cchecksum/_checksum.pyx":441
20651
+ /* "cchecksum/_checksum.pyx":415
20771
20652
  * elif c == 56: # 8
20772
20653
  * pass
20773
20654
  * elif c == 57: # 9 # <<<<<<<<<<<<<<
@@ -20777,7 +20658,7 @@ static unsigned char *__pyx_f_9cchecksum_9_checksum_lowercase_ascii_and_validate
20777
20658
  break;
20778
20659
  case 97:
20779
20660
 
20780
- /* "cchecksum/_checksum.pyx":443
20661
+ /* "cchecksum/_checksum.pyx":417
20781
20662
  * elif c == 57: # 9
20782
20663
  * pass
20783
20664
  * elif c == 97: # a # <<<<<<<<<<<<<<
@@ -20787,7 +20668,7 @@ static unsigned char *__pyx_f_9cchecksum_9_checksum_lowercase_ascii_and_validate
20787
20668
  break;
20788
20669
  case 98:
20789
20670
 
20790
- /* "cchecksum/_checksum.pyx":445
20671
+ /* "cchecksum/_checksum.pyx":419
20791
20672
  * elif c == 97: # a
20792
20673
  * pass
20793
20674
  * elif c == 98: # b # <<<<<<<<<<<<<<
@@ -20797,7 +20678,7 @@ static unsigned char *__pyx_f_9cchecksum_9_checksum_lowercase_ascii_and_validate
20797
20678
  break;
20798
20679
  case 99:
20799
20680
 
20800
- /* "cchecksum/_checksum.pyx":447
20681
+ /* "cchecksum/_checksum.pyx":421
20801
20682
  * elif c == 98: # b
20802
20683
  * pass
20803
20684
  * elif c == 99: # c # <<<<<<<<<<<<<<
@@ -20807,7 +20688,7 @@ static unsigned char *__pyx_f_9cchecksum_9_checksum_lowercase_ascii_and_validate
20807
20688
  break;
20808
20689
  case 0x64:
20809
20690
 
20810
- /* "cchecksum/_checksum.pyx":449
20691
+ /* "cchecksum/_checksum.pyx":423
20811
20692
  * elif c == 99: # c
20812
20693
  * pass
20813
20694
  * elif c == 100: # d # <<<<<<<<<<<<<<
@@ -20817,7 +20698,7 @@ static unsigned char *__pyx_f_9cchecksum_9_checksum_lowercase_ascii_and_validate
20817
20698
  break;
20818
20699
  case 0x65:
20819
20700
 
20820
- /* "cchecksum/_checksum.pyx":451
20701
+ /* "cchecksum/_checksum.pyx":425
20821
20702
  * elif c == 100: # d
20822
20703
  * pass
20823
20704
  * elif c == 101: # e # <<<<<<<<<<<<<<
@@ -20827,7 +20708,7 @@ static unsigned char *__pyx_f_9cchecksum_9_checksum_lowercase_ascii_and_validate
20827
20708
  break;
20828
20709
  case 0x66:
20829
20710
 
20830
- /* "cchecksum/_checksum.pyx":453
20711
+ /* "cchecksum/_checksum.pyx":427
20831
20712
  * elif c == 101: # e
20832
20713
  * pass
20833
20714
  * elif c == 102: # f # <<<<<<<<<<<<<<
@@ -20837,7 +20718,7 @@ static unsigned char *__pyx_f_9cchecksum_9_checksum_lowercase_ascii_and_validate
20837
20718
  break;
20838
20719
  default:
20839
20720
 
20840
- /* "cchecksum/_checksum.pyx":456
20721
+ /* "cchecksum/_checksum.pyx":430
20841
20722
  * pass
20842
20723
  * else:
20843
20724
  * with gil: # <<<<<<<<<<<<<<
@@ -20848,7 +20729,7 @@ static unsigned char *__pyx_f_9cchecksum_9_checksum_lowercase_ascii_and_validate
20848
20729
  PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
20849
20730
  /*try:*/ {
20850
20731
 
20851
- /* "cchecksum/_checksum.pyx":457
20732
+ /* "cchecksum/_checksum.pyx":431
20852
20733
  * else:
20853
20734
  * with gil:
20854
20735
  * raise ValueError("when sending a str, it must be a hex string. " f"Got: {repr(src.decode('ascii'))}") # <<<<<<<<<<<<<<
@@ -20860,17 +20741,17 @@ static unsigned char *__pyx_f_9cchecksum_9_checksum_lowercase_ascii_and_validate
20860
20741
  __pyx_t_11 = __pyx_builtin_ValueError;
20861
20742
  if (unlikely(__pyx_v_src == Py_None)) {
20862
20743
  PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "decode");
20863
- __PYX_ERR(0, 457, __pyx_L17_error)
20744
+ __PYX_ERR(0, 431, __pyx_L17_error)
20864
20745
  }
20865
- __pyx_t_12 = __Pyx_decode_bytes(__pyx_v_src, 0, PY_SSIZE_T_MAX, NULL, NULL, PyUnicode_DecodeASCII); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 457, __pyx_L17_error)
20746
+ __pyx_t_12 = __Pyx_decode_bytes(__pyx_v_src, 0, PY_SSIZE_T_MAX, NULL, NULL, PyUnicode_DecodeASCII); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 431, __pyx_L17_error)
20866
20747
  __Pyx_GOTREF(__pyx_t_12);
20867
- __pyx_t_13 = PyObject_Repr(__pyx_t_12); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 457, __pyx_L17_error)
20748
+ __pyx_t_13 = PyObject_Repr(__pyx_t_12); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 431, __pyx_L17_error)
20868
20749
  __Pyx_GOTREF(__pyx_t_13);
20869
20750
  __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
20870
- __pyx_t_12 = __Pyx_PyUnicode_Unicode(__pyx_t_13); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 457, __pyx_L17_error)
20751
+ __pyx_t_12 = __Pyx_PyUnicode_Unicode(__pyx_t_13); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 431, __pyx_L17_error)
20871
20752
  __Pyx_GOTREF(__pyx_t_12);
20872
20753
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
20873
- __pyx_t_13 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_when_sending_a_str_it_must_be_a, __pyx_t_12); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 457, __pyx_L17_error)
20754
+ __pyx_t_13 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_when_sending_a_str_it_must_be_a, __pyx_t_12); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 431, __pyx_L17_error)
20874
20755
  __Pyx_GOTREF(__pyx_t_13);
20875
20756
  __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
20876
20757
  __pyx_t_14 = 1;
@@ -20880,15 +20761,15 @@ static unsigned char *__pyx_f_9cchecksum_9_checksum_lowercase_ascii_and_validate
20880
20761
  __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
20881
20762
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
20882
20763
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
20883
- if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 457, __pyx_L17_error)
20764
+ if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 431, __pyx_L17_error)
20884
20765
  __Pyx_GOTREF(__pyx_t_9);
20885
20766
  }
20886
20767
  __Pyx_Raise(__pyx_t_9, 0, 0, 0);
20887
20768
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
20888
- __PYX_ERR(0, 457, __pyx_L17_error)
20769
+ __PYX_ERR(0, 431, __pyx_L17_error)
20889
20770
  }
20890
20771
 
20891
- /* "cchecksum/_checksum.pyx":456
20772
+ /* "cchecksum/_checksum.pyx":430
20892
20773
  * pass
20893
20774
  * else:
20894
20775
  * with gil: # <<<<<<<<<<<<<<
@@ -20907,7 +20788,7 @@ static unsigned char *__pyx_f_9cchecksum_9_checksum_lowercase_ascii_and_validate
20907
20788
  }
20908
20789
  }
20909
20790
 
20910
- /* "cchecksum/_checksum.pyx":409
20791
+ /* "cchecksum/_checksum.pyx":383
20911
20792
  * c_string = src
20912
20793
  *
20913
20794
  * with nogil: # <<<<<<<<<<<<<<
@@ -20929,21 +20810,21 @@ static unsigned char *__pyx_f_9cchecksum_9_checksum_lowercase_ascii_and_validate
20929
20810
  }
20930
20811
  }
20931
20812
 
20932
- /* "cchecksum/_checksum.pyx":459
20813
+ /* "cchecksum/_checksum.pyx":433
20933
20814
  * raise ValueError("when sending a str, it must be a hex string. " f"Got: {repr(src.decode('ascii'))}")
20934
20815
  *
20935
20816
  * return c_string[range_start:] # <<<<<<<<<<<<<<
20936
20817
  *
20937
20818
  *
20938
20819
  */
20939
- __pyx_t_9 = __Pyx_PyBytes_FromString(((char const *)__pyx_v_c_string) + __pyx_v_range_start); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 459, __pyx_L1_error)
20820
+ __pyx_t_9 = __Pyx_PyBytes_FromString(((char const *)__pyx_v_c_string) + __pyx_v_range_start); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 433, __pyx_L1_error)
20940
20821
  __Pyx_GOTREF(__pyx_t_9);
20941
- __pyx_t_1 = __Pyx_PyBytes_AsWritableUString(__pyx_t_9); if (unlikely((!__pyx_t_1) && PyErr_Occurred())) __PYX_ERR(0, 459, __pyx_L1_error)
20822
+ __pyx_t_1 = __Pyx_PyBytes_AsWritableUString(__pyx_t_9); if (unlikely((!__pyx_t_1) && PyErr_Occurred())) __PYX_ERR(0, 433, __pyx_L1_error)
20942
20823
  __pyx_r = __pyx_t_1;
20943
20824
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
20944
20825
  goto __pyx_L0;
20945
20826
 
20946
- /* "cchecksum/_checksum.pyx":401
20827
+ /* "cchecksum/_checksum.pyx":375
20947
20828
  *
20948
20829
  *
20949
20830
  * cdef unsigned char* lowercase_ascii_and_validate(bytes src): # <<<<<<<<<<<<<<
@@ -22050,15 +21931,15 @@ static int __Pyx_modinit_type_import_code(__pyx_mstatetype *__pyx_mstate) {
22050
21931
  /*--- Type import code ---*/
22051
21932
  __pyx_t_1 = PyImport_ImportModule(__Pyx_BUILTIN_MODULE_NAME); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 9, __pyx_L1_error)
22052
21933
  __Pyx_GOTREF(__pyx_t_1);
22053
- __pyx_mstate->__pyx_ptype_7cpython_4type_type = __Pyx_ImportType_3_1_1(__pyx_t_1, __Pyx_BUILTIN_MODULE_NAME, "type",
21934
+ __pyx_mstate->__pyx_ptype_7cpython_4type_type = __Pyx_ImportType_3_1_4(__pyx_t_1, __Pyx_BUILTIN_MODULE_NAME, "type",
22054
21935
  #if defined(PYPY_VERSION_NUM) && PYPY_VERSION_NUM < 0x050B0000
22055
- sizeof(PyTypeObject), __PYX_GET_STRUCT_ALIGNMENT_3_1_1(PyTypeObject),
21936
+ sizeof(PyTypeObject), __PYX_GET_STRUCT_ALIGNMENT_3_1_4(PyTypeObject),
22056
21937
  #elif CYTHON_COMPILING_IN_LIMITED_API
22057
21938
  0, 0,
22058
21939
  #else
22059
- sizeof(PyHeapTypeObject), __PYX_GET_STRUCT_ALIGNMENT_3_1_1(PyHeapTypeObject),
21940
+ sizeof(PyHeapTypeObject), __PYX_GET_STRUCT_ALIGNMENT_3_1_4(PyHeapTypeObject),
22060
21941
  #endif
22061
- __Pyx_ImportType_CheckSize_Warn_3_1_1); if (!__pyx_mstate->__pyx_ptype_7cpython_4type_type) __PYX_ERR(2, 9, __pyx_L1_error)
21942
+ __Pyx_ImportType_CheckSize_Warn_3_1_4); if (!__pyx_mstate->__pyx_ptype_7cpython_4type_type) __PYX_ERR(2, 9, __pyx_L1_error)
22062
21943
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
22063
21944
  __Pyx_RefNannyFinishContext();
22064
21945
  return 0;
@@ -22328,6 +22209,13 @@ __Pyx_RefNannySetupContext("PyInit__checksum", 0);
22328
22209
  __pyx_mstate->__pyx_empty_tuple = PyTuple_New(0); if (unlikely(!__pyx_mstate->__pyx_empty_tuple)) __PYX_ERR(0, 1, __pyx_L1_error)
22329
22210
  __pyx_mstate->__pyx_empty_bytes = PyBytes_FromStringAndSize("", 0); if (unlikely(!__pyx_mstate->__pyx_empty_bytes)) __PYX_ERR(0, 1, __pyx_L1_error)
22330
22211
  __pyx_mstate->__pyx_empty_unicode = PyUnicode_FromStringAndSize("", 0); if (unlikely(!__pyx_mstate->__pyx_empty_unicode)) __PYX_ERR(0, 1, __pyx_L1_error)
22212
+ /*--- Initialize various global constants etc. ---*/
22213
+ if (__Pyx_InitConstants(__pyx_mstate) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
22214
+ stringtab_initialized = 1;
22215
+ if (__Pyx_InitGlobals() < 0) __PYX_ERR(0, 1, __pyx_L1_error)
22216
+ #if 0 || defined(__Pyx_CyFunction_USED) || defined(__Pyx_FusedFunction_USED) || defined(__Pyx_Coroutine_USED) || defined(__Pyx_Generator_USED) || defined(__Pyx_AsyncGen_USED)
22217
+ if (__pyx_CommonTypesMetaclass_init(__pyx_m) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
22218
+ #endif
22331
22219
  #ifdef __Pyx_CyFunction_USED
22332
22220
  if (__pyx_CyFunction_init(__pyx_m) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
22333
22221
  #endif
@@ -22344,10 +22232,6 @@ __Pyx_RefNannySetupContext("PyInit__checksum", 0);
22344
22232
  if (__pyx_AsyncGen_init(__pyx_m) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
22345
22233
  #endif
22346
22234
  /*--- Library function declarations ---*/
22347
- /*--- Initialize various global constants etc. ---*/
22348
- if (__Pyx_InitConstants(__pyx_mstate) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
22349
- stringtab_initialized = 1;
22350
- if (__Pyx_InitGlobals() < 0) __PYX_ERR(0, 1, __pyx_L1_error)
22351
22235
  if (__pyx_module_is_main_cchecksum___checksum) {
22352
22236
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_name_2, __pyx_mstate_global->__pyx_n_u_main) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
22353
22237
  }
@@ -23020,21 +22904,21 @@ __Pyx_RefNannySetupContext("PyInit__checksum", 0);
23020
22904
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_hexlify, __pyx_t_5) < 0) __PYX_ERR(0, 129, __pyx_L1_error)
23021
22905
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
23022
22906
 
23023
- /* "cchecksum/_checksum.pyx":462
22907
+ /* "cchecksum/_checksum.pyx":436
23024
22908
  *
23025
22909
  *
23026
22910
  * del AnyAddress, ChecksumAddress # <<<<<<<<<<<<<<
23027
22911
  * del keccak
23028
22912
  */
23029
- if (__Pyx_PyObject_DelAttrStr(__pyx_m, __pyx_mstate_global->__pyx_n_u_AnyAddress) < 0) __PYX_ERR(0, 462, __pyx_L1_error)
23030
- if (__Pyx_PyObject_DelAttrStr(__pyx_m, __pyx_mstate_global->__pyx_n_u_ChecksumAddress) < 0) __PYX_ERR(0, 462, __pyx_L1_error)
22913
+ if (__Pyx_PyObject_DelAttrStr(__pyx_m, __pyx_mstate_global->__pyx_n_u_AnyAddress) < 0) __PYX_ERR(0, 436, __pyx_L1_error)
22914
+ if (__Pyx_PyObject_DelAttrStr(__pyx_m, __pyx_mstate_global->__pyx_n_u_ChecksumAddress) < 0) __PYX_ERR(0, 436, __pyx_L1_error)
23031
22915
 
23032
- /* "cchecksum/_checksum.pyx":463
22916
+ /* "cchecksum/_checksum.pyx":437
23033
22917
  *
23034
22918
  * del AnyAddress, ChecksumAddress
23035
22919
  * del keccak # <<<<<<<<<<<<<<
23036
22920
  */
23037
- if (__Pyx_PyObject_DelAttrStr(__pyx_m, __pyx_mstate_global->__pyx_n_u_keccak) < 0) __PYX_ERR(0, 463, __pyx_L1_error)
22921
+ if (__Pyx_PyObject_DelAttrStr(__pyx_m, __pyx_mstate_global->__pyx_n_u_keccak) < 0) __PYX_ERR(0, 437, __pyx_L1_error)
23038
22922
 
23039
22923
  /* "cchecksum/_checksum.pyx":1
23040
22924
  * # cython: boundscheck=False # <<<<<<<<<<<<<<
@@ -23084,11 +22968,11 @@ __Pyx_RefNannySetupContext("PyInit__checksum", 0);
23084
22968
 
23085
22969
  typedef struct {
23086
22970
  const char *s;
23087
- #if 1146 <= 65535
22971
+ #if 1149 <= 65535
23088
22972
  const unsigned short n;
23089
- #elif 1146 / 2 < INT_MAX
22973
+ #elif 1149 / 2 < INT_MAX
23090
22974
  const unsigned int n;
23091
- #elif 1146 / 2 < LONG_MAX
22975
+ #elif 1149 / 2 < LONG_MAX
23092
22976
  const unsigned long n;
23093
22977
  #else
23094
22978
  const Py_ssize_t n;
@@ -26278,24 +26162,83 @@ static int __Pyx_call_type_traverse(PyObject *o, int always_call, visitproc visi
26278
26162
  }
26279
26163
  #endif
26280
26164
 
26165
+ /* LimitedApiGetTypeDict */
26166
+ #if CYTHON_COMPILING_IN_LIMITED_API
26167
+ static Py_ssize_t __Pyx_GetTypeDictOffset(void) {
26168
+ PyObject *tp_dictoffset_o;
26169
+ Py_ssize_t tp_dictoffset;
26170
+ tp_dictoffset_o = PyObject_GetAttrString((PyObject*)(&PyType_Type), "__dictoffset__");
26171
+ if (unlikely(!tp_dictoffset_o)) return -1;
26172
+ tp_dictoffset = PyLong_AsSsize_t(tp_dictoffset_o);
26173
+ Py_DECREF(tp_dictoffset_o);
26174
+ if (unlikely(tp_dictoffset == 0)) {
26175
+ PyErr_SetString(
26176
+ PyExc_TypeError,
26177
+ "'type' doesn't have a dictoffset");
26178
+ return -1;
26179
+ } else if (unlikely(tp_dictoffset < 0)) {
26180
+ PyErr_SetString(
26181
+ PyExc_TypeError,
26182
+ "'type' has an unexpected negative dictoffset. "
26183
+ "Please report this as Cython bug");
26184
+ return -1;
26185
+ }
26186
+ return tp_dictoffset;
26187
+ }
26188
+ static PyObject *__Pyx_GetTypeDict(PyTypeObject *tp) {
26189
+ static Py_ssize_t tp_dictoffset = 0;
26190
+ if (unlikely(tp_dictoffset == 0)) {
26191
+ tp_dictoffset = __Pyx_GetTypeDictOffset();
26192
+ if (unlikely(tp_dictoffset == -1 && PyErr_Occurred())) {
26193
+ tp_dictoffset = 0; // try again next time?
26194
+ return NULL;
26195
+ }
26196
+ }
26197
+ return *(PyObject**)((char*)tp + tp_dictoffset);
26198
+ }
26199
+ #endif
26200
+
26201
+ /* SetItemOnTypeDict */
26202
+ static int __Pyx__SetItemOnTypeDict(PyTypeObject *tp, PyObject *k, PyObject *v) {
26203
+ int result;
26204
+ PyObject *tp_dict;
26205
+ #if CYTHON_COMPILING_IN_LIMITED_API
26206
+ tp_dict = __Pyx_GetTypeDict(tp);
26207
+ if (unlikely(!tp_dict)) return -1;
26208
+ #else
26209
+ tp_dict = tp->tp_dict;
26210
+ #endif
26211
+ result = PyDict_SetItem(tp_dict, k, v);
26212
+ if (likely(!result)) {
26213
+ PyType_Modified(tp);
26214
+ if (unlikely(PyObject_HasAttr(v, __pyx_mstate_global->__pyx_n_u_set_name))) {
26215
+ PyObject *setNameResult = PyObject_CallMethodObjArgs(v, __pyx_mstate_global->__pyx_n_u_set_name, (PyObject *) tp, k, NULL);
26216
+ if (!setNameResult) return -1;
26217
+ Py_DECREF(setNameResult);
26218
+ }
26219
+ }
26220
+ return result;
26221
+ }
26222
+
26281
26223
  /* FixUpExtensionType */
26282
26224
  static int __Pyx_fix_up_extension_type_from_spec(PyType_Spec *spec, PyTypeObject *type) {
26283
- #if PY_VERSION_HEX > 0x030900B1 || CYTHON_COMPILING_IN_LIMITED_API
26225
+ #if __PYX_LIMITED_VERSION_HEX > 0x030900B1
26284
26226
  CYTHON_UNUSED_VAR(spec);
26285
26227
  CYTHON_UNUSED_VAR(type);
26228
+ CYTHON_UNUSED_VAR(__Pyx__SetItemOnTypeDict);
26286
26229
  #else
26287
26230
  const PyType_Slot *slot = spec->slots;
26231
+ int changed = 0;
26232
+ #if !CYTHON_COMPILING_IN_LIMITED_API
26288
26233
  while (slot && slot->slot && slot->slot != Py_tp_members)
26289
26234
  slot++;
26290
26235
  if (slot && slot->slot == Py_tp_members) {
26291
- int changed = 0;
26292
- #if !(PY_VERSION_HEX <= 0x030900b1 && CYTHON_COMPILING_IN_CPYTHON)
26236
+ #if !CYTHON_COMPILING_IN_CPYTHON
26293
26237
  const
26294
- #endif
26238
+ #endif // !CYTHON_COMPILING_IN_CPYTHON)
26295
26239
  PyMemberDef *memb = (PyMemberDef*) slot->pfunc;
26296
26240
  while (memb && memb->name) {
26297
26241
  if (memb->name[0] == '_' && memb->name[1] == '_') {
26298
- #if PY_VERSION_HEX < 0x030900b1
26299
26242
  if (strcmp(memb->name, "__weaklistoffset__") == 0) {
26300
26243
  assert(memb->type == T_PYSSIZET);
26301
26244
  assert(memb->flags == READONLY);
@@ -26319,11 +26262,8 @@ static int __Pyx_fix_up_extension_type_from_spec(PyType_Spec *spec, PyTypeObject
26319
26262
  #endif
26320
26263
  changed = 1;
26321
26264
  }
26322
- #endif
26323
- #else
26324
- if ((0));
26325
- #endif
26326
- #if PY_VERSION_HEX <= 0x030900b1 && CYTHON_COMPILING_IN_CPYTHON
26265
+ #endif // CYTHON_METH_FASTCALL
26266
+ #if !CYTHON_COMPILING_IN_PYPY
26327
26267
  else if (strcmp(memb->name, "__module__") == 0) {
26328
26268
  PyObject *descr;
26329
26269
  assert(memb->type == T_OBJECT);
@@ -26331,21 +26271,55 @@ static int __Pyx_fix_up_extension_type_from_spec(PyType_Spec *spec, PyTypeObject
26331
26271
  descr = PyDescr_NewMember(type, memb);
26332
26272
  if (unlikely(!descr))
26333
26273
  return -1;
26334
- if (unlikely(PyDict_SetItem(type->tp_dict, PyDescr_NAME(descr), descr) < 0)) {
26335
- Py_DECREF(descr);
26274
+ int set_item_result = PyDict_SetItem(type->tp_dict, PyDescr_NAME(descr), descr);
26275
+ Py_DECREF(descr);
26276
+ if (unlikely(set_item_result < 0)) {
26336
26277
  return -1;
26337
26278
  }
26338
- Py_DECREF(descr);
26339
26279
  changed = 1;
26340
26280
  }
26341
- #endif
26281
+ #endif // !CYTHON_COMPILING_IN_PYPY
26342
26282
  }
26343
26283
  memb++;
26344
26284
  }
26345
- if (changed)
26346
- PyType_Modified(type);
26347
26285
  }
26348
- #endif
26286
+ #endif // !CYTHON_COMPILING_IN_LIMITED_API
26287
+ #if !CYTHON_COMPILING_IN_PYPY
26288
+ slot = spec->slots;
26289
+ while (slot && slot->slot && slot->slot != Py_tp_getset)
26290
+ slot++;
26291
+ if (slot && slot->slot == Py_tp_getset) {
26292
+ PyGetSetDef *getset = (PyGetSetDef*) slot->pfunc;
26293
+ while (getset && getset->name) {
26294
+ if (getset->name[0] == '_' && getset->name[1] == '_' && strcmp(getset->name, "__module__") == 0) {
26295
+ PyObject *descr = PyDescr_NewGetSet(type, getset);
26296
+ if (unlikely(!descr))
26297
+ return -1;
26298
+ #if CYTHON_COMPILING_IN_LIMITED_API
26299
+ PyObject *pyname = PyUnicode_FromString(getset->name);
26300
+ if (unlikely(!pyname)) {
26301
+ Py_DECREF(descr);
26302
+ return -1;
26303
+ }
26304
+ int set_item_result = __Pyx_SetItemOnTypeDict(type, pyname, descr);
26305
+ Py_DECREF(pyname);
26306
+ #else
26307
+ CYTHON_UNUSED_VAR(__Pyx__SetItemOnTypeDict);
26308
+ int set_item_result = PyDict_SetItem(type->tp_dict, PyDescr_NAME(descr), descr);
26309
+ #endif
26310
+ Py_DECREF(descr);
26311
+ if (unlikely(set_item_result < 0)) {
26312
+ return -1;
26313
+ }
26314
+ changed = 1;
26315
+ }
26316
+ ++getset;
26317
+ }
26318
+ }
26319
+ #endif // !CYTHON_COMPILING_IN_PYPY
26320
+ if (changed)
26321
+ PyType_Modified(type);
26322
+ #endif // PY_VERSION_HEX > 0x030900B1
26349
26323
  return 0;
26350
26324
  }
26351
26325
 
@@ -26447,6 +26421,13 @@ try_unpack:
26447
26421
 
26448
26422
  /* PyObjectCallMethod0 */
26449
26423
  static PyObject* __Pyx_PyObject_CallMethod0(PyObject* obj, PyObject* method_name) {
26424
+ #if CYTHON_VECTORCALL && (__PYX_LIMITED_VERSION_HEX >= 0x030C0000 || (!CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x03090000))
26425
+ PyObject *args[1] = {obj};
26426
+ (void) __Pyx_PyObject_GetMethod;
26427
+ (void) __Pyx_PyObject_CallOneArg;
26428
+ (void) __Pyx_PyObject_CallNoArg;
26429
+ return PyObject_VectorcallMethod(method_name, args, 1 | PY_VECTORCALL_ARGUMENTS_OFFSET, NULL);
26430
+ #else
26450
26431
  PyObject *method = NULL, *result = NULL;
26451
26432
  int is_method = __Pyx_PyObject_GetMethod(obj, method_name, &method);
26452
26433
  if (likely(is_method)) {
@@ -26459,6 +26440,7 @@ static PyObject* __Pyx_PyObject_CallMethod0(PyObject* obj, PyObject* method_name
26459
26440
  Py_DECREF(method);
26460
26441
  bad:
26461
26442
  return result;
26443
+ #endif
26462
26444
  }
26463
26445
 
26464
26446
  /* ValidateBasesTuple */
@@ -26763,42 +26745,6 @@ other_failure:
26763
26745
  return -1;
26764
26746
  }
26765
26747
 
26766
- /* LimitedApiGetTypeDict */
26767
- #if CYTHON_COMPILING_IN_LIMITED_API
26768
- static Py_ssize_t __Pyx_GetTypeDictOffset(void) {
26769
- PyObject *tp_dictoffset_o;
26770
- Py_ssize_t tp_dictoffset;
26771
- tp_dictoffset_o = PyObject_GetAttrString((PyObject*)(&PyType_Type), "__dictoffset__");
26772
- if (unlikely(!tp_dictoffset_o)) return -1;
26773
- tp_dictoffset = PyLong_AsSsize_t(tp_dictoffset_o);
26774
- Py_DECREF(tp_dictoffset_o);
26775
- if (unlikely(tp_dictoffset == 0)) {
26776
- PyErr_SetString(
26777
- PyExc_TypeError,
26778
- "'type' doesn't have a dictoffset");
26779
- return -1;
26780
- } else if (unlikely(tp_dictoffset < 0)) {
26781
- PyErr_SetString(
26782
- PyExc_TypeError,
26783
- "'type' has an unexpected negative dictoffset. "
26784
- "Please report this as Cython bug");
26785
- return -1;
26786
- }
26787
- return tp_dictoffset;
26788
- }
26789
- static PyObject *__Pyx_GetTypeDict(PyTypeObject *tp) {
26790
- static Py_ssize_t tp_dictoffset = 0;
26791
- if (unlikely(tp_dictoffset == 0)) {
26792
- tp_dictoffset = __Pyx_GetTypeDictOffset();
26793
- if (unlikely(tp_dictoffset == -1 && PyErr_Occurred())) {
26794
- tp_dictoffset = 0; // try again next time?
26795
- return NULL;
26796
- }
26797
- }
26798
- return *(PyObject**)((char*)tp + tp_dictoffset);
26799
- }
26800
- #endif
26801
-
26802
26748
  /* DelItemOnTypeDict */
26803
26749
  static int __Pyx__DelItemOnTypeDict(PyTypeObject *tp, PyObject *k) {
26804
26750
  int result;
@@ -26814,28 +26760,6 @@ static int __Pyx__DelItemOnTypeDict(PyTypeObject *tp, PyObject *k) {
26814
26760
  return result;
26815
26761
  }
26816
26762
 
26817
- /* SetItemOnTypeDict */
26818
- static int __Pyx__SetItemOnTypeDict(PyTypeObject *tp, PyObject *k, PyObject *v) {
26819
- int result;
26820
- PyObject *tp_dict;
26821
- #if CYTHON_COMPILING_IN_LIMITED_API
26822
- tp_dict = __Pyx_GetTypeDict(tp);
26823
- if (unlikely(!tp_dict)) return -1;
26824
- #else
26825
- tp_dict = tp->tp_dict;
26826
- #endif
26827
- result = PyDict_SetItem(tp_dict, k, v);
26828
- if (likely(!result)) {
26829
- PyType_Modified(tp);
26830
- if (unlikely(PyObject_HasAttr(v, __pyx_mstate_global->__pyx_n_u_set_name))) {
26831
- PyObject *setNameResult = PyObject_CallMethodObjArgs(v, __pyx_mstate_global->__pyx_n_u_set_name, (PyObject *) tp, k, NULL);
26832
- if (!setNameResult) return -1;
26833
- Py_DECREF(setNameResult);
26834
- }
26835
- }
26836
- return result;
26837
- }
26838
-
26839
26763
  /* SetupReduce */
26840
26764
  static int __Pyx_setup_reduce_is_named(PyObject* meth, PyObject* name) {
26841
26765
  int ret;
@@ -26946,15 +26870,15 @@ __PYX_GOOD:
26946
26870
  }
26947
26871
 
26948
26872
  /* TypeImport */
26949
- #ifndef __PYX_HAVE_RT_ImportType_3_1_1
26950
- #define __PYX_HAVE_RT_ImportType_3_1_1
26951
- static PyTypeObject *__Pyx_ImportType_3_1_1(PyObject *module, const char *module_name, const char *class_name,
26952
- size_t size, size_t alignment, enum __Pyx_ImportType_CheckSize_3_1_1 check_size)
26873
+ #ifndef __PYX_HAVE_RT_ImportType_3_1_4
26874
+ #define __PYX_HAVE_RT_ImportType_3_1_4
26875
+ static PyTypeObject *__Pyx_ImportType_3_1_4(PyObject *module, const char *module_name, const char *class_name,
26876
+ size_t size, size_t alignment, enum __Pyx_ImportType_CheckSize_3_1_4 check_size)
26953
26877
  {
26954
26878
  PyObject *result = 0;
26955
26879
  Py_ssize_t basicsize;
26956
26880
  Py_ssize_t itemsize;
26957
- #if CYTHON_COMPILING_IN_LIMITED_API
26881
+ #ifdef Py_LIMITED_API
26958
26882
  PyObject *py_basicsize;
26959
26883
  PyObject *py_itemsize;
26960
26884
  #endif
@@ -26967,7 +26891,7 @@ static PyTypeObject *__Pyx_ImportType_3_1_1(PyObject *module, const char *module
26967
26891
  module_name, class_name);
26968
26892
  goto bad;
26969
26893
  }
26970
- #if !CYTHON_COMPILING_IN_LIMITED_API
26894
+ #ifndef Py_LIMITED_API
26971
26895
  basicsize = ((PyTypeObject *)result)->tp_basicsize;
26972
26896
  itemsize = ((PyTypeObject *)result)->tp_itemsize;
26973
26897
  #else
@@ -27005,7 +26929,7 @@ static PyTypeObject *__Pyx_ImportType_3_1_1(PyObject *module, const char *module
27005
26929
  module_name, class_name, size, basicsize+itemsize);
27006
26930
  goto bad;
27007
26931
  }
27008
- if (check_size == __Pyx_ImportType_CheckSize_Error_3_1_1 &&
26932
+ if (check_size == __Pyx_ImportType_CheckSize_Error_3_1_4 &&
27009
26933
  ((size_t)basicsize > size || (size_t)(basicsize + itemsize) < size)) {
27010
26934
  PyErr_Format(PyExc_ValueError,
27011
26935
  "%.200s.%.200s size changed, may indicate binary incompatibility. "
@@ -27013,7 +26937,7 @@ static PyTypeObject *__Pyx_ImportType_3_1_1(PyObject *module, const char *module
27013
26937
  module_name, class_name, size, basicsize, basicsize+itemsize);
27014
26938
  goto bad;
27015
26939
  }
27016
- else if (check_size == __Pyx_ImportType_CheckSize_Warn_3_1_1 && (size_t)basicsize > size) {
26940
+ else if (check_size == __Pyx_ImportType_CheckSize_Warn_3_1_4 && (size_t)basicsize > size) {
27017
26941
  if (PyErr_WarnFormat(NULL, 0,
27018
26942
  "%.200s.%.200s size changed, may indicate binary incompatibility. "
27019
26943
  "Expected %zd from C header, got %zd from PyObject",
@@ -27070,6 +26994,24 @@ static CYTHON_INLINE PyObject *__Pyx_PyDict_SetDefault(PyObject *d, PyObject *ke
27070
26994
  }
27071
26995
 
27072
26996
  /* FetchCommonType */
26997
+ #if __PYX_LIMITED_VERSION_HEX < 0x030C0000
26998
+ static PyObject* __Pyx_PyType_FromMetaclass(PyTypeObject *metaclass, PyObject *module, PyType_Spec *spec, PyObject *bases) {
26999
+ PyObject *result = __Pyx_PyType_FromModuleAndSpec(module, spec, bases);
27000
+ if (result && metaclass) {
27001
+ PyObject *old_tp = (PyObject*)Py_TYPE(result);
27002
+ Py_INCREF((PyObject*)metaclass);
27003
+ #if __PYX_LIMITED_VERSION_HEX >= 0x03090000
27004
+ Py_SET_TYPE(result, metaclass);
27005
+ #else
27006
+ result->ob_type = metaclass;
27007
+ #endif
27008
+ Py_DECREF(old_tp);
27009
+ }
27010
+ return result;
27011
+ }
27012
+ #else
27013
+ #define __Pyx_PyType_FromMetaclass(me, mo, s, b) PyType_FromMetaclass(me, mo, s, b)
27014
+ #endif
27073
27015
  static int __Pyx_VerifyCachedType(PyObject *cached_type,
27074
27016
  const char *name,
27075
27017
  Py_ssize_t expected_basicsize) {
@@ -27079,6 +27021,9 @@ static int __Pyx_VerifyCachedType(PyObject *cached_type,
27079
27021
  "Shared Cython type %.200s is not a type object", name);
27080
27022
  return -1;
27081
27023
  }
27024
+ if (expected_basicsize == 0) {
27025
+ return 0; // size is inherited, nothing useful to check
27026
+ }
27082
27027
  #if CYTHON_COMPILING_IN_LIMITED_API
27083
27028
  PyObject *py_basicsize;
27084
27029
  py_basicsize = PyObject_GetAttrString(cached_type, "__basicsize__");
@@ -27098,7 +27043,7 @@ static int __Pyx_VerifyCachedType(PyObject *cached_type,
27098
27043
  }
27099
27044
  return 0;
27100
27045
  }
27101
- static PyTypeObject *__Pyx_FetchCommonTypeFromSpec(PyObject *module, PyType_Spec *spec, PyObject *bases) {
27046
+ static PyTypeObject *__Pyx_FetchCommonTypeFromSpec(PyTypeObject *metaclass, PyObject *module, PyType_Spec *spec, PyObject *bases) {
27102
27047
  PyObject *abi_module = NULL, *cached_type = NULL, *abi_module_dict, *new_cached_type, *py_object_name;
27103
27048
  int get_item_ref_result;
27104
27049
  const char* object_name = strrchr(spec->name, '.');
@@ -27122,7 +27067,7 @@ static PyTypeObject *__Pyx_FetchCommonTypeFromSpec(PyObject *module, PyType_Spec
27122
27067
  goto bad;
27123
27068
  }
27124
27069
  CYTHON_UNUSED_VAR(module);
27125
- cached_type = __Pyx_PyType_FromModuleAndSpec(abi_module, spec, bases);
27070
+ cached_type = __Pyx_PyType_FromMetaclass(metaclass, abi_module, spec, bases);
27126
27071
  if (unlikely(!cached_type)) goto bad;
27127
27072
  if (unlikely(__Pyx_fix_up_extension_type_from_spec(spec, (PyTypeObject *) cached_type) < 0)) goto bad;
27128
27073
  new_cached_type = __Pyx_PyDict_SetDefault(abi_module_dict, py_object_name, cached_type, 1);
@@ -27151,6 +27096,43 @@ bad:
27151
27096
  goto done;
27152
27097
  }
27153
27098
 
27099
+ /* CommonTypesMetaclass */
27100
+ static PyObject* __pyx_CommonTypesMetaclass_get_module(CYTHON_UNUSED PyObject *self, CYTHON_UNUSED void* context) {
27101
+ return PyUnicode_FromString(__PYX_ABI_MODULE_NAME);
27102
+ }
27103
+ static PyGetSetDef __pyx_CommonTypesMetaclass_getset[] = {
27104
+ {"__module__", __pyx_CommonTypesMetaclass_get_module, NULL, NULL, NULL},
27105
+ {0, 0, 0, 0, 0}
27106
+ };
27107
+ static PyType_Slot __pyx_CommonTypesMetaclass_slots[] = {
27108
+ {Py_tp_getset, (void *)__pyx_CommonTypesMetaclass_getset},
27109
+ {0, 0}
27110
+ };
27111
+ static PyType_Spec __pyx_CommonTypesMetaclass_spec = {
27112
+ __PYX_TYPE_MODULE_PREFIX "_common_types_metatype",
27113
+ 0,
27114
+ 0,
27115
+ #if PY_VERSION_HEX >= 0x030A0000
27116
+ Py_TPFLAGS_IMMUTABLETYPE |
27117
+ Py_TPFLAGS_DISALLOW_INSTANTIATION |
27118
+ #endif
27119
+ Py_TPFLAGS_DEFAULT,
27120
+ __pyx_CommonTypesMetaclass_slots
27121
+ };
27122
+ static int __pyx_CommonTypesMetaclass_init(PyObject *module) {
27123
+ __pyx_mstatetype *mstate = __Pyx_PyModule_GetState(module);
27124
+ PyObject *bases = PyTuple_Pack(1, &PyType_Type);
27125
+ if (unlikely(!bases)) {
27126
+ return -1;
27127
+ }
27128
+ mstate->__pyx_CommonTypesMetaclassType = __Pyx_FetchCommonTypeFromSpec(NULL, module, &__pyx_CommonTypesMetaclass_spec, bases);
27129
+ Py_DECREF(bases);
27130
+ if (unlikely(mstate->__pyx_CommonTypesMetaclassType == NULL)) {
27131
+ return -1;
27132
+ }
27133
+ return 0;
27134
+ }
27135
+
27154
27136
  /* PyMethodNew */
27155
27137
  #if CYTHON_COMPILING_IN_LIMITED_API
27156
27138
  static PyObject *__Pyx_PyMethod_New(PyObject *func, PyObject *self, PyObject *typ) {
@@ -28248,7 +28230,8 @@ static PyType_Spec __pyx_CyFunctionType_spec = {
28248
28230
  };
28249
28231
  static int __pyx_CyFunction_init(PyObject *module) {
28250
28232
  __pyx_mstatetype *mstate = __Pyx_PyModule_GetState(module);
28251
- mstate->__pyx_CyFunctionType = __Pyx_FetchCommonTypeFromSpec(module, &__pyx_CyFunctionType_spec, NULL);
28233
+ mstate->__pyx_CyFunctionType = __Pyx_FetchCommonTypeFromSpec(
28234
+ mstate->__pyx_CommonTypesMetaclassType, module, &__pyx_CyFunctionType_spec, NULL);
28252
28235
  if (unlikely(mstate->__pyx_CyFunctionType == NULL)) {
28253
28236
  return -1;
28254
28237
  }
@@ -30844,6 +30827,10 @@ __Pyx_PyType_GetFullyQualifiedName(PyTypeObject* tp)
30844
30827
  PyCode_NewWithPosOnlyArgs
30845
30828
  #endif
30846
30829
  (a, p, k, l, s, f, code, c, n, v, fv, cell, fn, name, name, fline, lnos, __pyx_mstate_global->__pyx_empty_bytes);
30830
+ #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030c00A1
30831
+ if (likely(result))
30832
+ result->_co_firsttraceable = 0;
30833
+ #endif
30847
30834
  return result;
30848
30835
  }
30849
30836
  #elif PY_VERSION_HEX >= 0x030800B2 && !CYTHON_COMPILING_IN_PYPY