ez-a-sync 0.32.26__cp311-cp311-win_amd64.whl → 0.32.28__cp311-cp311-win_amd64.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 ez-a-sync might be problematic. Click here for more details.

Files changed (71) hide show
  1. a_sync/_smart.c +63 -43
  2. a_sync/_smart.cp311-win_amd64.pyd +0 -0
  3. a_sync/a_sync/_descriptor.c +83 -63
  4. a_sync/a_sync/_descriptor.cp311-win_amd64.pyd +0 -0
  5. a_sync/a_sync/_flags.c +13 -10
  6. a_sync/a_sync/_flags.cp311-win_amd64.pyd +0 -0
  7. a_sync/a_sync/_helpers.c +76 -56
  8. a_sync/a_sync/_helpers.cp311-win_amd64.pyd +0 -0
  9. a_sync/a_sync/_kwargs.c +45 -25
  10. a_sync/a_sync/_kwargs.cp311-win_amd64.pyd +0 -0
  11. a_sync/a_sync/abstract.c +54 -24
  12. a_sync/a_sync/abstract.cp311-win_amd64.pyd +0 -0
  13. a_sync/a_sync/abstract.pyi +2 -2
  14. a_sync/a_sync/base.c +186 -162
  15. a_sync/a_sync/base.cp311-win_amd64.pyd +0 -0
  16. a_sync/a_sync/flags.c +13 -10
  17. a_sync/a_sync/flags.cp311-win_amd64.pyd +0 -0
  18. a_sync/a_sync/function.c +106 -77
  19. a_sync/a_sync/function.cp311-win_amd64.pyd +0 -0
  20. a_sync/a_sync/method.c +157 -125
  21. a_sync/a_sync/method.cp311-win_amd64.pyd +0 -0
  22. a_sync/a_sync/method.pyi +2 -1
  23. a_sync/a_sync/modifiers/manager.c +60 -40
  24. a_sync/a_sync/modifiers/manager.cp311-win_amd64.pyd +0 -0
  25. a_sync/a_sync/property.c +104 -78
  26. a_sync/a_sync/property.cp311-win_amd64.pyd +0 -0
  27. a_sync/async_property/cached.c +71 -51
  28. a_sync/async_property/cached.cp311-win_amd64.pyd +0 -0
  29. a_sync/async_property/proxy.c +37 -17
  30. a_sync/async_property/proxy.cp311-win_amd64.pyd +0 -0
  31. a_sync/asyncio/as_completed.c +33 -13
  32. a_sync/asyncio/as_completed.cp311-win_amd64.pyd +0 -0
  33. a_sync/asyncio/create_task.c +59 -21
  34. a_sync/asyncio/create_task.cp311-win_amd64.pyd +0 -0
  35. a_sync/asyncio/gather.c +42 -22
  36. a_sync/asyncio/gather.cp311-win_amd64.pyd +0 -0
  37. a_sync/asyncio/igather.c +42 -18
  38. a_sync/asyncio/igather.cp311-win_amd64.pyd +0 -0
  39. a_sync/asyncio/sleep.c +24 -4
  40. a_sync/asyncio/sleep.cp311-win_amd64.pyd +0 -0
  41. a_sync/debugging.c +52 -32
  42. a_sync/debugging.cp311-win_amd64.pyd +0 -0
  43. a_sync/exceptions.c +36 -20
  44. a_sync/exceptions.cp311-win_amd64.pyd +0 -0
  45. a_sync/executor.py +44 -0
  46. a_sync/functools.c +31 -11
  47. a_sync/functools.cp311-win_amd64.pyd +0 -0
  48. a_sync/iter.c +159 -89
  49. a_sync/iter.cp311-win_amd64.pyd +0 -0
  50. a_sync/primitives/_debug.c +61 -41
  51. a_sync/primitives/_debug.cp311-win_amd64.pyd +0 -0
  52. a_sync/primitives/_loggable.c +48 -22
  53. a_sync/primitives/_loggable.cp311-win_amd64.pyd +0 -0
  54. a_sync/primitives/locks/counter.c +93 -63
  55. a_sync/primitives/locks/counter.cp311-win_amd64.pyd +0 -0
  56. a_sync/primitives/locks/event.c +70 -49
  57. a_sync/primitives/locks/event.cp311-win_amd64.pyd +0 -0
  58. a_sync/primitives/locks/prio_semaphore.c +121 -81
  59. a_sync/primitives/locks/prio_semaphore.cp311-win_amd64.pyd +0 -0
  60. a_sync/primitives/locks/prio_semaphore.pyi +2 -2
  61. a_sync/primitives/locks/semaphore.c +91 -64
  62. a_sync/primitives/locks/semaphore.cp311-win_amd64.pyd +0 -0
  63. a_sync/primitives/locks/semaphore.pyi +10 -9
  64. a_sync/primitives/queue.py +5 -1
  65. a_sync/utils/repr.c +55 -35
  66. a_sync/utils/repr.cp311-win_amd64.pyd +0 -0
  67. {ez_a_sync-0.32.26.dist-info → ez_a_sync-0.32.28.dist-info}/METADATA +1 -1
  68. {ez_a_sync-0.32.26.dist-info → ez_a_sync-0.32.28.dist-info}/RECORD +71 -71
  69. {ez_a_sync-0.32.26.dist-info → ez_a_sync-0.32.28.dist-info}/WHEEL +0 -0
  70. {ez_a_sync-0.32.26.dist-info → ez_a_sync-0.32.28.dist-info}/licenses/LICENSE.txt +0 -0
  71. {ez_a_sync-0.32.26.dist-info → ez_a_sync-0.32.28.dist-info}/top_level.txt +0 -0
@@ -1,4 +1,4 @@
1
- /* Generated by Cython 3.1.2 */
1
+ /* Generated by Cython 3.1.4 */
2
2
 
3
3
  /* BEGIN: Cython Metadata
4
4
  {
@@ -29,8 +29,8 @@ END: Cython Metadata */
29
29
  #elif PY_VERSION_HEX < 0x03080000
30
30
  #error Cython requires Python 3.8+.
31
31
  #else
32
- #define __PYX_ABI_VERSION "3_1_2"
33
- #define CYTHON_HEX_VERSION 0x030102F0
32
+ #define __PYX_ABI_VERSION "3_1_4"
33
+ #define CYTHON_HEX_VERSION 0x030104F0
34
34
  #define CYTHON_FUTURE_DIVISION 1
35
35
  /* CModulePreamble */
36
36
  #include <stddef.h>
@@ -393,6 +393,9 @@ END: Cython Metadata */
393
393
  enum { __pyx_check_sizeof_voidp = 1 / (int)(SIZEOF_VOID_P == sizeof(void*)) };
394
394
  #endif
395
395
  #endif
396
+ #ifndef CYTHON_LOCK_AND_GIL_DEADLOCK_AVOIDANCE_TIME
397
+ #define CYTHON_LOCK_AND_GIL_DEADLOCK_AVOIDANCE_TIME 100
398
+ #endif
396
399
  #ifndef __has_attribute
397
400
  #define __has_attribute(x) 0
398
401
  #endif
@@ -1916,18 +1919,18 @@ static CYTHON_INLINE int __Pyx_CheckKeywordStrings(const char* function_name, Py
1916
1919
  if (!__Pyx_PyThreadState_Current->tracing) {\
1917
1920
  if (likely(__pyx_frame_code)) Py_INCREF(__pyx_frame_code);\
1918
1921
  else __pyx_frame_code = (PyObject*) __Pyx_createFrameCodeObject(funcname, srcfile, firstlineno);\
1919
- if (unlikely(!__pyx_frame_code)) goto_error;\
1920
- ret = __Pyx__TraceStartFunc(__pyx_pymonitoring_state, __pyx_frame_code, offset, skip_event);\
1921
- }\
1922
+ if (unlikely(!__pyx_frame_code)) ret = -1;\
1923
+ else ret = __Pyx__TraceStartFunc(__pyx_pymonitoring_state, __pyx_frame_code, offset, skip_event);\
1924
+ } else __pyx_frame_code = NULL;\
1922
1925
  PyGILState_Release(state);\
1923
- }\
1926
+ } else __pyx_frame_code = NULL;\
1924
1927
  } else {\
1925
1928
  if (!__Pyx_PyThreadState_Current->tracing) {\
1926
1929
  if (likely(__pyx_frame_code)) Py_INCREF(__pyx_frame_code);\
1927
1930
  else __pyx_frame_code = (PyObject*) __Pyx_createFrameCodeObject(funcname, srcfile, firstlineno);\
1928
- if (unlikely(!__pyx_frame_code)) goto_error;\
1929
- ret = __Pyx__TraceStartFunc(__pyx_pymonitoring_state, __pyx_frame_code, offset, skip_event);\
1930
- }\
1931
+ if (unlikely(!__pyx_frame_code)) ret = -1;\
1932
+ else ret = __Pyx__TraceStartFunc(__pyx_pymonitoring_state, __pyx_frame_code, offset, skip_event);\
1933
+ } else __pyx_frame_code = NULL;\
1931
1934
  }\
1932
1935
  if (unlikely(ret == -1)) goto_error;\
1933
1936
  }
@@ -11503,6 +11506,13 @@ try_unpack:
11503
11506
 
11504
11507
  /* PyObjectCallMethod0 */
11505
11508
  static PyObject* __Pyx_PyObject_CallMethod0(PyObject* obj, PyObject* method_name) {
11509
+ #if CYTHON_VECTORCALL && (__PYX_LIMITED_VERSION_HEX >= 0x030C0000 || (!CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x03090000))
11510
+ PyObject *args[1] = {obj};
11511
+ (void) __Pyx_PyObject_GetMethod;
11512
+ (void) __Pyx_PyObject_CallOneArg;
11513
+ (void) __Pyx_PyObject_CallNoArg;
11514
+ return PyObject_VectorcallMethod(method_name, args, 1 | PY_VECTORCALL_ARGUMENTS_OFFSET, NULL);
11515
+ #else
11506
11516
  PyObject *method = NULL, *result = NULL;
11507
11517
  int is_method = __Pyx_PyObject_GetMethod(obj, method_name, &method);
11508
11518
  if (likely(is_method)) {
@@ -11515,6 +11525,7 @@ static PyObject* __Pyx_PyObject_CallMethod0(PyObject* obj, PyObject* method_name
11515
11525
  Py_DECREF(method);
11516
11526
  bad:
11517
11527
  return result;
11528
+ #endif
11518
11529
  }
11519
11530
 
11520
11531
  /* RaiseNeedMoreValuesToUnpack */
@@ -12035,6 +12046,7 @@ static int __Pyx_fix_up_extension_type_from_spec(PyType_Spec *spec, PyTypeObject
12035
12046
  changed = 1;
12036
12047
  }
12037
12048
  #endif // CYTHON_METH_FASTCALL
12049
+ #if !CYTHON_COMPILING_IN_PYPY
12038
12050
  else if (strcmp(memb->name, "__module__") == 0) {
12039
12051
  PyObject *descr;
12040
12052
  assert(memb->type == T_OBJECT);
@@ -12049,11 +12061,13 @@ static int __Pyx_fix_up_extension_type_from_spec(PyType_Spec *spec, PyTypeObject
12049
12061
  }
12050
12062
  changed = 1;
12051
12063
  }
12064
+ #endif // !CYTHON_COMPILING_IN_PYPY
12052
12065
  }
12053
12066
  memb++;
12054
12067
  }
12055
12068
  }
12056
12069
  #endif // !CYTHON_COMPILING_IN_LIMITED_API
12070
+ #if !CYTHON_COMPILING_IN_PYPY
12057
12071
  slot = spec->slots;
12058
12072
  while (slot && slot->slot && slot->slot != Py_tp_getset)
12059
12073
  slot++;
@@ -12085,6 +12099,7 @@ static int __Pyx_fix_up_extension_type_from_spec(PyType_Spec *spec, PyTypeObject
12085
12099
  ++getset;
12086
12100
  }
12087
12101
  }
12102
+ #endif // !CYTHON_COMPILING_IN_PYPY
12088
12103
  if (changed)
12089
12104
  PyType_Modified(type);
12090
12105
  #endif // PY_VERSION_HEX > 0x030900B1
@@ -12217,7 +12232,7 @@ bad:
12217
12232
  }
12218
12233
 
12219
12234
  /* CommonTypesMetaclass */
12220
- PyObject* __pyx_CommonTypesMetaclass_get_module(CYTHON_UNUSED PyObject *self, CYTHON_UNUSED void* context) {
12235
+ static PyObject* __pyx_CommonTypesMetaclass_get_module(CYTHON_UNUSED PyObject *self, CYTHON_UNUSED void* context) {
12221
12236
  return PyUnicode_FromString(__PYX_ABI_MODULE_NAME);
12222
12237
  }
12223
12238
  static PyGetSetDef __pyx_CommonTypesMetaclass_getset[] = {
@@ -12246,6 +12261,7 @@ static int __pyx_CommonTypesMetaclass_init(PyObject *module) {
12246
12261
  return -1;
12247
12262
  }
12248
12263
  mstate->__pyx_CommonTypesMetaclassType = __Pyx_FetchCommonTypeFromSpec(NULL, module, &__pyx_CommonTypesMetaclass_spec, bases);
12264
+ Py_DECREF(bases);
12249
12265
  if (unlikely(mstate->__pyx_CommonTypesMetaclassType == NULL)) {
12250
12266
  return -1;
12251
12267
  }
@@ -12437,7 +12453,7 @@ static CYTHON_INLINE PyObject* __Pyx_PyObject_Call2Args(PyObject* function, PyOb
12437
12453
  }
12438
12454
 
12439
12455
  /* PyObjectCallMethod1 */
12440
- #if !(CYTHON_VECTORCALL && __PYX_LIMITED_VERSION_HEX >= 0x030C0000)
12456
+ #if !(CYTHON_VECTORCALL && (__PYX_LIMITED_VERSION_HEX >= 0x030C0000 || (!CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x03090000)))
12441
12457
  static PyObject* __Pyx__PyObject_CallMethod1(PyObject* method, PyObject* arg) {
12442
12458
  PyObject *result = __Pyx_PyObject_CallOneArg(method, arg);
12443
12459
  Py_DECREF(method);
@@ -12445,7 +12461,7 @@ static PyObject* __Pyx__PyObject_CallMethod1(PyObject* method, PyObject* arg) {
12445
12461
  }
12446
12462
  #endif
12447
12463
  static PyObject* __Pyx_PyObject_CallMethod1(PyObject* obj, PyObject* method_name, PyObject* arg) {
12448
- #if CYTHON_VECTORCALL && __PYX_LIMITED_VERSION_HEX >= 0x030C0000
12464
+ #if CYTHON_VECTORCALL && (__PYX_LIMITED_VERSION_HEX >= 0x030C0000 || (!CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x03090000))
12449
12465
  PyObject *args[2] = {obj, arg};
12450
12466
  (void) __Pyx_PyObject_GetMethod;
12451
12467
  (void) __Pyx_PyObject_CallOneArg;
@@ -17867,6 +17883,10 @@ bad:
17867
17883
  PyCode_NewWithPosOnlyArgs
17868
17884
  #endif
17869
17885
  (a, p, k, l, s, f, code, c, n, v, fv, cell, fn, name, name, fline, lnos, __pyx_mstate_global->__pyx_empty_bytes);
17886
+ #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030c00A1
17887
+ if (likely(result))
17888
+ result->_co_firsttraceable = 0;
17889
+ #endif
17870
17890
  return result;
17871
17891
  }
17872
17892
  #elif PY_VERSION_HEX >= 0x030800B2 && !CYTHON_COMPILING_IN_PYPY
@@ -1,4 +1,4 @@
1
- /* Generated by Cython 3.1.2 */
1
+ /* Generated by Cython 3.1.4 */
2
2
 
3
3
  /* BEGIN: Cython Metadata
4
4
  {
@@ -30,8 +30,8 @@ END: Cython Metadata */
30
30
  #elif PY_VERSION_HEX < 0x03080000
31
31
  #error Cython requires Python 3.8+.
32
32
  #else
33
- #define __PYX_ABI_VERSION "3_1_2"
34
- #define CYTHON_HEX_VERSION 0x030102F0
33
+ #define __PYX_ABI_VERSION "3_1_4"
34
+ #define CYTHON_HEX_VERSION 0x030104F0
35
35
  #define CYTHON_FUTURE_DIVISION 1
36
36
  /* CModulePreamble */
37
37
  #include <stddef.h>
@@ -394,6 +394,9 @@ END: Cython Metadata */
394
394
  enum { __pyx_check_sizeof_voidp = 1 / (int)(SIZEOF_VOID_P == sizeof(void*)) };
395
395
  #endif
396
396
  #endif
397
+ #ifndef CYTHON_LOCK_AND_GIL_DEADLOCK_AVOIDANCE_TIME
398
+ #define CYTHON_LOCK_AND_GIL_DEADLOCK_AVOIDANCE_TIME 100
399
+ #endif
397
400
  #ifndef __has_attribute
398
401
  #define __has_attribute(x) 0
399
402
  #endif
@@ -1979,18 +1982,18 @@ static int __Pyx__ArgTypeTest(PyObject *obj, PyTypeObject *type, const char *nam
1979
1982
  if (!__Pyx_PyThreadState_Current->tracing) {\
1980
1983
  if (likely(__pyx_frame_code)) Py_INCREF(__pyx_frame_code);\
1981
1984
  else __pyx_frame_code = (PyObject*) __Pyx_createFrameCodeObject(funcname, srcfile, firstlineno);\
1982
- if (unlikely(!__pyx_frame_code)) goto_error;\
1983
- ret = __Pyx__TraceStartFunc(__pyx_pymonitoring_state, __pyx_frame_code, offset, skip_event);\
1984
- }\
1985
+ if (unlikely(!__pyx_frame_code)) ret = -1;\
1986
+ else ret = __Pyx__TraceStartFunc(__pyx_pymonitoring_state, __pyx_frame_code, offset, skip_event);\
1987
+ } else __pyx_frame_code = NULL;\
1985
1988
  PyGILState_Release(state);\
1986
- }\
1989
+ } else __pyx_frame_code = NULL;\
1987
1990
  } else {\
1988
1991
  if (!__Pyx_PyThreadState_Current->tracing) {\
1989
1992
  if (likely(__pyx_frame_code)) Py_INCREF(__pyx_frame_code);\
1990
1993
  else __pyx_frame_code = (PyObject*) __Pyx_createFrameCodeObject(funcname, srcfile, firstlineno);\
1991
- if (unlikely(!__pyx_frame_code)) goto_error;\
1992
- ret = __Pyx__TraceStartFunc(__pyx_pymonitoring_state, __pyx_frame_code, offset, skip_event);\
1993
- }\
1994
+ if (unlikely(!__pyx_frame_code)) ret = -1;\
1995
+ else ret = __Pyx__TraceStartFunc(__pyx_pymonitoring_state, __pyx_frame_code, offset, skip_event);\
1996
+ } else __pyx_frame_code = NULL;\
1994
1997
  }\
1995
1998
  if (unlikely(ret == -1)) goto_error;\
1996
1999
  }
@@ -4127,8 +4130,14 @@ static PyObject *__pyx_f_6a_sync_7asyncio_11create_task_ccreate_task(PyObject *_
4127
4130
  *
4128
4131
  */
4129
4132
  __Pyx_TraceLine(113,61,0,__PYX_ERR(0, 113, __pyx_L1_error))
4130
- __pyx_t_6 = (__pyx_v_name != Py_None)&&(__Pyx_PyUnicode_IS_TRUE(__pyx_v_name) != 0);
4131
- if (unlikely(((!CYTHON_ASSUME_SAFE_MACROS) && __pyx_t_6 < 0))) __PYX_ERR(0, 113, __pyx_L1_error)
4133
+ if (__pyx_v_name == Py_None) __pyx_t_6 = 0;
4134
+ else
4135
+ {
4136
+ Py_ssize_t __pyx_temp = __Pyx_PyUnicode_IS_TRUE(__pyx_v_name);
4137
+ if (unlikely(((!CYTHON_ASSUME_SAFE_SIZE) && __pyx_temp < 0))) __PYX_ERR(0, 113, __pyx_L1_error)
4138
+ __pyx_t_6 = (__pyx_temp != 0);
4139
+ }
4140
+
4132
4141
  if (__pyx_t_6) {
4133
4142
 
4134
4143
  /* "a_sync/asyncio/create_task.pyx":114
@@ -4431,8 +4440,14 @@ static PyObject *__pyx_f_6a_sync_7asyncio_11create_task_ccreate_task(PyObject *_
4431
4440
  *
4432
4441
  */
4433
4442
  __Pyx_TraceLine(129,117,0,__PYX_ERR(0, 129, __pyx_L1_error))
4434
- __pyx_t_6 = (__pyx_v_name != Py_None)&&(__Pyx_PyUnicode_IS_TRUE(__pyx_v_name) != 0);
4435
- if (unlikely(((!CYTHON_ASSUME_SAFE_MACROS) && __pyx_t_6 < 0))) __PYX_ERR(0, 129, __pyx_L1_error)
4443
+ if (__pyx_v_name == Py_None) __pyx_t_6 = 0;
4444
+ else
4445
+ {
4446
+ Py_ssize_t __pyx_temp = __Pyx_PyUnicode_IS_TRUE(__pyx_v_name);
4447
+ if (unlikely(((!CYTHON_ASSUME_SAFE_SIZE) && __pyx_temp < 0))) __PYX_ERR(0, 129, __pyx_L1_error)
4448
+ __pyx_t_6 = (__pyx_temp != 0);
4449
+ }
4450
+
4436
4451
  if (__pyx_t_6) {
4437
4452
 
4438
4453
  /* "a_sync/asyncio/create_task.pyx":130
@@ -4540,8 +4555,14 @@ static PyObject *__pyx_f_6a_sync_7asyncio_11create_task_ccreate_task(PyObject *_
4540
4555
  * __log_exception(exc)
4541
4556
  */
4542
4557
  __Pyx_TraceLine(138,138,0,__PYX_ERR(0, 138, __pyx_L1_error))
4543
- __pyx_t_6 = (_exceptions != Py_None)&&(__Pyx_PySet_GET_SIZE(_exceptions) != 0);
4544
- if (unlikely(((!CYTHON_ASSUME_SAFE_MACROS) && __pyx_t_6 < 0))) __PYX_ERR(0, 138, __pyx_L1_error)
4558
+ if (_exceptions == Py_None) __pyx_t_6 = 0;
4559
+ else
4560
+ {
4561
+ Py_ssize_t __pyx_temp = __Pyx_PySet_GET_SIZE(_exceptions);
4562
+ if (unlikely(((!CYTHON_ASSUME_SAFE_SIZE) && __pyx_temp < 0))) __PYX_ERR(0, 138, __pyx_L1_error)
4563
+ __pyx_t_6 = (__pyx_temp != 0);
4564
+ }
4565
+
4545
4566
  if (__pyx_t_6) {
4546
4567
 
4547
4568
  /* "a_sync/asyncio/create_task.pyx":139
@@ -4771,8 +4792,8 @@ static CYTHON_INLINE void __pyx_f_6a_sync_7asyncio_11create_task___set_task_name
4771
4792
  __Pyx_TraceLine(147,5,0,__PYX_ERR(0, 147, __pyx_L1_error))
4772
4793
  __pyx_t_1 = __Pyx_GetAttr3(__pyx_v_task, __pyx_mstate_global->__pyx_n_u_set_name, Py_None); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 147, __pyx_L1_error)
4773
4794
  __Pyx_GOTREF(__pyx_t_1);
4774
- __pyx_v_set_name = __pyx_t_1;
4775
4795
  __Pyx_INCREF(__pyx_t_1);
4796
+ __pyx_v_set_name = __pyx_t_1;
4776
4797
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 147, __pyx_L1_error)
4777
4798
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
4778
4799
  if (__pyx_t_2) {
@@ -5011,8 +5032,8 @@ static PyObject *__pyx_pf_6a_sync_7asyncio_11create_task_2_persisted_task_callba
5011
5032
  if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 164, __pyx_L1_error)
5012
5033
  __Pyx_GOTREF(__pyx_t_1);
5013
5034
  }
5014
- __pyx_v_exc = __pyx_t_1;
5015
5035
  __Pyx_INCREF(__pyx_t_1);
5036
+ __pyx_v_exc = __pyx_t_1;
5016
5037
  __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_4 < 0))) __PYX_ERR(0, 164, __pyx_L1_error)
5017
5038
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
5018
5039
  if (__pyx_t_4) {
@@ -10273,6 +10294,7 @@ static int __Pyx_fix_up_extension_type_from_spec(PyType_Spec *spec, PyTypeObject
10273
10294
  changed = 1;
10274
10295
  }
10275
10296
  #endif // CYTHON_METH_FASTCALL
10297
+ #if !CYTHON_COMPILING_IN_PYPY
10276
10298
  else if (strcmp(memb->name, "__module__") == 0) {
10277
10299
  PyObject *descr;
10278
10300
  assert(memb->type == T_OBJECT);
@@ -10287,11 +10309,13 @@ static int __Pyx_fix_up_extension_type_from_spec(PyType_Spec *spec, PyTypeObject
10287
10309
  }
10288
10310
  changed = 1;
10289
10311
  }
10312
+ #endif // !CYTHON_COMPILING_IN_PYPY
10290
10313
  }
10291
10314
  memb++;
10292
10315
  }
10293
10316
  }
10294
10317
  #endif // !CYTHON_COMPILING_IN_LIMITED_API
10318
+ #if !CYTHON_COMPILING_IN_PYPY
10295
10319
  slot = spec->slots;
10296
10320
  while (slot && slot->slot && slot->slot != Py_tp_getset)
10297
10321
  slot++;
@@ -10323,6 +10347,7 @@ static int __Pyx_fix_up_extension_type_from_spec(PyType_Spec *spec, PyTypeObject
10323
10347
  ++getset;
10324
10348
  }
10325
10349
  }
10350
+ #endif // !CYTHON_COMPILING_IN_PYPY
10326
10351
  if (changed)
10327
10352
  PyType_Modified(type);
10328
10353
  #endif // PY_VERSION_HEX > 0x030900B1
@@ -10455,7 +10480,7 @@ bad:
10455
10480
  }
10456
10481
 
10457
10482
  /* CommonTypesMetaclass */
10458
- PyObject* __pyx_CommonTypesMetaclass_get_module(CYTHON_UNUSED PyObject *self, CYTHON_UNUSED void* context) {
10483
+ static PyObject* __pyx_CommonTypesMetaclass_get_module(CYTHON_UNUSED PyObject *self, CYTHON_UNUSED void* context) {
10459
10484
  return PyUnicode_FromString(__PYX_ABI_MODULE_NAME);
10460
10485
  }
10461
10486
  static PyGetSetDef __pyx_CommonTypesMetaclass_getset[] = {
@@ -10484,6 +10509,7 @@ static int __pyx_CommonTypesMetaclass_init(PyObject *module) {
10484
10509
  return -1;
10485
10510
  }
10486
10511
  mstate->__pyx_CommonTypesMetaclassType = __Pyx_FetchCommonTypeFromSpec(NULL, module, &__pyx_CommonTypesMetaclass_spec, bases);
10512
+ Py_DECREF(bases);
10487
10513
  if (unlikely(mstate->__pyx_CommonTypesMetaclassType == NULL)) {
10488
10514
  return -1;
10489
10515
  }
@@ -10771,7 +10797,7 @@ try_unpack:
10771
10797
  }
10772
10798
 
10773
10799
  /* PyObjectCallMethod1 */
10774
- #if !(CYTHON_VECTORCALL && __PYX_LIMITED_VERSION_HEX >= 0x030C0000)
10800
+ #if !(CYTHON_VECTORCALL && (__PYX_LIMITED_VERSION_HEX >= 0x030C0000 || (!CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x03090000)))
10775
10801
  static PyObject* __Pyx__PyObject_CallMethod1(PyObject* method, PyObject* arg) {
10776
10802
  PyObject *result = __Pyx_PyObject_CallOneArg(method, arg);
10777
10803
  Py_DECREF(method);
@@ -10779,7 +10805,7 @@ static PyObject* __Pyx__PyObject_CallMethod1(PyObject* method, PyObject* arg) {
10779
10805
  }
10780
10806
  #endif
10781
10807
  static PyObject* __Pyx_PyObject_CallMethod1(PyObject* obj, PyObject* method_name, PyObject* arg) {
10782
- #if CYTHON_VECTORCALL && __PYX_LIMITED_VERSION_HEX >= 0x030C0000
10808
+ #if CYTHON_VECTORCALL && (__PYX_LIMITED_VERSION_HEX >= 0x030C0000 || (!CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x03090000))
10783
10809
  PyObject *args[2] = {obj, arg};
10784
10810
  (void) __Pyx_PyObject_GetMethod;
10785
10811
  (void) __Pyx_PyObject_CallOneArg;
@@ -12428,6 +12454,13 @@ static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Fast(PyObject *o, Py_ssize_t i,
12428
12454
 
12429
12455
  /* PyObjectCallMethod0 */
12430
12456
  static PyObject* __Pyx_PyObject_CallMethod0(PyObject* obj, PyObject* method_name) {
12457
+ #if CYTHON_VECTORCALL && (__PYX_LIMITED_VERSION_HEX >= 0x030C0000 || (!CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x03090000))
12458
+ PyObject *args[1] = {obj};
12459
+ (void) __Pyx_PyObject_GetMethod;
12460
+ (void) __Pyx_PyObject_CallOneArg;
12461
+ (void) __Pyx_PyObject_CallNoArg;
12462
+ return PyObject_VectorcallMethod(method_name, args, 1 | PY_VECTORCALL_ARGUMENTS_OFFSET, NULL);
12463
+ #else
12431
12464
  PyObject *method = NULL, *result = NULL;
12432
12465
  int is_method = __Pyx_PyObject_GetMethod(obj, method_name, &method);
12433
12466
  if (likely(is_method)) {
@@ -12440,6 +12473,7 @@ static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Fast(PyObject *o, Py_ssize_t i,
12440
12473
  Py_DECREF(method);
12441
12474
  bad:
12442
12475
  return result;
12476
+ #endif
12443
12477
  }
12444
12478
 
12445
12479
  /* ValidateBasesTuple */
@@ -15130,6 +15164,10 @@ bad:
15130
15164
  PyCode_NewWithPosOnlyArgs
15131
15165
  #endif
15132
15166
  (a, p, k, l, s, f, code, c, n, v, fv, cell, fn, name, name, fline, lnos, __pyx_mstate_global->__pyx_empty_bytes);
15167
+ #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030c00A1
15168
+ if (likely(result))
15169
+ result->_co_firsttraceable = 0;
15170
+ #endif
15133
15171
  return result;
15134
15172
  }
15135
15173
  #elif PY_VERSION_HEX >= 0x030800B2 && !CYTHON_COMPILING_IN_PYPY
a_sync/asyncio/gather.c CHANGED
@@ -1,4 +1,4 @@
1
- /* Generated by Cython 3.1.2 */
1
+ /* Generated by Cython 3.1.4 */
2
2
 
3
3
  /* BEGIN: Cython Metadata
4
4
  {
@@ -29,8 +29,8 @@ END: Cython Metadata */
29
29
  #elif PY_VERSION_HEX < 0x03080000
30
30
  #error Cython requires Python 3.8+.
31
31
  #else
32
- #define __PYX_ABI_VERSION "3_1_2"
33
- #define CYTHON_HEX_VERSION 0x030102F0
32
+ #define __PYX_ABI_VERSION "3_1_4"
33
+ #define CYTHON_HEX_VERSION 0x030104F0
34
34
  #define CYTHON_FUTURE_DIVISION 1
35
35
  /* CModulePreamble */
36
36
  #include <stddef.h>
@@ -393,6 +393,9 @@ END: Cython Metadata */
393
393
  enum { __pyx_check_sizeof_voidp = 1 / (int)(SIZEOF_VOID_P == sizeof(void*)) };
394
394
  #endif
395
395
  #endif
396
+ #ifndef CYTHON_LOCK_AND_GIL_DEADLOCK_AVOIDANCE_TIME
397
+ #define CYTHON_LOCK_AND_GIL_DEADLOCK_AVOIDANCE_TIME 100
398
+ #endif
396
399
  #ifndef __has_attribute
397
400
  #define __has_attribute(x) 0
398
401
  #endif
@@ -2383,18 +2386,18 @@ static PyObject *__Pyx_PyDict_GetItem(PyObject *d, PyObject* key);
2383
2386
  if (!__Pyx_PyThreadState_Current->tracing) {\
2384
2387
  if (likely(__pyx_frame_code)) Py_INCREF(__pyx_frame_code);\
2385
2388
  else __pyx_frame_code = (PyObject*) __Pyx_createFrameCodeObject(funcname, srcfile, firstlineno);\
2386
- if (unlikely(!__pyx_frame_code)) goto_error;\
2387
- ret = __Pyx__TraceStartFunc(__pyx_pymonitoring_state, __pyx_frame_code, offset, skip_event);\
2388
- }\
2389
+ if (unlikely(!__pyx_frame_code)) ret = -1;\
2390
+ else ret = __Pyx__TraceStartFunc(__pyx_pymonitoring_state, __pyx_frame_code, offset, skip_event);\
2391
+ } else __pyx_frame_code = NULL;\
2389
2392
  PyGILState_Release(state);\
2390
- }\
2393
+ } else __pyx_frame_code = NULL;\
2391
2394
  } else {\
2392
2395
  if (!__Pyx_PyThreadState_Current->tracing) {\
2393
2396
  if (likely(__pyx_frame_code)) Py_INCREF(__pyx_frame_code);\
2394
2397
  else __pyx_frame_code = (PyObject*) __Pyx_createFrameCodeObject(funcname, srcfile, firstlineno);\
2395
- if (unlikely(!__pyx_frame_code)) goto_error;\
2396
- ret = __Pyx__TraceStartFunc(__pyx_pymonitoring_state, __pyx_frame_code, offset, skip_event);\
2397
- }\
2398
+ if (unlikely(!__pyx_frame_code)) ret = -1;\
2399
+ else ret = __Pyx__TraceStartFunc(__pyx_pymonitoring_state, __pyx_frame_code, offset, skip_event);\
2400
+ } else __pyx_frame_code = NULL;\
2398
2401
  }\
2399
2402
  if (unlikely(ret == -1)) goto_error;\
2400
2403
  }
@@ -3020,7 +3023,7 @@ static unsigned long __Pyx_get_runtime_version(void);
3020
3023
  static int __Pyx_check_binary_version(unsigned long ct_version, unsigned long rt_version, int allow_newer);
3021
3024
 
3022
3025
  /* FunctionImport.proto */
3023
- static int __Pyx_ImportFunction_3_1_2(PyObject *module, const char *funcname, void (**f)(void), const char *sig);
3026
+ static int __Pyx_ImportFunction_3_1_4(PyObject *module, const char *funcname, void (**f)(void), const char *sig);
3024
3027
 
3025
3028
  /* MultiPhaseInitModuleState.proto */
3026
3029
  #if CYTHON_PEP489_MULTI_PHASE_INIT && CYTHON_USE_MODULE_STATE
@@ -7376,20 +7379,20 @@ static int __Pyx_modinit_function_import_code(__pyx_mstatetype *__pyx_mstate) {
7376
7379
  /*--- Function import code ---*/
7377
7380
  __pyx_t_1 = PyImport_ImportModule("a_sync.a_sync._helpers"); if (!__pyx_t_1) __PYX_ERR(0, 1, __pyx_L1_error)
7378
7381
  __Pyx_GOTREF(__pyx_t_1);
7379
- if (__Pyx_ImportFunction_3_1_2(__pyx_t_1, "get_event_loop", (void (**)(void))&__pyx_f_6a_sync_6a_sync_8_helpers_get_event_loop, "PyObject *(int __pyx_skip_dispatch)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
7382
+ if (__Pyx_ImportFunction_3_1_4(__pyx_t_1, "get_event_loop", (void (**)(void))&__pyx_f_6a_sync_6a_sync_8_helpers_get_event_loop, "PyObject *(int __pyx_skip_dispatch)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
7380
7383
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
7381
7384
  __pyx_t_1 = PyImport_ImportModule("a_sync.asyncio.as_completed"); if (!__pyx_t_1) __PYX_ERR(0, 1, __pyx_L1_error)
7382
7385
  __Pyx_GOTREF(__pyx_t_1);
7383
- if (__Pyx_ImportFunction_3_1_2(__pyx_t_1, "as_completed_mapping", (void (**)(void))&__pyx_f_6a_sync_7asyncio_12as_completed_as_completed_mapping, "PyObject *(PyObject *, unsigned int, int, int, int, PyObject *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
7386
+ if (__Pyx_ImportFunction_3_1_4(__pyx_t_1, "as_completed_mapping", (void (**)(void))&__pyx_f_6a_sync_7asyncio_12as_completed_as_completed_mapping, "PyObject *(PyObject *, unsigned int, int, int, int, PyObject *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
7384
7387
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
7385
7388
  __pyx_t_1 = PyImport_ImportModule("a_sync.asyncio.create_task"); if (!__pyx_t_1) __PYX_ERR(0, 1, __pyx_L1_error)
7386
7389
  __Pyx_GOTREF(__pyx_t_1);
7387
- if (__Pyx_ImportFunction_3_1_2(__pyx_t_1, "ccreate_task_simple", (void (**)(void))&__pyx_f_6a_sync_7asyncio_11create_task_ccreate_task_simple, "PyObject *(PyObject *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
7388
- if (__Pyx_ImportFunction_3_1_2(__pyx_t_1, "ccreate_task", (void (**)(void))&__pyx_f_6a_sync_7asyncio_11create_task_ccreate_task, "PyObject *(PyObject *, PyObject *, int, int)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
7390
+ if (__Pyx_ImportFunction_3_1_4(__pyx_t_1, "ccreate_task_simple", (void (**)(void))&__pyx_f_6a_sync_7asyncio_11create_task_ccreate_task_simple, "PyObject *(PyObject *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
7391
+ if (__Pyx_ImportFunction_3_1_4(__pyx_t_1, "ccreate_task", (void (**)(void))&__pyx_f_6a_sync_7asyncio_11create_task_ccreate_task, "PyObject *(PyObject *, PyObject *, int, int)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
7389
7392
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
7390
7393
  __pyx_t_1 = PyImport_ImportModule("a_sync.asyncio.igather"); if (!__pyx_t_1) __PYX_ERR(0, 1, __pyx_L1_error)
7391
7394
  __Pyx_GOTREF(__pyx_t_1);
7392
- if (__Pyx_ImportFunction_3_1_2(__pyx_t_1, "cigather", (void (**)(void))&__pyx_f_6a_sync_7asyncio_7igather_cigather, "PyObject *(PyObject *, struct __pyx_opt_args_6a_sync_7asyncio_7igather_cigather *__pyx_optional_args)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
7395
+ if (__Pyx_ImportFunction_3_1_4(__pyx_t_1, "cigather", (void (**)(void))&__pyx_f_6a_sync_7asyncio_7igather_cigather, "PyObject *(PyObject *, struct __pyx_opt_args_6a_sync_7asyncio_7igather_cigather *__pyx_optional_args)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
7393
7396
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
7394
7397
  __Pyx_RefNannyFinishContext();
7395
7398
  return 0;
@@ -10412,6 +10415,13 @@ try_unpack:
10412
10415
 
10413
10416
  /* PyObjectCallMethod0 */
10414
10417
  static PyObject* __Pyx_PyObject_CallMethod0(PyObject* obj, PyObject* method_name) {
10418
+ #if CYTHON_VECTORCALL && (__PYX_LIMITED_VERSION_HEX >= 0x030C0000 || (!CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x03090000))
10419
+ PyObject *args[1] = {obj};
10420
+ (void) __Pyx_PyObject_GetMethod;
10421
+ (void) __Pyx_PyObject_CallOneArg;
10422
+ (void) __Pyx_PyObject_CallNoArg;
10423
+ return PyObject_VectorcallMethod(method_name, args, 1 | PY_VECTORCALL_ARGUMENTS_OFFSET, NULL);
10424
+ #else
10415
10425
  PyObject *method = NULL, *result = NULL;
10416
10426
  int is_method = __Pyx_PyObject_GetMethod(obj, method_name, &method);
10417
10427
  if (likely(is_method)) {
@@ -10424,6 +10434,7 @@ static PyObject* __Pyx_PyObject_CallMethod0(PyObject* obj, PyObject* method_name
10424
10434
  Py_DECREF(method);
10425
10435
  bad:
10426
10436
  return result;
10437
+ #endif
10427
10438
  }
10428
10439
 
10429
10440
  /* RaiseNeedMoreValuesToUnpack */
@@ -10912,6 +10923,7 @@ static int __Pyx_fix_up_extension_type_from_spec(PyType_Spec *spec, PyTypeObject
10912
10923
  changed = 1;
10913
10924
  }
10914
10925
  #endif // CYTHON_METH_FASTCALL
10926
+ #if !CYTHON_COMPILING_IN_PYPY
10915
10927
  else if (strcmp(memb->name, "__module__") == 0) {
10916
10928
  PyObject *descr;
10917
10929
  assert(memb->type == T_OBJECT);
@@ -10926,11 +10938,13 @@ static int __Pyx_fix_up_extension_type_from_spec(PyType_Spec *spec, PyTypeObject
10926
10938
  }
10927
10939
  changed = 1;
10928
10940
  }
10941
+ #endif // !CYTHON_COMPILING_IN_PYPY
10929
10942
  }
10930
10943
  memb++;
10931
10944
  }
10932
10945
  }
10933
10946
  #endif // !CYTHON_COMPILING_IN_LIMITED_API
10947
+ #if !CYTHON_COMPILING_IN_PYPY
10934
10948
  slot = spec->slots;
10935
10949
  while (slot && slot->slot && slot->slot != Py_tp_getset)
10936
10950
  slot++;
@@ -10962,6 +10976,7 @@ static int __Pyx_fix_up_extension_type_from_spec(PyType_Spec *spec, PyTypeObject
10962
10976
  ++getset;
10963
10977
  }
10964
10978
  }
10979
+ #endif // !CYTHON_COMPILING_IN_PYPY
10965
10980
  if (changed)
10966
10981
  PyType_Modified(type);
10967
10982
  #endif // PY_VERSION_HEX > 0x030900B1
@@ -11094,7 +11109,7 @@ bad:
11094
11109
  }
11095
11110
 
11096
11111
  /* CommonTypesMetaclass */
11097
- PyObject* __pyx_CommonTypesMetaclass_get_module(CYTHON_UNUSED PyObject *self, CYTHON_UNUSED void* context) {
11112
+ static PyObject* __pyx_CommonTypesMetaclass_get_module(CYTHON_UNUSED PyObject *self, CYTHON_UNUSED void* context) {
11098
11113
  return PyUnicode_FromString(__PYX_ABI_MODULE_NAME);
11099
11114
  }
11100
11115
  static PyGetSetDef __pyx_CommonTypesMetaclass_getset[] = {
@@ -11123,6 +11138,7 @@ static int __pyx_CommonTypesMetaclass_init(PyObject *module) {
11123
11138
  return -1;
11124
11139
  }
11125
11140
  mstate->__pyx_CommonTypesMetaclassType = __Pyx_FetchCommonTypeFromSpec(NULL, module, &__pyx_CommonTypesMetaclass_spec, bases);
11141
+ Py_DECREF(bases);
11126
11142
  if (unlikely(mstate->__pyx_CommonTypesMetaclassType == NULL)) {
11127
11143
  return -1;
11128
11144
  }
@@ -11314,7 +11330,7 @@ static CYTHON_INLINE PyObject* __Pyx_PyObject_Call2Args(PyObject* function, PyOb
11314
11330
  }
11315
11331
 
11316
11332
  /* PyObjectCallMethod1 */
11317
- #if !(CYTHON_VECTORCALL && __PYX_LIMITED_VERSION_HEX >= 0x030C0000)
11333
+ #if !(CYTHON_VECTORCALL && (__PYX_LIMITED_VERSION_HEX >= 0x030C0000 || (!CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x03090000)))
11318
11334
  static PyObject* __Pyx__PyObject_CallMethod1(PyObject* method, PyObject* arg) {
11319
11335
  PyObject *result = __Pyx_PyObject_CallOneArg(method, arg);
11320
11336
  Py_DECREF(method);
@@ -11322,7 +11338,7 @@ static PyObject* __Pyx__PyObject_CallMethod1(PyObject* method, PyObject* arg) {
11322
11338
  }
11323
11339
  #endif
11324
11340
  static PyObject* __Pyx_PyObject_CallMethod1(PyObject* obj, PyObject* method_name, PyObject* arg) {
11325
- #if CYTHON_VECTORCALL && __PYX_LIMITED_VERSION_HEX >= 0x030C0000
11341
+ #if CYTHON_VECTORCALL && (__PYX_LIMITED_VERSION_HEX >= 0x030C0000 || (!CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x03090000))
11326
11342
  PyObject *args[2] = {obj, arg};
11327
11343
  (void) __Pyx_PyObject_GetMethod;
11328
11344
  (void) __Pyx_PyObject_CallOneArg;
@@ -15611,9 +15627,9 @@ static CYTHON_INLINE int __Pyx_PyErr_GivenExceptionMatches2(PyObject *err, PyObj
15611
15627
  }
15612
15628
 
15613
15629
  /* FunctionImport */
15614
- #ifndef __PYX_HAVE_RT_ImportFunction_3_1_2
15615
- #define __PYX_HAVE_RT_ImportFunction_3_1_2
15616
- static int __Pyx_ImportFunction_3_1_2(PyObject *module, const char *funcname, void (**f)(void), const char *sig) {
15630
+ #ifndef __PYX_HAVE_RT_ImportFunction_3_1_4
15631
+ #define __PYX_HAVE_RT_ImportFunction_3_1_4
15632
+ static int __Pyx_ImportFunction_3_1_4(PyObject *module, const char *funcname, void (**f)(void), const char *sig) {
15617
15633
  PyObject *d = 0;
15618
15634
  PyObject *cobj = 0;
15619
15635
  union {
@@ -15715,6 +15731,10 @@ bad:
15715
15731
  PyCode_NewWithPosOnlyArgs
15716
15732
  #endif
15717
15733
  (a, p, k, l, s, f, code, c, n, v, fv, cell, fn, name, name, fline, lnos, __pyx_mstate_global->__pyx_empty_bytes);
15734
+ #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030c00A1
15735
+ if (likely(result))
15736
+ result->_co_firsttraceable = 0;
15737
+ #endif
15718
15738
  return result;
15719
15739
  }
15720
15740
  #elif PY_VERSION_HEX >= 0x030800B2 && !CYTHON_COMPILING_IN_PYPY
Binary file